From 665cc09b0073182911ba0517cfbbb72e47eaf1d8 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Wed, 17 Sep 2025 17:05:06 +0000 Subject: [PATCH 01/46] Git Checkpoint Issue checkpoint: 1 --- catnip-mobile/.env.local.example | 7 + catnip-mobile/.gitignore | 36 ++ catnip-mobile/App.tsx | 97 ++++ catnip-mobile/README.md | 142 +++++ catnip-mobile/app.json | 36 ++ catnip-mobile/app/_layout.tsx | 41 ++ catnip-mobile/app/auth.tsx | 120 ++++ catnip-mobile/app/codespace.tsx | 397 +++++++++++++ catnip-mobile/app/index.tsx | 34 ++ catnip-mobile/app/workspace/[id].tsx | 541 ++++++++++++++++++ catnip-mobile/app/workspaces.tsx | 299 ++++++++++ catnip-mobile/babel.config.js | 16 + catnip-mobile/hooks/useAuth.ts | 137 +++++ catnip-mobile/lib/api.ts | 156 +++++ catnip-mobile/package.json | 40 ++ catnip-mobile/src/contexts/ApiContext.tsx | 193 +++++++ catnip-mobile/src/contexts/AuthContext.tsx | 117 ++++ catnip-mobile/src/screens/AuthScreen.tsx | 126 ++++ .../src/screens/CodespaceAccessScreen.tsx | 422 ++++++++++++++ .../src/screens/WorkspaceDetailScreen.tsx | 494 ++++++++++++++++ .../src/screens/WorkspaceListScreen.tsx | 334 +++++++++++ catnip-mobile/tsconfig.json | 19 + 22 files changed, 3804 insertions(+) create mode 100644 catnip-mobile/.env.local.example create mode 100644 catnip-mobile/.gitignore create mode 100644 catnip-mobile/App.tsx create mode 100644 catnip-mobile/README.md create mode 100644 catnip-mobile/app.json create mode 100644 catnip-mobile/app/_layout.tsx create mode 100644 catnip-mobile/app/auth.tsx create mode 100644 catnip-mobile/app/codespace.tsx create mode 100644 catnip-mobile/app/index.tsx create mode 100644 catnip-mobile/app/workspace/[id].tsx create mode 100644 catnip-mobile/app/workspaces.tsx create mode 100644 catnip-mobile/babel.config.js create mode 100644 catnip-mobile/hooks/useAuth.ts create mode 100644 catnip-mobile/lib/api.ts create mode 100644 catnip-mobile/package.json create mode 100644 catnip-mobile/src/contexts/ApiContext.tsx create mode 100644 catnip-mobile/src/contexts/AuthContext.tsx create mode 100644 catnip-mobile/src/screens/AuthScreen.tsx create mode 100644 catnip-mobile/src/screens/CodespaceAccessScreen.tsx create mode 100644 catnip-mobile/src/screens/WorkspaceDetailScreen.tsx create mode 100644 catnip-mobile/src/screens/WorkspaceListScreen.tsx create mode 100644 catnip-mobile/tsconfig.json diff --git a/catnip-mobile/.env.local.example b/catnip-mobile/.env.local.example new file mode 100644 index 00000000..610c6914 --- /dev/null +++ b/catnip-mobile/.env.local.example @@ -0,0 +1,7 @@ +# GitHub OAuth App Configuration +# Create a GitHub OAuth App at https://github.com/settings/applications/new +# Set the callback URL to: catnip://auth +EXPO_PUBLIC_GITHUB_CLIENT_ID=your_github_oauth_app_client_id_here + +# Optional: Custom Catnip API base URL (defaults to https://catnip.run) +# EXPO_PUBLIC_CATNIP_BASE_URL=https://your-custom-domain.com \ No newline at end of file diff --git a/catnip-mobile/.gitignore b/catnip-mobile/.gitignore new file mode 100644 index 00000000..9b7e4ad5 --- /dev/null +++ b/catnip-mobile/.gitignore @@ -0,0 +1,36 @@ +# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files + +# dependencies +node_modules/ + +# Expo +.expo/ +dist/ +web-build/ +expo-env.d.ts + +# Native +*.orig.* +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision + +# Metro +.metro-health-check* + +# debug +npm-debug.* +yarn-debug.* +yarn-error.* + +# macOS +.DS_Store +*.pem + +# local env files +.env*.local + +# typescript +*.tsbuildinfo \ No newline at end of file diff --git a/catnip-mobile/App.tsx b/catnip-mobile/App.tsx new file mode 100644 index 00000000..01df0314 --- /dev/null +++ b/catnip-mobile/App.tsx @@ -0,0 +1,97 @@ +import React, { useEffect, useState } from 'react'; +import { NavigationContainer } from '@react-navigation/native'; +import { createNativeStackNavigator } from '@react-navigation/native-stack'; +import { SafeAreaProvider } from 'react-native-safe-area-context'; +import { StatusBar } from 'expo-status-bar'; +import * as SecureStore from 'expo-secure-store'; +import AuthScreen from './src/screens/AuthScreen'; +import CodespaceAccessScreen from './src/screens/CodespaceAccessScreen'; +import WorkspaceListScreen from './src/screens/WorkspaceListScreen'; +import WorkspaceDetailScreen from './src/screens/WorkspaceDetailScreen'; +import { AuthProvider } from './src/contexts/AuthContext'; +import { ApiProvider } from './src/contexts/ApiContext'; + +export type RootStackParamList = { + Auth: undefined; + CodespaceAccess: undefined; + WorkspaceList: undefined; + WorkspaceDetail: { + workspaceId: string; + worktreeName: string; + repository: string; + branch: string; + }; +}; + +const Stack = createNativeStackNavigator(); + +export default function App() { + const [isAuthenticated, setIsAuthenticated] = useState(false); + const [isLoading, setIsLoading] = useState(true); + + useEffect(() => { + checkAuthStatus(); + }, []); + + const checkAuthStatus = async () => { + try { + const token = await SecureStore.getItemAsync('github_token'); + setIsAuthenticated(!!token); + } catch (error) { + console.error('Error checking auth status:', error); + } finally { + setIsLoading(false); + } + }; + + if (isLoading) { + return null; // Or a loading screen component + } + + return ( + + + + + + + + + ({ + title: route.params.worktreeName.split('/')[1] || 'Workspace' + })} + /> + + + + + + + ); +} \ No newline at end of file diff --git a/catnip-mobile/README.md b/catnip-mobile/README.md new file mode 100644 index 00000000..71f40ca5 --- /dev/null +++ b/catnip-mobile/README.md @@ -0,0 +1,142 @@ +# Catnip Mobile App + +A modern React Native/Expo mobile application for accessing Catnip workspaces and managing Claude sessions, built with the latest Expo SDK 52 and file-based routing. + +## Features + +- **Modern Expo SDK 52**: Using the latest and greatest Expo features +- **File-based Routing**: Expo Router for seamless navigation +- **GitHub OAuth**: Secure authentication via Expo AuthSession +- **Codespace Access**: Connect to GitHub Codespaces with real-time updates +- **Workspace Management**: View and interact with your Catnip workspaces +- **Claude Integration**: Send prompts and monitor AI task execution +- **Real-time Updates**: Live polling for workspace status changes +- **Native Components**: Uses only Expo SDK components (no custom React Native) + +## Tech Stack + +- **Expo SDK 52** - Latest Expo platform +- **Expo Router** - File-based routing with typed routes +- **Expo AuthSession** - OAuth authentication +- **Expo SecureStore** - Secure token storage +- **TypeScript** - Full type safety +- **React Native** - Cross-platform mobile development + +## Architecture + +The app uses Expo's modern architecture: +- File-based routing with `app/` directory +- No custom React Native dependencies +- All APIs handled via Expo's built-in fetch +- Server-sent events for real-time updates + +### API Integration + +Connects to Catnip CloudFlare worker at `catnip.run/v1/*`: +- **Authentication**: `POST /v1/auth/github` +- **Codespace Access**: `GET /v1/codespace` (SSE) +- **Workspaces**: `GET /v1/workspaces` +- **Claude Prompts**: `POST /v1/workspaces/:id/prompt` + +## Setup + +1. **Install dependencies**: +```bash +cd catnip-mobile +export VOLTA_HOME="$HOME/.volta" && export PATH="$VOLTA_HOME/bin:$PATH" +export PNPM_HOME="/home/vscode/.local/share/pnpm" && export PATH="$PNPM_HOME:$PATH" +pnpm install +``` + +2. **Set up environment variables**: +Create `.env.local`: +``` +EXPO_PUBLIC_GITHUB_CLIENT_ID=your_github_oauth_app_client_id +``` + +3. **Start the development server**: +```bash +pnpm start +``` + +4. **Run on devices**: +- **iOS**: `pnpm run ios` (requires macOS) +- **Android**: `pnpm run android` (requires Android Studio/emulator) +- **Web**: `pnpm run web` (for testing) + +## App Structure + +``` +app/ +├── _layout.tsx # Root layout with navigation +├── index.tsx # Splash/routing screen +├── auth.tsx # GitHub OAuth login +├── codespace.tsx # Codespace connection +├── workspaces.tsx # Workspace list +└── workspace/ + └── [id].tsx # Workspace detail/interaction + +hooks/ +└── useAuth.ts # Authentication state management + +lib/ +└── api.ts # API client for catnip.run +``` + +## Navigation Flow + +1. **Splash** (`index.tsx`) - Routes to auth or codespace based on auth status +2. **Auth** (`auth.tsx`) - GitHub OAuth login +3. **Codespace** (`codespace.tsx`) - Connect to GitHub Codespace +4. **Workspaces** (`workspaces.tsx`) - List of available workspaces +5. **Workspace Detail** (`workspace/[id].tsx`) - Interact with Claude + +## Key Features + +### Authentication +- Uses Expo AuthSession for secure OAuth flow +- Stores tokens in Expo SecureStore (encrypted) +- Supports both GitHub and codespace tokens + +### Real-time Updates +- Server-sent events for codespace connection +- Polling for workspace status changes +- Live todo list updates during Claude execution + +### Modern UI +- Dark theme optimized for mobile +- Gradient buttons and modern styling +- Responsive layouts with SafeAreaView +- Keyboard-aware scrolling + +## Development + +### Adding New Screens +Create new files in `app/` directory: +- `app/new-screen.tsx` → `/new-screen` +- `app/folder/screen.tsx` → `/folder/screen` +- `app/folder/[param].tsx` → `/folder/:param` + +### Environment Variables +Use `EXPO_PUBLIC_` prefix for client-side variables: +```typescript +process.env.EXPO_PUBLIC_GITHUB_CLIENT_ID +``` + +### Building for Production +```bash +# iOS +eas build --platform ios + +# Android +eas build --platform android +``` + +## Future Enhancements + +- Push notifications for Claude task completion +- Biometric authentication with Expo LocalAuthentication +- Offline support with Expo SQLite +- Pull request management +- Workspace search and filtering +- Theme customization \ No newline at end of file diff --git a/catnip-mobile/app.json b/catnip-mobile/app.json new file mode 100644 index 00000000..53f44ddd --- /dev/null +++ b/catnip-mobile/app.json @@ -0,0 +1,36 @@ +{ + "expo": { + "name": "Catnip", + "slug": "catnip-mobile", + "version": "1.0.0", + "orientation": "portrait", + "userInterfaceStyle": "dark", + "scheme": "catnip", + "splash": { + "resizeMode": "contain", + "backgroundColor": "#0a0a0a" + }, + "ios": { + "supportsTablet": true, + "bundleIdentifier": "run.catnip.mobile", + "infoPlist": { + "NSFaceIDUsageDescription": "This app uses Face ID for secure authentication." + } + }, + "android": { + "package": "run.catnip.mobile" + }, + "web": { + "bundler": "metro", + "output": "single" + }, + "plugins": [ + "expo-router", + "expo-secure-store", + "expo-dev-client" + ], + "experiments": { + "typedRoutes": true + } + } +} \ No newline at end of file diff --git a/catnip-mobile/app/_layout.tsx b/catnip-mobile/app/_layout.tsx new file mode 100644 index 00000000..6d2e450e --- /dev/null +++ b/catnip-mobile/app/_layout.tsx @@ -0,0 +1,41 @@ +import { Stack } from 'expo-router'; +import { useEffect } from 'react'; +import { useColorScheme } from 'react-native'; +import { ThemeProvider, DarkTheme, DefaultTheme } from '@react-navigation/native'; +import * as SplashScreen from 'expo-splash-screen'; + +// Prevent the splash screen from auto-hiding +SplashScreen.preventAutoHideAsync(); + +export default function RootLayout() { + const colorScheme = useColorScheme(); + + useEffect(() => { + SplashScreen.hideAsync(); + }, []); + + return ( + + + + + + + + + + ); +} \ No newline at end of file diff --git a/catnip-mobile/app/auth.tsx b/catnip-mobile/app/auth.tsx new file mode 100644 index 00000000..43485d91 --- /dev/null +++ b/catnip-mobile/app/auth.tsx @@ -0,0 +1,120 @@ +import { View, Text, Pressable, StyleSheet, ActivityIndicator } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useRouter } from 'expo-router'; +import { useState } from 'react'; +import { useAuth } from '../hooks/useAuth'; +import { LinearGradient } from 'expo-linear-gradient'; + +export default function AuthScreen() { + const router = useRouter(); + const { login } = useAuth(); + const [isLoading, setIsLoading] = useState(false); + + const handleLogin = async () => { + setIsLoading(true); + try { + const success = await login(); + if (success) { + router.replace('/codespace'); + } + } catch (error) { + console.error('Login failed:', error); + } finally { + setIsLoading(false); + } + }; + + return ( + + + + 🐱 + Catnip + Access your GitHub Codespaces + + + + + Logging into GitHub allows us to start codespaces you have added catnip to + + + + + + {isLoading ? ( + + ) : ( + Login with GitHub + )} + + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + }, + content: { + flex: 1, + justifyContent: 'center', + paddingHorizontal: 24, + }, + logoContainer: { + alignItems: 'center', + marginBottom: 48, + }, + logo: { + fontSize: 64, + marginBottom: 16, + }, + title: { + fontSize: 32, + fontWeight: 'bold', + color: '#fff', + marginBottom: 8, + fontFamily: 'Inter-Bold', + }, + subtitle: { + fontSize: 16, + color: '#999', + fontFamily: 'Inter-Regular', + }, + infoBox: { + backgroundColor: 'rgba(59, 130, 246, 0.1)', + borderWidth: 1, + borderColor: 'rgba(59, 130, 246, 0.3)', + borderRadius: 12, + padding: 16, + marginBottom: 24, + }, + infoText: { + color: '#93bbfc', + fontSize: 14, + textAlign: 'center', + fontFamily: 'Inter-Regular', + lineHeight: 20, + }, + button: { + paddingVertical: 16, + borderRadius: 12, + alignItems: 'center', + }, + buttonDisabled: { + opacity: 0.5, + }, + buttonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + fontFamily: 'Inter-SemiBold', + }, +}); \ No newline at end of file diff --git a/catnip-mobile/app/codespace.tsx b/catnip-mobile/app/codespace.tsx new file mode 100644 index 00000000..3923fffc --- /dev/null +++ b/catnip-mobile/app/codespace.tsx @@ -0,0 +1,397 @@ +import { useState, useEffect } from 'react'; +import { View, Text, Pressable, TextInput, ScrollView, StyleSheet, ActivityIndicator } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useRouter } from 'expo-router'; +import { LinearGradient } from 'expo-linear-gradient'; +import { api, CodespaceInfo } from '../lib/api'; +import { useAuth } from '../hooks/useAuth'; + +type Phase = 'connect' | 'connecting' | 'setup' | 'selection' | 'error'; + +export default function CodespaceScreen() { + const router = useRouter(); + const { setCodespaceToken, logout } = useAuth(); + const [phase, setPhase] = useState('connect'); + const [orgName, setOrgName] = useState(''); + const [statusMessage, setStatusMessage] = useState(''); + const [error, setError] = useState(''); + const [codespaces, setCodespaces] = useState([]); + + const handleConnect = async (codespaceName?: string, org?: string) => { + setPhase('connecting'); + setError(''); + setStatusMessage('🔄 Finding your codespace...'); + + try { + await api.connectCodespace(codespaceName, org, (event) => { + if (event.type === 'status') { + setStatusMessage(event.message); + } else if (event.type === 'success') { + setStatusMessage('✅ ' + event.message); + if (event.token) { + setCodespaceToken(event.token); + } + setTimeout(() => { + router.replace('/workspaces'); + }, 1000); + } else if (event.type === 'error') { + setError(event.message); + setPhase('error'); + } else if (event.type === 'setup') { + setPhase('setup'); + setError(event.message); + } else if (event.type === 'multiple') { + setCodespaces(event.codespaces); + setPhase('selection'); + } + }); + } catch (err: any) { + setError(err.message || 'Connection failed'); + setPhase('error'); + } + }; + + const handleLogout = async () => { + await logout(); + router.replace('/auth'); + }; + + if (phase === 'setup') { + return ( + + + + ⚠️ Setup Required + + No Catnip codespaces found. To use Catnip: + + + + 1. Add to your .devcontainer/devcontainer.json: + + + + {`"features": { + "ghcr.io/wandb/catnip/feature:1": {} +}`} + + + 2. Create a new codespace + 3. Return here to connect + + setPhase('connect')} style={styles.secondaryButton}> + Back + + + + + ); + } + + if (phase === 'selection') { + return ( + + + + Select Codespace + Multiple codespaces found: + {codespaces.map((cs, index) => ( + handleConnect(cs.name, orgName)} + > + {cs.name.replace(/-/g, ' ')} + {cs.repository && {cs.repository}} + + Last used: {new Date(cs.lastUsed).toLocaleDateString()} + + + ))} + setPhase('connect')} style={styles.secondaryButton}> + Back + + + + + ); + } + + return ( + + + + 🐱 + Catnip + + {orgName ? `Access codespaces in ${orgName}` : 'Access your GitHub Codespaces'} + + + handleConnect(undefined, orgName || undefined)} + disabled={phase === 'connecting'} + > + + {phase === 'connecting' ? ( + + + Connecting... + + ) : ( + Access My Codespace + )} + + + + {statusMessage ? ( + + {statusMessage} + + ) : null} + + {error ? ( + + {error} + + ) : null} + + + + Or access a specific organization: + + + handleConnect(undefined, orgName)} + disabled={!orgName || phase === 'connecting'} + > + Go + + + + + Logout + + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + }, + scrollContent: { + flexGrow: 1, + justifyContent: 'center', + padding: 24, + }, + card: { + backgroundColor: '#1a1a1a', + borderRadius: 16, + padding: 24, + borderWidth: 1, + borderColor: '#333', + }, + logo: { + fontSize: 48, + textAlign: 'center', + marginBottom: 16, + }, + title: { + fontSize: 28, + fontWeight: 'bold', + color: '#fff', + textAlign: 'center', + marginBottom: 8, + fontFamily: 'Inter-Bold', + }, + subtitle: { + fontSize: 14, + color: '#999', + textAlign: 'center', + marginBottom: 24, + fontFamily: 'Inter-Regular', + }, + button: { + paddingVertical: 14, + borderRadius: 12, + alignItems: 'center', + marginBottom: 16, + }, + buttonDisabled: { + opacity: 0.5, + }, + buttonContent: { + flexDirection: 'row', + alignItems: 'center', + gap: 8, + }, + buttonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + fontFamily: 'Inter-SemiBold', + }, + statusBox: { + backgroundColor: 'rgba(59, 130, 246, 0.1)', + borderWidth: 1, + borderColor: 'rgba(59, 130, 246, 0.3)', + borderRadius: 12, + padding: 12, + marginBottom: 16, + }, + statusText: { + color: '#93bbfc', + fontSize: 14, + textAlign: 'center', + fontFamily: 'Inter-Regular', + }, + errorBox: { + backgroundColor: 'rgba(239, 68, 68, 0.1)', + borderWidth: 1, + borderColor: 'rgba(239, 68, 68, 0.3)', + borderRadius: 12, + padding: 12, + marginBottom: 16, + }, + errorText: { + color: '#fca5a5', + fontSize: 14, + textAlign: 'center', + fontFamily: 'Inter-Regular', + }, + divider: { + height: 1, + backgroundColor: '#333', + marginVertical: 24, + }, + orText: { + color: '#999', + fontSize: 14, + marginBottom: 16, + fontFamily: 'Inter-Regular', + }, + inputContainer: { + flexDirection: 'row', + gap: 8, + marginBottom: 24, + }, + input: { + flex: 1, + backgroundColor: '#0a0a0a', + borderWidth: 1, + borderColor: '#333', + borderRadius: 12, + paddingHorizontal: 16, + paddingVertical: 12, + color: '#fff', + fontSize: 14, + fontFamily: 'Inter-Regular', + }, + goButton: { + backgroundColor: '#4b5563', + paddingHorizontal: 24, + borderRadius: 12, + justifyContent: 'center', + }, + goButtonText: { + color: '#fff', + fontSize: 14, + fontWeight: '600', + fontFamily: 'Inter-SemiBold', + }, + logoutButton: { + alignItems: 'center', + }, + logoutText: { + color: '#ef4444', + fontSize: 14, + fontFamily: 'Inter-Regular', + }, + cardTitle: { + fontSize: 20, + fontWeight: 'bold', + color: '#fff', + marginBottom: 8, + fontFamily: 'Inter-Bold', + }, + description: { + fontSize: 14, + color: '#999', + marginBottom: 24, + fontFamily: 'Inter-Regular', + }, + setupSteps: { + marginBottom: 24, + }, + stepText: { + color: '#ccc', + fontSize: 14, + marginBottom: 12, + fontFamily: 'Inter-Regular', + }, + codeBlock: { + backgroundColor: '#0a0a0a', + borderRadius: 8, + padding: 12, + marginVertical: 8, + }, + codeText: { + color: '#4ade80', + fontFamily: 'monospace', + fontSize: 12, + }, + secondaryButton: { + backgroundColor: '#333', + paddingVertical: 14, + borderRadius: 12, + alignItems: 'center', + }, + secondaryButtonText: { + color: '#ccc', + fontSize: 16, + fontWeight: '600', + fontFamily: 'Inter-SemiBold', + }, + codespaceItem: { + backgroundColor: '#0a0a0a', + borderRadius: 12, + padding: 16, + marginBottom: 12, + borderWidth: 1, + borderColor: '#333', + }, + codespaceTitle: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + marginBottom: 4, + fontFamily: 'Inter-SemiBold', + }, + codespaceRepo: { + color: '#3b82f6', + fontSize: 14, + marginBottom: 4, + fontFamily: 'Inter-Regular', + }, + codespaceDate: { + color: '#666', + fontSize: 12, + fontFamily: 'Inter-Regular', + }, +}); \ No newline at end of file diff --git a/catnip-mobile/app/index.tsx b/catnip-mobile/app/index.tsx new file mode 100644 index 00000000..10f2bae4 --- /dev/null +++ b/catnip-mobile/app/index.tsx @@ -0,0 +1,34 @@ +import { useEffect } from 'react'; +import { View, ActivityIndicator, StyleSheet } from 'react-native'; +import { useRouter } from 'expo-router'; +import { useAuth } from '../hooks/useAuth'; + +export default function Index() { + const router = useRouter(); + const { isAuthenticated, isLoading } = useAuth(); + + useEffect(() => { + if (!isLoading) { + if (isAuthenticated) { + router.replace('/codespace'); + } else { + router.replace('/auth'); + } + } + }, [isAuthenticated, isLoading]); + + return ( + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + justifyContent: 'center', + alignItems: 'center', + }, +}); \ No newline at end of file diff --git a/catnip-mobile/app/workspace/[id].tsx b/catnip-mobile/app/workspace/[id].tsx new file mode 100644 index 00000000..26886508 --- /dev/null +++ b/catnip-mobile/app/workspace/[id].tsx @@ -0,0 +1,541 @@ +import { useState, useEffect, useCallback } from 'react'; +import { + View, + Text, + TextInput, + Pressable, + ScrollView, + KeyboardAvoidingView, + Platform, + StyleSheet, + ActivityIndicator, +} from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useLocalSearchParams, useNavigation } from 'expo-router'; +import { LinearGradient } from 'expo-linear-gradient'; +import { api, WorkspaceInfo, Todo } from '../../lib/api'; + +type Phase = 'loading' | 'input' | 'working' | 'completed' | 'error'; + +function TodoList({ todos }: { todos: Todo[] }) { + return ( + + {todos.map((todo, index) => ( + + + {todo.content} + + ))} + + ); +} + +export default function WorkspaceDetailScreen() { + const { id } = useLocalSearchParams<{ id: string }>(); + const navigation = useNavigation(); + + const [workspace, setWorkspace] = useState(null); + const [phase, setPhase] = useState('loading'); + const [prompt, setPrompt] = useState(''); + const [showPromptInput, setShowPromptInput] = useState(false); + const [isSubmitting, setIsSubmitting] = useState(false); + const [error, setError] = useState(''); + + const loadWorkspace = useCallback(async () => { + if (!id) return; + + try { + const data = await api.getWorkspace(id); + setWorkspace(data); + + // Determine phase based on workspace state + if (data.claude_activity_state === 'active') { + setPhase('working'); + } else if (data.latest_claude_message || (data.todos && data.todos.length > 0)) { + setPhase('completed'); + } else { + setPhase('input'); + } + } catch (err: any) { + console.error('Failed to load workspace:', err); + setError(err.message || 'Failed to load workspace'); + setPhase('error'); + } + }, [id]); + + useEffect(() => { + loadWorkspace(); + }, [loadWorkspace]); + + // Poll for updates when workspace is active + useEffect(() => { + if (phase !== 'working') return; + + const interval = setInterval(async () => { + try { + const data = await api.getWorkspace(id); + setWorkspace(data); + + // Check if work is completed + if (data.claude_activity_state === 'inactive' || + (data.todos && data.todos.every(t => t.status === 'completed'))) { + setPhase('completed'); + } + } catch (err) { + console.error('Failed to poll workspace:', err); + } + }, 2000); + + return () => clearInterval(interval); + }, [phase, id]); + + // Set navigation title + useEffect(() => { + if (workspace) { + const title = workspace.name.split('/')[1] || workspace.name; + navigation.setOptions({ title }); + } + }, [workspace, navigation]); + + const handleSendPrompt = async () => { + if (!prompt.trim() || !id) return; + + setIsSubmitting(true); + setError(''); + + try { + await api.sendPrompt(id, prompt.trim()); + setPrompt(''); + setShowPromptInput(false); + setPhase('working'); + } catch (err: any) { + setError(err.message || 'Failed to send prompt'); + } finally { + setIsSubmitting(false); + } + }; + + if (phase === 'loading') { + return ( + + + + Loading workspace... + + + ); + } + + if (phase === 'error' || !workspace) { + return ( + + + Error + {error || 'Workspace not found'} + + Retry + + + + ); + } + + const cleanBranch = workspace.branch.startsWith('/') + ? workspace.branch.slice(1) + : workspace.branch; + + return ( + + + + + {workspace.name.split('/')[1] || workspace.name} + + + {workspace.repository} · {cleanBranch} + + + + + {phase === 'input' && ( + + Start Working + + Describe what you'd like to work on + + + + )} + + {phase === 'working' && ( + + + + Claude is working... + + + {workspace.latest_claude_message && ( + + Session Context: + {workspace.latest_claude_message} + + )} + + {workspace.todos && workspace.todos.length > 0 && ( + + Progress: + + + )} + + )} + + {phase === 'completed' && ( + + {workspace.latest_claude_message && ( + + {workspace.latest_claude_message} + + )} + + {workspace.todos && workspace.todos.length > 0 && ( + + Tasks: + + + )} + + )} + + {error && ( + + {error} + + )} + + + + {phase === 'input' && ( + + + {isSubmitting ? ( + + ) : ( + Start Working + )} + + + )} + + {(phase === 'completed') && ( + <> + {showPromptInput ? ( + + + + + Send + + { + setShowPromptInput(false); + setPrompt(''); + }} + > + Cancel + + + + ) : ( + setShowPromptInput(true)} + > + Ask for changes + + )} + + )} + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + }, + header: { + paddingHorizontal: 20, + paddingVertical: 16, + borderBottomWidth: 1, + borderBottomColor: '#1a1a1a', + }, + headerTitle: { + fontSize: 20, + fontWeight: '600', + color: '#fff', + marginBottom: 4, + fontFamily: 'Inter-SemiBold', + }, + headerSubtitle: { + fontSize: 14, + color: '#666', + fontFamily: 'Inter-Regular', + }, + content: { + flex: 1, + }, + contentContainer: { + padding: 20, + }, + inputSection: { + alignItems: 'center', + marginTop: 40, + }, + sectionTitle: { + fontSize: 24, + fontWeight: '600', + color: '#fff', + marginBottom: 8, + fontFamily: 'Inter-SemiBold', + }, + sectionSubtitle: { + fontSize: 14, + color: '#666', + marginBottom: 24, + textAlign: 'center', + fontFamily: 'Inter-Regular', + }, + promptInput: { + width: '100%', + backgroundColor: '#1a1a1a', + borderWidth: 1, + borderColor: '#333', + borderRadius: 12, + padding: 16, + color: '#fff', + fontSize: 14, + minHeight: 120, + fontFamily: 'Inter-Regular', + }, + workingSection: { + marginTop: 20, + }, + statusContainer: { + flexDirection: 'row', + alignItems: 'center', + gap: 12, + marginBottom: 24, + }, + statusText: { + color: '#999', + fontSize: 14, + fontFamily: 'Inter-Regular', + }, + messageBox: { + backgroundColor: 'rgba(124, 58, 237, 0.1)', + borderWidth: 1, + borderColor: 'rgba(124, 58, 237, 0.2)', + borderRadius: 12, + padding: 16, + marginBottom: 24, + }, + messageLabel: { + fontSize: 12, + color: 'rgba(124, 58, 237, 0.8)', + marginBottom: 8, + fontWeight: '600', + fontFamily: 'Inter-SemiBold', + }, + messageText: { + color: '#ccc', + fontSize: 14, + lineHeight: 20, + fontFamily: 'Inter-Regular', + }, + completedSection: { + marginTop: 20, + }, + sectionLabel: { + fontSize: 14, + color: '#999', + marginBottom: 12, + fontWeight: '600', + fontFamily: 'Inter-SemiBold', + }, + todosContainer: { + gap: 8, + }, + todoItem: { + flexDirection: 'row', + alignItems: 'flex-start', + gap: 12, + paddingVertical: 8, + }, + todoStatus: { + width: 8, + height: 8, + borderRadius: 4, + backgroundColor: '#333', + marginTop: 6, + }, + todoCompleted: { + backgroundColor: '#22c55e', + }, + todoInProgress: { + backgroundColor: '#eab308', + }, + todoText: { + color: '#ccc', + fontSize: 14, + flex: 1, + lineHeight: 20, + fontFamily: 'Inter-Regular', + }, + footer: { + padding: 20, + borderTopWidth: 1, + borderTopColor: '#1a1a1a', + }, + primaryButton: { + backgroundColor: '#7c3aed', + paddingVertical: 14, + borderRadius: 12, + alignItems: 'center', + }, + secondaryButton: { + backgroundColor: '#333', + paddingVertical: 14, + borderRadius: 12, + alignItems: 'center', + }, + buttonDisabled: { + opacity: 0.5, + }, + primaryButtonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + fontFamily: 'Inter-SemiBold', + }, + secondaryButtonText: { + color: '#ccc', + fontSize: 16, + fontWeight: '600', + fontFamily: 'Inter-SemiBold', + }, + promptInputContainer: { + gap: 12, + }, + bottomPromptInput: { + backgroundColor: '#1a1a1a', + borderWidth: 1, + borderColor: '#333', + borderRadius: 12, + padding: 12, + color: '#fff', + fontSize: 14, + minHeight: 80, + fontFamily: 'Inter-Regular', + }, + buttonRow: { + flexDirection: 'row', + gap: 12, + }, + flexButton: { + flex: 1, + }, + errorBox: { + backgroundColor: 'rgba(239, 68, 68, 0.1)', + borderWidth: 1, + borderColor: 'rgba(239, 68, 68, 0.3)', + borderRadius: 12, + padding: 12, + marginTop: 16, + }, + errorText: { + color: '#fca5a5', + fontSize: 14, + fontFamily: 'Inter-Regular', + }, + centerContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + padding: 20, + }, + loadingText: { + color: '#666', + marginTop: 16, + fontSize: 16, + fontFamily: 'Inter-Regular', + }, + errorTitle: { + fontSize: 20, + fontWeight: '600', + color: '#fff', + marginBottom: 8, + fontFamily: 'Inter-SemiBold', + }, + retryButton: { + backgroundColor: '#7c3aed', + paddingVertical: 12, + paddingHorizontal: 24, + borderRadius: 12, + marginTop: 16, + }, + retryButtonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + fontFamily: 'Inter-SemiBold', + }, +}); \ No newline at end of file diff --git a/catnip-mobile/app/workspaces.tsx b/catnip-mobile/app/workspaces.tsx new file mode 100644 index 00000000..51d5b607 --- /dev/null +++ b/catnip-mobile/app/workspaces.tsx @@ -0,0 +1,299 @@ +import { useState, useEffect } from 'react'; +import { View, Text, FlatList, Pressable, RefreshControl, StyleSheet, ActivityIndicator } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useRouter } from 'expo-router'; +import { api, WorkspaceInfo } from '../lib/api'; + +function WorkspaceCard({ workspace, onPress }: { workspace: WorkspaceInfo; onPress: () => void }) { + const getStatusColor = () => { + switch (workspace.claude_activity_state) { + case 'active': return '#22c55e'; + case 'running': return '#eab308'; + default: return '#666'; + } + }; + + const getTitle = () => { + const parts = workspace.name.split('/'); + return parts[1] || workspace.name; + }; + + const cleanBranch = workspace.branch.startsWith('/') + ? workspace.branch.slice(1) + : workspace.branch; + + const completedTodos = workspace.todos?.filter(t => t.status === 'completed').length || 0; + const totalTodos = workspace.todos?.length || 0; + + return ( + + + + + {getTitle()} + + {workspace.commit_count && workspace.commit_count > 0 && ( + +{workspace.commit_count} + )} + + + + {workspace.repository}/{getTitle()} · {cleanBranch} + + + {workspace.is_dirty && ( + + Modified + + )} + + {totalTodos > 0 && ( + + + Tasks: {completedTodos}/{totalTodos} + + + + + + )} + + + + {workspace.claude_activity_state === 'active' ? 'Continue' : 'Open'} + + + + ); +} + +export default function WorkspacesScreen() { + const router = useRouter(); + const [workspaces, setWorkspaces] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const [isRefreshing, setIsRefreshing] = useState(false); + + useEffect(() => { + loadWorkspaces(); + }, []); + + const loadWorkspaces = async () => { + try { + const data = await api.getWorkspaces(); + setWorkspaces(data.sort((a, b) => { + const aTime = new Date(a.last_accessed || a.created_at || 0).getTime(); + const bTime = new Date(b.last_accessed || b.created_at || 0).getTime(); + return bTime - aTime; + })); + } catch (error) { + console.error('Failed to load workspaces:', error); + } finally { + setIsLoading(false); + setIsRefreshing(false); + } + }; + + const handleRefresh = async () => { + setIsRefreshing(true); + await loadWorkspaces(); + }; + + const handleWorkspacePress = (workspace: WorkspaceInfo) => { + router.push(`/workspace/${workspace.id}`); + }; + + if (isLoading) { + return ( + + + + Loading workspaces... + + + ); + } + + if (workspaces.length === 0) { + return ( + + + No workspaces + Create a workspace to get started + + + ); + } + + return ( + + + Workspaces + {workspaces.length} workspaces + + item.id} + renderItem={({ item }) => ( + handleWorkspacePress(item)} /> + )} + contentContainerStyle={styles.listContent} + refreshControl={ + + } + /> + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + }, + header: { + paddingHorizontal: 20, + paddingVertical: 16, + borderBottomWidth: 1, + borderBottomColor: '#1a1a1a', + }, + headerTitle: { + fontSize: 24, + fontWeight: 'bold', + color: '#fff', + marginBottom: 4, + fontFamily: 'Inter-Bold', + }, + headerSubtitle: { + fontSize: 14, + color: '#666', + fontFamily: 'Inter-Regular', + }, + listContent: { + padding: 16, + }, + card: { + backgroundColor: '#1a1a1a', + borderRadius: 16, + padding: 16, + marginBottom: 12, + borderWidth: 1, + borderColor: '#333', + }, + cardHeader: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginBottom: 8, + }, + cardTitleRow: { + flexDirection: 'row', + alignItems: 'center', + flex: 1, + }, + statusIndicator: { + width: 8, + height: 8, + borderRadius: 4, + marginRight: 8, + }, + cardTitle: { + fontSize: 18, + fontWeight: '600', + color: '#fff', + fontFamily: 'Inter-SemiBold', + }, + commitCount: { + fontSize: 12, + color: '#666', + fontFamily: 'monospace', + }, + cardSubtitle: { + fontSize: 14, + color: '#666', + marginBottom: 12, + fontFamily: 'Inter-Regular', + }, + badge: { + backgroundColor: '#333', + borderRadius: 6, + paddingHorizontal: 8, + paddingVertical: 4, + alignSelf: 'flex-start', + marginBottom: 12, + }, + badgeText: { + fontSize: 11, + color: '#999', + textTransform: 'uppercase', + fontFamily: 'Inter-Medium', + }, + progressContainer: { + marginBottom: 12, + }, + progressText: { + fontSize: 12, + color: '#999', + marginBottom: 6, + fontFamily: 'Inter-Regular', + }, + progressBar: { + height: 4, + backgroundColor: '#333', + borderRadius: 2, + overflow: 'hidden', + }, + progressFill: { + height: '100%', + backgroundColor: '#7c3aed', + }, + cardButton: { + backgroundColor: '#7c3aed', + paddingVertical: 12, + borderRadius: 12, + alignItems: 'center', + }, + cardButtonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + fontFamily: 'Inter-SemiBold', + }, + loadingContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + loadingText: { + color: '#666', + marginTop: 16, + fontSize: 16, + fontFamily: 'Inter-Regular', + }, + emptyContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + emptyTitle: { + fontSize: 20, + fontWeight: '600', + color: '#fff', + marginBottom: 8, + fontFamily: 'Inter-SemiBold', + }, + emptySubtitle: { + fontSize: 16, + color: '#666', + fontFamily: 'Inter-Regular', + }, +}); \ No newline at end of file diff --git a/catnip-mobile/babel.config.js b/catnip-mobile/babel.config.js new file mode 100644 index 00000000..89b90c09 --- /dev/null +++ b/catnip-mobile/babel.config.js @@ -0,0 +1,16 @@ +module.exports = function(api) { + api.cache(true); + return { + presets: ['babel-preset-expo'], + plugins: [ + [ + 'module-resolver', + { + alias: { + '@': './src' + } + } + ] + ] + }; +}; \ No newline at end of file diff --git a/catnip-mobile/hooks/useAuth.ts b/catnip-mobile/hooks/useAuth.ts new file mode 100644 index 00000000..6a71099c --- /dev/null +++ b/catnip-mobile/hooks/useAuth.ts @@ -0,0 +1,137 @@ +import { useEffect, useState } from 'react'; +import * as WebBrowser from 'expo-web-browser'; +import * as AuthSession from 'expo-auth-session'; +import * as SecureStore from 'expo-secure-store'; +import { makeRedirectUri } from 'expo-auth-session'; + +WebBrowser.maybeCompleteAuthSession(); + +const CATNIP_BASE_URL = 'https://catnip.run'; + +export interface AuthState { + isAuthenticated: boolean; + isLoading: boolean; + githubToken: string | null; + githubUser: string | null; + codespaceToken: string | null; +} + +export function useAuth() { + const [authState, setAuthState] = useState({ + isAuthenticated: false, + isLoading: true, + githubToken: null, + githubUser: null, + codespaceToken: null, + }); + + // Use Expo's redirect URI + const redirectUri = makeRedirectUri({ + scheme: 'catnip', + path: 'auth' + }); + + // Create the auth request + const request = new AuthSession.AuthRequest({ + clientId: process.env.EXPO_PUBLIC_GITHUB_CLIENT_ID || '', + scopes: ['read:user', 'user:email', 'repo', 'codespace'], + redirectUri, + responseType: AuthSession.ResponseType.Token, + authorizationEndpoint: 'https://github.com/login/oauth/authorize', + }); + + // Load stored tokens on mount + useEffect(() => { + loadStoredAuth(); + }, []); + + const loadStoredAuth = async () => { + try { + const [token, user, csToken] = await Promise.all([ + SecureStore.getItemAsync('github_token'), + SecureStore.getItemAsync('github_user'), + SecureStore.getItemAsync('codespace_token'), + ]); + + setAuthState({ + isAuthenticated: !!token, + isLoading: false, + githubToken: token, + githubUser: user, + codespaceToken: csToken, + }); + } catch (error) { + console.error('Failed to load auth:', error); + setAuthState(prev => ({ ...prev, isLoading: false })); + } + }; + + const login = async () => { + try { + // Start the auth flow + const result = await request.promptAsync(); + + if (result.type === 'success' && result.params.access_token) { + const token = result.params.access_token; + + // Get user info + const userResponse = await fetch('https://api.github.com/user', { + headers: { Authorization: `Bearer ${token}` }, + }); + const userData = await userResponse.json(); + + // Store credentials + await Promise.all([ + SecureStore.setItemAsync('github_token', token), + SecureStore.setItemAsync('github_user', userData.login), + ]); + + setAuthState({ + isAuthenticated: true, + isLoading: false, + githubToken: token, + githubUser: userData.login, + codespaceToken: null, + }); + + return true; + } + return false; + } catch (error) { + console.error('Login failed:', error); + return false; + } + }; + + const logout = async () => { + try { + await Promise.all([ + SecureStore.deleteItemAsync('github_token'), + SecureStore.deleteItemAsync('github_user'), + SecureStore.deleteItemAsync('codespace_token'), + ]); + + setAuthState({ + isAuthenticated: false, + isLoading: false, + githubToken: null, + githubUser: null, + codespaceToken: null, + }); + } catch (error) { + console.error('Logout failed:', error); + } + }; + + const setCodespaceToken = async (token: string) => { + await SecureStore.setItemAsync('codespace_token', token); + setAuthState(prev => ({ ...prev, codespaceToken: token })); + }; + + return { + ...authState, + login, + logout, + setCodespaceToken, + }; +} \ No newline at end of file diff --git a/catnip-mobile/lib/api.ts b/catnip-mobile/lib/api.ts new file mode 100644 index 00000000..07d29aea --- /dev/null +++ b/catnip-mobile/lib/api.ts @@ -0,0 +1,156 @@ +import * as SecureStore from 'expo-secure-store'; + +const BASE_URL = 'https://catnip.run'; + +export interface CodespaceInfo { + name: string; + lastUsed: number; + repository?: string; +} + +export interface WorkspaceInfo { + id: string; + name: string; + branch: string; + repository: string; + claude_activity_state?: 'active' | 'running' | 'inactive'; + commit_count?: number; + is_dirty?: boolean; + last_accessed?: string; + created_at?: string; + todos?: Todo[]; + latest_claude_message?: string; + pull_request_url?: string; +} + +export interface Todo { + content: string; + status: 'pending' | 'in_progress' | 'completed'; + activeForm?: string; +} + +class CatnipAPI { + private async getHeaders(): Promise { + const codespaceToken = await SecureStore.getItemAsync('codespace_token'); + const githubToken = await SecureStore.getItemAsync('github_token'); + + return { + 'Content-Type': 'application/json', + 'Authorization': codespaceToken + ? `Bearer ${codespaceToken}` + : githubToken + ? `Bearer ${githubToken}` + : '', + }; + } + + async connectCodespace( + codespaceName?: string, + org?: string, + onEvent?: (event: any) => void + ): Promise { + const baseUrl = org ? `https://${org}.catnip.run` : BASE_URL; + const url = codespaceName + ? `${baseUrl}/v1/codespace?codespace=${encodeURIComponent(codespaceName)}` + : `${baseUrl}/v1/codespace`; + + const headers = await this.getHeaders(); + + return new Promise((resolve, reject) => { + // Use EventSource for Server-Sent Events + const eventSource = new EventSource(url); + + eventSource.addEventListener('status', (event: MessageEvent) => { + const data = JSON.parse(event.data); + onEvent?.({ type: 'status', ...data }); + }); + + eventSource.addEventListener('success', async (event: MessageEvent) => { + const data = JSON.parse(event.data); + + // Store codespace token if provided + if (data.token) { + await SecureStore.setItemAsync('codespace_token', data.token); + } + + onEvent?.({ type: 'success', ...data }); + eventSource.close(); + resolve(); + }); + + eventSource.addEventListener('error', (event: MessageEvent) => { + const data = JSON.parse(event.data); + onEvent?.({ type: 'error', ...data }); + eventSource.close(); + reject(new Error(data.message)); + }); + + eventSource.addEventListener('setup', (event: MessageEvent) => { + const data = JSON.parse(event.data); + onEvent?.({ type: 'setup', ...data }); + eventSource.close(); + resolve(); + }); + + eventSource.addEventListener('multiple', (event: MessageEvent) => { + const data = JSON.parse(event.data); + onEvent?.({ type: 'multiple', ...data }); + eventSource.close(); + resolve(); + }); + + eventSource.onerror = () => { + eventSource.close(); + reject(new Error('Connection failed')); + }; + }); + } + + async getWorkspaces(): Promise { + const headers = await this.getHeaders(); + const response = await fetch(`${BASE_URL}/v1/workspaces`, { headers }); + + if (!response.ok) { + throw new Error('Failed to fetch workspaces'); + } + + return response.json(); + } + + async getWorkspace(id: string): Promise { + const headers = await this.getHeaders(); + const response = await fetch(`${BASE_URL}/v1/workspaces/${id}`, { headers }); + + if (!response.ok) { + throw new Error('Failed to fetch workspace'); + } + + return response.json(); + } + + async sendPrompt(workspaceId: string, prompt: string): Promise { + const headers = await this.getHeaders(); + const response = await fetch(`${BASE_URL}/v1/workspaces/${workspaceId}/prompt`, { + method: 'POST', + headers, + body: JSON.stringify({ prompt }), + }); + + if (!response.ok) { + throw new Error('Failed to send prompt'); + } + } + + async getAuthStatus(): Promise<{ authenticated: boolean; user?: string }> { + const headers = await this.getHeaders(); + const response = await fetch(`${BASE_URL}/v1/auth/status`, { headers }); + + if (!response.ok) { + return { authenticated: false }; + } + + return response.json(); + } +} + +export const api = new CatnipAPI(); \ No newline at end of file diff --git a/catnip-mobile/package.json b/catnip-mobile/package.json new file mode 100644 index 00000000..7b551e5a --- /dev/null +++ b/catnip-mobile/package.json @@ -0,0 +1,40 @@ +{ + "name": "catnip-mobile", + "version": "1.0.0", + "main": "expo-router/entry", + "scripts": { + "start": "expo start", + "android": "expo start --android", + "ios": "expo start --ios", + "web": "expo start --web", + "reset-project": "node utils/reset-project.js" + }, + "dependencies": { + "expo": "~52.0.0", + "expo-auth-session": "~6.0.0", + "expo-constants": "~17.0.0", + "expo-crypto": "~14.0.0", + "expo-dev-client": "~5.0.0", + "expo-font": "~13.0.0", + "expo-linking": "~7.0.0", + "expo-router": "~4.0.0", + "expo-secure-store": "~14.0.0", + "expo-splash-screen": "~0.29.0", + "expo-status-bar": "~2.0.0", + "expo-system-ui": "~4.0.0", + "expo-web-browser": "~14.0.0", + "expo-linear-gradient": "~14.0.0", + "react": "18.3.1", + "react-dom": "18.3.1", + "react-native": "0.76.0", + "react-native-safe-area-context": "4.12.0", + "react-native-screens": "~4.1.0", + "react-native-web": "~0.19.13" + }, + "devDependencies": { + "@babel/core": "^7.26.0", + "@types/react": "~18.3.12", + "typescript": "^5.7.0" + }, + "private": true +} \ No newline at end of file diff --git a/catnip-mobile/src/contexts/ApiContext.tsx b/catnip-mobile/src/contexts/ApiContext.tsx new file mode 100644 index 00000000..6782fa0e --- /dev/null +++ b/catnip-mobile/src/contexts/ApiContext.tsx @@ -0,0 +1,193 @@ +import React, { createContext, useContext, ReactNode } from 'react'; +import { useAuth } from './AuthContext'; +import * as SecureStore from 'expo-secure-store'; + +interface CodespaceInfo { + name: string; + lastUsed: number; + repository?: string; +} + +interface WorkspaceInfo { + id: string; + name: string; + branch: string; + repository: string; + claude_activity_state?: string; + commit_count?: number; + is_dirty?: boolean; + last_accessed?: string; + created_at?: string; + todos?: Array<{ + content: string; + status: 'pending' | 'in_progress' | 'completed'; + }>; + latest_claude_message?: string; +} + +interface ApiContextType { + baseUrl: string; + fetchCodespaces: (org?: string) => Promise; + accessCodespace: (codespaceName?: string, org?: string) => AsyncGenerator; + fetchWorkspaces: () => Promise; + sendPrompt: (workspaceId: string, prompt: string) => Promise; + getWorkspaceStatus: (workspaceId: string) => Promise; +} + +const ApiContext = createContext(undefined); + +export const useApi = () => { + const context = useContext(ApiContext); + if (!context) { + throw new Error('useApi must be used within an ApiProvider'); + } + return context; +}; + +interface ApiProviderProps { + children: ReactNode; +} + +export const ApiProvider: React.FC = ({ children }) => { + const { githubToken, githubUser } = useAuth(); + const baseUrl = 'https://catnip.run'; + + const getHeaders = async () => { + const codespaceToken = await SecureStore.getItemAsync('codespace_token'); + return { + 'Authorization': codespaceToken ? `Bearer ${codespaceToken}` : `Bearer ${githubToken}`, + 'Content-Type': 'application/json', + }; + }; + + const fetchCodespaces = async (org?: string): Promise => { + const url = org + ? `https://${org}.catnip.run/v1/codespaces` + : `${baseUrl}/v1/codespaces`; + + const headers = await getHeaders(); + const response = await fetch(url, { headers }); + + if (!response.ok) { + throw new Error('Failed to fetch codespaces'); + } + + return response.json(); + }; + + async function* accessCodespace(codespaceName?: string, org?: string) { + const baseUrl = org ? `https://${org}.catnip.run` : 'https://catnip.run'; + const url = codespaceName + ? `${baseUrl}/v1/codespace?codespace=${encodeURIComponent(codespaceName)}` + : `${baseUrl}/v1/codespace`; + + const headers = await getHeaders(); + const response = await fetch(url, { + headers: { + ...headers, + 'Accept': 'text/event-stream', + }, + }); + + if (!response.body) { + throw new Error('No response body'); + } + + const reader = response.body.getReader(); + const decoder = new TextDecoder(); + let buffer = ''; + + while (true) { + const { done, value } = await reader.read(); + if (done) break; + + buffer += decoder.decode(value, { stream: true }); + const lines = buffer.split('\n'); + buffer = lines.pop() || ''; + + for (const line of lines) { + if (line.startsWith('data: ')) { + try { + const data = JSON.parse(line.slice(6)); + yield data; + } catch (e) { + console.error('Failed to parse SSE data:', e); + } + } + } + } + } + + const fetchWorkspaces = async (): Promise => { + const codespaceToken = await SecureStore.getItemAsync('codespace_token'); + if (!codespaceToken) { + throw new Error('No codespace token available'); + } + + const response = await fetch(`${baseUrl}/v1/workspaces`, { + headers: { + 'Authorization': `Bearer ${codespaceToken}`, + 'Content-Type': 'application/json', + }, + }); + + if (!response.ok) { + throw new Error('Failed to fetch workspaces'); + } + + return response.json(); + }; + + const sendPrompt = async (workspaceId: string, prompt: string): Promise => { + const codespaceToken = await SecureStore.getItemAsync('codespace_token'); + if (!codespaceToken) { + throw new Error('No codespace token available'); + } + + const response = await fetch(`${baseUrl}/v1/workspaces/${workspaceId}/prompt`, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${codespaceToken}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ prompt }), + }); + + if (!response.ok) { + throw new Error('Failed to send prompt'); + } + }; + + const getWorkspaceStatus = async (workspaceId: string): Promise => { + const codespaceToken = await SecureStore.getItemAsync('codespace_token'); + if (!codespaceToken) { + throw new Error('No codespace token available'); + } + + const response = await fetch(`${baseUrl}/v1/workspaces/${workspaceId}`, { + headers: { + 'Authorization': `Bearer ${codespaceToken}`, + 'Content-Type': 'application/json', + }, + }); + + if (!response.ok) { + throw new Error('Failed to get workspace status'); + } + + return response.json(); + }; + + return ( + + {children} + + ); +}; \ No newline at end of file diff --git a/catnip-mobile/src/contexts/AuthContext.tsx b/catnip-mobile/src/contexts/AuthContext.tsx new file mode 100644 index 00000000..a3d4767e --- /dev/null +++ b/catnip-mobile/src/contexts/AuthContext.tsx @@ -0,0 +1,117 @@ +import React, { createContext, useContext, useState, useEffect, ReactNode } from 'react'; +import * as SecureStore from 'expo-secure-store'; +import * as WebBrowser from 'expo-web-browser'; +import * as Linking from 'expo-linking'; +import Constants from 'expo-constants'; + +interface AuthContextType { + isAuthenticated: boolean; + githubToken: string | null; + githubUser: string | null; + login: () => Promise; + logout: () => Promise; + setTokens: (token: string, user: string) => Promise; +} + +const AuthContext = createContext(undefined); + +export const useAuth = () => { + const context = useContext(AuthContext); + if (!context) { + throw new Error('useAuth must be used within an AuthProvider'); + } + return context; +}; + +interface AuthProviderProps { + children: ReactNode; +} + +export const AuthProvider: React.FC = ({ children }) => { + const [isAuthenticated, setIsAuthenticated] = useState(false); + const [githubToken, setGithubToken] = useState(null); + const [githubUser, setGithubUser] = useState(null); + + useEffect(() => { + loadStoredAuth(); + }, []); + + const loadStoredAuth = async () => { + try { + const token = await SecureStore.getItemAsync('github_token'); + const user = await SecureStore.getItemAsync('github_user'); + + if (token && user) { + setGithubToken(token); + setGithubUser(user); + setIsAuthenticated(true); + } + } catch (error) { + console.error('Error loading stored auth:', error); + } + }; + + const login = async () => { + try { + // Construct OAuth URL + const redirectUri = Linking.createURL('/auth/callback'); + const authUrl = `https://catnip.run/v1/auth/github?redirect_uri=${encodeURIComponent(redirectUri)}`; + + // Open web browser for OAuth flow + const result = await WebBrowser.openAuthSessionAsync(authUrl, redirectUri); + + if (result.type === 'success' && result.url) { + // Parse the callback URL to extract token and user info + const url = new URL(result.url); + const token = url.searchParams.get('token'); + const user = url.searchParams.get('user'); + + if (token && user) { + await setTokens(token, user); + } + } + } catch (error) { + console.error('Login error:', error); + throw error; + } + }; + + const logout = async () => { + try { + await SecureStore.deleteItemAsync('github_token'); + await SecureStore.deleteItemAsync('github_user'); + await SecureStore.deleteItemAsync('codespace_token'); + setGithubToken(null); + setGithubUser(null); + setIsAuthenticated(false); + } catch (error) { + console.error('Logout error:', error); + } + }; + + const setTokens = async (token: string, user: string) => { + try { + await SecureStore.setItemAsync('github_token', token); + await SecureStore.setItemAsync('github_user', user); + setGithubToken(token); + setGithubUser(user); + setIsAuthenticated(true); + } catch (error) { + console.error('Error storing tokens:', error); + throw error; + } + }; + + return ( + + {children} + + ); +}; \ No newline at end of file diff --git a/catnip-mobile/src/screens/AuthScreen.tsx b/catnip-mobile/src/screens/AuthScreen.tsx new file mode 100644 index 00000000..fb66cc51 --- /dev/null +++ b/catnip-mobile/src/screens/AuthScreen.tsx @@ -0,0 +1,126 @@ +import React from 'react'; +import { View, Text, TouchableOpacity, StyleSheet, Image, ActivityIndicator } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useNavigation } from '@react-navigation/native'; +import { NativeStackNavigationProp } from '@react-navigation/native-stack'; +import { RootStackParamList } from '../../App'; +import { useAuth } from '../contexts/AuthContext'; + +type NavigationProp = NativeStackNavigationProp; + +export default function AuthScreen() { + const navigation = useNavigation(); + const { login } = useAuth(); + const [isLoading, setIsLoading] = React.useState(false); + + const handleLogin = async () => { + try { + setIsLoading(true); + await login(); + navigation.replace('CodespaceAccess'); + } catch (error) { + console.error('Login failed:', error); + // TODO: Show error message + } finally { + setIsLoading(false); + } + }; + + return ( + + + + {/* TODO: Add actual logo */} + + 🐱 + + Catnip + Access your GitHub Codespaces + + + + + Logging into GitHub allows us to start codespaces you have added catnip to + + + + + {isLoading ? ( + + ) : ( + Login with GitHub + )} + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + }, + content: { + flex: 1, + justifyContent: 'center', + paddingHorizontal: 24, + }, + logoContainer: { + alignItems: 'center', + marginBottom: 48, + }, + logoPlaceholder: { + width: 80, + height: 80, + borderRadius: 16, + backgroundColor: '#1a1a1a', + justifyContent: 'center', + alignItems: 'center', + marginBottom: 16, + }, + logoText: { + fontSize: 40, + }, + title: { + fontSize: 28, + fontWeight: 'bold', + color: '#fff', + marginBottom: 8, + }, + subtitle: { + fontSize: 16, + color: '#999', + }, + infoBox: { + backgroundColor: 'rgba(59, 130, 246, 0.1)', + borderWidth: 1, + borderColor: 'rgba(59, 130, 246, 0.3)', + borderRadius: 8, + padding: 16, + marginBottom: 24, + }, + infoText: { + color: '#93bbfc', + fontSize: 14, + textAlign: 'center', + }, + button: { + backgroundColor: '#7c3aed', + paddingVertical: 16, + borderRadius: 8, + alignItems: 'center', + }, + buttonDisabled: { + opacity: 0.5, + }, + buttonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + }, +}); \ No newline at end of file diff --git a/catnip-mobile/src/screens/CodespaceAccessScreen.tsx b/catnip-mobile/src/screens/CodespaceAccessScreen.tsx new file mode 100644 index 00000000..4d49fbb9 --- /dev/null +++ b/catnip-mobile/src/screens/CodespaceAccessScreen.tsx @@ -0,0 +1,422 @@ +import React, { useState, useEffect } from 'react'; +import { + View, + Text, + TouchableOpacity, + StyleSheet, + ActivityIndicator, + ScrollView, + TextInput, +} from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useNavigation } from '@react-navigation/native'; +import { NativeStackNavigationProp } from '@react-navigation/native-stack'; +import * as SecureStore from 'expo-secure-store'; +import { RootStackParamList } from '../../App'; +import { useAuth } from '../contexts/AuthContext'; +import { useApi } from '../contexts/ApiContext'; + +type NavigationProp = NativeStackNavigationProp; + +type StatusStep = 'search' | 'starting' | 'setup' | 'catnip' | 'initializing' | 'health' | 'ready'; + +interface CodespaceInfo { + name: string; + lastUsed: number; + repository?: string; +} + +export default function CodespaceAccessScreen() { + const navigation = useNavigation(); + const { isAuthenticated, logout } = useAuth(); + const { accessCodespace } = useApi(); + + const [isConnecting, setIsConnecting] = useState(false); + const [statusMessage, setStatusMessage] = useState(''); + const [statusStep, setStatusStep] = useState(null); + const [error, setError] = useState(''); + const [orgName, setOrgName] = useState(''); + const [codespaces, setCodespaces] = useState([]); + const [showSelection, setShowSelection] = useState(false); + const [showSetup, setShowSetup] = useState(false); + + const resetState = () => { + setIsConnecting(false); + setStatusMessage(''); + setStatusStep(null); + setError(''); + setCodespaces([]); + setShowSelection(false); + setShowSetup(false); + }; + + const connectToCodespace = async (org?: string, codespaceName?: string) => { + setIsConnecting(true); + setError(''); + setStatusMessage('🔄 Finding your codespace...'); + setStatusStep('search'); + + try { + const generator = accessCodespace(codespaceName, org); + + for await (const event of generator) { + if (event.type === 'status') { + setStatusMessage(event.message); + setStatusStep(event.step); + } else if (event.type === 'success') { + setStatusMessage('✅ ' + event.message); + setStatusStep('ready'); + + // Store the codespace token if provided + if (event.token) { + await SecureStore.setItemAsync('codespace_token', event.token); + } + + // Navigate to workspace list + setTimeout(() => { + resetState(); + navigation.replace('WorkspaceList'); + }, 1000); + } else if (event.type === 'error') { + setError(event.message); + setIsConnecting(false); + } else if (event.type === 'setup') { + setShowSetup(true); + setError(event.message); + setIsConnecting(false); + } else if (event.type === 'multiple') { + setCodespaces(event.codespaces); + setShowSelection(true); + setIsConnecting(false); + } + } + } catch (err) { + setError('Connection failed. Please try again.'); + setIsConnecting(false); + } + }; + + const handleLogout = async () => { + await logout(); + navigation.replace('Auth'); + }; + + if (showSetup) { + return ( + + + + ⚠️ Setup Required + + No Catnip codespaces found. To use Catnip, you need to: + + + + 1. Add this to your .devcontainer/devcontainer.json: + + + + {`"features": {\n "ghcr.io/wandb/catnip/feature:1": {}\n}`} + + + 2. Create a new codespace from your repository + 3. Return here to access your codespace + + + Back + + + + + ); + } + + if (showSelection) { + return ( + + + + Select Codespace + + Multiple codespaces found. Please select one: + + {codespaces.map((cs, index) => ( + { + resetState(); + connectToCodespace(orgName, cs.name); + }} + > + + {cs.name.replace(/-/g, ' ')} + + {cs.repository && ( + {cs.repository} + )} + + Last used: {new Date(cs.lastUsed).toLocaleDateString()} + + + ))} + + Back + + + + + ); + } + + return ( + + + + + 🐱 + + Catnip + + {orgName ? `Access GitHub Codespaces in ${orgName}` : 'Access your GitHub Codespaces'} + + + connectToCodespace(orgName || undefined)} + disabled={isConnecting} + > + {isConnecting ? ( + + + Connecting... + + ) : ( + Access My Codespace + )} + + + {statusMessage && ( + + {statusMessage} + + )} + + {error && ( + + {error} + + )} + + + + Or access codespaces in a specific organization: + + + + connectToCodespace(orgName)} + disabled={!orgName || isConnecting} + > + Go + + + + + Logout + + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + }, + scrollContent: { + flexGrow: 1, + justifyContent: 'center', + padding: 24, + }, + card: { + backgroundColor: '#1a1a1a', + borderRadius: 12, + padding: 24, + borderWidth: 1, + borderColor: '#333', + }, + logoContainer: { + alignItems: 'center', + marginBottom: 16, + }, + logoText: { + fontSize: 48, + }, + title: { + fontSize: 24, + fontWeight: 'bold', + color: '#fff', + textAlign: 'center', + marginBottom: 8, + }, + subtitle: { + fontSize: 14, + color: '#999', + textAlign: 'center', + marginBottom: 24, + }, + button: { + backgroundColor: '#7c3aed', + paddingVertical: 14, + borderRadius: 8, + alignItems: 'center', + marginBottom: 16, + }, + buttonDisabled: { + opacity: 0.5, + }, + buttonContent: { + flexDirection: 'row', + alignItems: 'center', + gap: 8, + }, + buttonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + }, + statusBox: { + backgroundColor: 'rgba(59, 130, 246, 0.1)', + borderWidth: 1, + borderColor: 'rgba(59, 130, 246, 0.3)', + borderRadius: 8, + padding: 12, + marginBottom: 16, + }, + statusText: { + color: '#93bbfc', + fontSize: 14, + textAlign: 'center', + }, + errorBox: { + backgroundColor: 'rgba(239, 68, 68, 0.1)', + borderWidth: 1, + borderColor: 'rgba(239, 68, 68, 0.3)', + borderRadius: 8, + padding: 12, + marginBottom: 16, + }, + errorText: { + color: '#fca5a5', + fontSize: 14, + textAlign: 'center', + }, + divider: { + height: 1, + backgroundColor: '#333', + marginVertical: 24, + }, + orText: { + color: '#999', + fontSize: 14, + marginBottom: 16, + }, + inputContainer: { + flexDirection: 'row', + gap: 8, + marginBottom: 24, + }, + input: { + flex: 1, + backgroundColor: '#0a0a0a', + borderWidth: 1, + borderColor: '#333', + borderRadius: 8, + paddingHorizontal: 16, + paddingVertical: 12, + color: '#fff', + fontSize: 14, + }, + goButton: { + backgroundColor: '#4b5563', + paddingHorizontal: 24, + borderRadius: 8, + justifyContent: 'center', + }, + goButtonText: { + color: '#fff', + fontSize: 14, + fontWeight: '600', + }, + logoutButton: { + alignItems: 'center', + }, + logoutText: { + color: '#ef4444', + fontSize: 14, + }, + cardTitle: { + fontSize: 20, + fontWeight: 'bold', + color: '#fff', + marginBottom: 8, + }, + cardDescription: { + fontSize: 14, + color: '#999', + marginBottom: 24, + }, + setupSteps: { + marginBottom: 24, + }, + stepText: { + color: '#ccc', + fontSize: 14, + marginBottom: 12, + }, + codeBlock: { + backgroundColor: '#0a0a0a', + borderRadius: 8, + padding: 12, + marginVertical: 8, + }, + codeText: { + color: '#4ade80', + fontFamily: 'monospace', + fontSize: 12, + }, + codespaceItem: { + backgroundColor: '#0a0a0a', + borderRadius: 8, + padding: 16, + marginBottom: 12, + borderWidth: 1, + borderColor: '#333', + }, + codespaceTitle: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + marginBottom: 4, + }, + codespaceRepo: { + color: '#3b82f6', + fontSize: 14, + marginBottom: 4, + }, + codespaceDate: { + color: '#666', + fontSize: 12, + }, +}); \ No newline at end of file diff --git a/catnip-mobile/src/screens/WorkspaceDetailScreen.tsx b/catnip-mobile/src/screens/WorkspaceDetailScreen.tsx new file mode 100644 index 00000000..82460fb1 --- /dev/null +++ b/catnip-mobile/src/screens/WorkspaceDetailScreen.tsx @@ -0,0 +1,494 @@ +import React, { useState, useEffect } from 'react'; +import { + View, + Text, + TextInput, + TouchableOpacity, + StyleSheet, + ScrollView, + KeyboardAvoidingView, + Platform, + ActivityIndicator, +} from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useRoute, RouteProp } from '@react-navigation/native'; +import { RootStackParamList } from '../../App'; +import { useApi } from '../contexts/ApiContext'; + +type RouteType = RouteProp; + +type Phase = 'input' | 'todos' | 'completed' | 'existing' | 'error'; + +interface Todo { + content: string; + status: 'pending' | 'in_progress' | 'completed'; +} + +function TodoDisplay({ todos }: { todos: Todo[] }) { + return ( + + {todos.map((todo, index) => ( + + + {todo.content} + + ))} + + ); +} + +export default function WorkspaceDetailScreen() { + const route = useRoute(); + const { workspaceId, worktreeName, repository, branch } = route.params; + const { getWorkspaceStatus, sendPrompt } = useApi(); + + const [phase, setPhase] = useState('input'); + const [prompt, setPrompt] = useState(''); + const [todos, setTodos] = useState([]); + const [latestMessage, setLatestMessage] = useState(''); + const [isLoading, setIsLoading] = useState(false); + const [error, setError] = useState(''); + const [showNewPrompt, setShowNewPrompt] = useState(false); + + useEffect(() => { + loadWorkspaceStatus(); + }, []); + + useEffect(() => { + let interval: NodeJS.Timeout | null = null; + + if (phase === 'todos') { + // Poll for status updates while Claude is working + interval = setInterval(async () => { + try { + const status = await getWorkspaceStatus(workspaceId); + if (status.todos) { + setTodos(status.todos); + } + if (status.latest_claude_message) { + setLatestMessage(status.latest_claude_message); + } + + // Check if all todos are completed + if (status.todos?.every(todo => todo.status === 'completed')) { + setPhase('completed'); + } + + // Check if Claude is no longer active + if (status.claude_activity_state === 'inactive') { + setPhase('completed'); + } + } catch (err) { + console.error('Failed to get workspace status:', err); + } + }, 2000); // Poll every 2 seconds + } + + return () => { + if (interval) { + clearInterval(interval); + } + }; + }, [phase, workspaceId]); + + const loadWorkspaceStatus = async () => { + try { + setIsLoading(true); + const status = await getWorkspaceStatus(workspaceId); + + if (status.todos && status.todos.length > 0) { + setTodos(status.todos); + setPhase(status.claude_activity_state === 'active' ? 'todos' : 'existing'); + } + + if (status.latest_claude_message) { + setLatestMessage(status.latest_claude_message); + } + } catch (err) { + console.error('Failed to load workspace status:', err); + setError('Failed to load workspace status'); + } finally { + setIsLoading(false); + } + }; + + const handleSendPrompt = async () => { + if (!prompt.trim()) return; + + try { + setIsLoading(true); + setError(''); + await sendPrompt(workspaceId, prompt); + setPrompt(''); + setShowNewPrompt(false); + setPhase('todos'); + } catch (err) { + console.error('Failed to send prompt:', err); + setError('Failed to send prompt. Please try again.'); + } finally { + setIsLoading(false); + } + }; + + const getWorkspaceTitle = () => { + const parts = worktreeName.split('/'); + return parts[1] || worktreeName; + }; + + const cleanBranch = branch.startsWith('/') ? branch.slice(1) : branch; + + if (isLoading && phase === 'input') { + return ( + + + + + + ); + } + + return ( + + + + {getWorkspaceTitle()} + + {repository} · {cleanBranch} + + + + + {phase === 'input' && ( + + Start Working + Describe what you'd like to work on + + + )} + + {phase === 'todos' && ( + + + + Claude is working on your request... + + + {latestMessage && ( + + Session Context: + {latestMessage} + + )} + + {todos.length > 0 && ( + + Progress: + + + )} + + )} + + {(phase === 'completed' || phase === 'existing') && ( + + {latestMessage && ( + + {latestMessage} + + )} + + {todos.length > 0 && ( + + Tasks: + + + )} + + )} + + {error && ( + + {error} + + )} + + + {phase === 'input' && ( + + + {isLoading ? ( + + ) : ( + Start Working + )} + + + )} + + {(phase === 'completed' || phase === 'existing') && ( + + {showNewPrompt ? ( + <> + + + + Send + + { + setShowNewPrompt(false); + setPrompt(''); + }} + > + Cancel + + + + ) : ( + setShowNewPrompt(true)} + > + Ask for changes + + )} + + )} + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + }, + header: { + paddingHorizontal: 20, + paddingVertical: 16, + borderBottomWidth: 1, + borderBottomColor: '#1a1a1a', + }, + headerTitle: { + fontSize: 20, + fontWeight: '600', + color: '#fff', + marginBottom: 4, + }, + headerSubtitle: { + fontSize: 14, + color: '#666', + }, + content: { + flex: 1, + }, + contentContainer: { + padding: 20, + }, + inputPhase: { + alignItems: 'center', + marginTop: 40, + }, + phaseTitle: { + fontSize: 24, + fontWeight: '600', + color: '#fff', + marginBottom: 8, + }, + phaseSubtitle: { + fontSize: 14, + color: '#666', + marginBottom: 24, + }, + textArea: { + width: '100%', + backgroundColor: '#1a1a1a', + borderWidth: 1, + borderColor: '#333', + borderRadius: 8, + padding: 16, + color: '#fff', + fontSize: 14, + minHeight: 120, + }, + promptInput: { + backgroundColor: '#1a1a1a', + borderWidth: 1, + borderColor: '#333', + borderRadius: 8, + padding: 12, + color: '#fff', + fontSize: 14, + marginBottom: 12, + minHeight: 80, + }, + footer: { + padding: 20, + borderTopWidth: 1, + borderTopColor: '#1a1a1a', + }, + primaryButton: { + backgroundColor: '#7c3aed', + paddingVertical: 14, + borderRadius: 8, + alignItems: 'center', + }, + secondaryButton: { + backgroundColor: '#333', + paddingVertical: 14, + borderRadius: 8, + alignItems: 'center', + }, + buttonDisabled: { + opacity: 0.5, + }, + buttonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + }, + secondaryButtonText: { + color: '#ccc', + fontSize: 16, + fontWeight: '600', + }, + buttonRow: { + flexDirection: 'row', + gap: 12, + }, + flexButton: { + flex: 1, + }, + todosPhase: { + marginTop: 20, + }, + statusContainer: { + flexDirection: 'row', + alignItems: 'center', + gap: 12, + marginBottom: 24, + }, + statusText: { + color: '#999', + fontSize: 14, + }, + sessionContext: { + backgroundColor: 'rgba(124, 58, 237, 0.1)', + borderWidth: 1, + borderColor: 'rgba(124, 58, 237, 0.2)', + borderRadius: 8, + padding: 16, + marginBottom: 24, + }, + contextLabel: { + fontSize: 12, + color: 'rgba(124, 58, 237, 0.8)', + marginBottom: 8, + fontWeight: '600', + }, + contextText: { + color: '#ccc', + fontSize: 14, + lineHeight: 20, + }, + progressLabel: { + fontSize: 14, + color: '#999', + marginBottom: 12, + fontWeight: '600', + }, + todosContainer: { + gap: 8, + }, + todoItem: { + flexDirection: 'row', + alignItems: 'center', + gap: 12, + paddingVertical: 8, + }, + todoStatus: { + width: 8, + height: 8, + borderRadius: 4, + backgroundColor: '#333', + }, + todoCompleted: { + backgroundColor: '#22c55e', + }, + todoInProgress: { + backgroundColor: '#eab308', + }, + todoText: { + color: '#ccc', + fontSize: 14, + flex: 1, + }, + completedPhase: { + marginTop: 20, + }, + messageContainer: { + backgroundColor: '#1a1a1a', + borderRadius: 8, + padding: 16, + marginBottom: 24, + }, + messageText: { + color: '#ccc', + fontSize: 14, + lineHeight: 20, + }, + errorBox: { + backgroundColor: 'rgba(239, 68, 68, 0.1)', + borderWidth: 1, + borderColor: 'rgba(239, 68, 68, 0.3)', + borderRadius: 8, + padding: 12, + marginTop: 16, + }, + errorText: { + color: '#fca5a5', + fontSize: 14, + }, + loadingContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, +}); \ No newline at end of file diff --git a/catnip-mobile/src/screens/WorkspaceListScreen.tsx b/catnip-mobile/src/screens/WorkspaceListScreen.tsx new file mode 100644 index 00000000..06cd6af5 --- /dev/null +++ b/catnip-mobile/src/screens/WorkspaceListScreen.tsx @@ -0,0 +1,334 @@ +import React, { useState, useEffect } from 'react'; +import { + View, + Text, + TouchableOpacity, + StyleSheet, + FlatList, + RefreshControl, + ActivityIndicator, +} from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useNavigation } from '@react-navigation/native'; +import { NativeStackNavigationProp } from '@react-navigation/native-stack'; +import { RootStackParamList } from '../../App'; +import { useApi } from '../contexts/ApiContext'; + +type NavigationProp = NativeStackNavigationProp; + +interface WorkspaceInfo { + id: string; + name: string; + branch: string; + repository: string; + claude_activity_state?: string; + commit_count?: number; + is_dirty?: boolean; + last_accessed?: string; + created_at?: string; + todos?: Array<{ + content: string; + status: 'pending' | 'in_progress' | 'completed'; + }>; +} + +function WorkspaceCard({ workspace, onPress }: { workspace: WorkspaceInfo; onPress: () => void }) { + const getStatusColor = () => { + switch (workspace.claude_activity_state) { + case 'active': + return '#22c55e'; + case 'running': + return '#eab308'; + case 'inactive': + return '#666'; + default: + return '#666'; + } + }; + + const getWorkspaceTitle = () => { + const parts = workspace.name.split('/'); + return parts[1] || workspace.name; + }; + + const cleanBranch = workspace.branch.startsWith('/') + ? workspace.branch.slice(1) + : workspace.branch; + + return ( + + + + + {getWorkspaceTitle()} + + {workspace.commit_count && workspace.commit_count > 0 && ( + +{workspace.commit_count} + )} + + + {workspace.repository}/{getWorkspaceTitle()} · {cleanBranch} + + {workspace.is_dirty && ( + + Modified + + )} + {workspace.todos && workspace.todos.length > 0 && ( + + Tasks: + + {workspace.todos.map((todo, index) => ( + + ))} + + + )} + + + {workspace.claude_activity_state === 'active' ? 'Continue' : 'Open'} + + + + ); +} + +export default function WorkspaceListScreen() { + const navigation = useNavigation(); + const { fetchWorkspaces } = useApi(); + + const [workspaces, setWorkspaces] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const [isRefreshing, setIsRefreshing] = useState(false); + + useEffect(() => { + loadWorkspaces(); + }, []); + + const loadWorkspaces = async () => { + try { + const data = await fetchWorkspaces(); + setWorkspaces(data.sort((a, b) => { + const aTime = new Date(a.last_accessed || a.created_at || 0).getTime(); + const bTime = new Date(b.last_accessed || b.created_at || 0).getTime(); + return bTime - aTime; + })); + } catch (error) { + console.error('Failed to load workspaces:', error); + } finally { + setIsLoading(false); + setIsRefreshing(false); + } + }; + + const handleRefresh = async () => { + setIsRefreshing(true); + await loadWorkspaces(); + }; + + const handleWorkspacePress = (workspace: WorkspaceInfo) => { + navigation.navigate('WorkspaceDetail', { + workspaceId: workspace.id, + worktreeName: workspace.name, + repository: workspace.repository, + branch: workspace.branch, + }); + }; + + if (isLoading) { + return ( + + + + Loading workspaces... + + + ); + } + + if (workspaces.length === 0) { + return ( + + + No workspaces + Create a workspace to get started + + + ); + } + + return ( + + + Workspaces + {workspaces.length} workspaces + + item.id} + renderItem={({ item }) => ( + handleWorkspacePress(item)} + /> + )} + contentContainerStyle={styles.listContent} + refreshControl={ + + } + /> + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + }, + header: { + paddingHorizontal: 20, + paddingVertical: 16, + borderBottomWidth: 1, + borderBottomColor: '#1a1a1a', + }, + headerTitle: { + fontSize: 24, + fontWeight: 'bold', + color: '#fff', + marginBottom: 4, + }, + headerSubtitle: { + fontSize: 14, + color: '#666', + }, + listContent: { + padding: 16, + }, + card: { + backgroundColor: '#1a1a1a', + borderRadius: 12, + padding: 16, + marginBottom: 12, + borderWidth: 1, + borderColor: '#333', + }, + cardHeader: { + flexDirection: 'row', + justifyContent: 'space-between', + alignItems: 'center', + marginBottom: 8, + }, + cardTitleRow: { + flexDirection: 'row', + alignItems: 'center', + flex: 1, + }, + statusIndicator: { + width: 8, + height: 8, + borderRadius: 4, + marginRight: 8, + }, + cardTitle: { + fontSize: 18, + fontWeight: '600', + color: '#fff', + }, + commitCount: { + fontSize: 12, + color: '#666', + fontFamily: 'monospace', + }, + cardSubtitle: { + fontSize: 14, + color: '#666', + marginBottom: 12, + }, + modifiedBadge: { + backgroundColor: '#333', + borderRadius: 4, + paddingHorizontal: 8, + paddingVertical: 4, + alignSelf: 'flex-start', + marginBottom: 12, + }, + modifiedText: { + fontSize: 11, + color: '#999', + textTransform: 'uppercase', + }, + todosContainer: { + flexDirection: 'row', + alignItems: 'center', + marginBottom: 12, + }, + todosLabel: { + fontSize: 12, + color: '#666', + marginRight: 8, + }, + todosProgress: { + flexDirection: 'row', + gap: 4, + }, + todoIndicator: { + width: 20, + height: 4, + borderRadius: 2, + backgroundColor: '#333', + }, + todoCompleted: { + backgroundColor: '#22c55e', + }, + todoInProgress: { + backgroundColor: '#eab308', + }, + continueButton: { + backgroundColor: '#7c3aed', + paddingVertical: 12, + borderRadius: 8, + alignItems: 'center', + }, + continueText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + }, + loadingContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + loadingText: { + color: '#666', + marginTop: 16, + fontSize: 16, + }, + emptyContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + emptyTitle: { + fontSize: 20, + fontWeight: '600', + color: '#fff', + marginBottom: 8, + }, + emptySubtitle: { + fontSize: 16, + color: '#666', + }, +}); \ No newline at end of file diff --git a/catnip-mobile/tsconfig.json b/catnip-mobile/tsconfig.json new file mode 100644 index 00000000..7b86b18d --- /dev/null +++ b/catnip-mobile/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "expo/tsconfig.base", + "compilerOptions": { + "jsx": "react-native", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + } + }, + "include": ["**/*.ts", "**/*.tsx", ".expo/types/**/*.ts", "expo-env.d.ts"], + "exclude": ["node_modules"] +} \ No newline at end of file From ba1d25290ada13cb815f17991f3bb759357cabc4 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:49:47 +0000 Subject: [PATCH 02/46] Auth Redesign checkpoint: 1 --- worker/mobile-auth.ts | 186 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 worker/mobile-auth.ts diff --git a/worker/mobile-auth.ts b/worker/mobile-auth.ts new file mode 100644 index 00000000..c8afc851 --- /dev/null +++ b/worker/mobile-auth.ts @@ -0,0 +1,186 @@ +// Mobile OAuth relay endpoints +import { Context } from "hono"; +import { setCookie } from "hono/cookie"; + +interface MobileSessionData { + sessionId: string; + userId: string; + username: string; + mobileToken: string; + createdAt: number; + expiresAt: number; +} + +/** + * Generate a secure mobile session token + */ +export function generateMobileToken(): string { + const array = new Uint8Array(32); + crypto.getRandomValues(array); + return btoa(String.fromCharCode(...array)) + .replace(/\+/g, "-") + .replace(/\//g, "_") + .replace(/=/g, ""); +} + +/** + * Mobile OAuth initiation endpoint + * This endpoint is called by the mobile app to start the OAuth flow + */ +export async function initiateMobileOAuth(c: Context) { + const redirectUri = c.req.query("redirect_uri") || "catnip://auth"; + const state = c.req.query("state") || crypto.randomUUID(); + + // Store the mobile OAuth state in a temporary cookie + setCookie(c, "mobile-oauth-state", JSON.stringify({ + redirectUri, + state, + initiated: Date.now() + }), { + httpOnly: true, + secure: true, + sameSite: "Lax", + maxAge: 10 * 60, // 10 minutes + path: "/" + }); + + // Redirect to the standard GitHub OAuth endpoint + const currentUrl = new URL(c.req.url); + const githubAuthUrl = `${currentUrl.protocol}//${currentUrl.host}/v1/auth/github?mobile=true`; + + return c.redirect(githubAuthUrl); +} + +/** + * Mobile OAuth callback handler + * This is called after successful GitHub OAuth to relay the session to the mobile app + */ +export async function handleMobileOAuthCallback(c: Context, sessionId: string, sessionData: any) { + const mobileState = c.req.cookie("mobile-oauth-state"); + + if (!mobileState) { + // Not a mobile OAuth flow, continue normally + return null; + } + + try { + const { redirectUri, state } = JSON.parse(mobileState.value); + + // Generate a mobile-specific session token + const mobileToken = generateMobileToken(); + + // Store the mobile session mapping in the Durable Object + const sessionDO = c.env.SESSIONS.get(c.env.SESSIONS.idFromName("global")); + + // Create mobile session record + const mobileSession: MobileSessionData = { + sessionId, + userId: sessionData.userId, + username: sessionData.username, + mobileToken, + createdAt: Date.now(), + expiresAt: sessionData.expiresAt + }; + + // Store mobile session mapping + await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`, { + method: "PUT", + body: JSON.stringify(mobileSession) + }); + + // Clear the mobile OAuth state cookie + setCookie(c, "mobile-oauth-state", "", { + httpOnly: true, + secure: true, + sameSite: "Lax", + maxAge: 0, + path: "/" + }); + + // Build the redirect URL with the mobile token + const redirectUrl = new URL(redirectUri); + redirectUrl.searchParams.set("token", mobileToken); + redirectUrl.searchParams.set("state", state); + redirectUrl.searchParams.set("username", sessionData.username); + + // Redirect to the mobile app + return c.redirect(redirectUrl.toString()); + } catch (error) { + console.error("Mobile OAuth callback error:", error); + return null; + } +} + +/** + * Mobile session validation middleware + * Validates mobile session tokens sent in Authorization header + */ +export async function validateMobileSession(c: Context): Promise { + const authHeader = c.req.header("Authorization"); + + if (!authHeader?.startsWith("Bearer ")) { + return null; + } + + const mobileToken = authHeader.substring(7); + + try { + // Get the mobile session from Durable Object + const sessionDO = c.env.SESSIONS.get(c.env.SESSIONS.idFromName("global")); + const response = await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`); + + if (!response.ok) { + return null; + } + + const mobileSession = await response.json() as MobileSessionData; + + // Check if mobile session is expired + if (Date.now() > mobileSession.expiresAt) { + // Delete expired session + await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`, { + method: "DELETE" + }); + return null; + } + + // Get the actual session data + const sessionResponse = await sessionDO.fetch(`https://internal/session/${mobileSession.sessionId}`); + + if (!sessionResponse.ok) { + return null; + } + + const sessionData = await sessionResponse.json(); + + // Set the session data in context for use by other handlers + c.set("session", sessionData); + c.set("sessionId", mobileSession.sessionId); + c.set("userId", sessionData.userId); + c.set("username", sessionData.username); + c.set("accessToken", sessionData.accessToken); + c.set("mobileToken", mobileToken); + + return sessionData; + } catch (error) { + console.error("Mobile session validation error:", error); + return null; + } +} + +/** + * Mobile logout endpoint + * Revokes the mobile session token + */ +export async function handleMobileLogout(c: Context) { + const mobileToken = c.get("mobileToken"); + + if (mobileToken) { + const sessionDO = c.env.SESSIONS.get(c.env.SESSIONS.idFromName("global")); + await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`, { + method: "DELETE" + }); + } + + return c.json({ success: true }); +} \ No newline at end of file From c9ffcc0ee975c1f5df3a5702fe8166e0c53f67b6 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:50:18 +0000 Subject: [PATCH 03/46] Auth Redesign checkpoint: 2 --- worker/sessions.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/worker/sessions.ts b/worker/sessions.ts index d6e7798c..132f6976 100644 --- a/worker/sessions.ts +++ b/worker/sessions.ts @@ -46,6 +46,19 @@ export class SessionStore extends DurableObject> { CREATE INDEX IF NOT EXISTS idx_refreshed_at ON sessions(refreshed_at); CREATE INDEX IF NOT EXISTS idx_expires_at ON sessions(expires_at); CREATE INDEX IF NOT EXISTS idx_refresh_token_expires_at ON sessions(refresh_token_expires_at); + + -- Mobile session tokens table + CREATE TABLE IF NOT EXISTS mobile_sessions ( + mobile_token TEXT PRIMARY KEY, + session_id TEXT NOT NULL, + user_id TEXT NOT NULL, + username TEXT NOT NULL, + created_at INTEGER NOT NULL, + expires_at INTEGER NOT NULL, + FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE CASCADE + ); + CREATE INDEX IF NOT EXISTS idx_mobile_session_id ON mobile_sessions(session_id); + CREATE INDEX IF NOT EXISTS idx_mobile_expires ON mobile_sessions(expires_at); `); // Migrate existing sessions table if needed From 90f949518806519f827473d5974580d6c52917bd Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:50:25 +0000 Subject: [PATCH 04/46] Auth Redesign checkpoint: 1 --- worker/sessions.ts | 56 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/worker/sessions.ts b/worker/sessions.ts index 132f6976..e36a44b0 100644 --- a/worker/sessions.ts +++ b/worker/sessions.ts @@ -304,6 +304,62 @@ export class SessionStore extends DurableObject> { return new Response("OK"); } + // Handle mobile session endpoints + if (url.pathname.startsWith("/mobile-session/")) { + const mobileToken = url.pathname.split("/").pop(); + + if (request.method === "GET" && mobileToken) { + // Get mobile session + const rows = this.sql.exec( + "SELECT * FROM mobile_sessions WHERE mobile_token = ? AND expires_at > ? LIMIT 1", + mobileToken, + Date.now(), + ).toArray(); + + if (!rows[0]) { + return new Response("Not found", { status: 404 }); + } + + return Response.json({ + sessionId: rows[0].session_id, + userId: rows[0].user_id, + username: rows[0].username, + createdAt: rows[0].created_at, + expiresAt: rows[0].expires_at, + }); + } + + if (request.method === "PUT" && mobileToken) { + // Store mobile session + const data = await request.json(); + const now = Date.now(); + + // Delete any existing mobile session for this token + this.sql.exec("DELETE FROM mobile_sessions WHERE mobile_token = ?", mobileToken); + + // Insert new mobile session + this.sql.exec( + `INSERT INTO mobile_sessions + (mobile_token, session_id, user_id, username, created_at, expires_at) + VALUES (?, ?, ?, ?, ?, ?)`, + mobileToken, + data.sessionId, + data.userId, + data.username, + now, + data.expiresAt, + ); + + return new Response("OK"); + } + + if (request.method === "DELETE" && mobileToken) { + // Delete mobile session + this.sql.exec("DELETE FROM mobile_sessions WHERE mobile_token = ?", mobileToken); + return new Response("OK"); + } + } + if (request.method === "POST" && url.pathname.endsWith("/refresh")) { // Refresh token endpoint const { sessionId: sid, refreshToken: _refreshToken } = From f67ca22c3f7894b0ef346232840c5c2fc4f01abb Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:50:48 +0000 Subject: [PATCH 05/46] Auth Redesign checkpoint: 3 --- worker/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/worker/index.ts b/worker/index.ts index df908349..4ad73536 100644 --- a/worker/index.ts +++ b/worker/index.ts @@ -10,6 +10,7 @@ import { HTTPException } from "hono/http-exception"; import { githubAuth } from "@hono/oauth-providers/github"; import { Container, getContainer } from "@cloudflare/containers"; import { Webhooks } from "@octokit/webhooks"; +import { generateMobileToken } from "./mobile-auth"; // Durable Object for container management export class CatnipContainer extends Container { From f18ad036bd92a455940af0ef9c2012a927ac6812 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:51:18 +0000 Subject: [PATCH 06/46] Auth Redesign checkpoint: 4 --- worker/index.ts | 84 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 62 insertions(+), 22 deletions(-) diff --git a/worker/index.ts b/worker/index.ts index 4ad73536..a5f51143 100644 --- a/worker/index.ts +++ b/worker/index.ts @@ -152,7 +152,7 @@ export function createApp(env: Env) { // CORS for API routes app.use("/v1/*", cors()); - // Session middleware - load session from signed cookie + // Session middleware - load session from signed cookie or mobile token app.use("*", async (c, next) => { // Skip session loading if no encryption key if (!c.env.CATNIP_ENCRYPTION_KEY) { @@ -162,36 +162,76 @@ export function createApp(env: Env) { return next(); } - try { - const sessionId = await getSignedCookie( - c, - c.env.CATNIP_ENCRYPTION_KEY, - "catnip-session", - ); - if (sessionId) { - try { - // Get session from Durable Object - const sessionDO = c.env.SESSIONS.get( - c.env.SESSIONS.idFromName("global"), - ); - const response = await sessionDO.fetch( - `https://internal/session/${sessionId}`, + // First check for mobile token in Authorization header + const authHeader = c.req.header("Authorization"); + if (authHeader?.startsWith("Bearer ")) { + const mobileToken = authHeader.substring(7); + + try { + // Get mobile session from Durable Object + const sessionDO = c.env.SESSIONS.get( + c.env.SESSIONS.idFromName("global"), + ); + const mobileResponse = await sessionDO.fetch( + `https://internal/mobile-session/${mobileToken}`, + ); + + if (mobileResponse.ok) { + const mobileSession = await mobileResponse.json(); + + // Get the actual session data + const sessionResponse = await sessionDO.fetch( + `https://internal/session/${mobileSession.sessionId}`, ); - if (response.ok) { - const session = await response.json(); + if (sessionResponse.ok) { + const session = await sessionResponse.json(); c.set("session", session); - c.set("sessionId", sessionId); + c.set("sessionId", mobileSession.sessionId); c.set("userId", session.userId); c.set("username", session.username); c.set("accessToken", session.accessToken); + c.set("mobileToken", mobileToken); } - } catch (error) { - console.error("Failed to load session from DO:", error); } + } catch (error) { + console.error("Failed to load mobile session:", error); + } + } + + // Fall back to cookie-based session if no mobile token + if (!c.get("session")) { + try { + const sessionId = await getSignedCookie( + c, + c.env.CATNIP_ENCRYPTION_KEY, + "catnip-session", + ); + if (sessionId) { + try { + // Get session from Durable Object + const sessionDO = c.env.SESSIONS.get( + c.env.SESSIONS.idFromName("global"), + ); + const response = await sessionDO.fetch( + `https://internal/session/${sessionId}`, + ); + + if (response.ok) { + const session = await response.json(); + c.set("session", session); + c.set("sessionId", sessionId); + c.set("userId", session.userId); + c.set("username", session.username); + c.set("accessToken", session.accessToken); + } + } catch (error) { + console.error("Failed to load session from DO:", error); + } + } + } catch (error) { + console.error("Failed to get signed cookie:", error); } - } catch (error) { - console.error("Failed to get signed cookie:", error); } await next(); From 87bdafff5d08d8e8c41b9cadfa1dbeef477fffd1 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:51:49 +0000 Subject: [PATCH 07/46] Auth Redesign checkpoint: 5 --- worker/index.ts | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/worker/index.ts b/worker/index.ts index a5f51143..a11a644a 100644 --- a/worker/index.ts +++ b/worker/index.ts @@ -370,6 +370,48 @@ export function createApp(env: Env) { body: JSON.stringify(sessionData), }); + // Check if this is a mobile OAuth flow + const mobileState = getCookie(c, "mobile-oauth-state"); + if (mobileState) { + try { + const { redirectUri, state } = JSON.parse(mobileState); + + // Generate a mobile session token + const mobileToken = generateMobileToken(); + + // Store the mobile session mapping + await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`, { + method: "PUT", + body: JSON.stringify({ + sessionId, + userId: sessionData.userId, + username: sessionData.username, + expiresAt: sessionData.expiresAt, + }), + }); + + // Clear the mobile OAuth state cookie + setCookie(c, "mobile-oauth-state", "", { + httpOnly: true, + secure: true, + sameSite: "Lax", + maxAge: 0, + path: "/", + }); + + // Redirect to mobile app with token + const redirectUrl = new URL(redirectUri); + redirectUrl.searchParams.set("token", mobileToken); + redirectUrl.searchParams.set("state", state); + redirectUrl.searchParams.set("username", sessionData.username); + + return c.redirect(redirectUrl.toString()); + } catch (error) { + console.error("Mobile OAuth callback error:", error); + // Fall through to standard web flow + } + } + // Set signed cookie with just session ID if (!c.env.CATNIP_ENCRYPTION_KEY) { console.error( From 71262f41aa6cdd6b79d4496b29a9f462e22f1c3d Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:52:20 +0000 Subject: [PATCH 08/46] Auth Redesign checkpoint: 6 --- worker/index.ts | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/worker/index.ts b/worker/index.ts index a11a644a..82a63b51 100644 --- a/worker/index.ts +++ b/worker/index.ts @@ -470,6 +470,45 @@ export function createApp(env: Env) { return c.redirect("/"); }); + // Mobile OAuth initiation endpoint + app.get("/v1/auth/github/mobile", async (c) => { + const redirectUri = c.req.query("redirect_uri") || "catnip://auth"; + const state = c.req.query("state") || crypto.randomUUID(); + + // Store mobile OAuth state in cookie + setCookie(c, "mobile-oauth-state", JSON.stringify({ + redirectUri, + state, + initiated: Date.now() + }), { + httpOnly: true, + secure: true, + sameSite: "Lax", + maxAge: 10 * 60, // 10 minutes + path: "/" + }); + + // Redirect to standard OAuth flow + const currentUrl = new URL(c.req.url); + const githubAuthUrl = `${currentUrl.protocol}//${currentUrl.host}/v1/auth/github`; + + return c.redirect(githubAuthUrl); + }); + + // Mobile logout endpoint + app.post("/v1/auth/mobile/logout", async (c) => { + const mobileToken = c.get("mobileToken"); + + if (mobileToken) { + const sessionDO = c.env.SESSIONS.get(c.env.SESSIONS.idFromName("global")); + await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`, { + method: "DELETE" + }); + } + + return c.json({ success: true }); + }); + // Logout endpoint app.get("/v1/auth/logout", async (c) => { const sessionId = c.get("sessionId"); From 8ebdb90e747caccee48cda59ae5f7faa94c983dd Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:53:20 +0000 Subject: [PATCH 09/46] Auth Redesign checkpoint: 7 --- catnip-mobile/hooks/useAuth.ts | 137 --------------------------------- 1 file changed, 137 deletions(-) delete mode 100644 catnip-mobile/hooks/useAuth.ts diff --git a/catnip-mobile/hooks/useAuth.ts b/catnip-mobile/hooks/useAuth.ts deleted file mode 100644 index 6a71099c..00000000 --- a/catnip-mobile/hooks/useAuth.ts +++ /dev/null @@ -1,137 +0,0 @@ -import { useEffect, useState } from 'react'; -import * as WebBrowser from 'expo-web-browser'; -import * as AuthSession from 'expo-auth-session'; -import * as SecureStore from 'expo-secure-store'; -import { makeRedirectUri } from 'expo-auth-session'; - -WebBrowser.maybeCompleteAuthSession(); - -const CATNIP_BASE_URL = 'https://catnip.run'; - -export interface AuthState { - isAuthenticated: boolean; - isLoading: boolean; - githubToken: string | null; - githubUser: string | null; - codespaceToken: string | null; -} - -export function useAuth() { - const [authState, setAuthState] = useState({ - isAuthenticated: false, - isLoading: true, - githubToken: null, - githubUser: null, - codespaceToken: null, - }); - - // Use Expo's redirect URI - const redirectUri = makeRedirectUri({ - scheme: 'catnip', - path: 'auth' - }); - - // Create the auth request - const request = new AuthSession.AuthRequest({ - clientId: process.env.EXPO_PUBLIC_GITHUB_CLIENT_ID || '', - scopes: ['read:user', 'user:email', 'repo', 'codespace'], - redirectUri, - responseType: AuthSession.ResponseType.Token, - authorizationEndpoint: 'https://github.com/login/oauth/authorize', - }); - - // Load stored tokens on mount - useEffect(() => { - loadStoredAuth(); - }, []); - - const loadStoredAuth = async () => { - try { - const [token, user, csToken] = await Promise.all([ - SecureStore.getItemAsync('github_token'), - SecureStore.getItemAsync('github_user'), - SecureStore.getItemAsync('codespace_token'), - ]); - - setAuthState({ - isAuthenticated: !!token, - isLoading: false, - githubToken: token, - githubUser: user, - codespaceToken: csToken, - }); - } catch (error) { - console.error('Failed to load auth:', error); - setAuthState(prev => ({ ...prev, isLoading: false })); - } - }; - - const login = async () => { - try { - // Start the auth flow - const result = await request.promptAsync(); - - if (result.type === 'success' && result.params.access_token) { - const token = result.params.access_token; - - // Get user info - const userResponse = await fetch('https://api.github.com/user', { - headers: { Authorization: `Bearer ${token}` }, - }); - const userData = await userResponse.json(); - - // Store credentials - await Promise.all([ - SecureStore.setItemAsync('github_token', token), - SecureStore.setItemAsync('github_user', userData.login), - ]); - - setAuthState({ - isAuthenticated: true, - isLoading: false, - githubToken: token, - githubUser: userData.login, - codespaceToken: null, - }); - - return true; - } - return false; - } catch (error) { - console.error('Login failed:', error); - return false; - } - }; - - const logout = async () => { - try { - await Promise.all([ - SecureStore.deleteItemAsync('github_token'), - SecureStore.deleteItemAsync('github_user'), - SecureStore.deleteItemAsync('codespace_token'), - ]); - - setAuthState({ - isAuthenticated: false, - isLoading: false, - githubToken: null, - githubUser: null, - codespaceToken: null, - }); - } catch (error) { - console.error('Logout failed:', error); - } - }; - - const setCodespaceToken = async (token: string) => { - await SecureStore.setItemAsync('codespace_token', token); - setAuthState(prev => ({ ...prev, codespaceToken: token })); - }; - - return { - ...authState, - login, - logout, - setCodespaceToken, - }; -} \ No newline at end of file From d2f13cec651a814b8df91c1c963aa29c566a490d Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:53:50 +0000 Subject: [PATCH 10/46] Auth Redesign checkpoint: 8 --- catnip-mobile/hooks/useAuth.ts | 193 +++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 catnip-mobile/hooks/useAuth.ts diff --git a/catnip-mobile/hooks/useAuth.ts b/catnip-mobile/hooks/useAuth.ts new file mode 100644 index 00000000..9d8b26bc --- /dev/null +++ b/catnip-mobile/hooks/useAuth.ts @@ -0,0 +1,193 @@ +import { useEffect, useState } from 'react'; +import * as WebBrowser from 'expo-web-browser'; +import * as SecureStore from 'expo-secure-store'; +import * as Linking from 'expo-linking'; + +WebBrowser.maybeCompleteAuthSession(); + +const CATNIP_BASE_URL = 'https://catnip.run'; + +export interface AuthState { + isAuthenticated: boolean; + isLoading: boolean; + sessionToken: string | null; + username: string | null; +} + +export function useAuth() { + const [authState, setAuthState] = useState({ + isAuthenticated: false, + isLoading: true, + sessionToken: null, + username: null, + }); + + // Load stored session on mount + useEffect(() => { + loadStoredSession(); + }, []); + + // Set up deep linking listener for OAuth callback + useEffect(() => { + const handleCallback = async (url: string) => { + const { queryParams } = Linking.parse(url); + + if (queryParams?.token && queryParams?.username) { + // Store session token and username + await SecureStore.setItemAsync('session_token', queryParams.token as string); + await SecureStore.setItemAsync('username', queryParams.username as string); + + setAuthState({ + isAuthenticated: true, + isLoading: false, + sessionToken: queryParams.token as string, + username: queryParams.username as string, + }); + } + }; + + // Listen for incoming links + const subscription = Linking.addEventListener('url', (event) => { + handleCallback(event.url); + }); + + // Check if app was opened from a deep link + Linking.getInitialURL().then((url) => { + if (url) handleCallback(url); + }); + + return () => subscription.remove(); + }, []); + + const loadStoredSession = async () => { + try { + const [token, username] = await Promise.all([ + SecureStore.getItemAsync('session_token'), + SecureStore.getItemAsync('username'), + ]); + + // Validate session is still valid by checking with server + if (token) { + const response = await fetch(`${CATNIP_BASE_URL}/v1/auth/status`, { + headers: { + 'Authorization': `Bearer ${token}` + }, + }); + + if (response.ok) { + const data = await response.json(); + if (data.authenticated) { + setAuthState({ + isAuthenticated: true, + isLoading: false, + sessionToken: token, + username: username || data.username, + }); + return; + } + } + + // Session is invalid, clean up + await clearSession(); + } + + setAuthState(prev => ({ ...prev, isLoading: false })); + } catch (error) { + console.error('Failed to load session:', error); + setAuthState(prev => ({ ...prev, isLoading: false })); + } + }; + + const login = async () => { + try { + // Generate state for CSRF protection + const state = Math.random().toString(36).substring(7); + await SecureStore.setItemAsync('oauth_state', state); + + // Create redirect URI + const redirectUri = Linking.createURL('auth'); + + // Build OAuth URL - using our mobile OAuth relay endpoint + const authUrl = `${CATNIP_BASE_URL}/v1/auth/github/mobile?` + + `redirect_uri=${encodeURIComponent(redirectUri)}&` + + `state=${state}`; + + // Open OAuth flow in browser + const result = await WebBrowser.openAuthSessionAsync(authUrl, redirectUri); + + if (result.type === 'success' && result.url) { + // Parse the callback URL + const { queryParams } = Linking.parse(result.url); + + // Verify state matches + const storedState = await SecureStore.getItemAsync('oauth_state'); + if (queryParams?.state !== storedState) { + console.error('State mismatch in OAuth callback'); + return false; + } + + if (queryParams?.token && queryParams?.username) { + // Store session token and username + await SecureStore.setItemAsync('session_token', queryParams.token as string); + await SecureStore.setItemAsync('username', queryParams.username as string); + + setAuthState({ + isAuthenticated: true, + isLoading: false, + sessionToken: queryParams.token as string, + username: queryParams.username as string, + }); + + return true; + } + } + + return false; + } catch (error) { + console.error('Login failed:', error); + return false; + } + }; + + const logout = async () => { + try { + // Notify server to revoke session + if (authState.sessionToken) { + await fetch(`${CATNIP_BASE_URL}/v1/auth/mobile/logout`, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${authState.sessionToken}`, + 'Content-Type': 'application/json', + }, + }); + } + + await clearSession(); + } catch (error) { + console.error('Logout failed:', error); + // Clear local session anyway + await clearSession(); + } + }; + + const clearSession = async () => { + await Promise.all([ + SecureStore.deleteItemAsync('session_token'), + SecureStore.deleteItemAsync('username'), + SecureStore.deleteItemAsync('oauth_state'), + ]); + + setAuthState({ + isAuthenticated: false, + isLoading: false, + sessionToken: null, + username: null, + }); + }; + + return { + ...authState, + login, + logout, + }; +} \ No newline at end of file From ca44d8bc8c682b0bb1cb52b550edc6db2fe2ef21 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:54:21 +0000 Subject: [PATCH 11/46] Auth Redesign checkpoint: 9 --- catnip-mobile/lib/api.ts | 156 --------------------------------------- 1 file changed, 156 deletions(-) delete mode 100644 catnip-mobile/lib/api.ts diff --git a/catnip-mobile/lib/api.ts b/catnip-mobile/lib/api.ts deleted file mode 100644 index 07d29aea..00000000 --- a/catnip-mobile/lib/api.ts +++ /dev/null @@ -1,156 +0,0 @@ -import * as SecureStore from 'expo-secure-store'; - -const BASE_URL = 'https://catnip.run'; - -export interface CodespaceInfo { - name: string; - lastUsed: number; - repository?: string; -} - -export interface WorkspaceInfo { - id: string; - name: string; - branch: string; - repository: string; - claude_activity_state?: 'active' | 'running' | 'inactive'; - commit_count?: number; - is_dirty?: boolean; - last_accessed?: string; - created_at?: string; - todos?: Todo[]; - latest_claude_message?: string; - pull_request_url?: string; -} - -export interface Todo { - content: string; - status: 'pending' | 'in_progress' | 'completed'; - activeForm?: string; -} - -class CatnipAPI { - private async getHeaders(): Promise { - const codespaceToken = await SecureStore.getItemAsync('codespace_token'); - const githubToken = await SecureStore.getItemAsync('github_token'); - - return { - 'Content-Type': 'application/json', - 'Authorization': codespaceToken - ? `Bearer ${codespaceToken}` - : githubToken - ? `Bearer ${githubToken}` - : '', - }; - } - - async connectCodespace( - codespaceName?: string, - org?: string, - onEvent?: (event: any) => void - ): Promise { - const baseUrl = org ? `https://${org}.catnip.run` : BASE_URL; - const url = codespaceName - ? `${baseUrl}/v1/codespace?codespace=${encodeURIComponent(codespaceName)}` - : `${baseUrl}/v1/codespace`; - - const headers = await this.getHeaders(); - - return new Promise((resolve, reject) => { - // Use EventSource for Server-Sent Events - const eventSource = new EventSource(url); - - eventSource.addEventListener('status', (event: MessageEvent) => { - const data = JSON.parse(event.data); - onEvent?.({ type: 'status', ...data }); - }); - - eventSource.addEventListener('success', async (event: MessageEvent) => { - const data = JSON.parse(event.data); - - // Store codespace token if provided - if (data.token) { - await SecureStore.setItemAsync('codespace_token', data.token); - } - - onEvent?.({ type: 'success', ...data }); - eventSource.close(); - resolve(); - }); - - eventSource.addEventListener('error', (event: MessageEvent) => { - const data = JSON.parse(event.data); - onEvent?.({ type: 'error', ...data }); - eventSource.close(); - reject(new Error(data.message)); - }); - - eventSource.addEventListener('setup', (event: MessageEvent) => { - const data = JSON.parse(event.data); - onEvent?.({ type: 'setup', ...data }); - eventSource.close(); - resolve(); - }); - - eventSource.addEventListener('multiple', (event: MessageEvent) => { - const data = JSON.parse(event.data); - onEvent?.({ type: 'multiple', ...data }); - eventSource.close(); - resolve(); - }); - - eventSource.onerror = () => { - eventSource.close(); - reject(new Error('Connection failed')); - }; - }); - } - - async getWorkspaces(): Promise { - const headers = await this.getHeaders(); - const response = await fetch(`${BASE_URL}/v1/workspaces`, { headers }); - - if (!response.ok) { - throw new Error('Failed to fetch workspaces'); - } - - return response.json(); - } - - async getWorkspace(id: string): Promise { - const headers = await this.getHeaders(); - const response = await fetch(`${BASE_URL}/v1/workspaces/${id}`, { headers }); - - if (!response.ok) { - throw new Error('Failed to fetch workspace'); - } - - return response.json(); - } - - async sendPrompt(workspaceId: string, prompt: string): Promise { - const headers = await this.getHeaders(); - const response = await fetch(`${BASE_URL}/v1/workspaces/${workspaceId}/prompt`, { - method: 'POST', - headers, - body: JSON.stringify({ prompt }), - }); - - if (!response.ok) { - throw new Error('Failed to send prompt'); - } - } - - async getAuthStatus(): Promise<{ authenticated: boolean; user?: string }> { - const headers = await this.getHeaders(); - const response = await fetch(`${BASE_URL}/v1/auth/status`, { headers }); - - if (!response.ok) { - return { authenticated: false }; - } - - return response.json(); - } -} - -export const api = new CatnipAPI(); \ No newline at end of file From 4539be0851e28c43a596a7f87d1dc0a7086619b5 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:54:52 +0000 Subject: [PATCH 12/46] Auth Redesign checkpoint: 10 --- catnip-mobile/lib/api.ts | 169 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 catnip-mobile/lib/api.ts diff --git a/catnip-mobile/lib/api.ts b/catnip-mobile/lib/api.ts new file mode 100644 index 00000000..f6f191bc --- /dev/null +++ b/catnip-mobile/lib/api.ts @@ -0,0 +1,169 @@ +import * as SecureStore from 'expo-secure-store'; + +const BASE_URL = 'https://catnip.run'; + +export interface CodespaceInfo { + name: string; + lastUsed: number; + repository?: string; +} + +export interface WorkspaceInfo { + id: string; + name: string; + branch: string; + repository: string; + claude_activity_state?: 'active' | 'running' | 'inactive'; + commit_count?: number; + is_dirty?: boolean; + last_accessed?: string; + created_at?: string; + todos?: Todo[]; + latest_claude_message?: string; + pull_request_url?: string; +} + +export interface Todo { + content: string; + status: 'pending' | 'in_progress' | 'completed'; + activeForm?: string; +} + +class CatnipAPI { + private async getHeaders(): Promise { + const sessionToken = await SecureStore.getItemAsync('session_token'); + + if (!sessionToken) { + throw new Error('No session token available'); + } + + return { + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${sessionToken}`, + }; + } + + async connectCodespace( + codespaceName?: string, + org?: string, + onEvent?: (event: any) => void + ): Promise { + const headers = await this.getHeaders(); + const baseUrl = org ? `https://${org}.catnip.run` : BASE_URL; + const url = codespaceName + ? `${baseUrl}/v1/codespace?codespace=${encodeURIComponent(codespaceName)}` + : `${baseUrl}/v1/codespace`; + + return new Promise((resolve, reject) => { + // Since React Native doesn't have built-in EventSource, we'll use fetch with streaming + // For production, you'd want to use a library like react-native-sse + fetch(url, { + headers: { + ...headers, + 'Accept': 'text/event-stream', + }, + }) + .then(async (response) => { + if (!response.ok) { + throw new Error(`HTTP ${response.status}: ${response.statusText}`); + } + + const reader = response.body?.getReader(); + if (!reader) { + throw new Error('No response body'); + } + + const decoder = new TextDecoder(); + let buffer = ''; + + while (true) { + const { done, value } = await reader.read(); + if (done) break; + + buffer += decoder.decode(value, { stream: true }); + const lines = buffer.split('\n'); + buffer = lines.pop() || ''; + + for (const line of lines) { + if (line.startsWith('event: ')) { + const eventType = line.substring(7); + const nextLine = lines[lines.indexOf(line) + 1]; + + if (nextLine?.startsWith('data: ')) { + try { + const data = JSON.parse(nextLine.substring(6)); + onEvent?.({ type: eventType, ...data }); + + if (eventType === 'success') { + resolve(); + return; + } else if (eventType === 'error') { + reject(new Error(data.message)); + return; + } + } catch (e) { + console.error('Failed to parse SSE data:', e); + } + } + } + } + } + }) + .catch((error) => { + reject(error); + }); + }); + } + + async getWorkspaces(): Promise { + const headers = await this.getHeaders(); + const response = await fetch(`${BASE_URL}/v1/workspaces`, { headers }); + + if (!response.ok) { + throw new Error('Failed to fetch workspaces'); + } + + return response.json(); + } + + async getWorkspace(id: string): Promise { + const headers = await this.getHeaders(); + const response = await fetch(`${BASE_URL}/v1/workspaces/${id}`, { headers }); + + if (!response.ok) { + throw new Error('Failed to fetch workspace'); + } + + return response.json(); + } + + async sendPrompt(workspaceId: string, prompt: string): Promise { + const headers = await this.getHeaders(); + const response = await fetch(`${BASE_URL}/v1/workspaces/${workspaceId}/prompt`, { + method: 'POST', + headers, + body: JSON.stringify({ prompt }), + }); + + if (!response.ok) { + throw new Error('Failed to send prompt'); + } + } + + async getAuthStatus(): Promise<{ authenticated: boolean; user?: string }> { + try { + const headers = await this.getHeaders(); + const response = await fetch(`${BASE_URL}/v1/auth/status`, { headers }); + + if (!response.ok) { + return { authenticated: false }; + } + + return response.json(); + } catch { + return { authenticated: false }; + } + } +} + +export const api = new CatnipAPI(); \ No newline at end of file From b025a9d8a4dc384b25f2502a13df6c34c9981cc4 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:55:22 +0000 Subject: [PATCH 13/46] Auth Redesign checkpoint: 11 --- catnip-mobile/app/codespace.tsx | 397 -------------------------------- 1 file changed, 397 deletions(-) delete mode 100644 catnip-mobile/app/codespace.tsx diff --git a/catnip-mobile/app/codespace.tsx b/catnip-mobile/app/codespace.tsx deleted file mode 100644 index 3923fffc..00000000 --- a/catnip-mobile/app/codespace.tsx +++ /dev/null @@ -1,397 +0,0 @@ -import { useState, useEffect } from 'react'; -import { View, Text, Pressable, TextInput, ScrollView, StyleSheet, ActivityIndicator } from 'react-native'; -import { SafeAreaView } from 'react-native-safe-area-context'; -import { useRouter } from 'expo-router'; -import { LinearGradient } from 'expo-linear-gradient'; -import { api, CodespaceInfo } from '../lib/api'; -import { useAuth } from '../hooks/useAuth'; - -type Phase = 'connect' | 'connecting' | 'setup' | 'selection' | 'error'; - -export default function CodespaceScreen() { - const router = useRouter(); - const { setCodespaceToken, logout } = useAuth(); - const [phase, setPhase] = useState('connect'); - const [orgName, setOrgName] = useState(''); - const [statusMessage, setStatusMessage] = useState(''); - const [error, setError] = useState(''); - const [codespaces, setCodespaces] = useState([]); - - const handleConnect = async (codespaceName?: string, org?: string) => { - setPhase('connecting'); - setError(''); - setStatusMessage('🔄 Finding your codespace...'); - - try { - await api.connectCodespace(codespaceName, org, (event) => { - if (event.type === 'status') { - setStatusMessage(event.message); - } else if (event.type === 'success') { - setStatusMessage('✅ ' + event.message); - if (event.token) { - setCodespaceToken(event.token); - } - setTimeout(() => { - router.replace('/workspaces'); - }, 1000); - } else if (event.type === 'error') { - setError(event.message); - setPhase('error'); - } else if (event.type === 'setup') { - setPhase('setup'); - setError(event.message); - } else if (event.type === 'multiple') { - setCodespaces(event.codespaces); - setPhase('selection'); - } - }); - } catch (err: any) { - setError(err.message || 'Connection failed'); - setPhase('error'); - } - }; - - const handleLogout = async () => { - await logout(); - router.replace('/auth'); - }; - - if (phase === 'setup') { - return ( - - - - ⚠️ Setup Required - - No Catnip codespaces found. To use Catnip: - - - - 1. Add to your .devcontainer/devcontainer.json: - - - - {`"features": { - "ghcr.io/wandb/catnip/feature:1": {} -}`} - - - 2. Create a new codespace - 3. Return here to connect - - setPhase('connect')} style={styles.secondaryButton}> - Back - - - - - ); - } - - if (phase === 'selection') { - return ( - - - - Select Codespace - Multiple codespaces found: - {codespaces.map((cs, index) => ( - handleConnect(cs.name, orgName)} - > - {cs.name.replace(/-/g, ' ')} - {cs.repository && {cs.repository}} - - Last used: {new Date(cs.lastUsed).toLocaleDateString()} - - - ))} - setPhase('connect')} style={styles.secondaryButton}> - Back - - - - - ); - } - - return ( - - - - 🐱 - Catnip - - {orgName ? `Access codespaces in ${orgName}` : 'Access your GitHub Codespaces'} - - - handleConnect(undefined, orgName || undefined)} - disabled={phase === 'connecting'} - > - - {phase === 'connecting' ? ( - - - Connecting... - - ) : ( - Access My Codespace - )} - - - - {statusMessage ? ( - - {statusMessage} - - ) : null} - - {error ? ( - - {error} - - ) : null} - - - - Or access a specific organization: - - - handleConnect(undefined, orgName)} - disabled={!orgName || phase === 'connecting'} - > - Go - - - - - Logout - - - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#0a0a0a', - }, - scrollContent: { - flexGrow: 1, - justifyContent: 'center', - padding: 24, - }, - card: { - backgroundColor: '#1a1a1a', - borderRadius: 16, - padding: 24, - borderWidth: 1, - borderColor: '#333', - }, - logo: { - fontSize: 48, - textAlign: 'center', - marginBottom: 16, - }, - title: { - fontSize: 28, - fontWeight: 'bold', - color: '#fff', - textAlign: 'center', - marginBottom: 8, - fontFamily: 'Inter-Bold', - }, - subtitle: { - fontSize: 14, - color: '#999', - textAlign: 'center', - marginBottom: 24, - fontFamily: 'Inter-Regular', - }, - button: { - paddingVertical: 14, - borderRadius: 12, - alignItems: 'center', - marginBottom: 16, - }, - buttonDisabled: { - opacity: 0.5, - }, - buttonContent: { - flexDirection: 'row', - alignItems: 'center', - gap: 8, - }, - buttonText: { - color: '#fff', - fontSize: 16, - fontWeight: '600', - fontFamily: 'Inter-SemiBold', - }, - statusBox: { - backgroundColor: 'rgba(59, 130, 246, 0.1)', - borderWidth: 1, - borderColor: 'rgba(59, 130, 246, 0.3)', - borderRadius: 12, - padding: 12, - marginBottom: 16, - }, - statusText: { - color: '#93bbfc', - fontSize: 14, - textAlign: 'center', - fontFamily: 'Inter-Regular', - }, - errorBox: { - backgroundColor: 'rgba(239, 68, 68, 0.1)', - borderWidth: 1, - borderColor: 'rgba(239, 68, 68, 0.3)', - borderRadius: 12, - padding: 12, - marginBottom: 16, - }, - errorText: { - color: '#fca5a5', - fontSize: 14, - textAlign: 'center', - fontFamily: 'Inter-Regular', - }, - divider: { - height: 1, - backgroundColor: '#333', - marginVertical: 24, - }, - orText: { - color: '#999', - fontSize: 14, - marginBottom: 16, - fontFamily: 'Inter-Regular', - }, - inputContainer: { - flexDirection: 'row', - gap: 8, - marginBottom: 24, - }, - input: { - flex: 1, - backgroundColor: '#0a0a0a', - borderWidth: 1, - borderColor: '#333', - borderRadius: 12, - paddingHorizontal: 16, - paddingVertical: 12, - color: '#fff', - fontSize: 14, - fontFamily: 'Inter-Regular', - }, - goButton: { - backgroundColor: '#4b5563', - paddingHorizontal: 24, - borderRadius: 12, - justifyContent: 'center', - }, - goButtonText: { - color: '#fff', - fontSize: 14, - fontWeight: '600', - fontFamily: 'Inter-SemiBold', - }, - logoutButton: { - alignItems: 'center', - }, - logoutText: { - color: '#ef4444', - fontSize: 14, - fontFamily: 'Inter-Regular', - }, - cardTitle: { - fontSize: 20, - fontWeight: 'bold', - color: '#fff', - marginBottom: 8, - fontFamily: 'Inter-Bold', - }, - description: { - fontSize: 14, - color: '#999', - marginBottom: 24, - fontFamily: 'Inter-Regular', - }, - setupSteps: { - marginBottom: 24, - }, - stepText: { - color: '#ccc', - fontSize: 14, - marginBottom: 12, - fontFamily: 'Inter-Regular', - }, - codeBlock: { - backgroundColor: '#0a0a0a', - borderRadius: 8, - padding: 12, - marginVertical: 8, - }, - codeText: { - color: '#4ade80', - fontFamily: 'monospace', - fontSize: 12, - }, - secondaryButton: { - backgroundColor: '#333', - paddingVertical: 14, - borderRadius: 12, - alignItems: 'center', - }, - secondaryButtonText: { - color: '#ccc', - fontSize: 16, - fontWeight: '600', - fontFamily: 'Inter-SemiBold', - }, - codespaceItem: { - backgroundColor: '#0a0a0a', - borderRadius: 12, - padding: 16, - marginBottom: 12, - borderWidth: 1, - borderColor: '#333', - }, - codespaceTitle: { - color: '#fff', - fontSize: 16, - fontWeight: '600', - marginBottom: 4, - fontFamily: 'Inter-SemiBold', - }, - codespaceRepo: { - color: '#3b82f6', - fontSize: 14, - marginBottom: 4, - fontFamily: 'Inter-Regular', - }, - codespaceDate: { - color: '#666', - fontSize: 12, - fontFamily: 'Inter-Regular', - }, -}); \ No newline at end of file From 4d7a7ee5a3df2fdef2249dbe6c558f30ee3cb091 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:56:22 +0000 Subject: [PATCH 14/46] Auth Redesign checkpoint: 12 --- catnip-mobile/app/codespace.tsx | 379 ++++++++++++++++++++++++++++++++ 1 file changed, 379 insertions(+) create mode 100644 catnip-mobile/app/codespace.tsx diff --git a/catnip-mobile/app/codespace.tsx b/catnip-mobile/app/codespace.tsx new file mode 100644 index 00000000..486a0ae6 --- /dev/null +++ b/catnip-mobile/app/codespace.tsx @@ -0,0 +1,379 @@ +import { useState } from 'react'; +import { View, Text, Pressable, TextInput, ScrollView, StyleSheet, ActivityIndicator } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useRouter } from 'expo-router'; +import { LinearGradient } from 'expo-linear-gradient'; +import { api, CodespaceInfo } from '../lib/api'; +import { useAuth } from '../hooks/useAuth'; + +type Phase = 'connect' | 'connecting' | 'setup' | 'selection' | 'error'; + +export default function CodespaceScreen() { + const router = useRouter(); + const { logout } = useAuth(); + const [phase, setPhase] = useState('connect'); + const [orgName, setOrgName] = useState(''); + const [statusMessage, setStatusMessage] = useState(''); + const [error, setError] = useState(''); + const [codespaces, setCodespaces] = useState([]); + + const handleConnect = async (codespaceName?: string, org?: string) => { + setPhase('connecting'); + setError(''); + setStatusMessage('🔄 Finding your codespace...'); + + try { + await api.connectCodespace(codespaceName, org, (event) => { + if (event.type === 'status') { + setStatusMessage(event.message); + } else if (event.type === 'success') { + setStatusMessage('✅ ' + event.message); + // Navigate to workspaces after successful connection + setTimeout(() => { + router.replace('/workspaces'); + }, 1000); + } else if (event.type === 'error') { + setError(event.message); + setPhase('error'); + } else if (event.type === 'setup') { + setPhase('setup'); + setError(event.message); + } else if (event.type === 'multiple') { + setCodespaces(event.codespaces); + setPhase('selection'); + } + }); + } catch (err: any) { + setError(err.message || 'Connection failed'); + setPhase('error'); + } + }; + + const handleLogout = async () => { + await logout(); + router.replace('/auth'); + }; + + if (phase === 'setup') { + return ( + + + + ⚠️ Setup Required + + No Catnip codespaces found. To use Catnip: + + + + 1. Add to your .devcontainer/devcontainer.json: + + + + {`"features": { + "ghcr.io/wandb/catnip/feature:1": {} +}`} + + + 2. Create a new codespace + 3. Return here to connect + + setPhase('connect')} style={styles.secondaryButton}> + Back + + + + + ); + } + + if (phase === 'selection') { + return ( + + + + Select Codespace + Multiple codespaces found: + {codespaces.map((cs, index) => ( + handleConnect(cs.name, orgName)} + > + {cs.name.replace(/-/g, ' ')} + {cs.repository && {cs.repository}} + + Last used: {new Date(cs.lastUsed).toLocaleDateString()} + + + ))} + setPhase('connect')} style={styles.secondaryButton}> + Back + + + + + ); + } + + return ( + + + + 🐱 + Catnip + + {orgName ? `Access codespaces in ${orgName}` : 'Access your GitHub Codespaces'} + + + handleConnect(undefined, orgName || undefined)} + disabled={phase === 'connecting'} + > + + {phase === 'connecting' ? ( + + + Connecting... + + ) : ( + Access My Codespace + )} + + + + {statusMessage ? ( + + {statusMessage} + + ) : null} + + {error ? ( + + {error} + + ) : null} + + + + Or access a specific organization: + + + handleConnect(undefined, orgName)} + disabled={!orgName || phase === 'connecting'} + > + Go + + + + + Logout + + + + + ); +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: '#0a0a0a', + }, + scrollContent: { + flexGrow: 1, + justifyContent: 'center', + padding: 24, + }, + card: { + backgroundColor: '#1a1a1a', + borderRadius: 16, + padding: 24, + borderWidth: 1, + borderColor: '#333', + }, + logo: { + fontSize: 48, + textAlign: 'center', + marginBottom: 16, + }, + title: { + fontSize: 28, + fontWeight: 'bold', + color: '#fff', + textAlign: 'center', + marginBottom: 8, + }, + subtitle: { + fontSize: 14, + color: '#999', + textAlign: 'center', + marginBottom: 24, + }, + button: { + paddingVertical: 14, + borderRadius: 12, + alignItems: 'center', + marginBottom: 16, + }, + buttonDisabled: { + opacity: 0.5, + }, + buttonContent: { + flexDirection: 'row', + alignItems: 'center', + gap: 8, + }, + buttonText: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + }, + statusBox: { + backgroundColor: 'rgba(59, 130, 246, 0.1)', + borderWidth: 1, + borderColor: 'rgba(59, 130, 246, 0.3)', + borderRadius: 12, + padding: 12, + marginBottom: 16, + }, + statusText: { + color: '#93bbfc', + fontSize: 14, + textAlign: 'center', + }, + errorBox: { + backgroundColor: 'rgba(239, 68, 68, 0.1)', + borderWidth: 1, + borderColor: 'rgba(239, 68, 68, 0.3)', + borderRadius: 12, + padding: 12, + marginBottom: 16, + }, + errorText: { + color: '#fca5a5', + fontSize: 14, + textAlign: 'center', + }, + divider: { + height: 1, + backgroundColor: '#333', + marginVertical: 24, + }, + orText: { + color: '#999', + fontSize: 14, + marginBottom: 16, + }, + inputContainer: { + flexDirection: 'row', + gap: 8, + marginBottom: 24, + }, + input: { + flex: 1, + backgroundColor: '#0a0a0a', + borderWidth: 1, + borderColor: '#333', + borderRadius: 12, + paddingHorizontal: 16, + paddingVertical: 12, + color: '#fff', + fontSize: 14, + }, + goButton: { + backgroundColor: '#4b5563', + paddingHorizontal: 24, + borderRadius: 12, + justifyContent: 'center', + }, + goButtonText: { + color: '#fff', + fontSize: 14, + fontWeight: '600', + }, + logoutButton: { + alignItems: 'center', + }, + logoutText: { + color: '#ef4444', + fontSize: 14, + }, + cardTitle: { + fontSize: 20, + fontWeight: 'bold', + color: '#fff', + marginBottom: 8, + }, + description: { + fontSize: 14, + color: '#999', + marginBottom: 24, + }, + setupSteps: { + marginBottom: 24, + }, + stepText: { + color: '#ccc', + fontSize: 14, + marginBottom: 12, + }, + codeBlock: { + backgroundColor: '#0a0a0a', + borderRadius: 8, + padding: 12, + marginVertical: 8, + }, + codeText: { + color: '#4ade80', + fontFamily: 'monospace', + fontSize: 12, + }, + secondaryButton: { + backgroundColor: '#333', + paddingVertical: 14, + borderRadius: 12, + alignItems: 'center', + }, + secondaryButtonText: { + color: '#ccc', + fontSize: 16, + fontWeight: '600', + }, + codespaceItem: { + backgroundColor: '#0a0a0a', + borderRadius: 12, + padding: 16, + marginBottom: 12, + borderWidth: 1, + borderColor: '#333', + }, + codespaceTitle: { + color: '#fff', + fontSize: 16, + fontWeight: '600', + marginBottom: 4, + }, + codespaceRepo: { + color: '#3b82f6', + fontSize: 14, + marginBottom: 4, + }, + codespaceDate: { + color: '#666', + fontSize: 12, + }, +}); \ No newline at end of file From e277dabcce964af66d76116fa0c471caa7a1541e Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:58:53 +0000 Subject: [PATCH 15/46] Auth Redesign checkpoint: 13 --- catnip-mobile/app/auth.tsx | 59 ++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/catnip-mobile/app/auth.tsx b/catnip-mobile/app/auth.tsx index 43485d91..3267df0d 100644 --- a/catnip-mobile/app/auth.tsx +++ b/catnip-mobile/app/auth.tsx @@ -1,9 +1,15 @@ -import { View, Text, Pressable, StyleSheet, ActivityIndicator } from 'react-native'; -import { SafeAreaView } from 'react-native-safe-area-context'; -import { useRouter } from 'expo-router'; -import { useState } from 'react'; -import { useAuth } from '../hooks/useAuth'; -import { LinearGradient } from 'expo-linear-gradient'; +import { + View, + Text, + Pressable, + StyleSheet, + ActivityIndicator, +} from "react-native"; +import { SafeAreaView } from "react-native-safe-area-context"; +import { useRouter } from "expo-router"; +import { useState } from "react"; +import { useAuth } from "../hooks/useAuth"; +import { LinearGradient } from "expo-linear-gradient"; export default function AuthScreen() { const router = useRouter(); @@ -15,10 +21,10 @@ export default function AuthScreen() { try { const success = await login(); if (success) { - router.replace('/codespace'); + router.replace("/codespace"); } } catch (error) { - console.error('Login failed:', error); + console.error("Login failed:", error); } finally { setIsLoading(false); } @@ -35,13 +41,14 @@ export default function AuthScreen() { - Logging into GitHub allows us to start codespaces you have added catnip to + Logging into GitHub allows us to start codespaces you have added + catnip to Date: Thu, 18 Sep 2025 09:59:23 +0000 Subject: [PATCH 16/46] Auth Redesign checkpoint: 14 --- catnip-mobile/app/workspaces.tsx | 175 ++++++++++++++++++------------- 1 file changed, 100 insertions(+), 75 deletions(-) diff --git a/catnip-mobile/app/workspaces.tsx b/catnip-mobile/app/workspaces.tsx index 51d5b607..c76ee602 100644 --- a/catnip-mobile/app/workspaces.tsx +++ b/catnip-mobile/app/workspaces.tsx @@ -1,35 +1,58 @@ -import { useState, useEffect } from 'react'; -import { View, Text, FlatList, Pressable, RefreshControl, StyleSheet, ActivityIndicator } from 'react-native'; -import { SafeAreaView } from 'react-native-safe-area-context'; -import { useRouter } from 'expo-router'; -import { api, WorkspaceInfo } from '../lib/api'; +import { useState, useEffect } from "react"; +import { + View, + Text, + FlatList, + Pressable, + RefreshControl, + StyleSheet, + ActivityIndicator, +} from "react-native"; +import { SafeAreaView } from "react-native-safe-area-context"; +import { useRouter } from "expo-router"; +import { api, WorkspaceInfo } from "../lib/api"; -function WorkspaceCard({ workspace, onPress }: { workspace: WorkspaceInfo; onPress: () => void }) { +function WorkspaceCard({ + workspace, + onPress, +}: { + workspace: WorkspaceInfo; + onPress: () => void; +}) { const getStatusColor = () => { switch (workspace.claude_activity_state) { - case 'active': return '#22c55e'; - case 'running': return '#eab308'; - default: return '#666'; + case "active": + return "#22c55e"; + case "running": + return "#eab308"; + default: + return "#666"; } }; const getTitle = () => { - const parts = workspace.name.split('/'); + const parts = workspace.name.split("/"); return parts[1] || workspace.name; }; - const cleanBranch = workspace.branch.startsWith('/') + const cleanBranch = workspace.branch.startsWith("/") ? workspace.branch.slice(1) : workspace.branch; - const completedTodos = workspace.todos?.filter(t => t.status === 'completed').length || 0; + const completedTodos = + workspace.todos?.filter((t) => t.status === "completed").length || 0; const totalTodos = workspace.todos?.length || 0; return ( - + {getTitle()} {workspace.commit_count && workspace.commit_count > 0 && ( @@ -56,7 +79,7 @@ function WorkspaceCard({ workspace, onPress }: { workspace: WorkspaceInfo; onPre @@ -65,7 +88,7 @@ function WorkspaceCard({ workspace, onPress }: { workspace: WorkspaceInfo; onPre - {workspace.claude_activity_state === 'active' ? 'Continue' : 'Open'} + {workspace.claude_activity_state === "active" ? "Continue" : "Open"} @@ -85,13 +108,19 @@ export default function WorkspacesScreen() { const loadWorkspaces = async () => { try { const data = await api.getWorkspaces(); - setWorkspaces(data.sort((a, b) => { - const aTime = new Date(a.last_accessed || a.created_at || 0).getTime(); - const bTime = new Date(b.last_accessed || b.created_at || 0).getTime(); - return bTime - aTime; - })); + setWorkspaces( + data.sort((a, b) => { + const aTime = new Date( + a.last_accessed || a.created_at || 0, + ).getTime(); + const bTime = new Date( + b.last_accessed || b.created_at || 0, + ).getTime(); + return bTime - aTime; + }), + ); } catch (error) { - console.error('Failed to load workspaces:', error); + console.error("Failed to load workspaces:", error); } finally { setIsLoading(false); setIsRefreshing(false); @@ -123,23 +152,30 @@ export default function WorkspacesScreen() { No workspaces - Create a workspace to get started + + Create a workspace to get started + ); } return ( - + Workspaces - {workspaces.length} workspaces + + {workspaces.length} workspaces + item.id} renderItem={({ item }) => ( - handleWorkspacePress(item)} /> + handleWorkspacePress(item)} + /> )} contentContainerStyle={styles.listContent} refreshControl={ @@ -147,7 +183,7 @@ export default function WorkspacesScreen() { refreshing={isRefreshing} onRefresh={handleRefresh} tintColor="#7c3aed" - colors={['#7c3aed']} + colors={["#7c3aed"]} /> } /> @@ -158,46 +194,44 @@ export default function WorkspacesScreen() { const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: '#0a0a0a', + backgroundColor: "#0a0a0a", }, header: { paddingHorizontal: 20, paddingVertical: 16, borderBottomWidth: 1, - borderBottomColor: '#1a1a1a', + borderBottomColor: "#1a1a1a", }, headerTitle: { fontSize: 24, - fontWeight: 'bold', - color: '#fff', + fontWeight: "bold", + color: "#fff", marginBottom: 4, - fontFamily: 'Inter-Bold', }, headerSubtitle: { fontSize: 14, - color: '#666', - fontFamily: 'Inter-Regular', + color: "#666", }, listContent: { padding: 16, }, card: { - backgroundColor: '#1a1a1a', + backgroundColor: "#1a1a1a", borderRadius: 16, padding: 16, marginBottom: 12, borderWidth: 1, - borderColor: '#333', + borderColor: "#333", }, cardHeader: { - flexDirection: 'row', - justifyContent: 'space-between', - alignItems: 'center', + flexDirection: "row", + justifyContent: "space-between", + alignItems: "center", marginBottom: 8, }, cardTitleRow: { - flexDirection: 'row', - alignItems: 'center', + flexDirection: "row", + alignItems: "center", flex: 1, }, statusIndicator: { @@ -208,92 +242,83 @@ const styles = StyleSheet.create({ }, cardTitle: { fontSize: 18, - fontWeight: '600', - color: '#fff', - fontFamily: 'Inter-SemiBold', + fontWeight: "600", + color: "#fff", }, commitCount: { fontSize: 12, - color: '#666', - fontFamily: 'monospace', + color: "#666", }, cardSubtitle: { fontSize: 14, - color: '#666', + color: "#666", marginBottom: 12, - fontFamily: 'Inter-Regular', }, badge: { - backgroundColor: '#333', + backgroundColor: "#333", borderRadius: 6, paddingHorizontal: 8, paddingVertical: 4, - alignSelf: 'flex-start', + alignSelf: "flex-start", marginBottom: 12, }, badgeText: { fontSize: 11, - color: '#999', - textTransform: 'uppercase', - fontFamily: 'Inter-Medium', + color: "#999", + textTransform: "uppercase", }, progressContainer: { marginBottom: 12, }, progressText: { fontSize: 12, - color: '#999', + color: "#999", marginBottom: 6, - fontFamily: 'Inter-Regular', }, progressBar: { height: 4, - backgroundColor: '#333', + backgroundColor: "#333", borderRadius: 2, - overflow: 'hidden', + overflow: "hidden", }, progressFill: { - height: '100%', - backgroundColor: '#7c3aed', + height: "100%", + backgroundColor: "#7c3aed", }, cardButton: { - backgroundColor: '#7c3aed', + backgroundColor: "#7c3aed", paddingVertical: 12, borderRadius: 12, - alignItems: 'center', + alignItems: "center", }, cardButtonText: { - color: '#fff', + color: "#fff", fontSize: 16, - fontWeight: '600', - fontFamily: 'Inter-SemiBold', + fontWeight: "600", }, loadingContainer: { flex: 1, - justifyContent: 'center', - alignItems: 'center', + justifyContent: "center", + alignItems: "center", }, loadingText: { - color: '#666', + color: "#666", marginTop: 16, fontSize: 16, - fontFamily: 'Inter-Regular', }, emptyContainer: { flex: 1, - justifyContent: 'center', - alignItems: 'center', + justifyContent: "center", + alignItems: "center", }, emptyTitle: { fontSize: 20, - fontWeight: '600', - color: '#fff', + fontWeight: "600", + color: "#fff", marginBottom: 8, - fontFamily: 'Inter-SemiBold', }, emptySubtitle: { fontSize: 16, - color: '#666', - fontFamily: 'Inter-Regular', + color: "#666", }, -}); \ No newline at end of file +}); From 0892a2504c21279d6cacb4051f2cb92c7bd161a9 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 09:59:53 +0000 Subject: [PATCH 17/46] Auth Redesign checkpoint: 15 --- catnip-mobile/app/workspace/[id].tsx | 230 +++++++++++++-------------- 1 file changed, 111 insertions(+), 119 deletions(-) diff --git a/catnip-mobile/app/workspace/[id].tsx b/catnip-mobile/app/workspace/[id].tsx index 26886508..65b9930a 100644 --- a/catnip-mobile/app/workspace/[id].tsx +++ b/catnip-mobile/app/workspace/[id].tsx @@ -1,4 +1,4 @@ -import { useState, useEffect, useCallback } from 'react'; +import { useState, useEffect, useCallback } from "react"; import { View, Text, @@ -9,13 +9,13 @@ import { Platform, StyleSheet, ActivityIndicator, -} from 'react-native'; -import { SafeAreaView } from 'react-native-safe-area-context'; -import { useLocalSearchParams, useNavigation } from 'expo-router'; -import { LinearGradient } from 'expo-linear-gradient'; -import { api, WorkspaceInfo, Todo } from '../../lib/api'; +} from "react-native"; +import { SafeAreaView } from "react-native-safe-area-context"; +import { useLocalSearchParams, useNavigation } from "expo-router"; +import { LinearGradient } from "expo-linear-gradient"; +import { api, WorkspaceInfo, Todo } from "../../lib/api"; -type Phase = 'loading' | 'input' | 'working' | 'completed' | 'error'; +type Phase = "loading" | "input" | "working" | "completed" | "error"; function TodoList({ todos }: { todos: Todo[] }) { return ( @@ -25,8 +25,8 @@ function TodoList({ todos }: { todos: Todo[] }) { {todo.content} @@ -41,11 +41,11 @@ export default function WorkspaceDetailScreen() { const navigation = useNavigation(); const [workspace, setWorkspace] = useState(null); - const [phase, setPhase] = useState('loading'); - const [prompt, setPrompt] = useState(''); + const [phase, setPhase] = useState("loading"); + const [prompt, setPrompt] = useState(""); const [showPromptInput, setShowPromptInput] = useState(false); const [isSubmitting, setIsSubmitting] = useState(false); - const [error, setError] = useState(''); + const [error, setError] = useState(""); const loadWorkspace = useCallback(async () => { if (!id) return; @@ -55,17 +55,20 @@ export default function WorkspaceDetailScreen() { setWorkspace(data); // Determine phase based on workspace state - if (data.claude_activity_state === 'active') { - setPhase('working'); - } else if (data.latest_claude_message || (data.todos && data.todos.length > 0)) { - setPhase('completed'); + if (data.claude_activity_state === "active") { + setPhase("working"); + } else if ( + data.latest_claude_message || + (data.todos && data.todos.length > 0) + ) { + setPhase("completed"); } else { - setPhase('input'); + setPhase("input"); } } catch (err: any) { - console.error('Failed to load workspace:', err); - setError(err.message || 'Failed to load workspace'); - setPhase('error'); + console.error("Failed to load workspace:", err); + setError(err.message || "Failed to load workspace"); + setPhase("error"); } }, [id]); @@ -75,7 +78,7 @@ export default function WorkspaceDetailScreen() { // Poll for updates when workspace is active useEffect(() => { - if (phase !== 'working') return; + if (phase !== "working") return; const interval = setInterval(async () => { try { @@ -83,12 +86,14 @@ export default function WorkspaceDetailScreen() { setWorkspace(data); // Check if work is completed - if (data.claude_activity_state === 'inactive' || - (data.todos && data.todos.every(t => t.status === 'completed'))) { - setPhase('completed'); + if ( + data.claude_activity_state === "inactive" || + (data.todos && data.todos.every((t) => t.status === "completed")) + ) { + setPhase("completed"); } } catch (err) { - console.error('Failed to poll workspace:', err); + console.error("Failed to poll workspace:", err); } }, 2000); @@ -98,7 +103,7 @@ export default function WorkspaceDetailScreen() { // Set navigation title useEffect(() => { if (workspace) { - const title = workspace.name.split('/')[1] || workspace.name; + const title = workspace.name.split("/")[1] || workspace.name; navigation.setOptions({ title }); } }, [workspace, navigation]); @@ -107,21 +112,21 @@ export default function WorkspaceDetailScreen() { if (!prompt.trim() || !id) return; setIsSubmitting(true); - setError(''); + setError(""); try { await api.sendPrompt(id, prompt.trim()); - setPrompt(''); + setPrompt(""); setShowPromptInput(false); - setPhase('working'); + setPhase("working"); } catch (err: any) { - setError(err.message || 'Failed to send prompt'); + setError(err.message || "Failed to send prompt"); } finally { setIsSubmitting(false); } }; - if (phase === 'loading') { + if (phase === "loading") { return ( @@ -132,12 +137,12 @@ export default function WorkspaceDetailScreen() { ); } - if (phase === 'error' || !workspace) { + if (phase === "error" || !workspace) { return ( Error - {error || 'Workspace not found'} + {error || "Workspace not found"} Retry @@ -146,19 +151,19 @@ export default function WorkspaceDetailScreen() { ); } - const cleanBranch = workspace.branch.startsWith('/') + const cleanBranch = workspace.branch.startsWith("/") ? workspace.branch.slice(1) : workspace.branch; return ( - + - {workspace.name.split('/')[1] || workspace.name} + {workspace.name.split("/")[1] || workspace.name} {workspace.repository} · {cleanBranch} @@ -170,7 +175,7 @@ export default function WorkspaceDetailScreen() { contentContainerStyle={styles.contentContainer} keyboardShouldPersistTaps="handled" > - {phase === 'input' && ( + {phase === "input" && ( Start Working @@ -188,7 +193,7 @@ export default function WorkspaceDetailScreen() { )} - {phase === 'working' && ( + {phase === "working" && ( @@ -198,7 +203,9 @@ export default function WorkspaceDetailScreen() { {workspace.latest_claude_message && ( Session Context: - {workspace.latest_claude_message} + + {workspace.latest_claude_message} + )} @@ -211,11 +218,13 @@ export default function WorkspaceDetailScreen() { )} - {phase === 'completed' && ( + {phase === "completed" && ( {workspace.latest_claude_message && ( - {workspace.latest_claude_message} + + {workspace.latest_claude_message} + )} @@ -236,18 +245,18 @@ export default function WorkspaceDetailScreen() { - {phase === 'input' && ( + {phase === "input" && ( {isSubmitting ? ( @@ -259,7 +268,7 @@ export default function WorkspaceDetailScreen() { )} - {(phase === 'completed') && ( + {phase === "completed" && ( <> {showPromptInput ? ( @@ -284,7 +293,7 @@ export default function WorkspaceDetailScreen() { style={[styles.secondaryButton, styles.flexButton]} onPress={() => { setShowPromptInput(false); - setPrompt(''); + setPrompt(""); }} > Cancel @@ -310,25 +319,23 @@ export default function WorkspaceDetailScreen() { const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: '#0a0a0a', + backgroundColor: "#0a0a0a", }, header: { paddingHorizontal: 20, paddingVertical: 16, borderBottomWidth: 1, - borderBottomColor: '#1a1a1a', + borderBottomColor: "#1a1a1a", }, headerTitle: { fontSize: 20, - fontWeight: '600', - color: '#fff', + fontWeight: "600", + color: "#fff", marginBottom: 4, - fontFamily: 'Inter-SemiBold', }, headerSubtitle: { fontSize: 14, - color: '#666', - fontFamily: 'Inter-Regular', + color: "#666", }, content: { flex: 1, @@ -337,86 +344,79 @@ const styles = StyleSheet.create({ padding: 20, }, inputSection: { - alignItems: 'center', + alignItems: "center", marginTop: 40, }, sectionTitle: { fontSize: 24, - fontWeight: '600', - color: '#fff', + fontWeight: "600", + color: "#fff", marginBottom: 8, - fontFamily: 'Inter-SemiBold', }, sectionSubtitle: { fontSize: 14, - color: '#666', + color: "#666", marginBottom: 24, - textAlign: 'center', - fontFamily: 'Inter-Regular', + textAlign: "center", }, promptInput: { - width: '100%', - backgroundColor: '#1a1a1a', + width: "100%", + backgroundColor: "#1a1a1a", borderWidth: 1, - borderColor: '#333', + borderColor: "#333", borderRadius: 12, padding: 16, - color: '#fff', + color: "#fff", fontSize: 14, minHeight: 120, - fontFamily: 'Inter-Regular', }, workingSection: { marginTop: 20, }, statusContainer: { - flexDirection: 'row', - alignItems: 'center', + flexDirection: "row", + alignItems: "center", gap: 12, marginBottom: 24, }, statusText: { - color: '#999', + color: "#999", fontSize: 14, - fontFamily: 'Inter-Regular', }, messageBox: { - backgroundColor: 'rgba(124, 58, 237, 0.1)', + backgroundColor: "rgba(124, 58, 237, 0.1)", borderWidth: 1, - borderColor: 'rgba(124, 58, 237, 0.2)', + borderColor: "rgba(124, 58, 237, 0.2)", borderRadius: 12, padding: 16, marginBottom: 24, }, messageLabel: { fontSize: 12, - color: 'rgba(124, 58, 237, 0.8)', + color: "rgba(124, 58, 237, 0.8)", marginBottom: 8, - fontWeight: '600', - fontFamily: 'Inter-SemiBold', + fontWeight: "600", }, messageText: { - color: '#ccc', + color: "#ccc", fontSize: 14, lineHeight: 20, - fontFamily: 'Inter-Regular', }, completedSection: { marginTop: 20, }, sectionLabel: { fontSize: 14, - color: '#999', + color: "#999", marginBottom: 12, - fontWeight: '600', - fontFamily: 'Inter-SemiBold', + fontWeight: "600", }, todosContainer: { gap: 8, }, todoItem: { - flexDirection: 'row', - alignItems: 'flex-start', + flexDirection: "row", + alignItems: "flex-start", gap: 12, paddingVertical: 8, }, @@ -424,118 +424,110 @@ const styles = StyleSheet.create({ width: 8, height: 8, borderRadius: 4, - backgroundColor: '#333', + backgroundColor: "#333", marginTop: 6, }, todoCompleted: { - backgroundColor: '#22c55e', + backgroundColor: "#22c55e", }, todoInProgress: { - backgroundColor: '#eab308', + backgroundColor: "#eab308", }, todoText: { - color: '#ccc', + color: "#ccc", fontSize: 14, flex: 1, lineHeight: 20, - fontFamily: 'Inter-Regular', }, footer: { padding: 20, borderTopWidth: 1, - borderTopColor: '#1a1a1a', + borderTopColor: "#1a1a1a", }, primaryButton: { - backgroundColor: '#7c3aed', + backgroundColor: "#7c3aed", paddingVertical: 14, borderRadius: 12, - alignItems: 'center', + alignItems: "center", }, secondaryButton: { - backgroundColor: '#333', + backgroundColor: "#333", paddingVertical: 14, borderRadius: 12, - alignItems: 'center', + alignItems: "center", }, buttonDisabled: { opacity: 0.5, }, primaryButtonText: { - color: '#fff', + color: "#fff", fontSize: 16, - fontWeight: '600', - fontFamily: 'Inter-SemiBold', + fontWeight: "600", }, secondaryButtonText: { - color: '#ccc', + color: "#ccc", fontSize: 16, - fontWeight: '600', - fontFamily: 'Inter-SemiBold', + fontWeight: "600", }, promptInputContainer: { gap: 12, }, bottomPromptInput: { - backgroundColor: '#1a1a1a', + backgroundColor: "#1a1a1a", borderWidth: 1, - borderColor: '#333', + borderColor: "#333", borderRadius: 12, padding: 12, - color: '#fff', + color: "#fff", fontSize: 14, minHeight: 80, - fontFamily: 'Inter-Regular', }, buttonRow: { - flexDirection: 'row', + flexDirection: "row", gap: 12, }, flexButton: { flex: 1, }, errorBox: { - backgroundColor: 'rgba(239, 68, 68, 0.1)', + backgroundColor: "rgba(239, 68, 68, 0.1)", borderWidth: 1, - borderColor: 'rgba(239, 68, 68, 0.3)', + borderColor: "rgba(239, 68, 68, 0.3)", borderRadius: 12, padding: 12, marginTop: 16, }, errorText: { - color: '#fca5a5', + color: "#fca5a5", fontSize: 14, - fontFamily: 'Inter-Regular', }, centerContainer: { flex: 1, - justifyContent: 'center', - alignItems: 'center', + justifyContent: "center", + alignItems: "center", padding: 20, }, loadingText: { - color: '#666', + color: "#666", marginTop: 16, fontSize: 16, - fontFamily: 'Inter-Regular', }, errorTitle: { fontSize: 20, - fontWeight: '600', - color: '#fff', + fontWeight: "600", + color: "#fff", marginBottom: 8, - fontFamily: 'Inter-SemiBold', }, retryButton: { - backgroundColor: '#7c3aed', + backgroundColor: "#7c3aed", paddingVertical: 12, paddingHorizontal: 24, borderRadius: 12, marginTop: 16, }, retryButtonText: { - color: '#fff', + color: "#fff", fontSize: 16, - fontWeight: '600', - fontFamily: 'Inter-SemiBold', + fontWeight: "600", }, -}); \ No newline at end of file +}); From c942d902cf49439740f53f89a2b1ca2d3a7214f1 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 10:00:24 +0000 Subject: [PATCH 18/46] Auth Redesign checkpoint: 16 --- catnip-mobile/package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/catnip-mobile/package.json b/catnip-mobile/package.json index 7b551e5a..cb66adbd 100644 --- a/catnip-mobile/package.json +++ b/catnip-mobile/package.json @@ -3,10 +3,10 @@ "version": "1.0.0", "main": "expo-router/entry", "scripts": { - "start": "expo start", - "android": "expo start --android", - "ios": "expo start --ios", - "web": "expo start --web", + "start": "npx expo start", + "android": "npx expo start --android", + "ios": "npx expo start --ios", + "web": "npx expo start --web", "reset-project": "node utils/reset-project.js" }, "dependencies": { @@ -37,4 +37,4 @@ "typescript": "^5.7.0" }, "private": true -} \ No newline at end of file +} From b50d5c8cf4a3f53ba95871bec6b677b86b7ed4f7 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 10:02:22 +0000 Subject: [PATCH 19/46] Package Management checkpoint: 1 --- pnpm-workspace.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index fd050a46..024a02c7 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,2 +1,5 @@ +packages: + - 'catnip-mobile' + onlyBuiltDependencies: - '@tailwindcss/oxide' From 9943f858dcaad0eca8a9604e8fc79e97f4dd3d77 Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 10:02:52 +0000 Subject: [PATCH 20/46] Package Management checkpoint: 2 --- pnpm-lock.yaml | 13266 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 9867 insertions(+), 3399 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0670d652..68f08b84 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -76,7 +76,7 @@ importers: version: 0.5.16(tailwindcss@4.1.11) '@tailwindcss/vite': specifier: ^4.1.11 - version: 4.1.11(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)) + version: 4.1.11(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3)) '@tanstack/react-router': specifier: ^1.130.12 version: 1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -170,7 +170,7 @@ importers: devDependencies: '@cloudflare/vite-plugin': specifier: ^1.11.0 - version: 1.11.0(rollup@4.46.2)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3))(workerd@1.20250730.0)(wrangler@4.27.0(@cloudflare/workers-types@4.20250801.0)) + version: 1.11.0(rollup@4.46.2)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3))(workerd@1.20250730.0)(wrangler@4.27.0(@cloudflare/workers-types@4.20250801.0)) '@cloudflare/workers-types': specifier: ^4.20250801.0 version: 4.20250801.0 @@ -182,7 +182,7 @@ importers: version: 7.8.0(@types/node@24.1.0) '@tanstack/router-plugin': specifier: ^1.130.12 - version: 1.130.12(@tanstack/react-router@1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)) + version: 1.130.12(@tanstack/react-router@1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3)) '@testing-library/jest-dom': specifier: ^6.6.4 version: 6.6.4 @@ -203,7 +203,7 @@ importers: version: 19.1.7(@types/react@19.1.9) '@vitejs/plugin-react-swc': specifier: ^3.11.0 - version: 3.11.0(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)) + version: 3.11.0(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3)) '@vitest/coverage-v8': specifier: ^3.2.4 version: 3.2.4(vitest@3.2.4) @@ -263,16 +263,97 @@ importers: version: 8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3) vite: specifier: ^7.0.6 - version: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + version: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) wrangler: specifier: ^4.27.0 version: 4.27.0(@cloudflare/workers-types@4.20250801.0) + catnip-mobile: + dependencies: + expo: + specifier: ~52.0.0 + version: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-auth-session: + specifier: ~6.0.0 + version: 6.0.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-constants: + specifier: ~17.0.0 + version: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + expo-crypto: + specifier: ~14.0.0 + version: 14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-dev-client: + specifier: ~5.0.0 + version: 5.0.20(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-font: + specifier: ~13.0.0 + version: 13.0.4(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react@18.3.1) + expo-linear-gradient: + specifier: ~14.0.0 + version: 14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-linking: + specifier: ~7.0.0 + version: 7.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-router: + specifier: ~4.0.0 + version: 4.0.21(f8460a4f3ebbb07d651874df98bf0dac) + expo-secure-store: + specifier: ~14.0.0 + version: 14.0.1(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-splash-screen: + specifier: ~0.29.0 + version: 0.29.24(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-status-bar: + specifier: ~2.0.0 + version: 2.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-system-ui: + specifier: ~4.0.0 + version: 4.0.9(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-web@0.19.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + expo-web-browser: + specifier: ~14.0.0 + version: 14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + react: + specifier: 18.3.1 + version: 18.3.1 + react-dom: + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) + react-native: + specifier: 0.76.0 + version: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react-native-safe-area-context: + specifier: 4.12.0 + version: 4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-native-screens: + specifier: ~4.1.0 + version: 4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-native-web: + specifier: ~0.19.13 + version: 0.19.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + devDependencies: + '@babel/core': + specifier: ^7.26.0 + version: 7.28.0 + '@types/react': + specifier: ~18.3.12 + version: 18.3.24 + typescript: + specifier: ^5.7.0 + version: 5.8.3 + packages: + '@0no-co/graphql.web@1.2.0': + resolution: {integrity: sha512-/1iHy9TTr63gE1YcR5idjx8UREz1s0kFhydf3bBLCXyqjhkIc6igAzTOx3zPifCwFR87tsh/4Pa9cNts6d2otw==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + graphql: + optional: true + '@adobe/css-tools@4.4.3': resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==} @@ -280,6 +361,9 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@babel/code-frame@7.10.4': + resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -296,6 +380,10 @@ packages: resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==} engines: {node: '>=6.9.0'} + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} + engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.27.3': resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} @@ -310,6 +398,23 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-class-features-plugin@7.28.3': + resolution: {integrity: sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.27.1': + resolution: {integrity: sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.5': + resolution: {integrity: sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/helper-globals@7.28.0': resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} @@ -336,6 +441,12 @@ packages: resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@7.27.1': + resolution: {integrity: sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.27.1': resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==} engines: {node: '>=6.9.0'} @@ -358,3500 +469,6598 @@ packages: resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} + '@babel/helper-wrap-function@7.28.3': + resolution: {integrity: sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==} + engines: {node: '>=6.9.0'} + '@babel/helpers@7.28.2': resolution: {integrity: sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==} engines: {node: '>=6.9.0'} + '@babel/highlight@7.25.9': + resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} + engines: {node: '>=6.9.0'} + '@babel/parser@7.28.0': resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-syntax-jsx@7.27.1': - resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1': + resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 - '@babel/plugin-syntax-typescript@7.27.1': - resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': + resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 - '@babel/plugin-transform-modules-commonjs@7.27.1': - resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': + resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/core': ^7.0.0 - '@babel/plugin-transform-typescript@7.28.0': - resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': + resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3': + resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-class-properties@7.18.6': + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-typescript@7.27.1': - resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==} + '@babel/plugin-proposal-decorators@7.28.0': + resolution: {integrity: sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.28.2': - resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==} + '@babel/plugin-proposal-export-default-from@7.27.1': + resolution: {integrity: sha512-hjlsMBl1aJc5lp8MoCDEZCiYzlgdRAShOjAfRw6X+GlpLpUPU7c3XNLsKFZbQk/1cRzBlJ7CXg3xJAJMrFa1Uw==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@babel/template@7.27.2': - resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 - '@babel/traverse@7.28.0': - resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==} + '@babel/plugin-proposal-optional-chaining@7.21.0': + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. + peerDependencies: + '@babel/core': ^7.0.0-0 - '@babel/types@7.28.2': - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@bcoe/v8-coverage@1.0.2': - resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} - engines: {node: '>=18'} + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@cloudflare/containers@0.0.22': - resolution: {integrity: sha512-/HldChWDtzu9yLTrvGJJjLBYj/oCjXfDUSOP0sewip25dZ4NTT2QYj8aYZk3STDw1oplLEjFLJbksWCuUbAu4Q==} + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@cloudflare/kv-asset-handler@0.4.0': - resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==} - engines: {node: '>=18.0.0'} + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@cloudflare/unenv-preset@2.5.0': - resolution: {integrity: sha512-CZe9B2VbjIQjBTyc+KoZcN1oUcm4T6GgCXoel9O7647djHuSRAa6sM6G+NdxWArATZgeMMbsvn9C50GCcnIatA==} + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} peerDependencies: - unenv: 2.0.0-rc.19 - workerd: ^1.20250722.0 - peerDependenciesMeta: - workerd: - optional: true + '@babel/core': ^7.0.0-0 - '@cloudflare/vite-plugin@1.11.0': - resolution: {integrity: sha512-NVK5n6CTRf0cXItSc+X3UJZ37xKCLybbSEUDYuZNGzvAsbwivgI66eKl7+BKTVq55fo17YbrrIBQAUsQkgopHQ==} + '@babel/plugin-syntax-decorators@7.27.1': + resolution: {integrity: sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==} + engines: {node: '>=6.9.0'} peerDependencies: - vite: ^6.1.0 || ^7.0.0 - wrangler: ^4.27.0 + '@babel/core': ^7.0.0-0 - '@cloudflare/workerd-darwin-64@1.20250730.0': - resolution: {integrity: sha512-X3egNyTjLQaECYe34x8Al7r4oXAhcN3a8+8qcpNCcq1sgtuHIeAwS9potgRR/mwkGfmrJn7nfAyDKC4vrkniQQ==} - engines: {node: '>=16'} - cpu: [x64] - os: [darwin] + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@cloudflare/workerd-darwin-arm64@1.20250730.0': - resolution: {integrity: sha512-/4bvcaGY/9v0rghgKboGiyPKKGQTbDnQ1EeY0oN0SSQH0Cp3OBzqwni/JRvh8TEaD+5azJnSFLlFZj9w7fo+hw==} - engines: {node: '>=16'} - cpu: [arm64] - os: [darwin] + '@babel/plugin-syntax-export-default-from@7.27.1': + resolution: {integrity: sha512-eBC/3KSekshx19+N40MzjWqJd7KTEdOoLesAfa4IDFI8eRz5a47i5Oszus6zG/cwIXN63YhgLOMSSNJx49sENg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@cloudflare/workerd-linux-64@1.20250730.0': - resolution: {integrity: sha512-I4ZsXYdNkqkJnzNFKADMufiLIzRdIRsN7dSH8UCPw2fYp1BbKA10AkKVqitFwBxIY8eOzQ6Vf7c41AjLQmtJqA==} - engines: {node: '>=16'} - cpu: [x64] - os: [linux] + '@babel/plugin-syntax-flow@7.27.1': + resolution: {integrity: sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@cloudflare/workerd-linux-arm64@1.20250730.0': - resolution: {integrity: sha512-tTpO6139jFQ5vxgtBZgS8Y8R1jVidS4n7s37x5xO9bCWLZoL0kTj38UGZ8FENkTeaMxE9Mm//nbQol7TfJ2nZg==} - engines: {node: '>=16'} - cpu: [arm64] - os: [linux] + '@babel/plugin-syntax-import-assertions@7.27.1': + resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@cloudflare/workerd-windows-64@1.20250730.0': - resolution: {integrity: sha512-paVHgocuilMzOU+gEyKR/86j/yI+QzmSHRnqdd8OdQ37Hf6SyPX7kQj6VVNRXbzVHWix1WxaJsXfTGK1LK05wA==} - engines: {node: '>=16'} - cpu: [x64] - os: [win32] + '@babel/plugin-syntax-import-attributes@7.27.1': + resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@cloudflare/workers-types@4.20250801.0': - resolution: {integrity: sha512-BQmMdoOGClY23TesgkR1PeGrPvPsSFD/zW7pDzWZHkOEsqkPk2A91h52bP8GbtKYTl1vdaYjQgJlGsP6Ih4G0w==} + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@cspotcode/source-map-support@0.8.1': - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@date-fns/tz@1.3.1': - resolution: {integrity: sha512-LnBOyuj+piItX/D5BWBSckBsuZyOt7Jg2obGNiObq7qjl1A2/8F+i4RS8/MmkSdnw6hOe6afrJLCWrUWZw5Mlw==} + '@babel/plugin-syntax-jsx@7.27.1': + resolution: {integrity: sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@emnapi/runtime@1.4.5': - resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@emotion/babel-plugin@11.13.5': - resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@emotion/cache@11.14.0': - resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@emotion/css@11.13.5': - resolution: {integrity: sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w==} + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@emotion/hash@0.9.2': - resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@emotion/memoize@0.9.0': - resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@emotion/serialize@1.3.3': - resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@emotion/sheet@1.4.0': - resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@emotion/unitless@0.10.0': - resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + '@babel/plugin-syntax-typescript@7.27.1': + resolution: {integrity: sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@emotion/utils@1.4.2': - resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@emotion/weak-memoize@0.4.0': - resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + '@babel/plugin-transform-arrow-functions@7.27.1': + resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/aix-ppc64@0.25.4': - resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] + '@babel/plugin-transform-async-generator-functions@7.28.0': + resolution: {integrity: sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/aix-ppc64@0.25.8': - resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] + '@babel/plugin-transform-async-to-generator@7.27.1': + resolution: {integrity: sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/android-arm64@0.25.4': - resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] + '@babel/plugin-transform-block-scoped-functions@7.27.1': + resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/android-arm64@0.25.8': - resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] + '@babel/plugin-transform-block-scoping@7.28.4': + resolution: {integrity: sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/android-arm@0.25.4': - resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] + '@babel/plugin-transform-class-properties@7.27.1': + resolution: {integrity: sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/android-arm@0.25.8': - resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] + '@babel/plugin-transform-class-static-block@7.28.3': + resolution: {integrity: sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 - '@esbuild/android-x64@0.25.4': - resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.25.8': - resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] + '@babel/plugin-transform-classes@7.28.4': + resolution: {integrity: sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/darwin-arm64@0.25.4': - resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] + '@babel/plugin-transform-computed-properties@7.27.1': + resolution: {integrity: sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/darwin-arm64@0.25.8': - resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] + '@babel/plugin-transform-destructuring@7.28.0': + resolution: {integrity: sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/darwin-x64@0.25.4': - resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] + '@babel/plugin-transform-dotall-regex@7.27.1': + resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/darwin-x64@0.25.8': - resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] + '@babel/plugin-transform-duplicate-keys@7.27.1': + resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/freebsd-arm64@0.25.4': - resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': + resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@esbuild/freebsd-arm64@0.25.8': - resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] + '@babel/plugin-transform-dynamic-import@7.27.1': + resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/freebsd-x64@0.25.4': - resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] + '@babel/plugin-transform-explicit-resource-management@7.28.0': + resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/freebsd-x64@0.25.8': - resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] + '@babel/plugin-transform-exponentiation-operator@7.27.1': + resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-arm64@0.25.4': - resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] + '@babel/plugin-transform-export-namespace-from@7.27.1': + resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-arm64@0.25.8': - resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] + '@babel/plugin-transform-flow-strip-types@7.27.1': + resolution: {integrity: sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-arm@0.25.4': - resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] + '@babel/plugin-transform-for-of@7.27.1': + resolution: {integrity: sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-arm@0.25.8': - resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] + '@babel/plugin-transform-function-name@7.27.1': + resolution: {integrity: sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-ia32@0.25.4': - resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] + '@babel/plugin-transform-json-strings@7.27.1': + resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-ia32@0.25.8': - resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] + '@babel/plugin-transform-literals@7.27.1': + resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-loong64@0.25.4': - resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] + '@babel/plugin-transform-logical-assignment-operators@7.27.1': + resolution: {integrity: sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-loong64@0.25.8': - resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] + '@babel/plugin-transform-member-expression-literals@7.27.1': + resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-mips64el@0.25.4': - resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] + '@babel/plugin-transform-modules-amd@7.27.1': + resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-mips64el@0.25.8': - resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] + '@babel/plugin-transform-modules-commonjs@7.27.1': + resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-ppc64@0.25.4': - resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] + '@babel/plugin-transform-modules-systemjs@7.27.1': + resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-ppc64@0.25.8': - resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] + '@babel/plugin-transform-modules-umd@7.27.1': + resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-riscv64@0.25.4': - resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': + resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@esbuild/linux-riscv64@0.25.8': - resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] + '@babel/plugin-transform-new-target@7.27.1': + resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-s390x@0.25.4': - resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': + resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-s390x@0.25.8': - resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] + '@babel/plugin-transform-numeric-separator@7.27.1': + resolution: {integrity: sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-x64@0.25.4': - resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] + '@babel/plugin-transform-object-rest-spread@7.28.4': + resolution: {integrity: sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/linux-x64@0.25.8': - resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] + '@babel/plugin-transform-object-super@7.27.1': + resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/netbsd-arm64@0.25.4': - resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] + '@babel/plugin-transform-optional-catch-binding@7.27.1': + resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/netbsd-arm64@0.25.8': - resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] + '@babel/plugin-transform-optional-chaining@7.27.1': + resolution: {integrity: sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/netbsd-x64@0.25.4': - resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] + '@babel/plugin-transform-parameters@7.27.7': + resolution: {integrity: sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/netbsd-x64@0.25.8': - resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] + '@babel/plugin-transform-private-methods@7.27.1': + resolution: {integrity: sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/openbsd-arm64@0.25.4': - resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-arm64@0.25.8': - resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.4': - resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.25.8': - resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openharmony-arm64@0.25.8': - resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - - '@esbuild/sunos-x64@0.25.4': - resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] + '@babel/plugin-transform-private-property-in-object@7.27.1': + resolution: {integrity: sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/sunos-x64@0.25.8': - resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] + '@babel/plugin-transform-property-literals@7.27.1': + resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-arm64@0.25.4': - resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] + '@babel/plugin-transform-react-display-name@7.28.0': + resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-arm64@0.25.8': - resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] + '@babel/plugin-transform-react-jsx-development@7.27.1': + resolution: {integrity: sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-ia32@0.25.4': - resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] + '@babel/plugin-transform-react-jsx-self@7.27.1': + resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-ia32@0.25.8': - resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] + '@babel/plugin-transform-react-jsx-source@7.27.1': + resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-x64@0.25.4': - resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] + '@babel/plugin-transform-react-jsx@7.27.1': + resolution: {integrity: sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@esbuild/win32-x64@0.25.8': - resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] + '@babel/plugin-transform-react-pure-annotations@7.27.1': + resolution: {integrity: sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint-community/eslint-utils@4.7.0': - resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@babel/plugin-transform-regenerator@7.28.4': + resolution: {integrity: sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==} + engines: {node: '>=6.9.0'} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@babel/core': ^7.0.0-0 - '@eslint-community/regexpp@4.12.1': - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@babel/plugin-transform-regexp-modifiers@7.27.1': + resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@eslint-react/ast@1.52.3': - resolution: {integrity: sha512-71afQeBz0t5FqxLPfOgfQy2703t4T4tM5ooF/swIfUljCQxrFvIYivzYU67wrwLSnmkSfFJKp99bUCz7L3IP4Q==} - engines: {node: '>=18.18.0'} + '@babel/plugin-transform-reserved-words@7.27.1': + resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint-react/core@1.52.3': - resolution: {integrity: sha512-N/fY3q1V0F81OzKGn0ZopmHY+OQHYQiS49MvpSWhNciL+TDxOo4CSt+wayMz5/9G/B/PwGB68eprjow0AaTYzA==} - engines: {node: '>=18.18.0'} + '@babel/plugin-transform-runtime@7.28.3': + resolution: {integrity: sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint-react/eff@1.52.3': - resolution: {integrity: sha512-CU07yUuHrrBbb8C82via3GrAXkSMbcpxd6f18f/jjEmMAXzKbN2yq1t0GfG7iwIyZexDZ7R3QBa9ksk6iwtDAA==} - engines: {node: '>=18.18.0'} + '@babel/plugin-transform-shorthand-properties@7.27.1': + resolution: {integrity: sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint-react/kit@1.52.3': - resolution: {integrity: sha512-IOsfaRSih7VdL9ZDjuqc7kjOlHOQOaK6hkSENK64dUcvcl6YwHk8/JXfV/glHTp3JxXrPSazBrnZKNXk0DzjKg==} - engines: {node: '>=18.18.0'} + '@babel/plugin-transform-spread@7.27.1': + resolution: {integrity: sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint-react/shared@1.52.3': - resolution: {integrity: sha512-+0/2SOkNxLKBtYVLx/BCNo5xTn+dxkzP6C63gQ2ehNudMAt3zf2DouD62cHSSbl+eSAgc0zWYg8ssm5ksLN4xw==} - engines: {node: '>=18.18.0'} + '@babel/plugin-transform-sticky-regex@7.27.1': + resolution: {integrity: sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint-react/var@1.52.3': - resolution: {integrity: sha512-i2dfgoH93MHJNXqzS0vYIIpI2e6djIfzdnpMRHUyBYjTHFSPapE7RhcHFrAVPUrd85cUxIPW3pkTKAhkhUhYeA==} - engines: {node: '>=18.18.0'} + '@babel/plugin-transform-template-literals@7.27.1': + resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint/config-array@0.21.0': - resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@babel/plugin-transform-typeof-symbol@7.27.1': + resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint/config-helpers@0.3.0': - resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@babel/plugin-transform-typescript@7.28.0': + resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint/core@0.15.1': - resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@babel/plugin-transform-unicode-escapes@7.27.1': + resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint/eslintrc@3.3.1': - resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@babel/plugin-transform-unicode-property-regex@7.27.1': + resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint/js@9.32.0': - resolution: {integrity: sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@babel/plugin-transform-unicode-regex@7.27.1': + resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@eslint/object-schema@2.1.6': - resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@babel/plugin-transform-unicode-sets-regex@7.27.1': + resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 - '@eslint/plugin-kit@0.3.4': - resolution: {integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@babel/preset-env@7.28.3': + resolution: {integrity: sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@floating-ui/core@1.7.3': - resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} + '@babel/preset-flow@7.27.1': + resolution: {integrity: sha512-ez3a2it5Fn6P54W8QkbfIyyIbxlXvcxyWHHvno1Wg0Ej5eiJY5hBb8ExttoIOJJk7V2dZE6prP7iby5q2aQ0Lg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@floating-ui/dom@1.7.3': - resolution: {integrity: sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==} + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@floating-ui/react-dom@2.1.5': - resolution: {integrity: sha512-HDO/1/1oH9fjj4eLgegrlH3dklZpHtUYYFiVwMUwfGvk9jWDRWqkklA2/NFScknrcNSspbV868WjXORvreDX+Q==} + '@babel/preset-react@7.27.1': + resolution: {integrity: sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==} + engines: {node: '>=6.9.0'} peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' + '@babel/core': ^7.0.0-0 - '@floating-ui/utils@0.2.10': - resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + '@babel/preset-typescript@7.27.1': + resolution: {integrity: sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 - '@hono/oauth-providers@0.8.2': - resolution: {integrity: sha512-xQa9bt6Z/xAMvT+MTHHhXX28nyzqSDZl8LzszM071dIzoEcBx/NwZLnZjPm+7ZiRZb/2E9tiP5GMbBimtYrEHg==} - engines: {node: '>=18.4.0'} + '@babel/register@7.28.3': + resolution: {integrity: sha512-CieDOtd8u208eI49bYl4z1J22ySFw87IGwE+IswFEExH7e3rLgKb0WNQeumnacQ1+VoDJLYI5QFA3AJZuyZQfA==} + engines: {node: '>=6.9.0'} peerDependencies: - hono: '>=3.*' + '@babel/core': ^7.0.0-0 - '@humanfs/core@0.19.1': - resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} - engines: {node: '>=18.18.0'} + '@babel/runtime@7.28.2': + resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==} + engines: {node: '>=6.9.0'} - '@humanfs/node@0.16.6': - resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} - engines: {node: '>=18.18.0'} + '@babel/template@7.27.2': + resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} + engines: {node: '>=6.9.0'} - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + '@babel/traverse@7.28.0': + resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==} + engines: {node: '>=6.9.0'} - '@humanwhocodes/retry@0.3.1': - resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} - engines: {node: '>=18.18'} + '@babel/traverse@7.28.4': + resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} + engines: {node: '>=6.9.0'} - '@humanwhocodes/retry@0.4.3': - resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} - engines: {node: '>=18.18'} + '@babel/types@7.28.2': + resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} + engines: {node: '>=6.9.0'} - '@img/sharp-darwin-arm64@0.33.5': - resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [darwin] + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} + engines: {node: '>=6.9.0'} - '@img/sharp-darwin-x64@0.33.5': - resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [darwin] + '@bcoe/v8-coverage@1.0.2': + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} - '@img/sharp-libvips-darwin-arm64@1.0.4': - resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} - cpu: [arm64] - os: [darwin] + '@cloudflare/containers@0.0.22': + resolution: {integrity: sha512-/HldChWDtzu9yLTrvGJJjLBYj/oCjXfDUSOP0sewip25dZ4NTT2QYj8aYZk3STDw1oplLEjFLJbksWCuUbAu4Q==} - '@img/sharp-libvips-darwin-x64@1.0.4': - resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + '@cloudflare/kv-asset-handler@0.4.0': + resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==} + engines: {node: '>=18.0.0'} + + '@cloudflare/unenv-preset@2.5.0': + resolution: {integrity: sha512-CZe9B2VbjIQjBTyc+KoZcN1oUcm4T6GgCXoel9O7647djHuSRAa6sM6G+NdxWArATZgeMMbsvn9C50GCcnIatA==} + peerDependencies: + unenv: 2.0.0-rc.19 + workerd: ^1.20250722.0 + peerDependenciesMeta: + workerd: + optional: true + + '@cloudflare/vite-plugin@1.11.0': + resolution: {integrity: sha512-NVK5n6CTRf0cXItSc+X3UJZ37xKCLybbSEUDYuZNGzvAsbwivgI66eKl7+BKTVq55fo17YbrrIBQAUsQkgopHQ==} + peerDependencies: + vite: ^6.1.0 || ^7.0.0 + wrangler: ^4.27.0 + + '@cloudflare/workerd-darwin-64@1.20250730.0': + resolution: {integrity: sha512-X3egNyTjLQaECYe34x8Al7r4oXAhcN3a8+8qcpNCcq1sgtuHIeAwS9potgRR/mwkGfmrJn7nfAyDKC4vrkniQQ==} + engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@img/sharp-libvips-linux-arm64@1.0.4': - resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + '@cloudflare/workerd-darwin-arm64@1.20250730.0': + resolution: {integrity: sha512-/4bvcaGY/9v0rghgKboGiyPKKGQTbDnQ1EeY0oN0SSQH0Cp3OBzqwni/JRvh8TEaD+5azJnSFLlFZj9w7fo+hw==} + engines: {node: '>=16'} cpu: [arm64] - os: [linux] - - '@img/sharp-libvips-linux-arm@1.0.5': - resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} - cpu: [arm] - os: [linux] - - '@img/sharp-libvips-linux-s390x@1.0.4': - resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} - cpu: [s390x] - os: [linux] + os: [darwin] - '@img/sharp-libvips-linux-x64@1.0.4': - resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + '@cloudflare/workerd-linux-64@1.20250730.0': + resolution: {integrity: sha512-I4ZsXYdNkqkJnzNFKADMufiLIzRdIRsN7dSH8UCPw2fYp1BbKA10AkKVqitFwBxIY8eOzQ6Vf7c41AjLQmtJqA==} + engines: {node: '>=16'} cpu: [x64] os: [linux] - '@img/sharp-libvips-linuxmusl-arm64@1.0.4': - resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + '@cloudflare/workerd-linux-arm64@1.20250730.0': + resolution: {integrity: sha512-tTpO6139jFQ5vxgtBZgS8Y8R1jVidS4n7s37x5xO9bCWLZoL0kTj38UGZ8FENkTeaMxE9Mm//nbQol7TfJ2nZg==} + engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@img/sharp-libvips-linuxmusl-x64@1.0.4': - resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + '@cloudflare/workerd-windows-64@1.20250730.0': + resolution: {integrity: sha512-paVHgocuilMzOU+gEyKR/86j/yI+QzmSHRnqdd8OdQ37Hf6SyPX7kQj6VVNRXbzVHWix1WxaJsXfTGK1LK05wA==} + engines: {node: '>=16'} cpu: [x64] - os: [linux] + os: [win32] - '@img/sharp-linux-arm64@0.33.5': - resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] + '@cloudflare/workers-types@4.20250801.0': + resolution: {integrity: sha512-BQmMdoOGClY23TesgkR1PeGrPvPsSFD/zW7pDzWZHkOEsqkPk2A91h52bP8GbtKYTl1vdaYjQgJlGsP6Ih4G0w==} - '@img/sharp-linux-arm@0.33.5': - resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm] - os: [linux] + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} - '@img/sharp-linux-s390x@0.33.5': - resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [s390x] - os: [linux] + '@date-fns/tz@1.3.1': + resolution: {integrity: sha512-LnBOyuj+piItX/D5BWBSckBsuZyOt7Jg2obGNiObq7qjl1A2/8F+i4RS8/MmkSdnw6hOe6afrJLCWrUWZw5Mlw==} - '@img/sharp-linux-x64@0.33.5': - resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] + '@emnapi/runtime@1.4.5': + resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==} - '@img/sharp-linuxmusl-arm64@0.33.5': - resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [arm64] - os: [linux] + '@emotion/babel-plugin@11.13.5': + resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} - '@img/sharp-linuxmusl-x64@0.33.5': - resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [linux] + '@emotion/cache@11.14.0': + resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} - '@img/sharp-wasm32@0.33.5': - resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [wasm32] + '@emotion/css@11.13.5': + resolution: {integrity: sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w==} - '@img/sharp-win32-ia32@0.33.5': - resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [ia32] - os: [win32] + '@emotion/hash@0.9.2': + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} - '@img/sharp-win32-x64@0.33.5': - resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - cpu: [x64] - os: [win32] + '@emotion/memoize@0.9.0': + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} - '@inquirer/checkbox@4.2.0': - resolution: {integrity: sha512-fdSw07FLJEU5vbpOPzXo5c6xmMGDzbZE2+niuDHX5N6mc6V0Ebso/q3xiHra4D73+PMsC8MJmcaZKuAAoaQsSA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@emotion/serialize@1.3.3': + resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} - '@inquirer/confirm@5.1.14': - resolution: {integrity: sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@emotion/sheet@1.4.0': + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} - '@inquirer/core@10.1.15': - resolution: {integrity: sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@emotion/unitless@0.10.0': + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} - '@inquirer/editor@4.2.15': - resolution: {integrity: sha512-wst31XT8DnGOSS4nNJDIklGKnf+8shuauVrWzgKegWUe28zfCftcWZ2vktGdzJgcylWSS2SrDnYUb6alZcwnCQ==} - engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + '@emotion/utils@1.4.2': + resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} - '@inquirer/expand@4.0.17': - resolution: {integrity: sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==} + '@emotion/weak-memoize@0.4.0': + resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + + '@esbuild/aix-ppc64@0.25.4': + resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + cpu: [ppc64] + os: [aix] - '@inquirer/figures@1.0.13': - resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} + '@esbuild/aix-ppc64@0.25.8': + resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] - '@inquirer/input@4.2.1': - resolution: {integrity: sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==} + '@esbuild/android-arm64@0.25.4': + resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + cpu: [arm64] + os: [android] - '@inquirer/number@3.0.17': - resolution: {integrity: sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==} + '@esbuild/android-arm64@0.25.8': + resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + cpu: [arm64] + os: [android] - '@inquirer/password@4.0.17': - resolution: {integrity: sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==} + '@esbuild/android-arm@0.25.4': + resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + cpu: [arm] + os: [android] - '@inquirer/prompts@7.8.0': - resolution: {integrity: sha512-JHwGbQ6wjf1dxxnalDYpZwZxUEosT+6CPGD9Zh4sm9WXdtUp9XODCQD3NjSTmu+0OAyxWXNOqf0spjIymJa2Tw==} + '@esbuild/android-arm@0.25.8': + resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + cpu: [arm] + os: [android] - '@inquirer/rawlist@4.1.5': - resolution: {integrity: sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==} + '@esbuild/android-x64@0.25.4': + resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + cpu: [x64] + os: [android] - '@inquirer/search@3.1.0': - resolution: {integrity: sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==} + '@esbuild/android-x64@0.25.8': + resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + cpu: [x64] + os: [android] - '@inquirer/select@4.3.1': - resolution: {integrity: sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==} + '@esbuild/darwin-arm64@0.25.4': + resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true + cpu: [arm64] + os: [darwin] - '@inquirer/type@3.0.8': - resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==} + '@esbuild/darwin-arm64@0.25.8': + resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} engines: {node: '>=18'} - peerDependencies: - '@types/node': '>=18' - peerDependenciesMeta: - '@types/node': - optional: true - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] - '@isaacs/fs-minipass@4.0.1': - resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} - engines: {node: '>=18.0.0'} + '@esbuild/darwin-x64@0.25.4': + resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} + '@esbuild/darwin-x64@0.25.8': + resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] - '@jridgewell/gen-mapping@0.3.12': - resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==} + '@esbuild/freebsd-arm64@0.25.4': + resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + '@esbuild/freebsd-arm64@0.25.8': + resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] - '@jridgewell/sourcemap-codec@1.5.4': - resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} + '@esbuild/freebsd-x64@0.25.4': + resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] - '@jridgewell/trace-mapping@0.3.29': - resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + '@esbuild/freebsd-x64@0.25.8': + resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] - '@jridgewell/trace-mapping@0.3.9': - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@esbuild/linux-arm64@0.25.4': + resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] - '@mjackson/node-fetch-server@0.6.1': - resolution: {integrity: sha512-9ZJnk/DJjt805uv5PPv11haJIW+HHf3YEEyVXv+8iLQxLD/iXA68FH220XoiTPBC4gCg5q+IMadDw8qPqlA5wg==} + '@esbuild/linux-arm64@0.25.8': + resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@esbuild/linux-arm@0.25.4': + resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@esbuild/linux-arm@0.25.8': + resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@esbuild/linux-ia32@0.25.4': + resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] - '@octokit/app@16.0.1': - resolution: {integrity: sha512-kgTeTsWmpUX+s3Fs4EK4w1K+jWCDB6ClxLSWUWTyhlw7+L3jHtuXDR4QtABu2GsmCMdk67xRhruiXotS3ay3Yw==} - engines: {node: '>= 20'} + '@esbuild/linux-ia32@0.25.8': + resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] - '@octokit/auth-app@8.0.2': - resolution: {integrity: sha512-dLTmmA9gUlqiAJZgozfOsZFfpN/OldH3xweb7lqSnngax5Rs+PfO5dDlokaBfc41H1xOtsLYV5QqR0DkBAtPmw==} - engines: {node: '>= 20'} + '@esbuild/linux-loong64@0.25.4': + resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] - '@octokit/auth-oauth-app@9.0.1': - resolution: {integrity: sha512-TthWzYxuHKLAbmxdFZwFlmwVyvynpyPmjwc+2/cI3cvbT7mHtsAW9b1LvQaNnAuWL+pFnqtxdmrU8QpF633i1g==} - engines: {node: '>= 20'} + '@esbuild/linux-loong64@0.25.8': + resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] - '@octokit/auth-oauth-device@8.0.1': - resolution: {integrity: sha512-TOqId/+am5yk9zor0RGibmlqn4V0h8vzjxlw/wYr3qzkQxl8aBPur384D1EyHtqvfz0syeXji4OUvKkHvxk/Gw==} - engines: {node: '>= 20'} + '@esbuild/linux-mips64el@0.25.4': + resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] - '@octokit/auth-oauth-user@6.0.0': - resolution: {integrity: sha512-GV9IW134PHsLhtUad21WIeP9mlJ+QNpFd6V9vuPWmaiN25HEJeEQUcS4y5oRuqCm9iWDLtfIs+9K8uczBXKr6A==} - engines: {node: '>= 20'} + '@esbuild/linux-mips64el@0.25.8': + resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] - '@octokit/auth-token@6.0.0': - resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==} - engines: {node: '>= 20'} + '@esbuild/linux-ppc64@0.25.4': + resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] - '@octokit/auth-unauthenticated@7.0.1': - resolution: {integrity: sha512-qVq1vdjLLZdE8kH2vDycNNjuJRCD1q2oet1nA/GXWaYlpDxlR7rdVhX/K/oszXslXiQIiqrQf+rdhDlA99JdTQ==} - engines: {node: '>= 20'} + '@esbuild/linux-ppc64@0.25.8': + resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] - '@octokit/core@7.0.3': - resolution: {integrity: sha512-oNXsh2ywth5aowwIa7RKtawnkdH6LgU1ztfP9AIUCQCvzysB+WeU8o2kyyosDPwBZutPpjZDKPQGIzzrfTWweQ==} - engines: {node: '>= 20'} + '@esbuild/linux-riscv64@0.25.4': + resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] - '@octokit/endpoint@11.0.0': - resolution: {integrity: sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==} - engines: {node: '>= 20'} + '@esbuild/linux-riscv64@0.25.8': + resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] - '@octokit/graphql@9.0.1': - resolution: {integrity: sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==} - engines: {node: '>= 20'} + '@esbuild/linux-s390x@0.25.4': + resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] - '@octokit/oauth-app@8.0.1': - resolution: {integrity: sha512-QnhMYEQpnYbEPn9cae+wXL2LuPMFglmfeuDJXXsyxIXdoORwkLK8y0cHhd/5du9MbO/zdG/BXixzB7EEwU63eQ==} - engines: {node: '>= 20'} + '@esbuild/linux-s390x@0.25.8': + resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] - '@octokit/oauth-authorization-url@8.0.0': - resolution: {integrity: sha512-7QoLPRh/ssEA/HuHBHdVdSgF8xNLz/Bc5m9fZkArJE5bb6NmVkDm3anKxXPmN1zh6b5WKZPRr3697xKT/yM3qQ==} - engines: {node: '>= 20'} + '@esbuild/linux-x64@0.25.4': + resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] - '@octokit/oauth-methods@6.0.0': - resolution: {integrity: sha512-Q8nFIagNLIZgM2odAraelMcDssapc+lF+y3OlcIPxyAU+knefO8KmozGqfnma1xegRDP4z5M73ABsamn72bOcA==} - engines: {node: '>= 20'} + '@esbuild/linux-x64@0.25.8': + resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] - '@octokit/openapi-types@25.1.0': - resolution: {integrity: sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==} + '@esbuild/netbsd-arm64@0.25.4': + resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] - '@octokit/openapi-webhooks-types@12.0.3': - resolution: {integrity: sha512-90MF5LVHjBedwoHyJsgmaFhEN1uzXyBDRLEBe7jlTYx/fEhPAk3P3DAJsfZwC54m8hAIryosJOL+UuZHB3K3yA==} + '@esbuild/netbsd-arm64@0.25.8': + resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] - '@octokit/plugin-paginate-rest@13.1.1': - resolution: {integrity: sha512-q9iQGlZlxAVNRN2jDNskJW/Cafy7/XE52wjZ5TTvyhyOD904Cvx//DNyoO3J/MXJ0ve3rPoNWKEg5iZrisQSuw==} - engines: {node: '>= 20'} - peerDependencies: - '@octokit/core': '>=6' + '@esbuild/netbsd-x64@0.25.4': + resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] - '@octokit/request-error@7.0.0': - resolution: {integrity: sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==} - engines: {node: '>= 20'} + '@esbuild/netbsd-x64@0.25.8': + resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] - '@octokit/request@10.0.3': - resolution: {integrity: sha512-V6jhKokg35vk098iBqp2FBKunk3kMTXlmq+PtbV9Gl3TfskWlebSofU9uunVKhUN7xl+0+i5vt0TGTG8/p/7HA==} - engines: {node: '>= 20'} + '@esbuild/openbsd-arm64@0.25.4': + resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] - '@octokit/types@14.1.0': - resolution: {integrity: sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==} + '@esbuild/openbsd-arm64@0.25.8': + resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] - '@octokit/webhooks-methods@6.0.0': - resolution: {integrity: sha512-MFlzzoDJVw/GcbfzVC1RLR36QqkTLUf79vLVO3D+xn7r0QgxnFoLZgtrzxiQErAjFUOdH6fas2KeQJ1yr/qaXQ==} - engines: {node: '>= 20'} - - '@octokit/webhooks@14.1.3': - resolution: {integrity: sha512-gcK4FNaROM9NjA0mvyfXl0KPusk7a1BeA8ITlYEZVQCXF5gcETTd4yhAU0Kjzd8mXwYHppzJBWgdBVpIR9wUcQ==} - engines: {node: '>= 20'} + '@esbuild/openbsd-x64@0.25.4': + resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} + '@esbuild/openbsd-x64@0.25.8': + resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] - '@polka/url@1.0.0-next.29': - resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@esbuild/openharmony-arm64@0.25.8': + resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] - '@poppinss/colors@4.1.5': - resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==} + '@esbuild/sunos-x64@0.25.4': + resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] - '@poppinss/dumper@0.6.4': - resolution: {integrity: sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==} + '@esbuild/sunos-x64@0.25.8': + resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] - '@poppinss/exception@1.2.2': - resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==} + '@esbuild/win32-arm64@0.25.4': + resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] - '@radix-ui/number@1.1.1': - resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} + '@esbuild/win32-arm64@0.25.8': + resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] - '@radix-ui/primitive@1.1.2': - resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==} + '@esbuild/win32-ia32@0.25.4': + resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] - '@radix-ui/primitive@1.1.3': - resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} + '@esbuild/win32-ia32@0.25.8': + resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] - '@radix-ui/react-accordion@1.2.11': - resolution: {integrity: sha512-l3W5D54emV2ues7jjeG1xcyN7S3jnK3zE2zHqgn0CmMsy9lNJwmgcrmaxS+7ipw15FAivzKNzH3d5EcGoFKw0A==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@esbuild/win32-x64@0.25.4': + resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] - '@radix-ui/react-alert-dialog@1.1.14': - resolution: {integrity: sha512-IOZfZ3nPvN6lXpJTBCunFQPRSvK8MDgSc1FB85xnIpUKOw9en0dJj8JmCAxV7BiZdtYlUpmrQjoTFkVYtdoWzQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@esbuild/win32-x64@0.25.8': + resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] - '@radix-ui/react-arrow@1.1.7': - resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==} + '@eslint-community/eslint-utils@4.7.0': + resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@radix-ui/react-avatar@1.1.10': - resolution: {integrity: sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@radix-ui/react-checkbox@1.3.3': - resolution: {integrity: sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@eslint-react/ast@1.52.3': + resolution: {integrity: sha512-71afQeBz0t5FqxLPfOgfQy2703t4T4tM5ooF/swIfUljCQxrFvIYivzYU67wrwLSnmkSfFJKp99bUCz7L3IP4Q==} + engines: {node: '>=18.18.0'} - '@radix-ui/react-collapsible@1.1.11': - resolution: {integrity: sha512-2qrRsVGSCYasSz1RFOorXwl0H7g7J1frQtgpQgYrt+MOidtPAINHn9CPovQXb83r8ahapdx3Tu0fa/pdFFSdPg==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@eslint-react/core@1.52.3': + resolution: {integrity: sha512-N/fY3q1V0F81OzKGn0ZopmHY+OQHYQiS49MvpSWhNciL+TDxOo4CSt+wayMz5/9G/B/PwGB68eprjow0AaTYzA==} + engines: {node: '>=18.18.0'} - '@radix-ui/react-collection@1.1.7': - resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@eslint-react/eff@1.52.3': + resolution: {integrity: sha512-CU07yUuHrrBbb8C82via3GrAXkSMbcpxd6f18f/jjEmMAXzKbN2yq1t0GfG7iwIyZexDZ7R3QBa9ksk6iwtDAA==} + engines: {node: '>=18.18.0'} - '@radix-ui/react-compose-refs@1.1.2': - resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + '@eslint-react/kit@1.52.3': + resolution: {integrity: sha512-IOsfaRSih7VdL9ZDjuqc7kjOlHOQOaK6hkSENK64dUcvcl6YwHk8/JXfV/glHTp3JxXrPSazBrnZKNXk0DzjKg==} + engines: {node: '>=18.18.0'} - '@radix-ui/react-context@1.1.2': - resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + '@eslint-react/shared@1.52.3': + resolution: {integrity: sha512-+0/2SOkNxLKBtYVLx/BCNo5xTn+dxkzP6C63gQ2ehNudMAt3zf2DouD62cHSSbl+eSAgc0zWYg8ssm5ksLN4xw==} + engines: {node: '>=18.18.0'} - '@radix-ui/react-dialog@1.1.14': - resolution: {integrity: sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@eslint-react/var@1.52.3': + resolution: {integrity: sha512-i2dfgoH93MHJNXqzS0vYIIpI2e6djIfzdnpMRHUyBYjTHFSPapE7RhcHFrAVPUrd85cUxIPW3pkTKAhkhUhYeA==} + engines: {node: '>=18.18.0'} - '@radix-ui/react-direction@1.1.1': - resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + '@eslint/config-array@0.21.0': + resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@radix-ui/react-dismissable-layer@1.1.10': - resolution: {integrity: sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@eslint/config-helpers@0.3.0': + resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@radix-ui/react-dropdown-menu@2.1.15': - resolution: {integrity: sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@eslint/core@0.15.1': + resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@radix-ui/react-focus-guards@1.1.2': - resolution: {integrity: sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@radix-ui/react-focus-scope@1.1.7': - resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@eslint/js@9.32.0': + resolution: {integrity: sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@radix-ui/react-id@1.1.1': - resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@radix-ui/react-label@2.1.7': - resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@eslint/plugin-kit@0.3.4': + resolution: {integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@radix-ui/react-menu@2.1.15': - resolution: {integrity: sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/bunyan@4.0.1': + resolution: {integrity: sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==} + engines: {node: '>=0.10.0'} - '@radix-ui/react-popover@1.1.14': - resolution: {integrity: sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/cli@0.22.26': + resolution: {integrity: sha512-I689wc8Fn/AX7aUGiwrh3HnssiORMJtR2fpksX+JIe8Cj/EDleblYMSwRPd0025wrwOV9UN1KM/RuEt/QjCS3Q==} + hasBin: true - '@radix-ui/react-popper@1.2.7': - resolution: {integrity: sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/code-signing-certificates@0.0.5': + resolution: {integrity: sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==} - '@radix-ui/react-portal@1.1.9': - resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/config-plugins@9.0.17': + resolution: {integrity: sha512-m24F1COquwOm7PBl5wRbkT9P9DviCXe0D7S7nQsolfbhdCWuvMkfXeoWmgjtdhy7sDlOyIgBrAdnB6MfsWKqIg==} - '@radix-ui/react-presence@1.1.4': - resolution: {integrity: sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/config-types@52.0.5': + resolution: {integrity: sha512-AMDeuDLHXXqd8W+0zSjIt7f37vUd/BP8p43k68NHpyAvQO+z8mbQZm3cNQVAMySeayK2XoPigAFB1JF2NFajaA==} - '@radix-ui/react-presence@1.1.5': - resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/config@10.0.11': + resolution: {integrity: sha512-nociJ4zr/NmbVfMNe9j/+zRlt7wz/siISu7PjdWE4WE+elEGxWWxsGzltdJG0llzrM+khx8qUiFK5aiVcdMBww==} - '@radix-ui/react-primitive@2.1.3': - resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/devcert@1.2.0': + resolution: {integrity: sha512-Uilcv3xGELD5t/b0eM4cxBFEKQRIivB3v7i+VhWLV/gL98aw810unLKKJbGAxAIhY6Ipyz8ChWibFsKFXYwstA==} - '@radix-ui/react-roving-focus@1.1.10': - resolution: {integrity: sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/env@0.4.2': + resolution: {integrity: sha512-TgbCgvSk0Kq0e2fLoqHwEBL4M0ztFjnBEz0YCDm5boc1nvkV1VMuIMteVdeBwnTh8Z0oPJTwHCD49vhMEt1I6A==} - '@radix-ui/react-scroll-area@1.2.9': - resolution: {integrity: sha512-YSjEfBXnhUELsO2VzjdtYYD4CfQjvao+lhhrX5XsHD7/cyUNzljF1FHEbgTPN7LH2MClfwRMIsYlqTYpKTTe2A==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/fingerprint@0.11.11': + resolution: {integrity: sha512-gNyn1KnAOpEa8gSNsYqXMTcq0fSwqU/vit6fP5863vLSKxHm/dNt/gm/uZJxrRZxKq71KUJWF6I7d3z8qIfq5g==} + hasBin: true - '@radix-ui/react-select@2.2.5': - resolution: {integrity: sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/image-utils@0.6.5': + resolution: {integrity: sha512-RsS/1CwJYzccvlprYktD42KjyfWZECH6PPIEowvoSmXfGLfdViwcUEI4RvBfKX5Jli6P67H+6YmHvPTbGOboew==} - '@radix-ui/react-separator@1.1.7': - resolution: {integrity: sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/json-file@10.0.7': + resolution: {integrity: sha512-z2OTC0XNO6riZu98EjdNHC05l51ySeTto6GP7oSQrCvQgG9ARBwD1YvMQaVZ9wU7p/4LzSf1O7tckL3B45fPpw==} - '@radix-ui/react-slot@1.2.3': - resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + '@expo/json-file@9.0.2': + resolution: {integrity: sha512-yAznIUrybOIWp3Uax7yRflB0xsEpvIwIEqIjao9SGi2Gaa+N0OamWfe0fnXBSWF+2zzF4VvqwT4W5zwelchfgw==} - '@radix-ui/react-switch@1.2.5': - resolution: {integrity: sha512-5ijLkak6ZMylXsaImpZ8u4Rlf5grRmoc0p0QeX9VJtlrM4f5m3nCTX8tWga/zOA8PZYIR/t0p2Mnvd7InrJ6yQ==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/json-file@9.1.5': + resolution: {integrity: sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA==} - '@radix-ui/react-tabs@1.1.12': - resolution: {integrity: sha512-GTVAlRVrQrSw3cEARM0nAx73ixrWDPNZAruETn3oHCNP6SbZ/hNxdxp+u7VkIEv3/sFoLq1PfcHrl7Pnp0CDpw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + '@expo/metro-config@0.19.12': + resolution: {integrity: sha512-fhT3x1ikQWHpZgw7VrEghBdscFPz1laRYa8WcVRB18nTTqorF6S8qPYslkJu1faEziHZS7c2uyDzTYnrg/CKbg==} - '@radix-ui/react-tooltip@1.2.7': - resolution: {integrity: sha512-Ap+fNYwKTYJ9pzqW+Xe2HtMRbQ/EeWkj2qykZ6SuEV4iS/o1bZI5ssJbk4D2r8XuDuOBVz/tIx2JObtuqU+5Zw==} + '@expo/metro-runtime@4.0.1': + resolution: {integrity: sha512-CRpbLvdJ1T42S+lrYa1iZp1KfDeBp4oeZOK3hdpiS5n0vR0nhD6sC1gGF0sTboCTp64tLteikz5Y3j53dvgOIw==} peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + react-native: '*' - '@radix-ui/react-use-callback-ref@1.1.1': - resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} + '@expo/osascript@2.3.7': + resolution: {integrity: sha512-IClSOXxR0YUFxIriUJVqyYki7lLMIHrrzOaP01yxAL1G8pj2DWV5eW1y5jSzIcIfSCNhtGsshGd1tU/AYup5iQ==} + engines: {node: '>=12'} + + '@expo/package-manager@1.9.8': + resolution: {integrity: sha512-4/I6OWquKXYnzo38pkISHCOCOXxfeEmu4uDoERq1Ei/9Ur/s9y3kLbAamEkitUkDC7gHk1INxRWEfFNzGbmOrA==} + + '@expo/plist@0.2.2': + resolution: {integrity: sha512-ZZGvTO6vEWq02UAPs3LIdja+HRO18+LRI5QuDl6Hs3Ps7KX7xU6Y6kjahWKY37Rx2YjNpX07dGpBFzzC+vKa2g==} + + '@expo/prebuild-config@8.2.0': + resolution: {integrity: sha512-CxiPpd980s0jyxi7eyN3i/7YKu3XL+8qPjBZUCYtc0+axpGweqIkq2CslyLSKHyqVyH/zlPkbVgWdyiYavFS5Q==} + + '@expo/rudder-sdk-node@1.1.1': + resolution: {integrity: sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==} + engines: {node: '>=12'} + + '@expo/sdk-runtime-versions@1.0.0': + resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==} + + '@expo/server@0.5.3': + resolution: {integrity: sha512-WXsWzeBs5v/h0PUfHyNLLz07rwwO5myQ1A5DGYewyyGLmsyl61yVCe8AgAlp1wkiMsqhj2hZqI2u3K10QnCMrQ==} + + '@expo/spawn-async@1.7.2': + resolution: {integrity: sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==} + engines: {node: '>=12'} + + '@expo/sudo-prompt@9.3.2': + resolution: {integrity: sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==} + + '@expo/vector-icons@14.0.4': + resolution: {integrity: sha512-+yKshcbpDfbV4zoXOgHxCwh7lkE9VVTT5T03OUlBsqfze1PLy6Hi4jp1vSb1GVbY6eskvMIivGVc9SKzIv0oEQ==} + + '@expo/ws-tunnel@1.0.6': + resolution: {integrity: sha512-nDRbLmSrJar7abvUjp3smDwH8HcbZcoOEa5jVPUv9/9CajgmWw20JNRwTuBRzWIWIkEJDkz20GoNA+tSwUqk0Q==} + + '@expo/xcpretty@4.3.2': + resolution: {integrity: sha512-ReZxZ8pdnoI3tP/dNnJdnmAk7uLT4FjsKDGW7YeDdvdOMz2XCQSmSCM9IWlrXuWtMF9zeSB6WJtEhCQ41gQOfw==} + hasBin: true + + '@floating-ui/core@1.7.3': + resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} + + '@floating-ui/dom@1.7.3': + resolution: {integrity: sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==} + + '@floating-ui/react-dom@2.1.5': + resolution: {integrity: sha512-HDO/1/1oH9fjj4eLgegrlH3dklZpHtUYYFiVwMUwfGvk9jWDRWqkklA2/NFScknrcNSspbV868WjXORvreDX+Q==} peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: '>=16.8.0' + react-dom: '>=16.8.0' + + '@floating-ui/utils@0.2.10': + resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + + '@hono/oauth-providers@0.8.2': + resolution: {integrity: sha512-xQa9bt6Z/xAMvT+MTHHhXX28nyzqSDZl8LzszM071dIzoEcBx/NwZLnZjPm+7ZiRZb/2E9tiP5GMbBimtYrEHg==} + engines: {node: '>=18.4.0'} + peerDependencies: + hono: '>=3.*' + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@inquirer/checkbox@4.2.0': + resolution: {integrity: sha512-fdSw07FLJEU5vbpOPzXo5c6xmMGDzbZE2+niuDHX5N6mc6V0Ebso/q3xiHra4D73+PMsC8MJmcaZKuAAoaQsSA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' peerDependenciesMeta: - '@types/react': + '@types/node': + optional: true + + '@inquirer/confirm@5.1.14': + resolution: {integrity: sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/core@10.1.15': + resolution: {integrity: sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/editor@4.2.15': + resolution: {integrity: sha512-wst31XT8DnGOSS4nNJDIklGKnf+8shuauVrWzgKegWUe28zfCftcWZ2vktGdzJgcylWSS2SrDnYUb6alZcwnCQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/expand@4.0.17': + resolution: {integrity: sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/figures@1.0.13': + resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} + engines: {node: '>=18'} + + '@inquirer/input@4.2.1': + resolution: {integrity: sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/number@3.0.17': + resolution: {integrity: sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/password@4.0.17': + resolution: {integrity: sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/prompts@7.8.0': + resolution: {integrity: sha512-JHwGbQ6wjf1dxxnalDYpZwZxUEosT+6CPGD9Zh4sm9WXdtUp9XODCQD3NjSTmu+0OAyxWXNOqf0spjIymJa2Tw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/rawlist@4.1.5': + resolution: {integrity: sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/search@3.1.0': + resolution: {integrity: sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': optional: true - '@radix-ui/react-use-controllable-state@1.2.2': - resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + '@inquirer/select@4.3.1': + resolution: {integrity: sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@inquirer/type@3.0.8': + resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + + '@isaacs/ttlcache@1.4.1': + resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/create-cache-key-function@29.7.0': + resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.12': + resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.4': + resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} + + '@jridgewell/trace-mapping@0.3.29': + resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@mjackson/node-fetch-server@0.6.1': + resolution: {integrity: sha512-9ZJnk/DJjt805uv5PPv11haJIW+HHf3YEEyVXv+8iLQxLD/iXA68FH220XoiTPBC4gCg5q+IMadDw8qPqlA5wg==} + + '@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'} + + '@npmcli/fs@3.1.1': + resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@octokit/app@16.0.1': + resolution: {integrity: sha512-kgTeTsWmpUX+s3Fs4EK4w1K+jWCDB6ClxLSWUWTyhlw7+L3jHtuXDR4QtABu2GsmCMdk67xRhruiXotS3ay3Yw==} + engines: {node: '>= 20'} + + '@octokit/auth-app@8.0.2': + resolution: {integrity: sha512-dLTmmA9gUlqiAJZgozfOsZFfpN/OldH3xweb7lqSnngax5Rs+PfO5dDlokaBfc41H1xOtsLYV5QqR0DkBAtPmw==} + engines: {node: '>= 20'} + + '@octokit/auth-oauth-app@9.0.1': + resolution: {integrity: sha512-TthWzYxuHKLAbmxdFZwFlmwVyvynpyPmjwc+2/cI3cvbT7mHtsAW9b1LvQaNnAuWL+pFnqtxdmrU8QpF633i1g==} + engines: {node: '>= 20'} + + '@octokit/auth-oauth-device@8.0.1': + resolution: {integrity: sha512-TOqId/+am5yk9zor0RGibmlqn4V0h8vzjxlw/wYr3qzkQxl8aBPur384D1EyHtqvfz0syeXji4OUvKkHvxk/Gw==} + engines: {node: '>= 20'} + + '@octokit/auth-oauth-user@6.0.0': + resolution: {integrity: sha512-GV9IW134PHsLhtUad21WIeP9mlJ+QNpFd6V9vuPWmaiN25HEJeEQUcS4y5oRuqCm9iWDLtfIs+9K8uczBXKr6A==} + engines: {node: '>= 20'} + + '@octokit/auth-token@6.0.0': + resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==} + engines: {node: '>= 20'} + + '@octokit/auth-unauthenticated@7.0.1': + resolution: {integrity: sha512-qVq1vdjLLZdE8kH2vDycNNjuJRCD1q2oet1nA/GXWaYlpDxlR7rdVhX/K/oszXslXiQIiqrQf+rdhDlA99JdTQ==} + engines: {node: '>= 20'} + + '@octokit/core@7.0.3': + resolution: {integrity: sha512-oNXsh2ywth5aowwIa7RKtawnkdH6LgU1ztfP9AIUCQCvzysB+WeU8o2kyyosDPwBZutPpjZDKPQGIzzrfTWweQ==} + engines: {node: '>= 20'} + + '@octokit/endpoint@11.0.0': + resolution: {integrity: sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==} + engines: {node: '>= 20'} + + '@octokit/graphql@9.0.1': + resolution: {integrity: sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==} + engines: {node: '>= 20'} + + '@octokit/oauth-app@8.0.1': + resolution: {integrity: sha512-QnhMYEQpnYbEPn9cae+wXL2LuPMFglmfeuDJXXsyxIXdoORwkLK8y0cHhd/5du9MbO/zdG/BXixzB7EEwU63eQ==} + engines: {node: '>= 20'} + + '@octokit/oauth-authorization-url@8.0.0': + resolution: {integrity: sha512-7QoLPRh/ssEA/HuHBHdVdSgF8xNLz/Bc5m9fZkArJE5bb6NmVkDm3anKxXPmN1zh6b5WKZPRr3697xKT/yM3qQ==} + engines: {node: '>= 20'} + + '@octokit/oauth-methods@6.0.0': + resolution: {integrity: sha512-Q8nFIagNLIZgM2odAraelMcDssapc+lF+y3OlcIPxyAU+knefO8KmozGqfnma1xegRDP4z5M73ABsamn72bOcA==} + engines: {node: '>= 20'} + + '@octokit/openapi-types@25.1.0': + resolution: {integrity: sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==} + + '@octokit/openapi-webhooks-types@12.0.3': + resolution: {integrity: sha512-90MF5LVHjBedwoHyJsgmaFhEN1uzXyBDRLEBe7jlTYx/fEhPAk3P3DAJsfZwC54m8hAIryosJOL+UuZHB3K3yA==} + + '@octokit/plugin-paginate-rest@13.1.1': + resolution: {integrity: sha512-q9iQGlZlxAVNRN2jDNskJW/Cafy7/XE52wjZ5TTvyhyOD904Cvx//DNyoO3J/MXJ0ve3rPoNWKEg5iZrisQSuw==} + engines: {node: '>= 20'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/request-error@7.0.0': + resolution: {integrity: sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==} + engines: {node: '>= 20'} + + '@octokit/request@10.0.3': + resolution: {integrity: sha512-V6jhKokg35vk098iBqp2FBKunk3kMTXlmq+PtbV9Gl3TfskWlebSofU9uunVKhUN7xl+0+i5vt0TGTG8/p/7HA==} + engines: {node: '>= 20'} + + '@octokit/types@14.1.0': + resolution: {integrity: sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==} + + '@octokit/webhooks-methods@6.0.0': + resolution: {integrity: sha512-MFlzzoDJVw/GcbfzVC1RLR36QqkTLUf79vLVO3D+xn7r0QgxnFoLZgtrzxiQErAjFUOdH6fas2KeQJ1yr/qaXQ==} + engines: {node: '>= 20'} + + '@octokit/webhooks@14.1.3': + resolution: {integrity: sha512-gcK4FNaROM9NjA0mvyfXl0KPusk7a1BeA8ITlYEZVQCXF5gcETTd4yhAU0Kjzd8mXwYHppzJBWgdBVpIR9wUcQ==} + engines: {node: '>= 20'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + + '@poppinss/colors@4.1.5': + resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==} + + '@poppinss/dumper@0.6.4': + resolution: {integrity: sha512-iG0TIdqv8xJ3Lt9O8DrPRxw1MRLjNpoqiSGU03P/wNLP/s0ra0udPJ1J2Tx5M0J3H/cVyEgpbn8xUKRY9j59kQ==} + + '@poppinss/exception@1.2.2': + resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==} + + '@radix-ui/number@1.1.1': + resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} + + '@radix-ui/primitive@1.1.2': + resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==} + + '@radix-ui/primitive@1.1.3': + resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==} + + '@radix-ui/react-accordion@1.2.11': + resolution: {integrity: sha512-l3W5D54emV2ues7jjeG1xcyN7S3jnK3zE2zHqgn0CmMsy9lNJwmgcrmaxS+7ipw15FAivzKNzH3d5EcGoFKw0A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-alert-dialog@1.1.14': + resolution: {integrity: sha512-IOZfZ3nPvN6lXpJTBCunFQPRSvK8MDgSc1FB85xnIpUKOw9en0dJj8JmCAxV7BiZdtYlUpmrQjoTFkVYtdoWzQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-arrow@1.1.7': + resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-avatar@1.1.10': + resolution: {integrity: sha512-V8piFfWapM5OmNCXTzVQY+E1rDa53zY+MQ4Y7356v4fFz6vqCyUtIz2rUD44ZEdwg78/jKmMJHj07+C/Z/rcog==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-checkbox@1.3.3': + resolution: {integrity: sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-collapsible@1.1.11': + resolution: {integrity: sha512-2qrRsVGSCYasSz1RFOorXwl0H7g7J1frQtgpQgYrt+MOidtPAINHn9CPovQXb83r8ahapdx3Tu0fa/pdFFSdPg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-collection@1.1.7': + resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-compose-refs@1.0.0': + resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + + '@radix-ui/react-compose-refs@1.1.2': + resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-context@1.1.2': + resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-dialog@1.1.14': + resolution: {integrity: sha512-+CpweKjqpzTmwRwcYECQcNYbI8V9VSQt0SNFKeEBLgfucbsLssU6Ppq7wUdNXEGb573bMjFhVjKVll8rmV6zMw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-direction@1.1.1': + resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-dismissable-layer@1.1.10': + resolution: {integrity: sha512-IM1zzRV4W3HtVgftdQiiOmA0AdJlCtMLe00FXaHwgt3rAnNsIyDqshvkIW3hj/iu5hu8ERP7KIYki6NkqDxAwQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-dropdown-menu@2.1.15': + resolution: {integrity: sha512-mIBnOjgwo9AH3FyKaSWoSu/dYj6VdhJ7frEPiGTeXCdUFHjl9h3mFh2wwhEtINOmYXWhdpf1rY2minFsmaNgVQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-focus-guards@1.1.2': + resolution: {integrity: sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-focus-scope@1.1.7': + resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-id@1.1.1': + resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-label@2.1.7': + resolution: {integrity: sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-menu@2.1.15': + resolution: {integrity: sha512-tVlmA3Vb9n8SZSd+YSbuFR66l87Wiy4du+YE+0hzKQEANA+7cWKH1WgqcEX4pXqxUFQKrWQGHdvEfw00TjFiew==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-popover@1.1.14': + resolution: {integrity: sha512-ODz16+1iIbGUfFEfKx2HTPKizg2MN39uIOV8MXeHnmdd3i/N9Wt7vU46wbHsqA0xoaQyXVcs0KIlBdOA2Y95bw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-popper@1.2.7': + resolution: {integrity: sha512-IUFAccz1JyKcf/RjB552PlWwxjeCJB8/4KxT7EhBHOJM+mN7LdW+B3kacJXILm32xawcMMjb2i0cIZpo+f9kiQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-portal@1.1.9': + resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-presence@1.1.4': + resolution: {integrity: sha512-ueDqRbdc4/bkaQT3GIpLQssRlFgWaL/U2z/S31qRwwLWoxHLgry3SIfCwhxeQNbirEUXFa+lq3RL3oBYXtcmIA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-presence@1.1.5': + resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-primitive@2.1.3': + resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-roving-focus@1.1.10': + resolution: {integrity: sha512-dT9aOXUen9JSsxnMPv/0VqySQf5eDQ6LCk5Sw28kamz8wSOW2bJdlX2Bg5VUIIcV+6XlHpWTIuTPCf/UNIyq8Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-scroll-area@1.2.9': + resolution: {integrity: sha512-YSjEfBXnhUELsO2VzjdtYYD4CfQjvao+lhhrX5XsHD7/cyUNzljF1FHEbgTPN7LH2MClfwRMIsYlqTYpKTTe2A==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-select@2.2.5': + resolution: {integrity: sha512-HnMTdXEVuuyzx63ME0ut4+sEMYW6oouHWNGUZc7ddvUWIcfCva/AMoqEW/3wnEllriMWBa0RHspCYnfCWJQYmA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-separator@1.1.7': + resolution: {integrity: sha512-0HEb8R9E8A+jZjvmFCy/J4xhbXy3TV+9XSnGJ3KvTtjlIUy/YQ/p6UYZvi7YbeoeXdyU9+Y3scizK6hkY37baA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-slot@1.0.1': + resolution: {integrity: sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + + '@radix-ui/react-slot@1.2.3': + resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-switch@1.2.5': + resolution: {integrity: sha512-5ijLkak6ZMylXsaImpZ8u4Rlf5grRmoc0p0QeX9VJtlrM4f5m3nCTX8tWga/zOA8PZYIR/t0p2Mnvd7InrJ6yQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-tabs@1.1.12': + resolution: {integrity: sha512-GTVAlRVrQrSw3cEARM0nAx73ixrWDPNZAruETn3oHCNP6SbZ/hNxdxp+u7VkIEv3/sFoLq1PfcHrl7Pnp0CDpw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-tooltip@1.2.7': + resolution: {integrity: sha512-Ap+fNYwKTYJ9pzqW+Xe2HtMRbQ/EeWkj2qykZ6SuEV4iS/o1bZI5ssJbk4D2r8XuDuOBVz/tIx2JObtuqU+5Zw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-use-callback-ref@1.1.1': + resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-controllable-state@1.2.2': + resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-effect-event@0.0.2': + resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-escape-keydown@1.1.1': + resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-is-hydrated@0.1.0': + resolution: {integrity: sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-layout-effect@1.1.1': + resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-previous@1.1.1': + resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-rect@1.1.1': + resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-use-size@1.1.1': + resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-visually-hidden@1.2.3': + resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/rect@1.1.1': + resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} + + '@react-native/assets-registry@0.76.0': + resolution: {integrity: sha512-U8KLV+PC/cRIiDpb1VbeGuEfKq2riZZtNVLp1UOyKWfPbWWu8j6Fr95w7j+nglp41z70iBeF2OmCiVnRvtNklA==} + engines: {node: '>=18'} + + '@react-native/babel-plugin-codegen@0.76.0': + resolution: {integrity: sha512-HOi45pqlZnCTeR4jJ/zK0FB12r08CI9O70uBjVUqmzvHIrWmL5FaEFp6BPVFOjjXtUsl3JZ2Mle7WpsAP2PQBA==} + engines: {node: '>=18'} + + '@react-native/babel-plugin-codegen@0.76.9': + resolution: {integrity: sha512-vxL/vtDEIYHfWKm5oTaEmwcnNGsua/i9OjIxBDBFiJDu5i5RU3bpmDiXQm/bJxrJNPRp5lW0I0kpGihVhnMAIQ==} + engines: {node: '>=18'} + + '@react-native/babel-preset@0.76.0': + resolution: {integrity: sha512-HgQt4MyuWLcnrIglXn7GNPPVwtzZ4ffX+SUisdhmPtJCHuP8AOU3HsgOKLhqVfEGWTBlE4kbWoTmmLU87IJaOw==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/babel-preset@0.76.9': + resolution: {integrity: sha512-TbSeCplCM6WhL3hR2MjC/E1a9cRnMLz7i767T7mP90oWkklEjyPxWl+0GGoVGnJ8FC/jLUupg/HvREKjjif6lw==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/codegen@0.76.0': + resolution: {integrity: sha512-x0zzK1rb7ZSIAeHRcRSjRo+VtLROjln1IKnQSPLEZEdyQfWNXqgiMk59E5hW7KE6I05upqfbf85PRAb5WndXdw==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + + '@react-native/codegen@0.76.9': + resolution: {integrity: sha512-AzlCHMTKrAVC2709V4ZGtBXmGVtWTpWm3Ruv5vXcd3/anH4mGucfJ4rjbWKdaYQJMpXa3ytGomQrsIsT/s8kgA==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + + '@react-native/community-cli-plugin@0.76.0': + resolution: {integrity: sha512-JFU5kmo+lUf5vOsieJ/dGS71Z2+qV3leXbKW6p8cn5aVfupVmtz/uYcFVdGzEGIGJ3juorYOZjpG8Qz91FrUZw==} + engines: {node: '>=18'} + peerDependencies: + '@react-native-community/cli-server-api': '*' + peerDependenciesMeta: + '@react-native-community/cli-server-api': + optional: true + + '@react-native/debugger-frontend@0.76.0': + resolution: {integrity: sha512-v4J22ZN1/7BQYhYvnZYi2pzd87MmTCEnxtTiktaUOhmx3YSF47LGo1Q2UfUE5YOzoRftiJTXDKvzDbI/hqAzgg==} + engines: {node: '>=18'} + + '@react-native/debugger-frontend@0.76.9': + resolution: {integrity: sha512-0Ru72Bm066xmxFuOXhhvrryxvb57uI79yDSFf+hxRpktkC98NMuRenlJhslMrbJ6WjCu1vOe/9UjWNYyxXTRTA==} + engines: {node: '>=18'} + + '@react-native/dev-middleware@0.76.0': + resolution: {integrity: sha512-XvSnCDwCghWCVNtGpoF30xgA1EzxvlGsEyhJCUe0uLMDaaVxr/ZkgD3nZ+/l4cEm1qlrlcAZoGctnUgrzHiTaA==} + engines: {node: '>=18'} + + '@react-native/dev-middleware@0.76.9': + resolution: {integrity: sha512-xkd3C3dRcmZLjFTEAOvC14q3apMLouIvJViCZY/p1EfCMrNND31dgE1dYrLTiI045WAWMt5bD15i6f7dE2/QWA==} + engines: {node: '>=18'} + + '@react-native/gradle-plugin@0.76.0': + resolution: {integrity: sha512-MhsAahV/Ju0Md1x79ljaDsNzzFY02TsDqxSfOS8vc4trZuM0imFf7VEBitOydNDTf9NqzAqJ9p8j7OSuxUEvLg==} + engines: {node: '>=18'} + + '@react-native/js-polyfills@0.76.0': + resolution: {integrity: sha512-0UzEqvg85Bn0BpgNG80wzbiWvNypwdl64sbRs/sEvIDjzgq/tM+u3KoneSD5tP72BCydAqXFfepff3FZgImfbA==} + engines: {node: '>=18'} + + '@react-native/metro-babel-transformer@0.76.0': + resolution: {integrity: sha512-aq0MrjaOxDitSqQbttBcOt+5tjemCabhEX2gGthy8cNeZokBa2raoHQInDo9iBBN1ePKDCwKGypyC8zKA5dksQ==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/normalize-colors@0.74.89': + resolution: {integrity: sha512-qoMMXddVKVhZ8PA1AbUCk83trpd6N+1nF2A6k1i6LsQObyS92fELuk8kU/lQs6M7BsMHwqyLCpQJ1uFgNvIQXg==} + + '@react-native/normalize-colors@0.76.0': + resolution: {integrity: sha512-r+pjeIhzehb+bJUUUrztOQb+n6J9DeaLbF6waLgiHa5mFOiwP/4/iWS68inSZnnBtmXHkN2IYiMXzExx8hieWA==} + + '@react-native/normalize-colors@0.76.8': + resolution: {integrity: sha512-FRjRvs7RgsXjkbGSOjYSxhX5V70c0IzA/jy3HXeYpATMwD9fOR1DbveLW497QGsVdCa0vThbJUtR8rIzAfpHQA==} + + '@react-native/normalize-colors@0.76.9': + resolution: {integrity: sha512-TUdMG2JGk72M9d8DYbubdOlrzTYjw+YMe/xOnLU4viDgWRHsCbtRS9x0IAxRjs3amj/7zmK3Atm8jUPvdAc8qw==} + + '@react-native/virtualized-lists@0.76.0': + resolution: {integrity: sha512-WT3Xi1+ikmWWdbrv3xnl8wYxobj1+N5JfiOQx7o/tiGUCx8m12pf5tlutXByH2m7X8bAZ+BBcRuu1vwt7XaRhQ==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': ^18.2.6 + react: '*' + react-native: '*' + peerDependenciesMeta: + '@types/react': + optional: true + + '@react-navigation/bottom-tabs@7.4.7': + resolution: {integrity: sha512-SQ4KuYV9yr3SV/thefpLWhAD0CU2CrBMG1l0w/QKl3GYuGWdN5OQmdQdmaPZGtsjjVOb+N9Qo7Tf6210P4TlpA==} + peerDependencies: + '@react-navigation/native': ^7.1.17 + react: '>= 18.2.0' + react-native: '*' + react-native-safe-area-context: '>= 4.0.0' + react-native-screens: '>= 4.0.0' + + '@react-navigation/core@7.12.4': + resolution: {integrity: sha512-xLFho76FA7v500XID5z/8YfGTvjQPw7/fXsq4BIrVSqetNe/o/v+KAocEw4ots6kyv3XvSTyiWKh2g3pN6xZ9Q==} + peerDependencies: + react: '>= 18.2.0' + + '@react-navigation/elements@2.6.4': + resolution: {integrity: sha512-O3X9vWXOEhAO56zkQS7KaDzL8BvjlwZ0LGSteKpt1/k6w6HONG+2Wkblrb057iKmehTkEkQMzMLkXiuLmN5x9Q==} + peerDependencies: + '@react-native-masked-view/masked-view': '>= 0.2.0' + '@react-navigation/native': ^7.1.17 + react: '>= 18.2.0' + react-native: '*' + react-native-safe-area-context: '>= 4.0.0' + peerDependenciesMeta: + '@react-native-masked-view/masked-view': + optional: true + + '@react-navigation/native-stack@7.3.26': + resolution: {integrity: sha512-EjaBWzLZ76HJGOOcWCFf+h/M+Zg7M1RalYioDOb6ZdXHz7AwYNidruT3OUAQgSzg3gVLqvu5OYO0jFsNDPCZxQ==} + peerDependencies: + '@react-navigation/native': ^7.1.17 + react: '>= 18.2.0' + react-native: '*' + react-native-safe-area-context: '>= 4.0.0' + react-native-screens: '>= 4.0.0' + + '@react-navigation/native@7.1.17': + resolution: {integrity: sha512-uEcYWi1NV+2Qe1oELfp9b5hTYekqWATv2cuwcOAg5EvsIsUPtzFrKIasgUXLBRGb9P7yR5ifoJ+ug4u6jdqSTQ==} + peerDependencies: + react: '>= 18.2.0' + react-native: '*' + + '@react-navigation/routers@7.5.1': + resolution: {integrity: sha512-pxipMW/iEBSUrjxz2cDD7fNwkqR4xoi0E/PcfTQGCcdJwLoaxzab5kSadBLj1MTJyT0YRrOXL9umHpXtp+Dv4w==} + + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} + + '@rollup/plugin-replace@6.0.2': + resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/pluginutils@5.2.0': + resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.46.2': + resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.46.2': + resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.46.2': + resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.46.2': + resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.46.2': + resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.46.2': + resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.46.2': + resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.46.2': + resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.46.2': + resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.46.2': + resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.46.2': + resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.46.2': + resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.46.2': + resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.46.2': + resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.46.2': + resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.46.2': + resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.46.2': + resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.46.2': + resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} + cpu: [x64] + os: [win32] + + '@segment/loosely-validate-event@2.0.0': + resolution: {integrity: sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@7.0.2': + resolution: {integrity: sha512-d9xRovfKNz1SKieM0qJdO+PQonjnnIfSNWfHYnBSJ9hkjm0ZPw6HlxscDXYstp3z+7V2GOFHc+J0CYrYTjqCJw==} + engines: {node: '>=18'} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@speed-highlight/core@1.2.7': + resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==} + + '@swc/core-darwin-arm64@1.13.3': + resolution: {integrity: sha512-ux0Ws4pSpBTqbDS9GlVP354MekB1DwYlbxXU3VhnDr4GBcCOimpocx62x7cFJkSpEBF8bmX8+/TTCGKh4PbyXw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.13.3': + resolution: {integrity: sha512-p0X6yhxmNUOMZrbeZ3ZNsPige8lSlSe1llllXvpCLkKKxN/k5vZt1sULoq6Nj4eQ7KeHQVm81/+AwKZyf/e0TA==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.13.3': + resolution: {integrity: sha512-OmDoiexL2fVWvQTCtoh0xHMyEkZweQAlh4dRyvl8ugqIPEVARSYtaj55TBMUJIP44mSUOJ5tytjzhn2KFxFcBA==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.13.3': + resolution: {integrity: sha512-STfKku3QfnuUj6k3g9ld4vwhtgCGYIFQmsGPPgT9MK/dI3Lwnpe5Gs5t1inoUIoGNP8sIOLlBB4HV4MmBjQuhw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.13.3': + resolution: {integrity: sha512-bc+CXYlFc1t8pv9yZJGus372ldzOVscBl7encUBlU1m/Sig0+NDJLz6cXXRcFyl6ABNOApWeR4Yl7iUWx6C8og==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-x64-gnu@1.13.3': + resolution: {integrity: sha512-dFXoa0TEhohrKcxn/54YKs1iwNeW6tUkHJgXW33H381SvjKFUV53WR231jh1sWVJETjA3vsAwxKwR23s7UCmUA==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.13.3': + resolution: {integrity: sha512-ieyjisLB+ldexiE/yD8uomaZuZIbTc8tjquYln9Quh5ykOBY7LpJJYBWvWtm1g3pHv6AXlBI8Jay7Fffb6aLfA==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-win32-arm64-msvc@1.13.3': + resolution: {integrity: sha512-elTQpnaX5vESSbhCEgcwXjpMsnUbqqHfEpB7ewpkAsLzKEXZaK67ihSRYAuAx6ewRQTo7DS5iTT6X5aQD3MzMw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.13.3': + resolution: {integrity: sha512-nvehQVEOdI1BleJpuUgPLrclJ0TzbEMc+MarXDmmiRFwEUGqj+pnfkTSb7RZyS1puU74IXdK/YhTirHurtbI9w==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.13.3': + resolution: {integrity: sha512-A+JSKGkRbPLVV2Kwx8TaDAV0yXIXm/gc8m98hSkVDGlPBBmydgzNdWy3X7HTUBM7IDk7YlWE7w2+RUGjdgpTmg==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.13.3': + resolution: {integrity: sha512-ZaDETVWnm6FE0fc+c2UE8MHYVS3Fe91o5vkmGfgwGXFbxYvAjKSqxM/j4cRc9T7VZNSJjriXq58XkfCp3Y6f+w==} + 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/types@0.1.23': + resolution: {integrity: sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==} + + '@tailwindcss/node@4.1.11': + resolution: {integrity: sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==} + + '@tailwindcss/oxide-android-arm64@4.1.11': + resolution: {integrity: sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.1.11': + resolution: {integrity: sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.11': + resolution: {integrity: sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.11': + resolution: {integrity: sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11': + resolution: {integrity: sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.11': + resolution: {integrity: sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.11': + resolution: {integrity: sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.11': + resolution: {integrity: sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.11': + resolution: {integrity: sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.11': + resolution: {integrity: sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==} + 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.11': + resolution: {integrity: sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.11': + resolution: {integrity: sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.11': + resolution: {integrity: sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==} + engines: {node: '>= 10'} + + '@tailwindcss/typography@0.5.16': + resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' + + '@tailwindcss/vite@4.1.11': + resolution: {integrity: sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw==} + peerDependencies: + vite: ^5.2.0 || ^6 || ^7 + + '@tanstack/history@1.130.12': + resolution: {integrity: sha512-2VO1nNFDWojgZ7Uqv/OJfH6LphZQ1kE6l8sI3YBgSPtj3qN6I/rsoTHW9rGjwiDO8sQoDRXod2hpH6HMs5NDsw==} + engines: {node: '>=12'} + + '@tanstack/react-router-devtools@1.130.12': + resolution: {integrity: sha512-Qe+VZ48qyN6CDTCz7zmluEyAgSedtbunQwthayNhmTXEqa2uwMgFPIWjOZXhaoh2CStCpGocK1jcW6hUBgIIbw==} + engines: {node: '>=12'} + peerDependencies: + '@tanstack/react-router': ^1.130.12 + react: '>=18.0.0 || >=19.0.0' + react-dom: '>=18.0.0 || >=19.0.0' + + '@tanstack/react-router@1.130.12': + resolution: {integrity: sha512-7BYgOpGc1vK8MH1LIFLLBudGpH46GQy+hewnP7dNQJ4KHmkwPHv958L1IMA9jU/rs5g1ZH5n1f33BAMOBXUMYQ==} + engines: {node: '>=12'} + peerDependencies: + react: '>=18.0.0 || >=19.0.0' + react-dom: '>=18.0.0 || >=19.0.0' + + '@tanstack/react-store@0.7.3': + resolution: {integrity: sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + + '@tanstack/router-core@1.130.12': + resolution: {integrity: sha512-emq3cRU9Na1hnIToojzkfJcOZm/MG2bv9M+Kr/elUxEf83enGEwQXC1EKezTuwNgeJrOv8vPJdEhWM7IQodnHQ==} + engines: {node: '>=12'} + + '@tanstack/router-devtools-core@1.130.12': + resolution: {integrity: sha512-cqXUEV/VQi5MaV2o0/0EnQIPTY5WkSMRT8vkHOI2XQoemTORfA7G4TBgrK7XH2fmTjOqjfuxjg94JCTKlG6h+g==} + engines: {node: '>=12'} + peerDependencies: + '@tanstack/router-core': ^1.130.12 + csstype: ^3.0.10 + solid-js: '>=1.9.5' + tiny-invariant: ^1.3.3 + peerDependenciesMeta: + csstype: + optional: true + + '@tanstack/router-generator@1.130.12': + resolution: {integrity: sha512-FmJMKiycv9NBbSGvH30mMsvoS7f6o1OM/rDjUFoUtgZA4hTp4fKZkdgvWHSp1eunL+1v+HtCQ8liuacNBN+j9w==} + engines: {node: '>=12'} + + '@tanstack/router-plugin@1.130.12': + resolution: {integrity: sha512-uL0Utb8pSwCe0jmE8aFCKoN5yMMUyeYWqfhCU7pczz7aeJG7vdNf9JNUEjZHhqo4HAtshxc/jKJItL1j5gl91A==} + engines: {node: '>=12'} + peerDependencies: + '@rsbuild/core': '>=1.0.2' + '@tanstack/react-router': ^1.130.12 + vite: '>=5.0.0 || >=6.0.0' + vite-plugin-solid: ^2.11.2 + webpack: '>=5.92.0' + peerDependenciesMeta: + '@rsbuild/core': + optional: true + '@tanstack/react-router': + optional: true + vite: + optional: true + vite-plugin-solid: + optional: true + webpack: + optional: true + + '@tanstack/router-utils@1.130.12': + resolution: {integrity: sha512-vyk7qduNrVrJWgUXHqRyZrFLOL9YJ/4ycN5PbJ2cLRBln01NkG/abKTHi32V31yMehxkxAO0EoicicvalnV0FA==} + engines: {node: '>=12'} + + '@tanstack/store@0.7.2': + resolution: {integrity: sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==} + + '@tanstack/virtual-file-routes@1.129.7': + resolution: {integrity: sha512-a+MxoAXG+Sq94Jp67OtveKOp2vQq75AWdVI8DRt6w19B0NEqpfm784FTLbVp/qdR1wmxCOmKAvElGSIiBOx5OQ==} + engines: {node: '>=12'} + + '@testing-library/dom@10.4.1': + resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} + engines: {node: '>=18'} + + '@testing-library/jest-dom@6.6.4': + resolution: {integrity: sha512-xDXgLjVunjHqczScfkCJ9iyjdNOVHvvCdqHSSxwM9L0l/wHkTRum67SDc020uAlCoqktJplgO2AAQeLP1wgqDQ==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + + '@testing-library/react@16.3.0': + resolution: {integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==} + engines: {node: '>=18'} + peerDependencies: + '@testing-library/dom': ^10.0.0 + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@testing-library/user-event@14.6.1': + resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + + '@types/aws-lambda@8.10.152': + resolution: {integrity: sha512-soT/c2gYBnT5ygwiHPmd9a1bftj462NWVk2tKCc1PYHSIacB2UwbTS2zYG4jzag1mRDuzg/OjtxQjQ2NKRB6Rw==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.27.0': + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} + + '@types/chai@5.2.2': + resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + + '@types/estree-jsx@1.0.5': + resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node-forge@1.3.14': + resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} + + '@types/node@20.19.10': + resolution: {integrity: sha512-iAFpG6DokED3roLSP0K+ybeDdIX6Bc0Vd3mLW5uDqThPWtNos3E+EqOM11mPQHKzfWHqEBuLjIlsBQQ8CsISmQ==} + + '@types/node@24.1.0': + resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/prismjs@1.26.5': + resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} + + '@types/prop-types@15.7.15': + resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} + + '@types/react-dom@19.1.7': + resolution: {integrity: sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==} + peerDependencies: + '@types/react': ^19.0.0 + + '@types/react@18.3.24': + resolution: {integrity: sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==} + + '@types/react@19.1.9': + resolution: {integrity: sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/whatwg-mimetype@3.0.2': + resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + '@typescript-eslint/eslint-plugin@8.38.0': + resolution: {integrity: sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.38.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/parser@8.38.0': + resolution: {integrity: sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/project-service@8.38.0': + resolution: {integrity: sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/scope-manager@8.38.0': + resolution: {integrity: sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.38.0': + resolution: {integrity: sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/type-utils@8.38.0': + resolution: {integrity: sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/types@8.38.0': + resolution: {integrity: sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.38.0': + resolution: {integrity: sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/utils@8.38.0': + resolution: {integrity: sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/visitor-keys@8.38.0': + resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + '@urql/core@5.2.0': + resolution: {integrity: sha512-/n0ieD0mvvDnVAXEQgX/7qJiVcvYvNkOHeBvkwtylfjydar123caCXcl58PXFY11oU1oquJocVXHxLAbtv4x1A==} + + '@urql/exchange-retry@1.3.2': + resolution: {integrity: sha512-TQMCz2pFJMfpNxmSfX1VSfTjwUIFx/mL+p1bnfM1xjjdla7Z+KnGMW/EhFbpckp3LyWAH4PgOsMwOMnIN+MBFg==} + peerDependencies: + '@urql/core': ^5.0.0 + + '@vitejs/plugin-react-swc@3.11.0': + resolution: {integrity: sha512-YTJCGFdNMHCMfjODYtxRNVAYmTWQ1Lb8PulP/2/f/oEEtglw8oKxKIZmmRkyXrVrHfsKOaVkAc3NT9/dMutO5w==} + peerDependencies: + vite: ^4 || ^5 || ^6 || ^7 + + '@vitest/coverage-v8@3.2.4': + resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==} + peerDependencies: + '@vitest/browser': 3.2.4 + vitest: 3.2.4 + peerDependenciesMeta: + '@vitest/browser': + optional: true + + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} + + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} + + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} + + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} + + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + + '@vitest/ui@3.2.4': + resolution: {integrity: sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==} + peerDependencies: + vitest: 3.2.4 + + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + + '@xmldom/xmldom@0.7.13': + resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==} + engines: {node: '>=10.0.0'} + deprecated: this version is no longer supported, please update to at least 0.8.* + + '@xmldom/xmldom@0.8.11': + resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} + engines: {node: '>=10.0.0'} + + '@xterm/addon-fit@0.10.0': + resolution: {integrity: sha512-UFYkDm4HUahf2lnEyHvio51TNGiLK66mqP2JoATy7hRZeXaGMRDr00JiSF7m63vR5WKATF605yEggJKsw0JpMQ==} + peerDependencies: + '@xterm/xterm': ^5.0.0 + + '@xterm/addon-web-links@0.11.0': + resolution: {integrity: sha512-nIHQ38pQI+a5kXnRaTgwqSHnX7KE6+4SVoceompgHL26unAxdfP6IPqUTSYPQgSwM56hsElfoNrrW5V7BUED/Q==} + peerDependencies: + '@xterm/xterm': ^5.0.0 + + '@xterm/addon-webgl@0.18.0': + resolution: {integrity: sha512-xCnfMBTI+/HKPdRnSOHaJDRqEpq2Ugy8LEj9GiY4J3zJObo3joylIFaMvzBwbYRg8zLtkO0KQaStCeSfoaI2/w==} + peerDependencies: + '@xterm/xterm': ^5.0.0 + + '@xterm/xterm@5.5.0': + resolution: {integrity: sha512-hqJHYaQb5OptNunnyAnkHyM8aCjZ1MEIDTQu1iIbbTD/xops91NB5yq1ZK/dC2JDbVWtF23zUtl9JE2NqwT87A==} + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.11.0: + resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + anser@1.4.10: + resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.1.0: + resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + ansis@4.1.0: + resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} + engines: {node: '>=14'} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-hidden@1.2.6: + resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} + engines: {node: '>=10'} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + ast-types@0.15.2: + resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} + engines: {node: '>=4'} + + ast-types@0.16.1: + resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} + engines: {node: '>=4'} + + ast-v8-to-istanbul@0.3.4: + resolution: {integrity: sha512-cxrAnZNLBnQwBPByK4CeDaw5sWZtMilJE/Q3iDA0aamgaIVNDF9T6K2/8DfYDZEejZ2jNnDrG9m8MY72HFd0KA==} + + async-limiter@1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + babel-core@7.0.0-bridge.0: + resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + babel-dead-code-elimination@1.0.10: + resolution: {integrity: sha512-DV5bdJZTzZ0zn0DC24v3jD7Mnidh6xhKa4GfKCbq3sfW8kaWhDdZjP3i81geA8T33tdYqWKw4D3fVv0CwEgKVA==} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + + babel-plugin-polyfill-corejs2@0.4.14: + resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.13.0: + resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.5: + resolution: {integrity: sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-react-native-web@0.19.13: + resolution: {integrity: sha512-4hHoto6xaN23LCyZgL9LJZc3olmAxd7b6jDzlZnKXAh4rRAbZRKNBJoOOdp46OBqgy+K0t0guTj5/mhA8inymQ==} + + babel-plugin-syntax-hermes-parser@0.23.1: + resolution: {integrity: sha512-uNLD0tk2tLUjGFdmCk+u/3FEw2o+BAwW4g+z2QVlxJrzZYOOPADroEcNtTPt5lNiScctaUmnsTkVEnOwZUOLhA==} + + babel-plugin-syntax-hermes-parser@0.25.1: + resolution: {integrity: sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==} + + babel-plugin-transform-flow-enums@0.0.2: + resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} + + babel-preset-current-node-syntax@1.2.0: + resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} + peerDependencies: + '@babel/core': ^7.0.0 || ^8.0.0-0 + + babel-preset-expo@12.0.11: + resolution: {integrity: sha512-4m6D92nKEieg+7DXa8uSvpr0GjfuRfM/G0t0I/Q5hF8HleEv5ms3z4dJ+p52qXSJsm760tMqLdO93Ywuoi7cCQ==} + peerDependencies: + babel-plugin-react-compiler: ^19.0.0-beta-9ee70a1-20241017 + react-compiler-runtime: ^19.0.0-beta-8a03594-20241020 + peerDependenciesMeta: + babel-plugin-react-compiler: + optional: true + react-compiler-runtime: + optional: true + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + baseline-browser-mapping@2.8.5: + resolution: {integrity: sha512-TiU4qUT9jdCuh4aVOG7H1QozyeI2sZRqoRPdqBIaslfNt4WUSanRBueAwl2x5jt4rXBMim3lIN2x6yT8PDi24Q==} + hasBin: true + + before-after-hook@4.0.0: + resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} + + better-opn@3.0.2: + resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} + engines: {node: '>=12.0.0'} + + big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + birecord@0.1.1: + resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==} + + blake3-wasm@2.1.5: + resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} + + body-parser@1.20.3: + resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bplist-creator@0.0.7: + resolution: {integrity: sha512-xp/tcaV3T5PCiaY04mXga7o/TE+t95gqeLmADeBI1CvZtdWTbgBt3uLpvh4UWtenKeBhCV6oVxGk38yZr2uYEA==} + + bplist-creator@0.1.0: + resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} + + bplist-parser@0.3.1: + resolution: {integrity: sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==} + engines: {node: '>= 5.10.0'} + + bplist-parser@0.3.2: + resolution: {integrity: sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==} + engines: {node: '>= 5.10.0'} + + 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.25.1: + resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + browserslist@4.26.2: + resolution: {integrity: sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-alloc-unsafe@1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + + buffer-alloc@1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + + buffer-fill@1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + cacache@18.0.4: + resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + caller-callsite@2.0.0: + resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} + engines: {node: '>=4'} + + caller-path@2.0.0: + resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} + engines: {node: '>=4'} + + callsites@2.0.0: + resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} + engines: {node: '>=4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001731: + resolution: {integrity: sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg==} + + caniuse-lite@1.0.30001743: + resolution: {integrity: sha512-e6Ojr7RV14Un7dz6ASD0aZDmQPT/A+eZU+nuTNfjqmRrmkmQlnTNWH0SKmqagx9PeW87UVqapSurtAXifmtdmw==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@5.2.1: + resolution: {integrity: sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==} + engines: {node: '>=18'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + + chrome-launcher@0.15.2: + resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} + engines: {node: '>=12.13.0'} + hasBin: true + + chromium-edge-launcher@0.2.0: + resolution: {integrity: sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==} + + ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + class-variance-authority@0.7.1: + resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + + classnames@2.5.1: + resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-cursor@2.1.0: + resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} + engines: {node: '>=4'} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + cmdk@1.1.1: + resolution: {integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==} + peerDependencies: + react: ^18 || ^19 || ^19.0.0-rc + react-dom: ^18 || ^19 || ^19.0.0-rc + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + compare-versions@6.1.1: + resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} + + component-type@1.2.2: + resolution: {integrity: sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.8.1: + resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} + engines: {node: '>= 0.8.0'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concurrently@9.2.0: + resolution: {integrity: sha512-IsB/fiXTupmagMW4MNp2lx2cdSN2FfZq78vF90LBB+zZHArbIQZjQtzXCiXnvTxCZSvXanTqFLWBjw2UkLx1SQ==} + engines: {node: '>=18'} + hasBin: true + + connect@3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-es@1.2.2: + resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.7.1: + resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + engines: {node: '>= 0.6'} + + cookie@1.0.2: + resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} + engines: {node: '>=18'} + + core-js-compat@3.45.1: + resolution: {integrity: sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==} + + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + + cosmiconfig@5.2.1: + resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} + engines: {node: '>=4'} + + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + + cross-spawn@6.0.6: + resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} + engines: {node: '>=4.8'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + + crypto-random-string@2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + + css-in-js-utils@3.1.0: + resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} + + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + date-fns-jalali@4.1.0-0: + resolution: {integrity: sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==} + + date-fns@4.1.0: + resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} + engines: {node: '>=6'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@4.2.0: + resolution: {integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==} + engines: {node: '>=6'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + del@6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-libc@2.0.4: + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + engines: {node: '>=8'} + + detect-node-es@1.1.0: + resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + diff@8.0.2: + resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + + dotenv-expand@11.0.7: + resolution: {integrity: sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==} + engines: {node: '>=12'} + + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.194: + resolution: {integrity: sha512-SdnWJwSUot04UR51I2oPD8kuP2VI37/CADR1OHsFOUzZIvfWJBO6q11k5P/uKNyTT3cdOsnyjkrZ+DDShqYqJA==} + + electron-to-chromium@1.5.221: + resolution: {integrity: sha512-/1hFJ39wkW01ogqSyYoA4goOXOtMRy6B+yvA1u42nnsEGtHzIzmk93aPISumVQeblj47JUHLC9coCjUxb1EvtQ==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + end-of-stream@1.4.5: + resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} + + enhanced-resolve@5.18.2: + resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==} + engines: {node: '>=10.13.0'} + + env-editor@0.4.2: + resolution: {integrity: sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==} + engines: {node: '>=8'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + error-stack-parser-es@1.0.5: + resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} + + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + + 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-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + 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'} + + esbuild@0.25.4: + resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.25.8: + resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + eslint-plugin-react-dom@1.52.3: + resolution: {integrity: sha512-HUMzOYrgRdT6di+OMMJWBCbIB9yY3YUkLvDhExsfap0HX3X1EpZutEWdQg4CMthF2rslYMMF2cnN5pOVrQ5Rkw==} + engines: {node: '>=18.18.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ^4.9.5 || ^5.3.3 + peerDependenciesMeta: + typescript: + optional: true + + eslint-plugin-react-hooks@5.2.0: + resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} + 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 + + eslint-plugin-react-refresh@0.4.20: + resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==} + peerDependencies: + eslint: '>=8.40' + + eslint-plugin-react-x@1.52.3: + resolution: {integrity: sha512-Sds4CXHtdgaCdzoypcY3DSshS0JtK2Eh+QbpUAPUqs0UWQ3qtQKxY0nntTSYeF+GXDfOdAYDkl/8+VFpHQwIKg==} + engines: {node: '>=18.18.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + ts-api-utils: ^2.1.0 + typescript: ^4.9.5 || ^5.3.3 + peerDependenciesMeta: + ts-api-utils: + optional: true + typescript: + optional: true + + 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.32.0: + resolution: {integrity: sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==} + 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} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + 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'} + + estree-util-is-identifier-name@3.0.0: + resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + eventsource-parser@3.0.3: + resolution: {integrity: sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA==} + engines: {node: '>=20.0.0'} + + eventsource@4.0.0: + resolution: {integrity: sha512-fvIkb9qZzdMxgZrEQDyll+9oJsyaVvY92I2Re+qK0qEJ+w5s0X3dtz+M0VAPOjP1gtU3iqWyjQ0G3nvd5CLZ2g==} + engines: {node: '>=20.0.0'} + + exec-async@2.2.0: + resolution: {integrity: sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==} + + execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit-hook@2.2.1: + resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} + engines: {node: '>=6'} + + expect-type@1.2.2: + resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} + engines: {node: '>=12.0.0'} + + expo-application@6.0.2: + resolution: {integrity: sha512-qcj6kGq3mc7x5yIb5KxESurFTJCoEKwNEL34RdPEvTB/xhl7SeVZlu05sZBqxB1V4Ryzq/LsCb7NHNfBbb3L7A==} + peerDependencies: + expo: '*' + + expo-asset@11.0.5: + resolution: {integrity: sha512-TL60LmMBGVzs3NQcO8ylWqBumMh4sx0lmeJsn7+9C88fylGDhyyVnKZ1PyTXo9CVDBkndutZx2JUEQWM9BaiXw==} + peerDependencies: + expo: '*' + react: '*' + react-native: '*' + + expo-auth-session@6.0.3: + resolution: {integrity: sha512-s7LmmMPiiY1NXrlcXkc4+09Hlfw9X1CpaQOCDkwfQEodG1uCYGQi/WImTnDzw5YDkWI79uC8F1mB8EIerilkDA==} + peerDependencies: + react: '*' + react-native: '*' + + expo-constants@17.0.8: + resolution: {integrity: sha512-XfWRyQAf1yUNgWZ1TnE8pFBMqGmFP5Gb+SFSgszxDdOoheB/NI5D4p7q86kI2fvGyfTrxAe+D+74nZkfsGvUlg==} + peerDependencies: + expo: '*' + react-native: '*' + + expo-crypto@14.0.2: + resolution: {integrity: sha512-WRc9PBpJraJN29VD5Ef7nCecxJmZNyRKcGkNiDQC1nhY5agppzwhqh7zEzNFarE/GqDgSiaDHS8yd5EgFhP9AQ==} + peerDependencies: + expo: '*' + + expo-dev-client@5.0.20: + resolution: {integrity: sha512-bLNkHdU7V3I4UefgJbJnIDUBUL0LxIal/xYEx9BbgDd3B7wgQKY//+BpPIxBOKCQ22lkyiHY8y9tLhO903sAgg==} + peerDependencies: + expo: '*' + + expo-dev-launcher@5.0.35: + resolution: {integrity: sha512-hEQr0ZREnUMxZ6wtQgfK1lzYnbb0zar3HqYZhmANzXmE6UEPbQ4GByLzhpfz/d+xxdBVQZsrHdtiV28KPG2sog==} + peerDependencies: + expo: '*' + + expo-dev-menu-interface@1.9.3: + resolution: {integrity: sha512-KY/dWTBE1l47i9V366JN5rC6YIdOc9hz8yAmZzkl5DrPia5l3M2WIjtnpHC9zUkNjiSiG2urYoOAq4H/uLdmyg==} + peerDependencies: + expo: '*' + + expo-dev-menu@6.0.25: + resolution: {integrity: sha512-K2m4z/I+CPWbMtHlDzU68lHaQs52De0v5gbsjAmA5ig8FrYh4MKZvPxSVANaiKENzgmtglu8qaFh7ua9Gt2TfA==} + peerDependencies: + expo: '*' + + expo-file-system@18.0.12: + resolution: {integrity: sha512-HAkrd/mb8r+G3lJ9MzmGeuW2B+BxQR1joKfeCyY4deLl1zoZ48FrAWjgZjHK9aHUVhJ0ehzInu/NQtikKytaeg==} + peerDependencies: + expo: '*' + react-native: '*' + + expo-font@13.0.4: + resolution: {integrity: sha512-eAP5hyBgC8gafFtprsz0HMaB795qZfgJWqTmU0NfbSin1wUuVySFMEPMOrTkTgmazU73v4Cb4x7p86jY1XXYUw==} + peerDependencies: + expo: '*' + react: '*' + + expo-json-utils@0.14.0: + resolution: {integrity: sha512-xjGfK9dL0B1wLnOqNkX0jM9p48Y0I5xEPzHude28LY67UmamUyAACkqhZGaPClyPNfdzczk7Ej6WaRMT3HfXvw==} + + expo-keep-awake@14.0.3: + resolution: {integrity: sha512-6Jh94G6NvTZfuLnm2vwIpKe3GdOiVBuISl7FI8GqN0/9UOg9E0WXXp5cDcfAG8bn80RfgLJS8P7EPUGTZyOvhg==} + peerDependencies: + expo: '*' + react: '*' + + expo-linear-gradient@14.0.2: + resolution: {integrity: sha512-nvac1sPUfFFJ4mY25UkvubpUV/olrBH+uQw5k+beqSvQaVQiUfFtYzfRr+6HhYBNb4AEsOtpsCRkpDww3M2iGQ==} + peerDependencies: + expo: '*' + react: '*' + react-native: '*' + + expo-linking@7.0.5: + resolution: {integrity: sha512-3KptlJtcYDPWohk0MfJU75MJFh2ybavbtcSd84zEPfw9s1q3hjimw3sXnH03ZxP54kiEWldvKmmnGcVffBDB1g==} + peerDependencies: + react: '*' + react-native: '*' + + expo-manifests@0.15.8: + resolution: {integrity: sha512-VuIyaMfRfLZeETNsRohqhy1l7iZ7I+HKMPfZXVL2Yn17TT0WkOhZoq1DzYwPbOHPgp1Uk6phNa86EyaHrD2DLw==} + peerDependencies: + expo: '*' + + expo-modules-autolinking@2.0.8: + resolution: {integrity: sha512-DezgnEYFQYic8hKGhkbztBA3QUmSftjaNDIKNAtS2iGJmzCcNIkatjN2slFDSWjSTNo8gOvPQyMKfyHWFvLpOQ==} + hasBin: true + + expo-modules-core@2.2.3: + resolution: {integrity: sha512-01QqZzpP/wWlxnNly4G06MsOBUTbMDj02DQigZoXfDh80vd/rk3/uVXqnZgOdLSggTs6DnvOgAUy0H2q30XdUg==} + + expo-router@4.0.21: + resolution: {integrity: sha512-z1U9cGZbgL+ZSHp533VMobOqdkUpFBlDXBpd9/JH+Q0wW49is0G2PrJVUYMzdwr30HSUltdO/19W8rRwjfOnFw==} + peerDependencies: + '@react-navigation/drawer': ^7.1.1 + '@testing-library/jest-native': '*' + expo: '*' + expo-constants: ~17.0.8 + expo-linking: ~7.0.5 + react-native-reanimated: '*' + react-native-safe-area-context: '*' + react-native-screens: '*' + peerDependenciesMeta: + '@react-navigation/drawer': + optional: true + '@testing-library/jest-native': + optional: true + react-native-reanimated: + optional: true + + expo-secure-store@14.0.1: + resolution: {integrity: sha512-QUS+j4+UG4jRQalgnpmTvvrFnMVLqPiUZRzYPnG3+JrZ5kwVW2w6YS3WWerPoR7C6g3y/a2htRxRSylsDs+TaQ==} + peerDependencies: + expo: '*' + + expo-splash-screen@0.29.24: + resolution: {integrity: sha512-k2rdjbb3Qeg4g104Sdz6+qXXYba8QgiuZRSxHX8IpsSYiiTU48BmCCGy12sN+O1B+sD1/+WPL4duCa1Fy6+Y4g==} + peerDependencies: + expo: '*' + + expo-status-bar@2.0.1: + resolution: {integrity: sha512-AkIPX7jWHRPp83UBZ1iXtVvyr0g+DgBVvIXTtlmPtmUsm8Vq9Bb5IGj86PW8osuFlgoTVAg7HI/+Ok7yEYwiRg==} + peerDependencies: + react: '*' + react-native: '*' + + expo-system-ui@4.0.9: + resolution: {integrity: sha512-hqBc0EWeK/BTB8i4H84vqNjje8GgxhapYrcWdg5qriaRA/u+bNNxhmpZXdAjFuhonOP4SmAbF+gjoJJWsTrhUg==} + peerDependencies: + expo: '*' + react-native: '*' + react-native-web: '*' + peerDependenciesMeta: + react-native-web: + optional: true + + expo-updates-interface@1.0.0: + resolution: {integrity: sha512-93oWtvULJOj+Pp+N/lpTcFfuREX1wNeHtp7Lwn8EbzYYmdn37MvZU3TPW2tYYCZuhzmKEXnUblYcruYoDu7IrQ==} + peerDependencies: + expo: '*' + + expo-web-browser@14.0.2: + resolution: {integrity: sha512-Hncv2yojhTpHbP6SGWARBFdl7P6wBHc1O8IKaNsH0a/IEakq887o1eRhLxZ5IwztPQyRDhpqHdgJ+BjWolOnwA==} + peerDependencies: + expo: '*' + react-native: '*' + + expo@52.0.47: + resolution: {integrity: sha512-Mkvl7Qi2k+V3FdNRUD+yDj8GqU4IiYulLfl36BmSZs8lh/kCYPhTiyBLiEGPfz7d25QKbPWG727ESozbkbvatw==} + hasBin: true + peerDependencies: + '@expo/dom-webview': '*' + '@expo/metro-runtime': '*' + react: '*' + react-native: '*' + react-native-webview: '*' + peerDependenciesMeta: + '@expo/dom-webview': + optional: true + '@expo/metro-runtime': + optional: true + react-native-webview: + optional: true + + exponential-backoff@3.1.2: + resolution: {integrity: sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==} + + express@4.21.2: + resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + engines: {node: '>= 0.10.0'} + + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + fast-content-type-parse@3.0.0: + resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + 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==} + + fast-loops@1.1.4: + resolution: {integrity: sha512-8dbd3XWoKCTms18ize6JmQF1SFnnfj5s0B7rRry22EofgMu7B6LKHVh+XfFqFGsqnbH54xgeO83PzpKI+ODhlg==} + + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fbemitter@3.0.0: + resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==} + + fbjs-css-vars@1.0.2: + resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} + + fbjs@3.0.5: + resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + + fdir@6.4.6: + resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + fetch-retry@4.1.1: + resolution: {integrity: sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==} + + fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + + 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'} + + filter-obj@1.1.0: + resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} + engines: {node: '>=0.10.0'} + + finalhandler@1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + + finalhandler@1.3.1: + resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + engines: {node: '>= 0.8'} + + find-cache-dir@2.1.0: + resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} + engines: {node: '>=6'} + + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + 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==} + + flow-enums-runtime@0.0.6: + resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} + + flow-parser@0.283.0: + resolution: {integrity: sha512-PNpYZX8guJSDiHv7DQo+BLgiRNjbUQrag52b/8/znK+n0kGBbGtG9Smklb0VRdBdHg+UYKk9hSpWez3nXI5nEw==} + engines: {node: '>=0.4.0'} + + fontfaceobserver@2.3.0: + resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + form-data@3.0.4: + resolution: {integrity: sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==} + engines: {node: '>= 6'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + freeport-async@2.0.0: + resolution: {integrity: sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==} + engines: {node: '>=8'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@9.0.0: + resolution: {integrity: sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==} + engines: {node: '>=10'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + 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==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-port@7.1.0: + resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} + engines: {node: '>=16'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-tsconfig@4.10.1: + resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + + getenv@1.0.0: + resolution: {integrity: sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==} + engines: {node: '>=6'} + + 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'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globals@16.3.0: + resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} + engines: {node: '>=18'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + goober@2.1.16: + resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==} + peerDependencies: + csstype: ^3.0.10 + + 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==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + happy-dom@18.0.1: + resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==} + engines: {node: '>=20.0.0'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + 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'} + + hast-util-to-jsx-runtime@2.3.6: + resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hermes-estree@0.23.1: + resolution: {integrity: sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==} + + hermes-estree@0.25.1: + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + + hermes-parser@0.23.1: + resolution: {integrity: sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==} + + hermes-parser@0.25.1: + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + + hono@4.8.10: + resolution: {integrity: sha512-DRMYbR3aFk6YET1FCSAFbgF2cWYTz5j0YAFYPECx9fmrbKBDAYnWU+YCgRTpOaatxMYN6e68U/2IG39zRP4W/A==} + engines: {node: '>=16.9.0'} + + hosted-git-info@7.0.2: + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-url-attributes@3.0.1: + resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + hyphenate-style-name@1.1.0: + resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + 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'} + + image-size@1.2.1: + resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} + engines: {node: '>=16.x'} + hasBin: true + + import-fresh@2.0.0: + resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} + 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'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + + inline-style-prefixer@6.0.4: + resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==} + + internal-ip@4.3.0: + resolution: {integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==} + engines: {node: '>=6'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ip-regex@2.1.0: + resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} + engines: {node: '>=4'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-directory@0.3.1: + resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} + engines: {node: '>=0.10.0'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-immutable-type@5.0.1: + resolution: {integrity: sha512-LkHEOGVZZXxGl8vDs+10k3DvP++SEoYEAJLRk6buTFi6kD7QekThV7xHS0j6gpnUCQ0zpud/gMDGiV4dQneLTg==} + peerDependencies: + eslint: '*' + typescript: '>=4.7.4' + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} - '@radix-ui/react-use-effect-event@0.0.2': - resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} - '@radix-ui/react-use-escape-keydown@1.1.1': - resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} - '@radix-ui/react-use-is-hydrated@0.1.0': - resolution: {integrity: sha512-U+UORVEq+cTnRIaostJv9AGdV3G6Y+zbVd+12e18jQ5A3c0xL03IhnHuiU4UV69wolOQp5GfR58NW/EgdQhwOA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} - '@radix-ui/react-use-layout-effect@1.1.1': - resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + isbot@5.1.29: + resolution: {integrity: sha512-DelDWWoa3mBoyWTq3wjp+GIWx/yZdN7zLUE7NFhKjAiJ+uJVRkbLlwykdduCE4sPUUy8mlTYTmdhBUYu91F+sw==} + engines: {node: '>=18'} - '@radix-ui/react-use-previous@1.1.1': - resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - '@radix-ui/react-use-rect@1.1.1': - resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} - '@radix-ui/react-use-size@1.1.1': - resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} - '@radix-ui/react-visually-hidden@1.2.3': - resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} - '@radix-ui/rect@1.1.1': - resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} - '@rolldown/pluginutils@1.0.0-beta.27': - resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} + istanbul-lib-source-maps@5.0.6: + resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} + engines: {node: '>=10'} - '@rollup/plugin-replace@6.0.2': - resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} - '@rollup/pluginutils@5.2.0': - resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - '@rollup/rollup-android-arm-eabi@4.46.2': - resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} - cpu: [arm] - os: [android] + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@rollup/rollup-android-arm64@4.46.2': - resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} - cpu: [arm64] - os: [android] + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@rollup/rollup-darwin-arm64@4.46.2': - resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} - cpu: [arm64] - os: [darwin] + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@rollup/rollup-darwin-x64@4.46.2': - resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} - cpu: [x64] - os: [darwin] + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@rollup/rollup-freebsd-arm64@4.46.2': - resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} - cpu: [arm64] - os: [freebsd] + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@rollup/rollup-freebsd-x64@4.46.2': - resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} - cpu: [x64] - os: [freebsd] + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@rollup/rollup-linux-arm-gnueabihf@4.46.2': - resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} - cpu: [arm] - os: [linux] + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@rollup/rollup-linux-arm-musleabihf@4.46.2': - resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} - cpu: [arm] - os: [linux] + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@rollup/rollup-linux-arm64-gnu@4.46.2': - resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} - cpu: [arm64] - os: [linux] + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@rollup/rollup-linux-arm64-musl@4.46.2': - resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} - cpu: [arm64] - os: [linux] + jimp-compact@0.16.1: + resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==} - '@rollup/rollup-linux-loongarch64-gnu@4.46.2': - resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} - cpu: [loong64] - os: [linux] + jiti@2.5.1: + resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} + hasBin: true - '@rollup/rollup-linux-ppc64-gnu@4.46.2': - resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} - cpu: [ppc64] - os: [linux] + join-component@1.1.0: + resolution: {integrity: sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==} - '@rollup/rollup-linux-riscv64-gnu@4.46.2': - resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} - cpu: [riscv64] - os: [linux] + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - '@rollup/rollup-linux-riscv64-musl@4.46.2': - resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} - cpu: [riscv64] - os: [linux] + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - '@rollup/rollup-linux-s390x-gnu@4.46.2': - resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} - cpu: [s390x] - os: [linux] + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true - '@rollup/rollup-linux-x64-gnu@4.46.2': - resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} - cpu: [x64] - os: [linux] + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true - '@rollup/rollup-linux-x64-musl@4.46.2': - resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} - cpu: [x64] - os: [linux] + jsc-android@250231.0.0: + resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} - '@rollup/rollup-win32-arm64-msvc@4.46.2': - resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} - cpu: [arm64] - os: [win32] + jsc-safe-url@0.2.4: + resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} - '@rollup/rollup-win32-ia32-msvc@4.46.2': - resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} - cpu: [ia32] - os: [win32] + jscodeshift@0.14.0: + resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} + hasBin: true + peerDependencies: + '@babel/preset-env': ^7.1.6 - '@rollup/rollup-win32-x64-msvc@4.46.2': - resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} - cpu: [x64] - os: [win32] + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true - '@sindresorhus/is@7.0.2': - resolution: {integrity: sha512-d9xRovfKNz1SKieM0qJdO+PQonjnnIfSNWfHYnBSJ9hkjm0ZPw6HlxscDXYstp3z+7V2GOFHc+J0CYrYTjqCJw==} - engines: {node: '>=18'} + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true - '@speed-highlight/core@1.2.7': - resolution: {integrity: sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==} + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - '@swc/core-darwin-arm64@1.13.3': - resolution: {integrity: sha512-ux0Ws4pSpBTqbDS9GlVP354MekB1DwYlbxXU3VhnDr4GBcCOimpocx62x7cFJkSpEBF8bmX8+/TTCGKh4PbyXw==} - engines: {node: '>=10'} - cpu: [arm64] - os: [darwin] + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - '@swc/core-darwin-x64@1.13.3': - resolution: {integrity: sha512-p0X6yhxmNUOMZrbeZ3ZNsPige8lSlSe1llllXvpCLkKKxN/k5vZt1sULoq6Nj4eQ7KeHQVm81/+AwKZyf/e0TA==} - engines: {node: '>=10'} - cpu: [x64] - os: [darwin] + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - '@swc/core-linux-arm-gnueabihf@1.13.3': - resolution: {integrity: sha512-OmDoiexL2fVWvQTCtoh0xHMyEkZweQAlh4dRyvl8ugqIPEVARSYtaj55TBMUJIP44mSUOJ5tytjzhn2KFxFcBA==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux] + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - '@swc/core-linux-arm64-gnu@1.13.3': - resolution: {integrity: sha512-STfKku3QfnuUj6k3g9ld4vwhtgCGYIFQmsGPPgT9MK/dI3Lwnpe5Gs5t1inoUIoGNP8sIOLlBB4HV4MmBjQuhw==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - '@swc/core-linux-arm64-musl@1.13.3': - resolution: {integrity: sha512-bc+CXYlFc1t8pv9yZJGus372ldzOVscBl7encUBlU1m/Sig0+NDJLz6cXXRcFyl6ABNOApWeR4Yl7iUWx6C8og==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux] + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - '@swc/core-linux-x64-gnu@1.13.3': - resolution: {integrity: sha512-dFXoa0TEhohrKcxn/54YKs1iwNeW6tUkHJgXW33H381SvjKFUV53WR231jh1sWVJETjA3vsAwxKwR23s7UCmUA==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true - '@swc/core-linux-x64-musl@1.13.3': - resolution: {integrity: sha512-ieyjisLB+ldexiE/yD8uomaZuZIbTc8tjquYln9Quh5ykOBY7LpJJYBWvWtm1g3pHv6AXlBI8Jay7Fffb6aLfA==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux] + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - '@swc/core-win32-arm64-msvc@1.13.3': - resolution: {integrity: sha512-elTQpnaX5vESSbhCEgcwXjpMsnUbqqHfEpB7ewpkAsLzKEXZaK67ihSRYAuAx6ewRQTo7DS5iTT6X5aQD3MzMw==} - engines: {node: '>=10'} - cpu: [arm64] - os: [win32] + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - '@swc/core-win32-ia32-msvc@1.13.3': - resolution: {integrity: sha512-nvehQVEOdI1BleJpuUgPLrclJ0TzbEMc+MarXDmmiRFwEUGqj+pnfkTSb7RZyS1puU74IXdK/YhTirHurtbI9w==} - engines: {node: '>=10'} - cpu: [ia32] - os: [win32] + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - '@swc/core-win32-x64-msvc@1.13.3': - resolution: {integrity: sha512-A+JSKGkRbPLVV2Kwx8TaDAV0yXIXm/gc8m98hSkVDGlPBBmydgzNdWy3X7HTUBM7IDk7YlWE7w2+RUGjdgpTmg==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} - '@swc/core@1.13.3': - resolution: {integrity: sha512-ZaDETVWnm6FE0fc+c2UE8MHYVS3Fe91o5vkmGfgwGXFbxYvAjKSqxM/j4cRc9T7VZNSJjriXq58XkfCp3Y6f+w==} - engines: {node: '>=10'} - peerDependencies: - '@swc/helpers': '>=0.5.17' - peerDependenciesMeta: - '@swc/helpers': - optional: true + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} - '@swc/counter@0.1.3': - resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} - '@swc/types@0.1.23': - resolution: {integrity: sha512-u1iIVZV9Q0jxY+yM2vw/hZGDNudsN85bBpTqzAQ9rzkxW9D+e3aEM4Han+ow518gSewkXgjmEK0BD79ZcNVgPw==} + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} - '@tailwindcss/node@4.1.11': - resolution: {integrity: sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==} + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} - '@tailwindcss/oxide-android-arm64@4.1.11': - resolution: {integrity: sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==} - engines: {node: '>= 10'} + lighthouse-logger@1.4.2: + resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} + + lightningcss-darwin-arm64@1.27.0: + resolution: {integrity: sha512-Gl/lqIXY+d+ySmMbgDf0pgaWSqrWYxVHoc88q+Vhf2YNzZ8DwoRzGt5NZDVqqIW5ScpSnmmjcgXP87Dn2ylSSQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] - os: [android] + os: [darwin] - '@tailwindcss/oxide-darwin-arm64@4.1.11': - resolution: {integrity: sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==} - engines: {node: '>= 10'} + lightningcss-darwin-arm64@1.30.1: + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.1.11': - resolution: {integrity: sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==} - engines: {node: '>= 10'} + lightningcss-darwin-x64@1.27.0: + resolution: {integrity: sha512-0+mZa54IlcNAoQS9E0+niovhyjjQWEMrwW0p2sSdLRhLDc8LMQ/b67z7+B5q4VmjYCMSfnFi3djAAQFIDuj/Tg==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.1.11': - resolution: {integrity: sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==} - engines: {node: '>= 10'} + lightningcss-darwin-x64@1.30.1: + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.27.0: + resolution: {integrity: sha512-n1sEf85fePoU2aDN2PzYjoI8gbBqnmLGEhKq7q0DKLj0UTVmOTwDC7PtLcy/zFxzASTSBlVQYJUhwIStQMIpRA==} + engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11': - resolution: {integrity: sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==} - engines: {node: '>= 10'} + lightningcss-freebsd-x64@1.30.1: + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.27.0: + resolution: {integrity: sha512-MUMRmtdRkOkd5z3h986HOuNBD1c2lq2BSQA1Jg88d9I7bmPGx08bwGcnB75dvr17CwxjxD6XPi3Qh8ArmKFqCA==} + engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.1.11': - resolution: {integrity: sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==} - engines: {node: '>= 10'} - cpu: [arm64] + lightningcss-linux-arm-gnueabihf@1.30.1: + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-musl@4.1.11': - resolution: {integrity: sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==} - engines: {node: '>= 10'} + lightningcss-linux-arm64-gnu@1.27.0: + resolution: {integrity: sha512-cPsxo1QEWq2sfKkSq2Bq5feQDHdUEwgtA9KaB27J5AX22+l4l0ptgjMZZtYtUnteBofjee+0oW1wQ1guv04a7A==} + engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-x64-gnu@4.1.11': - resolution: {integrity: sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==} - engines: {node: '>= 10'} - cpu: [x64] + lightningcss-linux-arm64-gnu@1.30.1: + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] os: [linux] - '@tailwindcss/oxide-linux-x64-musl@4.1.11': - resolution: {integrity: sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==} - engines: {node: '>= 10'} - cpu: [x64] + lightningcss-linux-arm64-musl@1.27.0: + resolution: {integrity: sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] os: [linux] - '@tailwindcss/oxide-wasm32-wasi@4.1.11': - resolution: {integrity: sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==} - 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.11': - resolution: {integrity: sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==} - engines: {node: '>= 10'} + lightningcss-linux-arm64-musl@1.30.1: + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} cpu: [arm64] - os: [win32] + os: [linux] - '@tailwindcss/oxide-win32-x64-msvc@4.1.11': - resolution: {integrity: sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==} - engines: {node: '>= 10'} + lightningcss-linux-x64-gnu@1.27.0: + resolution: {integrity: sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==} + engines: {node: '>= 12.0.0'} cpu: [x64] - os: [win32] + os: [linux] - '@tailwindcss/oxide@4.1.11': - resolution: {integrity: sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==} - engines: {node: '>= 10'} + lightningcss-linux-x64-gnu@1.30.1: + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] - '@tailwindcss/typography@0.5.16': - resolution: {integrity: sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==} - peerDependencies: - tailwindcss: '>=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1' + lightningcss-linux-x64-musl@1.27.0: + resolution: {integrity: sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] - '@tailwindcss/vite@4.1.11': - resolution: {integrity: sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw==} - peerDependencies: - vite: ^5.2.0 || ^6 || ^7 + lightningcss-linux-x64-musl@1.30.1: + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] - '@tanstack/history@1.130.12': - resolution: {integrity: sha512-2VO1nNFDWojgZ7Uqv/OJfH6LphZQ1kE6l8sI3YBgSPtj3qN6I/rsoTHW9rGjwiDO8sQoDRXod2hpH6HMs5NDsw==} - engines: {node: '>=12'} + lightningcss-win32-arm64-msvc@1.27.0: + resolution: {integrity: sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] - '@tanstack/react-router-devtools@1.130.12': - resolution: {integrity: sha512-Qe+VZ48qyN6CDTCz7zmluEyAgSedtbunQwthayNhmTXEqa2uwMgFPIWjOZXhaoh2CStCpGocK1jcW6hUBgIIbw==} - engines: {node: '>=12'} - peerDependencies: - '@tanstack/react-router': ^1.130.12 - react: '>=18.0.0 || >=19.0.0' - react-dom: '>=18.0.0 || >=19.0.0' + lightningcss-win32-arm64-msvc@1.30.1: + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] - '@tanstack/react-router@1.130.12': - resolution: {integrity: sha512-7BYgOpGc1vK8MH1LIFLLBudGpH46GQy+hewnP7dNQJ4KHmkwPHv958L1IMA9jU/rs5g1ZH5n1f33BAMOBXUMYQ==} - engines: {node: '>=12'} - peerDependencies: - react: '>=18.0.0 || >=19.0.0' - react-dom: '>=18.0.0 || >=19.0.0' + lightningcss-win32-x64-msvc@1.27.0: + resolution: {integrity: sha512-/OJLj94Zm/waZShL8nB5jsNj3CfNATLCTyFxZyouilfTmSoLDX7VlVAmhPHoZWVFp4vdmoiEbPEYC8HID3m6yw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] - '@tanstack/react-store@0.7.3': - resolution: {integrity: sha512-3Dnqtbw9P2P0gw8uUM8WP2fFfg8XMDSZCTsywRPZe/XqqYW8PGkXKZTvP0AHkE4mpqP9Y43GpOg9vwO44azu6Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + lightningcss-win32-x64-msvc@1.30.1: + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] - '@tanstack/router-core@1.130.12': - resolution: {integrity: sha512-emq3cRU9Na1hnIToojzkfJcOZm/MG2bv9M+Kr/elUxEf83enGEwQXC1EKezTuwNgeJrOv8vPJdEhWM7IQodnHQ==} - engines: {node: '>=12'} + lightningcss@1.27.0: + resolution: {integrity: sha512-8f7aNmS1+etYSLHht0fQApPc2kNO8qGRutifN5rVIc6Xo6ABsEbqOr758UwI7ALVbTt4x1fllKt0PYgzD9S3yQ==} + engines: {node: '>= 12.0.0'} - '@tanstack/router-devtools-core@1.130.12': - resolution: {integrity: sha512-cqXUEV/VQi5MaV2o0/0EnQIPTY5WkSMRT8vkHOI2XQoemTORfA7G4TBgrK7XH2fmTjOqjfuxjg94JCTKlG6h+g==} - engines: {node: '>=12'} - peerDependencies: - '@tanstack/router-core': ^1.130.12 - csstype: ^3.0.10 - solid-js: '>=1.9.5' - tiny-invariant: ^1.3.3 - peerDependenciesMeta: - csstype: - optional: true + lightningcss@1.30.1: + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} - '@tanstack/router-generator@1.130.12': - resolution: {integrity: sha512-FmJMKiycv9NBbSGvH30mMsvoS7f6o1OM/rDjUFoUtgZA4hTp4fKZkdgvWHSp1eunL+1v+HtCQ8liuacNBN+j9w==} - engines: {node: '>=12'} + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - '@tanstack/router-plugin@1.130.12': - resolution: {integrity: sha512-uL0Utb8pSwCe0jmE8aFCKoN5yMMUyeYWqfhCU7pczz7aeJG7vdNf9JNUEjZHhqo4HAtshxc/jKJItL1j5gl91A==} - engines: {node: '>=12'} - peerDependencies: - '@rsbuild/core': '>=1.0.2' - '@tanstack/react-router': ^1.130.12 - vite: '>=5.0.0 || >=6.0.0' - vite-plugin-solid: ^2.11.2 - webpack: '>=5.92.0' - peerDependenciesMeta: - '@rsbuild/core': - optional: true - '@tanstack/react-router': - optional: true - vite: - optional: true - vite-plugin-solid: - optional: true - webpack: - optional: true + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} - '@tanstack/router-utils@1.130.12': - resolution: {integrity: sha512-vyk7qduNrVrJWgUXHqRyZrFLOL9YJ/4ycN5PbJ2cLRBln01NkG/abKTHi32V31yMehxkxAO0EoicicvalnV0FA==} - engines: {node: '>=12'} + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} - '@tanstack/store@0.7.2': - resolution: {integrity: sha512-RP80Z30BYiPX2Pyo0Nyw4s1SJFH2jyM6f9i3HfX4pA+gm5jsnYryscdq2aIQLnL4TaGuQMO+zXmN9nh1Qck+Pg==} + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} - '@tanstack/virtual-file-routes@1.129.7': - resolution: {integrity: sha512-a+MxoAXG+Sq94Jp67OtveKOp2vQq75AWdVI8DRt6w19B0NEqpfm784FTLbVp/qdR1wmxCOmKAvElGSIiBOx5OQ==} - engines: {node: '>=12'} + lodash.castarray@4.4.0: + resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} - '@testing-library/dom@10.4.1': - resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} - engines: {node: '>=18'} + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - '@testing-library/jest-dom@6.6.4': - resolution: {integrity: sha512-xDXgLjVunjHqczScfkCJ9iyjdNOVHvvCdqHSSxwM9L0l/wHkTRum67SDc020uAlCoqktJplgO2AAQeLP1wgqDQ==} - engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - '@testing-library/react@16.3.0': - resolution: {integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==} - engines: {node: '>=18'} - peerDependencies: - '@testing-library/dom': ^10.0.0 - '@types/react': ^18.0.0 || ^19.0.0 - '@types/react-dom': ^18.0.0 || ^19.0.0 - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - '@testing-library/user-event@14.6.1': - resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} - engines: {node: '>=12', npm: '>=6'} - peerDependencies: - '@testing-library/dom': '>=7.21.4' + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} - '@types/aria-query@5.0.4': - resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - '@types/aws-lambda@8.10.152': - resolution: {integrity: sha512-soT/c2gYBnT5ygwiHPmd9a1bftj462NWVk2tKCc1PYHSIacB2UwbTS2zYG4jzag1mRDuzg/OjtxQjQ2NKRB6Rw==} + log-symbols@2.2.0: + resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} + engines: {node: '>=4'} - '@types/chai@5.2.2': - resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true - '@types/deep-eql@4.0.2': - resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + loupe@3.2.0: + resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==} - '@types/estree-jsx@1.0.5': - resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - '@types/estree@1.0.8': - resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + lucide-react@0.525.0: + resolution: {integrity: sha512-Tm1txJ2OkymCGkvwoHt33Y2JpN5xucVq1slHcgE6Lk0WjDfjgKWor5CdVER8U6DvcfMwh4M8XxmpTiyzfmfDYQ==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true - '@types/mdast@4.0.4': - resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + magicast@0.3.5: + resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} - '@types/node@20.19.10': - resolution: {integrity: sha512-iAFpG6DokED3roLSP0K+ybeDdIX6Bc0Vd3mLW5uDqThPWtNos3E+EqOM11mPQHKzfWHqEBuLjIlsBQQ8CsISmQ==} + make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} - '@types/node@24.1.0': - resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} - '@types/parse-json@4.0.2': - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - '@types/prismjs@1.26.5': - resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - '@types/react-dom@19.1.7': - resolution: {integrity: sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==} - peerDependencies: - '@types/react': ^19.0.0 + marky@1.3.0: + resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} - '@types/react@19.1.9': - resolution: {integrity: sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA==} + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} - '@types/unist@2.0.11': - resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + md5-file@3.2.3: + resolution: {integrity: sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==} + engines: {node: '>=0.10'} + hasBin: true - '@types/unist@3.0.3': - resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} - '@types/whatwg-mimetype@3.0.2': - resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - '@typescript-eslint/eslint-plugin@8.38.0': - resolution: {integrity: sha512-CPoznzpuAnIOl4nhj4tRr4gIPj5AfKgkiJmGQDaq+fQnRJTYlcBjbX3wbciGmpoPf8DREufuPRe1tNMZnGdanA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.38.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} - '@typescript-eslint/parser@8.38.0': - resolution: {integrity: sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} - '@typescript-eslint/project-service@8.38.0': - resolution: {integrity: sha512-dbK7Jvqcb8c9QfH01YB6pORpqX1mn5gDZc9n63Ak/+jD67oWXn3Gs0M6vddAN+eDXBCS5EmNWzbSxsn9SzFWWg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} - '@typescript-eslint/scope-manager@8.38.0': - resolution: {integrity: sha512-WJw3AVlFFcdT9Ri1xs/lg8LwDqgekWXWhH3iAF+1ZM+QPd7oxQ6jvtW/JPwzAScxitILUIFs0/AnQ/UWHzbATQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} - '@typescript-eslint/tsconfig-utils@8.38.0': - resolution: {integrity: sha512-Lum9RtSE3EroKk/bYns+sPOodqb2Fv50XOl/gMviMKNvanETUuUcC9ObRbzrJ4VSd2JalPqgSAavwrPiPvnAiQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} - '@typescript-eslint/type-utils@8.38.0': - resolution: {integrity: sha512-c7jAvGEZVf0ao2z+nnz8BUaHZD09Agbh+DY7qvBQqLiz8uJzRgVPj5YvOh8I8uEiH8oIUGIfHzMwUcGVco/SJg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - '@typescript-eslint/types@8.38.0': - resolution: {integrity: sha512-wzkUfX3plUqij4YwWaJyqhiPE5UCRVlFpKn1oCRn2O1bJ592XxWJj8ROQ3JD5MYXLORW84063z3tZTb/cs4Tyw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} - '@typescript-eslint/typescript-estree@8.38.0': - resolution: {integrity: sha512-fooELKcAKzxux6fA6pxOflpNS0jc+nOQEEOipXFNjSlBS6fqrJOVY/whSn70SScHrcJ2LDsxWrneFoWYSVfqhQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <5.9.0' + mdast-util-mdx-expression@2.0.1: + resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} - '@typescript-eslint/utils@8.38.0': - resolution: {integrity: sha512-hHcMA86Hgt+ijJlrD8fX0j1j8w4C92zue/8LOPAFioIno+W0+L7KqE8QZKCcPGc/92Vs9x36w/4MPTJhqXdyvg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + mdast-util-mdx-jsx@3.2.0: + resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} - '@typescript-eslint/visitor-keys@8.38.0': - resolution: {integrity: sha512-pWrTcoFNWuwHlA9CvlfSsGWs14JxfN1TH25zM5L7o0pRLhsoZkDnTsXfQRJBEWJoV5DL0jf+Z+sxiud+K0mq1g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + mdast-util-mdxjs-esm@2.0.1: + resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - '@vitejs/plugin-react-swc@3.11.0': - resolution: {integrity: sha512-YTJCGFdNMHCMfjODYtxRNVAYmTWQ1Lb8PulP/2/f/oEEtglw8oKxKIZmmRkyXrVrHfsKOaVkAc3NT9/dMutO5w==} - peerDependencies: - vite: ^4 || ^5 || ^6 || ^7 + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} - '@vitest/coverage-v8@3.2.4': - resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==} - peerDependencies: - '@vitest/browser': 3.2.4 - vitest: 3.2.4 - peerDependenciesMeta: - '@vitest/browser': - optional: true + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} - '@vitest/expect@3.2.4': - resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} - '@vitest/mocker@3.2.4': - resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} - peerDependencies: - msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 - peerDependenciesMeta: - msw: - optional: true - vite: - optional: true + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} - '@vitest/pretty-format@3.2.4': - resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} + memoize-one@5.2.1: + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - '@vitest/runner@3.2.4': - resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} + memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} - '@vitest/snapshot@3.2.4': - resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} + merge-descriptors@1.0.3: + resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - '@vitest/spy@3.2.4': - resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - '@vitest/ui@3.2.4': - resolution: {integrity: sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==} - peerDependencies: - vitest: 3.2.4 + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} - '@vitest/utils@3.2.4': - resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} - '@xterm/addon-fit@0.10.0': - resolution: {integrity: sha512-UFYkDm4HUahf2lnEyHvio51TNGiLK66mqP2JoATy7hRZeXaGMRDr00JiSF7m63vR5WKATF605yEggJKsw0JpMQ==} - peerDependencies: - '@xterm/xterm': ^5.0.0 + metro-babel-transformer@0.81.5: + resolution: {integrity: sha512-oKCQuajU5srm+ZdDcFg86pG/U8hkSjBlkyFjz380SZ4TTIiI5F+OQB830i53D8hmqmcosa4wR/pnKv8y4Q3dLw==} + engines: {node: '>=18.18'} - '@xterm/addon-web-links@0.11.0': - resolution: {integrity: sha512-nIHQ38pQI+a5kXnRaTgwqSHnX7KE6+4SVoceompgHL26unAxdfP6IPqUTSYPQgSwM56hsElfoNrrW5V7BUED/Q==} - peerDependencies: - '@xterm/xterm': ^5.0.0 + metro-cache-key@0.81.5: + resolution: {integrity: sha512-lGWnGVm1UwO8faRZ+LXQUesZSmP1LOg14OVR+KNPBip8kbMECbQJ8c10nGesw28uQT7AE0lwQThZPXlxDyCLKQ==} + engines: {node: '>=18.18'} - '@xterm/addon-webgl@0.18.0': - resolution: {integrity: sha512-xCnfMBTI+/HKPdRnSOHaJDRqEpq2Ugy8LEj9GiY4J3zJObo3joylIFaMvzBwbYRg8zLtkO0KQaStCeSfoaI2/w==} - peerDependencies: - '@xterm/xterm': ^5.0.0 + metro-cache@0.81.5: + resolution: {integrity: sha512-wOsXuEgmZMZ5DMPoz1pEDerjJ11AuMy9JifH4yNW7NmWS0ghCRqvDxk13LsElzLshey8C+my/tmXauXZ3OqZgg==} + engines: {node: '>=18.18'} - '@xterm/xterm@5.5.0': - resolution: {integrity: sha512-hqJHYaQb5OptNunnyAnkHyM8aCjZ1MEIDTQu1iIbbTD/xops91NB5yq1ZK/dC2JDbVWtF23zUtl9JE2NqwT87A==} + metro-config@0.81.5: + resolution: {integrity: sha512-oDRAzUvj6RNRxratFdcVAqtAsg+T3qcKrGdqGZFUdwzlFJdHGR9Z413sW583uD2ynsuOjA2QB6US8FdwiBdNKg==} + engines: {node: '>=18.18'} - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + metro-core@0.81.5: + resolution: {integrity: sha512-+2R0c8ByfV2N7CH5wpdIajCWa8escUFd8TukfoXyBq/vb6yTCsznoA25FhNXJ+MC/cz1L447Zj3vdUfCXIZBwg==} + engines: {node: '>=18.18'} - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + metro-file-map@0.81.5: + resolution: {integrity: sha512-mW1PKyiO3qZvjeeVjj1brhkmIotObA3/9jdbY1fQQYvEWM6Ml7bN/oJCRDGn2+bJRlG+J8pwyJ+DgdrM4BsKyg==} + engines: {node: '>=18.18'} - acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} + metro-minify-terser@0.81.5: + resolution: {integrity: sha512-/mn4AxjANnsSS3/Bb+zA1G5yIS5xygbbz/OuPaJYs0CPcZCaWt66D+65j4Ft/nJkffUxcwE9mk4ubpkl3rjgtw==} + engines: {node: '>=18.18'} - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} - engines: {node: '>=0.4.0'} - hasBin: true + metro-resolver@0.81.5: + resolution: {integrity: sha512-6BX8Nq3g3go3FxcyXkVbWe7IgctjDTk6D9flq+P201DfHHQ28J+DWFpVelFcrNTn4tIfbP/Bw7u/0g2BGmeXfQ==} + engines: {node: '>=18.18'} - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} - engines: {node: '>=0.4.0'} - hasBin: true + metro-runtime@0.81.5: + resolution: {integrity: sha512-M/Gf71ictUKP9+77dV/y8XlAWg7xl76uhU7ggYFUwEdOHHWPG6gLBr1iiK0BmTjPFH8yRo/xyqMli4s3oGorPQ==} + engines: {node: '>=18.18'} - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + metro-source-map@0.81.5: + resolution: {integrity: sha512-Jz+CjvCKLNbJZYJTBeN3Kq9kIJf6b61MoLBdaOQZJ5Ajhw6Pf95Nn21XwA8BwfUYgajsi6IXsp/dTZsYJbN00Q==} + engines: {node: '>=18.18'} - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + metro-symbolicate@0.81.5: + resolution: {integrity: sha512-X3HV3n3D6FuTE11UWFICqHbFMdTavfO48nXsSpnNGFkUZBexffu0Xd+fYKp+DJLNaQr3S+lAs8q9CgtDTlRRuA==} + engines: {node: '>=18.18'} + hasBin: true - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + metro-transform-plugins@0.81.5: + resolution: {integrity: sha512-MmHhVx/1dJC94FN7m3oHgv5uOjKH8EX8pBeu1pnPMxbJrx6ZuIejO0k84zTSaQTZ8RxX1wqwzWBpXAWPjEX8mA==} + engines: {node: '>=18.18'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} + metro-transform-worker@0.81.5: + resolution: {integrity: sha512-lUFyWVHa7lZFRSLJEv+m4jH8WrR5gU7VIjUlg4XmxQfV8ngY4V10ARKynLhMYPeQGl7Qvf+Ayg0eCZ272YZ4Mg==} + engines: {node: '>=18.18'} - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + metro@0.81.5: + resolution: {integrity: sha512-YpFF0DDDpDVygeca2mAn7K0+us+XKmiGk4rIYMz/CRdjFoCGqAei/IQSpV0UrGfQbToSugpMQeQJveaWSH88Hg==} + engines: {node: '>=18.18'} + hasBin: true - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} - ansis@4.1.0: - resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} - engines: {node: '>=14'} + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} - aria-hidden@1.2.6: - resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} - engines: {node: '>=10'} + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} - aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} - aria-query@5.3.2: - resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} - engines: {node: '>= 0.4'} + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} - ast-types@0.16.1: - resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} - engines: {node: '>=4'} + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} - ast-v8-to-istanbul@0.3.4: - resolution: {integrity: sha512-cxrAnZNLBnQwBPByK4CeDaw5sWZtMilJE/Q3iDA0aamgaIVNDF9T6K2/8DfYDZEejZ2jNnDrG9m8MY72HFd0KA==} + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} - babel-dead-code-elimination@1.0.10: - resolution: {integrity: sha512-DV5bdJZTzZ0zn0DC24v3jD7Mnidh6xhKa4GfKCbq3sfW8kaWhDdZjP3i81geA8T33tdYqWKw4D3fVv0CwEgKVA==} + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} - babel-plugin-macros@3.1.0: - resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} - engines: {node: '>=10', npm: '>=6'} + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} - bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} - before-after-hook@4.0.0: - resolution: {integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==} + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} - birecord@0.1.1: - resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==} + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} - blake3-wasm@2.1.5: - resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} - body-parser@1.20.3: - resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} - brace-expansion@2.0.2: - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - browserslist@4.25.1: - resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} - call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} - caniuse-lite@1.0.30001731: - resolution: {integrity: sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg==} + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} - ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true - chai@5.2.1: - resolution: {integrity: sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==} - engines: {node: '>=18'} + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + mimic-fn@1.2.0: + resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} + engines: {node: '>=4'} - character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} - character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} - character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + miniflare@4.20250730.0: + resolution: {integrity: sha512-avGXBStHQSqcJr8ra1mJ3/OQvnLZ49B1uAILQapAha1DHNZZvXWLIgUVre/WGY6ZOlNGFPh5CJ+dXLm4yuV3Jw==} + engines: {node: '>=18.0.0'} + hasBin: true - character-reference-invalid@2.0.1: - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + minipass-collect@2.0.1: + resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} + engines: {node: '>=16 || 14 >=14.17'} - chownr@3.0.0: - resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} - engines: {node: '>=18'} + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} - class-variance-authority@0.7.1: - resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} - classnames@2.5.1: - resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} - cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} - clsx@2.1.1: - resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} - engines: {node: '>=6'} + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} - cmdk@1.1.1: - resolution: {integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==} - peerDependencies: - react: ^18 || ^19 || ^19.0.0-rc - react-dom: ^18 || ^19 || ^19.0.0-rc + minizlib@3.0.2: + resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} + engines: {node: '>= 18'} - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true - color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true - color@4.2.3: - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} - engines: {node: '>=12.5.0'} + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} - comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - compare-versions@6.1.1: - resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + mute-stream@2.0.0: + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} + engines: {node: ^18.17.0 || >=20.5.0} - concurrently@9.2.0: - resolution: {integrity: sha512-IsB/fiXTupmagMW4MNp2lx2cdSN2FfZq78vF90LBB+zZHArbIQZjQtzXCiXnvTxCZSvXanTqFLWBjw2UkLx1SQ==} - engines: {node: '>=18'} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + negotiator@0.6.4: + resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} engines: {node: '>= 0.6'} - convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + nested-error-stacks@2.0.1: + resolution: {integrity: sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==} - cookie-es@1.2.2: - resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + next-themes@0.4.6: + resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} + peerDependencies: + react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - cookie@0.7.1: - resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} - engines: {node: '>= 0.6'} + node-dir@0.1.17: + resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} + engines: {node: '>= 0.10.5'} - cookie@1.0.2: - resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==} - engines: {node: '>=18'} + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true - cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} - cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - css.escape@1.5.1: - resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + node-releases@2.0.21: + resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} - cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + npm-package-arg@11.0.3: + resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} + engines: {node: ^16.14.0 || >=18.0.0} - date-fns-jalali@4.1.0-0: - resolution: {integrity: sha512-hTIP/z+t+qKwBDcmmsnmjWTduxCg+5KfdqWQvb2X/8C9+knYY6epN/pfxdDuyVlSVeFz0sM5eEfwIUQ70U4ckg==} + npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} - date-fns@4.1.0: - resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + nullthrows@1.1.1: + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + ob1@0.81.5: + resolution: {integrity: sha512-iNpbeXPLmaiT9I5g16gFFFjsF3sGxLpYG2EGP3dfFB4z+l9X60mp/yRzStHhMtuNt8qmf7Ww80nOPQHngHhnIQ==} + engines: {node: '>=18.18'} - decode-named-character-reference@1.2.0: - resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} - deep-eql@5.0.2: - resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} - engines: {node: '>=6'} + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} - defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} + on-headers@1.1.0: + resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} + engines: {node: '>= 0.8'} - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - detect-libc@2.0.4: - resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + onetime@2.0.1: + resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} + engines: {node: '>=4'} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + open@7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} - detect-node-es@1.1.0: - resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} - devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} + ora@3.4.0: + resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==} + engines: {node: '>=6'} - diff@8.0.2: - resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} - engines: {node: '>=0.3.1'} + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} - dom-accessibility-api@0.5.16: - resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} - dom-accessibility-api@0.6.3: - resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} - electron-to-chromium@1.5.194: - resolution: {integrity: sha512-SdnWJwSUot04UR51I2oPD8kuP2VI37/CADR1OHsFOUzZIvfWJBO6q11k5P/uKNyTT3cdOsnyjkrZ+DDShqYqJA==} + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} - enhanced-resolve@5.18.2: - resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==} - engines: {node: '>=10.13.0'} + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} - error-stack-parser-es@1.0.5: - resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} + parse-png@2.1.0: + resolution: {integrity: sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==} + engines: {node: '>=10'} - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} - es-module-lexer@1.7.0: - resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} - es-object-atoms@1.1.1: - resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} - engines: {node: '>= 0.4'} + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} - esbuild@0.25.4: - resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} - engines: {node: '>=18'} - hasBin: true + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} - esbuild@0.25.8: - resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} - engines: {node: '>=18'} - hasBin: true + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + path-to-regexp@0.1.12: + resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} - escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} - eslint-plugin-react-dom@1.52.3: - resolution: {integrity: sha512-HUMzOYrgRdT6di+OMMJWBCbIB9yY3YUkLvDhExsfap0HX3X1EpZutEWdQg4CMthF2rslYMMF2cnN5pOVrQ5Rkw==} - engines: {node: '>=18.18.0'} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ^4.9.5 || ^5.3.3 - peerDependenciesMeta: - typescript: - optional: true + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - eslint-plugin-react-hooks@5.2.0: - resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==} - 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 + pathval@2.0.1: + resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} + engines: {node: '>= 14.16'} - eslint-plugin-react-refresh@0.4.20: - resolution: {integrity: sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==} - peerDependencies: - eslint: '>=8.40' + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - eslint-plugin-react-x@1.52.3: - resolution: {integrity: sha512-Sds4CXHtdgaCdzoypcY3DSshS0JtK2Eh+QbpUAPUqs0UWQ3qtQKxY0nntTSYeF+GXDfOdAYDkl/8+VFpHQwIKg==} - engines: {node: '>=18.18.0'} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - ts-api-utils: ^2.1.0 - typescript: ^4.9.5 || ^5.3.3 - peerDependenciesMeta: - ts-api-utils: - optional: true - typescript: - optional: true + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} - eslint-scope@8.4.0: - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + picomatch@3.0.1: + resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==} + engines: {node: '>=10'} - 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} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} - 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} + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} - eslint@9.32.0: - resolution: {integrity: sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - peerDependencies: - jiti: '*' - peerDependenciesMeta: - jiti: - optional: true + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} - espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + pkg-dir@3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true + plist@3.1.0: + resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} + engines: {node: '>=10.4.0'} - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} - engines: {node: '>=0.10'} + pngjs@3.4.0: + resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} + engines: {node: '>=4.0.0'} - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + postcss-selector-parser@6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + engines: {node: '>=4'} - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - estree-util-is-identifier-name@3.0.0: - resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==} + postcss@8.4.49: + resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} + engines: {node: ^10 || ^12 || >=14} - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} + engines: {node: ^10 || ^12 || >=14} - estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} + engines: {node: '>=14'} + hasBin: true - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} + pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} - eventsource-parser@3.0.3: - resolution: {integrity: sha512-nVpZkTMM9rF6AQ9gPJpFsNAMt48wIzB5TQgiTLdHiuO8XEDhUgZEhqKlZWXbIzo9VmJ/HvysHqEaVeD5v9TPvA==} - engines: {node: '>=20.0.0'} + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - eventsource@4.0.0: - resolution: {integrity: sha512-fvIkb9qZzdMxgZrEQDyll+9oJsyaVvY92I2Re+qK0qEJ+w5s0X3dtz+M0VAPOjP1gtU3iqWyjQ0G3nvd5CLZ2g==} - engines: {node: '>=20.0.0'} + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - exit-hook@2.2.1: - resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} + prismjs@1.30.0: + resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} engines: {node: '>=6'} - expect-type@1.2.2: - resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} - engines: {node: '>=12.0.0'} + proc-log@4.2.0: + resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - express@4.21.2: - resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} - engines: {node: '>= 0.10.0'} + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} - exsolve@1.0.7: - resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + promise@8.3.0: + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} - fast-content-type-parse@3.0.0: - resolution: {integrity: sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==} + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + pump@3.0.3: + resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + qrcode-terminal@0.11.0: + resolution: {integrity: sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==} + hasBin: true - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} - fflate@0.8.2: - resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} + query-string@7.1.3: + resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} + engines: {node: '>=6'} - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} + queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} - finalhandler@1.3.1: - resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} - find-root@1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + react-day-picker@9.8.1: + resolution: {integrity: sha512-kMcLrp3PfN/asVJayVv82IjF3iLOOxuH5TNFWezX6lS/T8iVRFPTETpHl3TUSTH99IDMZLubdNPJr++rQctkEw==} + engines: {node: '>=18'} + peerDependencies: + react: '>=16.8.0' - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + react-devtools-core@5.3.2: + resolution: {integrity: sha512-crr9HkVrDiJ0A4zot89oS0Cgv0Oa4OG1Em4jit3P3ZxZSKPMYyMjfwMqgcJna9o625g8oN87rBm8SWWrSTBZxg==} - flatted@3.3.3: - resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + react-diff-viewer-continued@3.4.0: + resolution: {integrity: sha512-kMZmUyb3Pv5L9vUtCfIGYsdOHs8mUojblGy1U1Sm0D7FhAOEsH9QhnngEIRo5hXWIPNGupNRJls1TJ6Eqx84eg==} + engines: {node: '>= 8'} + peerDependencies: + react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} + react-dom@19.1.1: + resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==} + peerDependencies: + react: ^19.1.1 - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} + react-freeze@1.0.4: + resolution: {integrity: sha512-r4F0Sec0BLxWicc7HEyo2x3/2icUTrRmDjaaRyzzn+7aDyFZliszMDOgLVwSnQnYENOlL1o569Ze2HZefk8clA==} + engines: {node: '>=10'} + peerDependencies: + react: '>=17.0.0' - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] + react-helmet-async@1.3.0: + resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + react-helmet-async@2.0.5: + resolution: {integrity: sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + react-hotkeys-hook@5.1.0: + resolution: {integrity: sha512-GCNGXjBzV9buOS3REoQFmSmE4WTvBhYQ0YrAeeMZI83bhXg3dRWsLHXDutcVDdEjwJqJCxk5iewWYX5LtFUd7g==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - get-nonce@1.0.1: - resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} - engines: {node: '>=6'} + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - get-port@7.1.0: - resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} - engines: {node: '>=16'} + react-is@19.1.1: + resolution: {integrity: sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==} - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} + react-markdown@10.1.0: + resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} + peerDependencies: + '@types/react': '>=18' + react: '>=18' - get-tsconfig@4.10.1: - resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + react-native-helmet-async@2.0.4: + resolution: {integrity: sha512-m3CkXWss6B1dd6mCMleLpzDCJJGGaHOLQsUzZv8kAASJmMfmVT4d2fx375iXKTRWT25ThBfae3dECuX5cq/8hg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + react-native-is-edge-to-edge@1.2.1: + resolution: {integrity: sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==} + peerDependencies: + react: '*' + react-native: '*' - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + react-native-safe-area-context@4.12.0: + resolution: {integrity: sha512-ukk5PxcF4p3yu6qMZcmeiZgowhb5AsKRnil54YFUUAXVIS7PJcMHGGC+q44fCiBg44/1AJk5njGMez1m9H0BVQ==} + peerDependencies: + react: '*' + react-native: '*' - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + react-native-screens@4.1.0: + resolution: {integrity: sha512-tCBwe7fRMpoi/nIgZxE86N8b2SH8d5PlfGaQO8lgqlXqIyvwqm3u1HJCaA0tsacPyzhW7vVtRfQyq9e1j0S2gA==} + peerDependencies: + react: '*' + react-native: '*' - glob@10.4.5: - resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} - hasBin: true + react-native-web@0.19.13: + resolution: {integrity: sha512-etv3bN8rJglrRCp/uL4p7l8QvUNUC++QwDbdZ8CB7BvZiMvsxfFIRM1j04vxNldG3uo2puRd6OSWR3ibtmc29A==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + react-native@0.76.0: + resolution: {integrity: sha512-isbLzmY7fhhLdN/oss4jlRHeDmEShuTYsp1Zq93UM0/JssQK4g+2Ub4mHdhxDFm2LN+0ryBgVJK1nO7l93cfsA==} engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@types/react': ^18.2.6 + react: ^18.2.0 + peerDependenciesMeta: + '@types/react': + optional: true - globals@16.3.0: - resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} - engines: {node: '>=18'} + react-refresh@0.14.2: + resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} + engines: {node: '>=0.10.0'} - goober@2.1.16: - resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==} + react-remove-scroll-bar@2.3.8: + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} + engines: {node: '>=10'} peerDependencies: - csstype: ^3.0.10 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} + react-remove-scroll@2.7.1: + resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + react-resizable-panels@3.0.4: + resolution: {integrity: sha512-8Y4KNgV94XhUvI2LeByyPIjoUJb71M/0hyhtzkHaqpVHs+ZQs8b627HmzyhmVYi3C9YP6R+XD1KmG7hHjEZXFQ==} + peerDependencies: + react: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + react-style-singleton@2.2.3: + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true - happy-dom@18.0.1: - resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==} - engines: {node: '>=20.0.0'} + react-xtermjs@1.0.10: + resolution: {integrity: sha512-+xpKEKbmsypWzRKE0FR1LNIGcI8gx+R6VMHe8IQW7iTbgeqp3Qg7SbiVNOzR+Ovb1QK4DPA3KqsIQV+XP0iRUA==} + peerDependencies: + '@xterm/xterm': ^5.5.0 - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} + react@19.1.1: + resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} + engines: {node: '>=0.10.0'} - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} - hast-util-to-jsx-runtime@2.3.6: - resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} + readline@1.3.0: + resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} - hast-util-whitespace@3.0.0: - resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + recast@0.21.5: + resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} + engines: {node: '>= 4'} - hono@4.8.10: - resolution: {integrity: sha512-DRMYbR3aFk6YET1FCSAFbgF2cWYTz5j0YAFYPECx9fmrbKBDAYnWU+YCgRTpOaatxMYN6e68U/2IG39zRP4W/A==} - engines: {node: '>=16.9.0'} + recast@0.23.11: + resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} + engines: {node: '>= 4'} - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} - html-url-attributes@3.0.1: - resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==} + regenerate-unicode-properties@10.2.2: + resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} + engines: {node: '>=4'} - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - ignore@5.3.2: - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} - engines: {node: '>= 4'} + regexpu-core@6.3.1: + resolution: {integrity: sha512-DzcswPr252wEr7Qz8AyAVbfyBDKLoYp6eRA1We2Fa9qirRFSdtkP5sHr3yglDKy2BbA0fd2T+j/CUSKes3FeVQ==} + engines: {node: '>=4'} - ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} - engines: {node: '>= 4'} + regjsgen@0.8.0: + resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} + regjsparser@0.12.0: + resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} + hasBin: true - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} - inline-style-parser@0.2.4: - resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + remove-trailing-slash@0.1.1: + resolution: {integrity: sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==} - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} - is-alphabetical@2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} - is-alphanumerical@2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + requireg@0.2.2: + resolution: {integrity: sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==} + engines: {node: '>= 4.0.0'} - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} - is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - is-core-module@2.16.1: - resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve-workspace-root@2.0.0: + resolution: {integrity: sha512-IsaBUZETJD5WsI11Wt8PKHwaIe45or6pwNc8yflvLJ4DWtImK9kuLoH5kUva/2Mmx/RdIyr4aONNSa2v9LTJsw==} + + resolve.exports@2.0.3: + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} + engines: {node: '>=10'} + + resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} engines: {node: '>= 0.4'} + hasBin: true - is-decimal@2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + resolve@1.7.1: + resolution: {integrity: sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==} - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + restore-cursor@2.0.0: + resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} + engines: {node: '>=4'} - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + rimraf@2.6.3: + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true - is-hexadecimal@2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true - is-immutable-type@5.0.1: - resolution: {integrity: sha512-LkHEOGVZZXxGl8vDs+10k3DvP++SEoYEAJLRk6buTFi6kD7QekThV7xHS0j6gpnUCQ0zpud/gMDGiV4dQneLTg==} - peerDependencies: - eslint: '*' - typescript: '>=4.7.4' + rollup@4.46.2: + resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - isbot@5.1.29: - resolution: {integrity: sha512-DelDWWoa3mBoyWTq3wjp+GIWx/yZdN7zLUE7NFhKjAiJ+uJVRkbLlwykdduCE4sPUUy8mlTYTmdhBUYu91F+sw==} - engines: {node: '>=18'} + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - istanbul-lib-source-maps@5.0.6: - resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} - engines: {node: '>=10'} + scheduler@0.24.0-canary-efb381bbf-20230505: + resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} + scheduler@0.26.0: + resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + schema-utils@4.3.2: + resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} + engines: {node: '>= 10.13.0'} - jiti@2.5.1: - resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} - hasBin: true + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true - js-tokens@9.0.1: - resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} hasBin: true - jsesc@3.1.0: - resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} - engines: {node: '>=6'} + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} hasBin: true - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + send@0.19.0: + resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} + engines: {node: '>= 0.8.0'} - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + serialize-error@2.1.0: + resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} + engines: {node: '>=0.10.0'} - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + seroval-plugins@1.3.2: + resolution: {integrity: sha512-0QvCV2lM3aj/U3YozDiVwx9zpH0q8A60CTWIv4Jszj/givcudPb48B+rkU5D51NJ0pTpweGMttHjboPa9/zoIQ==} + engines: {node: '>=10'} + peerDependencies: + seroval: ^1.0 - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + seroval@1.3.2: + resolution: {integrity: sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==} + engines: {node: '>=10'} - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} + engines: {node: '>= 0.8.0'} - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + server-only@0.0.1: + resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - lightningcss-darwin-arm64@1.30.1: - resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] + shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} - lightningcss-darwin-x64@1.30.1: - resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] + shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - lightningcss-freebsd-x64@1.30.1: - resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - lightningcss-linux-arm-gnueabihf@1.30.1: - resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} - lightningcss-linux-arm64-gnu@1.30.1: - resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} - lightningcss-linux-arm64-musl@1.30.1: - resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} - lightningcss-linux-x64-gnu@1.30.1: - resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} - lightningcss-linux-x64-musl@1.30.1: - resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} - lightningcss-win32-arm64-msvc@1.30.1: - resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} - lightningcss-win32-x64-msvc@1.30.1: - resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} - lightningcss@1.30.1: - resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} - engines: {node: '>= 12.0.0'} + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - lodash.castarray@4.4.0: - resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + simple-plist@1.3.1: + resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + sirv@3.0.1: + resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} + engines: {node: '>=18'} - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - loupe@3.2.0: - resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==} + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + slugify@1.6.6: + resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} + engines: {node: '>=8.0.0'} - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + solid-js@1.9.7: + resolution: {integrity: sha512-/saTKi8iWEM233n5OSi1YHCCuh66ZIQ7aK2hsToPe4tqGm7qAejU1SwNuTPivbWAYq7SjuHVVYxxuZQNRbICiw==} - lucide-react@0.525.0: - resolution: {integrity: sha512-Tm1txJ2OkymCGkvwoHt33Y2JpN5xucVq1slHcgE6Lk0WjDfjgKWor5CdVER8U6DvcfMwh4M8XxmpTiyzfmfDYQ==} + sonner@2.0.6: + resolution: {integrity: sha512-yHFhk8T/DK3YxjFQXIrcHT1rGEeTLliVzWbO0xN8GberVun2RiBnxAjXAYpZrqwEVHBG9asI/Li8TAAhN9m59Q==} peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc - lz-string@1.5.0: - resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} - hasBin: true + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} - magic-string@0.30.17: - resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - magicast@0.3.5: - resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} + split-on-first@1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - markdown-table@3.0.4: - resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + ssri@10.0.6: + resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} - mdast-util-find-and-replace@3.0.2: - resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - mdast-util-from-markdown@2.0.2: - resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - mdast-util-gfm-autolink-literal@2.0.1: - resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + stacktrace-parser@0.1.11: + resolution: {integrity: sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==} + engines: {node: '>=6'} - mdast-util-gfm-footnote@2.1.0: - resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} - mdast-util-gfm-strikethrough@2.0.0: - resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} - mdast-util-gfm-table@2.0.0: - resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + std-env@3.9.0: + resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} - mdast-util-gfm-task-list-item@2.0.0: - resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + stoppable@1.1.0: + resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} + engines: {node: '>=4', npm: '>=6'} - mdast-util-gfm@3.1.0: - resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + stream-buffers@2.2.0: + resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==} + engines: {node: '>= 0.10.0'} - mdast-util-mdx-expression@2.0.1: - resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==} + strict-uri-encode@2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} - mdast-util-mdx-jsx@3.2.0: - resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==} + string-ts@2.2.1: + resolution: {integrity: sha512-Q2u0gko67PLLhbte5HmPfdOjNvUKbKQM+mCNQae6jE91DmoFHY6HH9GcdqCeNx87DZ2KKjiFxmA0R/42OneGWw==} - mdast-util-mdxjs-esm@2.0.1: - resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} - mdast-util-phrasing@4.1.0: - resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} - mdast-util-to-hast@13.2.0: - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} - mdast-util-to-markdown@2.1.2: - resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} - mdast-util-to-string@4.0.0: - resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} - memoize-one@6.0.0: - resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} - micromark-core-commonmark@2.0.3: - resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} - micromark-extension-gfm-autolink-literal@2.1.0: - resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + strip-literal@3.0.0: + resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - micromark-extension-gfm-footnote@2.1.0: - resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + structured-headers@0.4.1: + resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==} - micromark-extension-gfm-strikethrough@2.1.0: - resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + style-to-js@1.1.17: + resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} - micromark-extension-gfm-table@2.1.1: - resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + style-to-object@1.0.9: + resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} - micromark-extension-gfm-tagfilter@2.0.0: - resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + styleq@0.1.3: + resolution: {integrity: sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==} - micromark-extension-gfm-task-list-item@2.1.0: - resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} - micromark-extension-gfm@3.0.0: - resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true - micromark-factory-destination@2.0.1: - resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + supports-color@10.0.0: + resolution: {integrity: sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==} + engines: {node: '>=18'} - micromark-factory-label@2.0.1: - resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} - micromark-factory-space@2.0.1: - resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} - micromark-factory-title@2.0.1: - resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} - micromark-factory-whitespace@2.0.1: - resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} - micromark-util-character@2.1.1: - resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} - micromark-util-chunked@2.0.1: - resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + tailwind-merge@3.3.1: + resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} - micromark-util-classify-character@2.0.1: - resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + tailwindcss@4.1.11: + resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==} - micromark-util-combine-extensions@2.0.1: - resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + tapable@2.2.2: + resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} + engines: {node: '>=6'} - micromark-util-decode-numeric-character-reference@2.0.2: - resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} - micromark-util-decode-string@2.0.1: - resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + tar@7.4.3: + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + engines: {node: '>=18'} - micromark-util-encode@2.0.1: - resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} - micromark-util-html-tag-name@2.0.1: - resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + temp@0.8.4: + resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} + engines: {node: '>=6.0.0'} - micromark-util-normalize-identifier@2.0.1: - resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + tempy@0.7.1: + resolution: {integrity: sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg==} + engines: {node: '>=10'} - micromark-util-resolve-all@2.0.1: - resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} - micromark-util-sanitize-uri@2.0.1: - resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + terser@5.44.0: + resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==} + engines: {node: '>=10'} + hasBin: true - micromark-util-subtokenize@2.1.0: - resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} - micromark-util-symbol@2.0.1: - resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + test-exclude@7.0.1: + resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} + engines: {node: '>=18'} - micromark-util-types@2.0.2: - resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} - micromark@4.0.2: - resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} + throat@5.0.0: + resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} - miniflare@4.20250730.0: - resolution: {integrity: sha512-avGXBStHQSqcJr8ra1mJ3/OQvnLZ49B1uAILQapAha1DHNZZvXWLIgUVre/WGY6ZOlNGFPh5CJ+dXLm4yuV3Jw==} - engines: {node: '>=18.0.0'} - hasBin: true + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} + engines: {node: ^18.0.0 || >=20.0.0} - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + tinyrainbow@2.0.0: + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} + engines: {node: '>=14.0.0'} - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} - engines: {node: '>=16 || 14 >=14.17'} + tinyspy@4.0.3: + resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} + engines: {node: '>=14.0.0'} - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} - engines: {node: '>=16 || 14 >=14.17'} + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} - minizlib@3.0.2: - resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} - engines: {node: '>= 18'} + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} - hasBin: true + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} - mrmime@2.0.1: - resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} - engines: {node: '>=10'} + toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} - mute-stream@2.0.0: - resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} - engines: {node: ^18.17.0 || >=20.5.0} + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - nanoid@3.3.11: - resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - next-themes@0.4.6: - resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==} + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} peerDependencies: - react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc + typescript: '>=4.8.4' - node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + ts-declaration-location@1.0.7: + resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} + peerDependencies: + typescript: '>=4.0.0' - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + ts-pattern@5.8.0: + resolution: {integrity: sha512-kIjN2qmWiHnhgr5DAkAafF9fwb0T5OhMVSWrm8XEdTFnX6+wfXwYOFjeF86UZ54vduqiR7BfqScFmXSzSaH8oA==} - object-inspect@1.13.4: - resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} - engines: {node: '>= 0.4'} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - ohash@2.0.11: - resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + tsx@4.20.3: + resolution: {integrity: sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==} + engines: {node: '>=18.0.0'} + hasBin: true - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + tw-animate-css@1.3.6: + resolution: {integrity: sha512-9dy0R9UsYEGmgf26L8UcHiLmSFTHa9+D7+dAt/G/sF5dCnPePZbfgDYinc7/UzAM7g/baVrmS6m9yEpU46d+LA==} - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + type-fest@0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} engines: {node: '>=10'} - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-entities@4.0.2: - resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - 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==} + type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + typescript-eslint@8.38.0: + resolution: {integrity: sha512-FsZlrYK6bPDGoLeZRuvx2v6qrM03I0U0SnfCLPs/XCCPCFD80xU9Pg09H/K+XFa68uJuZo7l/Xhs+eDRg2l3hg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' - path-to-regexp@0.1.12: - resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + engines: {node: '>=14.17'} + hasBin: true - path-to-regexp@6.3.0: - resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} + ua-parser-js@1.0.41: + resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==} + hasBin: true - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - pathe@2.0.3: - resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - pathval@2.0.1: - resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} - engines: {node: '>= 14.16'} + undici-types@7.8.0: + resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + undici@6.21.3: + resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==} + engines: {node: '>=18.17'} - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + undici@7.13.0: + resolution: {integrity: sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==} + engines: {node: '>=20.18.1'} - picomatch@4.0.3: - resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} - engines: {node: '>=12'} + unenv@2.0.0-rc.19: + resolution: {integrity: sha512-t/OMHBNAkknVCI7bVB9OWjUUAwhVv9vsPIAGnNUxnu3FxPQN11rjh0sksLMzc3g7IlTgvHmOTl4JM7JHpcv5wA==} - postcss-selector-parser@6.0.10: - resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} + unicode-canonical-property-names-ecmascript@2.0.1: + resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} engines: {node: '>=4'} - 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'} - - prettier@3.6.2: - resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} - engines: {node: '>=14'} - hasBin: true - - pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} - prismjs@1.30.0: - resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==} - engines: {node: '>=6'} + unicode-match-property-value-ecmascript@2.2.1: + resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} + engines: {node: '>=4'} - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + unicode-property-aliases-ecmascript@2.2.0: + resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} + engines: {node: '>=4'} - property-information@7.1.0: - resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + unique-filename@3.0.0: + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + unique-slug@4.0.0: + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - qs@6.13.0: - resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} - engines: {node: '>=0.6'} + unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} - raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} - react-day-picker@9.8.1: - resolution: {integrity: sha512-kMcLrp3PfN/asVJayVv82IjF3iLOOxuH5TNFWezX6lS/T8iVRFPTETpHl3TUSTH99IDMZLubdNPJr++rQctkEw==} - engines: {node: '>=18'} - peerDependencies: - react: '>=16.8.0' + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} - react-diff-viewer-continued@3.4.0: - resolution: {integrity: sha512-kMZmUyb3Pv5L9vUtCfIGYsdOHs8mUojblGy1U1Sm0D7FhAOEsH9QhnngEIRo5hXWIPNGupNRJls1TJ6Eqx84eg==} - engines: {node: '>= 8'} - peerDependencies: - react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} - react-dom@19.1.1: - resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==} - peerDependencies: - react: ^19.1.1 + universal-github-app-jwt@2.2.2: + resolution: {integrity: sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==} - react-fast-compare@3.2.2: - resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + universal-user-agent@7.0.3: + resolution: {integrity: sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==} - react-helmet-async@2.0.5: - resolution: {integrity: sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg==} - peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} - react-hotkeys-hook@5.1.0: - resolution: {integrity: sha512-GCNGXjBzV9buOS3REoQFmSmE4WTvBhYQ0YrAeeMZI83bhXg3dRWsLHXDutcVDdEjwJqJCxk5iewWYX5LtFUd7g==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' + universalify@1.0.0: + resolution: {integrity: sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==} + engines: {node: '>= 10.0.0'} - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} - react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} - react-markdown@10.1.0: - resolution: {integrity: sha512-qKxVopLT/TyA6BX3Ue5NwabOsAzm0Q7kAPwq6L+wWDwisYs7R8vZ0nRXqq6rkueboxpkjvLGU9fWifiX/ZZFxQ==} - peerDependencies: - '@types/react': '>=18' - react: '>=18' + unplugin@2.3.5: + resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==} + engines: {node: '>=18.12.0'} - react-remove-scroll-bar@2.3.8: - resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} - engines: {node: '>=10'} + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + browserslist: '>= 4.21.0' - react-remove-scroll@2.7.1: - resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==} + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + use-callback-ref@1.3.3: + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} engines: {node: '>=10'} peerDependencies: '@types/react': '*' @@ -3860,14 +7069,13 @@ packages: '@types/react': optional: true - react-resizable-panels@3.0.4: - resolution: {integrity: sha512-8Y4KNgV94XhUvI2LeByyPIjoUJb71M/0hyhtzkHaqpVHs+ZQs8b627HmzyhmVYi3C9YP6R+XD1KmG7hHjEZXFQ==} + use-latest-callback@0.2.4: + resolution: {integrity: sha512-LS2s2n1usUUnDq4oVh1ca6JFX9uSqUncTfAm44WMg0v6TxL7POUTk1B044NH8TeLkFbNajIsgDHcgNpNzZucdg==} peerDependencies: - react: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - react-dom: ^16.14.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + react: '>=16.8' - react-style-singleton@2.2.3: - resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + use-sidecar@1.1.3: + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} engines: {node: '>=10'} peerDependencies: '@types/react': '*' @@ -3876,846 +7084,1239 @@ packages: '@types/react': optional: true - react-xtermjs@1.0.10: - resolution: {integrity: sha512-+xpKEKbmsypWzRKE0FR1LNIGcI8gx+R6VMHe8IQW7iTbgeqp3Qg7SbiVNOzR+Ovb1QK4DPA3KqsIQV+XP0iRUA==} + use-sync-external-store@1.5.0: + resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} peerDependencies: - '@xterm/xterm': ^5.5.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - react@19.1.1: - resolution: {integrity: sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ==} - engines: {node: '>=0.10.0'} + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} - recast@0.23.11: - resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} - engines: {node: '>= 4'} + uuid@7.0.3: + resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} + hasBin: true - redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true - remark-gfm@4.0.1: - resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - remark-parse@11.0.0: - resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} - remark-rehype@11.1.2: - resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + vaul@1.1.2: + resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==} + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc - remark-stringify@11.0.0: - resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + vite@7.0.6: + resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true - resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} - engines: {node: '>= 0.4'} + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/debug': ^4.1.12 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/debug': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + vlq@1.0.1: + resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} - rollup@4.46.2: - resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + warn-once@0.1.1: + resolution: {integrity: sha512-VkQZJbO8zVImzYFteBXvBOZEl1qL175WH8VmZcxF2fZAoudNhNDvHi+doCaAEdU2l2vtcIwa2zn0QK5+I1HQ3Q==} - rxjs@7.8.2: - resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - scheduler@0.26.0: - resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + whatwg-url-without-unicode@8.0.0-3: + resolution: {integrity: sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==} engines: {node: '>=10'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true - send@0.19.0: - resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} - engines: {node: '>= 0.8.0'} + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true - seroval-plugins@1.3.2: - resolution: {integrity: sha512-0QvCV2lM3aj/U3YozDiVwx9zpH0q8A60CTWIv4Jszj/givcudPb48B+rkU5D51NJ0pTpweGMttHjboPa9/zoIQ==} - engines: {node: '>=10'} + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + wonka@6.3.5: + resolution: {integrity: sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + workerd@1.20250730.0: + resolution: {integrity: sha512-w6e0WM2YGfYQGmg0dewZeLUYIxAzMYK1R31vaS4HHHjgT32Xqj0eVQH+leegzY51RZPNCvw5pe8DFmW4MGf8Fg==} + engines: {node: '>=16'} + hasBin: true + + wrangler@4.27.0: + resolution: {integrity: sha512-YNHZyMNWebFt9jD6dc20tQrCmnSzJj3SoB0FFa90w11Cx4lbP3d+rUZYjb18Zt+OGSMay1wT2PzwT2vCTskkmg==} + engines: {node: '>=18.0.0'} + hasBin: true peerDependencies: - seroval: ^1.0 + '@cloudflare/workers-types': ^4.20250730.0 + peerDependenciesMeta: + '@cloudflare/workers-types': + optional: true - seroval@1.3.2: - resolution: {integrity: sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==} + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - serve-static@1.16.2: - resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} - engines: {node: '>= 0.8.0'} + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@2.4.3: + resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ws@6.2.3: + resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - sharp@0.33.5: - resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + xcode@3.0.1: + resolution: {integrity: sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==} + engines: {node: '>=10.0.0'} - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + xml2js@0.6.0: + resolution: {integrity: sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==} + engines: {node: '>=4.0.0'} - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + xmlbuilder@11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} - shell-quote@1.8.3: - resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} - engines: {node: '>= 0.4'} + xmlbuilder@14.0.0: + resolution: {integrity: sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==} + engines: {node: '>=8.0'} - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} - engines: {node: '>= 0.4'} + xmlbuilder@15.1.1: + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} - side-channel-map@1.0.1: - resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} - engines: {node: '>= 0.4'} + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} - side-channel-weakmap@1.0.2: - resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} - engines: {node: '>= 0.4'} + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - side-channel@1.1.0: - resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} - engines: {node: '>= 0.4'} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} - simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} - sirv@3.0.1: - resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} - engines: {node: '>=18'} + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} - solid-js@1.9.7: - resolution: {integrity: sha512-/saTKi8iWEM233n5OSi1YHCCuh66ZIQ7aK2hsToPe4tqGm7qAejU1SwNuTPivbWAYq7SjuHVVYxxuZQNRbICiw==} + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} - sonner@2.0.6: - resolution: {integrity: sha512-yHFhk8T/DK3YxjFQXIrcHT1rGEeTLliVzWbO0xN8GberVun2RiBnxAjXAYpZrqwEVHBG9asI/Li8TAAhN9m59Q==} - peerDependencies: - react: ^18.0.0 || ^19.0.0 || ^19.0.0-rc - react-dom: ^18.0.0 || ^19.0.0 || ^19.0.0-rc + yoctocolors-cjs@2.1.2: + resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} + engines: {node: '>=18'} - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} + youch-core@0.3.3: + resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} + youch@4.1.0-beta.10: + resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + zod@3.22.3: + resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} - source-map@0.7.6: - resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} - engines: {node: '>= 12'} + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + zod@4.0.14: + resolution: {integrity: sha512-nGFJTnJN6cM2v9kXL+SOBq3AtjQby3Mv5ySGFof5UGRHrRioSJ5iG680cYNjE/yWk671nROcpPj4hAS8nyLhSw==} - stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + zustand@5.0.7: + resolution: {integrity: sha512-Ot6uqHDW/O2VdYsKLLU8GQu8sCOM1LcoE8RwvLv9uuRT9s6SOHCKs0ZEOhxg+I1Ld+A1Q5lwx+UlKXXUoCZITg==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} +snapshots: - stoppable@1.1.0: - resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} - engines: {node: '>=4', npm: '>=6'} + '@0no-co/graphql.web@1.2.0': {} - string-ts@2.2.1: - resolution: {integrity: sha512-Q2u0gko67PLLhbte5HmPfdOjNvUKbKQM+mCNQae6jE91DmoFHY6HH9GcdqCeNx87DZ2KKjiFxmA0R/42OneGWw==} + '@adobe/css-tools@4.4.3': {} - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + '@babel/code-frame@7.10.4': + dependencies: + '@babel/highlight': 7.25.9 - stringify-entities@4.0.4: - resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + '@babel/compat-data@7.28.0': {} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + '@babel/core@7.28.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helpers': 7.28.2 + '@babel/parser': 7.28.0 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.2 + convert-source-map: 2.0.0 + debug: 4.4.1 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + '@babel/generator@7.28.0': + dependencies: + '@babel/parser': 7.28.0 + '@babel/types': 7.28.2 + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + jsesc: 3.1.0 - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + jsesc: 3.1.0 - strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.28.2 - style-to-js@1.1.17: - resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==} + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.0 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.25.1 + lru-cache: 5.1.1 + semver: 6.3.1 - style-to-object@1.0.9: - resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==} + '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - stylis@4.2.0: - resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + '@babel/helper-create-class-features-plugin@7.28.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.28.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color - supports-color@10.0.0: - resolution: {integrity: sha512-HRVVSbCCMbj7/kdWF9Q+bbckjBHLtHMEoJWlkmYzzdwhYMkjkOwubLM6t7NbWKjgKamGDrWL1++KrjUO1t9oAQ==} - engines: {node: '>=18'} + '@babel/helper-create-regexp-features-plugin@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + regexpu-core: 6.3.1 + semver: 6.3.1 - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + '@babel/helper-define-polyfill-provider@0.6.5(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + debug: 4.4.1 + lodash.debounce: 4.0.8 + resolve: 1.22.10 + transitivePeerDependencies: + - supports-color - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + '@babel/helper-globals@7.28.0': {} - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + '@babel/helper-member-expression-to-functions@7.27.1': + dependencies: + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.2 + transitivePeerDependencies: + - supports-color - tailwind-merge@3.3.1: - resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.2 + transitivePeerDependencies: + - supports-color - tailwindcss@4.1.11: - resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==} + '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color - tapable@2.2.2: - resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} - engines: {node: '>=6'} + '@babel/helper-optimise-call-expression@7.27.1': + dependencies: + '@babel/types': 7.28.2 - tar@7.4.3: - resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} - engines: {node: '>=18'} + '@babel/helper-plugin-utils@7.27.1': {} - test-exclude@7.0.1: - resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} - engines: {node: '>=18'} + '@babel/helper-remap-async-to-generator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-wrap-function': 7.28.3 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color - tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-member-expression-to-functions': 7.27.1 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color - tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + dependencies: + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.2 + transitivePeerDependencies: + - supports-color - tinybench@2.9.0: - resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + '@babel/helper-string-parser@7.27.1': {} - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + '@babel/helper-validator-identifier@7.27.1': {} - tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} - engines: {node: '>=12.0.0'} + '@babel/helper-validator-option@7.27.1': {} - tinypool@1.1.1: - resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} - engines: {node: ^18.0.0 || >=20.0.0} + '@babel/helper-wrap-function@7.28.3': + dependencies: + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.2 + transitivePeerDependencies: + - supports-color - tinyrainbow@2.0.0: - resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} - engines: {node: '>=14.0.0'} + '@babel/helpers@7.28.2': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.2 - tinyspy@4.0.3: - resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} - engines: {node: '>=14.0.0'} + '@babel/highlight@7.25.9': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + '@babel/parser@7.28.0': + dependencies: + '@babel/types': 7.28.2 - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + '@babel/parser@7.28.4': + dependencies: + '@babel/types': 7.28.4 - toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} - engines: {node: '>=6'} + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color - trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color - trough@2.2.0: - resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - ts-api-utils@2.1.0: - resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' + '@babel/plugin-proposal-decorators@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color - ts-declaration-location@1.0.7: - resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} - peerDependencies: - typescript: '>=4.0.0' + '@babel/plugin-proposal-export-default-from@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - ts-pattern@5.8.0: - resolution: {integrity: sha512-kIjN2qmWiHnhgr5DAkAafF9fwb0T5OhMVSWrm8XEdTFnX6+wfXwYOFjeF86UZ54vduqiR7BfqScFmXSzSaH8oA==} + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0) - tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color - tsx@4.20.3: - resolution: {integrity: sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==} - engines: {node: '>=18.0.0'} - hasBin: true + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 - tw-animate-css@1.3.6: - resolution: {integrity: sha512-9dy0R9UsYEGmgf26L8UcHiLmSFTHa9+D7+dAt/G/sF5dCnPePZbfgDYinc7/UzAM7g/baVrmS6m9yEpU46d+LA==} + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - typescript-eslint@8.38.0: - resolution: {integrity: sha512-FsZlrYK6bPDGoLeZRuvx2v6qrM03I0U0SnfCLPs/XCCPCFD80xU9Pg09H/K+XFa68uJuZo7l/Xhs+eDRg2l3hg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <5.9.0' + '@babel/plugin-syntax-decorators@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} - engines: {node: '>=14.17'} - hasBin: true + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - ufo@1.6.1: - resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + '@babel/plugin-syntax-export-default-from@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + '@babel/plugin-syntax-flow@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - undici-types@7.8.0: - resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} + '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - undici@7.13.0: - resolution: {integrity: sha512-l+zSMssRqrzDcb3fjMkjjLGmuiiK2pMIcV++mJaAc9vhjSGpvM7h43QgP+OAMb1GImHmbPyG2tBXeuyG5iY4gA==} - engines: {node: '>=20.18.1'} + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - unenv@2.0.0-rc.19: - resolution: {integrity: sha512-t/OMHBNAkknVCI7bVB9OWjUUAwhVv9vsPIAGnNUxnu3FxPQN11rjh0sksLMzc3g7IlTgvHmOTl4JM7JHpcv5wA==} + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - unified@11.0.5: - resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - universal-github-app-jwt@2.2.2: - resolution: {integrity: sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==} + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - universal-user-agent@7.0.3: - resolution: {integrity: sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==} + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - unplugin@2.3.5: - resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==} - engines: {node: '>=18.12.0'} + '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - update-browserslist-db@1.1.3: - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - use-callback-ref@1.3.3: - resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + '@babel/plugin-transform-async-generator-functions@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color - use-sidecar@1.1.3: - resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': '*' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true + '@babel/plugin-transform-async-to-generator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-remap-async-to-generator': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color - use-sync-external-store@1.5.0: - resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} + '@babel/plugin-transform-class-properties@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} + '@babel/plugin-transform-class-static-block@7.28.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - vaul@1.1.2: - resolution: {integrity: sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0.0 || ^19.0.0-rc + '@babel/plugin-transform-classes@7.28.4(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-globals': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color - vfile-message@4.0.3: - resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + '@babel/plugin-transform-computed-properties@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/template': 7.27.2 - vfile@6.0.3: - resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + '@babel/plugin-transform-destructuring@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color - vite-node@3.2.4: - resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true + '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 - vite@7.0.6: - resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - '@types/node': ^20.19.0 || >=22.12.0 - jiti: '>=1.21.0' - less: ^4.0.0 - lightningcss: ^1.21.0 - sass: ^1.70.0 - sass-embedded: ^1.70.0 - stylus: '>=0.54.8' - sugarss: ^5.0.0 - terser: ^5.16.0 - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - '@types/node': - optional: true - jiti: - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - tsx: - optional: true - yaml: - optional: true + '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - vitest@3.2.4: - resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/debug': ^4.1.12 - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.4 - '@vitest/ui': 3.2.4 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/debug': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 - webpack-virtual-modules@0.6.2: - resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} + '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - why-is-node-running@2.3.0: - resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} - engines: {node: '>=8'} - hasBin: true + '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} + '@babel/plugin-transform-flow-strip-types@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.0) - workerd@1.20250730.0: - resolution: {integrity: sha512-w6e0WM2YGfYQGmg0dewZeLUYIxAzMYK1R31vaS4HHHjgT32Xqj0eVQH+leegzY51RZPNCvw5pe8DFmW4MGf8Fg==} - engines: {node: '>=16'} - hasBin: true + '@babel/plugin-transform-for-of@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color - wrangler@4.27.0: - resolution: {integrity: sha512-YNHZyMNWebFt9jD6dc20tQrCmnSzJj3SoB0FFa90w11Cx4lbP3d+rUZYjb18Zt+OGSMay1wT2PzwT2vCTskkmg==} - engines: {node: '>=18.0.0'} - hasBin: true - peerDependencies: - '@cloudflare/workers-types': ^4.20250730.0 - peerDependenciesMeta: - '@cloudflare/workers-types': - optional: true + '@babel/plugin-transform-function-name@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + '@babel/plugin-transform-logical-assignment-operators@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - ws@8.18.0: - resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true + '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - yallist@5.0.0: - resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} - engines: {node: '>=18'} + '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.0 + transitivePeerDependencies: + - supports-color - yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - yoctocolors-cjs@2.1.2: - resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} - engines: {node: '>=18'} + '@babel/plugin-transform-numeric-separator@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - youch-core@0.3.3: - resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} + '@babel/plugin-transform-object-rest-spread@7.28.4(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color - youch@4.1.0-beta.10: - resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} + '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color - zod@3.22.3: - resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} + '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + '@babel/plugin-transform-optional-chaining@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + transitivePeerDependencies: + - supports-color - zod@4.0.14: - resolution: {integrity: sha512-nGFJTnJN6cM2v9kXL+SOBq3AtjQby3Mv5ySGFof5UGRHrRioSJ5iG680cYNjE/yWk671nROcpPj4hAS8nyLhSw==} + '@babel/plugin-transform-parameters@7.27.7(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - zustand@5.0.7: - resolution: {integrity: sha512-Ot6uqHDW/O2VdYsKLLU8GQu8sCOM1LcoE8RwvLv9uuRT9s6SOHCKs0ZEOhxg+I1Ld+A1Q5lwx+UlKXXUoCZITg==} - engines: {node: '>=12.20.0'} - peerDependencies: - '@types/react': '>=18.0.0' - immer: '>=9.0.6' - react: '>=18.0.0' - use-sync-external-store: '>=1.2.0' - peerDependenciesMeta: - '@types/react': - optional: true - immer: - optional: true - react: - optional: true - use-sync-external-store: - optional: true + '@babel/plugin-transform-private-methods@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color - zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + '@babel/plugin-transform-private-property-in-object@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + transitivePeerDependencies: + - supports-color -snapshots: + '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - '@adobe/css-tools@4.4.3': {} + '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - '@ampproject/remapping@2.3.0': + '@babel/plugin-transform-react-jsx-development@7.27.1(@babel/core@7.28.0)': dependencies: - '@jridgewell/gen-mapping': 0.3.12 - '@jridgewell/trace-mapping': 0.3.29 + '@babel/core': 7.28.0 + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color - '@babel/code-frame@7.27.1': + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/helper-validator-identifier': 7.27.1 - js-tokens: 4.0.0 - picocolors: 1.1.1 + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/compat-data@7.28.0': {} + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/core@7.28.0': + '@babel/plugin-transform-react-jsx@7.27.1(@babel/core@7.28.0)': dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.28.0 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helpers': 7.28.2 - '@babel/parser': 7.28.0 - '@babel/template': 7.27.2 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 - convert-source-map: 2.0.0 - debug: 4.4.1 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/types': 7.28.2 transitivePeerDependencies: - supports-color - '@babel/generator@7.28.0': + '@babel/plugin-transform-react-pure-annotations@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 - '@jridgewell/gen-mapping': 0.3.12 - '@jridgewell/trace-mapping': 0.3.29 - jsesc: 3.1.0 + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-annotate-as-pure@7.27.3': + '@babel/plugin-transform-regenerator@7.28.4(@babel/core@7.28.0)': dependencies: - '@babel/types': 7.28.2 + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-compilation-targets@7.27.2': + '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/compat-data': 7.28.0 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.1 - lru-cache: 5.1.1 - semver: 6.3.1 + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.0)': + '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-member-expression-to-functions': 7.27.1 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/helper-globals@7.28.0': {} + '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-member-expression-to-functions@7.27.1': + '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.28.0)': dependencies: - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/core': 7.28.0 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-plugin-utils': 7.27.1 + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.0) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.0) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.0) + semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.27.1': + '@babel/plugin-transform-shorthand-properties@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)': + '@babel/plugin-transform-spread@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 transitivePeerDependencies: - supports-color - '@babel/helper-optimise-call-expression@7.27.1': + '@babel/plugin-transform-sticky-regex@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/types': 7.28.2 + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-plugin-utils@7.27.1': {} + '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.0)': + '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-member-expression-to-functions': 7.27.1 - '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.0 - transitivePeerDependencies: - - supports-color + '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.0)': dependencies: - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/core': 7.28.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.27.1': {} - - '@babel/helper-validator-identifier@7.27.1': {} - - '@babel/helper-validator-option@7.27.1': {} - - '@babel/helpers@7.28.2': + '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.28.2 + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 - '@babel/parser@7.28.0': + '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.0)': dependencies: - '@babel/types': 7.28.2 + '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.0)': + '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-typescript@7.27.1(@babel/core@7.28.0)': + '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 + '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.0)': + '@babel/preset-env@7.28.3(@babel/core@7.28.0)': dependencies: + '@babel/compat-data': 7.28.0 '@babel/core': 7.28.0 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) + '@babel/helper-compilation-targets': 7.27.2 '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.0) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0) + '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.0) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.0) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.0) + babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.0) + babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.0) + babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.0) + core-js-compat: 3.45.1 + semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.0)': + '@babel/preset-flow@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-annotate-as-pure': 7.27.3 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.0) + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0) + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/types': 7.28.2 + esutils: 2.0.3 + + '@babel/preset-react@7.27.1(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-plugin-utils': 7.27.1 + '@babel/helper-validator-option': 7.27.1 + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-pure-annotations': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: - supports-color @@ -4730,6 +8331,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/register@7.28.3(@babel/core@7.28.0)': + dependencies: + '@babel/core': 7.28.0 + clone-deep: 4.0.1 + find-cache-dir: 2.1.0 + make-dir: 2.1.0 + pirates: 4.0.7 + source-map-support: 0.5.21 + '@babel/runtime@7.28.2': {} '@babel/template@7.27.2': @@ -4750,11 +8360,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.28.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + '@babel/types@7.28.2': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@7.28.4': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@bcoe/v8-coverage@1.0.2': {} '@cloudflare/containers@0.0.22': {} @@ -4769,7 +8396,7 @@ snapshots: optionalDependencies: workerd: 1.20250730.0 - '@cloudflare/vite-plugin@1.11.0(rollup@4.46.2)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3))(workerd@1.20250730.0)(wrangler@4.27.0(@cloudflare/workers-types@4.20250801.0))': + '@cloudflare/vite-plugin@1.11.0(rollup@4.46.2)(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3))(workerd@1.20250730.0)(wrangler@4.27.0(@cloudflare/workers-types@4.20250801.0))': dependencies: '@cloudflare/unenv-preset': 2.5.0(unenv@2.0.0-rc.19)(workerd@1.20250730.0) '@mjackson/node-fetch-server': 0.6.1 @@ -4779,7 +8406,7 @@ snapshots: picocolors: 1.1.1 tinyglobby: 0.2.14 unenv: 2.0.0-rc.19 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) wrangler: 4.27.0(@cloudflare/workers-types@4.20250801.0) ws: 8.18.0 transitivePeerDependencies: @@ -5100,42 +8727,338 @@ snapshots: - supports-color - typescript - '@eslint/config-array@0.21.0': + '@eslint/config-array@0.21.0': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.1 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.3.0': {} + + '@eslint/core@0.15.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/eslintrc@3.3.1': + dependencies: + ajv: 6.12.6 + debug: 4.4.1 + espree: 10.4.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.32.0': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.3.4': + dependencies: + '@eslint/core': 0.15.1 + levn: 0.4.1 + + '@expo/bunyan@4.0.1': + dependencies: + uuid: 8.3.2 + + '@expo/cli@0.22.26': + dependencies: + '@0no-co/graphql.web': 1.2.0 + '@babel/runtime': 7.28.2 + '@expo/code-signing-certificates': 0.0.5 + '@expo/config': 10.0.11 + '@expo/config-plugins': 9.0.17 + '@expo/devcert': 1.2.0 + '@expo/env': 0.4.2 + '@expo/image-utils': 0.6.5 + '@expo/json-file': 9.1.5 + '@expo/metro-config': 0.19.12 + '@expo/osascript': 2.3.7 + '@expo/package-manager': 1.9.8 + '@expo/plist': 0.2.2 + '@expo/prebuild-config': 8.2.0 + '@expo/rudder-sdk-node': 1.1.1 + '@expo/spawn-async': 1.7.2 + '@expo/ws-tunnel': 1.0.6 + '@expo/xcpretty': 4.3.2 + '@react-native/dev-middleware': 0.76.9 + '@urql/core': 5.2.0 + '@urql/exchange-retry': 1.3.2(@urql/core@5.2.0) + accepts: 1.3.8 + arg: 5.0.2 + better-opn: 3.0.2 + bplist-creator: 0.0.7 + bplist-parser: 0.3.2 + cacache: 18.0.4 + chalk: 4.1.2 + ci-info: 3.9.0 + compression: 1.8.1 + connect: 3.7.0 + debug: 4.4.1 + env-editor: 0.4.2 + fast-glob: 3.3.3 + form-data: 3.0.4 + freeport-async: 2.0.0 + fs-extra: 8.1.0 + getenv: 1.0.0 + glob: 10.4.5 + internal-ip: 4.3.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + lodash.debounce: 4.0.8 + minimatch: 3.1.2 + node-forge: 1.3.1 + npm-package-arg: 11.0.3 + ora: 3.4.0 + picomatch: 3.0.1 + pretty-bytes: 5.6.0 + pretty-format: 29.7.0 + progress: 2.0.3 + prompts: 2.4.2 + qrcode-terminal: 0.11.0 + require-from-string: 2.0.2 + requireg: 0.2.2 + resolve: 1.22.10 + resolve-from: 5.0.0 + resolve.exports: 2.0.3 + semver: 7.7.2 + send: 0.19.0 + slugify: 1.6.6 + source-map-support: 0.5.21 + stacktrace-parser: 0.1.11 + structured-headers: 0.4.1 + tar: 6.2.1 + temp-dir: 2.0.0 + tempy: 0.7.1 + terminal-link: 2.1.1 + undici: 6.21.3 + unique-string: 2.0.0 + wrap-ansi: 7.0.0 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - encoding + - graphql + - supports-color + - utf-8-validate + + '@expo/code-signing-certificates@0.0.5': + dependencies: + node-forge: 1.3.1 + nullthrows: 1.1.1 + + '@expo/config-plugins@9.0.17': + dependencies: + '@expo/config-types': 52.0.5 + '@expo/json-file': 9.0.2 + '@expo/plist': 0.2.2 + '@expo/sdk-runtime-versions': 1.0.0 + chalk: 4.1.2 + debug: 4.4.1 + getenv: 1.0.0 + glob: 10.4.5 + resolve-from: 5.0.0 + semver: 7.7.2 + slash: 3.0.0 + slugify: 1.6.6 + xcode: 3.0.1 + xml2js: 0.6.0 + transitivePeerDependencies: + - supports-color + + '@expo/config-types@52.0.5': {} + + '@expo/config@10.0.11': + dependencies: + '@babel/code-frame': 7.10.4 + '@expo/config-plugins': 9.0.17 + '@expo/config-types': 52.0.5 + '@expo/json-file': 9.1.5 + deepmerge: 4.3.1 + getenv: 1.0.0 + glob: 10.4.5 + require-from-string: 2.0.2 + resolve-from: 5.0.0 + resolve-workspace-root: 2.0.0 + semver: 7.7.2 + slugify: 1.6.6 + sucrase: 3.35.0 + transitivePeerDependencies: + - supports-color + + '@expo/devcert@1.2.0': + dependencies: + '@expo/sudo-prompt': 9.3.2 + debug: 3.2.7 + glob: 10.4.5 + transitivePeerDependencies: + - supports-color + + '@expo/env@0.4.2': + dependencies: + chalk: 4.1.2 + debug: 4.4.1 + dotenv: 16.4.7 + dotenv-expand: 11.0.7 + getenv: 1.0.0 + transitivePeerDependencies: + - supports-color + + '@expo/fingerprint@0.11.11': + dependencies: + '@expo/spawn-async': 1.7.2 + arg: 5.0.2 + chalk: 4.1.2 + debug: 4.4.1 + find-up: 5.0.0 + getenv: 1.0.0 + minimatch: 3.1.2 + p-limit: 3.1.0 + resolve-from: 5.0.0 + semver: 7.7.2 + transitivePeerDependencies: + - supports-color + + '@expo/image-utils@0.6.5': + dependencies: + '@expo/spawn-async': 1.7.2 + chalk: 4.1.2 + fs-extra: 9.0.0 + getenv: 1.0.0 + jimp-compact: 0.16.1 + parse-png: 2.1.0 + resolve-from: 5.0.0 + semver: 7.7.2 + temp-dir: 2.0.0 + unique-string: 2.0.0 + + '@expo/json-file@10.0.7': + dependencies: + '@babel/code-frame': 7.10.4 + json5: 2.2.3 + + '@expo/json-file@9.0.2': + dependencies: + '@babel/code-frame': 7.10.4 + json5: 2.2.3 + write-file-atomic: 2.4.3 + + '@expo/json-file@9.1.5': + dependencies: + '@babel/code-frame': 7.10.4 + json5: 2.2.3 + + '@expo/metro-config@0.19.12': + dependencies: + '@babel/core': 7.28.0 + '@babel/generator': 7.28.0 + '@babel/parser': 7.28.0 + '@babel/types': 7.28.2 + '@expo/config': 10.0.11 + '@expo/env': 0.4.2 + '@expo/json-file': 9.0.2 + '@expo/spawn-async': 1.7.2 + chalk: 4.1.2 + debug: 4.4.1 + fs-extra: 9.1.0 + getenv: 1.0.0 + glob: 10.4.5 + jsc-safe-url: 0.2.4 + lightningcss: 1.27.0 + minimatch: 3.1.2 + postcss: 8.4.49 + resolve-from: 5.0.0 + transitivePeerDependencies: + - supports-color + + '@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))': dependencies: - '@eslint/object-schema': 2.1.6 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + + '@expo/osascript@2.3.7': + dependencies: + '@expo/spawn-async': 1.7.2 + exec-async: 2.2.0 + + '@expo/package-manager@1.9.8': + dependencies: + '@expo/json-file': 10.0.7 + '@expo/spawn-async': 1.7.2 + chalk: 4.1.2 + npm-package-arg: 11.0.3 + ora: 3.4.0 + resolve-workspace-root: 2.0.0 + + '@expo/plist@0.2.2': + dependencies: + '@xmldom/xmldom': 0.7.13 + base64-js: 1.5.1 + xmlbuilder: 14.0.0 + + '@expo/prebuild-config@8.2.0': + dependencies: + '@expo/config': 10.0.11 + '@expo/config-plugins': 9.0.17 + '@expo/config-types': 52.0.5 + '@expo/image-utils': 0.6.5 + '@expo/json-file': 9.1.5 + '@react-native/normalize-colors': 0.76.9 debug: 4.4.1 - minimatch: 3.1.2 + fs-extra: 9.1.0 + resolve-from: 5.0.0 + semver: 7.7.2 + xml2js: 0.6.0 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.3.0': {} - - '@eslint/core@0.15.1': + '@expo/rudder-sdk-node@1.1.1': dependencies: - '@types/json-schema': 7.0.15 + '@expo/bunyan': 4.0.1 + '@segment/loosely-validate-event': 2.0.0 + fetch-retry: 4.1.1 + md5: 2.3.0 + node-fetch: 2.7.0 + remove-trailing-slash: 0.1.1 + uuid: 8.3.2 + transitivePeerDependencies: + - encoding - '@eslint/eslintrc@3.3.1': + '@expo/sdk-runtime-versions@1.0.0': {} + + '@expo/server@0.5.3': dependencies: - ajv: 6.12.6 + abort-controller: 3.0.0 debug: 4.4.1 - espree: 10.4.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 + source-map-support: 0.5.21 + undici: 6.21.3 transitivePeerDependencies: - supports-color - '@eslint/js@9.32.0': {} + '@expo/spawn-async@1.7.2': + dependencies: + cross-spawn: 7.0.6 - '@eslint/object-schema@2.1.6': {} + '@expo/sudo-prompt@9.3.2': {} - '@eslint/plugin-kit@0.3.4': + '@expo/vector-icons@14.0.4': dependencies: - '@eslint/core': 0.15.1 - levn: 0.4.1 + prop-types: 15.8.1 + + '@expo/ws-tunnel@1.0.6': {} + + '@expo/xcpretty@4.3.2': + dependencies: + '@babel/code-frame': 7.10.4 + chalk: 4.1.2 + find-up: 5.0.0 + js-yaml: 4.1.0 '@floating-ui/core@1.7.3': dependencies: @@ -5375,8 +9298,71 @@ snapshots: dependencies: minipass: 7.1.2 + '@isaacs/ttlcache@1.4.1': {} + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + '@istanbuljs/schema@0.1.3': {} + '@jest/create-cache-key-function@29.7.0': + dependencies: + '@jest/types': 29.6.3 + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 24.1.0 + jest-mock: 29.7.0 + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 24.1.0 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jest/transform@29.7.0': + dependencies: + '@babel/core': 7.28.0 + '@jest/types': 29.6.3 + '@jridgewell/trace-mapping': 0.3.29 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.7.0 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 24.1.0 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + '@jridgewell/gen-mapping@0.3.12': dependencies: '@jridgewell/sourcemap-codec': 1.5.4 @@ -5384,6 +9370,11 @@ snapshots: '@jridgewell/resolve-uri@3.1.2': {} + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + '@jridgewell/trace-mapping': 0.3.29 + '@jridgewell/sourcemap-codec@1.5.4': {} '@jridgewell/trace-mapping@0.3.29': @@ -5410,6 +9401,10 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 + '@npmcli/fs@3.1.1': + dependencies: + semver: 7.7.2 + '@octokit/app@16.0.1': dependencies: '@octokit/auth-app': 8.0.2 @@ -5655,6 +9650,11 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-compose-refs@1.0.0(react@18.3.1)': + dependencies: + '@babel/runtime': 7.28.2 + react: 18.3.1 + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.9)(react@19.1.1)': dependencies: react: 19.1.1 @@ -5934,6 +9934,12 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-slot@1.0.1(react@18.3.1)': + dependencies: + '@babel/runtime': 7.28.2 + '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1) + react: 18.3.1 + '@radix-ui/react-slot@1.2.3(@types/react@19.1.9)(react@19.1.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.1) @@ -6064,6 +10070,303 @@ snapshots: '@radix-ui/rect@1.1.1': {} + '@react-native/assets-registry@0.76.0': {} + + '@react-native/babel-plugin-codegen@0.76.0(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + dependencies: + '@react-native/codegen': 0.76.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-plugin-codegen@0.76.9(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + dependencies: + '@react-native/codegen': 0.76.9(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-preset@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + dependencies: + '@babel/core': 7.28.0 + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) + '@babel/template': 7.27.2 + '@react-native/babel-plugin-codegen': 0.76.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + babel-plugin-syntax-hermes-parser: 0.23.1 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.0) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-preset@0.76.9(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + dependencies: + '@babel/core': 7.28.0 + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.0) + '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) + '@babel/template': 7.27.2 + '@react-native/babel-plugin-codegen': 0.76.9(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + babel-plugin-syntax-hermes-parser: 0.25.1 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.0) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/codegen@0.76.0(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + dependencies: + '@babel/parser': 7.28.0 + '@babel/preset-env': 7.28.3(@babel/core@7.28.0) + glob: 7.2.3 + hermes-parser: 0.23.1 + invariant: 2.2.4 + jscodeshift: 0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + mkdirp: 0.5.6 + nullthrows: 1.1.1 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@react-native/codegen@0.76.9(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + dependencies: + '@babel/parser': 7.28.0 + '@babel/preset-env': 7.28.3(@babel/core@7.28.0) + glob: 7.2.3 + hermes-parser: 0.23.1 + invariant: 2.2.4 + jscodeshift: 0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + mkdirp: 0.5.6 + nullthrows: 1.1.1 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@react-native/community-cli-plugin@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + dependencies: + '@react-native/dev-middleware': 0.76.0 + '@react-native/metro-babel-transformer': 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + chalk: 4.1.2 + execa: 5.1.1 + invariant: 2.2.4 + metro: 0.81.5 + metro-config: 0.81.5 + metro-core: 0.81.5 + node-fetch: 2.7.0 + readline: 1.3.0 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@react-native/debugger-frontend@0.76.0': {} + + '@react-native/debugger-frontend@0.76.9': {} + + '@react-native/dev-middleware@0.76.0': + dependencies: + '@isaacs/ttlcache': 1.4.1 + '@react-native/debugger-frontend': 0.76.0 + chrome-launcher: 0.15.2 + chromium-edge-launcher: 0.2.0 + connect: 3.7.0 + debug: 2.6.9 + nullthrows: 1.1.1 + open: 7.4.2 + selfsigned: 2.4.1 + serve-static: 1.16.2 + ws: 6.2.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@react-native/dev-middleware@0.76.9': + dependencies: + '@isaacs/ttlcache': 1.4.1 + '@react-native/debugger-frontend': 0.76.9 + chrome-launcher: 0.15.2 + chromium-edge-launcher: 0.2.0 + connect: 3.7.0 + debug: 2.6.9 + invariant: 2.2.4 + nullthrows: 1.1.1 + open: 7.4.2 + selfsigned: 2.4.1 + serve-static: 1.16.2 + ws: 6.2.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + '@react-native/gradle-plugin@0.76.0': {} + + '@react-native/js-polyfills@0.76.0': {} + + '@react-native/metro-babel-transformer@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + dependencies: + '@babel/core': 7.28.0 + '@react-native/babel-preset': 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + hermes-parser: 0.23.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/normalize-colors@0.74.89': {} + + '@react-native/normalize-colors@0.76.0': {} + + '@react-native/normalize-colors@0.76.8': {} + + '@react-native/normalize-colors@0.76.9': {} + + '@react-native/virtualized-lists@0.76.0(@types/react@18.3.24)(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)': + dependencies: + invariant: 2.2.4 + nullthrows: 1.1.1 + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.24 + + '@react-navigation/bottom-tabs@7.4.7(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-screens@4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-navigation/elements': 2.6.4(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + '@react-navigation/native': 7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + color: 4.2.3 + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react-native-safe-area-context: 4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-native-screens: 4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - '@react-native-masked-view/masked-view' + + '@react-navigation/core@7.12.4(react@18.3.1)': + dependencies: + '@react-navigation/routers': 7.5.1 + escape-string-regexp: 4.0.0 + nanoid: 3.3.11 + query-string: 7.1.3 + react: 18.3.1 + react-is: 19.1.1 + use-latest-callback: 0.2.4(react@18.3.1) + use-sync-external-store: 1.5.0(react@18.3.1) + + '@react-navigation/elements@2.6.4(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-navigation/native': 7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + color: 4.2.3 + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react-native-safe-area-context: 4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + use-latest-callback: 0.2.4(react@18.3.1) + use-sync-external-store: 1.5.0(react@18.3.1) + + '@react-navigation/native-stack@7.3.26(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-screens@4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-navigation/elements': 2.6.4(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + '@react-navigation/native': 7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react-native-safe-area-context: 4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-native-screens: 4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + warn-once: 0.1.1 + transitivePeerDependencies: + - '@react-native-masked-view/masked-view' + + '@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-navigation/core': 7.12.4(react@18.3.1) + escape-string-regexp: 4.0.0 + fast-deep-equal: 3.1.3 + nanoid: 3.3.11 + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + use-latest-callback: 0.2.4(react@18.3.1) + + '@react-navigation/routers@7.5.1': + dependencies: + nanoid: 3.3.11 + '@rolldown/pluginutils@1.0.0-beta.27': {} '@rollup/plugin-replace@6.0.2(rollup@4.46.2)': @@ -6141,8 +10444,23 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.46.2': optional: true + '@segment/loosely-validate-event@2.0.0': + dependencies: + component-type: 1.2.2 + join-component: 1.1.0 + + '@sinclair/typebox@0.27.8': {} + '@sindresorhus/is@7.0.2': {} + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + '@speed-highlight/core@1.2.7': {} '@swc/core-darwin-arm64@1.13.3': @@ -6269,12 +10587,12 @@ snapshots: postcss-selector-parser: 6.0.10 tailwindcss: 4.1.11 - '@tailwindcss/vite@4.1.11(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3))': + '@tailwindcss/vite@4.1.11(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3))': dependencies: '@tailwindcss/node': 4.1.11 '@tailwindcss/oxide': 4.1.11 tailwindcss: 4.1.11 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) '@tanstack/history@1.130.12': {} @@ -6341,7 +10659,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.130.12(@tanstack/react-router@1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3))': + '@tanstack/router-plugin@1.130.12(@tanstack/react-router@1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1))(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.0) @@ -6359,7 +10677,7 @@ snapshots: zod: 3.25.76 optionalDependencies: '@tanstack/react-router': 1.130.12(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) transitivePeerDependencies: - supports-color @@ -6417,6 +10735,27 @@ snapshots: '@types/aws-lambda@8.10.152': {} + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.28.0 + '@babel/types': 7.28.2 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.28.2 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.28.0 + '@babel/types': 7.28.2 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.28.2 + '@types/chai@5.2.2': dependencies: '@types/deep-eql': 4.0.2 @@ -6433,10 +10772,24 @@ snapshots: '@types/estree@1.0.8': {} + '@types/graceful-fs@4.1.9': + dependencies: + '@types/node': 24.1.0 + '@types/hast@3.0.4': dependencies: '@types/unist': 3.0.3 + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + '@types/json-schema@7.0.15': {} '@types/mdast@4.0.4': @@ -6445,6 +10798,10 @@ snapshots: '@types/ms@2.1.0': {} + '@types/node-forge@1.3.14': + dependencies: + '@types/node': 24.1.0 + '@types/node@20.19.10': dependencies: undici-types: 6.21.0 @@ -6457,20 +10814,35 @@ snapshots: '@types/prismjs@1.26.5': {} + '@types/prop-types@15.7.15': {} + '@types/react-dom@19.1.7(@types/react@19.1.9)': dependencies: '@types/react': 19.1.9 + '@types/react@18.3.24': + dependencies: + '@types/prop-types': 15.7.15 + csstype: 3.1.3 + '@types/react@19.1.9': dependencies: csstype: 3.1.3 + '@types/stack-utils@2.0.3': {} + '@types/unist@2.0.11': {} '@types/unist@3.0.3': {} '@types/whatwg-mimetype@3.0.2': {} + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + '@typescript-eslint/eslint-plugin@8.38.0(@typescript-eslint/parser@8.38.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3))(eslint@9.32.0(jiti@2.5.1))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -6566,11 +10938,23 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-react-swc@3.11.0(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3))': + '@urql/core@5.2.0': + dependencies: + '@0no-co/graphql.web': 1.2.0 + wonka: 6.3.5 + transitivePeerDependencies: + - graphql + + '@urql/exchange-retry@1.3.2(@urql/core@5.2.0)': + dependencies: + '@urql/core': 5.2.0 + wonka: 6.3.5 + + '@vitejs/plugin-react-swc@3.11.0(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.27 '@swc/core': 1.13.3 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) transitivePeerDependencies: - '@swc/helpers' @@ -6589,7 +10973,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) transitivePeerDependencies: - supports-color @@ -6601,13 +10985,13 @@ snapshots: chai: 5.2.1 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3))': + '@vitest/mocker@3.2.4(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) '@vitest/pretty-format@3.2.4': dependencies: @@ -6638,7 +11022,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) '@vitest/utils@3.2.4': dependencies: @@ -6646,6 +11030,10 @@ snapshots: loupe: 3.2.0 tinyrainbow: 2.0.0 + '@xmldom/xmldom@0.7.13': {} + + '@xmldom/xmldom@0.8.11': {} + '@xterm/addon-fit@0.10.0(@xterm/xterm@5.5.0)': dependencies: '@xterm/xterm': 5.5.0 @@ -6660,6 +11048,10 @@ snapshots: '@xterm/xterm@5.5.0': {} + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + accepts@1.3.8: dependencies: mime-types: 2.1.35 @@ -6675,6 +11067,20 @@ snapshots: acorn@8.15.0: {} + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 @@ -6682,14 +11088,36 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ajv@8.11.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + anser@1.4.10: {} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 + ansi-regex@4.1.1: {} + ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -6700,11 +11128,19 @@ snapshots: ansis@4.1.0: {} + any-promise@1.3.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 + arg@5.0.2: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + argparse@2.0.1: {} aria-hidden@1.2.6: @@ -6719,8 +11155,16 @@ snapshots: array-flatten@1.1.1: {} + array-union@2.1.0: {} + + asap@2.0.6: {} + assertion-error@2.0.1: {} + ast-types@0.15.2: + dependencies: + tslib: 2.8.1 + ast-types@0.16.1: dependencies: tslib: 2.8.1 @@ -6731,6 +11175,16 @@ snapshots: estree-walker: 3.0.3 js-tokens: 9.0.1 + async-limiter@1.0.1: {} + + asynckit@0.4.0: {} + + at-least-node@1.0.0: {} + + babel-core@7.0.0-bridge.0(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + babel-dead-code-elimination@1.0.10: dependencies: '@babel/core': 7.28.0 @@ -6740,18 +11194,139 @@ snapshots: transitivePeerDependencies: - supports-color + babel-jest@29.7.0(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.28.0) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@6.1.1: + dependencies: + '@babel/helper-plugin-utils': 7.27.1 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@29.6.3: + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.2 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.28.0 + babel-plugin-macros@3.1.0: dependencies: '@babel/runtime': 7.28.2 cosmiconfig: 7.1.0 resolve: 1.22.10 + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.0): + dependencies: + '@babel/compat-data': 7.28.0 + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.0) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.0) + core-js-compat: 3.45.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.5(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + '@babel/helper-define-polyfill-provider': 0.6.5(@babel/core@7.28.0) + transitivePeerDependencies: + - supports-color + + babel-plugin-react-native-web@0.19.13: {} + + babel-plugin-syntax-hermes-parser@0.23.1: + dependencies: + hermes-parser: 0.23.1 + + babel-plugin-syntax-hermes-parser@0.25.1: + dependencies: + hermes-parser: 0.25.1 + + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.28.0): + dependencies: + '@babel/plugin-syntax-flow': 7.27.1(@babel/core@7.28.0) + transitivePeerDependencies: + - '@babel/core' + + babel-preset-current-node-syntax@1.2.0(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.28.0) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.28.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.28.0) + '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.28.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.28.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.28.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.0) + + babel-preset-expo@12.0.11(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)): + dependencies: + '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.0) + '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/preset-react': 7.27.1(@babel/core@7.28.0) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) + '@react-native/babel-preset': 0.76.9(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + babel-plugin-react-native-web: 0.19.13 + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - supports-color + + babel-preset-jest@29.6.3(@babel/core@7.28.0): + dependencies: + '@babel/core': 7.28.0 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.2.0(@babel/core@7.28.0) + bail@2.0.2: {} balanced-match@1.0.2: {} + base64-js@1.5.1: {} + + baseline-browser-mapping@2.8.5: {} + before-after-hook@4.0.0: {} + better-opn@3.0.2: + dependencies: + open: 8.4.2 + + big-integer@1.6.52: {} + binary-extensions@2.3.0: {} birecord@0.1.1: {} @@ -6775,6 +11350,22 @@ snapshots: transitivePeerDependencies: - supports-color + bplist-creator@0.0.7: + dependencies: + stream-buffers: 2.2.0 + + bplist-creator@0.1.0: + dependencies: + stream-buffers: 2.2.0 + + bplist-parser@0.3.1: + dependencies: + big-integer: 1.6.52 + + bplist-parser@0.3.2: + dependencies: + big-integer: 1.6.52 + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -6795,10 +11386,53 @@ snapshots: node-releases: 2.0.19 update-browserslist-db: 1.1.3(browserslist@4.25.1) + browserslist@4.26.2: + dependencies: + baseline-browser-mapping: 2.8.5 + caniuse-lite: 1.0.30001743 + electron-to-chromium: 1.5.221 + node-releases: 2.0.21 + update-browserslist-db: 1.1.3(browserslist@4.26.2) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-alloc-unsafe@1.1.0: {} + + buffer-alloc@1.2.0: + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 + + buffer-fill@1.0.0: {} + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + bytes@3.1.2: {} cac@6.7.14: {} + cacache@18.0.4: + dependencies: + '@npmcli/fs': 3.1.1 + fs-minipass: 3.0.3 + glob: 10.4.5 + lru-cache: 10.4.3 + minipass: 7.1.2 + minipass-collect: 2.0.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.6 + tar: 6.2.1 + unique-filename: 3.0.0 + call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -6809,10 +11443,26 @@ snapshots: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 + caller-callsite@2.0.0: + dependencies: + callsites: 2.0.0 + + caller-path@2.0.0: + dependencies: + caller-callsite: 2.0.0 + + callsites@2.0.0: {} + callsites@3.1.0: {} + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + caniuse-lite@1.0.30001731: {} + caniuse-lite@1.0.30001743: {} + ccount@2.0.1: {} chai@5.2.1: @@ -6823,6 +11473,12 @@ snapshots: loupe: 3.2.0 pathval: 2.0.1 + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -6838,6 +11494,8 @@ snapshots: chardet@0.7.0: {} + charenc@0.0.2: {} + check-error@2.1.1: {} chokidar@3.6.0: @@ -6852,22 +11510,66 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chownr@2.0.0: {} + chownr@3.0.0: {} + chrome-launcher@0.15.2: + dependencies: + '@types/node': 24.1.0 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + transitivePeerDependencies: + - supports-color + + chromium-edge-launcher@0.2.0: + dependencies: + '@types/node': 24.1.0 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + mkdirp: 1.0.4 + rimraf: 3.0.2 + transitivePeerDependencies: + - supports-color + + ci-info@2.0.0: {} + + ci-info@3.9.0: {} + class-variance-authority@0.7.1: dependencies: clsx: 2.1.1 classnames@2.5.1: {} + clean-stack@2.2.0: {} + + cli-cursor@2.1.0: + dependencies: + restore-cursor: 2.0.0 + + cli-spinners@2.9.2: {} + cli-width@4.1.0: {} + client-only@0.0.1: {} + cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + clone-deep@4.0.1: + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clone@1.0.4: {} + clsx@2.1.1: {} cmdk@1.1.1(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1): @@ -6882,10 +11584,16 @@ snapshots: - '@types/react' - '@types/react-dom' + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + color-convert@2.0.1: dependencies: color-name: 1.1.4 + color-name@1.1.3: {} + color-name@1.1.4: {} color-string@1.9.1: @@ -6898,10 +11606,42 @@ snapshots: color-convert: 2.0.1 color-string: 1.9.1 + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + comma-separated-tokens@2.0.3: {} + commander@12.1.0: {} + + commander@2.20.3: {} + + commander@4.1.1: {} + + commander@7.2.0: {} + + commondir@1.0.1: {} + compare-versions@6.1.1: {} + component-type@1.2.2: {} + + compressible@2.0.18: + dependencies: + mime-db: 1.52.0 + + compression@1.8.1: + dependencies: + bytes: 3.1.2 + compressible: 2.0.18 + debug: 2.6.9 + negotiator: 0.6.4 + on-headers: 1.1.0 + safe-buffer: 5.2.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + concat-map@0.0.1: {} concurrently@9.2.0: @@ -6914,6 +11654,15 @@ snapshots: tree-kill: 1.2.2 yargs: 17.7.2 + connect@3.7.0: + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 @@ -6932,11 +11681,22 @@ snapshots: cookie@1.0.2: {} + core-js-compat@3.45.1: + dependencies: + browserslist: 4.26.2 + cors@2.8.5: dependencies: object-assign: 4.1.1 vary: 1.1.2 + cosmiconfig@5.2.1: + dependencies: + import-fresh: 2.0.0 + is-directory: 0.3.1 + js-yaml: 3.14.1 + parse-json: 4.0.0 + cosmiconfig@7.1.0: dependencies: '@types/parse-json': 4.0.2 @@ -6945,12 +11705,34 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-spawn@6.0.6: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + crypt@0.0.2: {} + + crypto-random-string@2.0.0: {} + + css-in-js-utils@3.1.0: + dependencies: + hyphenate-style-name: 1.1.0 + css.escape@1.5.1: {} cssesc@3.0.0: {} @@ -6965,6 +11747,10 @@ snapshots: dependencies: ms: 2.0.0 + debug@3.2.7: + dependencies: + ms: 2.1.3 + debug@4.4.1: dependencies: ms: 2.1.3 @@ -6973,18 +11759,50 @@ snapshots: dependencies: character-entities: 2.0.2 + decode-uri-component@0.2.2: {} + deep-eql@5.0.2: {} + deep-extend@0.6.0: {} + deep-is@0.1.4: {} + deepmerge@4.3.1: {} + + default-gateway@4.2.0: + dependencies: + execa: 1.0.0 + ip-regex: 2.1.0 + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + define-lazy-prop@2.0.0: {} + defu@6.1.4: {} + del@6.1.1: + dependencies: + globby: 11.1.0 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 4.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + + delayed-stream@1.0.0: {} + depd@2.0.0: {} dequal@2.0.3: {} destroy@1.2.0: {} + detect-libc@1.0.3: {} + detect-libc@2.0.4: {} detect-node-es@1.1.0: {} @@ -6997,10 +11815,20 @@ snapshots: diff@8.0.2: {} + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + dom-accessibility-api@0.5.16: {} dom-accessibility-api@0.6.3: {} + dotenv-expand@11.0.7: + dependencies: + dotenv: 16.4.7 + + dotenv@16.4.7: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -7013,6 +11841,8 @@ snapshots: electron-to-chromium@1.5.194: {} + electron-to-chromium@1.5.221: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -7021,17 +11851,27 @@ snapshots: encodeurl@2.0.0: {} + end-of-stream@1.4.5: + dependencies: + once: 1.4.0 + enhanced-resolve@5.18.2: dependencies: graceful-fs: 4.2.11 tapable: 2.2.2 + env-editor@0.4.2: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 error-stack-parser-es@1.0.5: {} + error-stack-parser@2.1.4: + dependencies: + stackframe: 1.3.4 + es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -7042,6 +11882,13 @@ snapshots: 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 + esbuild@0.25.4: optionalDependencies: '@esbuild/aix-ppc64': 0.25.4 @@ -7103,6 +11950,10 @@ snapshots: escape-html@1.0.3: {} + escape-string-regexp@1.0.5: {} + + escape-string-regexp@2.0.0: {} + escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} @@ -7209,45 +12060,303 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.4.0: + espree@10.4.0: + dependencies: + acorn: 8.15.0 + acorn-jsx: 5.3.2(acorn@8.15.0) + eslint-visitor-keys: 4.2.1 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-util-is-identifier-name@3.0.0: {} + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + + esutils@2.0.3: {} + + etag@1.8.1: {} + + event-target-shim@5.0.1: {} + + eventsource-parser@3.0.3: {} + + eventsource@4.0.0: + dependencies: + eventsource-parser: 3.0.3 + + exec-async@2.2.0: {} + + execa@1.0.0: + dependencies: + cross-spawn: 6.0.6 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit-hook@2.2.1: {} + + expect-type@1.2.2: {} + + expo-application@6.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + dependencies: + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + + expo-asset@11.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + dependencies: + '@expo/image-utils': 0.6.5 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-constants: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + invariant: 2.2.4 + md5-file: 3.2.3 + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + transitivePeerDependencies: + - supports-color + + expo-auth-session@6.0.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 4.2.1 + expo-application: 6.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-constants: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + expo-crypto: 14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-linking: 7.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-web-browser: 14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + invariant: 2.2.4 + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + transitivePeerDependencies: + - expo + - supports-color - esprima@4.0.1: {} + expo-constants@17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)): + dependencies: + '@expo/config': 10.0.11 + '@expo/env': 0.4.2 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + transitivePeerDependencies: + - supports-color - esquery@1.6.0: + expo-crypto@14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): dependencies: - estraverse: 5.3.0 + base64-js: 1.5.1 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - esrecurse@4.3.0: + expo-dev-client@5.0.20(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): dependencies: - estraverse: 5.3.0 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-dev-launcher: 5.0.35(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-dev-menu: 6.0.25(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-dev-menu-interface: 1.9.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-manifests: 0.15.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-updates-interface: 1.0.0(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + transitivePeerDependencies: + - supports-color - estraverse@5.3.0: {} + expo-dev-launcher@5.0.35(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + dependencies: + ajv: 8.11.0 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-dev-menu: 6.0.25(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo-manifests: 0.15.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + resolve-from: 5.0.0 + transitivePeerDependencies: + - supports-color - estree-util-is-identifier-name@3.0.0: {} + expo-dev-menu-interface@1.9.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + dependencies: + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - estree-walker@2.0.2: {} + expo-dev-menu@6.0.25(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + dependencies: + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-dev-menu-interface: 1.9.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) - estree-walker@3.0.3: + expo-file-system@18.0.12(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)): dependencies: - '@types/estree': 1.0.8 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + web-streams-polyfill: 3.3.3 - esutils@2.0.3: {} + expo-font@13.0.4(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react@18.3.1): + dependencies: + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + fontfaceobserver: 2.3.0 + react: 18.3.1 - etag@1.8.1: {} + expo-json-utils@0.14.0: {} - eventsource-parser@3.0.3: {} + expo-keep-awake@14.0.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react@18.3.1): + dependencies: + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react: 18.3.1 - eventsource@4.0.0: + expo-linear-gradient@14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): dependencies: - eventsource-parser: 3.0.3 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) - exit-hook@2.2.1: {} + expo-linking@7.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + dependencies: + expo-constants: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + invariant: 2.2.4 + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + transitivePeerDependencies: + - expo + - supports-color - expect-type@1.2.2: {} + expo-manifests@0.15.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + dependencies: + '@expo/config': 10.0.11 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-json-utils: 0.14.0 + transitivePeerDependencies: + - supports-color + + expo-modules-autolinking@2.0.8: + dependencies: + '@expo/spawn-async': 1.7.2 + chalk: 4.1.2 + commander: 7.2.0 + fast-glob: 3.3.3 + find-up: 5.0.0 + fs-extra: 9.1.0 + require-from-string: 2.0.2 + resolve-from: 5.0.0 + + expo-modules-core@2.2.3: + dependencies: + invariant: 2.2.4 + + expo-router@4.0.21(f8460a4f3ebbb07d651874df98bf0dac): + dependencies: + '@expo/metro-runtime': 4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + '@expo/server': 0.5.3 + '@radix-ui/react-slot': 1.0.1(react@18.3.1) + '@react-navigation/bottom-tabs': 7.4.7(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-screens@4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + '@react-navigation/native': 7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + '@react-navigation/native-stack': 7.3.26(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-screens@4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + client-only: 0.0.1 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-constants: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + expo-linking: 7.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-native-helmet-async: 2.0.4(react@18.3.1) + react-native-is-edge-to-edge: 1.2.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-native-safe-area-context: 4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-native-screens: 4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + schema-utils: 4.3.2 + semver: 7.6.3 + server-only: 0.0.1 + transitivePeerDependencies: + - '@react-native-masked-view/masked-view' + - react + - react-dom + - react-native + - supports-color + + expo-secure-store@14.0.1(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + dependencies: + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + + expo-splash-screen@0.29.24(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + dependencies: + '@expo/prebuild-config': 8.2.0 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - supports-color + + expo-status-bar@2.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + + expo-system-ui@4.0.9(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-web@0.19.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)): + dependencies: + '@react-native/normalize-colors': 0.76.8 + debug: 4.4.1 + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + optionalDependencies: + react-native-web: 0.19.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - supports-color + + expo-updates-interface@1.0.0(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + dependencies: + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + + expo-web-browser@14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)): + dependencies: + expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + + expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.28.2 + '@expo/cli': 0.22.26 + '@expo/config': 10.0.11 + '@expo/config-plugins': 9.0.17 + '@expo/fingerprint': 0.11.11 + '@expo/metro-config': 0.19.12 + '@expo/vector-icons': 14.0.4 + babel-preset-expo: 12.0.11(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + expo-asset: 11.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo-constants: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + expo-file-system: 18.0.12(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + expo-font: 13.0.4(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react@18.3.1) + expo-keep-awake: 14.0.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react@18.3.1) + expo-modules-autolinking: 2.0.8 + expo-modules-core: 2.2.3 + fbemitter: 3.0.0 + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + web-streams-polyfill: 3.3.3 + whatwg-url-without-unicode: 8.0.0-3 + optionalDependencies: + '@expo/metro-runtime': 4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - babel-plugin-react-compiler + - bufferutil + - encoding + - graphql + - react-compiler-runtime + - supports-color + - utf-8-validate + + exponential-backoff@3.1.2: {} express@4.21.2: dependencies: @@ -7311,14 +12420,44 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-loops@1.1.4: {} + + fast-uri@3.1.0: {} + fastq@1.19.1: dependencies: reusify: 1.1.0 + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fbemitter@3.0.0: + dependencies: + fbjs: 3.0.5 + transitivePeerDependencies: + - encoding + + fbjs-css-vars@1.0.2: {} + + fbjs@3.0.5: + dependencies: + cross-fetch: 3.2.0 + fbjs-css-vars: 1.0.2 + loose-envify: 1.4.0 + object-assign: 4.1.1 + promise: 7.3.1 + setimmediate: 1.0.5 + ua-parser-js: 1.0.41 + transitivePeerDependencies: + - encoding + fdir@6.4.6(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 + fetch-retry@4.1.1: {} + fflate@0.8.2: {} file-entry-cache@8.0.0: @@ -7329,6 +12468,20 @@ snapshots: dependencies: to-regex-range: 5.0.1 + filter-obj@1.1.0: {} + + finalhandler@1.1.2: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + finalhandler@1.3.1: dependencies: debug: 2.6.9 @@ -7341,8 +12494,23 @@ snapshots: transitivePeerDependencies: - supports-color + find-cache-dir@2.1.0: + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + find-root@1.1.0: {} + find-up@3.0.0: + dependencies: + locate-path: 3.0.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + find-up@5.0.0: dependencies: locate-path: 6.0.0 @@ -7355,15 +12523,61 @@ snapshots: flatted@3.3.3: {} + flow-enums-runtime@0.0.6: {} + + flow-parser@0.283.0: {} + + fontfaceobserver@2.3.0: {} + foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 + form-data@3.0.4: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.2 + mime-types: 2.1.35 + forwarded@0.2.0: {} + freeport-async@2.0.0: {} + fresh@0.5.2: {} + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@9.0.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 1.0.0 + + fs-extra@9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + + fs-minipass@3.0.3: + dependencies: + minipass: 7.1.2 + + fs.realpath@1.0.0: {} + fsevents@2.3.3: optional: true @@ -7388,6 +12602,8 @@ snapshots: get-nonce@1.0.1: {} + get-package-type@0.1.0: {} + get-port@7.1.0: {} get-proto@1.0.1: @@ -7395,10 +12611,18 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 + get-stream@4.1.0: + dependencies: + pump: 3.0.3 + + get-stream@6.0.1: {} + get-tsconfig@4.10.1: dependencies: resolve-pkg-maps: 1.0.0 + getenv@1.0.0: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -7418,10 +12642,28 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + globals@14.0.0: {} globals@16.3.0: {} + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + goober@2.1.16(csstype@3.1.3): dependencies: csstype: 3.1.3 @@ -7438,10 +12680,16 @@ snapshots: '@types/whatwg-mimetype': 3.0.2 whatwg-mimetype: 3.0.0 + has-flag@3.0.0: {} + has-flag@4.0.0: {} 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 @@ -7470,8 +12718,24 @@ snapshots: dependencies: '@types/hast': 3.0.4 + hermes-estree@0.23.1: {} + + hermes-estree@0.25.1: {} + + hermes-parser@0.23.1: + dependencies: + hermes-estree: 0.23.1 + + hermes-parser@0.25.1: + dependencies: + hermes-estree: 0.25.1 + hono@4.8.10: {} + hosted-git-info@7.0.2: + dependencies: + lru-cache: 10.4.3 + html-escaper@2.0.2: {} html-url-attributes@3.0.1: {} @@ -7484,14 +12748,29 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 + human-signals@2.1.0: {} + + hyphenate-style-name@1.1.0: {} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 + ieee754@1.2.1: {} + ignore@5.3.2: {} ignore@7.0.5: {} + image-size@1.2.1: + dependencies: + queue: 6.0.2 + + import-fresh@2.0.0: + dependencies: + caller-path: 2.0.0 + resolve-from: 3.0.0 + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -7501,14 +12780,33 @@ snapshots: indent-string@4.0.0: {} + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + inherits@2.0.4: {} + ini@1.3.8: {} + inline-style-parser@0.2.4: {} + inline-style-prefixer@6.0.4: + dependencies: + css-in-js-utils: 3.1.0 + fast-loops: 1.1.4 + + internal-ip@4.3.0: + dependencies: + default-gateway: 4.2.0 + ipaddr.js: 1.9.1 + invariant@2.2.4: dependencies: loose-envify: 1.4.0 + ip-regex@2.1.0: {} + ipaddr.js@1.9.1: {} is-alphabetical@2.0.1: {} @@ -7526,12 +12824,18 @@ snapshots: dependencies: binary-extensions: 2.3.0 + is-buffer@1.1.6: {} + is-core-module@2.16.1: dependencies: hasown: 2.0.2 is-decimal@2.0.1: {} + is-directory@0.3.1: {} + + is-docker@2.2.1: {} + is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} @@ -7554,14 +12858,42 @@ snapshots: is-number@7.0.0: {} + is-path-cwd@2.2.0: {} + + is-path-inside@3.0.3: {} + is-plain-obj@4.1.0: {} + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-stream@1.1.0: {} + + is-stream@2.0.1: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.2.1 + isbot@5.1.29: {} isexe@2.0.0: {} + isobject@3.0.1: {} + istanbul-lib-coverage@3.2.2: {} + istanbul-lib-instrument@5.2.1: + dependencies: + '@babel/core': 7.28.0 + '@babel/parser': 7.28.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.2 @@ -7587,69 +12919,253 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 24.1.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-haste-map@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/graceful-fs': 4.1.9 + '@types/node': 24.1.0 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.6.3 + jest-util: 29.7.0 + jest-worker: 29.7.0 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.27.1 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 24.1.0 + jest-util: 29.7.0 + + jest-regex-util@29.6.3: {} + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 24.1.0 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + + jest-worker@29.7.0: + dependencies: + '@types/node': 24.1.0 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jimp-compact@0.16.1: {} + jiti@2.5.1: {} + join-component@1.1.0: {} + js-tokens@4.0.0: {} js-tokens@9.0.1: {} - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsc-android@250231.0.0: {} + + jsc-safe-url@0.2.4: {} + + jscodeshift@0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)): + dependencies: + '@babel/core': 7.28.0 + '@babel/parser': 7.28.0 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.0) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.28.0) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) + '@babel/preset-env': 7.28.3(@babel/core@7.28.0) + '@babel/preset-flow': 7.27.1(@babel/core@7.28.0) + '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) + '@babel/register': 7.28.3(@babel/core@7.28.0) + babel-core: 7.0.0-bridge.0(@babel/core@7.28.0) + chalk: 4.1.2 + flow-parser: 0.283.0 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + neo-async: 2.6.2 + node-dir: 0.1.17 + recast: 0.21.5 + temp: 0.8.4 + write-file-atomic: 2.4.3 + transitivePeerDependencies: + - supports-color + + jsesc@3.0.2: {} jsesc@3.1.0: {} json-buffer@3.0.1: {} + json-parse-better-errors@1.0.2: {} + json-parse-even-better-errors@2.3.1: {} json-schema-traverse@0.4.1: {} + json-schema-traverse@1.0.0: {} + json-stable-stringify-without-jsonify@1.0.1: {} json5@2.2.3: {} + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + keyv@4.5.4: dependencies: json-buffer: 3.0.1 + kind-of@6.0.3: {} + + kleur@3.0.3: {} + kleur@4.1.5: {} + leven@3.1.0: {} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 + lighthouse-logger@1.4.2: + dependencies: + debug: 2.6.9 + marky: 1.3.0 + transitivePeerDependencies: + - supports-color + + lightningcss-darwin-arm64@1.27.0: + optional: true + lightningcss-darwin-arm64@1.30.1: optional: true + lightningcss-darwin-x64@1.27.0: + optional: true + lightningcss-darwin-x64@1.30.1: optional: true + lightningcss-freebsd-x64@1.27.0: + optional: true + lightningcss-freebsd-x64@1.30.1: optional: true + lightningcss-linux-arm-gnueabihf@1.27.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.30.1: optional: true + lightningcss-linux-arm64-gnu@1.27.0: + optional: true + lightningcss-linux-arm64-gnu@1.30.1: optional: true + lightningcss-linux-arm64-musl@1.27.0: + optional: true + lightningcss-linux-arm64-musl@1.30.1: optional: true + lightningcss-linux-x64-gnu@1.27.0: + optional: true + lightningcss-linux-x64-gnu@1.30.1: optional: true + lightningcss-linux-x64-musl@1.27.0: + optional: true + lightningcss-linux-x64-musl@1.30.1: optional: true + lightningcss-win32-arm64-msvc@1.27.0: + optional: true + lightningcss-win32-arm64-msvc@1.30.1: optional: true + lightningcss-win32-x64-msvc@1.27.0: + optional: true + lightningcss-win32-x64-msvc@1.30.1: optional: true + lightningcss@1.27.0: + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.27.0 + lightningcss-darwin-x64: 1.27.0 + lightningcss-freebsd-x64: 1.27.0 + lightningcss-linux-arm-gnueabihf: 1.27.0 + lightningcss-linux-arm64-gnu: 1.27.0 + lightningcss-linux-arm64-musl: 1.27.0 + lightningcss-linux-x64-gnu: 1.27.0 + lightningcss-linux-x64-musl: 1.27.0 + lightningcss-win32-arm64-msvc: 1.27.0 + lightningcss-win32-x64-msvc: 1.27.0 + lightningcss@1.30.1: dependencies: detect-libc: 2.0.4 @@ -7667,18 +13183,35 @@ snapshots: lines-and-columns@1.2.4: {} + locate-path@3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 lodash.castarray@4.4.0: {} + lodash.debounce@4.0.8: {} + lodash.isplainobject@4.0.6: {} lodash.merge@4.6.2: {} + lodash.throttle@4.1.1: {} + lodash@4.17.21: {} + log-symbols@2.2.0: + dependencies: + chalk: 2.4.2 + longest-streak@3.1.0: {} loose-envify@1.4.0: @@ -7709,14 +13242,35 @@ snapshots: '@babel/types': 7.28.2 source-map-js: 1.2.1 + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + make-dir@4.0.0: dependencies: semver: 7.7.2 + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + markdown-table@3.0.4: {} + marky@1.3.0: {} + math-intrinsics@1.1.0: {} + md5-file@3.2.3: + dependencies: + buffer-alloc: 1.2.0 + + md5@2.3.0: + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + mdast-util-find-and-replace@3.0.2: dependencies: '@types/mdast': 4.0.4 @@ -7872,14 +13426,190 @@ snapshots: media-typer@0.3.0: {} + memoize-one@5.2.1: {} + memoize-one@6.0.0: {} merge-descriptors@1.0.3: {} + merge-stream@2.0.0: {} + merge2@1.4.1: {} methods@1.1.2: {} + metro-babel-transformer@0.81.5: + dependencies: + '@babel/core': 7.28.0 + flow-enums-runtime: 0.0.6 + hermes-parser: 0.25.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + metro-cache-key@0.81.5: + dependencies: + flow-enums-runtime: 0.0.6 + + metro-cache@0.81.5: + dependencies: + exponential-backoff: 3.1.2 + flow-enums-runtime: 0.0.6 + metro-core: 0.81.5 + + metro-config@0.81.5: + dependencies: + connect: 3.7.0 + cosmiconfig: 5.2.1 + flow-enums-runtime: 0.0.6 + jest-validate: 29.7.0 + metro: 0.81.5 + metro-cache: 0.81.5 + metro-core: 0.81.5 + metro-runtime: 0.81.5 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + metro-core@0.81.5: + dependencies: + flow-enums-runtime: 0.0.6 + lodash.throttle: 4.1.1 + metro-resolver: 0.81.5 + + metro-file-map@0.81.5: + dependencies: + debug: 2.6.9 + fb-watchman: 2.0.2 + flow-enums-runtime: 0.0.6 + graceful-fs: 4.2.11 + invariant: 2.2.4 + jest-worker: 29.7.0 + micromatch: 4.0.8 + nullthrows: 1.1.1 + walker: 1.0.8 + transitivePeerDependencies: + - supports-color + + metro-minify-terser@0.81.5: + dependencies: + flow-enums-runtime: 0.0.6 + terser: 5.44.0 + + metro-resolver@0.81.5: + dependencies: + flow-enums-runtime: 0.0.6 + + metro-runtime@0.81.5: + dependencies: + '@babel/runtime': 7.28.2 + flow-enums-runtime: 0.0.6 + + metro-source-map@0.81.5: + dependencies: + '@babel/traverse': 7.28.0 + '@babel/traverse--for-generate-function-map': '@babel/traverse@7.28.0' + '@babel/types': 7.28.2 + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + metro-symbolicate: 0.81.5 + nullthrows: 1.1.1 + ob1: 0.81.5 + source-map: 0.5.7 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color + + metro-symbolicate@0.81.5: + dependencies: + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + metro-source-map: 0.81.5 + nullthrows: 1.1.1 + source-map: 0.5.7 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color + + metro-transform-plugins@0.81.5: + dependencies: + '@babel/core': 7.28.0 + '@babel/generator': 7.28.0 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.0 + flow-enums-runtime: 0.0.6 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + metro-transform-worker@0.81.5: + dependencies: + '@babel/core': 7.28.0 + '@babel/generator': 7.28.0 + '@babel/parser': 7.28.0 + '@babel/types': 7.28.2 + flow-enums-runtime: 0.0.6 + metro: 0.81.5 + metro-babel-transformer: 0.81.5 + metro-cache: 0.81.5 + metro-cache-key: 0.81.5 + metro-minify-terser: 0.81.5 + metro-source-map: 0.81.5 + metro-transform-plugins: 0.81.5 + nullthrows: 1.1.1 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + metro@0.81.5: + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/core': 7.28.0 + '@babel/generator': 7.28.0 + '@babel/parser': 7.28.0 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.0 + '@babel/types': 7.28.2 + accepts: 1.3.8 + chalk: 4.1.2 + ci-info: 2.0.0 + connect: 3.7.0 + debug: 2.6.9 + error-stack-parser: 2.1.4 + flow-enums-runtime: 0.0.6 + graceful-fs: 4.2.11 + hermes-parser: 0.25.1 + image-size: 1.2.1 + invariant: 2.2.4 + jest-worker: 29.7.0 + jsc-safe-url: 0.2.4 + lodash.throttle: 4.1.1 + metro-babel-transformer: 0.81.5 + metro-cache: 0.81.5 + metro-cache-key: 0.81.5 + metro-config: 0.81.5 + metro-core: 0.81.5 + metro-file-map: 0.81.5 + metro-resolver: 0.81.5 + metro-runtime: 0.81.5 + metro-source-map: 0.81.5 + metro-symbolicate: 0.81.5 + metro-transform-plugins: 0.81.5 + metro-transform-worker: 0.81.5 + mime-types: 2.1.35 + nullthrows: 1.1.1 + serialize-error: 2.1.0 + source-map: 0.5.7 + throat: 5.0.0 + ws: 7.5.10 + yargs: 17.7.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.2.0 @@ -8086,6 +13816,10 @@ snapshots: mime@3.0.0: {} + mimic-fn@1.2.0: {} + + mimic-fn@2.1.0: {} + min-indent@1.0.1: {} miniflare@4.20250730.0: @@ -8114,12 +13848,43 @@ snapshots: dependencies: brace-expansion: 2.0.2 + minimist@1.2.8: {} + + minipass-collect@2.0.1: + dependencies: + minipass: 7.1.2 + + minipass-flush@1.0.5: + dependencies: + minipass: 3.3.6 + + minipass-pipeline@1.2.4: + dependencies: + minipass: 3.3.6 + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + minipass@7.1.2: {} + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + minizlib@3.0.2: dependencies: minipass: 7.1.2 + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + + mkdirp@1.0.4: {} + mkdirp@3.0.1: {} mrmime@2.0.1: {} @@ -8130,31 +13895,109 @@ snapshots: mute-stream@2.0.0: {} + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + nanoid@3.3.11: {} natural-compare@1.4.0: {} negotiator@0.6.3: {} + negotiator@0.6.4: {} + + neo-async@2.6.2: {} + + nested-error-stacks@2.0.1: {} + next-themes@0.4.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: react: 19.1.1 react-dom: 19.1.1(react@19.1.1) + nice-try@1.0.5: {} + + node-dir@0.1.17: + dependencies: + minimatch: 3.1.2 + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-forge@1.3.1: {} + + node-int64@0.4.0: {} + node-releases@2.0.19: {} + node-releases@2.0.21: {} + normalize-path@3.0.0: {} + npm-package-arg@11.0.3: + dependencies: + hosted-git-info: 7.0.2 + proc-log: 4.2.0 + semver: 7.7.2 + validate-npm-package-name: 5.0.1 + + npm-run-path@2.0.2: + dependencies: + path-key: 2.0.1 + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 + + nullthrows@1.1.1: {} + + ob1@0.81.5: + dependencies: + flow-enums-runtime: 0.0.6 + object-assign@4.1.1: {} object-inspect@1.13.4: {} ohash@2.0.11: {} + on-finished@2.3.0: + dependencies: + ee-first: 1.1.1 + on-finished@2.4.1: dependencies: ee-first: 1.1.1 + on-headers@1.1.0: {} + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@2.0.1: + dependencies: + mimic-fn: 1.2.0 + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + open@7.4.2: + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + + open@8.4.2: + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -8164,16 +14007,45 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 + ora@3.4.0: + dependencies: + chalk: 2.4.2 + cli-cursor: 2.1.0 + cli-spinners: 2.9.2 + log-symbols: 2.2.0 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + os-tmpdir@1.0.2: {} + p-finally@1.0.0: {} + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 + p-locate@3.0.0: + dependencies: + p-limit: 2.3.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + p-locate@5.0.0: dependencies: p-limit: 3.1.0 + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-try@2.2.0: {} + package-json-from-dist@1.0.1: {} parent-module@1.0.1: @@ -8190,6 +14062,11 @@ snapshots: is-decimal: 2.0.1 is-hexadecimal: 2.0.1 + parse-json@4.0.0: + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.27.1 @@ -8197,10 +14074,20 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-png@2.1.0: + dependencies: + pngjs: 3.4.0 + parseurl@1.3.3: {} + path-exists@3.0.0: {} + path-exists@4.0.0: {} + path-is-absolute@1.0.1: {} + + path-key@2.0.1: {} + path-key@3.1.1: {} path-parse@1.0.7: {} @@ -8224,13 +14111,39 @@ snapshots: picomatch@2.3.1: {} + picomatch@3.0.1: {} + picomatch@4.0.3: {} + pify@4.0.1: {} + + pirates@4.0.7: {} + + pkg-dir@3.0.0: + dependencies: + find-up: 3.0.0 + + plist@3.1.0: + dependencies: + '@xmldom/xmldom': 0.8.11 + base64-js: 1.5.1 + xmlbuilder: 15.1.1 + + pngjs@3.4.0: {} + postcss-selector-parser@6.0.10: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-value-parser@4.2.0: {} + + postcss@8.4.49: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -8239,15 +14152,40 @@ snapshots: prelude-ls@1.2.1: {} - prettier@3.6.2: {} + prettier@3.6.2: {} + + pretty-bytes@5.6.0: {} + + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prismjs@1.30.0: {} + + proc-log@4.2.0: {} + + progress@2.0.3: {} + + promise@7.3.1: + dependencies: + asap: 2.0.6 - pretty-format@27.5.1: + promise@8.3.0: dependencies: - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 17.0.2 + asap: 2.0.6 - prismjs@1.30.0: {} + prompts@2.4.2: + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 prop-types@15.8.1: dependencies: @@ -8262,14 +14200,32 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 + pump@3.0.3: + dependencies: + end-of-stream: 1.4.5 + once: 1.4.0 + punycode@2.3.1: {} + qrcode-terminal@0.11.0: {} + qs@6.13.0: dependencies: side-channel: 1.1.0 + query-string@7.1.3: + dependencies: + decode-uri-component: 0.2.2 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + queue-microtask@1.2.3: {} + queue@6.0.2: + dependencies: + inherits: 2.0.4 + range-parser@1.2.1: {} raw-body@2.5.2: @@ -8279,6 +14235,13 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + react-day-picker@9.8.1(react@19.1.1): dependencies: '@date-fns/tz': 1.3.1 @@ -8286,6 +14249,14 @@ snapshots: date-fns-jalali: 4.1.0-0 react: 19.1.1 + react-devtools-core@5.3.2: + dependencies: + shell-quote: 1.8.3 + ws: 7.5.10 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + react-diff-viewer-continued@3.4.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: '@emotion/css': 11.13.5 @@ -8298,6 +14269,12 @@ snapshots: transitivePeerDependencies: - supports-color + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + react-dom@19.1.1(react@19.1.1): dependencies: react: 19.1.1 @@ -8305,6 +14282,20 @@ snapshots: react-fast-compare@3.2.2: {} + react-freeze@1.0.4(react@18.3.1): + dependencies: + react: 18.3.1 + + react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.28.2 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + react-helmet-async@2.0.5(react@19.1.1): dependencies: invariant: 2.2.4 @@ -8321,6 +14312,10 @@ snapshots: react-is@17.0.2: {} + react-is@18.3.1: {} + + react-is@19.1.1: {} + react-markdown@10.1.0(@types/react@19.1.9)(react@19.1.1): dependencies: '@types/hast': 3.0.4 @@ -8339,6 +14334,99 @@ snapshots: transitivePeerDependencies: - supports-color + react-native-helmet-async@2.0.4(react@18.3.1): + dependencies: + invariant: 2.2.4 + react: 18.3.1 + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + react-native-is-edge-to-edge@1.2.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + + react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + + react-native-screens@4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + dependencies: + react: 18.3.1 + react-freeze: 1.0.4(react@18.3.1) + react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + warn-once: 0.1.1 + + react-native-web@0.19.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@babel/runtime': 7.28.2 + '@react-native/normalize-colors': 0.74.89 + fbjs: 3.0.5 + inline-style-prefixer: 6.0.4 + memoize-one: 6.0.0 + nullthrows: 1.1.1 + postcss-value-parser: 4.2.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + styleq: 0.1.3 + transitivePeerDependencies: + - encoding + + react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1): + dependencies: + '@jest/create-cache-key-function': 29.7.0 + '@react-native/assets-registry': 0.76.0 + '@react-native/codegen': 0.76.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + '@react-native/community-cli-plugin': 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)) + '@react-native/gradle-plugin': 0.76.0 + '@react-native/js-polyfills': 0.76.0 + '@react-native/normalize-colors': 0.76.0 + '@react-native/virtualized-lists': 0.76.0(@types/react@18.3.24)(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + abort-controller: 3.0.0 + anser: 1.4.10 + ansi-regex: 5.0.1 + babel-jest: 29.7.0(@babel/core@7.28.0) + babel-plugin-syntax-hermes-parser: 0.23.1 + base64-js: 1.5.1 + chalk: 4.1.2 + commander: 12.1.0 + event-target-shim: 5.0.1 + flow-enums-runtime: 0.0.6 + glob: 7.2.3 + invariant: 2.2.4 + jest-environment-node: 29.7.0 + jsc-android: 250231.0.0 + memoize-one: 5.2.1 + metro-runtime: 0.81.5 + metro-source-map: 0.81.5 + mkdirp: 0.5.6 + nullthrows: 1.1.1 + pretty-format: 29.7.0 + promise: 8.3.0 + react: 18.3.1 + react-devtools-core: 5.3.2 + react-refresh: 0.14.2 + regenerator-runtime: 0.13.11 + scheduler: 0.24.0-canary-efb381bbf-20230505 + semver: 7.7.2 + stacktrace-parser: 0.1.11 + whatwg-fetch: 3.6.20 + ws: 6.2.3 + yargs: 17.7.2 + optionalDependencies: + '@types/react': 18.3.24 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - '@react-native-community/cli-server-api' + - bufferutil + - encoding + - supports-color + - utf-8-validate + + react-refresh@0.14.2: {} + react-remove-scroll-bar@2.3.8(@types/react@19.1.9)(react@19.1.1): dependencies: react: 19.1.1 @@ -8375,12 +14463,25 @@ snapshots: dependencies: '@xterm/xterm': 5.5.0 + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + react@19.1.1: {} readdirp@3.6.0: dependencies: picomatch: 2.3.1 + readline@1.3.0: {} + + recast@0.21.5: + dependencies: + ast-types: 0.15.2 + esprima: 4.0.1 + source-map: 0.6.1 + tslib: 2.8.1 + recast@0.23.11: dependencies: ast-types: 0.16.1 @@ -8394,6 +14495,29 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 + regenerate-unicode-properties@10.2.2: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.13.11: {} + + regexpu-core@6.3.1: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.2.2 + regjsgen: 0.8.0 + regjsparser: 0.12.0 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.2.1 + + regjsgen@0.8.0: {} + + regjsparser@0.12.0: + dependencies: + jsesc: 3.0.2 + remark-gfm@4.0.1: dependencies: '@types/mdast': 4.0.4 @@ -8428,20 +14552,55 @@ snapshots: mdast-util-to-markdown: 2.1.2 unified: 11.0.5 + remove-trailing-slash@0.1.1: {} + require-directory@2.1.1: {} + require-from-string@2.0.2: {} + + requireg@0.2.2: + dependencies: + nested-error-stacks: 2.0.1 + rc: 1.2.8 + resolve: 1.7.1 + + resolve-from@3.0.0: {} + resolve-from@4.0.0: {} + resolve-from@5.0.0: {} + resolve-pkg-maps@1.0.0: {} + resolve-workspace-root@2.0.0: {} + + resolve.exports@2.0.3: {} + resolve@1.22.10: dependencies: is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + resolve@1.7.1: + dependencies: + path-parse: 1.0.7 + + restore-cursor@2.0.0: + dependencies: + onetime: 2.0.1 + signal-exit: 3.0.7 + reusify@1.1.0: {} + rimraf@2.6.3: + dependencies: + glob: 7.2.3 + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + rollup@4.46.2: dependencies: '@types/estree': 1.0.8 @@ -8480,10 +14639,36 @@ snapshots: safer-buffer@2.1.2: {} + sax@1.4.1: {} + + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + + scheduler@0.24.0-canary-efb381bbf-20230505: + dependencies: + loose-envify: 1.4.0 + scheduler@0.26.0: {} + schema-utils@4.3.2: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + + selfsigned@2.4.1: + dependencies: + '@types/node-forge': 1.3.14 + node-forge: 1.3.1 + + semver@5.7.2: {} + semver@6.3.1: {} + semver@7.6.3: {} + semver@7.7.2: {} send@0.19.0: @@ -8504,6 +14689,8 @@ snapshots: transitivePeerDependencies: - supports-color + serialize-error@2.1.0: {} + seroval-plugins@1.3.2(seroval@1.3.2): dependencies: seroval: 1.3.2 @@ -8519,8 +14706,16 @@ snapshots: transitivePeerDependencies: - supports-color + server-only@0.0.1: {} + + setimmediate@1.0.5: {} + setprototypeof@1.2.0: {} + shallow-clone@3.0.1: + dependencies: + kind-of: 6.0.3 + shallowequal@1.1.0: {} sharp@0.33.5: @@ -8549,10 +14744,16 @@ snapshots: '@img/sharp-win32-ia32': 0.33.5 '@img/sharp-win32-x64': 0.33.5 + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 + shebang-regex@1.0.0: {} + shebang-regex@3.0.0: {} shell-quote@1.8.3: {} @@ -8587,8 +14788,16 @@ snapshots: siginfo@2.0.0: {} + signal-exit@3.0.7: {} + signal-exit@4.1.0: {} + simple-plist@1.3.1: + dependencies: + bplist-creator: 0.1.0 + bplist-parser: 0.3.1 + plist: 3.1.0 + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 @@ -8599,6 +14808,12 @@ snapshots: mrmime: 2.0.1 totalist: 3.0.1 + sisteransi@1.0.5: {} + + slash@3.0.0: {} + + slugify@1.6.6: {} + solid-js@1.9.7: dependencies: csstype: 3.1.3 @@ -8612,6 +14827,11 @@ snapshots: source-map-js@1.2.1: {} + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + source-map@0.5.7: {} source-map@0.6.1: {} @@ -8620,14 +14840,38 @@ snapshots: space-separated-tokens@2.0.2: {} + split-on-first@1.1.0: {} + + sprintf-js@1.0.3: {} + + ssri@10.0.6: + dependencies: + minipass: 7.1.2 + + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + stackback@0.0.2: {} + stackframe@1.3.4: {} + + stacktrace-parser@0.1.11: + dependencies: + type-fest: 0.7.1 + + statuses@1.5.0: {} + statuses@2.0.1: {} std-env@3.9.0: {} stoppable@1.1.0: {} + stream-buffers@2.2.0: {} + + strict-uri-encode@2.0.0: {} + string-ts@2.2.1: {} string-width@4.2.3: @@ -8647,6 +14891,10 @@ snapshots: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 + strip-ansi@5.2.0: + dependencies: + ansi-regex: 4.1.1 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -8655,16 +14903,24 @@ snapshots: dependencies: ansi-regex: 6.1.0 + strip-eof@1.0.0: {} + + strip-final-newline@2.0.0: {} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 + strip-json-comments@2.0.1: {} + strip-json-comments@3.1.1: {} strip-literal@3.0.0: dependencies: js-tokens: 9.0.1 + structured-headers@0.4.1: {} + style-to-js@1.1.17: dependencies: style-to-object: 1.0.9 @@ -8673,10 +14929,26 @@ snapshots: dependencies: inline-style-parser: 0.2.4 + styleq@0.1.3: {} + stylis@4.2.0: {} + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.12 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 + supports-color@10.0.0: {} + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -8685,6 +14957,11 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-hyperlinks@2.3.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + supports-preserve-symlinks-flag@1.0.0: {} tailwind-merge@3.3.1: {} @@ -8693,6 +14970,15 @@ snapshots: tapable@2.2.2: {} + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + tar@7.4.3: dependencies: '@isaacs/fs-minipass': 4.0.1 @@ -8702,12 +14988,54 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 + temp-dir@2.0.0: {} + + temp@0.8.4: + dependencies: + rimraf: 2.6.3 + + tempy@0.7.1: + dependencies: + del: 6.1.1 + is-stream: 2.0.1 + temp-dir: 2.0.0 + type-fest: 0.16.0 + unique-string: 2.0.0 + + terminal-link@2.1.1: + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + + terser@5.44.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + test-exclude@7.0.1: dependencies: '@istanbuljs/schema': 0.1.3 glob: 10.4.5 minimatch: 9.0.5 + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + throat@5.0.0: {} + tiny-invariant@1.3.3: {} tiny-warning@1.0.3: {} @@ -8731,6 +15059,8 @@ snapshots: dependencies: os-tmpdir: 1.0.2 + tmpl@1.0.5: {} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -8741,6 +15071,8 @@ snapshots: totalist@3.0.1: {} + tr46@0.0.3: {} + tree-kill@1.2.2: {} trim-lines@3.0.1: {} @@ -8756,6 +15088,8 @@ snapshots: picomatch: 4.0.3 typescript: 5.8.3 + ts-interface-checker@0.1.13: {} + ts-pattern@5.8.0: {} tslib@2.8.1: {} @@ -8773,8 +15107,14 @@ snapshots: dependencies: prelude-ls: 1.2.1 + type-detect@4.0.8: {} + + type-fest@0.16.0: {} + type-fest@0.21.3: {} + type-fest@0.7.1: {} + type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -8793,12 +15133,16 @@ snapshots: typescript@5.8.3: {} + ua-parser-js@1.0.41: {} + ufo@1.6.1: {} undici-types@6.21.0: {} undici-types@7.8.0: {} + undici@6.21.3: {} + undici@7.13.0: {} unenv@2.0.0-rc.19: @@ -8809,6 +15153,17 @@ snapshots: pathe: 2.0.3 ufo: 1.6.1 + unicode-canonical-property-names-ecmascript@2.0.1: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.1 + unicode-property-aliases-ecmascript: 2.2.0 + + unicode-match-property-value-ecmascript@2.2.1: {} + + unicode-property-aliases-ecmascript@2.2.0: {} + unified@11.0.5: dependencies: '@types/unist': 3.0.3 @@ -8819,6 +15174,18 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 + unique-filename@3.0.0: + dependencies: + unique-slug: 4.0.0 + + unique-slug@4.0.0: + dependencies: + imurmurhash: 0.1.4 + + unique-string@2.0.0: + dependencies: + crypto-random-string: 2.0.0 + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -8846,6 +15213,12 @@ snapshots: universal-user-agent@7.0.3: {} + universalify@0.1.2: {} + + universalify@1.0.0: {} + + universalify@2.0.1: {} + unpipe@1.0.0: {} unplugin@2.3.5: @@ -8860,6 +15233,12 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + update-browserslist-db@1.1.3(browserslist@4.26.2): + dependencies: + browserslist: 4.26.2 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -8871,6 +15250,10 @@ snapshots: optionalDependencies: '@types/react': 19.1.9 + use-latest-callback@0.2.4(react@18.3.1): + dependencies: + react: 18.3.1 + use-sidecar@1.1.3(@types/react@19.1.9)(react@19.1.1): dependencies: detect-node-es: 1.1.0 @@ -8879,6 +15262,10 @@ snapshots: optionalDependencies: '@types/react': 19.1.9 + use-sync-external-store@1.5.0(react@18.3.1): + dependencies: + react: 18.3.1 + use-sync-external-store@1.5.0(react@19.1.1): dependencies: react: 19.1.1 @@ -8887,6 +15274,12 @@ snapshots: utils-merge@1.0.1: {} + uuid@7.0.3: {} + + uuid@8.3.2: {} + + validate-npm-package-name@5.0.1: {} + vary@1.1.2: {} vaul@1.1.2(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1): @@ -8908,13 +15301,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-node@3.2.4(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3): + vite-node@3.2.4(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) transitivePeerDependencies: - '@types/node' - jiti @@ -8929,7 +15322,7 @@ snapshots: - tsx - yaml - vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3): + vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3): dependencies: esbuild: 0.25.8 fdir: 6.4.6(picomatch@4.0.3) @@ -8942,13 +15335,14 @@ snapshots: fsevents: 2.3.3 jiti: 2.5.1 lightningcss: 1.30.1 + terser: 5.44.0 tsx: 4.20.3 - vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.1.0)(@vitest/ui@3.2.4)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)) + '@vitest/mocker': 3.2.4(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -8966,8 +15360,8 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) - vite-node: 3.2.4(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3) + vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) + vite-node: 3.2.4(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(terser@5.44.0)(tsx@4.20.3) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 @@ -8988,10 +15382,45 @@ snapshots: - tsx - yaml + vlq@1.0.1: {} + + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + + warn-once@0.1.1: {} + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + web-streams-polyfill@3.3.3: {} + + webidl-conversions@3.0.1: {} + + webidl-conversions@5.0.0: {} + webpack-virtual-modules@0.6.2: {} + whatwg-fetch@3.6.20: {} + whatwg-mimetype@3.0.0: {} + whatwg-url-without-unicode@8.0.0-3: + dependencies: + buffer: 5.7.1 + punycode: 2.3.1 + webidl-conversions: 5.0.0 + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + which@2.0.2: dependencies: isexe: 2.0.0 @@ -9001,6 +15430,8 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 + wonka@6.3.5: {} + word-wrap@1.2.5: {} workerd@1.20250730.0: @@ -9046,12 +15477,49 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 + wrappy@1.0.2: {} + + write-file-atomic@2.4.3: + dependencies: + graceful-fs: 4.2.11 + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + write-file-atomic@4.0.2: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + + ws@6.2.3: + dependencies: + async-limiter: 1.0.1 + + ws@7.5.10: {} + ws@8.18.0: {} + xcode@3.0.1: + dependencies: + simple-plist: 1.3.1 + uuid: 7.0.3 + + xml2js@0.6.0: + dependencies: + sax: 1.4.1 + xmlbuilder: 11.0.1 + + xmlbuilder@11.0.1: {} + + xmlbuilder@14.0.0: {} + + xmlbuilder@15.1.1: {} + y18n@5.0.8: {} yallist@3.1.1: {} + yallist@4.0.0: {} + yallist@5.0.0: {} yaml@1.10.2: {} From 6b7b1b5869635610bdf3b424652939daafc0d35a Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 17 Sep 2025 19:12:00 +0200 Subject: [PATCH 21/46] Improve devcontainer environment variable forwarding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace manual variable forwarding with comprehensive environment dump to ensure all user-configured tools and package managers are available to the catnip service. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .devcontainer/features/feature/catnip-env.sh | 10 +--------- .../features/feature/devcontainer-feature.json | 2 +- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/.devcontainer/features/feature/catnip-env.sh b/.devcontainer/features/feature/catnip-env.sh index 82276b98..fa163522 100755 --- a/.devcontainer/features/feature/catnip-env.sh +++ b/.devcontainer/features/feature/catnip-env.sh @@ -6,13 +6,5 @@ echo "Updating catnip service environment..." sudo tee -a /etc/default/catnip >/dev/null < Date: Wed, 17 Sep 2025 19:22:15 +0200 Subject: [PATCH 22/46] Add mobile/desktop device detection and QR code functionality to VSCode extension MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Implement device detection to differentiate between mobile and desktop environments - Desktop view: keep existing "Open Catnip Interface" button and add QR code for mobile access - Mobile view: replace button with cat emoji logo linking to Catnip interface - Add QR code generation using qrcode library for https://catnip.run?cs=$CODESPACE_NAME - Include styled webview panel for QR code display with VSCode theming - Update extension package with new command and dependencies 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../features/feature/catnip-sidebar.vsix | Bin 622045 -> 1146193 bytes .../catnip-vscode-extension/package-lock.json | 323 +++++++++++++++++- .../catnip-vscode-extension/package.json | 9 + .../catnip-vscode-extension/src/extension.ts | 171 +++++++++- 4 files changed, 492 insertions(+), 11 deletions(-) diff --git a/.devcontainer/features/feature/catnip-sidebar.vsix b/.devcontainer/features/feature/catnip-sidebar.vsix index 064bf52bfded5c33095c80cc394d5ac097cd14d7..ce252946bdc565e8b5672172bb68ee3b239aaf5a 100644 GIT binary patch delta 537021 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ⅅ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%0AEvNi7F~uoX2~0lQ^#GiJT<_W#nuSZ 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

@;# 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 delta 9245 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 diff --git a/.devcontainer/features/feature/catnip-vscode-extension/package-lock.json b/.devcontainer/features/feature/catnip-vscode-extension/package-lock.json index 001fa8b1..44028a79 100644 --- a/.devcontainer/features/feature/catnip-vscode-extension/package-lock.json +++ b/.devcontainer/features/feature/catnip-vscode-extension/package-lock.json @@ -1,14 +1,18 @@ { "name": "catnip-sidebar", - "version": "0.0.1", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "catnip-sidebar", - "version": "0.0.1", + "version": "1.0.0", + "dependencies": { + "qrcode": "^1.5.3" + }, "devDependencies": { "@types/node": "^18.0.0", + "@types/qrcode": "^1.5.5", "@types/vscode": "^1.74.0", "@vscode/vsce": "^2.21.0", "typescript": "^5.0.0" @@ -196,6 +200,16 @@ "undici-types": "~5.26.4" } }, + "node_modules/@types/qrcode": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/qrcode/-/qrcode-1.5.5.tgz", + "integrity": "sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/vscode": { "version": "1.103.0", "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.103.0.tgz", @@ -415,6 +429,15 @@ "node": ">= 14" } }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -603,6 +626,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -670,6 +702,17 @@ "license": "ISC", "optional": true }, + "node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, "node_modules/cockatiel": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.2.1.tgz", @@ -775,6 +818,15 @@ } } }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -867,6 +919,12 @@ "node": ">=8" } }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", + "license": "MIT" + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -951,6 +1009,12 @@ "safe-buffer": "^5.0.1" } }, + "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==", + "license": "MIT" + }, "node_modules/encoding-sniffer": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz", @@ -1069,6 +1133,19 @@ "pend": "~1.2.0" } }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/form-data": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", @@ -1111,6 +1188,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -1397,6 +1483,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-inside-container": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", @@ -1518,6 +1613,18 @@ "uc.micro": "^1.0.1" } }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", @@ -1805,6 +1912,42 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/parse-semver": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", @@ -1878,6 +2021,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -1895,6 +2047,15 @@ "dev": true, "license": "MIT" }, + "node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/prebuild-install": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", @@ -1935,6 +2096,23 @@ "once": "^1.3.1" } }, + "node_modules/qrcode": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz", + "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", + "license": "MIT", + "dependencies": { + "dijkstrajs": "^1.0.1", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/qs": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", @@ -1997,6 +2175,21 @@ "node": ">= 6" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "license": "ISC" + }, "node_modules/run-applescript": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", @@ -2058,6 +2251,12 @@ "node": ">=10" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -2194,6 +2393,32 @@ "safe-buffer": "~5.2.0" } }, + "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==", + "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/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -2396,6 +2621,59 @@ "node": ">=18" } }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "license": "ISC" + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/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==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/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==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/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==", + "license": "MIT" + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -2443,6 +2721,12 @@ "node": ">=4.0" } }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "license": "ISC" + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -2450,6 +2734,41 @@ "dev": true, "license": "ISC" }, + "node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "license": "MIT", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", diff --git a/.devcontainer/features/feature/catnip-vscode-extension/package.json b/.devcontainer/features/feature/catnip-vscode-extension/package.json index d1caaa6b..a4a7d13f 100644 --- a/.devcontainer/features/feature/catnip-vscode-extension/package.json +++ b/.devcontainer/features/feature/catnip-vscode-extension/package.json @@ -33,6 +33,11 @@ "command": "catnip.openLogs", "title": "Open Catnip Logs", "icon": "📋" + }, + { + "command": "catnip.showQR", + "title": "Show QR Code", + "icon": "📱" } ], "viewsContainers": { @@ -61,9 +66,13 @@ "package": "npx @vscode/vsce package --out ../catnip-sidebar.vsix", "build": "npm run compile && npm run package" }, + "dependencies": { + "qrcode": "^1.5.3" + }, "devDependencies": { "@types/vscode": "^1.74.0", "@types/node": "^18.0.0", + "@types/qrcode": "^1.5.5", "typescript": "^5.0.0", "@vscode/vsce": "^2.21.0" } diff --git a/.devcontainer/features/feature/catnip-vscode-extension/src/extension.ts b/.devcontainer/features/feature/catnip-vscode-extension/src/extension.ts index 27cbcb15..83920c98 100644 --- a/.devcontainer/features/feature/catnip-vscode-extension/src/extension.ts +++ b/.devcontainer/features/feature/catnip-vscode-extension/src/extension.ts @@ -2,9 +2,25 @@ import * as vscode from "vscode"; import { exec } from "child_process"; import { promisify } from "util"; import * as fs from "fs"; +import * as QRCode from "qrcode"; const execAsync = promisify(exec); +// Device detection function +function isMobileDevice(): boolean { + // In VSCode extension context, we can check the environment + // If we're in a mobile browser or mobile VSCode environment + const userAgent = process.env.VSCODE_USER_AGENT || ""; + const platform = process.platform; + + // Check for mobile user agents or environments + return ( + /android|iphone|ipad|mobile/i.test(userAgent) || + platform === "android" || + process.env.CODESPACE_MOBILE === "true" + ); +} + // Catnip management functions async function isCatnipRunning(): Promise { try { @@ -68,14 +84,35 @@ class CatnipViewProvider implements vscode.TreeDataProvider { const running = await isCatnipRunning(); if (running) { - return [ - new CatnipItem( - "💻 Open Catnip Interface", - "Click to open the catnip development environment", - vscode.TreeItemCollapsibleState.None, - "catnip.openInterface", - ), - ]; + const isMobile = isMobileDevice(); + + if (isMobile) { + // Mobile view: show cat logo + return [ + new CatnipItem( + "🐱", + "Open Catnip Interface", + vscode.TreeItemCollapsibleState.None, + "catnip.openInterface", + ), + ]; + } else { + // Desktop view: show button + QR code + return [ + new CatnipItem( + "💻 Open Catnip Interface", + "Click to open the catnip development environment", + vscode.TreeItemCollapsibleState.None, + "catnip.openInterface", + ), + new CatnipItem( + "📱 Open on Mobile", + "Scan QR code to open on mobile device", + vscode.TreeItemCollapsibleState.None, + "catnip.showQR", + ), + ]; + } } else { return [ new CatnipItem( @@ -198,7 +235,50 @@ export function activate(context: vscode.ExtensionContext) { }, ); - context.subscriptions.push(openInterfaceCommand, openLogsCommand); + const showQRCommand = vscode.commands.registerCommand( + "catnip.showQR", + async () => { + const codespaceName = process.env.CODESPACE_NAME; + + if (!codespaceName) { + vscode.window.showWarningMessage( + "QR code is only available in GitHub Codespaces environment", + ); + return; + } + + const url = `https://catnip.run?cs=${codespaceName}`; + + try { + // Generate QR code as data URL + const qrDataUrl = await QRCode.toDataURL(url, { + width: 300, + margin: 2, + }); + + // Create and show webview panel with QR code + const panel = vscode.window.createWebviewPanel( + "catnipQR", + "Catnip Mobile QR Code", + vscode.ViewColumn.Beside, + { + enableScripts: false, + retainContextWhenHidden: true, + }, + ); + + panel.webview.html = getQRWebviewContent(qrDataUrl, url); + } catch (error) { + vscode.window.showErrorMessage(`Failed to generate QR code: ${error}`); + } + }, + ); + + context.subscriptions.push( + openInterfaceCommand, + openLogsCommand, + showQRCommand, + ); } function getWebviewContent(): string { @@ -259,4 +339,77 @@ function getWebviewContent(): string { `; } +function getQRWebviewContent(qrDataUrl: string, url: string): string { + return ` + + + + + Catnip Mobile QR Code + + + +
+

📱 Open Catnip on Mobile

+

+ Scan this QR code with your mobile device to open Catnip: +

+
+ QR Code for Catnip Mobile +
+
${url}
+

+ This will open Catnip in your mobile browser with your current Codespace session. +

+
+ +`; +} + export function deactivate() {} From 60dd36b5845aad88d7d633dd01c2b800603dc6ca Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 17 Sep 2025 19:22:47 +0200 Subject: [PATCH 23/46] Turn on debug and dev in catnip devcontainer --- .devcontainer/devcontainer.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 5fe22b50..f2dc67e4 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -33,6 +33,9 @@ "version": "latest" }, "ghcr.io/devcontainers/features/docker-in-docker:2": {}, - "./features/feature": {} + "./features/feature": { + "debug": true, + "dev": true + } } } From a3b4b6066602d657b32f90841bc7e08e482c0fec Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 10:07:39 +0000 Subject: [PATCH 24/46] GitHub Client ID checkpoint: 1 --- catnip-mobile/.env.local.example | 10 ++++---- catnip-mobile/README.md | 39 ++++++++++++++++++++++---------- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/catnip-mobile/.env.local.example b/catnip-mobile/.env.local.example index 610c6914..854e6696 100644 --- a/catnip-mobile/.env.local.example +++ b/catnip-mobile/.env.local.example @@ -1,7 +1,5 @@ -# GitHub OAuth App Configuration -# Create a GitHub OAuth App at https://github.com/settings/applications/new -# Set the callback URL to: catnip://auth -EXPO_PUBLIC_GITHUB_CLIENT_ID=your_github_oauth_app_client_id_here - # Optional: Custom Catnip API base URL (defaults to https://catnip.run) -# EXPO_PUBLIC_CATNIP_BASE_URL=https://your-custom-domain.com \ No newline at end of file +# EXPO_PUBLIC_CATNIP_BASE_URL=https://your-custom-domain.com + +# Note: No GitHub client ID needed - OAuth is handled server-side via relay +# The mobile app uses secure session tokens provided by the worker \ No newline at end of file diff --git a/catnip-mobile/README.md b/catnip-mobile/README.md index 71f40ca5..267f013a 100644 --- a/catnip-mobile/README.md +++ b/catnip-mobile/README.md @@ -6,7 +6,7 @@ A modern React Native/Expo mobile application for accessing Catnip workspaces an - **Modern Expo SDK 52**: Using the latest and greatest Expo features - **File-based Routing**: Expo Router for seamless navigation -- **GitHub OAuth**: Secure authentication via Expo AuthSession +- **OAuth Relay**: Secure authentication via worker-managed OAuth flow - **Codespace Access**: Connect to GitHub Codespaces with real-time updates - **Workspace Management**: View and interact with your Catnip workspaces - **Claude Integration**: Send prompts and monitor AI task execution @@ -17,7 +17,7 @@ A modern React Native/Expo mobile application for accessing Catnip workspaces an - **Expo SDK 52** - Latest Expo platform - **Expo Router** - File-based routing with typed routes -- **Expo AuthSession** - OAuth authentication +- **OAuth Relay** - Server-managed authentication via deep links - **Expo SecureStore** - Secure token storage - **TypeScript** - Full type safety - **React Native** - Cross-platform mobile development @@ -25,6 +25,7 @@ A modern React Native/Expo mobile application for accessing Catnip workspaces an ## Architecture The app uses Expo's modern architecture: + - File-based routing with `app/` directory - No custom React Native dependencies - All APIs handled via Expo's built-in fetch @@ -33,7 +34,8 @@ The app uses Expo's modern architecture: ### API Integration Connects to Catnip CloudFlare worker at `catnip.run/v1/*`: -- **Authentication**: `POST /v1/auth/github` + +- **Authentication**: `GET /v1/auth/github/mobile` (OAuth relay) - **Codespace Access**: `GET /v1/codespace` (SSE) - **Workspaces**: `GET /v1/workspaces` - **Claude Prompts**: `POST /v1/workspaces/:id/prompt` @@ -41,6 +43,7 @@ Connects to Catnip CloudFlare worker at `catnip.run/v1/*`: ## Setup 1. **Install dependencies**: + ```bash cd catnip-mobile export VOLTA_HOME="$HOME/.volta" && export PATH="$VOLTA_HOME/bin:$PATH" @@ -48,18 +51,21 @@ export PNPM_HOME="/home/vscode/.local/share/pnpm" && export PATH="$PNPM_HOME:$PA pnpm install ``` -2. **Set up environment variables**: -Create `.env.local`: +2. **Optional environment variables**: + Create `.env.local` if using custom API base URL: + ``` -EXPO_PUBLIC_GITHUB_CLIENT_ID=your_github_oauth_app_client_id +EXPO_PUBLIC_CATNIP_BASE_URL=https://your-custom-domain.com ``` 3. **Start the development server**: + ```bash pnpm start ``` 4. **Run on devices**: + - **iOS**: `pnpm run ios` (requires macOS) - **Android**: `pnpm run android` (requires Android Studio/emulator) - **Web**: `pnpm run web` (for testing) @@ -86,7 +92,7 @@ lib/ ## Navigation Flow 1. **Splash** (`index.tsx`) - Routes to auth or codespace based on auth status -2. **Auth** (`auth.tsx`) - GitHub OAuth login +2. **Auth** (`auth.tsx`) - OAuth relay login via browser 3. **Codespace** (`codespace.tsx`) - Connect to GitHub Codespace 4. **Workspaces** (`workspaces.tsx`) - List of available workspaces 5. **Workspace Detail** (`workspace/[id].tsx`) - Interact with Claude @@ -94,16 +100,20 @@ lib/ ## Key Features ### Authentication -- Uses Expo AuthSession for secure OAuth flow -- Stores tokens in Expo SecureStore (encrypted) -- Supports both GitHub and codespace tokens + +- Uses OAuth relay pattern for maximum security +- Mobile app never handles GitHub tokens directly +- Worker manages GitHub OAuth server-side +- Only session tokens stored on mobile device ### Real-time Updates + - Server-sent events for codespace connection - Polling for workspace status changes - Live todo list updates during Claude execution ### Modern UI + - Dark theme optimized for mobile - Gradient buttons and modern styling - Responsive layouts with SafeAreaView @@ -112,18 +122,23 @@ lib/ ## Development ### Adding New Screens + Create new files in `app/` directory: + - `app/new-screen.tsx` → `/new-screen` - `app/folder/screen.tsx` → `/folder/screen` - `app/folder/[param].tsx` → `/folder/:param` ### Environment Variables + Use `EXPO_PUBLIC_` prefix for client-side variables: + ```typescript -process.env.EXPO_PUBLIC_GITHUB_CLIENT_ID +process.env.EXPO_PUBLIC_CATNIP_BASE_URL; // Optional custom API URL ``` ### Building for Production + ```bash # iOS eas build --platform ios @@ -139,4 +154,4 @@ eas build --platform android - Offline support with Expo SQLite - Pull request management - Workspace search and filtering -- Theme customization \ No newline at end of file +- Theme customization From 6767b8b121c0483e77d29a21d55b0bbf9ab4112b Mon Sep 17 00:00:00 2001 From: "Chris Van Pelt (CVP)" Date: Thu, 18 Sep 2025 10:07:39 +0000 Subject: [PATCH 25/46] GitHub Client ID checkpoint: 1 --- catnip-mobile/App.tsx | 97 - catnip-mobile/app.json | 5 +- catnip-mobile/app/codespace.tsx | 312 +- catnip-mobile/app/workspace/[id].tsx | 59 +- catnip-mobile/app/workspaces.tsx | 291 +- catnip-mobile/lib/api.ts | 412 +- catnip-mobile/package.json | 52 +- catnip-mobile/src/contexts/ApiContext.tsx | 193 - catnip-mobile/src/contexts/AuthContext.tsx | 117 - catnip-mobile/src/screens/AuthScreen.tsx | 126 - .../src/screens/CodespaceAccessScreen.tsx | 422 -- .../src/screens/WorkspaceDetailScreen.tsx | 494 --- .../src/screens/WorkspaceListScreen.tsx | 334 -- pnpm-lock.yaml | 3724 ++++++----------- worker/codespace-store.ts | 86 + worker/index.ts | 168 +- worker/mobile-auth.ts | 61 +- worker/sessions.ts | 31 +- 18 files changed, 2357 insertions(+), 4627 deletions(-) delete mode 100644 catnip-mobile/App.tsx delete mode 100644 catnip-mobile/src/contexts/ApiContext.tsx delete mode 100644 catnip-mobile/src/contexts/AuthContext.tsx delete mode 100644 catnip-mobile/src/screens/AuthScreen.tsx delete mode 100644 catnip-mobile/src/screens/CodespaceAccessScreen.tsx delete mode 100644 catnip-mobile/src/screens/WorkspaceDetailScreen.tsx delete mode 100644 catnip-mobile/src/screens/WorkspaceListScreen.tsx diff --git a/catnip-mobile/App.tsx b/catnip-mobile/App.tsx deleted file mode 100644 index 01df0314..00000000 --- a/catnip-mobile/App.tsx +++ /dev/null @@ -1,97 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { NavigationContainer } from '@react-navigation/native'; -import { createNativeStackNavigator } from '@react-navigation/native-stack'; -import { SafeAreaProvider } from 'react-native-safe-area-context'; -import { StatusBar } from 'expo-status-bar'; -import * as SecureStore from 'expo-secure-store'; -import AuthScreen from './src/screens/AuthScreen'; -import CodespaceAccessScreen from './src/screens/CodespaceAccessScreen'; -import WorkspaceListScreen from './src/screens/WorkspaceListScreen'; -import WorkspaceDetailScreen from './src/screens/WorkspaceDetailScreen'; -import { AuthProvider } from './src/contexts/AuthContext'; -import { ApiProvider } from './src/contexts/ApiContext'; - -export type RootStackParamList = { - Auth: undefined; - CodespaceAccess: undefined; - WorkspaceList: undefined; - WorkspaceDetail: { - workspaceId: string; - worktreeName: string; - repository: string; - branch: string; - }; -}; - -const Stack = createNativeStackNavigator(); - -export default function App() { - const [isAuthenticated, setIsAuthenticated] = useState(false); - const [isLoading, setIsLoading] = useState(true); - - useEffect(() => { - checkAuthStatus(); - }, []); - - const checkAuthStatus = async () => { - try { - const token = await SecureStore.getItemAsync('github_token'); - setIsAuthenticated(!!token); - } catch (error) { - console.error('Error checking auth status:', error); - } finally { - setIsLoading(false); - } - }; - - if (isLoading) { - return null; // Or a loading screen component - } - - return ( - - - - - - - - - ({ - title: route.params.worktreeName.split('/')[1] || 'Workspace' - })} - /> - - - - - - - ); -} \ No newline at end of file diff --git a/catnip-mobile/app.json b/catnip-mobile/app.json index 53f44ddd..12fd9dbd 100644 --- a/catnip-mobile/app.json +++ b/catnip-mobile/app.json @@ -27,10 +27,11 @@ "plugins": [ "expo-router", "expo-secure-store", - "expo-dev-client" + "expo-dev-client", + "expo-font" ], "experiments": { "typedRoutes": true } } -} \ No newline at end of file +} diff --git a/catnip-mobile/app/codespace.tsx b/catnip-mobile/app/codespace.tsx index 486a0ae6..a0bf4ab6 100644 --- a/catnip-mobile/app/codespace.tsx +++ b/catnip-mobile/app/codespace.tsx @@ -1,60 +1,144 @@ -import { useState } from 'react'; -import { View, Text, Pressable, TextInput, ScrollView, StyleSheet, ActivityIndicator } from 'react-native'; -import { SafeAreaView } from 'react-native-safe-area-context'; -import { useRouter } from 'expo-router'; -import { LinearGradient } from 'expo-linear-gradient'; -import { api, CodespaceInfo } from '../lib/api'; -import { useAuth } from '../hooks/useAuth'; +import { useState, useEffect, useRef } from "react"; +import { + View, + Text, + Pressable, + TextInput, + ScrollView, + StyleSheet, + ActivityIndicator, +} from "react-native"; +import { SafeAreaView } from "react-native-safe-area-context"; +import { useRouter } from "expo-router"; +import { LinearGradient } from "expo-linear-gradient"; +import * as SecureStore from "expo-secure-store"; +import { api, CodespaceInfo } from "../lib/api"; +import { useAuth } from "../hooks/useAuth"; -type Phase = 'connect' | 'connecting' | 'setup' | 'selection' | 'error'; +type Phase = "connect" | "connecting" | "setup" | "selection" | "error"; export default function CodespaceScreen() { const router = useRouter(); const { logout } = useAuth(); - const [phase, setPhase] = useState('connect'); - const [orgName, setOrgName] = useState(''); - const [statusMessage, setStatusMessage] = useState(''); - const [error, setError] = useState(''); + const [phase, setPhase] = useState("connect"); + const [orgName, setOrgName] = useState(""); + const [statusMessage, setStatusMessage] = useState(""); + const [error, setError] = useState(""); const [codespaces, setCodespaces] = useState([]); + const cleanupRef = useRef<(() => void) | null>(null); + + // Cleanup on unmount + useEffect(() => { + return () => { + if (cleanupRef.current) { + cleanupRef.current(); + cleanupRef.current = null; + } + }; + }, []); const handleConnect = async (codespaceName?: string, org?: string) => { - setPhase('connecting'); - setError(''); - setStatusMessage('🔄 Finding your codespace...'); + console.log("🎯 handleConnect called with:", { codespaceName, org }); + + // Cleanup any existing connection + if (cleanupRef.current) { + cleanupRef.current(); + cleanupRef.current = null; + } + + setPhase("connecting"); + setError(""); + setStatusMessage("🔄 Finding your codespace..."); try { - await api.connectCodespace(codespaceName, org, (event) => { - if (event.type === 'status') { - setStatusMessage(event.message); - } else if (event.type === 'success') { - setStatusMessage('✅ ' + event.message); - // Navigate to workspaces after successful connection - setTimeout(() => { - router.replace('/workspaces'); - }, 1000); - } else if (event.type === 'error') { - setError(event.message); - setPhase('error'); - } else if (event.type === 'setup') { - setPhase('setup'); - setError(event.message); - } else if (event.type === 'multiple') { - setCodespaces(event.codespaces); - setPhase('selection'); - } - }); + console.log("🎯 Calling api.connectCodespace..."); + const { promise, cleanup } = api.connectCodespace( + codespaceName, + org, + async (event) => { + console.log("🎯 Received event:", event); + + if (event.type === "status") { + console.log("🎯 Status event:", event.message); + setStatusMessage(event.message); + } else if (event.type === "success") { + console.log("🎯 Success event:", event.message); + setStatusMessage("✅ " + event.message); + + // Extract and store codespace name from the success event + if (event.codespaceUrl) { + try { + const url = new URL(event.codespaceUrl); + const hostname = url.hostname; + // Extract codespace name from hostname like "codespace-name-6369.app.github.dev" + const codespaceNameMatch = hostname.match( + /^(.+)-6369\.app\.github\.dev$/, + ); + if (codespaceNameMatch) { + const extractedCodespaceName = codespaceNameMatch[1]; + console.log( + "🎯 Extracted codespace name:", + extractedCodespaceName, + ); + await SecureStore.setItemAsync( + "codespace_name", + extractedCodespaceName, + ); + } + } catch (error) { + console.error("🎯 Failed to extract codespace name:", error); + } + } + + // Clear cleanup ref since connection succeeded + cleanupRef.current = null; + // Navigate to workspaces after successful connection + setTimeout(() => { + console.log("🎯 Navigating to workspaces..."); + router.replace("/workspaces"); + }, 1000); + } else if (event.type === "error") { + console.log("🎯 Error event:", event.message); + setError(event.message); + setPhase("error"); + // Clear cleanup ref since connection failed + cleanupRef.current = null; + } else if (event.type === "setup") { + console.log("🎯 Setup event:", event.message); + setPhase("setup"); + setError(event.message); + // Clear cleanup ref since we're in setup phase + cleanupRef.current = null; + } else if (event.type === "multiple") { + console.log("🎯 Multiple codespaces found:", event.codespaces); + setCodespaces(event.codespaces); + setPhase("selection"); + // Clear cleanup ref since we're in selection phase + cleanupRef.current = null; + } + }, + ); + + // Store cleanup function + cleanupRef.current = cleanup; + + await promise; + console.log("🎯 api.connectCodespace completed successfully"); } catch (err: any) { - setError(err.message || 'Connection failed'); - setPhase('error'); + console.error("🎯 Error in handleConnect:", err); + setError(err.message || "Connection failed"); + setPhase("error"); + // Clear cleanup ref on error + cleanupRef.current = null; } }; const handleLogout = async () => { await logout(); - router.replace('/auth'); + router.replace("/auth"); }; - if (phase === 'setup') { + if (phase === "setup") { return ( @@ -77,7 +161,10 @@ export default function CodespaceScreen() { 2. Create a new codespace 3. Return here to connect - setPhase('connect')} style={styles.secondaryButton}> + setPhase("connect")} + style={styles.secondaryButton} + > Back @@ -86,7 +173,7 @@ export default function CodespaceScreen() { ); } - if (phase === 'selection') { + if (phase === "selection") { return ( @@ -99,14 +186,21 @@ export default function CodespaceScreen() { style={styles.codespaceItem} onPress={() => handleConnect(cs.name, orgName)} > - {cs.name.replace(/-/g, ' ')} - {cs.repository && {cs.repository}} + + {cs.name.replace(/-/g, " ")} + + {cs.repository && ( + {cs.repository} + )} Last used: {new Date(cs.lastUsed).toLocaleDateString()} ))} - setPhase('connect')} style={styles.secondaryButton}> + setPhase("connect")} + style={styles.secondaryButton} + > Back @@ -122,20 +216,25 @@ export default function CodespaceScreen() { 🐱 Catnip - {orgName ? `Access codespaces in ${orgName}` : 'Access your GitHub Codespaces'} + {orgName + ? `Access codespaces in ${orgName}` + : "Access your GitHub Codespaces"} handleConnect(undefined, orgName || undefined)} - disabled={phase === 'connecting'} + disabled={phase === "connecting"} > - {phase === 'connecting' ? ( + {phase === "connecting" ? ( Connecting... @@ -168,12 +267,15 @@ export default function CodespaceScreen() { placeholderTextColor="#666" value={orgName} onChangeText={setOrgName} - editable={phase !== 'connecting'} + editable={phase !== "connecting"} /> handleConnect(undefined, orgName)} - disabled={!orgName || phase === 'connecting'} + disabled={!orgName || phase === "connecting"} > Go @@ -191,189 +293,189 @@ export default function CodespaceScreen() { const styles = StyleSheet.create({ container: { flex: 1, - backgroundColor: '#0a0a0a', + backgroundColor: "#0a0a0a", }, scrollContent: { flexGrow: 1, - justifyContent: 'center', + justifyContent: "center", padding: 24, }, card: { - backgroundColor: '#1a1a1a', + backgroundColor: "#1a1a1a", borderRadius: 16, padding: 24, borderWidth: 1, - borderColor: '#333', + borderColor: "#333", }, logo: { fontSize: 48, - textAlign: 'center', + textAlign: "center", marginBottom: 16, }, title: { fontSize: 28, - fontWeight: 'bold', - color: '#fff', - textAlign: 'center', + fontWeight: "bold", + color: "#fff", + textAlign: "center", marginBottom: 8, }, subtitle: { fontSize: 14, - color: '#999', - textAlign: 'center', + color: "#999", + textAlign: "center", marginBottom: 24, }, button: { paddingVertical: 14, borderRadius: 12, - alignItems: 'center', + alignItems: "center", marginBottom: 16, }, buttonDisabled: { opacity: 0.5, }, buttonContent: { - flexDirection: 'row', - alignItems: 'center', + flexDirection: "row", + alignItems: "center", gap: 8, }, buttonText: { - color: '#fff', + color: "#fff", fontSize: 16, - fontWeight: '600', + fontWeight: "600", }, statusBox: { - backgroundColor: 'rgba(59, 130, 246, 0.1)', + backgroundColor: "rgba(59, 130, 246, 0.1)", borderWidth: 1, - borderColor: 'rgba(59, 130, 246, 0.3)', + borderColor: "rgba(59, 130, 246, 0.3)", borderRadius: 12, padding: 12, marginBottom: 16, }, statusText: { - color: '#93bbfc', + color: "#93bbfc", fontSize: 14, - textAlign: 'center', + textAlign: "center", }, errorBox: { - backgroundColor: 'rgba(239, 68, 68, 0.1)', + backgroundColor: "rgba(239, 68, 68, 0.1)", borderWidth: 1, - borderColor: 'rgba(239, 68, 68, 0.3)', + borderColor: "rgba(239, 68, 68, 0.3)", borderRadius: 12, padding: 12, marginBottom: 16, }, errorText: { - color: '#fca5a5', + color: "#fca5a5", fontSize: 14, - textAlign: 'center', + textAlign: "center", }, divider: { height: 1, - backgroundColor: '#333', + backgroundColor: "#333", marginVertical: 24, }, orText: { - color: '#999', + color: "#999", fontSize: 14, marginBottom: 16, }, inputContainer: { - flexDirection: 'row', + flexDirection: "row", gap: 8, marginBottom: 24, }, input: { flex: 1, - backgroundColor: '#0a0a0a', + backgroundColor: "#0a0a0a", borderWidth: 1, - borderColor: '#333', + borderColor: "#333", borderRadius: 12, paddingHorizontal: 16, paddingVertical: 12, - color: '#fff', + color: "#fff", fontSize: 14, }, goButton: { - backgroundColor: '#4b5563', + backgroundColor: "#4b5563", paddingHorizontal: 24, borderRadius: 12, - justifyContent: 'center', + justifyContent: "center", }, goButtonText: { - color: '#fff', + color: "#fff", fontSize: 14, - fontWeight: '600', + fontWeight: "600", }, logoutButton: { - alignItems: 'center', + alignItems: "center", }, logoutText: { - color: '#ef4444', + color: "#ef4444", fontSize: 14, }, cardTitle: { fontSize: 20, - fontWeight: 'bold', - color: '#fff', + fontWeight: "bold", + color: "#fff", marginBottom: 8, }, description: { fontSize: 14, - color: '#999', + color: "#999", marginBottom: 24, }, setupSteps: { marginBottom: 24, }, stepText: { - color: '#ccc', + color: "#ccc", fontSize: 14, marginBottom: 12, }, codeBlock: { - backgroundColor: '#0a0a0a', + backgroundColor: "#0a0a0a", borderRadius: 8, padding: 12, marginVertical: 8, }, codeText: { - color: '#4ade80', - fontFamily: 'monospace', + color: "#4ade80", + fontFamily: "monospace", fontSize: 12, }, secondaryButton: { - backgroundColor: '#333', + backgroundColor: "#333", paddingVertical: 14, borderRadius: 12, - alignItems: 'center', + alignItems: "center", }, secondaryButtonText: { - color: '#ccc', + color: "#ccc", fontSize: 16, - fontWeight: '600', + fontWeight: "600", }, codespaceItem: { - backgroundColor: '#0a0a0a', + backgroundColor: "#0a0a0a", borderRadius: 12, padding: 16, marginBottom: 12, borderWidth: 1, - borderColor: '#333', + borderColor: "#333", }, codespaceTitle: { - color: '#fff', + color: "#fff", fontSize: 16, - fontWeight: '600', + fontWeight: "600", marginBottom: 4, }, codespaceRepo: { - color: '#3b82f6', + color: "#3b82f6", fontSize: 14, marginBottom: 4, }, codespaceDate: { - color: '#666', + color: "#666", fontSize: 12, }, -}); \ No newline at end of file +}); diff --git a/catnip-mobile/app/workspace/[id].tsx b/catnip-mobile/app/workspace/[id].tsx index 65b9930a..af36ea8c 100644 --- a/catnip-mobile/app/workspace/[id].tsx +++ b/catnip-mobile/app/workspace/[id].tsx @@ -37,9 +37,14 @@ function TodoList({ todos }: { todos: Todo[] }) { } export default function WorkspaceDetailScreen() { - const { id } = useLocalSearchParams<{ id: string }>(); + const { id, workspaceData } = useLocalSearchParams<{ + id: string; + workspaceData?: string; + }>(); const navigation = useNavigation(); + console.log("🐱 WorkspaceDetailScreen loaded with ID:", id); + const [workspace, setWorkspace] = useState(null); const [phase, setPhase] = useState("loading"); const [prompt, setPrompt] = useState(""); @@ -51,14 +56,34 @@ export default function WorkspaceDetailScreen() { if (!id) return; try { - const data = await api.getWorkspace(id); + let data: WorkspaceInfo; + + // Try to use passed workspace data first + if (workspaceData) { + try { + data = JSON.parse(workspaceData); + console.log("🐱 Using passed workspace data:", data); + } catch (parseError) { + console.error( + "🐱 Failed to parse workspace data, falling back to API:", + parseError, + ); + const decodedId = decodeURIComponent(id); + data = await api.getWorkspace(decodedId); + } + } else { + console.log("🐱 No workspace data passed, using API"); + const decodedId = decodeURIComponent(id); + data = await api.getWorkspace(decodedId); + } + setWorkspace(data); // Determine phase based on workspace state if (data.claude_activity_state === "active") { setPhase("working"); } else if ( - data.latest_claude_message || + data.latest_session_title || (data.todos && data.todos.length > 0) ) { setPhase("completed"); @@ -70,7 +95,7 @@ export default function WorkspaceDetailScreen() { setError(err.message || "Failed to load workspace"); setPhase("error"); } - }, [id]); + }, [id, workspaceData]); useEffect(() => { loadWorkspace(); @@ -82,7 +107,8 @@ export default function WorkspaceDetailScreen() { const interval = setInterval(async () => { try { - const data = await api.getWorkspace(id); + const decodedId = decodeURIComponent(id); + const data = await api.getWorkspace(decodedId); setWorkspace(data); // Check if work is completed @@ -109,13 +135,13 @@ export default function WorkspaceDetailScreen() { }, [workspace, navigation]); const handleSendPrompt = async () => { - if (!prompt.trim() || !id) return; + if (!prompt.trim() || !workspace) return; setIsSubmitting(true); setError(""); try { - await api.sendPrompt(id, prompt.trim()); + await api.sendPrompt(workspace.path, prompt.trim()); setPrompt(""); setShowPromptInput(false); setPhase("working"); @@ -166,7 +192,7 @@ export default function WorkspaceDetailScreen() { {workspace.name.split("/")[1] || workspace.name} - {workspace.repository} · {cleanBranch} + {workspace.repo_id || "Unknown repo"} · {cleanBranch} @@ -200,11 +226,11 @@ export default function WorkspaceDetailScreen() { Claude is working... - {workspace.latest_claude_message && ( + {workspace.latest_session_title && ( - Session Context: + Session: - {workspace.latest_claude_message} + {workspace.latest_session_title} )} @@ -220,10 +246,10 @@ export default function WorkspaceDetailScreen() { {phase === "completed" && ( - {workspace.latest_claude_message && ( + {workspace.latest_session_title && ( - {workspace.latest_claude_message} + {workspace.latest_session_title} )} @@ -248,7 +274,7 @@ export default function WorkspaceDetailScreen() { {phase === "input" && ( {isSubmitting ? ( @@ -285,7 +312,7 @@ export default function WorkspaceDetailScreen() { Send diff --git a/catnip-mobile/app/workspaces.tsx b/catnip-mobile/app/workspaces.tsx index c76ee602..a5de305d 100644 --- a/catnip-mobile/app/workspaces.tsx +++ b/catnip-mobile/app/workspaces.tsx @@ -7,6 +7,9 @@ import { RefreshControl, StyleSheet, ActivityIndicator, + Alert, + TextInput, + Modal, } from "react-native"; import { SafeAreaView } from "react-native-safe-area-context"; import { useRouter } from "expo-router"; @@ -19,6 +22,16 @@ function WorkspaceCard({ workspace: WorkspaceInfo; onPress: () => void; }) { + console.log("🚀 NEW WorkspaceCard CODE LOADED"); + // Debug log to see what might be causing the Text rendering issue + console.log("🐱 WorkspaceCard rendering:", { + id: workspace.id, + name: workspace.name, + branch: workspace.branch, + repo_id: workspace.repo_id, + commit_count: workspace.commit_count, + is_dirty: workspace.is_dirty, + }); const getStatusColor = () => { switch (workspace.claude_activity_state) { case "active": @@ -31,13 +44,30 @@ function WorkspaceCard({ }; const getTitle = () => { - const parts = workspace.name.split("/"); - return parts[1] || workspace.name; + // For worktrees, name is already the friendly name like "feature-api-docs" + const name = workspace.name; + if (typeof name === "string" && name.trim()) { + return name; + } + return "Unnamed workspace"; }; - const cleanBranch = workspace.branch.startsWith("/") - ? workspace.branch.slice(1) - : workspace.branch; + const getCleanBranch = () => { + const branch = workspace.branch; + if (typeof branch === "string" && branch.trim()) { + // Handle refs/catnip/name format + if (branch.startsWith("refs/catnip/")) { + return branch.replace("refs/catnip/", ""); + } + // Handle leading slash + if (branch.startsWith("/")) { + return branch.slice(1); + } + return branch; + } + return "main"; + }; + const cleanBranch = getCleanBranch(); const completedTodos = workspace.todos?.filter((t) => t.status === "completed").length || 0; @@ -55,16 +85,19 @@ function WorkspaceCard({ /> {getTitle()} - {workspace.commit_count && workspace.commit_count > 0 && ( + {workspace.commit_count > 0 && ( +{workspace.commit_count} )} - {workspace.repository}/{getTitle()} · {cleanBranch} + {typeof workspace.repo_id === "string" + ? workspace.repo_id + : "Unknown repo"}{" "} + · {cleanBranch} - {workspace.is_dirty && ( + {!!workspace.is_dirty && ( Modified @@ -79,7 +112,9 @@ function WorkspaceCard({ 0 ? (completedTodos / totalTodos) * 100 : 0}%`, + }, ]} /> @@ -100,6 +135,11 @@ export default function WorkspacesScreen() { const [workspaces, setWorkspaces] = useState([]); const [isLoading, setIsLoading] = useState(true); const [isRefreshing, setIsRefreshing] = useState(false); + const [error, setError] = useState(null); + const [showCreateModal, setShowCreateModal] = useState(false); + const [isCreating, setIsCreating] = useState(false); + const [repository, setRepository] = useState(""); + const [branch, setBranch] = useState("main"); useEffect(() => { loadWorkspaces(); @@ -107,6 +147,7 @@ export default function WorkspacesScreen() { const loadWorkspaces = async () => { try { + setError(null); const data = await api.getWorkspaces(); setWorkspaces( data.sort((a, b) => { @@ -120,7 +161,10 @@ export default function WorkspacesScreen() { }), ); } catch (error) { - console.error("Failed to load workspaces:", error); + console.error("🎯 Failed to load workspaces:", error); + setError( + error instanceof Error ? error.message : "Failed to load workspaces", + ); } finally { setIsLoading(false); setIsRefreshing(false); @@ -133,7 +177,61 @@ export default function WorkspacesScreen() { }; const handleWorkspacePress = (workspace: WorkspaceInfo) => { - router.push(`/workspace/${workspace.id}`); + // Pass workspace data directly through navigation params + console.log("🐱 WorkspacePress:", { + id: workspace.id, + name: workspace.name, + path: workspace.path, + }); + const encodedId = encodeURIComponent(workspace.id); + console.log("🐱 Navigating to:", `/workspace/${encodedId}`); + router.push({ + pathname: `/workspace/${encodedId}`, + params: { workspaceData: JSON.stringify(workspace) }, + }); + }; + + const handleCreateWorkspace = async () => { + if (!repository.trim()) { + Alert.alert("Error", "Please enter a repository in format 'owner/repo'"); + return; + } + + if (!repository.includes("/")) { + Alert.alert("Error", "Repository must be in format 'owner/repo'"); + return; + } + + setIsCreating(true); + try { + console.log("🎯 Creating workspace:", { + repository, + branch, + }); + const newWorkspace = await api.createWorkspace( + repository.trim(), + branch.trim() || "main", + ); + console.log("🎯 Created workspace:", newWorkspace); + + // Add the new workspace to the list + setWorkspaces((prev) => [newWorkspace, ...prev]); + + // Reset modal state + setShowCreateModal(false); + setRepository(""); + setBranch("main"); + + Alert.alert("Success", "Workspace created successfully!"); + } catch (error) { + console.error("🎯 Failed to create workspace:", error); + Alert.alert( + "Error", + `Failed to create workspace: ${error instanceof Error ? error.message : "Unknown error"}`, + ); + } finally { + setIsCreating(false); + } }; if (isLoading) { @@ -147,6 +245,23 @@ export default function WorkspacesScreen() { ); } + if (error) { + return ( + + + Error loading workspaces + {error} + loadWorkspaces()} + > + Retry + + + + ); + } + if (workspaces.length === 0) { return ( @@ -155,6 +270,12 @@ export default function WorkspacesScreen() { Create a workspace to get started + setShowCreateModal(true)} + > + Create Workspace + ); @@ -187,6 +308,60 @@ export default function WorkspacesScreen() { /> } /> + + {/* Create Workspace Modal */} + setShowCreateModal(false)} + > + + + Create Workspace + + Repository * + + + Branch + + + + setShowCreateModal(false)} + > + Cancel + + + {isCreating ? ( + + ) : ( + Create + )} + + + + + ); } @@ -320,5 +495,99 @@ const styles = StyleSheet.create({ emptySubtitle: { fontSize: 16, color: "#666", + marginBottom: 24, + }, + retryButton: { + backgroundColor: "#dc2626", + paddingHorizontal: 24, + paddingVertical: 12, + borderRadius: 12, + alignItems: "center", + }, + retryButtonText: { + color: "#fff", + fontSize: 16, + fontWeight: "600", + }, + createButton: { + backgroundColor: "#7c3aed", + paddingHorizontal: 24, + paddingVertical: 12, + borderRadius: 12, + alignItems: "center", + }, + createButtonText: { + color: "#fff", + fontSize: 16, + fontWeight: "600", + }, + modalOverlay: { + flex: 1, + backgroundColor: "rgba(0, 0, 0, 0.8)", + justifyContent: "center", + alignItems: "center", + padding: 20, + }, + modalContent: { + backgroundColor: "#1a1a1a", + borderRadius: 16, + padding: 24, + width: "100%", + maxWidth: 400, + borderWidth: 1, + borderColor: "#333", + }, + modalTitle: { + fontSize: 20, + fontWeight: "600", + color: "#fff", + marginBottom: 24, + textAlign: "center", + }, + inputLabel: { + fontSize: 14, + fontWeight: "500", + color: "#fff", + marginBottom: 8, + marginTop: 16, + }, + input: { + backgroundColor: "#333", + borderRadius: 8, + paddingHorizontal: 12, + paddingVertical: 10, + fontSize: 16, + color: "#fff", + borderWidth: 1, + borderColor: "#555", + }, + modalButtons: { + flexDirection: "row", + marginTop: 24, + gap: 12, + }, + modalButton: { + flex: 1, + paddingVertical: 12, + borderRadius: 8, + alignItems: "center", + }, + cancelButton: { + backgroundColor: "#333", + borderWidth: 1, + borderColor: "#555", + }, + cancelButtonText: { + color: "#fff", + fontSize: 16, + fontWeight: "500", + }, + createModalButton: { + backgroundColor: "#7c3aed", + }, + createModalButtonText: { + color: "#fff", + fontSize: 16, + fontWeight: "600", }, }); diff --git a/catnip-mobile/lib/api.ts b/catnip-mobile/lib/api.ts index f6f191bc..bd0d9d33 100644 --- a/catnip-mobile/lib/api.ts +++ b/catnip-mobile/lib/api.ts @@ -1,6 +1,7 @@ -import * as SecureStore from 'expo-secure-store'; +import * as SecureStore from "expo-secure-store"; +import EventSource from "react-native-sse"; -const BASE_URL = 'https://catnip.run'; +const BASE_URL = "https://catnip.run"; export interface CodespaceInfo { name: string; @@ -12,144 +13,377 @@ export interface WorkspaceInfo { id: string; name: string; branch: string; - repository: string; - claude_activity_state?: 'active' | 'running' | 'inactive'; + repo_id: string; // This is the repository field from EnhancedWorktree + claude_activity_state?: "active" | "running" | "inactive"; commit_count?: number; is_dirty?: boolean; last_accessed?: string; created_at?: string; todos?: Todo[]; - latest_claude_message?: string; + latest_session_title?: string; pull_request_url?: string; + path: string; } export interface Todo { content: string; - status: 'pending' | 'in_progress' | 'completed'; + status: "pending" | "in_progress" | "completed"; activeForm?: string; } class CatnipAPI { - private async getHeaders(): Promise { - const sessionToken = await SecureStore.getItemAsync('session_token'); + private async getHeaders(includeCodespace = false): Promise { + const sessionToken = await SecureStore.getItemAsync("session_token"); if (!sessionToken) { - throw new Error('No session token available'); + throw new Error("No session token available"); } - return { - 'Content-Type': 'application/json', - 'Authorization': `Bearer ${sessionToken}`, + const headers: HeadersInit = { + "Content-Type": "application/json", + Authorization: `Bearer ${sessionToken}`, }; + + if (includeCodespace) { + const codespaceName = await SecureStore.getItemAsync("codespace_name"); + if (codespaceName) { + (headers as Record)["X-Codespace-Name"] = codespaceName; + console.log("🐱 Adding codespace header:", codespaceName); + } else { + console.warn("🐱 No codespace name found in storage"); + } + } + + return headers; } - async connectCodespace( + connectCodespace( codespaceName?: string, org?: string, - onEvent?: (event: any) => void - ): Promise { - const headers = await this.getHeaders(); - const baseUrl = org ? `https://${org}.catnip.run` : BASE_URL; - const url = codespaceName - ? `${baseUrl}/v1/codespace?codespace=${encodeURIComponent(codespaceName)}` - : `${baseUrl}/v1/codespace`; - - return new Promise((resolve, reject) => { - // Since React Native doesn't have built-in EventSource, we'll use fetch with streaming - // For production, you'd want to use a library like react-native-sse - fetch(url, { - headers: { - ...headers, - 'Accept': 'text/event-stream', - }, - }) - .then(async (response) => { - if (!response.ok) { - throw new Error(`HTTP ${response.status}: ${response.statusText}`); + onEvent?: (event: any) => void, + ): { promise: Promise; cleanup: () => void } { + console.log( + "🐱 Connecting to codespace:", + codespaceName ? `${codespaceName}` : "auto-select", + ); + + let eventSource: EventSource | null = null; + let timeoutId: NodeJS.Timeout | null = null; + let isResolved = false; + + const cleanup = () => { + if (timeoutId) { + clearTimeout(timeoutId); + timeoutId = null; + } + if (eventSource) { + eventSource.close(); + eventSource = null; + } + isResolved = true; + }; + + const promise = new Promise(async (resolve, reject) => { + try { + const headers = await this.getHeaders(); + const baseUrl = org ? `https://${org}.catnip.run` : BASE_URL; + const url = codespaceName + ? `${baseUrl}/v1/codespace?codespace=${encodeURIComponent(codespaceName)}` + : `${baseUrl}/v1/codespace`; + + console.log("🐱 Creating EventSource with react-native-sse..."); + + eventSource = new EventSource(url, { + headers: headers as Record, + withCredentials: false, + pollingInterval: 0, // No polling, pure SSE + }); + console.log("🐱 EventSource created successfully"); + + // Single 2-minute timeout for the entire connection + timeoutId = setTimeout(() => { + if (!isResolved) { + console.log("🐱 Connection timeout after 2 minutes"); + cleanup(); + reject(new Error("Connection timeout: Server not responding")); + } + }, 120000); + + eventSource.addEventListener("open", () => { + console.log("🐱 SSE connection opened"); + }); + + // Handle specific event types that your server sends + eventSource.addEventListener("status", (event) => { + if (isResolved) return; + + try { + const data = JSON.parse(event.data); + console.log("🐱 Status:", data.message); + + if (onEvent) { + onEvent({ type: "status", ...data }); + } + } catch (parseError) { + console.error("🐱 Error parsing status event:", parseError); + } + }); + + eventSource.addEventListener("success", async (event) => { + if (isResolved) return; + console.log("🐱 Codespace ready!"); + + try { + const data = JSON.parse(event.data); + + if (onEvent) { + onEvent({ type: "success", ...data }); + } + + // Store the codespace name for future API calls + if (codespaceName) { + await SecureStore.setItemAsync("codespace_name", codespaceName); + } + + cleanup(); + resolve(); + } catch (parseError) { + console.error("🐱 Error parsing success event:", parseError); + cleanup(); + resolve(); + } + }); + + eventSource.addEventListener("error", (event) => { + if (isResolved) return; + console.log("🐱 Error event received:", event.data); + + try { + const data = JSON.parse(event.data); + console.log("🐱 Parsed error data:", data); + + if (onEvent) { + onEvent({ type: "error", ...data }); + } + + // Only reject on final errors, not transient ones + if (data.message && data.message.includes("permanently")) { + cleanup(); + reject(new Error(data.message || "Server reported error")); + } + // Otherwise, let the connection continue - might get success later + } catch (parseError) { + console.error("🐱 Error parsing error event:", parseError); + cleanup(); + reject(new Error("Server error")); + } + }); + + eventSource.addEventListener("setup", (event) => { + if (isResolved) return; + console.log("🐱 Setup event received:", event.data); + + try { + const data = JSON.parse(event.data); + console.log("🐱 Parsed setup data:", data); + + if (onEvent) { + onEvent({ type: "setup", ...data }); + } + } catch (parseError) { + console.error("🐱 Error parsing setup event:", parseError); } + }); + + eventSource.addEventListener("multiple", (event) => { + if (isResolved) return; + console.log("🐱 Multiple event received:", event.data); - const reader = response.body?.getReader(); - if (!reader) { - throw new Error('No response body'); + try { + const data = JSON.parse(event.data); + console.log("🐱 Parsed multiple data:", data); + + if (onEvent) { + onEvent({ type: "multiple", ...data }); + } + } catch (parseError) { + console.error("🐱 Error parsing multiple event:", parseError); } + }); - const decoder = new TextDecoder(); - let buffer = ''; - - while (true) { - const { done, value } = await reader.read(); - if (done) break; - - buffer += decoder.decode(value, { stream: true }); - const lines = buffer.split('\n'); - buffer = lines.pop() || ''; - - for (const line of lines) { - if (line.startsWith('event: ')) { - const eventType = line.substring(7); - const nextLine = lines[lines.indexOf(line) + 1]; - - if (nextLine?.startsWith('data: ')) { - try { - const data = JSON.parse(nextLine.substring(6)); - onEvent?.({ type: eventType, ...data }); - - if (eventType === 'success') { - resolve(); - return; - } else if (eventType === 'error') { - reject(new Error(data.message)); - return; - } - } catch (e) { - console.error('Failed to parse SSE data:', e); - } - } - } + // Fallback for generic message events + eventSource.addEventListener("message", (event) => { + if (isResolved) return; + console.log("🐱 Generic message received:", event.data); + + try { + const data = JSON.parse(event.data); + console.log("🐱 Parsed generic message:", data); + + if (onEvent) { + onEvent(data); } + + if (data.type === "success") { + cleanup(); + resolve(); + } + } catch (parseError) { + console.error("🐱 Error parsing generic message:", parseError); } - }) - .catch((error) => { - reject(error); }); + + // Handle connection errors (not event data errors) + eventSource.onerror = (error) => { + if (isResolved) return; + console.error("🐱 SSE connection error:", error); + + const errorMessage = error.message || "SSE connection failed"; + if (onEvent) { + onEvent({ + type: "error", + message: errorMessage, + }); + } + cleanup(); + reject(new Error(errorMessage)); + }; + } catch (createError) { + console.error("🐱 Failed to create EventSource:", createError); + cleanup(); + reject(createError); + } }); + + return { promise, cleanup }; } async getWorkspaces(): Promise { - const headers = await this.getHeaders(); - const response = await fetch(`${BASE_URL}/v1/workspaces`, { headers }); + try { + const headers = await this.getHeaders(true); // Include codespace header + const response = await fetch(`${BASE_URL}/v1/git/worktrees`, { headers }); - if (!response.ok) { - throw new Error('Failed to fetch workspaces'); - } + if (!response.ok) { + const responseText = await response.text(); + console.error( + "🐱 Failed to fetch workspaces:", + response.status, + responseText, + ); + throw new Error( + `Failed to fetch workspaces (${response.status}): ${responseText}`, + ); + } - return response.json(); + const responseText = await response.text(); + + if (!responseText || responseText.trim() === "") { + console.log("🐱 Empty response from workspaces endpoint"); + return []; + } + + try { + const parsed = JSON.parse(responseText); + console.log( + "🐱 Loaded", + Array.isArray(parsed) ? parsed.length : 0, + "workspaces", + ); + return Array.isArray(parsed) ? parsed : []; + } catch (parseError) { + console.error("🐱 Error parsing workspaces JSON:", parseError); + throw new Error("Invalid JSON response from workspaces endpoint"); + } + } catch (error) { + console.error("🐱 Error in getWorkspaces:", error); + throw error; + } } async getWorkspace(id: string): Promise { - const headers = await this.getHeaders(); - const response = await fetch(`${BASE_URL}/v1/workspaces/${id}`, { headers }); + const headers = await this.getHeaders(true); // Include codespace header + const encodedId = encodeURIComponent(id); + const url = `${BASE_URL}/v1/git/worktrees/${encodedId}`; + + console.log("🐱 Fetching workspace:", { id, encodedId, url }); + console.log("🐱 Request headers:", headers); + + const response = await fetch(url, { headers }); + + console.log("🐱 Workspace response:", { + status: response.status, + statusText: response.statusText, + headers: Object.fromEntries(response.headers.entries()), + }); if (!response.ok) { - throw new Error('Failed to fetch workspace'); + const responseText = await response.text(); + console.error( + "🐱 Failed to fetch workspace:", + response.status, + responseText, + ); + throw new Error( + `Failed to fetch workspace (${response.status}): ${responseText}`, + ); } - return response.json(); + const responseText = await response.text(); + console.log("🐱 Raw workspace response:", responseText.substring(0, 200)); + + try { + return JSON.parse(responseText); + } catch (parseError) { + console.error("🐱 Failed to parse workspace JSON:", parseError); + console.error("🐱 Response text:", responseText); + throw new Error( + `Invalid JSON response: ${responseText.substring(0, 100)}`, + ); + } } - async sendPrompt(workspaceId: string, prompt: string): Promise { - const headers = await this.getHeaders(); - const response = await fetch(`${BASE_URL}/v1/workspaces/${workspaceId}/prompt`, { - method: 'POST', + async sendPrompt(workspacePath: string, prompt: string): Promise { + const headers = await this.getHeaders(true); // Include codespace header + const response = await fetch(`${BASE_URL}/v1/claude/messages`, { + method: "POST", headers, - body: JSON.stringify({ prompt }), + body: JSON.stringify({ + prompt: prompt, + working_directory: workspacePath, + }), }); if (!response.ok) { - throw new Error('Failed to send prompt'); + throw new Error("Failed to send prompt"); } } + async createWorkspace( + orgRepo: string, + branch?: string, + ): Promise { + const headers = await this.getHeaders(true); // Include codespace header + const [org, repo] = orgRepo.split("/"); + + if (!org || !repo) { + throw new Error("Repository must be in format 'org/repo'"); + } + + const url = `${BASE_URL}/v1/git/checkout/${org}/${repo}${branch ? `?branch=${encodeURIComponent(branch)}` : ""}`; + const response = await fetch(url, { + method: "POST", + headers, + }); + + if (!response.ok) { + const errorText = await response.text(); + throw new Error(`Failed to create workspace: ${errorText}`); + } + + const result = await response.json(); + return result.worktree; // CheckoutResponse has worktree field + } + async getAuthStatus(): Promise<{ authenticated: boolean; user?: string }> { try { const headers = await this.getHeaders(); @@ -166,4 +400,4 @@ class CatnipAPI { } } -export const api = new CatnipAPI(); \ No newline at end of file +export const api = new CatnipAPI(); diff --git a/catnip-mobile/package.json b/catnip-mobile/package.json index cb66adbd..9ba99766 100644 --- a/catnip-mobile/package.json +++ b/catnip-mobile/package.json @@ -3,38 +3,40 @@ "version": "1.0.0", "main": "expo-router/entry", "scripts": { - "start": "npx expo start", + "start": "npx expo start --go", "android": "npx expo start --android", "ios": "npx expo start --ios", - "web": "npx expo start --web", - "reset-project": "node utils/reset-project.js" + "web": "npx expo start --web" }, "dependencies": { - "expo": "~52.0.0", - "expo-auth-session": "~6.0.0", - "expo-constants": "~17.0.0", - "expo-crypto": "~14.0.0", - "expo-dev-client": "~5.0.0", - "expo-font": "~13.0.0", - "expo-linking": "~7.0.0", - "expo-router": "~4.0.0", - "expo-secure-store": "~14.0.0", - "expo-splash-screen": "~0.29.0", - "expo-status-bar": "~2.0.0", - "expo-system-ui": "~4.0.0", - "expo-web-browser": "~14.0.0", - "expo-linear-gradient": "~14.0.0", - "react": "18.3.1", - "react-dom": "18.3.1", - "react-native": "0.76.0", - "react-native-safe-area-context": "4.12.0", - "react-native-screens": "~4.1.0", - "react-native-web": "~0.19.13" + "@expo/metro-runtime": "~6.1.2", + "expo": "~54.0.8", + "expo-auth-session": "~7.0.8", + "expo-constants": "~18.0.9", + "expo-crypto": "~15.0.7", + "expo-dev-client": "~6.0.12", + "expo-font": "~14.0.8", + "expo-linear-gradient": "~15.0.7", + "expo-linking": "~8.0.8", + "expo-router": "~6.0.7", + "expo-secure-store": "~15.0.7", + "expo-splash-screen": "~31.0.10", + "expo-status-bar": "~3.0.8", + "expo-system-ui": "~6.0.7", + "expo-web-browser": "~15.0.7", + "react": "19.1.0", + "react-dom": "19.1.0", + "react-native": "0.81.4", + "react-native-safe-area-context": "5.6.1", + "react-native-screens": "~4.16.0", + "react-native-sse": "^1.2.1", + "react-native-web": "~0.21.1" }, "devDependencies": { "@babel/core": "^7.26.0", - "@types/react": "~18.3.12", - "typescript": "^5.7.0" + "@types/react": "~19.1.13", + "babel-plugin-module-resolver": "^5.0.2", + "typescript": "^5.9.2" }, "private": true } diff --git a/catnip-mobile/src/contexts/ApiContext.tsx b/catnip-mobile/src/contexts/ApiContext.tsx deleted file mode 100644 index 6782fa0e..00000000 --- a/catnip-mobile/src/contexts/ApiContext.tsx +++ /dev/null @@ -1,193 +0,0 @@ -import React, { createContext, useContext, ReactNode } from 'react'; -import { useAuth } from './AuthContext'; -import * as SecureStore from 'expo-secure-store'; - -interface CodespaceInfo { - name: string; - lastUsed: number; - repository?: string; -} - -interface WorkspaceInfo { - id: string; - name: string; - branch: string; - repository: string; - claude_activity_state?: string; - commit_count?: number; - is_dirty?: boolean; - last_accessed?: string; - created_at?: string; - todos?: Array<{ - content: string; - status: 'pending' | 'in_progress' | 'completed'; - }>; - latest_claude_message?: string; -} - -interface ApiContextType { - baseUrl: string; - fetchCodespaces: (org?: string) => Promise; - accessCodespace: (codespaceName?: string, org?: string) => AsyncGenerator; - fetchWorkspaces: () => Promise; - sendPrompt: (workspaceId: string, prompt: string) => Promise; - getWorkspaceStatus: (workspaceId: string) => Promise; -} - -const ApiContext = createContext(undefined); - -export const useApi = () => { - const context = useContext(ApiContext); - if (!context) { - throw new Error('useApi must be used within an ApiProvider'); - } - return context; -}; - -interface ApiProviderProps { - children: ReactNode; -} - -export const ApiProvider: React.FC = ({ children }) => { - const { githubToken, githubUser } = useAuth(); - const baseUrl = 'https://catnip.run'; - - const getHeaders = async () => { - const codespaceToken = await SecureStore.getItemAsync('codespace_token'); - return { - 'Authorization': codespaceToken ? `Bearer ${codespaceToken}` : `Bearer ${githubToken}`, - 'Content-Type': 'application/json', - }; - }; - - const fetchCodespaces = async (org?: string): Promise => { - const url = org - ? `https://${org}.catnip.run/v1/codespaces` - : `${baseUrl}/v1/codespaces`; - - const headers = await getHeaders(); - const response = await fetch(url, { headers }); - - if (!response.ok) { - throw new Error('Failed to fetch codespaces'); - } - - return response.json(); - }; - - async function* accessCodespace(codespaceName?: string, org?: string) { - const baseUrl = org ? `https://${org}.catnip.run` : 'https://catnip.run'; - const url = codespaceName - ? `${baseUrl}/v1/codespace?codespace=${encodeURIComponent(codespaceName)}` - : `${baseUrl}/v1/codespace`; - - const headers = await getHeaders(); - const response = await fetch(url, { - headers: { - ...headers, - 'Accept': 'text/event-stream', - }, - }); - - if (!response.body) { - throw new Error('No response body'); - } - - const reader = response.body.getReader(); - const decoder = new TextDecoder(); - let buffer = ''; - - while (true) { - const { done, value } = await reader.read(); - if (done) break; - - buffer += decoder.decode(value, { stream: true }); - const lines = buffer.split('\n'); - buffer = lines.pop() || ''; - - for (const line of lines) { - if (line.startsWith('data: ')) { - try { - const data = JSON.parse(line.slice(6)); - yield data; - } catch (e) { - console.error('Failed to parse SSE data:', e); - } - } - } - } - } - - const fetchWorkspaces = async (): Promise => { - const codespaceToken = await SecureStore.getItemAsync('codespace_token'); - if (!codespaceToken) { - throw new Error('No codespace token available'); - } - - const response = await fetch(`${baseUrl}/v1/workspaces`, { - headers: { - 'Authorization': `Bearer ${codespaceToken}`, - 'Content-Type': 'application/json', - }, - }); - - if (!response.ok) { - throw new Error('Failed to fetch workspaces'); - } - - return response.json(); - }; - - const sendPrompt = async (workspaceId: string, prompt: string): Promise => { - const codespaceToken = await SecureStore.getItemAsync('codespace_token'); - if (!codespaceToken) { - throw new Error('No codespace token available'); - } - - const response = await fetch(`${baseUrl}/v1/workspaces/${workspaceId}/prompt`, { - method: 'POST', - headers: { - 'Authorization': `Bearer ${codespaceToken}`, - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ prompt }), - }); - - if (!response.ok) { - throw new Error('Failed to send prompt'); - } - }; - - const getWorkspaceStatus = async (workspaceId: string): Promise => { - const codespaceToken = await SecureStore.getItemAsync('codespace_token'); - if (!codespaceToken) { - throw new Error('No codespace token available'); - } - - const response = await fetch(`${baseUrl}/v1/workspaces/${workspaceId}`, { - headers: { - 'Authorization': `Bearer ${codespaceToken}`, - 'Content-Type': 'application/json', - }, - }); - - if (!response.ok) { - throw new Error('Failed to get workspace status'); - } - - return response.json(); - }; - - return ( - - {children} - - ); -}; \ No newline at end of file diff --git a/catnip-mobile/src/contexts/AuthContext.tsx b/catnip-mobile/src/contexts/AuthContext.tsx deleted file mode 100644 index a3d4767e..00000000 --- a/catnip-mobile/src/contexts/AuthContext.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import React, { createContext, useContext, useState, useEffect, ReactNode } from 'react'; -import * as SecureStore from 'expo-secure-store'; -import * as WebBrowser from 'expo-web-browser'; -import * as Linking from 'expo-linking'; -import Constants from 'expo-constants'; - -interface AuthContextType { - isAuthenticated: boolean; - githubToken: string | null; - githubUser: string | null; - login: () => Promise; - logout: () => Promise; - setTokens: (token: string, user: string) => Promise; -} - -const AuthContext = createContext(undefined); - -export const useAuth = () => { - const context = useContext(AuthContext); - if (!context) { - throw new Error('useAuth must be used within an AuthProvider'); - } - return context; -}; - -interface AuthProviderProps { - children: ReactNode; -} - -export const AuthProvider: React.FC = ({ children }) => { - const [isAuthenticated, setIsAuthenticated] = useState(false); - const [githubToken, setGithubToken] = useState(null); - const [githubUser, setGithubUser] = useState(null); - - useEffect(() => { - loadStoredAuth(); - }, []); - - const loadStoredAuth = async () => { - try { - const token = await SecureStore.getItemAsync('github_token'); - const user = await SecureStore.getItemAsync('github_user'); - - if (token && user) { - setGithubToken(token); - setGithubUser(user); - setIsAuthenticated(true); - } - } catch (error) { - console.error('Error loading stored auth:', error); - } - }; - - const login = async () => { - try { - // Construct OAuth URL - const redirectUri = Linking.createURL('/auth/callback'); - const authUrl = `https://catnip.run/v1/auth/github?redirect_uri=${encodeURIComponent(redirectUri)}`; - - // Open web browser for OAuth flow - const result = await WebBrowser.openAuthSessionAsync(authUrl, redirectUri); - - if (result.type === 'success' && result.url) { - // Parse the callback URL to extract token and user info - const url = new URL(result.url); - const token = url.searchParams.get('token'); - const user = url.searchParams.get('user'); - - if (token && user) { - await setTokens(token, user); - } - } - } catch (error) { - console.error('Login error:', error); - throw error; - } - }; - - const logout = async () => { - try { - await SecureStore.deleteItemAsync('github_token'); - await SecureStore.deleteItemAsync('github_user'); - await SecureStore.deleteItemAsync('codespace_token'); - setGithubToken(null); - setGithubUser(null); - setIsAuthenticated(false); - } catch (error) { - console.error('Logout error:', error); - } - }; - - const setTokens = async (token: string, user: string) => { - try { - await SecureStore.setItemAsync('github_token', token); - await SecureStore.setItemAsync('github_user', user); - setGithubToken(token); - setGithubUser(user); - setIsAuthenticated(true); - } catch (error) { - console.error('Error storing tokens:', error); - throw error; - } - }; - - return ( - - {children} - - ); -}; \ No newline at end of file diff --git a/catnip-mobile/src/screens/AuthScreen.tsx b/catnip-mobile/src/screens/AuthScreen.tsx deleted file mode 100644 index fb66cc51..00000000 --- a/catnip-mobile/src/screens/AuthScreen.tsx +++ /dev/null @@ -1,126 +0,0 @@ -import React from 'react'; -import { View, Text, TouchableOpacity, StyleSheet, Image, ActivityIndicator } from 'react-native'; -import { SafeAreaView } from 'react-native-safe-area-context'; -import { useNavigation } from '@react-navigation/native'; -import { NativeStackNavigationProp } from '@react-navigation/native-stack'; -import { RootStackParamList } from '../../App'; -import { useAuth } from '../contexts/AuthContext'; - -type NavigationProp = NativeStackNavigationProp; - -export default function AuthScreen() { - const navigation = useNavigation(); - const { login } = useAuth(); - const [isLoading, setIsLoading] = React.useState(false); - - const handleLogin = async () => { - try { - setIsLoading(true); - await login(); - navigation.replace('CodespaceAccess'); - } catch (error) { - console.error('Login failed:', error); - // TODO: Show error message - } finally { - setIsLoading(false); - } - }; - - return ( - - - - {/* TODO: Add actual logo */} - - 🐱 - - Catnip - Access your GitHub Codespaces - - - - - Logging into GitHub allows us to start codespaces you have added catnip to - - - - - {isLoading ? ( - - ) : ( - Login with GitHub - )} - - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#0a0a0a', - }, - content: { - flex: 1, - justifyContent: 'center', - paddingHorizontal: 24, - }, - logoContainer: { - alignItems: 'center', - marginBottom: 48, - }, - logoPlaceholder: { - width: 80, - height: 80, - borderRadius: 16, - backgroundColor: '#1a1a1a', - justifyContent: 'center', - alignItems: 'center', - marginBottom: 16, - }, - logoText: { - fontSize: 40, - }, - title: { - fontSize: 28, - fontWeight: 'bold', - color: '#fff', - marginBottom: 8, - }, - subtitle: { - fontSize: 16, - color: '#999', - }, - infoBox: { - backgroundColor: 'rgba(59, 130, 246, 0.1)', - borderWidth: 1, - borderColor: 'rgba(59, 130, 246, 0.3)', - borderRadius: 8, - padding: 16, - marginBottom: 24, - }, - infoText: { - color: '#93bbfc', - fontSize: 14, - textAlign: 'center', - }, - button: { - backgroundColor: '#7c3aed', - paddingVertical: 16, - borderRadius: 8, - alignItems: 'center', - }, - buttonDisabled: { - opacity: 0.5, - }, - buttonText: { - color: '#fff', - fontSize: 16, - fontWeight: '600', - }, -}); \ No newline at end of file diff --git a/catnip-mobile/src/screens/CodespaceAccessScreen.tsx b/catnip-mobile/src/screens/CodespaceAccessScreen.tsx deleted file mode 100644 index 4d49fbb9..00000000 --- a/catnip-mobile/src/screens/CodespaceAccessScreen.tsx +++ /dev/null @@ -1,422 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { - View, - Text, - TouchableOpacity, - StyleSheet, - ActivityIndicator, - ScrollView, - TextInput, -} from 'react-native'; -import { SafeAreaView } from 'react-native-safe-area-context'; -import { useNavigation } from '@react-navigation/native'; -import { NativeStackNavigationProp } from '@react-navigation/native-stack'; -import * as SecureStore from 'expo-secure-store'; -import { RootStackParamList } from '../../App'; -import { useAuth } from '../contexts/AuthContext'; -import { useApi } from '../contexts/ApiContext'; - -type NavigationProp = NativeStackNavigationProp; - -type StatusStep = 'search' | 'starting' | 'setup' | 'catnip' | 'initializing' | 'health' | 'ready'; - -interface CodespaceInfo { - name: string; - lastUsed: number; - repository?: string; -} - -export default function CodespaceAccessScreen() { - const navigation = useNavigation(); - const { isAuthenticated, logout } = useAuth(); - const { accessCodespace } = useApi(); - - const [isConnecting, setIsConnecting] = useState(false); - const [statusMessage, setStatusMessage] = useState(''); - const [statusStep, setStatusStep] = useState(null); - const [error, setError] = useState(''); - const [orgName, setOrgName] = useState(''); - const [codespaces, setCodespaces] = useState([]); - const [showSelection, setShowSelection] = useState(false); - const [showSetup, setShowSetup] = useState(false); - - const resetState = () => { - setIsConnecting(false); - setStatusMessage(''); - setStatusStep(null); - setError(''); - setCodespaces([]); - setShowSelection(false); - setShowSetup(false); - }; - - const connectToCodespace = async (org?: string, codespaceName?: string) => { - setIsConnecting(true); - setError(''); - setStatusMessage('🔄 Finding your codespace...'); - setStatusStep('search'); - - try { - const generator = accessCodespace(codespaceName, org); - - for await (const event of generator) { - if (event.type === 'status') { - setStatusMessage(event.message); - setStatusStep(event.step); - } else if (event.type === 'success') { - setStatusMessage('✅ ' + event.message); - setStatusStep('ready'); - - // Store the codespace token if provided - if (event.token) { - await SecureStore.setItemAsync('codespace_token', event.token); - } - - // Navigate to workspace list - setTimeout(() => { - resetState(); - navigation.replace('WorkspaceList'); - }, 1000); - } else if (event.type === 'error') { - setError(event.message); - setIsConnecting(false); - } else if (event.type === 'setup') { - setShowSetup(true); - setError(event.message); - setIsConnecting(false); - } else if (event.type === 'multiple') { - setCodespaces(event.codespaces); - setShowSelection(true); - setIsConnecting(false); - } - } - } catch (err) { - setError('Connection failed. Please try again.'); - setIsConnecting(false); - } - }; - - const handleLogout = async () => { - await logout(); - navigation.replace('Auth'); - }; - - if (showSetup) { - return ( - - - - ⚠️ Setup Required - - No Catnip codespaces found. To use Catnip, you need to: - - - - 1. Add this to your .devcontainer/devcontainer.json: - - - - {`"features": {\n "ghcr.io/wandb/catnip/feature:1": {}\n}`} - - - 2. Create a new codespace from your repository - 3. Return here to access your codespace - - - Back - - - - - ); - } - - if (showSelection) { - return ( - - - - Select Codespace - - Multiple codespaces found. Please select one: - - {codespaces.map((cs, index) => ( - { - resetState(); - connectToCodespace(orgName, cs.name); - }} - > - - {cs.name.replace(/-/g, ' ')} - - {cs.repository && ( - {cs.repository} - )} - - Last used: {new Date(cs.lastUsed).toLocaleDateString()} - - - ))} - - Back - - - - - ); - } - - return ( - - - - - 🐱 - - Catnip - - {orgName ? `Access GitHub Codespaces in ${orgName}` : 'Access your GitHub Codespaces'} - - - connectToCodespace(orgName || undefined)} - disabled={isConnecting} - > - {isConnecting ? ( - - - Connecting... - - ) : ( - Access My Codespace - )} - - - {statusMessage && ( - - {statusMessage} - - )} - - {error && ( - - {error} - - )} - - - - Or access codespaces in a specific organization: - - - - connectToCodespace(orgName)} - disabled={!orgName || isConnecting} - > - Go - - - - - Logout - - - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#0a0a0a', - }, - scrollContent: { - flexGrow: 1, - justifyContent: 'center', - padding: 24, - }, - card: { - backgroundColor: '#1a1a1a', - borderRadius: 12, - padding: 24, - borderWidth: 1, - borderColor: '#333', - }, - logoContainer: { - alignItems: 'center', - marginBottom: 16, - }, - logoText: { - fontSize: 48, - }, - title: { - fontSize: 24, - fontWeight: 'bold', - color: '#fff', - textAlign: 'center', - marginBottom: 8, - }, - subtitle: { - fontSize: 14, - color: '#999', - textAlign: 'center', - marginBottom: 24, - }, - button: { - backgroundColor: '#7c3aed', - paddingVertical: 14, - borderRadius: 8, - alignItems: 'center', - marginBottom: 16, - }, - buttonDisabled: { - opacity: 0.5, - }, - buttonContent: { - flexDirection: 'row', - alignItems: 'center', - gap: 8, - }, - buttonText: { - color: '#fff', - fontSize: 16, - fontWeight: '600', - }, - statusBox: { - backgroundColor: 'rgba(59, 130, 246, 0.1)', - borderWidth: 1, - borderColor: 'rgba(59, 130, 246, 0.3)', - borderRadius: 8, - padding: 12, - marginBottom: 16, - }, - statusText: { - color: '#93bbfc', - fontSize: 14, - textAlign: 'center', - }, - errorBox: { - backgroundColor: 'rgba(239, 68, 68, 0.1)', - borderWidth: 1, - borderColor: 'rgba(239, 68, 68, 0.3)', - borderRadius: 8, - padding: 12, - marginBottom: 16, - }, - errorText: { - color: '#fca5a5', - fontSize: 14, - textAlign: 'center', - }, - divider: { - height: 1, - backgroundColor: '#333', - marginVertical: 24, - }, - orText: { - color: '#999', - fontSize: 14, - marginBottom: 16, - }, - inputContainer: { - flexDirection: 'row', - gap: 8, - marginBottom: 24, - }, - input: { - flex: 1, - backgroundColor: '#0a0a0a', - borderWidth: 1, - borderColor: '#333', - borderRadius: 8, - paddingHorizontal: 16, - paddingVertical: 12, - color: '#fff', - fontSize: 14, - }, - goButton: { - backgroundColor: '#4b5563', - paddingHorizontal: 24, - borderRadius: 8, - justifyContent: 'center', - }, - goButtonText: { - color: '#fff', - fontSize: 14, - fontWeight: '600', - }, - logoutButton: { - alignItems: 'center', - }, - logoutText: { - color: '#ef4444', - fontSize: 14, - }, - cardTitle: { - fontSize: 20, - fontWeight: 'bold', - color: '#fff', - marginBottom: 8, - }, - cardDescription: { - fontSize: 14, - color: '#999', - marginBottom: 24, - }, - setupSteps: { - marginBottom: 24, - }, - stepText: { - color: '#ccc', - fontSize: 14, - marginBottom: 12, - }, - codeBlock: { - backgroundColor: '#0a0a0a', - borderRadius: 8, - padding: 12, - marginVertical: 8, - }, - codeText: { - color: '#4ade80', - fontFamily: 'monospace', - fontSize: 12, - }, - codespaceItem: { - backgroundColor: '#0a0a0a', - borderRadius: 8, - padding: 16, - marginBottom: 12, - borderWidth: 1, - borderColor: '#333', - }, - codespaceTitle: { - color: '#fff', - fontSize: 16, - fontWeight: '600', - marginBottom: 4, - }, - codespaceRepo: { - color: '#3b82f6', - fontSize: 14, - marginBottom: 4, - }, - codespaceDate: { - color: '#666', - fontSize: 12, - }, -}); \ No newline at end of file diff --git a/catnip-mobile/src/screens/WorkspaceDetailScreen.tsx b/catnip-mobile/src/screens/WorkspaceDetailScreen.tsx deleted file mode 100644 index 82460fb1..00000000 --- a/catnip-mobile/src/screens/WorkspaceDetailScreen.tsx +++ /dev/null @@ -1,494 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { - View, - Text, - TextInput, - TouchableOpacity, - StyleSheet, - ScrollView, - KeyboardAvoidingView, - Platform, - ActivityIndicator, -} from 'react-native'; -import { SafeAreaView } from 'react-native-safe-area-context'; -import { useRoute, RouteProp } from '@react-navigation/native'; -import { RootStackParamList } from '../../App'; -import { useApi } from '../contexts/ApiContext'; - -type RouteType = RouteProp; - -type Phase = 'input' | 'todos' | 'completed' | 'existing' | 'error'; - -interface Todo { - content: string; - status: 'pending' | 'in_progress' | 'completed'; -} - -function TodoDisplay({ todos }: { todos: Todo[] }) { - return ( - - {todos.map((todo, index) => ( - - - {todo.content} - - ))} - - ); -} - -export default function WorkspaceDetailScreen() { - const route = useRoute(); - const { workspaceId, worktreeName, repository, branch } = route.params; - const { getWorkspaceStatus, sendPrompt } = useApi(); - - const [phase, setPhase] = useState('input'); - const [prompt, setPrompt] = useState(''); - const [todos, setTodos] = useState([]); - const [latestMessage, setLatestMessage] = useState(''); - const [isLoading, setIsLoading] = useState(false); - const [error, setError] = useState(''); - const [showNewPrompt, setShowNewPrompt] = useState(false); - - useEffect(() => { - loadWorkspaceStatus(); - }, []); - - useEffect(() => { - let interval: NodeJS.Timeout | null = null; - - if (phase === 'todos') { - // Poll for status updates while Claude is working - interval = setInterval(async () => { - try { - const status = await getWorkspaceStatus(workspaceId); - if (status.todos) { - setTodos(status.todos); - } - if (status.latest_claude_message) { - setLatestMessage(status.latest_claude_message); - } - - // Check if all todos are completed - if (status.todos?.every(todo => todo.status === 'completed')) { - setPhase('completed'); - } - - // Check if Claude is no longer active - if (status.claude_activity_state === 'inactive') { - setPhase('completed'); - } - } catch (err) { - console.error('Failed to get workspace status:', err); - } - }, 2000); // Poll every 2 seconds - } - - return () => { - if (interval) { - clearInterval(interval); - } - }; - }, [phase, workspaceId]); - - const loadWorkspaceStatus = async () => { - try { - setIsLoading(true); - const status = await getWorkspaceStatus(workspaceId); - - if (status.todos && status.todos.length > 0) { - setTodos(status.todos); - setPhase(status.claude_activity_state === 'active' ? 'todos' : 'existing'); - } - - if (status.latest_claude_message) { - setLatestMessage(status.latest_claude_message); - } - } catch (err) { - console.error('Failed to load workspace status:', err); - setError('Failed to load workspace status'); - } finally { - setIsLoading(false); - } - }; - - const handleSendPrompt = async () => { - if (!prompt.trim()) return; - - try { - setIsLoading(true); - setError(''); - await sendPrompt(workspaceId, prompt); - setPrompt(''); - setShowNewPrompt(false); - setPhase('todos'); - } catch (err) { - console.error('Failed to send prompt:', err); - setError('Failed to send prompt. Please try again.'); - } finally { - setIsLoading(false); - } - }; - - const getWorkspaceTitle = () => { - const parts = worktreeName.split('/'); - return parts[1] || worktreeName; - }; - - const cleanBranch = branch.startsWith('/') ? branch.slice(1) : branch; - - if (isLoading && phase === 'input') { - return ( - - - - - - ); - } - - return ( - - - - {getWorkspaceTitle()} - - {repository} · {cleanBranch} - - - - - {phase === 'input' && ( - - Start Working - Describe what you'd like to work on - - - )} - - {phase === 'todos' && ( - - - - Claude is working on your request... - - - {latestMessage && ( - - Session Context: - {latestMessage} - - )} - - {todos.length > 0 && ( - - Progress: - - - )} - - )} - - {(phase === 'completed' || phase === 'existing') && ( - - {latestMessage && ( - - {latestMessage} - - )} - - {todos.length > 0 && ( - - Tasks: - - - )} - - )} - - {error && ( - - {error} - - )} - - - {phase === 'input' && ( - - - {isLoading ? ( - - ) : ( - Start Working - )} - - - )} - - {(phase === 'completed' || phase === 'existing') && ( - - {showNewPrompt ? ( - <> - - - - Send - - { - setShowNewPrompt(false); - setPrompt(''); - }} - > - Cancel - - - - ) : ( - setShowNewPrompt(true)} - > - Ask for changes - - )} - - )} - - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#0a0a0a', - }, - header: { - paddingHorizontal: 20, - paddingVertical: 16, - borderBottomWidth: 1, - borderBottomColor: '#1a1a1a', - }, - headerTitle: { - fontSize: 20, - fontWeight: '600', - color: '#fff', - marginBottom: 4, - }, - headerSubtitle: { - fontSize: 14, - color: '#666', - }, - content: { - flex: 1, - }, - contentContainer: { - padding: 20, - }, - inputPhase: { - alignItems: 'center', - marginTop: 40, - }, - phaseTitle: { - fontSize: 24, - fontWeight: '600', - color: '#fff', - marginBottom: 8, - }, - phaseSubtitle: { - fontSize: 14, - color: '#666', - marginBottom: 24, - }, - textArea: { - width: '100%', - backgroundColor: '#1a1a1a', - borderWidth: 1, - borderColor: '#333', - borderRadius: 8, - padding: 16, - color: '#fff', - fontSize: 14, - minHeight: 120, - }, - promptInput: { - backgroundColor: '#1a1a1a', - borderWidth: 1, - borderColor: '#333', - borderRadius: 8, - padding: 12, - color: '#fff', - fontSize: 14, - marginBottom: 12, - minHeight: 80, - }, - footer: { - padding: 20, - borderTopWidth: 1, - borderTopColor: '#1a1a1a', - }, - primaryButton: { - backgroundColor: '#7c3aed', - paddingVertical: 14, - borderRadius: 8, - alignItems: 'center', - }, - secondaryButton: { - backgroundColor: '#333', - paddingVertical: 14, - borderRadius: 8, - alignItems: 'center', - }, - buttonDisabled: { - opacity: 0.5, - }, - buttonText: { - color: '#fff', - fontSize: 16, - fontWeight: '600', - }, - secondaryButtonText: { - color: '#ccc', - fontSize: 16, - fontWeight: '600', - }, - buttonRow: { - flexDirection: 'row', - gap: 12, - }, - flexButton: { - flex: 1, - }, - todosPhase: { - marginTop: 20, - }, - statusContainer: { - flexDirection: 'row', - alignItems: 'center', - gap: 12, - marginBottom: 24, - }, - statusText: { - color: '#999', - fontSize: 14, - }, - sessionContext: { - backgroundColor: 'rgba(124, 58, 237, 0.1)', - borderWidth: 1, - borderColor: 'rgba(124, 58, 237, 0.2)', - borderRadius: 8, - padding: 16, - marginBottom: 24, - }, - contextLabel: { - fontSize: 12, - color: 'rgba(124, 58, 237, 0.8)', - marginBottom: 8, - fontWeight: '600', - }, - contextText: { - color: '#ccc', - fontSize: 14, - lineHeight: 20, - }, - progressLabel: { - fontSize: 14, - color: '#999', - marginBottom: 12, - fontWeight: '600', - }, - todosContainer: { - gap: 8, - }, - todoItem: { - flexDirection: 'row', - alignItems: 'center', - gap: 12, - paddingVertical: 8, - }, - todoStatus: { - width: 8, - height: 8, - borderRadius: 4, - backgroundColor: '#333', - }, - todoCompleted: { - backgroundColor: '#22c55e', - }, - todoInProgress: { - backgroundColor: '#eab308', - }, - todoText: { - color: '#ccc', - fontSize: 14, - flex: 1, - }, - completedPhase: { - marginTop: 20, - }, - messageContainer: { - backgroundColor: '#1a1a1a', - borderRadius: 8, - padding: 16, - marginBottom: 24, - }, - messageText: { - color: '#ccc', - fontSize: 14, - lineHeight: 20, - }, - errorBox: { - backgroundColor: 'rgba(239, 68, 68, 0.1)', - borderWidth: 1, - borderColor: 'rgba(239, 68, 68, 0.3)', - borderRadius: 8, - padding: 12, - marginTop: 16, - }, - errorText: { - color: '#fca5a5', - fontSize: 14, - }, - loadingContainer: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - }, -}); \ No newline at end of file diff --git a/catnip-mobile/src/screens/WorkspaceListScreen.tsx b/catnip-mobile/src/screens/WorkspaceListScreen.tsx deleted file mode 100644 index 06cd6af5..00000000 --- a/catnip-mobile/src/screens/WorkspaceListScreen.tsx +++ /dev/null @@ -1,334 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { - View, - Text, - TouchableOpacity, - StyleSheet, - FlatList, - RefreshControl, - ActivityIndicator, -} from 'react-native'; -import { SafeAreaView } from 'react-native-safe-area-context'; -import { useNavigation } from '@react-navigation/native'; -import { NativeStackNavigationProp } from '@react-navigation/native-stack'; -import { RootStackParamList } from '../../App'; -import { useApi } from '../contexts/ApiContext'; - -type NavigationProp = NativeStackNavigationProp; - -interface WorkspaceInfo { - id: string; - name: string; - branch: string; - repository: string; - claude_activity_state?: string; - commit_count?: number; - is_dirty?: boolean; - last_accessed?: string; - created_at?: string; - todos?: Array<{ - content: string; - status: 'pending' | 'in_progress' | 'completed'; - }>; -} - -function WorkspaceCard({ workspace, onPress }: { workspace: WorkspaceInfo; onPress: () => void }) { - const getStatusColor = () => { - switch (workspace.claude_activity_state) { - case 'active': - return '#22c55e'; - case 'running': - return '#eab308'; - case 'inactive': - return '#666'; - default: - return '#666'; - } - }; - - const getWorkspaceTitle = () => { - const parts = workspace.name.split('/'); - return parts[1] || workspace.name; - }; - - const cleanBranch = workspace.branch.startsWith('/') - ? workspace.branch.slice(1) - : workspace.branch; - - return ( - - - - - {getWorkspaceTitle()} - - {workspace.commit_count && workspace.commit_count > 0 && ( - +{workspace.commit_count} - )} - - - {workspace.repository}/{getWorkspaceTitle()} · {cleanBranch} - - {workspace.is_dirty && ( - - Modified - - )} - {workspace.todos && workspace.todos.length > 0 && ( - - Tasks: - - {workspace.todos.map((todo, index) => ( - - ))} - - - )} - - - {workspace.claude_activity_state === 'active' ? 'Continue' : 'Open'} - - - - ); -} - -export default function WorkspaceListScreen() { - const navigation = useNavigation(); - const { fetchWorkspaces } = useApi(); - - const [workspaces, setWorkspaces] = useState([]); - const [isLoading, setIsLoading] = useState(true); - const [isRefreshing, setIsRefreshing] = useState(false); - - useEffect(() => { - loadWorkspaces(); - }, []); - - const loadWorkspaces = async () => { - try { - const data = await fetchWorkspaces(); - setWorkspaces(data.sort((a, b) => { - const aTime = new Date(a.last_accessed || a.created_at || 0).getTime(); - const bTime = new Date(b.last_accessed || b.created_at || 0).getTime(); - return bTime - aTime; - })); - } catch (error) { - console.error('Failed to load workspaces:', error); - } finally { - setIsLoading(false); - setIsRefreshing(false); - } - }; - - const handleRefresh = async () => { - setIsRefreshing(true); - await loadWorkspaces(); - }; - - const handleWorkspacePress = (workspace: WorkspaceInfo) => { - navigation.navigate('WorkspaceDetail', { - workspaceId: workspace.id, - worktreeName: workspace.name, - repository: workspace.repository, - branch: workspace.branch, - }); - }; - - if (isLoading) { - return ( - - - - Loading workspaces... - - - ); - } - - if (workspaces.length === 0) { - return ( - - - No workspaces - Create a workspace to get started - - - ); - } - - return ( - - - Workspaces - {workspaces.length} workspaces - - item.id} - renderItem={({ item }) => ( - handleWorkspacePress(item)} - /> - )} - contentContainerStyle={styles.listContent} - refreshControl={ - - } - /> - - ); -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: '#0a0a0a', - }, - header: { - paddingHorizontal: 20, - paddingVertical: 16, - borderBottomWidth: 1, - borderBottomColor: '#1a1a1a', - }, - headerTitle: { - fontSize: 24, - fontWeight: 'bold', - color: '#fff', - marginBottom: 4, - }, - headerSubtitle: { - fontSize: 14, - color: '#666', - }, - listContent: { - padding: 16, - }, - card: { - backgroundColor: '#1a1a1a', - borderRadius: 12, - padding: 16, - marginBottom: 12, - borderWidth: 1, - borderColor: '#333', - }, - cardHeader: { - flexDirection: 'row', - justifyContent: 'space-between', - alignItems: 'center', - marginBottom: 8, - }, - cardTitleRow: { - flexDirection: 'row', - alignItems: 'center', - flex: 1, - }, - statusIndicator: { - width: 8, - height: 8, - borderRadius: 4, - marginRight: 8, - }, - cardTitle: { - fontSize: 18, - fontWeight: '600', - color: '#fff', - }, - commitCount: { - fontSize: 12, - color: '#666', - fontFamily: 'monospace', - }, - cardSubtitle: { - fontSize: 14, - color: '#666', - marginBottom: 12, - }, - modifiedBadge: { - backgroundColor: '#333', - borderRadius: 4, - paddingHorizontal: 8, - paddingVertical: 4, - alignSelf: 'flex-start', - marginBottom: 12, - }, - modifiedText: { - fontSize: 11, - color: '#999', - textTransform: 'uppercase', - }, - todosContainer: { - flexDirection: 'row', - alignItems: 'center', - marginBottom: 12, - }, - todosLabel: { - fontSize: 12, - color: '#666', - marginRight: 8, - }, - todosProgress: { - flexDirection: 'row', - gap: 4, - }, - todoIndicator: { - width: 20, - height: 4, - borderRadius: 2, - backgroundColor: '#333', - }, - todoCompleted: { - backgroundColor: '#22c55e', - }, - todoInProgress: { - backgroundColor: '#eab308', - }, - continueButton: { - backgroundColor: '#7c3aed', - paddingVertical: 12, - borderRadius: 8, - alignItems: 'center', - }, - continueText: { - color: '#fff', - fontSize: 16, - fontWeight: '600', - }, - loadingContainer: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - }, - loadingText: { - color: '#666', - marginTop: 16, - fontSize: 16, - }, - emptyContainer: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - }, - emptyTitle: { - fontSize: 20, - fontWeight: '600', - color: '#fff', - marginBottom: 8, - }, - emptySubtitle: { - fontSize: 16, - color: '#666', - }, -}); \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68f08b84..58bd68fa 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -273,76 +273,85 @@ importers: catnip-mobile: dependencies: + '@expo/metro-runtime': + specifier: ~6.1.2 + version: 6.1.2(expo@54.0.8)(react-dom@19.1.0(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) expo: - specifier: ~52.0.0 - version: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + specifier: ~54.0.8 + version: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) expo-auth-session: - specifier: ~6.0.0 - version: 6.0.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + specifier: ~7.0.8 + version: 7.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) expo-constants: - specifier: ~17.0.0 - version: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + specifier: ~18.0.9 + version: 18.0.9(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) expo-crypto: - specifier: ~14.0.0 - version: 14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + specifier: ~15.0.7 + version: 15.0.7(expo@54.0.8) expo-dev-client: - specifier: ~5.0.0 - version: 5.0.20(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + specifier: ~6.0.12 + version: 6.0.12(expo@54.0.8) expo-font: - specifier: ~13.0.0 - version: 13.0.4(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react@18.3.1) + specifier: ~14.0.8 + version: 14.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) expo-linear-gradient: - specifier: ~14.0.0 - version: 14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + specifier: ~15.0.7 + version: 15.0.7(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) expo-linking: - specifier: ~7.0.0 - version: 7.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + specifier: ~8.0.8 + version: 8.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) expo-router: - specifier: ~4.0.0 - version: 4.0.21(f8460a4f3ebbb07d651874df98bf0dac) + specifier: ~6.0.7 + version: 6.0.7(@expo/metro-runtime@6.1.2)(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(expo-constants@18.0.9)(expo-linking@8.0.8)(expo@54.0.8)(react-dom@19.1.0(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) expo-secure-store: - specifier: ~14.0.0 - version: 14.0.1(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + specifier: ~15.0.7 + version: 15.0.7(expo@54.0.8) expo-splash-screen: - specifier: ~0.29.0 - version: 0.29.24(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + specifier: ~31.0.10 + version: 31.0.10(expo@54.0.8) expo-status-bar: - specifier: ~2.0.0 - version: 2.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + specifier: ~3.0.8 + version: 3.0.8(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) expo-system-ui: - specifier: ~4.0.0 - version: 4.0.9(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-web@0.19.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + specifier: ~6.0.7 + version: 6.0.7(expo@54.0.8)(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) expo-web-browser: - specifier: ~14.0.0 - version: 14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + specifier: ~15.0.7 + version: 15.0.7(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) react: - specifier: 18.3.1 - version: 18.3.1 + specifier: 19.1.0 + version: 19.1.0 react-dom: - specifier: 18.3.1 - version: 18.3.1(react@18.3.1) + specifier: 19.1.0 + version: 19.1.0(react@19.1.0) react-native: - specifier: 0.76.0 - version: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + specifier: 0.81.4 + version: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) react-native-safe-area-context: - specifier: 4.12.0 - version: 4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + specifier: 5.6.1 + version: 5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) react-native-screens: - specifier: ~4.1.0 - version: 4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + specifier: ~4.16.0 + version: 4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react-native-sse: + specifier: ^1.2.1 + version: 1.2.1 react-native-web: - specifier: ~0.19.13 - version: 0.19.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ~0.21.1 + version: 0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) devDependencies: '@babel/core': specifier: ^7.26.0 version: 7.28.0 '@types/react': - specifier: ~18.3.12 - version: 18.3.24 + specifier: ~19.1.13 + version: 19.1.13 + babel-plugin-module-resolver: + specifier: ^5.0.2 + version: 5.0.2 typescript: - specifier: ^5.7.0 - version: 5.8.3 + specifier: ^5.9.2 + version: 5.9.2 packages: @@ -491,43 +500,6 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1': - resolution: {integrity: sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1': - resolution: {integrity: sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1': - resolution: {integrity: sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1': - resolution: {integrity: sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3': - resolution: {integrity: sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-proposal-class-properties@7.18.6': - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-decorators@7.28.0': resolution: {integrity: sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==} engines: {node: '>=6.9.0'} @@ -540,26 +512,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-optional-chaining@7.21.0': - resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-async-generators@7.8.4': resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -604,12 +556,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-assertions@7.27.1': - resolution: {integrity: sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.27.1': resolution: {integrity: sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==} engines: {node: '>=6.9.0'} @@ -680,12 +626,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6': - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/plugin-transform-arrow-functions@7.27.1': resolution: {integrity: sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==} engines: {node: '>=6.9.0'} @@ -704,12 +644,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoped-functions@7.27.1': - resolution: {integrity: sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-block-scoping@7.28.4': resolution: {integrity: sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==} engines: {node: '>=6.9.0'} @@ -746,42 +680,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-dotall-regex@7.27.1': - resolution: {integrity: sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-keys@7.27.1': - resolution: {integrity: sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1': - resolution: {integrity: sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-dynamic-import@7.27.1': - resolution: {integrity: sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-explicit-resource-management@7.28.0': - resolution: {integrity: sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-exponentiation-operator@7.27.1': - resolution: {integrity: sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-export-namespace-from@7.27.1': resolution: {integrity: sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==} engines: {node: '>=6.9.0'} @@ -806,12 +704,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-json-strings@7.27.1': - resolution: {integrity: sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-literals@7.27.1': resolution: {integrity: sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==} engines: {node: '>=6.9.0'} @@ -824,48 +716,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-member-expression-literals@7.27.1': - resolution: {integrity: sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-amd@7.27.1': - resolution: {integrity: sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.27.1': resolution: {integrity: sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-systemjs@7.27.1': - resolution: {integrity: sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-umd@7.27.1': - resolution: {integrity: sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1': resolution: {integrity: sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/plugin-transform-new-target@7.27.1': - resolution: {integrity: sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1': resolution: {integrity: sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==} engines: {node: '>=6.9.0'} @@ -884,12 +746,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-object-super@7.27.1': - resolution: {integrity: sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-optional-catch-binding@7.27.1': resolution: {integrity: sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==} engines: {node: '>=6.9.0'} @@ -920,12 +776,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-property-literals@7.27.1': - resolution: {integrity: sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-display-name@7.28.0': resolution: {integrity: sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==} engines: {node: '>=6.9.0'} @@ -968,18 +818,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-regexp-modifiers@7.27.1': - resolution: {integrity: sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-reserved-words@7.27.1': - resolution: {integrity: sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-runtime@7.28.3': resolution: {integrity: sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==} engines: {node: '>=6.9.0'} @@ -1004,65 +842,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-template-literals@7.27.1': - resolution: {integrity: sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.27.1': - resolution: {integrity: sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.28.0': resolution: {integrity: sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-escapes@7.27.1': - resolution: {integrity: sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-property-regex@7.27.1': - resolution: {integrity: sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-regex@7.27.1': resolution: {integrity: sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-unicode-sets-regex@7.27.1': - resolution: {integrity: sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/preset-env@7.28.3': - resolution: {integrity: sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-flow@7.27.1': - resolution: {integrity: sha512-ez3a2it5Fn6P54W8QkbfIyyIbxlXvcxyWHHvno1Wg0Ej5eiJY5hBb8ExttoIOJJk7V2dZE6prP7iby5q2aQ0Lg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.6-no-external-plugins': - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/preset-react@7.27.1': resolution: {integrity: sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==} engines: {node: '>=6.9.0'} @@ -1075,12 +866,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/register@7.28.3': - resolution: {integrity: sha512-CieDOtd8u208eI49bYl4z1J22ySFw87IGwE+IswFEExH7e3rLgKb0WNQeumnacQ1+VoDJLYI5QFA3AJZuyZQfA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/runtime@7.28.2': resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==} engines: {node: '>=6.9.0'} @@ -1572,55 +1357,87 @@ packages: resolution: {integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@expo/bunyan@4.0.1': - resolution: {integrity: sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==} - engines: {node: '>=0.10.0'} - - '@expo/cli@0.22.26': - resolution: {integrity: sha512-I689wc8Fn/AX7aUGiwrh3HnssiORMJtR2fpksX+JIe8Cj/EDleblYMSwRPd0025wrwOV9UN1KM/RuEt/QjCS3Q==} + '@expo/cli@54.0.6': + resolution: {integrity: sha512-BgxJshNqSODb4Rq4q4lHLBVWVL4683Q+PSJ2fd+m3D5Jqd8nu9zGvcq6I/H8AXV/Ux31eIuUgAojPCjW8LRyZA==} hasBin: true + peerDependencies: + expo: '*' + expo-router: '*' + react-native: '*' + peerDependenciesMeta: + expo-router: + optional: true + react-native: + optional: true '@expo/code-signing-certificates@0.0.5': resolution: {integrity: sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==} - '@expo/config-plugins@9.0.17': - resolution: {integrity: sha512-m24F1COquwOm7PBl5wRbkT9P9DviCXe0D7S7nQsolfbhdCWuvMkfXeoWmgjtdhy7sDlOyIgBrAdnB6MfsWKqIg==} + '@expo/config-plugins@54.0.1': + resolution: {integrity: sha512-NyBChhiWFL6VqSgU+LzK4R1vC397tEG2XFewVt4oMr4Pnalq/mJxBANQrR+dyV1RHhSyhy06RNiJIkQyngVWeg==} - '@expo/config-types@52.0.5': - resolution: {integrity: sha512-AMDeuDLHXXqd8W+0zSjIt7f37vUd/BP8p43k68NHpyAvQO+z8mbQZm3cNQVAMySeayK2XoPigAFB1JF2NFajaA==} + '@expo/config-types@54.0.8': + resolution: {integrity: sha512-lyIn/x/Yz0SgHL7IGWtgTLg6TJWC9vL7489++0hzCHZ4iGjVcfZmPTUfiragZ3HycFFj899qN0jlhl49IHa94A==} - '@expo/config@10.0.11': - resolution: {integrity: sha512-nociJ4zr/NmbVfMNe9j/+zRlt7wz/siISu7PjdWE4WE+elEGxWWxsGzltdJG0llzrM+khx8qUiFK5aiVcdMBww==} + '@expo/config@12.0.9': + resolution: {integrity: sha512-HiDVVaXYKY57+L1MxSF3TaYjX6zZlGBnuWnOKZG+7mtsLD+aNTtW4bZM0pZqZfoRumyOU0SfTCwT10BWtUUiJQ==} '@expo/devcert@1.2.0': resolution: {integrity: sha512-Uilcv3xGELD5t/b0eM4cxBFEKQRIivB3v7i+VhWLV/gL98aw810unLKKJbGAxAIhY6Ipyz8ChWibFsKFXYwstA==} - '@expo/env@0.4.2': - resolution: {integrity: sha512-TgbCgvSk0Kq0e2fLoqHwEBL4M0ztFjnBEz0YCDm5boc1nvkV1VMuIMteVdeBwnTh8Z0oPJTwHCD49vhMEt1I6A==} + '@expo/devtools@0.1.7': + resolution: {integrity: sha512-dfIa9qMyXN+0RfU6SN4rKeXZyzKWsnz6xBSDccjL4IRiE+fQ0t84zg0yxgN4t/WK2JU5v6v4fby7W7Crv9gJvA==} + peerDependencies: + react: '*' + react-native: '*' + peerDependenciesMeta: + react: + optional: true + react-native: + optional: true + + '@expo/env@2.0.7': + resolution: {integrity: sha512-BNETbLEohk3HQ2LxwwezpG8pq+h7Fs7/vAMP3eAtFT1BCpprLYoBBFZH7gW4aqGfqOcVP4Lc91j014verrYNGg==} - '@expo/fingerprint@0.11.11': - resolution: {integrity: sha512-gNyn1KnAOpEa8gSNsYqXMTcq0fSwqU/vit6fP5863vLSKxHm/dNt/gm/uZJxrRZxKq71KUJWF6I7d3z8qIfq5g==} + '@expo/fingerprint@0.15.1': + resolution: {integrity: sha512-U1S9DwiapCHQjHdHDDyO/oXsl/1oEHSHZRRkWDDrHgXRUDiAVIySw9Unvvcr118Ee6/x4NmKSZY1X0VagrqmFg==} hasBin: true - '@expo/image-utils@0.6.5': - resolution: {integrity: sha512-RsS/1CwJYzccvlprYktD42KjyfWZECH6PPIEowvoSmXfGLfdViwcUEI4RvBfKX5Jli6P67H+6YmHvPTbGOboew==} + '@expo/image-utils@0.8.7': + resolution: {integrity: sha512-SXOww4Wq3RVXLyOaXiCCuQFguCDh8mmaHBv54h/R29wGl4jRY8GEyQEx8SypV/iHt1FbzsU/X3Qbcd9afm2W2w==} '@expo/json-file@10.0.7': resolution: {integrity: sha512-z2OTC0XNO6riZu98EjdNHC05l51ySeTto6GP7oSQrCvQgG9ARBwD1YvMQaVZ9wU7p/4LzSf1O7tckL3B45fPpw==} - '@expo/json-file@9.0.2': - resolution: {integrity: sha512-yAznIUrybOIWp3Uax7yRflB0xsEpvIwIEqIjao9SGi2Gaa+N0OamWfe0fnXBSWF+2zzF4VvqwT4W5zwelchfgw==} - - '@expo/json-file@9.1.5': - resolution: {integrity: sha512-prWBhLUlmcQtvN6Y7BpW2k9zXGd3ySa3R6rAguMJkp1z22nunLN64KYTUWfijFlprFoxm9r2VNnGkcbndAlgKA==} + '@expo/mcp-tunnel@0.0.7': + resolution: {integrity: sha512-ht8Q1nKtiHobZqkUqt/7awwjW2D59ardP6XDVmGceGjQtoZELVaJDHyMIX+aVG9SZ9aj8+uGlhQYeBi57SZPMA==} + peerDependencies: + '@modelcontextprotocol/sdk': ^1.13.2 + peerDependenciesMeta: + '@modelcontextprotocol/sdk': + optional: true - '@expo/metro-config@0.19.12': - resolution: {integrity: sha512-fhT3x1ikQWHpZgw7VrEghBdscFPz1laRYa8WcVRB18nTTqorF6S8qPYslkJu1faEziHZS7c2uyDzTYnrg/CKbg==} + '@expo/metro-config@54.0.3': + resolution: {integrity: sha512-TQ5MKSGFB6zJxi+Yr8VYXQFHzRXgvSJzNsHX1otTqnxjXbptwYiXhljAqGSjr3pByq4+sHX/GifMk6fGgAANmA==} + peerDependencies: + expo: '*' + peerDependenciesMeta: + expo: + optional: true - '@expo/metro-runtime@4.0.1': - resolution: {integrity: sha512-CRpbLvdJ1T42S+lrYa1iZp1KfDeBp4oeZOK3hdpiS5n0vR0nhD6sC1gGF0sTboCTp64tLteikz5Y3j53dvgOIw==} + '@expo/metro-runtime@6.1.2': + resolution: {integrity: sha512-nvM+Qv45QH7pmYvP8JB1G8JpScrWND3KrMA6ZKe62cwwNiX/BjHU28Ear0v/4bQWXlOY0mv6B8CDIm8JxXde9g==} peerDependencies: + expo: '*' + react: '*' + react-dom: '*' react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + + '@expo/metro@0.1.1': + resolution: {integrity: sha512-zvA9BE6myFoCxeiw/q3uE/kVkIwLTy27a+fDoEl7WQ7EvKfFeiXnRVhUplDMLGZIHH8VC38Gay6RBtVhnmOm5w==} '@expo/osascript@2.3.7': resolution: {integrity: sha512-IClSOXxR0YUFxIriUJVqyYki7lLMIHrrzOaP01yxAL1G8pj2DWV5eW1y5jSzIcIfSCNhtGsshGd1tU/AYup5iQ==} @@ -1629,21 +1446,23 @@ packages: '@expo/package-manager@1.9.8': resolution: {integrity: sha512-4/I6OWquKXYnzo38pkISHCOCOXxfeEmu4uDoERq1Ei/9Ur/s9y3kLbAamEkitUkDC7gHk1INxRWEfFNzGbmOrA==} - '@expo/plist@0.2.2': - resolution: {integrity: sha512-ZZGvTO6vEWq02UAPs3LIdja+HRO18+LRI5QuDl6Hs3Ps7KX7xU6Y6kjahWKY37Rx2YjNpX07dGpBFzzC+vKa2g==} + '@expo/plist@0.4.7': + resolution: {integrity: sha512-dGxqHPvCZKeRKDU1sJZMmuyVtcASuSYh1LPFVaM1DuffqPL36n6FMEL0iUqq2Tx3xhWk8wCnWl34IKplUjJDdA==} - '@expo/prebuild-config@8.2.0': - resolution: {integrity: sha512-CxiPpd980s0jyxi7eyN3i/7YKu3XL+8qPjBZUCYtc0+axpGweqIkq2CslyLSKHyqVyH/zlPkbVgWdyiYavFS5Q==} + '@expo/prebuild-config@54.0.3': + resolution: {integrity: sha512-okf6Umaz1VniKmm+pA37QHBzB9XlRHvO1Qh3VbUezy07LTkz87kXUW7uLMmrA319WLavWSVORTXeR0jBRihObA==} + peerDependencies: + expo: '*' - '@expo/rudder-sdk-node@1.1.1': - resolution: {integrity: sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==} - engines: {node: '>=12'} + '@expo/schema-utils@0.1.7': + resolution: {integrity: sha512-jWHoSuwRb5ZczjahrychMJ3GWZu54jK9ulNdh1d4OzAEq672K9E5yOlnlBsfIHWHGzUAT+0CL7Yt1INiXTz68g==} '@expo/sdk-runtime-versions@1.0.0': resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==} - '@expo/server@0.5.3': - resolution: {integrity: sha512-WXsWzeBs5v/h0PUfHyNLLz07rwwO5myQ1A5DGYewyyGLmsyl61yVCe8AgAlp1wkiMsqhj2hZqI2u3K10QnCMrQ==} + '@expo/server@0.7.4': + resolution: {integrity: sha512-8bfRzL7h1Qgrmf3auR71sPAcAuxnmNkRJs+8enL8vZi2+hihevLhrayDu7P0A/XGEq7wySAGvBBFfIB00Et/AA==} + engines: {node: '>=20.16.0'} '@expo/spawn-async@1.7.2': resolution: {integrity: sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==} @@ -1652,8 +1471,12 @@ packages: '@expo/sudo-prompt@9.3.2': resolution: {integrity: sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==} - '@expo/vector-icons@14.0.4': - resolution: {integrity: sha512-+yKshcbpDfbV4zoXOgHxCwh7lkE9VVTT5T03OUlBsqfze1PLy6Hi4jp1vSb1GVbY6eskvMIivGVc9SKzIv0oEQ==} + '@expo/vector-icons@15.0.2': + resolution: {integrity: sha512-IiBjg7ZikueuHNf40wSGCf0zS73a3guJLdZzKnDUxsauB8VWPLMeWnRIupc+7cFhLUkqyvyo0jLNlcxG5xPOuQ==} + peerDependencies: + expo-font: '>=14.0.4' + react: '*' + react-native: '*' '@expo/ws-tunnel@1.0.6': resolution: {integrity: sha512-nDRbLmSrJar7abvUjp3smDwH8HcbZcoOEa5jVPUv9/9CajgmWw20JNRwTuBRzWIWIkEJDkz20GoNA+tSwUqk0Q==} @@ -2007,10 +1830,6 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@npmcli/fs@3.1.1': - resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@octokit/app@16.0.1': resolution: {integrity: sha512-kgTeTsWmpUX+s3Fs4EK4w1K+jWCDB6ClxLSWUWTyhlw7+L3jHtuXDR4QtABu2GsmCMdk67xRhruiXotS3ay3Yw==} engines: {node: '>= 20'} @@ -2210,11 +2029,6 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-compose-refs@1.0.0': - resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==} - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - '@radix-ui/react-compose-refs@1.1.2': resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} peerDependencies: @@ -2468,10 +2282,14 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-slot@1.0.1': - resolution: {integrity: sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==} + '@radix-ui/react-slot@1.2.0': + resolution: {integrity: sha512-ujc+V6r0HNDviYqIK3rW4ffgYiZ8g5DEHrGJVk4x7kTlLXRDILnKX9vAUYeIsLOoDpDJ0ujpqMkjH4w2ofuo6w==} peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true '@radix-ui/react-slot@1.2.3': resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==} @@ -2618,98 +2436,65 @@ packages: '@radix-ui/rect@1.1.1': resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} - '@react-native/assets-registry@0.76.0': - resolution: {integrity: sha512-U8KLV+PC/cRIiDpb1VbeGuEfKq2riZZtNVLp1UOyKWfPbWWu8j6Fr95w7j+nglp41z70iBeF2OmCiVnRvtNklA==} - engines: {node: '>=18'} - - '@react-native/babel-plugin-codegen@0.76.0': - resolution: {integrity: sha512-HOi45pqlZnCTeR4jJ/zK0FB12r08CI9O70uBjVUqmzvHIrWmL5FaEFp6BPVFOjjXtUsl3JZ2Mle7WpsAP2PQBA==} - engines: {node: '>=18'} + '@react-native/assets-registry@0.81.4': + resolution: {integrity: sha512-AMcDadefBIjD10BRqkWw+W/VdvXEomR6aEZ0fhQRAv7igrBzb4PTn4vHKYg+sUK0e3wa74kcMy2DLc/HtnGcMA==} + engines: {node: '>= 20.19.4'} - '@react-native/babel-plugin-codegen@0.76.9': - resolution: {integrity: sha512-vxL/vtDEIYHfWKm5oTaEmwcnNGsua/i9OjIxBDBFiJDu5i5RU3bpmDiXQm/bJxrJNPRp5lW0I0kpGihVhnMAIQ==} - engines: {node: '>=18'} + '@react-native/babel-plugin-codegen@0.81.4': + resolution: {integrity: sha512-6ztXf2Tl2iWznyI/Da/N2Eqymt0Mnn69GCLnEFxFbNdk0HxHPZBNWU9shTXhsLWOL7HATSqwg/bB1+3kY1q+mA==} + engines: {node: '>= 20.19.4'} - '@react-native/babel-preset@0.76.0': - resolution: {integrity: sha512-HgQt4MyuWLcnrIglXn7GNPPVwtzZ4ffX+SUisdhmPtJCHuP8AOU3HsgOKLhqVfEGWTBlE4kbWoTmmLU87IJaOw==} - engines: {node: '>=18'} + '@react-native/babel-preset@0.81.4': + resolution: {integrity: sha512-VYj0c/cTjQJn/RJ5G6P0L9wuYSbU9yGbPYDHCKstlQZQWkk+L9V8ZDbxdJBTIei9Xl3KPQ1odQ4QaeW+4v+AZg==} + engines: {node: '>= 20.19.4'} peerDependencies: '@babel/core': '*' - '@react-native/babel-preset@0.76.9': - resolution: {integrity: sha512-TbSeCplCM6WhL3hR2MjC/E1a9cRnMLz7i767T7mP90oWkklEjyPxWl+0GGoVGnJ8FC/jLUupg/HvREKjjif6lw==} - engines: {node: '>=18'} + '@react-native/codegen@0.81.4': + resolution: {integrity: sha512-LWTGUTzFu+qOQnvkzBP52B90Ym3stZT8IFCzzUrppz8Iwglg83FCtDZAR4yLHI29VY/x/+pkcWAMCl3739XHdw==} + engines: {node: '>= 20.19.4'} peerDependencies: '@babel/core': '*' - '@react-native/codegen@0.76.0': - resolution: {integrity: sha512-x0zzK1rb7ZSIAeHRcRSjRo+VtLROjln1IKnQSPLEZEdyQfWNXqgiMk59E5hW7KE6I05upqfbf85PRAb5WndXdw==} - engines: {node: '>=18'} - peerDependencies: - '@babel/preset-env': ^7.1.6 - - '@react-native/codegen@0.76.9': - resolution: {integrity: sha512-AzlCHMTKrAVC2709V4ZGtBXmGVtWTpWm3Ruv5vXcd3/anH4mGucfJ4rjbWKdaYQJMpXa3ytGomQrsIsT/s8kgA==} - engines: {node: '>=18'} - peerDependencies: - '@babel/preset-env': ^7.1.6 - - '@react-native/community-cli-plugin@0.76.0': - resolution: {integrity: sha512-JFU5kmo+lUf5vOsieJ/dGS71Z2+qV3leXbKW6p8cn5aVfupVmtz/uYcFVdGzEGIGJ3juorYOZjpG8Qz91FrUZw==} - engines: {node: '>=18'} + '@react-native/community-cli-plugin@0.81.4': + resolution: {integrity: sha512-8mpnvfcLcnVh+t1ok6V9eozWo8Ut+TZhz8ylJ6gF9d6q9EGDQX6s8jenan5Yv/pzN4vQEKI4ib2pTf/FELw+SA==} + engines: {node: '>= 20.19.4'} peerDependencies: - '@react-native-community/cli-server-api': '*' + '@react-native-community/cli': '*' + '@react-native/metro-config': '*' peerDependenciesMeta: - '@react-native-community/cli-server-api': + '@react-native-community/cli': + optional: true + '@react-native/metro-config': optional: true - '@react-native/debugger-frontend@0.76.0': - resolution: {integrity: sha512-v4J22ZN1/7BQYhYvnZYi2pzd87MmTCEnxtTiktaUOhmx3YSF47LGo1Q2UfUE5YOzoRftiJTXDKvzDbI/hqAzgg==} - engines: {node: '>=18'} - - '@react-native/debugger-frontend@0.76.9': - resolution: {integrity: sha512-0Ru72Bm066xmxFuOXhhvrryxvb57uI79yDSFf+hxRpktkC98NMuRenlJhslMrbJ6WjCu1vOe/9UjWNYyxXTRTA==} - engines: {node: '>=18'} - - '@react-native/dev-middleware@0.76.0': - resolution: {integrity: sha512-XvSnCDwCghWCVNtGpoF30xgA1EzxvlGsEyhJCUe0uLMDaaVxr/ZkgD3nZ+/l4cEm1qlrlcAZoGctnUgrzHiTaA==} - engines: {node: '>=18'} - - '@react-native/dev-middleware@0.76.9': - resolution: {integrity: sha512-xkd3C3dRcmZLjFTEAOvC14q3apMLouIvJViCZY/p1EfCMrNND31dgE1dYrLTiI045WAWMt5bD15i6f7dE2/QWA==} - engines: {node: '>=18'} + '@react-native/debugger-frontend@0.81.4': + resolution: {integrity: sha512-SU05w1wD0nKdQFcuNC9D6De0ITnINCi8MEnx9RsTD2e4wN83ukoC7FpXaPCYyP6+VjFt5tUKDPgP1O7iaNXCqg==} + engines: {node: '>= 20.19.4'} - '@react-native/gradle-plugin@0.76.0': - resolution: {integrity: sha512-MhsAahV/Ju0Md1x79ljaDsNzzFY02TsDqxSfOS8vc4trZuM0imFf7VEBitOydNDTf9NqzAqJ9p8j7OSuxUEvLg==} - engines: {node: '>=18'} + '@react-native/dev-middleware@0.81.4': + resolution: {integrity: sha512-hu1Wu5R28FT7nHXs2wWXvQ++7W7zq5GPY83llajgPlYKznyPLAY/7bArc5rAzNB7b0kwnlaoPQKlvD/VP9LZug==} + engines: {node: '>= 20.19.4'} - '@react-native/js-polyfills@0.76.0': - resolution: {integrity: sha512-0UzEqvg85Bn0BpgNG80wzbiWvNypwdl64sbRs/sEvIDjzgq/tM+u3KoneSD5tP72BCydAqXFfepff3FZgImfbA==} - engines: {node: '>=18'} + '@react-native/gradle-plugin@0.81.4': + resolution: {integrity: sha512-T7fPcQvDDCSusZFVSg6H1oVDKb/NnVYLnsqkcHsAF2C2KGXyo3J7slH/tJAwNfj/7EOA2OgcWxfC1frgn9TQvw==} + engines: {node: '>= 20.19.4'} - '@react-native/metro-babel-transformer@0.76.0': - resolution: {integrity: sha512-aq0MrjaOxDitSqQbttBcOt+5tjemCabhEX2gGthy8cNeZokBa2raoHQInDo9iBBN1ePKDCwKGypyC8zKA5dksQ==} - engines: {node: '>=18'} - peerDependencies: - '@babel/core': '*' + '@react-native/js-polyfills@0.81.4': + resolution: {integrity: sha512-sr42FaypKXJHMVHhgSbu2f/ZJfrLzgaoQ+HdpRvKEiEh2mhFf6XzZwecyLBvWqf2pMPZa+CpPfNPiejXjKEy8w==} + engines: {node: '>= 20.19.4'} '@react-native/normalize-colors@0.74.89': resolution: {integrity: sha512-qoMMXddVKVhZ8PA1AbUCk83trpd6N+1nF2A6k1i6LsQObyS92fELuk8kU/lQs6M7BsMHwqyLCpQJ1uFgNvIQXg==} - '@react-native/normalize-colors@0.76.0': - resolution: {integrity: sha512-r+pjeIhzehb+bJUUUrztOQb+n6J9DeaLbF6waLgiHa5mFOiwP/4/iWS68inSZnnBtmXHkN2IYiMXzExx8hieWA==} - - '@react-native/normalize-colors@0.76.8': - resolution: {integrity: sha512-FRjRvs7RgsXjkbGSOjYSxhX5V70c0IzA/jy3HXeYpATMwD9fOR1DbveLW497QGsVdCa0vThbJUtR8rIzAfpHQA==} - - '@react-native/normalize-colors@0.76.9': - resolution: {integrity: sha512-TUdMG2JGk72M9d8DYbubdOlrzTYjw+YMe/xOnLU4viDgWRHsCbtRS9x0IAxRjs3amj/7zmK3Atm8jUPvdAc8qw==} + '@react-native/normalize-colors@0.81.4': + resolution: {integrity: sha512-9nRRHO1H+tcFqjb9gAM105Urtgcanbta2tuqCVY0NATHeFPDEAB7gPyiLxCHKMi1NbhP6TH0kxgSWXKZl1cyRg==} - '@react-native/virtualized-lists@0.76.0': - resolution: {integrity: sha512-WT3Xi1+ikmWWdbrv3xnl8wYxobj1+N5JfiOQx7o/tiGUCx8m12pf5tlutXByH2m7X8bAZ+BBcRuu1vwt7XaRhQ==} - engines: {node: '>=18'} + '@react-native/virtualized-lists@0.81.4': + resolution: {integrity: sha512-hBM+rMyL6Wm1Q4f/WpqGsaCojKSNUBqAXLABNGoWm1vabZ7cSnARMxBvA/2vo3hLcoR4v7zDK8tkKm9+O0LjVA==} + engines: {node: '>= 20.19.4'} peerDependencies: - '@types/react': ^18.2.6 + '@types/react': ^19.1.0 react: '*' react-native: '*' peerDependenciesMeta: @@ -2881,9 +2666,6 @@ packages: cpu: [x64] os: [win32] - '@segment/loosely-validate-event@2.0.0': - resolution: {integrity: sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==} - '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -3233,9 +3015,6 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node-forge@1.3.14': - resolution: {integrity: sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==} - '@types/node@20.19.10': resolution: {integrity: sha512-iAFpG6DokED3roLSP0K+ybeDdIX6Bc0Vd3mLW5uDqThPWtNos3E+EqOM11mPQHKzfWHqEBuLjIlsBQQ8CsISmQ==} @@ -3248,16 +3027,13 @@ packages: '@types/prismjs@1.26.5': resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==} - '@types/prop-types@15.7.15': - resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==} - '@types/react-dom@19.1.7': resolution: {integrity: sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==} peerDependencies: '@types/react': ^19.0.0 - '@types/react@18.3.24': - resolution: {integrity: sha512-0dLEBsA1kI3OezMBF8nSsb7Nk19ZnsyE1LLhB8r27KbgU5H4pvuqZLdtE+aUkJVoXgTVuA+iLIwmZ0TuK4tx6A==} + '@types/react@19.1.13': + resolution: {integrity: sha512-hHkbU/eoO3EG5/MZkuFSKmYqPbSVk5byPFa3e7y/8TybHiLMACgI8seVYlicwk7H5K/rI2px9xrQp/C+AUDTiQ==} '@types/react@19.1.9': resolution: {integrity: sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA==} @@ -3398,11 +3174,6 @@ packages: '@vitest/utils@3.2.4': resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} - '@xmldom/xmldom@0.7.13': - resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==} - engines: {node: '>=10.0.0'} - deprecated: this version is no longer supported, please update to at least 0.8.* - '@xmldom/xmldom@0.8.11': resolution: {integrity: sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==} engines: {node: '>=10.0.0'} @@ -3452,32 +3223,13 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - ajv-keywords@5.1.0: - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.11.0: - resolution: {integrity: sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==} - - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - anser@1.4.10: resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} @@ -3547,10 +3299,6 @@ packages: array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -3558,10 +3306,6 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-types@0.15.2: - resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} - engines: {node: '>=4'} - ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} @@ -3572,18 +3316,6 @@ packages: async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - - babel-core@7.0.0-bridge.0: - resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - babel-dead-code-elimination@1.0.10: resolution: {integrity: sha512-DV5bdJZTzZ0zn0DC24v3jD7Mnidh6xhKa4GfKCbq3sfW8kaWhDdZjP3i81geA8T33tdYqWKw4D3fVv0CwEgKVA==} @@ -3605,6 +3337,9 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} + babel-plugin-module-resolver@5.0.2: + resolution: {integrity: sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg==} + babel-plugin-polyfill-corejs2@0.4.14: resolution: {integrity: sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==} peerDependencies: @@ -3620,14 +3355,14 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - babel-plugin-react-native-web@0.19.13: - resolution: {integrity: sha512-4hHoto6xaN23LCyZgL9LJZc3olmAxd7b6jDzlZnKXAh4rRAbZRKNBJoOOdp46OBqgy+K0t0guTj5/mhA8inymQ==} + babel-plugin-react-compiler@19.1.0-rc.3: + resolution: {integrity: sha512-mjRn69WuTz4adL0bXGx8Rsyk1086zFJeKmes6aK0xPuK3aaXmDJdLHqwKKMrpm6KAI1MCoUK72d2VeqQbu8YIA==} - babel-plugin-syntax-hermes-parser@0.23.1: - resolution: {integrity: sha512-uNLD0tk2tLUjGFdmCk+u/3FEw2o+BAwW4g+z2QVlxJrzZYOOPADroEcNtTPt5lNiScctaUmnsTkVEnOwZUOLhA==} + babel-plugin-react-native-web@0.21.1: + resolution: {integrity: sha512-7XywfJ5QIRMwjOL+pwJt2w47Jmi5fFLvK7/So4fV4jIN6PcRbylCp9/l3cJY4VJbSz3lnWTeHDTD1LKIc1C09Q==} - babel-plugin-syntax-hermes-parser@0.25.1: - resolution: {integrity: sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==} + babel-plugin-syntax-hermes-parser@0.29.1: + resolution: {integrity: sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA==} babel-plugin-transform-flow-enums@0.0.2: resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} @@ -3637,15 +3372,16 @@ packages: peerDependencies: '@babel/core': ^7.0.0 || ^8.0.0-0 - babel-preset-expo@12.0.11: - resolution: {integrity: sha512-4m6D92nKEieg+7DXa8uSvpr0GjfuRfM/G0t0I/Q5hF8HleEv5ms3z4dJ+p52qXSJsm760tMqLdO93Ywuoi7cCQ==} + babel-preset-expo@54.0.1: + resolution: {integrity: sha512-ziLpj+I/IxQdblHCpuzcyukTpzunq6h/QFsbWhk5DTd4suqB+Vl0Neacd+e38YeKXBabmxCOv8VJN3qk39Md4w==} peerDependencies: - babel-plugin-react-compiler: ^19.0.0-beta-9ee70a1-20241017 - react-compiler-runtime: ^19.0.0-beta-8a03594-20241020 + '@babel/runtime': ^7.20.0 + expo: '*' + react-refresh: '>=0.14.0 <1.0.0' peerDependenciesMeta: - babel-plugin-react-compiler: + '@babel/runtime': optional: true - react-compiler-runtime: + expo: optional: true babel-preset-jest@29.6.3: @@ -3692,9 +3428,6 @@ packages: resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - bplist-creator@0.0.7: - resolution: {integrity: sha512-xp/tcaV3T5PCiaY04mXga7o/TE+t95gqeLmADeBI1CvZtdWTbgBt3uLpvh4UWtenKeBhCV6oVxGk38yZr2uYEA==} - bplist-creator@0.1.0: resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} @@ -3729,15 +3462,6 @@ packages: bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - buffer-alloc-unsafe@1.1.0: - resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} - - buffer-alloc@1.2.0: - resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} - - buffer-fill@1.0.0: - resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -3752,10 +3476,6 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - cacache@18.0.4: - resolution: {integrity: sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==} - engines: {node: ^16.14.0 || >=18.0.0} - call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} @@ -3824,9 +3544,6 @@ packages: chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - charenc@0.0.2: - resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} - check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} @@ -3835,10 +3552,6 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} engines: {node: '>=18'} @@ -3864,10 +3577,6 @@ packages: classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - cli-cursor@2.1.0: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} engines: {node: '>=4'} @@ -3887,10 +3596,6 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} - clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} @@ -3925,10 +3630,6 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} @@ -3947,15 +3648,9 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} - component-type@1.2.2: - resolution: {integrity: sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==} - compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -4022,17 +3717,10 @@ packages: cross-fetch@3.2.0: resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} - cross-spawn@6.0.6: - resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} - engines: {node: '>=4.8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - crypt@0.0.2: - resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} - crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} @@ -4104,10 +3792,6 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - default-gateway@4.2.0: - resolution: {integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==} - engines: {node: '>=6'} - defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -4118,14 +3802,6 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - del@6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -4138,11 +3814,6 @@ packages: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - detect-libc@2.0.4: resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} @@ -4161,10 +3832,6 @@ packages: resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} engines: {node: '>=0.3.1'} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} @@ -4209,9 +3876,6 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - end-of-stream@1.4.5: - resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - enhanced-resolve@5.18.2: resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==} engines: {node: '>=10.13.0'} @@ -4244,10 +3908,6 @@ packages: 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'} - esbuild@0.25.4: resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} engines: {node: '>=18'} @@ -4390,14 +4050,6 @@ packages: exec-async@2.2.0: resolution: {integrity: sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==} - execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - exit-hook@2.2.1: resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} engines: {node: '>=6'} @@ -4406,138 +4058,157 @@ packages: resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} engines: {node: '>=12.0.0'} - expo-application@6.0.2: - resolution: {integrity: sha512-qcj6kGq3mc7x5yIb5KxESurFTJCoEKwNEL34RdPEvTB/xhl7SeVZlu05sZBqxB1V4Ryzq/LsCb7NHNfBbb3L7A==} + expo-application@7.0.7: + resolution: {integrity: sha512-Jt1/qqnoDUbZ+bK91+dHaZ1vrPDtRBOltRa681EeedkisqguuEeUx4UHqwVyDK2oHWsK6lO3ojetoA4h8OmNcg==} peerDependencies: expo: '*' - expo-asset@11.0.5: - resolution: {integrity: sha512-TL60LmMBGVzs3NQcO8ylWqBumMh4sx0lmeJsn7+9C88fylGDhyyVnKZ1PyTXo9CVDBkndutZx2JUEQWM9BaiXw==} + expo-asset@12.0.8: + resolution: {integrity: sha512-jj2U8zw9+7orST2rlQGULYiqPoECOuUyffs2NguGrq84bYbkM041T7TOMXH2raPVJnM9lEAP54ezI6XL+GVYqw==} peerDependencies: expo: '*' react: '*' react-native: '*' - expo-auth-session@6.0.3: - resolution: {integrity: sha512-s7LmmMPiiY1NXrlcXkc4+09Hlfw9X1CpaQOCDkwfQEodG1uCYGQi/WImTnDzw5YDkWI79uC8F1mB8EIerilkDA==} + expo-auth-session@7.0.8: + resolution: {integrity: sha512-kpo2Jva+6uVjk6TmNqWAoqTnULXZaEVa9l4uf8JH32uDMt/iZQhM0fauy7Ww+y910Euhv5djCP7cPj8KWv6cmQ==} peerDependencies: react: '*' react-native: '*' - expo-constants@17.0.8: - resolution: {integrity: sha512-XfWRyQAf1yUNgWZ1TnE8pFBMqGmFP5Gb+SFSgszxDdOoheB/NI5D4p7q86kI2fvGyfTrxAe+D+74nZkfsGvUlg==} + expo-constants@18.0.9: + resolution: {integrity: sha512-sqoXHAOGDcr+M9NlXzj1tGoZyd3zxYDy215W6E0Z0n8fgBaqce9FAYQE2bu5X4G629AYig5go7U6sQz7Pjcm8A==} peerDependencies: expo: '*' react-native: '*' - expo-crypto@14.0.2: - resolution: {integrity: sha512-WRc9PBpJraJN29VD5Ef7nCecxJmZNyRKcGkNiDQC1nhY5agppzwhqh7zEzNFarE/GqDgSiaDHS8yd5EgFhP9AQ==} + expo-crypto@15.0.7: + resolution: {integrity: sha512-FUo41TwwGT2e5rA45PsjezI868Ch3M6wbCZsmqTWdF/hr+HyPcrp1L//dsh/hsrsyrQdpY/U96Lu71/wXePJeg==} peerDependencies: expo: '*' - expo-dev-client@5.0.20: - resolution: {integrity: sha512-bLNkHdU7V3I4UefgJbJnIDUBUL0LxIal/xYEx9BbgDd3B7wgQKY//+BpPIxBOKCQ22lkyiHY8y9tLhO903sAgg==} + expo-dev-client@6.0.12: + resolution: {integrity: sha512-Knr2abq0r6ALASsZtrX9QD4V0vP4ZL18iDVF5lgr6iFYawbuqQHuJRktIUETimu6qLusJK8Z3kZRabAdNqT+qw==} peerDependencies: expo: '*' - expo-dev-launcher@5.0.35: - resolution: {integrity: sha512-hEQr0ZREnUMxZ6wtQgfK1lzYnbb0zar3HqYZhmANzXmE6UEPbQ4GByLzhpfz/d+xxdBVQZsrHdtiV28KPG2sog==} + expo-dev-launcher@6.0.11: + resolution: {integrity: sha512-5wcuevQ8l57uWVqHWpARwZb57doUbzPxorhJXpYLza1tJbkuQBb1lpjeJ1Di47bGMDq0jRw6yMFkF6N9nKX/OQ==} peerDependencies: expo: '*' - expo-dev-menu-interface@1.9.3: - resolution: {integrity: sha512-KY/dWTBE1l47i9V366JN5rC6YIdOc9hz8yAmZzkl5DrPia5l3M2WIjtnpHC9zUkNjiSiG2urYoOAq4H/uLdmyg==} + expo-dev-menu-interface@2.0.0: + resolution: {integrity: sha512-BvAMPt6x+vyXpThsyjjOYyjwfjREV4OOpQkZ0tNl+nGpsPfcY9mc6DRACoWnH9KpLzyIt3BOgh3cuy/h/OxQjw==} peerDependencies: expo: '*' - expo-dev-menu@6.0.25: - resolution: {integrity: sha512-K2m4z/I+CPWbMtHlDzU68lHaQs52De0v5gbsjAmA5ig8FrYh4MKZvPxSVANaiKENzgmtglu8qaFh7ua9Gt2TfA==} + expo-dev-menu@7.0.11: + resolution: {integrity: sha512-xJ2scPxfHKyANTMgexK9tH7xunhsPEynuwpsssiS2syCWzvo+Mtv3euOLlkUb/IRt1JTKDxTMZBgChkaq5juSQ==} peerDependencies: expo: '*' - expo-file-system@18.0.12: - resolution: {integrity: sha512-HAkrd/mb8r+G3lJ9MzmGeuW2B+BxQR1joKfeCyY4deLl1zoZ48FrAWjgZjHK9aHUVhJ0ehzInu/NQtikKytaeg==} + expo-file-system@19.0.14: + resolution: {integrity: sha512-0CA7O5IYhab11TlxQlJAx0Xm9pdkk/zEHNiW+Hh/T4atWi9U/J38CIp7iNYSrBvy9dC3rJbze5D1ANcKKr4mSQ==} peerDependencies: expo: '*' react-native: '*' - expo-font@13.0.4: - resolution: {integrity: sha512-eAP5hyBgC8gafFtprsz0HMaB795qZfgJWqTmU0NfbSin1wUuVySFMEPMOrTkTgmazU73v4Cb4x7p86jY1XXYUw==} + expo-font@14.0.8: + resolution: {integrity: sha512-bTUHaJWRZ7ywP8dg3f+wfOwv6RwMV3mWT2CDUIhsK70GjNGlCtiWOCoHsA5Od/esPaVxqc37cCBvQGQRFStRlA==} peerDependencies: expo: '*' react: '*' + react-native: '*' - expo-json-utils@0.14.0: - resolution: {integrity: sha512-xjGfK9dL0B1wLnOqNkX0jM9p48Y0I5xEPzHude28LY67UmamUyAACkqhZGaPClyPNfdzczk7Ej6WaRMT3HfXvw==} + expo-json-utils@0.15.0: + resolution: {integrity: sha512-duRT6oGl80IDzH2LD2yEFWNwGIC2WkozsB6HF3cDYNoNNdUvFk6uN3YiwsTsqVM/D0z6LEAQ01/SlYvN+Fw0JQ==} - expo-keep-awake@14.0.3: - resolution: {integrity: sha512-6Jh94G6NvTZfuLnm2vwIpKe3GdOiVBuISl7FI8GqN0/9UOg9E0WXXp5cDcfAG8bn80RfgLJS8P7EPUGTZyOvhg==} + expo-keep-awake@15.0.7: + resolution: {integrity: sha512-CgBNcWVPnrIVII5G54QDqoE125l+zmqR4HR8q+MQaCfHet+dYpS5vX5zii/RMayzGN4jPgA4XYIQ28ePKFjHoA==} peerDependencies: expo: '*' react: '*' - expo-linear-gradient@14.0.2: - resolution: {integrity: sha512-nvac1sPUfFFJ4mY25UkvubpUV/olrBH+uQw5k+beqSvQaVQiUfFtYzfRr+6HhYBNb4AEsOtpsCRkpDww3M2iGQ==} + expo-linear-gradient@15.0.7: + resolution: {integrity: sha512-yF+y+9Shpr/OQFfy/wglB/0bykFMbwHBTuMRa5Of/r2P1wbkcacx8rg0JsUWkXH/rn2i2iWdubyqlxSJa3ggZA==} peerDependencies: expo: '*' react: '*' react-native: '*' - expo-linking@7.0.5: - resolution: {integrity: sha512-3KptlJtcYDPWohk0MfJU75MJFh2ybavbtcSd84zEPfw9s1q3hjimw3sXnH03ZxP54kiEWldvKmmnGcVffBDB1g==} + expo-linking@8.0.8: + resolution: {integrity: sha512-MyeMcbFDKhXh4sDD1EHwd0uxFQNAc6VCrwBkNvvvufUsTYFq3glTA9Y8a+x78CPpjNqwNAamu74yIaIz7IEJyg==} peerDependencies: react: '*' react-native: '*' - expo-manifests@0.15.8: - resolution: {integrity: sha512-VuIyaMfRfLZeETNsRohqhy1l7iZ7I+HKMPfZXVL2Yn17TT0WkOhZoq1DzYwPbOHPgp1Uk6phNa86EyaHrD2DLw==} + expo-manifests@1.0.8: + resolution: {integrity: sha512-nA5PwU2uiUd+2nkDWf9e71AuFAtbrb330g/ecvuu52bmaXtN8J8oiilc9BDvAX0gg2fbtOaZdEdjBYopt1jdlQ==} peerDependencies: expo: '*' - expo-modules-autolinking@2.0.8: - resolution: {integrity: sha512-DezgnEYFQYic8hKGhkbztBA3QUmSftjaNDIKNAtS2iGJmzCcNIkatjN2slFDSWjSTNo8gOvPQyMKfyHWFvLpOQ==} + expo-modules-autolinking@3.0.11: + resolution: {integrity: sha512-Sz1ptcSZ4mvWJ7Rf1aB6Pe1fuEeIkACPILg2tmXDo3wwLTxPqugitMOePjbBZyvacBDirtDZlMb2A6LQDPVFOg==} hasBin: true - expo-modules-core@2.2.3: - resolution: {integrity: sha512-01QqZzpP/wWlxnNly4G06MsOBUTbMDj02DQigZoXfDh80vd/rk3/uVXqnZgOdLSggTs6DnvOgAUy0H2q30XdUg==} + expo-modules-core@3.0.16: + resolution: {integrity: sha512-rCxzJiTdeSdqLVmDYYnogxqHS3NB65YTd76tAtSACujN2TQco08/toxCCov+9uULq1NGPxDJnfTkrtGaGWfatQ==} + peerDependencies: + react: '*' + react-native: '*' - expo-router@4.0.21: - resolution: {integrity: sha512-z1U9cGZbgL+ZSHp533VMobOqdkUpFBlDXBpd9/JH+Q0wW49is0G2PrJVUYMzdwr30HSUltdO/19W8rRwjfOnFw==} + expo-router@6.0.7: + resolution: {integrity: sha512-dP/35aQadCuplEP99CZ0sLrVpnCFCQGnCBtFlI0Tph75PbepdWhI7XC0Vzt7MoNBLF9NW80q5CeZdXTvybc+4w==} peerDependencies: - '@react-navigation/drawer': ^7.1.1 - '@testing-library/jest-native': '*' + '@expo/metro-runtime': ^6.1.2 + '@react-navigation/drawer': ^7.5.0 + '@testing-library/react-native': '>= 12.0.0' expo: '*' - expo-constants: ~17.0.8 - expo-linking: ~7.0.5 + expo-constants: ^18.0.9 + expo-linking: ^8.0.8 + react: '*' + react-dom: '*' + react-native: '*' + react-native-gesture-handler: '*' react-native-reanimated: '*' - react-native-safe-area-context: '*' + react-native-safe-area-context: '>= 5.4.0' react-native-screens: '*' + react-native-web: '*' + react-server-dom-webpack: '>= 19.0.0' peerDependenciesMeta: '@react-navigation/drawer': optional: true - '@testing-library/jest-native': + '@testing-library/react-native': + optional: true + react-dom: + optional: true + react-native-gesture-handler: optional: true react-native-reanimated: optional: true + react-native-web: + optional: true + react-server-dom-webpack: + optional: true - expo-secure-store@14.0.1: - resolution: {integrity: sha512-QUS+j4+UG4jRQalgnpmTvvrFnMVLqPiUZRzYPnG3+JrZ5kwVW2w6YS3WWerPoR7C6g3y/a2htRxRSylsDs+TaQ==} + expo-secure-store@15.0.7: + resolution: {integrity: sha512-9q7+G1Zxr5P6J5NRIlm86KulvmYwc6UnQlYPjQLDu1drDnerz6AT6l884dPu29HgtDTn4rR0heYeeGFhMKM7/Q==} peerDependencies: expo: '*' - expo-splash-screen@0.29.24: - resolution: {integrity: sha512-k2rdjbb3Qeg4g104Sdz6+qXXYba8QgiuZRSxHX8IpsSYiiTU48BmCCGy12sN+O1B+sD1/+WPL4duCa1Fy6+Y4g==} + expo-splash-screen@31.0.10: + resolution: {integrity: sha512-i6g9IK798mae4yvflstQ1HkgahIJ6exzTCTw4vEdxV0J2SwiW3Tj+CwRjf0te7Zsb+7dDQhBTmGZwdv00VER2A==} peerDependencies: expo: '*' - expo-status-bar@2.0.1: - resolution: {integrity: sha512-AkIPX7jWHRPp83UBZ1iXtVvyr0g+DgBVvIXTtlmPtmUsm8Vq9Bb5IGj86PW8osuFlgoTVAg7HI/+Ok7yEYwiRg==} + expo-status-bar@3.0.8: + resolution: {integrity: sha512-L248XKPhum7tvREoS1VfE0H6dPCaGtoUWzRsUv7hGKdiB4cus33Rc0sxkWkoQ77wE8stlnUlL5lvmT0oqZ3ZBw==} peerDependencies: react: '*' react-native: '*' - expo-system-ui@4.0.9: - resolution: {integrity: sha512-hqBc0EWeK/BTB8i4H84vqNjje8GgxhapYrcWdg5qriaRA/u+bNNxhmpZXdAjFuhonOP4SmAbF+gjoJJWsTrhUg==} + expo-system-ui@6.0.7: + resolution: {integrity: sha512-NT+/r/BOg08lFI9SZO2WFi9X1ZmawkVStknioWzQq6Mt4KinoMS6yl3eLbyOLM3LoptN13Ywfo4W5KHA6TV9Ow==} peerDependencies: expo: '*' react-native: '*' @@ -4546,19 +4217,19 @@ packages: react-native-web: optional: true - expo-updates-interface@1.0.0: - resolution: {integrity: sha512-93oWtvULJOj+Pp+N/lpTcFfuREX1wNeHtp7Lwn8EbzYYmdn37MvZU3TPW2tYYCZuhzmKEXnUblYcruYoDu7IrQ==} + expo-updates-interface@2.0.0: + resolution: {integrity: sha512-pTzAIufEZdVPKql6iMi5ylVSPqV1qbEopz9G6TSECQmnNde2nwq42PxdFBaUEd8IZJ/fdJLQnOT3m6+XJ5s7jg==} peerDependencies: expo: '*' - expo-web-browser@14.0.2: - resolution: {integrity: sha512-Hncv2yojhTpHbP6SGWARBFdl7P6wBHc1O8IKaNsH0a/IEakq887o1eRhLxZ5IwztPQyRDhpqHdgJ+BjWolOnwA==} + expo-web-browser@15.0.7: + resolution: {integrity: sha512-eXnfO3FQ2WthTA8uEPNJ7SDRfPaLIU/P2k082HGEYIHAFZMwh2o9Wo+SDVytO3E95TAv1qwhggUjOrczYzxteQ==} peerDependencies: expo: '*' react-native: '*' - expo@52.0.47: - resolution: {integrity: sha512-Mkvl7Qi2k+V3FdNRUD+yDj8GqU4IiYulLfl36BmSZs8lh/kCYPhTiyBLiEGPfz7d25QKbPWG727ESozbkbvatw==} + expo@54.0.8: + resolution: {integrity: sha512-H4nUVvAczd9ZPWrAR3oXxEr/EkLfPxXg5gBvFgZI4WnGNthehqEYB37urXgj9fvgSBxNaRUkySL4uwr9VB2J8Q==} hasBin: true peerDependencies: '@expo/dom-webview': '*' @@ -4607,21 +4278,12 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-loops@1.1.4: - resolution: {integrity: sha512-8dbd3XWoKCTms18ize6JmQF1SFnnfj5s0B7rRry22EofgMu7B6LKHVh+XfFqFGsqnbH54xgeO83PzpKI+ODhlg==} - - fast-uri@3.1.0: - resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} - fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - fbemitter@3.0.0: - resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==} - fbjs-css-vars@1.0.2: resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} @@ -4636,9 +4298,6 @@ packages: picomatch: optional: true - fetch-retry@4.1.1: - resolution: {integrity: sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==} - fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} @@ -4662,9 +4321,8 @@ packages: resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} engines: {node: '>= 0.8'} - find-cache-dir@2.1.0: - resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} - engines: {node: '>=6'} + find-babel-config@2.1.2: + resolution: {integrity: sha512-ZfZp1rQyp4gyuxqt1ZqjFGVeVBvmpURMqdIWXbPRfB97Bf6BzdK/xSIbylEINzQ0kB5tlDQfn9HkNXXWsqTqLg==} find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} @@ -4691,10 +4349,6 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - flow-parser@0.283.0: - resolution: {integrity: sha512-PNpYZX8guJSDiHv7DQo+BLgiRNjbUQrag52b/8/znK+n0kGBbGtG9Smklb0VRdBdHg+UYKk9hSpWez3nXI5nEw==} - engines: {node: '>=0.4.0'} - fontfaceobserver@2.3.0: resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} @@ -4702,10 +4356,6 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@3.0.4: - resolution: {integrity: sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==} - engines: {node: '>= 6'} - forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -4718,26 +4368,6 @@ packages: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} - fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - - fs-extra@9.0.0: - resolution: {integrity: sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==} - engines: {node: '>=10'} - - fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - - fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - - fs-minipass@3.0.3: - resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -4777,19 +4407,11 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - get-tsconfig@4.10.1: resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} - getenv@1.0.0: - resolution: {integrity: sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==} + getenv@2.0.0: + resolution: {integrity: sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==} engines: {node: '>=6'} glob-parent@5.1.2: @@ -4811,6 +4433,14 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported + glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} + engines: {node: '>=16 || 14 >=14.17'} + + global-dirs@0.1.1: + resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} + engines: {node: '>=4'} + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -4819,10 +4449,6 @@ packages: resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==} engines: {node: '>=18'} - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - goober@2.1.16: resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==} peerDependencies: @@ -4854,10 +4480,6 @@ packages: 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'} @@ -4868,17 +4490,11 @@ packages: hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} - hermes-estree@0.23.1: - resolution: {integrity: sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg==} + hermes-estree@0.29.1: + resolution: {integrity: sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==} - hermes-estree@0.25.1: - resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} - - hermes-parser@0.23.1: - resolution: {integrity: sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA==} - - hermes-parser@0.25.1: - resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + hermes-parser@0.29.1: + resolution: {integrity: sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==} hono@4.8.10: resolution: {integrity: sha512-DRMYbR3aFk6YET1FCSAFbgF2cWYTz5j0YAFYPECx9fmrbKBDAYnWU+YCgRTpOaatxMYN6e68U/2IG39zRP4W/A==} @@ -4898,9 +4514,9 @@ packages: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} hyphenate-style-name@1.1.0: resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} @@ -4954,20 +4570,12 @@ packages: inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} - inline-style-prefixer@6.0.4: - resolution: {integrity: sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg==} - - internal-ip@4.3.0: - resolution: {integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==} - engines: {node: '>=6'} + inline-style-prefixer@7.0.1: + resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==} invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - ip-regex@2.1.0: - resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} - engines: {node: '>=4'} - ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -4988,9 +4596,6 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} @@ -5032,30 +4637,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-cwd@2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - - is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -5067,10 +4652,6 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -5137,9 +4718,6 @@ packages: resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==} hasBin: true - join-component@1.1.0: - resolution: {integrity: sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -5154,18 +4732,9 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true - jsc-android@250231.0.0: - resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} - jsc-safe-url@0.2.4: resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} - jscodeshift@0.14.0: - resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} - hasBin: true - peerDependencies: - '@babel/preset-env': ^7.1.6 - jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} @@ -5188,9 +4757,6 @@ packages: json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} @@ -5199,19 +4765,9 @@ packages: engines: {node: '>=6'} hasBin: true - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - - jsonfile@6.2.0: - resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -5220,6 +4776,10 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + lan-network@0.1.7: + resolution: {integrity: sha512-mnIlAEMu4OyEvUNdzco9xpuB9YVcPkQec+QsgycBCtPZvEqWPCDPfbAE4OJMdBBWpZWtpCn1xw9jJYlwjWI5zQ==} + hasBin: true + leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -5231,130 +4791,66 @@ packages: lighthouse-logger@1.4.2: resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} - lightningcss-darwin-arm64@1.27.0: - resolution: {integrity: sha512-Gl/lqIXY+d+ySmMbgDf0pgaWSqrWYxVHoc88q+Vhf2YNzZ8DwoRzGt5NZDVqqIW5ScpSnmmjcgXP87Dn2ylSSQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - lightningcss-darwin-arm64@1.30.1: resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.27.0: - resolution: {integrity: sha512-0+mZa54IlcNAoQS9E0+niovhyjjQWEMrwW0p2sSdLRhLDc8LMQ/b67z7+B5q4VmjYCMSfnFi3djAAQFIDuj/Tg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - lightningcss-darwin-x64@1.30.1: resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.27.0: - resolution: {integrity: sha512-n1sEf85fePoU2aDN2PzYjoI8gbBqnmLGEhKq7q0DKLj0UTVmOTwDC7PtLcy/zFxzASTSBlVQYJUhwIStQMIpRA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - lightningcss-freebsd-x64@1.30.1: resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.27.0: - resolution: {integrity: sha512-MUMRmtdRkOkd5z3h986HOuNBD1c2lq2BSQA1Jg88d9I7bmPGx08bwGcnB75dvr17CwxjxD6XPi3Qh8ArmKFqCA==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - lightningcss-linux-arm-gnueabihf@1.30.1: resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.27.0: - resolution: {integrity: sha512-cPsxo1QEWq2sfKkSq2Bq5feQDHdUEwgtA9KaB27J5AX22+l4l0ptgjMZZtYtUnteBofjee+0oW1wQ1guv04a7A==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - lightningcss-linux-arm64-gnu@1.30.1: resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - lightningcss-linux-arm64-musl@1.27.0: - resolution: {integrity: sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - lightningcss-linux-arm64-musl@1.30.1: resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] - lightningcss-linux-x64-gnu@1.27.0: - resolution: {integrity: sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - lightningcss-linux-x64-gnu@1.30.1: resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - lightningcss-linux-x64-musl@1.27.0: - resolution: {integrity: sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - lightningcss-linux-x64-musl@1.30.1: resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] - lightningcss-win32-arm64-msvc@1.27.0: - resolution: {integrity: sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - lightningcss-win32-arm64-msvc@1.30.1: resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.27.0: - resolution: {integrity: sha512-/OJLj94Zm/waZShL8nB5jsNj3CfNATLCTyFxZyouilfTmSoLDX7VlVAmhPHoZWVFp4vdmoiEbPEYC8HID3m6yw==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - lightningcss-win32-x64-msvc@1.30.1: resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.27.0: - resolution: {integrity: sha512-8f7aNmS1+etYSLHht0fQApPc2kNO8qGRutifN5rVIc6Xo6ABsEbqOr758UwI7ALVbTt4x1fllKt0PYgzD9S3yQ==} - engines: {node: '>= 12.0.0'} - lightningcss@1.30.1: resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} engines: {node: '>= 12.0.0'} @@ -5427,10 +4923,6 @@ packages: magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} - make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -5448,14 +4940,6 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - md5-file@3.2.3: - resolution: {integrity: sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==} - engines: {node: '>=0.10'} - hasBin: true - - md5@2.3.0: - resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} - mdast-util-find-and-replace@3.0.2: resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} @@ -5525,62 +5009,62 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - metro-babel-transformer@0.81.5: - resolution: {integrity: sha512-oKCQuajU5srm+ZdDcFg86pG/U8hkSjBlkyFjz380SZ4TTIiI5F+OQB830i53D8hmqmcosa4wR/pnKv8y4Q3dLw==} - engines: {node: '>=18.18'} + metro-babel-transformer@0.83.1: + resolution: {integrity: sha512-r3xAD3964E8dwDBaZNSO2aIIvWXjIK80uO2xo0/pi3WI8XWT9h5SCjtGWtMtE5PRWw+t20TN0q1WMRsjvhC1rQ==} + engines: {node: '>=20.19.4'} - metro-cache-key@0.81.5: - resolution: {integrity: sha512-lGWnGVm1UwO8faRZ+LXQUesZSmP1LOg14OVR+KNPBip8kbMECbQJ8c10nGesw28uQT7AE0lwQThZPXlxDyCLKQ==} - engines: {node: '>=18.18'} + metro-cache-key@0.83.1: + resolution: {integrity: sha512-ZUs+GD5CNeDLxx5UUWmfg26IL+Dnbryd+TLqTlZnDEgehkIa11kUSvgF92OFfJhONeXzV4rZDRGNXoo6JT+8Gg==} + engines: {node: '>=20.19.4'} - metro-cache@0.81.5: - resolution: {integrity: sha512-wOsXuEgmZMZ5DMPoz1pEDerjJ11AuMy9JifH4yNW7NmWS0ghCRqvDxk13LsElzLshey8C+my/tmXauXZ3OqZgg==} - engines: {node: '>=18.18'} + metro-cache@0.83.1: + resolution: {integrity: sha512-7N/Ad1PHa1YMWDNiyynTPq34Op2qIE68NWryGEQ4TSE3Zy6a8GpsYnEEZE4Qi6aHgsE+yZHKkRczeBgxhnFIxQ==} + engines: {node: '>=20.19.4'} - metro-config@0.81.5: - resolution: {integrity: sha512-oDRAzUvj6RNRxratFdcVAqtAsg+T3qcKrGdqGZFUdwzlFJdHGR9Z413sW583uD2ynsuOjA2QB6US8FdwiBdNKg==} - engines: {node: '>=18.18'} + metro-config@0.83.1: + resolution: {integrity: sha512-HJhpZx3wyOkux/jeF1o7akFJzZFdbn6Zf7UQqWrvp7gqFqNulQ8Mju09raBgPmmSxKDl4LbbNeigkX0/nKY1QA==} + engines: {node: '>=20.19.4'} - metro-core@0.81.5: - resolution: {integrity: sha512-+2R0c8ByfV2N7CH5wpdIajCWa8escUFd8TukfoXyBq/vb6yTCsznoA25FhNXJ+MC/cz1L447Zj3vdUfCXIZBwg==} - engines: {node: '>=18.18'} + metro-core@0.83.1: + resolution: {integrity: sha512-uVL1eAJcMFd2o2Q7dsbpg8COaxjZBBGaXqO2OHnivpCdfanraVL8dPmY6It9ZeqWLOihUKZ2yHW4b6soVCzH/Q==} + engines: {node: '>=20.19.4'} - metro-file-map@0.81.5: - resolution: {integrity: sha512-mW1PKyiO3qZvjeeVjj1brhkmIotObA3/9jdbY1fQQYvEWM6Ml7bN/oJCRDGn2+bJRlG+J8pwyJ+DgdrM4BsKyg==} - engines: {node: '>=18.18'} + metro-file-map@0.83.1: + resolution: {integrity: sha512-Yu429lnexKl44PttKw3nhqgmpBR+6UQ/tRaYcxPeEShtcza9DWakCn7cjqDTQZtWR2A8xSNv139izJMyQ4CG+w==} + engines: {node: '>=20.19.4'} - metro-minify-terser@0.81.5: - resolution: {integrity: sha512-/mn4AxjANnsSS3/Bb+zA1G5yIS5xygbbz/OuPaJYs0CPcZCaWt66D+65j4Ft/nJkffUxcwE9mk4ubpkl3rjgtw==} - engines: {node: '>=18.18'} + metro-minify-terser@0.83.1: + resolution: {integrity: sha512-kmooOxXLvKVxkh80IVSYO4weBdJDhCpg5NSPkjzzAnPJP43u6+usGXobkTWxxrAlq900bhzqKek4pBsUchlX6A==} + engines: {node: '>=20.19.4'} - metro-resolver@0.81.5: - resolution: {integrity: sha512-6BX8Nq3g3go3FxcyXkVbWe7IgctjDTk6D9flq+P201DfHHQ28J+DWFpVelFcrNTn4tIfbP/Bw7u/0g2BGmeXfQ==} - engines: {node: '>=18.18'} + metro-resolver@0.83.1: + resolution: {integrity: sha512-t8j46kiILAqqFS5RNa+xpQyVjULxRxlvMidqUswPEk5nQVNdlJslqizDm/Et3v/JKwOtQGkYAQCHxP1zGStR/g==} + engines: {node: '>=20.19.4'} - metro-runtime@0.81.5: - resolution: {integrity: sha512-M/Gf71ictUKP9+77dV/y8XlAWg7xl76uhU7ggYFUwEdOHHWPG6gLBr1iiK0BmTjPFH8yRo/xyqMli4s3oGorPQ==} - engines: {node: '>=18.18'} + metro-runtime@0.83.1: + resolution: {integrity: sha512-3Ag8ZS4IwafL/JUKlaeM6/CbkooY+WcVeqdNlBG0m4S0Qz0om3rdFdy1y6fYBpl6AwXJwWeMuXrvZdMuByTcRA==} + engines: {node: '>=20.19.4'} - metro-source-map@0.81.5: - resolution: {integrity: sha512-Jz+CjvCKLNbJZYJTBeN3Kq9kIJf6b61MoLBdaOQZJ5Ajhw6Pf95Nn21XwA8BwfUYgajsi6IXsp/dTZsYJbN00Q==} - engines: {node: '>=18.18'} + metro-source-map@0.83.1: + resolution: {integrity: sha512-De7Vbeo96fFZ2cqmI0fWwVJbtHIwPZv++LYlWSwzTiCzxBDJORncN0LcT48Vi2UlQLzXJg+/CuTAcy7NBVh69A==} + engines: {node: '>=20.19.4'} - metro-symbolicate@0.81.5: - resolution: {integrity: sha512-X3HV3n3D6FuTE11UWFICqHbFMdTavfO48nXsSpnNGFkUZBexffu0Xd+fYKp+DJLNaQr3S+lAs8q9CgtDTlRRuA==} - engines: {node: '>=18.18'} + metro-symbolicate@0.83.1: + resolution: {integrity: sha512-wPxYkONlq/Sv8Ji7vHEx5OzFouXAMQJjpcPW41ySKMLP/Ir18SsiJK2h4YkdKpYrTS1+0xf8oqF6nxCsT3uWtg==} + engines: {node: '>=20.19.4'} hasBin: true - metro-transform-plugins@0.81.5: - resolution: {integrity: sha512-MmHhVx/1dJC94FN7m3oHgv5uOjKH8EX8pBeu1pnPMxbJrx6ZuIejO0k84zTSaQTZ8RxX1wqwzWBpXAWPjEX8mA==} - engines: {node: '>=18.18'} + metro-transform-plugins@0.83.1: + resolution: {integrity: sha512-1Y+I8oozXwhuS0qwC+ezaHXBf0jXW4oeYn4X39XWbZt9X2HfjodqY9bH9r6RUTsoiK7S4j8Ni2C91bUC+sktJQ==} + engines: {node: '>=20.19.4'} - metro-transform-worker@0.81.5: - resolution: {integrity: sha512-lUFyWVHa7lZFRSLJEv+m4jH8WrR5gU7VIjUlg4XmxQfV8ngY4V10ARKynLhMYPeQGl7Qvf+Ayg0eCZ272YZ4Mg==} - engines: {node: '>=18.18'} + metro-transform-worker@0.83.1: + resolution: {integrity: sha512-owCrhPyUxdLgXEEEAL2b14GWTPZ2zYuab1VQXcfEy0sJE71iciD7fuMcrngoufh7e7UHDZ56q4ktXg8wgiYA1Q==} + engines: {node: '>=20.19.4'} - metro@0.81.5: - resolution: {integrity: sha512-YpFF0DDDpDVygeca2mAn7K0+us+XKmiGk4rIYMz/CRdjFoCGqAei/IQSpV0UrGfQbToSugpMQeQJveaWSH88Hg==} - engines: {node: '>=18.18'} + metro@0.83.1: + resolution: {integrity: sha512-UGKepmTxoGD4HkQV8YWvpvwef7fUujNtTgG4Ygf7m/M0qjvb9VuDmAsEU+UdriRX7F61pnVK/opz89hjKlYTXA==} + engines: {node: '>=20.19.4'} hasBin: true micromark-core-commonmark@2.0.3: @@ -5693,10 +5177,6 @@ packages: resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} engines: {node: '>=4'} - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -5709,6 +5189,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -5716,42 +5200,18 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass-collect@2.0.1: - resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} - engines: {node: '>=16 || 14 >=14.17'} - - minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} - - minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} - - minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - - minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} engines: {node: '>=8'} minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} - minizlib@3.0.2: resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} engines: {node: '>= 18'} - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -5795,9 +5255,6 @@ packages: resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} engines: {node: '>= 0.6'} - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - nested-error-stacks@2.0.1: resolution: {integrity: sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==} @@ -5807,13 +5264,6 @@ packages: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - - node-dir@0.1.17: - resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} - engines: {node: '>= 0.10.5'} - node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -5844,20 +5294,12 @@ packages: resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} engines: {node: ^16.14.0 || >=18.0.0} - npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - ob1@0.81.5: - resolution: {integrity: sha512-iNpbeXPLmaiT9I5g16gFFFjsF3sGxLpYG2EGP3dfFB4z+l9X60mp/yRzStHhMtuNt8qmf7Ww80nOPQHngHhnIQ==} - engines: {node: '>=18.18'} + ob1@0.83.1: + resolution: {integrity: sha512-ngwqewtdUzFyycomdbdIhFLjePPSOt1awKMUXQ0L7iLHgWEPF3DsCerblzjzfAUHaXuvE9ccJymWQ/4PNNqvnQ==} + engines: {node: '>=20.19.4'} object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} @@ -5889,10 +5331,6 @@ packages: resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} engines: {node: '>=4'} - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - open@7.4.2: resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} engines: {node: '>=8'} @@ -5913,10 +5351,6 @@ packages: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} - p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -5937,10 +5371,6 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -5983,10 +5413,6 @@ packages: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -6030,17 +5456,13 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} - pkg-dir@3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} plist@3.1.0: resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} @@ -6118,9 +5540,6 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - pump@3.0.3: - resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -6161,8 +5580,8 @@ packages: peerDependencies: react: '>=16.8.0' - react-devtools-core@5.3.2: - resolution: {integrity: sha512-crr9HkVrDiJ0A4zot89oS0Cgv0Oa4OG1Em4jit3P3ZxZSKPMYyMjfwMqgcJna9o625g8oN87rBm8SWWrSTBZxg==} + react-devtools-core@6.1.5: + resolution: {integrity: sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==} react-diff-viewer-continued@3.4.0: resolution: {integrity: sha512-kMZmUyb3Pv5L9vUtCfIGYsdOHs8mUojblGy1U1Sm0D7FhAOEsH9QhnngEIRo5hXWIPNGupNRJls1TJ6Eqx84eg==} @@ -6171,10 +5590,10 @@ packages: react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom@18.3.1: - resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + react-dom@19.1.0: + resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} peerDependencies: - react: ^18.3.1 + react: ^19.1.0 react-dom@19.1.1: resolution: {integrity: sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw==} @@ -6190,12 +5609,6 @@ packages: peerDependencies: react: '>=17.0.0' - react-helmet-async@1.3.0: - resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} - peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 - react-helmet-async@2.0.5: resolution: {integrity: sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg==} peerDependencies: @@ -6225,42 +5638,40 @@ packages: '@types/react': '>=18' react: '>=18' - react-native-helmet-async@2.0.4: - resolution: {integrity: sha512-m3CkXWss6B1dd6mCMleLpzDCJJGGaHOLQsUzZv8kAASJmMfmVT4d2fx375iXKTRWT25ThBfae3dECuX5cq/8hg==} - peerDependencies: - react: ^16.6.0 || ^17.0.0 || ^18.0.0 - react-native-is-edge-to-edge@1.2.1: resolution: {integrity: sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==} peerDependencies: react: '*' react-native: '*' - react-native-safe-area-context@4.12.0: - resolution: {integrity: sha512-ukk5PxcF4p3yu6qMZcmeiZgowhb5AsKRnil54YFUUAXVIS7PJcMHGGC+q44fCiBg44/1AJk5njGMez1m9H0BVQ==} + react-native-safe-area-context@5.6.1: + resolution: {integrity: sha512-/wJE58HLEAkATzhhX1xSr+fostLsK8Q97EfpfMDKo8jlOc1QKESSX/FQrhk7HhQH/2uSaox4Y86sNaI02kteiA==} peerDependencies: react: '*' react-native: '*' - react-native-screens@4.1.0: - resolution: {integrity: sha512-tCBwe7fRMpoi/nIgZxE86N8b2SH8d5PlfGaQO8lgqlXqIyvwqm3u1HJCaA0tsacPyzhW7vVtRfQyq9e1j0S2gA==} + react-native-screens@4.16.0: + resolution: {integrity: sha512-yIAyh7F/9uWkOzCi1/2FqvNvK6Wb9Y1+Kzn16SuGfN9YFJDTbwlzGRvePCNTOX0recpLQF3kc2FmvMUhyTCH1Q==} peerDependencies: react: '*' react-native: '*' - react-native-web@0.19.13: - resolution: {integrity: sha512-etv3bN8rJglrRCp/uL4p7l8QvUNUC++QwDbdZ8CB7BvZiMvsxfFIRM1j04vxNldG3uo2puRd6OSWR3ibtmc29A==} + react-native-sse@1.2.1: + resolution: {integrity: sha512-zejanlScF+IB9tYnbdry0MT34qjBXbiV/E72qGz33W/tX1bx8MXsbB4lxiuPETc9v/008vYZ60yjIstW22VlVg==} + + react-native-web@0.21.1: + resolution: {integrity: sha512-BeNsgwwe4AXUFPAoFU+DKjJ+CVQa3h54zYX77p7GVZrXiiNo3vl03WYDYVEy5R2J2HOPInXtQZB5gmj3vuzrKg==} peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 - react-native@0.76.0: - resolution: {integrity: sha512-isbLzmY7fhhLdN/oss4jlRHeDmEShuTYsp1Zq93UM0/JssQK4g+2Ub4mHdhxDFm2LN+0ryBgVJK1nO7l93cfsA==} - engines: {node: '>=18'} + react-native@0.81.4: + resolution: {integrity: sha512-bt5bz3A/+Cv46KcjV0VQa+fo7MKxs17RCcpzjftINlen4ZDUl0I6Ut+brQ2FToa5oD0IB0xvQHfmsg2EDqsZdQ==} + engines: {node: '>= 20.19.4'} hasBin: true peerDependencies: - '@types/react': ^18.2.6 - react: ^18.2.0 + '@types/react': ^19.1.0 + react: ^19.1.0 peerDependenciesMeta: '@types/react': optional: true @@ -6310,8 +5721,8 @@ packages: peerDependencies: '@xterm/xterm': ^5.5.0 - react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + react@19.1.0: + resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} react@19.1.1: @@ -6322,13 +5733,6 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} - readline@1.3.0: - resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} - - recast@0.21.5: - resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} - engines: {node: '>= 4'} - recast@0.23.11: resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==} engines: {node: '>= 4'} @@ -6370,9 +5774,6 @@ packages: remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - remove-trailing-slash@0.1.1: - resolution: {integrity: sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==} - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -6385,6 +5786,9 @@ packages: resolution: {integrity: sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==} engines: {node: '>= 4.0.0'} + reselect@4.1.8: + resolution: {integrity: sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==} + resolve-from@3.0.0: resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} engines: {node: '>=4'} @@ -6397,6 +5801,10 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + resolve-global@1.0.0: + resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} + engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -6423,11 +5831,6 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -6453,27 +5856,9 @@ packages: sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} - - scheduler@0.24.0-canary-efb381bbf-20230505: - resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} - scheduler@0.26.0: resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} - schema-utils@4.3.2: - resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} - engines: {node: '>= 10.13.0'} - - selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -6519,9 +5904,9 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} + sf-symbols-typescript@2.1.0: + resolution: {integrity: sha512-ezT7gu/SHTPIOEEoG6TF+O0m5eewl0ZDAO4AtdBi5HjsrUI6JdCG17+Q8+aKp0heM06wZKApRCn5olNbs0Wb/A==} + engines: {node: '>=10'} shallowequal@1.1.0: resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} @@ -6530,18 +5915,10 @@ packages: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -6635,10 +6012,6 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - ssri@10.0.6: - resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -6702,14 +6075,6 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -6779,10 +6144,6 @@ packages: resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} engines: {node: '>=6'} - tar@6.2.1: - resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} - engines: {node: '>=10'} - tar@7.4.3: resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} engines: {node: '>=18'} @@ -6791,14 +6152,6 @@ packages: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} - temp@0.8.4: - resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} - engines: {node: '>=6.0.0'} - - tempy@0.7.1: - resolution: {integrity: sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg==} - engines: {node: '>=10'} - terminal-link@2.1.1: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} @@ -6926,10 +6279,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -6954,6 +6303,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + engines: {node: '>=14.17'} + hasBin: true + ua-parser-js@1.0.41: resolution: {integrity: sha512-LbBDqdIC5s8iROCUjMbW1f5dJQTEFB1+KO9ogbvlb3nm9n4YHa5p4KTvFPWvh2Hs8gZMBuiB1/8+pdfe/tDPug==} hasBin: true @@ -6997,14 +6351,6 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} @@ -7030,18 +6376,6 @@ packages: universal-user-agent@7.0.3: resolution: {integrity: sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==} - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - - universalify@1.0.0: - resolution: {integrity: sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==} - engines: {node: '>= 10.0.0'} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - unpipe@1.0.0: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} @@ -7100,10 +6434,6 @@ packages: resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} hasBin: true - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - validate-npm-package-name@5.0.1: resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -7209,10 +6539,6 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -7237,10 +6563,6 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -7288,9 +6610,6 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - write-file-atomic@2.4.3: - resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} - write-file-atomic@4.0.2: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -7330,6 +6649,18 @@ packages: utf-8-validate: optional: true + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xcode@3.0.1: resolution: {integrity: sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==} engines: {node: '>=10.0.0'} @@ -7342,10 +6673,6 @@ packages: resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} - xmlbuilder@14.0.0: - resolution: {integrity: sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==} - engines: {node: '>=8.0'} - xmlbuilder@15.1.1: resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} engines: {node: '>=8.0'} @@ -7357,9 +6684,6 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yallist@5.0.0: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} @@ -7390,6 +6714,11 @@ packages: youch@4.1.0-beta.10: resolution: {integrity: sha512-rLfVLB4FgQneDr0dv1oddCVZmKjcJ6yX6mS4pU82Mq/Dt9a3cLZQ62pDBL4AUO+uVrCvtWz3ZFUL2HFAFJ/BXQ==} + zod-to-json-schema@3.24.6: + resolution: {integrity: sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==} + peerDependencies: + zod: ^3.24.1 + zod@3.22.3: resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} @@ -7625,53 +6954,10 @@ snapshots: dependencies: '@babel/types': 7.28.4 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.28.3(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/traverse': 7.28.4 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - '@babel/plugin-proposal-decorators@7.28.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 - '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0) + '@babel/helper-create-class-features-plugin': 7.28.3(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 '@babel/plugin-syntax-decorators': 7.27.1(@babel/core@7.28.0) transitivePeerDependencies: @@ -7682,25 +6968,6 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0) - - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -7741,11 +7008,6 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-assertions@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-import-attributes@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -7811,12 +7073,6 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-arrow-functions@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -7840,11 +7096,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-block-scoped-functions@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-block-scoping@7.28.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -7892,41 +7143,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-dotall-regex@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-keys@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-dynamic-import@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-explicit-resource-management@7.28.0(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-exponentiation-operator@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-export-namespace-from@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -7955,11 +7171,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-json-strings@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-literals@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -7970,19 +7181,6 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-member-expression-literals@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-modules-amd@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-modules-commonjs@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -7991,35 +7189,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.28.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-named-capturing-groups-regex@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-new-target@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-nullish-coalescing-operator@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -8041,14 +7216,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-object-super@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0) - transitivePeerDependencies: - - supports-color - '@babel/plugin-transform-optional-catch-binding@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -8084,11 +7251,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-property-literals@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-react-display-name@7.28.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -8133,17 +7295,6 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-regexp-modifiers@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-reserved-words@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-runtime@7.28.3(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -8174,16 +7325,6 @@ snapshots: '@babel/core': 7.28.0 '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-template-literals@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-typeof-symbol@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-typescript@7.28.0(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -8195,119 +7336,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-unicode-escapes@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/plugin-transform-unicode-property-regex@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-unicode-regex@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) '@babel/helper-plugin-utils': 7.27.1 - '@babel/plugin-transform-unicode-sets-regex@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-create-regexp-features-plugin': 7.27.1(@babel/core@7.28.0) - '@babel/helper-plugin-utils': 7.27.1 - - '@babel/preset-env@7.28.3(@babel/core@7.28.0)': - dependencies: - '@babel/compat-data': 7.28.0 - '@babel/core': 7.28.0 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.28.3(@babel/core@7.28.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.28.0) - '@babel/plugin-syntax-import-assertions': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-syntax-import-attributes': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.28.0) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.0) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-block-scoped-functions': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.0) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.0) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.0) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) - '@babel/plugin-transform-dotall-regex': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-duplicate-keys': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-explicit-resource-management': 7.28.0(@babel/core@7.28.0) - '@babel/plugin-transform-exponentiation-operator': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-json-strings': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-member-expression-literals': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-modules-amd': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-modules-systemjs': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-modules-umd': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-new-target': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.0) - '@babel/plugin-transform-object-super': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-property-literals': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.0) - '@babel/plugin-transform-regexp-modifiers': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-reserved-words': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-template-literals': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-typeof-symbol': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-unicode-escapes': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-unicode-property-regex': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-unicode-sets-regex': 7.27.1(@babel/core@7.28.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.28.0) - babel-plugin-polyfill-corejs2: 0.4.14(@babel/core@7.28.0) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.28.0) - babel-plugin-polyfill-regenerator: 0.6.5(@babel/core@7.28.0) - core-js-compat: 3.45.1 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/preset-flow@7.27.1(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/helper-validator-option': 7.27.1 - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0) - - '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - '@babel/helper-plugin-utils': 7.27.1 - '@babel/types': 7.28.2 - esutils: 2.0.3 - '@babel/preset-react@7.27.1(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 @@ -8331,15 +7365,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/register@7.28.3(@babel/core@7.28.0)': - dependencies: - '@babel/core': 7.28.0 - clone-deep: 4.0.1 - find-cache-dir: 2.1.0 - make-dir: 2.1.0 - pirates: 4.0.7 - source-map-support: 0.5.21 - '@babel/runtime@7.28.2': {} '@babel/template@7.27.2': @@ -8764,56 +7789,48 @@ snapshots: '@eslint/core': 0.15.1 levn: 0.4.1 - '@expo/bunyan@4.0.1': - dependencies: - uuid: 8.3.2 - - '@expo/cli@0.22.26': + '@expo/cli@54.0.6(expo-router@6.0.7)(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))': dependencies: '@0no-co/graphql.web': 1.2.0 - '@babel/runtime': 7.28.2 '@expo/code-signing-certificates': 0.0.5 - '@expo/config': 10.0.11 - '@expo/config-plugins': 9.0.17 + '@expo/config': 12.0.9 + '@expo/config-plugins': 54.0.1 '@expo/devcert': 1.2.0 - '@expo/env': 0.4.2 - '@expo/image-utils': 0.6.5 - '@expo/json-file': 9.1.5 - '@expo/metro-config': 0.19.12 + '@expo/env': 2.0.7 + '@expo/image-utils': 0.8.7 + '@expo/json-file': 10.0.7 + '@expo/mcp-tunnel': 0.0.7 + '@expo/metro': 0.1.1 + '@expo/metro-config': 54.0.3(expo@54.0.8) '@expo/osascript': 2.3.7 '@expo/package-manager': 1.9.8 - '@expo/plist': 0.2.2 - '@expo/prebuild-config': 8.2.0 - '@expo/rudder-sdk-node': 1.1.1 + '@expo/plist': 0.4.7 + '@expo/prebuild-config': 54.0.3(expo@54.0.8) + '@expo/schema-utils': 0.1.7 + '@expo/server': 0.7.4 '@expo/spawn-async': 1.7.2 '@expo/ws-tunnel': 1.0.6 '@expo/xcpretty': 4.3.2 - '@react-native/dev-middleware': 0.76.9 + '@react-native/dev-middleware': 0.81.4 '@urql/core': 5.2.0 '@urql/exchange-retry': 1.3.2(@urql/core@5.2.0) accepts: 1.3.8 arg: 5.0.2 better-opn: 3.0.2 - bplist-creator: 0.0.7 + bplist-creator: 0.1.0 bplist-parser: 0.3.2 - cacache: 18.0.4 chalk: 4.1.2 ci-info: 3.9.0 compression: 1.8.1 connect: 3.7.0 debug: 4.4.1 env-editor: 0.4.2 - fast-glob: 3.3.3 - form-data: 3.0.4 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) freeport-async: 2.0.0 - fs-extra: 8.1.0 - getenv: 1.0.0 + getenv: 2.0.0 glob: 10.4.5 - internal-ip: 4.3.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - lodash.debounce: 4.0.8 - minimatch: 3.1.2 + lan-network: 0.1.7 + minimatch: 9.0.5 node-forge: 1.3.1 npm-package-arg: 11.0.3 ora: 3.4.0 @@ -8834,17 +7851,17 @@ snapshots: source-map-support: 0.5.21 stacktrace-parser: 0.1.11 structured-headers: 0.4.1 - tar: 6.2.1 - temp-dir: 2.0.0 - tempy: 0.7.1 + tar: 7.4.3 terminal-link: 2.1.1 undici: 6.21.3 - unique-string: 2.0.0 wrap-ansi: 7.0.0 ws: 8.18.0 + optionalDependencies: + expo-router: 6.0.7(@expo/metro-runtime@6.1.2)(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(expo-constants@18.0.9)(expo-linking@8.0.8)(expo@54.0.8)(react-dom@19.1.0(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) transitivePeerDependencies: + - '@modelcontextprotocol/sdk' - bufferutil - - encoding - graphql - supports-color - utf-8-validate @@ -8854,15 +7871,15 @@ snapshots: node-forge: 1.3.1 nullthrows: 1.1.1 - '@expo/config-plugins@9.0.17': + '@expo/config-plugins@54.0.1': dependencies: - '@expo/config-types': 52.0.5 - '@expo/json-file': 9.0.2 - '@expo/plist': 0.2.2 + '@expo/config-types': 54.0.8 + '@expo/json-file': 10.0.7 + '@expo/plist': 0.4.7 '@expo/sdk-runtime-versions': 1.0.0 chalk: 4.1.2 debug: 4.4.1 - getenv: 1.0.0 + getenv: 2.0.0 glob: 10.4.5 resolve-from: 5.0.0 semver: 7.7.2 @@ -8873,16 +7890,16 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/config-types@52.0.5': {} + '@expo/config-types@54.0.8': {} - '@expo/config@10.0.11': + '@expo/config@12.0.9': dependencies: '@babel/code-frame': 7.10.4 - '@expo/config-plugins': 9.0.17 - '@expo/config-types': 52.0.5 - '@expo/json-file': 9.1.5 + '@expo/config-plugins': 54.0.1 + '@expo/config-types': 54.0.8 + '@expo/json-file': 10.0.7 deepmerge: 4.3.1 - getenv: 1.0.0 + getenv: 2.0.0 glob: 10.4.5 require-from-string: 2.0.2 resolve-from: 5.0.0 @@ -8901,40 +7918,48 @@ snapshots: transitivePeerDependencies: - supports-color - '@expo/env@0.4.2': + '@expo/devtools@0.1.7(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0)': + dependencies: + chalk: 4.1.2 + optionalDependencies: + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + + '@expo/env@2.0.7': dependencies: chalk: 4.1.2 debug: 4.4.1 dotenv: 16.4.7 dotenv-expand: 11.0.7 - getenv: 1.0.0 + getenv: 2.0.0 transitivePeerDependencies: - supports-color - '@expo/fingerprint@0.11.11': + '@expo/fingerprint@0.15.1': dependencies: '@expo/spawn-async': 1.7.2 arg: 5.0.2 chalk: 4.1.2 debug: 4.4.1 - find-up: 5.0.0 - getenv: 1.0.0 - minimatch: 3.1.2 + getenv: 2.0.0 + glob: 10.4.5 + ignore: 5.3.2 + minimatch: 9.0.5 p-limit: 3.1.0 resolve-from: 5.0.0 semver: 7.7.2 transitivePeerDependencies: - supports-color - '@expo/image-utils@0.6.5': + '@expo/image-utils@0.8.7': dependencies: '@expo/spawn-async': 1.7.2 chalk: 4.1.2 - fs-extra: 9.0.0 - getenv: 1.0.0 + getenv: 2.0.0 jimp-compact: 0.16.1 parse-png: 2.1.0 resolve-from: 5.0.0 + resolve-global: 1.0.0 semver: 7.7.2 temp-dir: 2.0.0 unique-string: 2.0.0 @@ -8944,43 +7969,75 @@ snapshots: '@babel/code-frame': 7.10.4 json5: 2.2.3 - '@expo/json-file@9.0.2': - dependencies: - '@babel/code-frame': 7.10.4 - json5: 2.2.3 - write-file-atomic: 2.4.3 - - '@expo/json-file@9.1.5': + '@expo/mcp-tunnel@0.0.7': dependencies: - '@babel/code-frame': 7.10.4 - json5: 2.2.3 + ws: 8.18.3 + zod: 3.25.76 + zod-to-json-schema: 3.24.6(zod@3.25.76) + transitivePeerDependencies: + - bufferutil + - utf-8-validate - '@expo/metro-config@0.19.12': + '@expo/metro-config@54.0.3(expo@54.0.8)': dependencies: + '@babel/code-frame': 7.27.1 '@babel/core': 7.28.0 - '@babel/generator': 7.28.0 - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 - '@expo/config': 10.0.11 - '@expo/env': 0.4.2 - '@expo/json-file': 9.0.2 + '@babel/generator': 7.28.3 + '@expo/config': 12.0.9 + '@expo/env': 2.0.7 + '@expo/json-file': 10.0.7 + '@expo/metro': 0.1.1 '@expo/spawn-async': 1.7.2 + browserslist: 4.26.2 chalk: 4.1.2 debug: 4.4.1 - fs-extra: 9.1.0 - getenv: 1.0.0 + dotenv: 16.4.7 + dotenv-expand: 11.0.7 + getenv: 2.0.0 glob: 10.4.5 + hermes-parser: 0.29.1 jsc-safe-url: 0.2.4 - lightningcss: 1.27.0 - minimatch: 3.1.2 + lightningcss: 1.30.1 + minimatch: 9.0.5 postcss: 8.4.49 resolve-from: 5.0.0 + optionalDependencies: + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate - '@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))': + '@expo/metro-runtime@6.1.2(expo@54.0.8)(react-dom@19.1.0(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0)': dependencies: - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + anser: 1.4.10 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + pretty-format: 29.7.0 + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + stacktrace-parser: 0.1.11 + whatwg-fetch: 3.6.20 + optionalDependencies: + react-dom: 19.1.0(react@19.1.0) + + '@expo/metro@0.1.1': + dependencies: + metro: 0.83.1 + metro-babel-transformer: 0.83.1 + metro-cache: 0.83.1 + metro-cache-key: 0.83.1 + metro-config: 0.83.1 + metro-core: 0.83.1 + metro-file-map: 0.83.1 + metro-resolver: 0.83.1 + metro-runtime: 0.83.1 + metro-source-map: 0.83.1 + metro-transform-plugins: 0.83.1 + metro-transform-worker: 0.83.1 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate '@expo/osascript@2.3.7': dependencies: @@ -8996,48 +8053,36 @@ snapshots: ora: 3.4.0 resolve-workspace-root: 2.0.0 - '@expo/plist@0.2.2': + '@expo/plist@0.4.7': dependencies: - '@xmldom/xmldom': 0.7.13 + '@xmldom/xmldom': 0.8.11 base64-js: 1.5.1 - xmlbuilder: 14.0.0 + xmlbuilder: 15.1.1 - '@expo/prebuild-config@8.2.0': + '@expo/prebuild-config@54.0.3(expo@54.0.8)': dependencies: - '@expo/config': 10.0.11 - '@expo/config-plugins': 9.0.17 - '@expo/config-types': 52.0.5 - '@expo/image-utils': 0.6.5 - '@expo/json-file': 9.1.5 - '@react-native/normalize-colors': 0.76.9 + '@expo/config': 12.0.9 + '@expo/config-plugins': 54.0.1 + '@expo/config-types': 54.0.8 + '@expo/image-utils': 0.8.7 + '@expo/json-file': 10.0.7 + '@react-native/normalize-colors': 0.81.4 debug: 4.4.1 - fs-extra: 9.1.0 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) resolve-from: 5.0.0 semver: 7.7.2 xml2js: 0.6.0 transitivePeerDependencies: - supports-color - '@expo/rudder-sdk-node@1.1.1': - dependencies: - '@expo/bunyan': 4.0.1 - '@segment/loosely-validate-event': 2.0.0 - fetch-retry: 4.1.1 - md5: 2.3.0 - node-fetch: 2.7.0 - remove-trailing-slash: 0.1.1 - uuid: 8.3.2 - transitivePeerDependencies: - - encoding + '@expo/schema-utils@0.1.7': {} '@expo/sdk-runtime-versions@1.0.0': {} - '@expo/server@0.5.3': + '@expo/server@0.7.4': dependencies: abort-controller: 3.0.0 debug: 4.4.1 - source-map-support: 0.5.21 - undici: 6.21.3 transitivePeerDependencies: - supports-color @@ -9047,9 +8092,11 @@ snapshots: '@expo/sudo-prompt@9.3.2': {} - '@expo/vector-icons@14.0.4': + '@expo/vector-icons@15.0.2(expo-font@14.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0)': dependencies: - prop-types: 15.8.1 + expo-font: 14.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) '@expo/ws-tunnel@1.0.6': {} @@ -9401,10 +8448,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@npmcli/fs@3.1.1': - dependencies: - semver: 7.7.2 - '@octokit/app@16.0.1': dependencies: '@octokit/auth-app': 8.0.2 @@ -9638,6 +8681,18 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.13 + '@types/react-dom': 19.1.7(@types/react@19.1.13) + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.1) @@ -9650,10 +8705,11 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) - '@radix-ui/react-compose-refs@1.0.0(react@18.3.1)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.13)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 - react: 18.3.1 + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.9)(react@19.1.1)': dependencies: @@ -9661,12 +8717,40 @@ snapshots: optionalDependencies: '@types/react': 19.1.9 + '@radix-ui/react-context@1.1.2(@types/react@19.1.13)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 + '@radix-ui/react-context@1.1.2(@types/react@19.1.9)(react@19.1.1)': dependencies: react: 19.1.1 optionalDependencies: '@types/react': 19.1.9 + '@radix-ui/react-dialog@1.1.14(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.10(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.13)(react@19.1.0) + aria-hidden: 1.2.6 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-remove-scroll: 2.7.1(@types/react@19.1.13)(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.13 + '@types/react-dom': 19.1.7(@types/react@19.1.13) + '@radix-ui/react-dialog@1.1.14(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@radix-ui/primitive': 1.1.2 @@ -9689,12 +8773,31 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-direction@1.1.1(@types/react@19.1.13)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 + '@radix-ui/react-direction@1.1.1(@types/react@19.1.9)(react@19.1.1)': dependencies: react: 19.1.1 optionalDependencies: '@types/react': 19.1.9 + '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.13 + '@types/react-dom': 19.1.7(@types/react@19.1.13) + '@radix-ui/react-dismissable-layer@1.1.10(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@radix-ui/primitive': 1.1.2 @@ -9723,12 +8826,29 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-focus-guards@1.1.2(@types/react@19.1.13)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 + '@radix-ui/react-focus-guards@1.1.2(@types/react@19.1.9)(react@19.1.1)': dependencies: react: 19.1.1 optionalDependencies: '@types/react': 19.1.9 + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.13 + '@types/react-dom': 19.1.7(@types/react@19.1.13) + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.1) @@ -9740,6 +8860,13 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-id@1.1.1(@types/react@19.1.13)(react@19.1.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 + '@radix-ui/react-id@1.1.1(@types/react@19.1.9)(react@19.1.1)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.1) @@ -9823,6 +8950,16 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.13 + '@types/react-dom': 19.1.7(@types/react@19.1.13) + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -9833,6 +8970,16 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-presence@1.1.4(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.13 + '@types/react-dom': 19.1.7(@types/react@19.1.13) + '@radix-ui/react-presence@1.1.4(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.1) @@ -9853,6 +9000,15 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.13 + '@types/react-dom': 19.1.7(@types/react@19.1.13) + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@radix-ui/react-slot': 1.2.3(@types/react@19.1.9)(react@19.1.1) @@ -9862,6 +9018,23 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-roving-focus@1.1.10(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.13 + '@types/react-dom': 19.1.7(@types/react@19.1.13) + '@radix-ui/react-roving-focus@1.1.10(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@radix-ui/primitive': 1.1.2 @@ -9934,11 +9107,19 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) - '@radix-ui/react-slot@1.0.1(react@18.3.1)': + '@radix-ui/react-slot@1.2.0(@types/react@19.1.13)(react@19.1.0)': dependencies: - '@babel/runtime': 7.28.2 - '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1) - react: 18.3.1 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 + + '@radix-ui/react-slot@1.2.3(@types/react@19.1.13)(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 '@radix-ui/react-slot@1.2.3(@types/react@19.1.9)(react@19.1.1)': dependencies: @@ -9962,6 +9143,22 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-tabs@1.1.12(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-context': 1.1.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-presence': 1.1.4(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-roving-focus': 1.1.10(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.13 + '@types/react-dom': 19.1.7(@types/react@19.1.13) + '@radix-ui/react-tabs@1.1.12(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': dependencies: '@radix-ui/primitive': 1.1.2 @@ -9998,12 +9195,26 @@ snapshots: '@types/react': 19.1.9 '@types/react-dom': 19.1.7(@types/react@19.1.9) + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.13)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.9)(react@19.1.1)': dependencies: react: 19.1.1 optionalDependencies: '@types/react': 19.1.9 + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.13)(react@19.1.0)': + dependencies: + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.9)(react@19.1.1)': dependencies: '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.9)(react@19.1.1) @@ -10012,6 +9223,13 @@ snapshots: optionalDependencies: '@types/react': 19.1.9 + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.13)(react@19.1.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.9)(react@19.1.1)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.1) @@ -10019,6 +9237,13 @@ snapshots: optionalDependencies: '@types/react': 19.1.9 + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.13)(react@19.1.0)': + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.13)(react@19.1.0) + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.9)(react@19.1.1)': dependencies: '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.9)(react@19.1.1) @@ -10033,6 +9258,12 @@ snapshots: optionalDependencies: '@types/react': 19.1.9 + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.13)(react@19.1.0)': + dependencies: + react: 19.1.0 + optionalDependencies: + '@types/react': 19.1.13 + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.9)(react@19.1.1)': dependencies: react: 19.1.1 @@ -10058,86 +9289,29 @@ snapshots: react: 19.1.1 optionalDependencies: '@types/react': 19.1.9 - - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': - dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) - react: 19.1.1 - react-dom: 19.1.1(react@19.1.1) - optionalDependencies: - '@types/react': 19.1.9 - '@types/react-dom': 19.1.7(@types/react@19.1.9) - - '@radix-ui/rect@1.1.1': {} - - '@react-native/assets-registry@0.76.0': {} - - '@react-native/babel-plugin-codegen@0.76.0(@babel/preset-env@7.28.3(@babel/core@7.28.0))': - dependencies: - '@react-native/codegen': 0.76.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - - '@react-native/babel-plugin-codegen@0.76.9(@babel/preset-env@7.28.3(@babel/core@7.28.0))': - dependencies: - '@react-native/codegen': 0.76.9(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color - - '@react-native/babel-preset@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))': - dependencies: - '@babel/core': 7.28.0 - '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.28.0) - '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.28.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.28.0) - '@babel/plugin-transform-arrow-functions': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-async-generator-functions': 7.28.0(@babel/core@7.28.0) - '@babel/plugin-transform-async-to-generator': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-block-scoping': 7.28.4(@babel/core@7.28.0) - '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-classes': 7.28.4(@babel/core@7.28.0) - '@babel/plugin-transform-computed-properties': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-destructuring': 7.28.0(@babel/core@7.28.0) - '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-for-of': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-function-name': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-literals': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-logical-assignment-operators': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-numeric-separator': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.0) - '@babel/plugin-transform-optional-catch-binding': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-optional-chaining': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) - '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-react-display-name': 7.28.0(@babel/core@7.28.0) - '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-regenerator': 7.28.4(@babel/core@7.28.0) - '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.0) - '@babel/plugin-transform-shorthand-properties': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-spread': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-sticky-regex': 7.27.1(@babel/core@7.28.0) - '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0) - '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) - '@babel/template': 7.27.2 - '@react-native/babel-plugin-codegen': 0.76.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - babel-plugin-syntax-hermes-parser: 0.23.1 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.0) - react-refresh: 0.14.2 + + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)': + dependencies: + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + optionalDependencies: + '@types/react': 19.1.9 + '@types/react-dom': 19.1.7(@types/react@19.1.9) + + '@radix-ui/rect@1.1.1': {} + + '@react-native/assets-registry@0.81.4': {} + + '@react-native/babel-plugin-codegen@0.81.4(@babel/core@7.28.0)': + dependencies: + '@babel/traverse': 7.28.4 + '@react-native/codegen': 0.81.4(@babel/core@7.28.0) transitivePeerDependencies: - - '@babel/preset-env' + - '@babel/core' - supports-color - '@react-native/babel-preset@0.76.9(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + '@react-native/babel-preset@0.81.4(@babel/core@7.28.0)': dependencies: '@babel/core': 7.28.0 '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.0) @@ -10180,96 +9354,50 @@ snapshots: '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.0) '@babel/plugin-transform-unicode-regex': 7.27.1(@babel/core@7.28.0) '@babel/template': 7.27.2 - '@react-native/babel-plugin-codegen': 0.76.9(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - babel-plugin-syntax-hermes-parser: 0.25.1 + '@react-native/babel-plugin-codegen': 0.81.4(@babel/core@7.28.0) + babel-plugin-syntax-hermes-parser: 0.29.1 babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.0) react-refresh: 0.14.2 transitivePeerDependencies: - - '@babel/preset-env' - supports-color - '@react-native/codegen@0.76.0(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + '@react-native/codegen@0.81.4(@babel/core@7.28.0)': dependencies: - '@babel/parser': 7.28.0 - '@babel/preset-env': 7.28.3(@babel/core@7.28.0) - glob: 7.2.3 - hermes-parser: 0.23.1 - invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - mkdirp: 0.5.6 - nullthrows: 1.1.1 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - - '@react-native/codegen@0.76.9(@babel/preset-env@7.28.3(@babel/core@7.28.0))': - dependencies: - '@babel/parser': 7.28.0 - '@babel/preset-env': 7.28.3(@babel/core@7.28.0) + '@babel/core': 7.28.0 + '@babel/parser': 7.28.4 glob: 7.2.3 - hermes-parser: 0.23.1 + hermes-parser: 0.29.1 invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - mkdirp: 0.5.6 nullthrows: 1.1.1 yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - '@react-native/community-cli-plugin@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))': + '@react-native/community-cli-plugin@0.81.4': dependencies: - '@react-native/dev-middleware': 0.76.0 - '@react-native/metro-babel-transformer': 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - chalk: 4.1.2 - execa: 5.1.1 + '@react-native/dev-middleware': 0.81.4 + debug: 4.4.1 invariant: 2.2.4 - metro: 0.81.5 - metro-config: 0.81.5 - metro-core: 0.81.5 - node-fetch: 2.7.0 - readline: 1.3.0 + metro: 0.83.1 + metro-config: 0.83.1 + metro-core: 0.83.1 + semver: 7.7.2 transitivePeerDependencies: - - '@babel/core' - - '@babel/preset-env' - bufferutil - - encoding - supports-color - utf-8-validate - '@react-native/debugger-frontend@0.76.0': {} - - '@react-native/debugger-frontend@0.76.9': {} - - '@react-native/dev-middleware@0.76.0': - dependencies: - '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.76.0 - chrome-launcher: 0.15.2 - chromium-edge-launcher: 0.2.0 - connect: 3.7.0 - debug: 2.6.9 - nullthrows: 1.1.1 - open: 7.4.2 - selfsigned: 2.4.1 - serve-static: 1.16.2 - ws: 6.2.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate + '@react-native/debugger-frontend@0.81.4': {} - '@react-native/dev-middleware@0.76.9': + '@react-native/dev-middleware@0.81.4': dependencies: '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.76.9 + '@react-native/debugger-frontend': 0.81.4 chrome-launcher: 0.15.2 chromium-edge-launcher: 0.2.0 connect: 3.7.0 - debug: 2.6.9 + debug: 4.4.1 invariant: 2.2.4 nullthrows: 1.1.1 open: 7.4.2 - selfsigned: 2.4.1 serve-static: 1.16.2 ws: 6.2.3 transitivePeerDependencies: @@ -10277,91 +9405,77 @@ snapshots: - supports-color - utf-8-validate - '@react-native/gradle-plugin@0.76.0': {} + '@react-native/gradle-plugin@0.81.4': {} - '@react-native/js-polyfills@0.76.0': {} - - '@react-native/metro-babel-transformer@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))': - dependencies: - '@babel/core': 7.28.0 - '@react-native/babel-preset': 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - hermes-parser: 0.23.1 - nullthrows: 1.1.1 - transitivePeerDependencies: - - '@babel/preset-env' - - supports-color + '@react-native/js-polyfills@0.81.4': {} '@react-native/normalize-colors@0.74.89': {} - '@react-native/normalize-colors@0.76.0': {} + '@react-native/normalize-colors@0.81.4': {} - '@react-native/normalize-colors@0.76.8': {} - - '@react-native/normalize-colors@0.76.9': {} - - '@react-native/virtualized-lists@0.76.0(@types/react@18.3.24)(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)': + '@react-native/virtualized-lists@0.81.4(@types/react@19.1.13)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) optionalDependencies: - '@types/react': 18.3.24 + '@types/react': 19.1.13 - '@react-navigation/bottom-tabs@7.4.7(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-screens@4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)': + '@react-navigation/bottom-tabs@7.4.7(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0)': dependencies: - '@react-navigation/elements': 2.6.4(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - '@react-navigation/native': 7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + '@react-navigation/elements': 2.6.4(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + '@react-navigation/native': 7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) color: 4.2.3 - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) - react-native-safe-area-context: 4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react-native-screens: 4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + react-native-safe-area-context: 5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react-native-screens: 4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) transitivePeerDependencies: - '@react-native-masked-view/masked-view' - '@react-navigation/core@7.12.4(react@18.3.1)': + '@react-navigation/core@7.12.4(react@19.1.0)': dependencies: '@react-navigation/routers': 7.5.1 escape-string-regexp: 4.0.0 nanoid: 3.3.11 query-string: 7.1.3 - react: 18.3.1 + react: 19.1.0 react-is: 19.1.1 - use-latest-callback: 0.2.4(react@18.3.1) - use-sync-external-store: 1.5.0(react@18.3.1) + use-latest-callback: 0.2.4(react@19.1.0) + use-sync-external-store: 1.5.0(react@19.1.0) - '@react-navigation/elements@2.6.4(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)': + '@react-navigation/elements@2.6.4(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0)': dependencies: - '@react-navigation/native': 7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + '@react-navigation/native': 7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) color: 4.2.3 - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) - react-native-safe-area-context: 4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - use-latest-callback: 0.2.4(react@18.3.1) - use-sync-external-store: 1.5.0(react@18.3.1) - - '@react-navigation/native-stack@7.3.26(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-screens@4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)': - dependencies: - '@react-navigation/elements': 2.6.4(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - '@react-navigation/native': 7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) - react-native-safe-area-context: 4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react-native-screens: 4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + react-native-safe-area-context: 5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + use-latest-callback: 0.2.4(react@19.1.0) + use-sync-external-store: 1.5.0(react@19.1.0) + + '@react-navigation/native-stack@7.3.26(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0)': + dependencies: + '@react-navigation/elements': 2.6.4(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + '@react-navigation/native': 7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + react-native-safe-area-context: 5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react-native-screens: 4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) warn-once: 0.1.1 transitivePeerDependencies: - '@react-native-masked-view/masked-view' - '@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)': + '@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0)': dependencies: - '@react-navigation/core': 7.12.4(react@18.3.1) + '@react-navigation/core': 7.12.4(react@19.1.0) escape-string-regexp: 4.0.0 fast-deep-equal: 3.1.3 nanoid: 3.3.11 - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) - use-latest-callback: 0.2.4(react@18.3.1) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + use-latest-callback: 0.2.4(react@19.1.0) '@react-navigation/routers@7.5.1': dependencies: @@ -10444,11 +9558,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.46.2': optional: true - '@segment/loosely-validate-event@2.0.0': - dependencies: - component-type: 1.2.2 - join-component: 1.1.0 - '@sinclair/typebox@0.27.8': {} '@sindresorhus/is@7.0.2': {} @@ -10737,24 +9846,24 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@types/babel__generator': 7.27.0 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.28.0 '@types/babel__generator@7.27.0': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 '@types/babel__traverse@7.28.0': dependencies: - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@types/chai@5.2.2': dependencies: @@ -10798,10 +9907,6 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node-forge@1.3.14': - dependencies: - '@types/node': 24.1.0 - '@types/node@20.19.10': dependencies: undici-types: 6.21.0 @@ -10814,15 +9919,17 @@ snapshots: '@types/prismjs@1.26.5': {} - '@types/prop-types@15.7.15': {} + '@types/react-dom@19.1.7(@types/react@19.1.13)': + dependencies: + '@types/react': 19.1.13 + optional: true '@types/react-dom@19.1.7(@types/react@19.1.9)': dependencies: '@types/react': 19.1.9 - '@types/react@18.3.24': + '@types/react@19.1.13': dependencies: - '@types/prop-types': 15.7.15 csstype: 3.1.3 '@types/react@19.1.9': @@ -11030,8 +10137,6 @@ snapshots: loupe: 3.2.0 tinyrainbow: 2.0.0 - '@xmldom/xmldom@0.7.13': {} - '@xmldom/xmldom@0.8.11': {} '@xterm/addon-fit@0.10.0(@xterm/xterm@5.5.0)': @@ -11067,19 +10172,7 @@ snapshots: acorn@8.15.0: {} - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - - ajv-formats@2.1.1(ajv@8.17.1): - optionalDependencies: - ajv: 8.17.1 - - ajv-keywords@5.1.0(ajv@8.17.1): - dependencies: - ajv: 8.17.1 - fast-deep-equal: 3.1.3 + agent-base@7.1.4: {} ajv@6.12.6: dependencies: @@ -11088,20 +10181,6 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.11.0: - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - - ajv@8.17.1: - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.1.0 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - anser@1.4.10: {} ansi-escapes@4.3.2: @@ -11155,16 +10234,10 @@ snapshots: array-flatten@1.1.1: {} - array-union@2.1.0: {} - asap@2.0.6: {} assertion-error@2.0.1: {} - ast-types@0.15.2: - dependencies: - tslib: 2.8.1 - ast-types@0.16.1: dependencies: tslib: 2.8.1 @@ -11177,14 +10250,6 @@ snapshots: async-limiter@1.0.1: {} - asynckit@0.4.0: {} - - at-least-node@1.0.0: {} - - babel-core@7.0.0-bridge.0(@babel/core@7.28.0): - dependencies: - '@babel/core': 7.28.0 - babel-dead-code-elimination@1.0.10: dependencies: '@babel/core': 7.28.0 @@ -11220,7 +10285,7 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.27.2 - '@babel/types': 7.28.2 + '@babel/types': 7.28.4 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.28.0 @@ -11230,6 +10295,14 @@ snapshots: cosmiconfig: 7.1.0 resolve: 1.22.10 + babel-plugin-module-resolver@5.0.2: + dependencies: + find-babel-config: 2.1.2 + glob: 9.3.5 + pkg-up: 3.1.0 + reselect: 4.1.8 + resolve: 1.22.10 + babel-plugin-polyfill-corejs2@0.4.14(@babel/core@7.28.0): dependencies: '@babel/compat-data': 7.28.0 @@ -11254,15 +10327,15 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-react-native-web@0.19.13: {} - - babel-plugin-syntax-hermes-parser@0.23.1: + babel-plugin-react-compiler@19.1.0-rc.3: dependencies: - hermes-parser: 0.23.1 + '@babel/types': 7.28.4 - babel-plugin-syntax-hermes-parser@0.25.1: + babel-plugin-react-native-web@0.21.1: {} + + babel-plugin-syntax-hermes-parser@0.29.1: dependencies: - hermes-parser: 0.25.1 + hermes-parser: 0.29.1 babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.28.0): dependencies: @@ -11289,20 +10362,36 @@ snapshots: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.28.0) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.28.0) - babel-preset-expo@12.0.11(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)): + babel-preset-expo@54.0.1(@babel/core@7.28.0)(@babel/runtime@7.28.2)(expo@54.0.8)(react-refresh@0.14.2): dependencies: + '@babel/helper-module-imports': 7.27.1 '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.0) + '@babel/plugin-proposal-export-default-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-syntax-export-default-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-class-static-block': 7.28.3(@babel/core@7.28.0) '@babel/plugin-transform-export-namespace-from': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-flow-strip-types': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) '@babel/plugin-transform-object-rest-spread': 7.28.4(@babel/core@7.28.0) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.28.0) + '@babel/plugin-transform-private-methods': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-private-property-in-object': 7.27.1(@babel/core@7.28.0) + '@babel/plugin-transform-runtime': 7.28.3(@babel/core@7.28.0) '@babel/preset-react': 7.27.1(@babel/core@7.28.0) '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) - '@react-native/babel-preset': 0.76.9(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - babel-plugin-react-native-web: 0.19.13 + '@react-native/babel-preset': 0.81.4(@babel/core@7.28.0) + babel-plugin-react-compiler: 19.1.0-rc.3 + babel-plugin-react-native-web: 0.21.1 + babel-plugin-syntax-hermes-parser: 0.29.1 + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.28.0) + debug: 4.4.1 react-refresh: 0.14.2 + resolve-from: 5.0.0 + optionalDependencies: + '@babel/runtime': 7.28.2 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) transitivePeerDependencies: - '@babel/core' - - '@babel/preset-env' - supports-color babel-preset-jest@29.6.3(@babel/core@7.28.0): @@ -11350,10 +10439,6 @@ snapshots: transitivePeerDependencies: - supports-color - bplist-creator@0.0.7: - dependencies: - stream-buffers: 2.2.0 - bplist-creator@0.1.0: dependencies: stream-buffers: 2.2.0 @@ -11398,15 +10483,6 @@ snapshots: dependencies: node-int64: 0.4.0 - buffer-alloc-unsafe@1.1.0: {} - - buffer-alloc@1.2.0: - dependencies: - buffer-alloc-unsafe: 1.1.0 - buffer-fill: 1.0.0 - - buffer-fill@1.0.0: {} - buffer-from@1.1.2: {} buffer@5.7.1: @@ -11418,21 +10494,6 @@ snapshots: cac@6.7.14: {} - cacache@18.0.4: - dependencies: - '@npmcli/fs': 3.1.1 - fs-minipass: 3.0.3 - glob: 10.4.5 - lru-cache: 10.4.3 - minipass: 7.1.2 - minipass-collect: 2.0.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.6 - tar: 6.2.1 - unique-filename: 3.0.0 - call-bind-apply-helpers@1.0.2: dependencies: es-errors: 1.3.0 @@ -11494,8 +10555,6 @@ snapshots: chardet@0.7.0: {} - charenc@0.0.2: {} - check-error@2.1.1: {} chokidar@3.6.0: @@ -11510,8 +10569,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chownr@2.0.0: {} - chownr@3.0.0: {} chrome-launcher@0.15.2: @@ -11544,8 +10601,6 @@ snapshots: classnames@2.5.1: {} - clean-stack@2.2.0: {} - cli-cursor@2.1.0: dependencies: restore-cursor: 2.0.0 @@ -11562,12 +10617,6 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - clone-deep@4.0.1: - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - clone@1.0.4: {} clsx@2.1.1: {} @@ -11606,10 +10655,6 @@ snapshots: color-convert: 2.0.1 color-string: 1.9.1 - combined-stream@1.0.8: - dependencies: - delayed-stream: 1.0.0 - comma-separated-tokens@2.0.3: {} commander@12.1.0: {} @@ -11620,12 +10665,8 @@ snapshots: commander@7.2.0: {} - commondir@1.0.1: {} - compare-versions@6.1.1: {} - component-type@1.2.2: {} - compressible@2.0.18: dependencies: mime-db: 1.52.0 @@ -11711,22 +10752,12 @@ snapshots: transitivePeerDependencies: - encoding - cross-spawn@6.0.6: - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - crypt@0.0.2: {} - crypto-random-string@2.0.0: {} css-in-js-utils@3.1.0: @@ -11769,11 +10800,6 @@ snapshots: deepmerge@4.3.1: {} - default-gateway@4.2.0: - dependencies: - execa: 1.0.0 - ip-regex: 2.1.0 - defaults@1.0.4: dependencies: clone: 1.0.4 @@ -11782,27 +10808,12 @@ snapshots: defu@6.1.4: {} - del@6.1.1: - dependencies: - globby: 11.1.0 - graceful-fs: 4.2.11 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - - delayed-stream@1.0.0: {} - depd@2.0.0: {} dequal@2.0.3: {} destroy@1.2.0: {} - detect-libc@1.0.3: {} - detect-libc@2.0.4: {} detect-node-es@1.1.0: {} @@ -11815,10 +10826,6 @@ snapshots: diff@8.0.2: {} - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - dom-accessibility-api@0.5.16: {} dom-accessibility-api@0.6.3: {} @@ -11851,10 +10858,6 @@ snapshots: encodeurl@2.0.0: {} - end-of-stream@1.4.5: - dependencies: - once: 1.4.0 - enhanced-resolve@5.18.2: dependencies: graceful-fs: 4.2.11 @@ -11882,13 +10885,6 @@ snapshots: 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 - esbuild@0.25.4: optionalDependencies: '@esbuild/aix-ppc64': 0.25.4 @@ -12100,259 +11096,249 @@ snapshots: exec-async@2.2.0: {} - execa@1.0.0: - dependencies: - cross-spawn: 6.0.6 - get-stream: 4.1.0 - is-stream: 1.1.0 - npm-run-path: 2.0.2 - p-finally: 1.0.0 - signal-exit: 3.0.7 - strip-eof: 1.0.0 - - execa@5.1.1: - dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - exit-hook@2.2.1: {} expect-type@1.2.2: {} - expo-application@6.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + expo-application@7.0.7(expo@54.0.8): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) - expo-asset@11.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + expo-asset@12.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: - '@expo/image-utils': 0.6.5 - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - expo-constants: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) - invariant: 2.2.4 - md5-file: 3.2.3 - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + '@expo/image-utils': 0.8.7 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + expo-constants: 18.0.9(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) transitivePeerDependencies: - supports-color - expo-auth-session@6.0.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + expo-auth-session@7.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: - expo-application: 6.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) - expo-constants: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) - expo-crypto: 14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) - expo-linking: 7.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - expo-web-browser: 14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + expo-application: 7.0.7(expo@54.0.8) + expo-constants: 18.0.9(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) + expo-crypto: 15.0.7(expo@54.0.8) + expo-linking: 8.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + expo-web-browser: 15.0.7(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) invariant: 2.2.4 - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) transitivePeerDependencies: - expo - supports-color - expo-constants@17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)): + expo-constants@18.0.9(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)): dependencies: - '@expo/config': 10.0.11 - '@expo/env': 0.4.2 - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + '@expo/config': 12.0.9 + '@expo/env': 2.0.7 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) transitivePeerDependencies: - supports-color - expo-crypto@14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + expo-crypto@15.0.7(expo@54.0.8): dependencies: base64-js: 1.5.1 - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) - expo-dev-client@5.0.20(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + expo-dev-client@6.0.12(expo@54.0.8): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - expo-dev-launcher: 5.0.35(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) - expo-dev-menu: 6.0.25(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) - expo-dev-menu-interface: 1.9.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) - expo-manifests: 0.15.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) - expo-updates-interface: 1.0.0(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + expo-dev-launcher: 6.0.11(expo@54.0.8) + expo-dev-menu: 7.0.11(expo@54.0.8) + expo-dev-menu-interface: 2.0.0(expo@54.0.8) + expo-manifests: 1.0.8(expo@54.0.8) + expo-updates-interface: 2.0.0(expo@54.0.8) transitivePeerDependencies: - supports-color - expo-dev-launcher@5.0.35(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + expo-dev-launcher@6.0.11(expo@54.0.8): dependencies: - ajv: 8.11.0 - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - expo-dev-menu: 6.0.25(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) - expo-manifests: 0.15.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) - resolve-from: 5.0.0 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + expo-dev-menu: 7.0.11(expo@54.0.8) + expo-manifests: 1.0.8(expo@54.0.8) transitivePeerDependencies: - supports-color - expo-dev-menu-interface@1.9.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + expo-dev-menu-interface@2.0.0(expo@54.0.8): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) - expo-dev-menu@6.0.25(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + expo-dev-menu@7.0.11(expo@54.0.8): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - expo-dev-menu-interface: 1.9.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + expo-dev-menu-interface: 2.0.0(expo@54.0.8) - expo-file-system@18.0.12(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)): + expo-file-system@19.0.14(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) - web-streams-polyfill: 3.3.3 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) - expo-font@13.0.4(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react@18.3.1): + expo-font@14.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) fontfaceobserver: 2.3.0 - react: 18.3.1 + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) - expo-json-utils@0.14.0: {} + expo-json-utils@0.15.0: {} - expo-keep-awake@14.0.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react@18.3.1): + expo-keep-awake@15.0.7(expo@54.0.8)(react@19.1.0): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react: 18.3.1 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react: 19.1.0 - expo-linear-gradient@14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + expo-linear-gradient@15.0.7(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) - expo-linking@7.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + expo-linking@8.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: - expo-constants: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + expo-constants: 18.0.9(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) invariant: 2.2.4 - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) transitivePeerDependencies: - expo - supports-color - expo-manifests@0.15.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + expo-manifests@1.0.8(expo@54.0.8): dependencies: - '@expo/config': 10.0.11 - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - expo-json-utils: 0.14.0 + '@expo/config': 12.0.9 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + expo-json-utils: 0.15.0 transitivePeerDependencies: - supports-color - expo-modules-autolinking@2.0.8: + expo-modules-autolinking@3.0.11: dependencies: '@expo/spawn-async': 1.7.2 chalk: 4.1.2 commander: 7.2.0 - fast-glob: 3.3.3 - find-up: 5.0.0 - fs-extra: 9.1.0 + glob: 10.4.5 require-from-string: 2.0.2 resolve-from: 5.0.0 - expo-modules-core@2.2.3: + expo-modules-core@3.0.16(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: invariant: 2.2.4 - - expo-router@4.0.21(f8460a4f3ebbb07d651874df98bf0dac): - dependencies: - '@expo/metro-runtime': 4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) - '@expo/server': 0.5.3 - '@radix-ui/react-slot': 1.0.1(react@18.3.1) - '@react-navigation/bottom-tabs': 7.4.7(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-screens@4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - '@react-navigation/native': 7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - '@react-navigation/native-stack': 7.3.26(@react-navigation/native@7.1.17(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-screens@4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + + expo-router@6.0.7(@expo/metro-runtime@6.1.2)(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(expo-constants@18.0.9)(expo-linking@8.0.8)(expo@54.0.8)(react-dom@19.1.0(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): + dependencies: + '@expo/metro-runtime': 6.1.2(expo@54.0.8)(react-dom@19.1.0(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + '@expo/schema-utils': 0.1.7 + '@expo/server': 0.7.4 + '@radix-ui/react-slot': 1.2.0(@types/react@19.1.13)(react@19.1.0) + '@radix-ui/react-tabs': 1.1.12(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@react-navigation/bottom-tabs': 7.4.7(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + '@react-navigation/native': 7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + '@react-navigation/native-stack': 7.3.26(@react-navigation/native@7.1.17(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) client-only: 0.0.1 - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - expo-constants: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) - expo-linking: 7.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react-helmet-async: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-native-helmet-async: 2.0.4(react@18.3.1) - react-native-is-edge-to-edge: 1.2.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react-native-safe-area-context: 4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react-native-screens: 4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - schema-utils: 4.3.2 + debug: 4.4.1 + escape-string-regexp: 4.0.0 + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + expo-constants: 18.0.9(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) + expo-linking: 8.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + fast-deep-equal: 3.1.3 + invariant: 2.2.4 + nanoid: 3.3.11 + query-string: 7.1.3 + react: 19.1.0 + react-fast-compare: 3.2.2 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react-native-safe-area-context: 5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react-native-screens: 4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) semver: 7.6.3 server-only: 0.0.1 + sf-symbols-typescript: 2.1.0 + shallowequal: 1.1.0 + use-latest-callback: 0.2.4(react@19.1.0) + vaul: 1.1.2(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + optionalDependencies: + react-dom: 19.1.0(react@19.1.0) + react-native-web: 0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) transitivePeerDependencies: - '@react-native-masked-view/masked-view' - - react - - react-dom - - react-native + - '@types/react' + - '@types/react-dom' - supports-color - expo-secure-store@14.0.1(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + expo-secure-store@15.0.7(expo@54.0.8): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) - expo-splash-screen@0.29.24(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + expo-splash-screen@31.0.10(expo@54.0.8): dependencies: - '@expo/prebuild-config': 8.2.0 - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + '@expo/prebuild-config': 54.0.3(expo@54.0.8) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) transitivePeerDependencies: - supports-color - expo-status-bar@2.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + expo-status-bar@3.0.8(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) - expo-system-ui@4.0.9(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native-web@0.19.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)): + expo-system-ui@6.0.7(expo@54.0.8)(react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)): dependencies: - '@react-native/normalize-colors': 0.76.8 + '@react-native/normalize-colors': 0.81.4 debug: 4.4.1 - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) optionalDependencies: - react-native-web: 0.19.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-native-web: 0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0) transitivePeerDependencies: - supports-color - expo-updates-interface@1.0.0(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1)): + expo-updates-interface@2.0.0(expo@54.0.8): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) - expo-web-browser@14.0.2(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)): + expo-web-browser@15.0.7(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)): dependencies: - expo: 52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + expo: 54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) - expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + expo@54.0.8(@babel/core@7.28.0)(@expo/metro-runtime@6.1.2)(expo-router@6.0.7)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: '@babel/runtime': 7.28.2 - '@expo/cli': 0.22.26 - '@expo/config': 10.0.11 - '@expo/config-plugins': 9.0.17 - '@expo/fingerprint': 0.11.11 - '@expo/metro-config': 0.19.12 - '@expo/vector-icons': 14.0.4 - babel-preset-expo: 12.0.11(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - expo-asset: 11.0.5(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) - expo-constants: 17.0.8(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) - expo-file-system: 18.0.12(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) - expo-font: 13.0.4(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react@18.3.1) - expo-keep-awake: 14.0.3(expo@52.0.47(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@expo/metro-runtime@4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)))(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1))(react@18.3.1) - expo-modules-autolinking: 2.0.8 - expo-modules-core: 2.2.3 - fbemitter: 3.0.0 - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) - web-streams-polyfill: 3.3.3 + '@expo/cli': 54.0.6(expo-router@6.0.7)(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) + '@expo/config': 12.0.9 + '@expo/config-plugins': 54.0.1 + '@expo/devtools': 0.1.7(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + '@expo/fingerprint': 0.15.1 + '@expo/metro': 0.1.1 + '@expo/metro-config': 54.0.3(expo@54.0.8) + '@expo/vector-icons': 15.0.2(expo-font@14.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + '@ungap/structured-clone': 1.3.0 + babel-preset-expo: 54.0.1(@babel/core@7.28.0)(@babel/runtime@7.28.2)(expo@54.0.8)(react-refresh@0.14.2) + expo-asset: 12.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + expo-constants: 18.0.9(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) + expo-file-system: 19.0.14(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0)) + expo-font: 14.0.8(expo@54.0.8)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + expo-keep-awake: 15.0.7(expo@54.0.8)(react@19.1.0) + expo-modules-autolinking: 3.0.11 + expo-modules-core: 3.0.16(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) + pretty-format: 29.7.0 + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + react-refresh: 0.14.2 whatwg-url-without-unicode: 8.0.0-3 optionalDependencies: - '@expo/metro-runtime': 4.0.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1)) + '@expo/metro-runtime': 6.1.2(expo@54.0.8)(react-dom@19.1.0(react@19.1.0))(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) transitivePeerDependencies: - '@babel/core' - - '@babel/preset-env' - - babel-plugin-react-compiler + - '@modelcontextprotocol/sdk' - bufferutil - - encoding + - expo-router - graphql - - react-compiler-runtime - supports-color - utf-8-validate @@ -12420,10 +11406,6 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-loops@1.1.4: {} - - fast-uri@3.1.0: {} - fastq@1.19.1: dependencies: reusify: 1.1.0 @@ -12432,12 +11414,6 @@ snapshots: dependencies: bser: 2.1.1 - fbemitter@3.0.0: - dependencies: - fbjs: 3.0.5 - transitivePeerDependencies: - - encoding - fbjs-css-vars@1.0.2: {} fbjs@3.0.5: @@ -12456,8 +11432,6 @@ snapshots: optionalDependencies: picomatch: 4.0.3 - fetch-retry@4.1.1: {} - fflate@0.8.2: {} file-entry-cache@8.0.0: @@ -12494,11 +11468,9 @@ snapshots: transitivePeerDependencies: - supports-color - find-cache-dir@2.1.0: + find-babel-config@2.1.2: dependencies: - commondir: 1.0.1 - make-dir: 2.1.0 - pkg-dir: 3.0.0 + json5: 2.2.3 find-root@1.1.0: {} @@ -12525,8 +11497,6 @@ snapshots: flow-enums-runtime@0.0.6: {} - flow-parser@0.283.0: {} - fontfaceobserver@2.3.0: {} foreground-child@3.3.1: @@ -12534,48 +11504,12 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@3.0.4: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 - mime-types: 2.1.35 - forwarded@0.2.0: {} freeport-async@2.0.0: {} fresh@0.5.2: {} - fs-extra@8.1.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - - fs-extra@9.0.0: - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.11 - jsonfile: 6.2.0 - universalify: 1.0.0 - - fs-extra@9.1.0: - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.11 - jsonfile: 6.2.0 - universalify: 2.0.1 - - fs-minipass@2.1.0: - dependencies: - minipass: 3.3.6 - - fs-minipass@3.0.3: - dependencies: - minipass: 7.1.2 - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -12611,17 +11545,11 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - get-stream@4.1.0: - dependencies: - pump: 3.0.3 - - get-stream@6.0.1: {} - get-tsconfig@4.10.1: dependencies: resolve-pkg-maps: 1.0.0 - getenv@1.0.0: {} + getenv@2.0.0: {} glob-parent@5.1.2: dependencies: @@ -12651,19 +11579,21 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + glob@9.3.5: + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.11.1 + + global-dirs@0.1.1: + dependencies: + ini: 1.3.8 + globals@14.0.0: {} globals@16.3.0: {} - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.3 - ignore: 5.3.2 - merge2: 1.4.1 - slash: 3.0.0 - goober@2.1.16(csstype@3.1.3): dependencies: csstype: 3.1.3 @@ -12686,10 +11616,6 @@ snapshots: 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 @@ -12716,19 +11642,13 @@ snapshots: hast-util-whitespace@3.0.0: dependencies: - '@types/hast': 3.0.4 - - hermes-estree@0.23.1: {} - - hermes-estree@0.25.1: {} - - hermes-parser@0.23.1: - dependencies: - hermes-estree: 0.23.1 + '@types/hast': 3.0.4 + + hermes-estree@0.29.1: {} - hermes-parser@0.25.1: + hermes-parser@0.29.1: dependencies: - hermes-estree: 0.25.1 + hermes-estree: 0.29.1 hono@4.8.10: {} @@ -12748,7 +11668,12 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 - human-signals@2.1.0: {} + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color hyphenate-style-name@1.1.0: {} @@ -12791,22 +11716,14 @@ snapshots: inline-style-parser@0.2.4: {} - inline-style-prefixer@6.0.4: + inline-style-prefixer@7.0.1: dependencies: css-in-js-utils: 3.1.0 - fast-loops: 1.1.4 - - internal-ip@4.3.0: - dependencies: - default-gateway: 4.2.0 - ipaddr.js: 1.9.1 invariant@2.2.4: dependencies: loose-envify: 1.4.0 - ip-regex@2.1.0: {} - ipaddr.js@1.9.1: {} is-alphabetical@2.0.1: {} @@ -12824,8 +11741,6 @@ snapshots: dependencies: binary-extensions: 2.3.0 - is-buffer@1.1.6: {} - is-core-module@2.16.1: dependencies: hasown: 2.0.2 @@ -12858,20 +11773,8 @@ snapshots: is-number@7.0.0: {} - is-path-cwd@2.2.0: {} - - is-path-inside@3.0.3: {} - is-plain-obj@4.1.0: {} - is-plain-object@2.0.4: - dependencies: - isobject: 3.0.1 - - is-stream@1.1.0: {} - - is-stream@2.0.1: {} - is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -12880,14 +11783,12 @@ snapshots: isexe@2.0.0: {} - isobject@3.0.1: {} - istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.28.0 - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -12995,8 +11896,6 @@ snapshots: jiti@2.5.1: {} - join-component@1.1.0: {} - js-tokens@4.0.0: {} js-tokens@9.0.1: {} @@ -13010,35 +11909,8 @@ snapshots: dependencies: argparse: 2.0.1 - jsc-android@250231.0.0: {} - jsc-safe-url@0.2.4: {} - jscodeshift@0.14.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)): - dependencies: - '@babel/core': 7.28.0 - '@babel/parser': 7.28.0 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.28.0) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.28.0) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.28.0) - '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.28.0) - '@babel/preset-env': 7.28.3(@babel/core@7.28.0) - '@babel/preset-flow': 7.27.1(@babel/core@7.28.0) - '@babel/preset-typescript': 7.27.1(@babel/core@7.28.0) - '@babel/register': 7.28.3(@babel/core@7.28.0) - babel-core: 7.0.0-bridge.0(@babel/core@7.28.0) - chalk: 4.1.2 - flow-parser: 0.283.0 - graceful-fs: 4.2.11 - micromatch: 4.0.8 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.21.5 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color - jsesc@3.0.2: {} jsesc@3.1.0: {} @@ -13051,32 +11923,20 @@ snapshots: json-schema-traverse@0.4.1: {} - json-schema-traverse@1.0.0: {} - json-stable-stringify-without-jsonify@1.0.1: {} json5@2.2.3: {} - jsonfile@4.0.0: - optionalDependencies: - graceful-fs: 4.2.11 - - jsonfile@6.2.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 - kind-of@6.0.3: {} - kleur@3.0.3: {} kleur@4.1.5: {} + lan-network@0.1.7: {} + leven@3.1.0: {} levn@0.4.1: @@ -13091,81 +11951,36 @@ snapshots: transitivePeerDependencies: - supports-color - lightningcss-darwin-arm64@1.27.0: - optional: true - lightningcss-darwin-arm64@1.30.1: optional: true - lightningcss-darwin-x64@1.27.0: - optional: true - lightningcss-darwin-x64@1.30.1: optional: true - lightningcss-freebsd-x64@1.27.0: - optional: true - lightningcss-freebsd-x64@1.30.1: optional: true - lightningcss-linux-arm-gnueabihf@1.27.0: - optional: true - lightningcss-linux-arm-gnueabihf@1.30.1: optional: true - lightningcss-linux-arm64-gnu@1.27.0: - optional: true - lightningcss-linux-arm64-gnu@1.30.1: optional: true - lightningcss-linux-arm64-musl@1.27.0: - optional: true - lightningcss-linux-arm64-musl@1.30.1: optional: true - lightningcss-linux-x64-gnu@1.27.0: - optional: true - lightningcss-linux-x64-gnu@1.30.1: optional: true - lightningcss-linux-x64-musl@1.27.0: - optional: true - lightningcss-linux-x64-musl@1.30.1: optional: true - lightningcss-win32-arm64-msvc@1.27.0: - optional: true - lightningcss-win32-arm64-msvc@1.30.1: optional: true - lightningcss-win32-x64-msvc@1.27.0: - optional: true - lightningcss-win32-x64-msvc@1.30.1: optional: true - lightningcss@1.27.0: - dependencies: - detect-libc: 1.0.3 - optionalDependencies: - lightningcss-darwin-arm64: 1.27.0 - lightningcss-darwin-x64: 1.27.0 - lightningcss-freebsd-x64: 1.27.0 - lightningcss-linux-arm-gnueabihf: 1.27.0 - lightningcss-linux-arm64-gnu: 1.27.0 - lightningcss-linux-arm64-musl: 1.27.0 - lightningcss-linux-x64-gnu: 1.27.0 - lightningcss-linux-x64-musl: 1.27.0 - lightningcss-win32-arm64-msvc: 1.27.0 - lightningcss-win32-x64-msvc: 1.27.0 - lightningcss@1.30.1: dependencies: detect-libc: 2.0.4 @@ -13242,11 +12057,6 @@ snapshots: '@babel/types': 7.28.2 source-map-js: 1.2.1 - make-dir@2.1.0: - dependencies: - pify: 4.0.1 - semver: 5.7.2 - make-dir@4.0.0: dependencies: semver: 7.7.2 @@ -13261,16 +12071,6 @@ snapshots: math-intrinsics@1.1.0: {} - md5-file@3.2.3: - dependencies: - buffer-alloc: 1.2.0 - - md5@2.3.0: - dependencies: - charenc: 0.0.2 - crypt: 0.0.2 - is-buffer: 1.1.6 - mdast-util-find-and-replace@3.0.2: dependencies: '@types/mdast': 4.0.4 @@ -13438,49 +12238,52 @@ snapshots: methods@1.1.2: {} - metro-babel-transformer@0.81.5: + metro-babel-transformer@0.83.1: dependencies: '@babel/core': 7.28.0 flow-enums-runtime: 0.0.6 - hermes-parser: 0.25.1 + hermes-parser: 0.29.1 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - metro-cache-key@0.81.5: + metro-cache-key@0.83.1: dependencies: flow-enums-runtime: 0.0.6 - metro-cache@0.81.5: + metro-cache@0.83.1: dependencies: exponential-backoff: 3.1.2 flow-enums-runtime: 0.0.6 - metro-core: 0.81.5 + https-proxy-agent: 7.0.6 + metro-core: 0.83.1 + transitivePeerDependencies: + - supports-color - metro-config@0.81.5: + metro-config@0.83.1: dependencies: connect: 3.7.0 cosmiconfig: 5.2.1 flow-enums-runtime: 0.0.6 jest-validate: 29.7.0 - metro: 0.81.5 - metro-cache: 0.81.5 - metro-core: 0.81.5 - metro-runtime: 0.81.5 + metro: 0.83.1 + metro-cache: 0.83.1 + metro-core: 0.83.1 + metro-runtime: 0.83.1 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - metro-core@0.81.5: + metro-core@0.83.1: dependencies: flow-enums-runtime: 0.0.6 lodash.throttle: 4.1.1 - metro-resolver: 0.81.5 + metro-resolver: 0.83.1 - metro-file-map@0.81.5: + metro-file-map@0.83.1: dependencies: - debug: 2.6.9 + debug: 4.4.1 fb-watchman: 2.0.2 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 @@ -13492,112 +12295,112 @@ snapshots: transitivePeerDependencies: - supports-color - metro-minify-terser@0.81.5: + metro-minify-terser@0.83.1: dependencies: flow-enums-runtime: 0.0.6 terser: 5.44.0 - metro-resolver@0.81.5: + metro-resolver@0.83.1: dependencies: flow-enums-runtime: 0.0.6 - metro-runtime@0.81.5: + metro-runtime@0.83.1: dependencies: '@babel/runtime': 7.28.2 flow-enums-runtime: 0.0.6 - metro-source-map@0.81.5: + metro-source-map@0.83.1: dependencies: - '@babel/traverse': 7.28.0 - '@babel/traverse--for-generate-function-map': '@babel/traverse@7.28.0' - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/traverse--for-generate-function-map': '@babel/traverse@7.28.4' + '@babel/types': 7.28.4 flow-enums-runtime: 0.0.6 invariant: 2.2.4 - metro-symbolicate: 0.81.5 + metro-symbolicate: 0.83.1 nullthrows: 1.1.1 - ob1: 0.81.5 + ob1: 0.83.1 source-map: 0.5.7 vlq: 1.0.1 transitivePeerDependencies: - supports-color - metro-symbolicate@0.81.5: + metro-symbolicate@0.83.1: dependencies: flow-enums-runtime: 0.0.6 invariant: 2.2.4 - metro-source-map: 0.81.5 + metro-source-map: 0.83.1 nullthrows: 1.1.1 source-map: 0.5.7 vlq: 1.0.1 transitivePeerDependencies: - supports-color - metro-transform-plugins@0.81.5: + metro-transform-plugins@0.83.1: dependencies: '@babel/core': 7.28.0 - '@babel/generator': 7.28.0 + '@babel/generator': 7.28.3 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.0 + '@babel/traverse': 7.28.4 flow-enums-runtime: 0.0.6 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - metro-transform-worker@0.81.5: + metro-transform-worker@0.83.1: dependencies: '@babel/core': 7.28.0 - '@babel/generator': 7.28.0 - '@babel/parser': 7.28.0 - '@babel/types': 7.28.2 + '@babel/generator': 7.28.3 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 flow-enums-runtime: 0.0.6 - metro: 0.81.5 - metro-babel-transformer: 0.81.5 - metro-cache: 0.81.5 - metro-cache-key: 0.81.5 - metro-minify-terser: 0.81.5 - metro-source-map: 0.81.5 - metro-transform-plugins: 0.81.5 + metro: 0.83.1 + metro-babel-transformer: 0.83.1 + metro-cache: 0.83.1 + metro-cache-key: 0.83.1 + metro-minify-terser: 0.83.1 + metro-source-map: 0.83.1 + metro-transform-plugins: 0.83.1 nullthrows: 1.1.1 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - metro@0.81.5: + metro@0.83.1: dependencies: '@babel/code-frame': 7.27.1 '@babel/core': 7.28.0 - '@babel/generator': 7.28.0 - '@babel/parser': 7.28.0 + '@babel/generator': 7.28.3 + '@babel/parser': 7.28.4 '@babel/template': 7.27.2 - '@babel/traverse': 7.28.0 - '@babel/types': 7.28.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 connect: 3.7.0 - debug: 2.6.9 + debug: 4.4.1 error-stack-parser: 2.1.4 flow-enums-runtime: 0.0.6 graceful-fs: 4.2.11 - hermes-parser: 0.25.1 + hermes-parser: 0.29.1 image-size: 1.2.1 invariant: 2.2.4 jest-worker: 29.7.0 jsc-safe-url: 0.2.4 lodash.throttle: 4.1.1 - metro-babel-transformer: 0.81.5 - metro-cache: 0.81.5 - metro-cache-key: 0.81.5 - metro-config: 0.81.5 - metro-core: 0.81.5 - metro-file-map: 0.81.5 - metro-resolver: 0.81.5 - metro-runtime: 0.81.5 - metro-source-map: 0.81.5 - metro-symbolicate: 0.81.5 - metro-transform-plugins: 0.81.5 - metro-transform-worker: 0.81.5 + metro-babel-transformer: 0.83.1 + metro-cache: 0.83.1 + metro-cache-key: 0.83.1 + metro-config: 0.83.1 + metro-core: 0.83.1 + metro-file-map: 0.83.1 + metro-resolver: 0.83.1 + metro-runtime: 0.83.1 + metro-source-map: 0.83.1 + metro-symbolicate: 0.83.1 + metro-transform-plugins: 0.83.1 + metro-transform-worker: 0.83.1 mime-types: 2.1.35 nullthrows: 1.1.1 serialize-error: 2.1.0 @@ -13818,8 +12621,6 @@ snapshots: mimic-fn@1.2.0: {} - mimic-fn@2.1.0: {} - min-indent@1.0.1: {} miniflare@4.20250730.0: @@ -13844,45 +12645,24 @@ snapshots: dependencies: brace-expansion: 1.1.12 - minimatch@9.0.5: + minimatch@8.0.4: dependencies: brace-expansion: 2.0.2 - minimist@1.2.8: {} - - minipass-collect@2.0.1: - dependencies: - minipass: 7.1.2 - - minipass-flush@1.0.5: - dependencies: - minipass: 3.3.6 - - minipass-pipeline@1.2.4: + minimatch@9.0.5: dependencies: - minipass: 3.3.6 + brace-expansion: 2.0.2 - minipass@3.3.6: - dependencies: - yallist: 4.0.0 + minimist@1.2.8: {} - minipass@5.0.0: {} + minipass@4.2.8: {} minipass@7.1.2: {} - minizlib@2.1.2: - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - minizlib@3.0.2: dependencies: minipass: 7.1.2 - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 - mkdirp@1.0.4: {} mkdirp@3.0.1: {} @@ -13909,8 +12689,6 @@ snapshots: negotiator@0.6.4: {} - neo-async@2.6.2: {} - nested-error-stacks@2.0.1: {} next-themes@0.4.6(react-dom@19.1.1(react@19.1.1))(react@19.1.1): @@ -13918,12 +12696,6 @@ snapshots: react: 19.1.1 react-dom: 19.1.1(react@19.1.1) - nice-try@1.0.5: {} - - node-dir@0.1.17: - dependencies: - minimatch: 3.1.2 - node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 @@ -13945,17 +12717,9 @@ snapshots: semver: 7.7.2 validate-npm-package-name: 5.0.1 - npm-run-path@2.0.2: - dependencies: - path-key: 2.0.1 - - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - nullthrows@1.1.1: {} - ob1@0.81.5: + ob1@0.83.1: dependencies: flow-enums-runtime: 0.0.6 @@ -13983,10 +12747,6 @@ snapshots: dependencies: mimic-fn: 1.2.0 - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - open@7.4.2: dependencies: is-docker: 2.2.1 @@ -14018,8 +12778,6 @@ snapshots: os-tmpdir@1.0.2: {} - p-finally@1.0.0: {} - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -14040,10 +12798,6 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - p-try@2.2.0: {} package-json-from-dist@1.0.1: {} @@ -14086,8 +12840,6 @@ snapshots: path-is-absolute@1.0.1: {} - path-key@2.0.1: {} - path-key@3.1.1: {} path-parse@1.0.7: {} @@ -14115,11 +12867,9 @@ snapshots: picomatch@4.0.3: {} - pify@4.0.1: {} - pirates@4.0.7: {} - pkg-dir@3.0.0: + pkg-up@3.1.0: dependencies: find-up: 3.0.0 @@ -14200,11 +12950,6 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 - pump@3.0.3: - dependencies: - end-of-stream: 1.4.5 - once: 1.4.0 - punycode@2.3.1: {} qrcode-terminal@0.11.0: {} @@ -14249,7 +12994,7 @@ snapshots: date-fns-jalali: 4.1.0-0 react: 19.1.1 - react-devtools-core@5.3.2: + react-devtools-core@6.1.5: dependencies: shell-quote: 1.8.3 ws: 7.5.10 @@ -14269,11 +13014,10 @@ snapshots: transitivePeerDependencies: - supports-color - react-dom@18.3.1(react@18.3.1): + react-dom@19.1.0(react@19.1.0): dependencies: - loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 19.1.0 + scheduler: 0.26.0 react-dom@19.1.1(react@19.1.1): dependencies: @@ -14282,19 +13026,9 @@ snapshots: react-fast-compare@3.2.2: {} - react-freeze@1.0.4(react@18.3.1): + react-freeze@1.0.4(react@19.1.0): dependencies: - react: 18.3.1 - - react-helmet-async@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@babel/runtime': 7.28.2 - invariant: 2.2.4 - prop-types: 15.8.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-fast-compare: 3.2.2 - shallowequal: 1.1.0 + react: 19.1.0 react-helmet-async@2.0.5(react@19.1.1): dependencies: @@ -14334,99 +13068,98 @@ snapshots: transitivePeerDependencies: - supports-color - react-native-helmet-async@2.0.4(react@18.3.1): - dependencies: - invariant: 2.2.4 - react: 18.3.1 - react-fast-compare: 3.2.2 - shallowequal: 1.1.0 - - react-native-is-edge-to-edge@1.2.1(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + react-native-is-edge-to-edge@1.2.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) - react-native-safe-area-context@4.12.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + react-native-safe-area-context@5.6.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: - react: 18.3.1 - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react: 19.1.0 + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) - react-native-screens@4.1.0(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1): + react-native-screens@4.16.0(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0): dependencies: - react: 18.3.1 - react-freeze: 1.0.4(react@18.3.1) - react-native: 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1) + react: 19.1.0 + react-freeze: 1.0.4(react@19.1.0) + react-native: 0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0) + react-native-is-edge-to-edge: 1.2.1(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) warn-once: 0.1.1 - react-native-web@0.19.13(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-native-sse@1.2.1: {} + + react-native-web@0.21.1(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@babel/runtime': 7.28.2 '@react-native/normalize-colors': 0.74.89 fbjs: 3.0.5 - inline-style-prefixer: 6.0.4 + inline-style-prefixer: 7.0.1 memoize-one: 6.0.0 nullthrows: 1.1.1 postcss-value-parser: 4.2.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) styleq: 0.1.3 transitivePeerDependencies: - encoding - react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1): + react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0): dependencies: '@jest/create-cache-key-function': 29.7.0 - '@react-native/assets-registry': 0.76.0 - '@react-native/codegen': 0.76.0(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - '@react-native/community-cli-plugin': 0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0)) - '@react-native/gradle-plugin': 0.76.0 - '@react-native/js-polyfills': 0.76.0 - '@react-native/normalize-colors': 0.76.0 - '@react-native/virtualized-lists': 0.76.0(@types/react@18.3.24)(react-native@0.76.0(@babel/core@7.28.0)(@babel/preset-env@7.28.3(@babel/core@7.28.0))(@types/react@18.3.24)(react@18.3.1))(react@18.3.1) + '@react-native/assets-registry': 0.81.4 + '@react-native/codegen': 0.81.4(@babel/core@7.28.0) + '@react-native/community-cli-plugin': 0.81.4 + '@react-native/gradle-plugin': 0.81.4 + '@react-native/js-polyfills': 0.81.4 + '@react-native/normalize-colors': 0.81.4 + '@react-native/virtualized-lists': 0.81.4(@types/react@19.1.13)(react-native@0.81.4(@babel/core@7.28.0)(@types/react@19.1.13)(react@19.1.0))(react@19.1.0) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 babel-jest: 29.7.0(@babel/core@7.28.0) - babel-plugin-syntax-hermes-parser: 0.23.1 + babel-plugin-syntax-hermes-parser: 0.29.1 base64-js: 1.5.1 - chalk: 4.1.2 commander: 12.1.0 - event-target-shim: 5.0.1 flow-enums-runtime: 0.0.6 glob: 7.2.3 invariant: 2.2.4 jest-environment-node: 29.7.0 - jsc-android: 250231.0.0 memoize-one: 5.2.1 - metro-runtime: 0.81.5 - metro-source-map: 0.81.5 - mkdirp: 0.5.6 + metro-runtime: 0.83.1 + metro-source-map: 0.83.1 nullthrows: 1.1.1 pretty-format: 29.7.0 promise: 8.3.0 - react: 18.3.1 - react-devtools-core: 5.3.2 + react: 19.1.0 + react-devtools-core: 6.1.5 react-refresh: 0.14.2 regenerator-runtime: 0.13.11 - scheduler: 0.24.0-canary-efb381bbf-20230505 + scheduler: 0.26.0 semver: 7.7.2 stacktrace-parser: 0.1.11 whatwg-fetch: 3.6.20 ws: 6.2.3 yargs: 17.7.2 optionalDependencies: - '@types/react': 18.3.24 + '@types/react': 19.1.13 transitivePeerDependencies: - '@babel/core' - - '@babel/preset-env' - - '@react-native-community/cli-server-api' + - '@react-native-community/cli' + - '@react-native/metro-config' - bufferutil - - encoding - supports-color - utf-8-validate react-refresh@0.14.2: {} + react-remove-scroll-bar@2.3.8(@types/react@19.1.13)(react@19.1.0): + dependencies: + react: 19.1.0 + react-style-singleton: 2.2.3(@types/react@19.1.13)(react@19.1.0) + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.13 + react-remove-scroll-bar@2.3.8(@types/react@19.1.9)(react@19.1.1): dependencies: react: 19.1.1 @@ -14435,6 +13168,17 @@ snapshots: optionalDependencies: '@types/react': 19.1.9 + react-remove-scroll@2.7.1(@types/react@19.1.13)(react@19.1.0): + dependencies: + react: 19.1.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.1.13)(react@19.1.0) + react-style-singleton: 2.2.3(@types/react@19.1.13)(react@19.1.0) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.1.13)(react@19.1.0) + use-sidecar: 1.1.3(@types/react@19.1.13)(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.13 + react-remove-scroll@2.7.1(@types/react@19.1.9)(react@19.1.1): dependencies: react: 19.1.1 @@ -14451,6 +13195,14 @@ snapshots: react: 19.1.1 react-dom: 19.1.1(react@19.1.1) + react-style-singleton@2.2.3(@types/react@19.1.13)(react@19.1.0): + dependencies: + get-nonce: 1.0.1 + react: 19.1.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.13 + react-style-singleton@2.2.3(@types/react@19.1.9)(react@19.1.1): dependencies: get-nonce: 1.0.1 @@ -14463,9 +13215,7 @@ snapshots: dependencies: '@xterm/xterm': 5.5.0 - react@18.3.1: - dependencies: - loose-envify: 1.4.0 + react@19.1.0: {} react@19.1.1: {} @@ -14473,15 +13223,6 @@ snapshots: dependencies: picomatch: 2.3.1 - readline@1.3.0: {} - - recast@0.21.5: - dependencies: - ast-types: 0.15.2 - esprima: 4.0.1 - source-map: 0.6.1 - tslib: 2.8.1 - recast@0.23.11: dependencies: ast-types: 0.16.1 @@ -14552,8 +13293,6 @@ snapshots: mdast-util-to-markdown: 2.1.2 unified: 11.0.5 - remove-trailing-slash@0.1.1: {} - require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -14564,12 +13303,18 @@ snapshots: rc: 1.2.8 resolve: 1.7.1 + reselect@4.1.8: {} + resolve-from@3.0.0: {} resolve-from@4.0.0: {} resolve-from@5.0.0: {} + resolve-global@1.0.0: + dependencies: + global-dirs: 0.1.1 + resolve-pkg-maps@1.0.0: {} resolve-workspace-root@2.0.0: {} @@ -14593,10 +13338,6 @@ snapshots: reusify@1.1.0: {} - rimraf@2.6.3: - dependencies: - glob: 7.2.3 - rimraf@3.0.2: dependencies: glob: 7.2.3 @@ -14641,30 +13382,8 @@ snapshots: sax@1.4.1: {} - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 - - scheduler@0.24.0-canary-efb381bbf-20230505: - dependencies: - loose-envify: 1.4.0 - scheduler@0.26.0: {} - schema-utils@4.3.2: - dependencies: - '@types/json-schema': 7.0.15 - ajv: 8.17.1 - ajv-formats: 2.1.1(ajv@8.17.1) - ajv-keywords: 5.1.0(ajv@8.17.1) - - selfsigned@2.4.1: - dependencies: - '@types/node-forge': 1.3.14 - node-forge: 1.3.1 - - semver@5.7.2: {} - semver@6.3.1: {} semver@7.6.3: {} @@ -14712,9 +13431,7 @@ snapshots: setprototypeof@1.2.0: {} - shallow-clone@3.0.1: - dependencies: - kind-of: 6.0.3 + sf-symbols-typescript@2.1.0: {} shallowequal@1.1.0: {} @@ -14744,16 +13461,10 @@ snapshots: '@img/sharp-win32-ia32': 0.33.5 '@img/sharp-win32-x64': 0.33.5 - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} - shebang-regex@3.0.0: {} shell-quote@1.8.3: {} @@ -14844,10 +13555,6 @@ snapshots: sprintf-js@1.0.3: {} - ssri@10.0.6: - dependencies: - minipass: 7.1.2 - stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -14903,10 +13610,6 @@ snapshots: dependencies: ansi-regex: 6.1.0 - strip-eof@1.0.0: {} - - strip-final-newline@2.0.0: {} - strip-indent@3.0.0: dependencies: min-indent: 1.0.1 @@ -14970,15 +13673,6 @@ snapshots: tapable@2.2.2: {} - tar@6.2.1: - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 5.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - tar@7.4.3: dependencies: '@isaacs/fs-minipass': 4.0.1 @@ -14990,18 +13684,6 @@ snapshots: temp-dir@2.0.0: {} - temp@0.8.4: - dependencies: - rimraf: 2.6.3 - - tempy@0.7.1: - dependencies: - del: 6.1.1 - is-stream: 2.0.1 - temp-dir: 2.0.0 - type-fest: 0.16.0 - unique-string: 2.0.0 - terminal-link@2.1.1: dependencies: ansi-escapes: 4.3.2 @@ -15109,8 +13791,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.16.0: {} - type-fest@0.21.3: {} type-fest@0.7.1: {} @@ -15133,6 +13813,8 @@ snapshots: typescript@5.8.3: {} + typescript@5.9.2: {} + ua-parser-js@1.0.41: {} ufo@1.6.1: {} @@ -15174,14 +13856,6 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unique-filename@3.0.0: - dependencies: - unique-slug: 4.0.0 - - unique-slug@4.0.0: - dependencies: - imurmurhash: 0.1.4 - unique-string@2.0.0: dependencies: crypto-random-string: 2.0.0 @@ -15213,12 +13887,6 @@ snapshots: universal-user-agent@7.0.3: {} - universalify@0.1.2: {} - - universalify@1.0.0: {} - - universalify@2.0.1: {} - unpipe@1.0.0: {} unplugin@2.3.5: @@ -15243,6 +13911,13 @@ snapshots: dependencies: punycode: 2.3.1 + use-callback-ref@1.3.3(@types/react@19.1.13)(react@19.1.0): + dependencies: + react: 19.1.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.13 + use-callback-ref@1.3.3(@types/react@19.1.9)(react@19.1.1): dependencies: react: 19.1.1 @@ -15250,9 +13925,17 @@ snapshots: optionalDependencies: '@types/react': 19.1.9 - use-latest-callback@0.2.4(react@18.3.1): + use-latest-callback@0.2.4(react@19.1.0): + dependencies: + react: 19.1.0 + + use-sidecar@1.1.3(@types/react@19.1.13)(react@19.1.0): dependencies: - react: 18.3.1 + detect-node-es: 1.1.0 + react: 19.1.0 + tslib: 2.8.1 + optionalDependencies: + '@types/react': 19.1.13 use-sidecar@1.1.3(@types/react@19.1.9)(react@19.1.1): dependencies: @@ -15262,9 +13945,9 @@ snapshots: optionalDependencies: '@types/react': 19.1.9 - use-sync-external-store@1.5.0(react@18.3.1): + use-sync-external-store@1.5.0(react@19.1.0): dependencies: - react: 18.3.1 + react: 19.1.0 use-sync-external-store@1.5.0(react@19.1.1): dependencies: @@ -15276,12 +13959,19 @@ snapshots: uuid@7.0.3: {} - uuid@8.3.2: {} - validate-npm-package-name@5.0.1: {} vary@1.1.2: {} + vaul@1.1.2(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + dependencies: + '@radix-ui/react-dialog': 1.1.14(@types/react-dom@19.1.7(@types/react@19.1.13))(@types/react@19.1.13)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + vaul@1.1.2(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1): dependencies: '@radix-ui/react-dialog': 1.1.14(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -15394,8 +14084,6 @@ snapshots: dependencies: defaults: 1.0.4 - web-streams-polyfill@3.3.3: {} - webidl-conversions@3.0.1: {} webidl-conversions@5.0.0: {} @@ -15417,10 +14105,6 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which@1.3.1: - dependencies: - isexe: 2.0.0 - which@2.0.2: dependencies: isexe: 2.0.0 @@ -15479,12 +14163,6 @@ snapshots: wrappy@1.0.2: {} - write-file-atomic@2.4.3: - dependencies: - graceful-fs: 4.2.11 - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - write-file-atomic@4.0.2: dependencies: imurmurhash: 0.1.4 @@ -15498,6 +14176,8 @@ snapshots: ws@8.18.0: {} + ws@8.18.3: {} + xcode@3.0.1: dependencies: simple-plist: 1.3.1 @@ -15510,16 +14190,12 @@ snapshots: xmlbuilder@11.0.1: {} - xmlbuilder@14.0.0: {} - xmlbuilder@15.1.1: {} y18n@5.0.8: {} yallist@3.1.1: {} - yallist@4.0.0: {} - yallist@5.0.0: {} yaml@1.10.2: {} @@ -15553,6 +14229,10 @@ snapshots: cookie: 1.0.2 youch-core: 0.3.3 + zod-to-json-schema@3.24.6(zod@3.25.76): + dependencies: + zod: 3.25.76 + zod@3.22.3: {} zod@3.25.76: {} diff --git a/worker/codespace-store.ts b/worker/codespace-store.ts index 311c3900..ffe13180 100644 --- a/worker/codespace-store.ts +++ b/worker/codespace-store.ts @@ -157,6 +157,92 @@ export class CodespaceStore extends DurableObject> { await this.initKeys(); const url = new URL(request.url); const pathParts = url.pathname.split("/"); + + // Handle specific codespace lookup: /internal/codespace/{username}/{codespaceName} + if (pathParts.length >= 4 && request.method === "GET") { + const codespaceName = pathParts.pop(); + const githubUser = pathParts.pop(); + + if (githubUser && codespaceName) { + const rows = this.sql + .exec( + "SELECT * FROM codespace_credentials WHERE github_user = ? AND codespace_name = ? ORDER BY updated_at DESC LIMIT 1", + githubUser, + codespaceName, + ) + .toArray(); + + if (rows.length === 0) { + return new Response("Codespace not found", { status: 404 }); + } + + const row = rows[0]; + const result = { + keyId: row.key_id as number | null, + salt: row.salt as string | null, + iv: row.iv as string | null, + encryptedData: row.encrypted_data as string | null, + createdAt: row.created_at as number, + updatedAt: row.updated_at as number, + } as StoredCodespaceCredentials; + + // Check if credentials are already nullified (expired) + if ( + !result.encryptedData || + !result.salt || + !result.iv || + !result.keyId + ) { + // Return basic codespace info without credentials + const basicCodespace: CodespaceCredentials = { + githubToken: "", // Empty token - will need to be refreshed + githubUser: githubUser, + codespaceName: row.codespace_name as string, + createdAt: result.createdAt, + updatedAt: result.updatedAt, + }; + return Response.json(basicCodespace); + } + + try { + const credentials = await this.decrypt(result); + + // Check if credentials are expired (24 hours) + const twentyFourHoursAgo = Date.now() - 24 * 60 * 60 * 1000; + if (credentials.updatedAt < twentyFourHoursAgo) { + // Null out expired credentials but keep codespace record + this.sql.exec( + "UPDATE codespace_credentials SET key_id = NULL, salt = NULL, iv = NULL, encrypted_data = NULL WHERE codespace_name = ?", + credentials.codespaceName, + ); + + // Return basic codespace info without credentials + const basicCodespace: CodespaceCredentials = { + githubToken: "", // Empty token - will need to be refreshed + githubUser: githubUser, + codespaceName: credentials.codespaceName, + createdAt: credentials.createdAt, + updatedAt: credentials.updatedAt, + }; + return Response.json(basicCodespace); + } + + return Response.json(credentials); + } catch (error) { + console.error("Decryption error:", error); + // Return basic codespace info without credentials on decryption error + const basicCodespace: CodespaceCredentials = { + githubToken: "", // Empty token - will need to be refreshed + githubUser: githubUser, + codespaceName: row.codespace_name as string, + createdAt: result.createdAt, + updatedAt: result.updatedAt, + }; + return Response.json(basicCodespace); + } + } + } + const githubUser = pathParts.pop(); if (request.method === "GET" && githubUser) { diff --git a/worker/index.ts b/worker/index.ts index 82a63b51..ec87b976 100644 --- a/worker/index.ts +++ b/worker/index.ts @@ -60,6 +60,7 @@ type Variables = { accessToken: string; sessionId: string; session: SessionData; + mobileToken: string; }; type HonoEnv = { @@ -101,7 +102,7 @@ async function checkCodespaceHealth( "X-Github-Token": githubToken, "User-Agent": "Catnip-Worker/1.0", }, - signal: AbortSignal.timeout(3000), // 3 second timeout per request + signal: AbortSignal.timeout(10000), // 10 second timeout per request }); lastStatus = response.status; @@ -166,7 +167,6 @@ export function createApp(env: Env) { const authHeader = c.req.header("Authorization"); if (authHeader?.startsWith("Bearer ")) { const mobileToken = authHeader.substring(7); - try { // Get mobile session from Durable Object const sessionDO = c.env.SESSIONS.get( @@ -177,7 +177,9 @@ export function createApp(env: Env) { ); if (mobileResponse.ok) { - const mobileSession = await mobileResponse.json(); + const mobileSession = (await mobileResponse.json()) as { + sessionId: string; + }; // Get the actual session data const sessionResponse = await sessionDO.fetch( @@ -380,15 +382,18 @@ export function createApp(env: Env) { const mobileToken = generateMobileToken(); // Store the mobile session mapping - await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`, { - method: "PUT", - body: JSON.stringify({ - sessionId, - userId: sessionData.userId, - username: sessionData.username, - expiresAt: sessionData.expiresAt, - }), - }); + await sessionDO.fetch( + `https://internal/mobile-session/${mobileToken}`, + { + method: "PUT", + body: JSON.stringify({ + sessionId, + userId: sessionData.userId, + username: sessionData.username, + expiresAt: sessionData.expiresAt, + }), + }, + ); // Clear the mobile OAuth state cookie setCookie(c, "mobile-oauth-state", "", { @@ -476,17 +481,22 @@ export function createApp(env: Env) { const state = c.req.query("state") || crypto.randomUUID(); // Store mobile OAuth state in cookie - setCookie(c, "mobile-oauth-state", JSON.stringify({ - redirectUri, - state, - initiated: Date.now() - }), { - httpOnly: true, - secure: true, - sameSite: "Lax", - maxAge: 10 * 60, // 10 minutes - path: "/" - }); + setCookie( + c, + "mobile-oauth-state", + JSON.stringify({ + redirectUri, + state, + initiated: Date.now(), + }), + { + httpOnly: true, + secure: true, + sameSite: "Lax", + maxAge: 10 * 60, // 10 minutes + path: "/", + }, + ); // Redirect to standard OAuth flow const currentUrl = new URL(c.req.url); @@ -502,7 +512,7 @@ export function createApp(env: Env) { if (mobileToken) { const sessionDO = c.env.SESSIONS.get(c.env.SESSIONS.idFromName("global")); await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`, { - method: "DELETE" + method: "DELETE", }); } @@ -1446,27 +1456,19 @@ export function createApp(env: Env) { // Authentication middleware for protected routes async function requireAuth(c: Context, next: () => Promise) { const session = c.get("session"); + const username = c.get("username"); + const accessToken = c.get("accessToken"); - if (!session) { - // Check Authorization header for API access - const authHeader = c.req.header("Authorization"); - if (authHeader?.startsWith("Bearer ")) { - const token = authHeader.substring(7); - // TODO: Validate GitHub token - c.set("accessToken", token); - return next(); + // If we have session data from mobile middleware, we're authenticated + if (session || (username && accessToken)) { + // Check if expired for regular sessions + if (session && Date.now() > session.expiresAt) { + throw new HTTPException(401, { message: "Session expired" }); } - - throw new HTTPException(401, { message: "Authentication required" }); - } - - // Check if expired - if (Date.now() > session.expiresAt) { - throw new HTTPException(401, { message: "Session expired" }); + return next(); } - // Access token already loaded by middleware - return next(); + throw new HTTPException(401, { message: "Authentication required" }); } // Protected container routes @@ -1523,10 +1525,92 @@ export function createApp(env: Env) { } // Check if this should route to container - // Disable container routing for main catnip.run domain (codespace-only) const isMainDomain = url.hostname === "catnip.run" || url.hostname.endsWith(".catnip.run"); + // Check for mobile app requests with codespace name header + const codespaceName = c.req.header("X-Codespace-Name"); + const isMobileCodespaceRequest = + isMainDomain && codespaceName && shouldRouteToContainer(url.pathname); + + if (isMobileCodespaceRequest) { + console.log( + `Mobile codespace request for ${codespaceName}: ${url.pathname}`, + ); + + try { + // Get stored codespace credentials + const codespaceStore = c.env.CODESPACE_STORE.get( + c.env.CODESPACE_STORE.idFromName("global"), + ); + + const username = c.get("username"); + if (!username) { + console.error("No username found for mobile codespace request"); + return c.text("Authentication required", 401); + } + + // Get specific codespace credentials by username and codespace name + const credentialsResponse = await codespaceStore.fetch( + `https://internal/codespace/${username}/${codespaceName}`, + ); + + if (!credentialsResponse.ok) { + console.error( + `No credentials found for user: ${username}, codespace: ${codespaceName}`, + ); + return c.text("Codespace credentials not found", 404); + } + + const credentials = (await credentialsResponse.json()) as { + codespaceName: string; + githubToken: string; + }; + + console.log(`Found credentials for ${username}/${codespaceName}`); + + // Check if we have a valid token + if (!credentials.githubToken || credentials.githubToken === "") { + console.error( + `No valid GitHub token for ${username}/${codespaceName}`, + ); + return c.text( + "Codespace credentials expired - please reconnect", + 401, + ); + } + + // Proxy to codespace + const codespaceUrl = `https://${codespaceName}-6369.app.github.dev`; + const proxyUrl = `${codespaceUrl}${url.pathname}${url.search}`; + + console.log(`Proxying mobile request to: ${proxyUrl}`); + + const proxyHeaders = new Headers(c.req.raw.headers); + proxyHeaders.set("X-Github-Token", credentials.githubToken); + proxyHeaders.set("User-Agent", "Catnip-Mobile/1.0"); + proxyHeaders.delete("X-Codespace-Name"); // Remove our custom header + + const proxyResponse = await fetch(proxyUrl, { + method: c.req.method, + headers: proxyHeaders, + body: + c.req.method !== "GET" && c.req.method !== "HEAD" + ? c.req.raw.body + : undefined, + }); + + return new Response(proxyResponse.body, { + status: proxyResponse.status, + statusText: proxyResponse.statusText, + headers: proxyResponse.headers, + }); + } catch (error) { + console.error("Error proxying to codespace:", error); + return c.text("Failed to connect to codespace", 500); + } + } + if (shouldRouteToContainer(url.pathname) && !isMainDomain) { const userId = c.get("userId") || "default"; const container = await getContainer(c.env.CATNIP_CONTAINER, userId); diff --git a/worker/mobile-auth.ts b/worker/mobile-auth.ts index c8afc851..a74dca4a 100644 --- a/worker/mobile-auth.ts +++ b/worker/mobile-auth.ts @@ -1,6 +1,6 @@ // Mobile OAuth relay endpoints import { Context } from "hono"; -import { setCookie } from "hono/cookie"; +import { setCookie, getCookie } from "hono/cookie"; interface MobileSessionData { sessionId: string; @@ -32,17 +32,22 @@ export async function initiateMobileOAuth(c: Context) { const state = c.req.query("state") || crypto.randomUUID(); // Store the mobile OAuth state in a temporary cookie - setCookie(c, "mobile-oauth-state", JSON.stringify({ - redirectUri, - state, - initiated: Date.now() - }), { - httpOnly: true, - secure: true, - sameSite: "Lax", - maxAge: 10 * 60, // 10 minutes - path: "/" - }); + setCookie( + c, + "mobile-oauth-state", + JSON.stringify({ + redirectUri, + state, + initiated: Date.now(), + }), + { + httpOnly: true, + secure: true, + sameSite: "Lax", + maxAge: 10 * 60, // 10 minutes + path: "/", + }, + ); // Redirect to the standard GitHub OAuth endpoint const currentUrl = new URL(c.req.url); @@ -55,8 +60,12 @@ export async function initiateMobileOAuth(c: Context) { * Mobile OAuth callback handler * This is called after successful GitHub OAuth to relay the session to the mobile app */ -export async function handleMobileOAuthCallback(c: Context, sessionId: string, sessionData: any) { - const mobileState = c.req.cookie("mobile-oauth-state"); +export async function handleMobileOAuthCallback( + c: Context, + sessionId: string, + sessionData: any, +) { + const mobileState = getCookie(c, "mobile-oauth-state"); if (!mobileState) { // Not a mobile OAuth flow, continue normally @@ -64,7 +73,7 @@ export async function handleMobileOAuthCallback(c: Context, sessionId: string, s } try { - const { redirectUri, state } = JSON.parse(mobileState.value); + const { redirectUri, state } = JSON.parse(mobileState); // Generate a mobile-specific session token const mobileToken = generateMobileToken(); @@ -79,13 +88,13 @@ export async function handleMobileOAuthCallback(c: Context, sessionId: string, s username: sessionData.username, mobileToken, createdAt: Date.now(), - expiresAt: sessionData.expiresAt + expiresAt: sessionData.expiresAt, }; // Store mobile session mapping await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`, { method: "PUT", - body: JSON.stringify(mobileSession) + body: JSON.stringify(mobileSession), }); // Clear the mobile OAuth state cookie @@ -94,7 +103,7 @@ export async function handleMobileOAuthCallback(c: Context, sessionId: string, s secure: true, sameSite: "Lax", maxAge: 0, - path: "/" + path: "/", }); // Build the redirect URL with the mobile token @@ -127,25 +136,29 @@ export async function validateMobileSession(c: Context): Promise { try { // Get the mobile session from Durable Object const sessionDO = c.env.SESSIONS.get(c.env.SESSIONS.idFromName("global")); - const response = await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`); + const response = await sessionDO.fetch( + `https://internal/mobile-session/${mobileToken}`, + ); if (!response.ok) { return null; } - const mobileSession = await response.json() as MobileSessionData; + const mobileSession = (await response.json()) as MobileSessionData; // Check if mobile session is expired if (Date.now() > mobileSession.expiresAt) { // Delete expired session await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`, { - method: "DELETE" + method: "DELETE", }); return null; } // Get the actual session data - const sessionResponse = await sessionDO.fetch(`https://internal/session/${mobileSession.sessionId}`); + const sessionResponse = await sessionDO.fetch( + `https://internal/session/${mobileSession.sessionId}`, + ); if (!sessionResponse.ok) { return null; @@ -178,9 +191,9 @@ export async function handleMobileLogout(c: Context) { if (mobileToken) { const sessionDO = c.env.SESSIONS.get(c.env.SESSIONS.idFromName("global")); await sessionDO.fetch(`https://internal/mobile-session/${mobileToken}`, { - method: "DELETE" + method: "DELETE", }); } return c.json({ success: true }); -} \ No newline at end of file +} diff --git a/worker/sessions.ts b/worker/sessions.ts index e36a44b0..f5a357ee 100644 --- a/worker/sessions.ts +++ b/worker/sessions.ts @@ -18,6 +18,13 @@ interface StoredSession { refreshedAt: number; } +interface MobileSessionRequest { + sessionId: string; + userId: string; + username: string; + expiresAt: number; +} + export class SessionStore extends DurableObject> { private sql: SqlStorage; private keys: Map = new Map(); @@ -310,11 +317,13 @@ export class SessionStore extends DurableObject> { if (request.method === "GET" && mobileToken) { // Get mobile session - const rows = this.sql.exec( - "SELECT * FROM mobile_sessions WHERE mobile_token = ? AND expires_at > ? LIMIT 1", - mobileToken, - Date.now(), - ).toArray(); + const rows = this.sql + .exec( + "SELECT * FROM mobile_sessions WHERE mobile_token = ? AND expires_at > ? LIMIT 1", + mobileToken, + Date.now(), + ) + .toArray(); if (!rows[0]) { return new Response("Not found", { status: 404 }); @@ -331,11 +340,14 @@ export class SessionStore extends DurableObject> { if (request.method === "PUT" && mobileToken) { // Store mobile session - const data = await request.json(); + const data = (await request.json()) as MobileSessionRequest; const now = Date.now(); // Delete any existing mobile session for this token - this.sql.exec("DELETE FROM mobile_sessions WHERE mobile_token = ?", mobileToken); + this.sql.exec( + "DELETE FROM mobile_sessions WHERE mobile_token = ?", + mobileToken, + ); // Insert new mobile session this.sql.exec( @@ -355,7 +367,10 @@ export class SessionStore extends DurableObject> { if (request.method === "DELETE" && mobileToken) { // Delete mobile session - this.sql.exec("DELETE FROM mobile_sessions WHERE mobile_token = ?", mobileToken); + this.sql.exec( + "DELETE FROM mobile_sessions WHERE mobile_token = ?", + mobileToken, + ); return new Response("OK"); } } From 6e96806048fc08914e67fc132cd5f43cbaa8d03a Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 10 Oct 2025 17:14:35 -0400 Subject: [PATCH 26/46] iOS: Improve workspace detail view state management and diff updates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Pass pending prompt from workspace creation to detail view for immediate "working" state display - Add conditional diff fetching that continues polling while Claude is active - Store and display user's prompt immediately before backend updates - Clear pending prompt after navigation completes Fixes issue where "Ask for changes" flow showed empty state instead of working state. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- xcode/catnip/Views/WorkspaceDetailView.swift | 985 +++++++++++++++++++ xcode/catnip/Views/WorkspacesView.swift | 843 ++++++++++++++++ 2 files changed, 1828 insertions(+) create mode 100644 xcode/catnip/Views/WorkspaceDetailView.swift create mode 100644 xcode/catnip/Views/WorkspacesView.swift diff --git a/xcode/catnip/Views/WorkspaceDetailView.swift b/xcode/catnip/Views/WorkspaceDetailView.swift new file mode 100644 index 00000000..a28e2d4c --- /dev/null +++ b/xcode/catnip/Views/WorkspaceDetailView.swift @@ -0,0 +1,985 @@ +// +// WorkspaceDetailView.swift +// catnip +// +// Workspace detail screen with polling for updates +// + +import SwiftUI + +enum WorkspacePhase { + case loading + case input + case working + case completed + case error +} + +struct WorkspaceDetailView: View { + let workspaceId: String + + @StateObject private var poller: WorkspacePoller + @State private var phase: WorkspacePhase = .loading + @State private var prompt = "" + @State private var showPromptSheet = false + @State private var isSubmitting = false + @State private var error = "" + @State private var showFullDiff = false + @State private var latestMessage: String? + @State private var cachedDiff: WorktreeDiffResponse? + @State private var pendingUserPrompt: String? // Store prompt we just sent before backend updates + + init(workspaceId: String, initialWorkspace: WorkspaceInfo? = nil, pendingPrompt: String? = nil) { + self.workspaceId = workspaceId + _poller = StateObject(wrappedValue: WorkspacePoller(workspaceId: workspaceId, initialWorkspace: initialWorkspace)) + + // Set initial pending prompt if provided (e.g., from workspace creation flow) + if let pendingPrompt = pendingPrompt, !pendingPrompt.isEmpty { + _pendingUserPrompt = State(initialValue: pendingPrompt) + NSLog("🔵 WorkspaceDetailView init with pending prompt: \(pendingPrompt.prefix(50))...") + } + + if let initialWorkspace = initialWorkspace { + NSLog("🔵 WorkspaceDetailView init with pre-loaded workspace: \(workspaceId), activity: \(initialWorkspace.claudeActivityState?.rawValue ?? "nil")") + } else { + NSLog("🟡 WorkspaceDetailView init WITHOUT pre-loaded workspace: \(workspaceId) - will fetch") + } + } + + private var workspace: WorkspaceInfo? { + poller.workspace + } + + private var navigationTitle: String { + // Show session title if available (in both working and completed phases) + if let title = workspace?.latestSessionTitle, !title.isEmpty { + // Truncate to first line or 50 chars + let firstLine = title.components(separatedBy: .newlines).first ?? title + return firstLine.count > 50 ? String(firstLine.prefix(50)) + "..." : firstLine + } + return workspace?.displayName ?? "Workspace" + } + + var body: some View { + ZStack { + Color(uiColor: .systemGroupedBackground) + .ignoresSafeArea() + + if phase == .loading { + loadingView + } else if phase == .error || workspace == nil { + errorView + } else { + contentView + } + } + .navigationTitle(navigationTitle) + .navigationBarTitleDisplayMode(.inline) + .task { + await loadWorkspace() + poller.start() + } + .onDisappear { + poller.stop() + } + .onChange(of: poller.workspace) { oldWorkspace, newWorkspace in + if let newWorkspace = newWorkspace { + NSLog("🔄 Workspace updated - activity: \(newWorkspace.claudeActivityState?.rawValue ?? "nil"), title: \(newWorkspace.latestSessionTitle?.prefix(30) ?? "nil")") + determinePhase(for: newWorkspace) + } else { + NSLog("⚠️ Workspace updated to nil") + } + } + .onChange(of: poller.error) { _, newError in + if let newError = newError { + error = newError + } + } + .sheet(isPresented: $showPromptSheet) { + PromptSheet( + isPresented: $showPromptSheet, + prompt: $prompt, + mode: .askForChanges, + isSubmitting: isSubmitting, + onSubmit: { + Task { await sendPrompt() } + } + ) + } + .sheet(isPresented: $showFullDiff) { + NavigationStack { + WorkspaceDiffViewer( + workspaceId: workspaceId, + selectedFile: nil, + onClose: { + showFullDiff = false + }, + onExpand: nil, + preloadedDiff: cachedDiff, + onDiffLoaded: { diff in + cachedDiff = diff + } + ) + .navigationTitle("Diff") + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .topBarTrailing) { + Button { + showFullDiff = false + } label: { + Text("Done") + } + } + } + } + } + .onAppear { + // Auto-show sheet if no history + if phase == .input { + showPromptSheet = true + } + } + } + + private var loadingView: some View { + VStack(spacing: 16) { + ProgressView() + .scaleEffect(1.5) + Text("Loading workspace...") + .font(.body) + .foregroundStyle(.secondary) + } + } + + private var errorView: some View { + VStack(spacing: 20) { + Text("Error") + .font(.title2) + .foregroundStyle(.primary) + + Text(error.isEmpty ? "Workspace not found" : error) + .font(.body) + .foregroundStyle(.secondary) + .multilineTextAlignment(.center) + + Button { + Task { await loadWorkspace() } + } label: { + Text("Retry") + } + .buttonStyle(ProminentButtonStyle()) + .padding(.horizontal, 20) + } + .padding() + } + + private var contentView: some View { + ScrollView { + VStack(spacing: 20) { + if phase == .input { + emptyStateView + .padding(.horizontal, 16) + } else if phase == .working { + workingSection + } else if phase == .completed { + completedSection + } + + if !error.isEmpty { + errorBox + .padding(.horizontal, 16) + } + } + .padding(.top, 16) + } + .safeAreaInset(edge: .bottom) { + footerView + } + } + + private var emptyStateView: some View { + VStack(spacing: 16) { + Image(systemName: "sparkles") + .font(.system(size: 48)) + .foregroundStyle(.secondary) + .padding(.top, 40) + + Text("Start Working") + .font(.title2.weight(.semibold)) + + Text("Describe what you'd like to work on") + .font(.body) + .foregroundStyle(.secondary) + .multilineTextAlignment(.center) + + Button { + showPromptSheet = true + } label: { + Text("Start Working") + } + .buttonStyle(ProminentButtonStyle()) + .padding(.horizontal, 20) + } + .frame(maxWidth: .infinity) + .padding(20) + .background(Color(uiColor: .secondarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 12)) + } + + private var workingSection: some View { + VStack(alignment: .leading, spacing: 0) { + // Session and todos section with padding + VStack(alignment: .leading, spacing: 8) { + HStack(spacing: 12) { + ProgressView() + Text("Claude is working...") + .font(.callout) + .foregroundStyle(.secondary) + } + + // Show the user's prompt (either pending or from workspace) + if let userPrompt = pendingUserPrompt ?? workspace?.latestUserPrompt, !userPrompt.isEmpty { + VStack(alignment: .leading, spacing: 8) { + Text("You asked:") + .font(.caption.weight(.semibold)) + .foregroundStyle(.secondary) + + Text(userPrompt) + .font(.body) + .foregroundStyle(.primary) + } + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(uiColor: .tertiarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 10)) + } + + if let latestSession = workspace?.latestSessionTitle, !latestSession.isEmpty { + VStack(alignment: .leading, spacing: 8) { + Text("Session:") + .font(.caption.weight(.semibold)) + .foregroundStyle(Color.accentColor) + + Text(latestSession) + .font(.body) + .foregroundStyle(.primary) + } + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(uiColor: .tertiarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 10)) + } + + if let todos = workspace?.todos, !todos.isEmpty { + VStack(alignment: .leading, spacing: 8) { + Text("Progress:") + .font(.callout.weight(.semibold)) + .foregroundStyle(.secondary) + + TodoListView(todos: todos) + } + } + } + .padding(8) + .padding(.horizontal, 8) + .background(Color(uiColor: .secondarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 12)) + + // Diff viewer edge-to-edge - only show if we have actual diff data with files + if let diff = cachedDiff, !diff.fileDiffs.isEmpty { + WorkspaceDiffViewer( + workspaceId: workspaceId, + selectedFile: nil, + onClose: nil, + onExpand: { + showFullDiff = true + }, + preloadedDiff: cachedDiff, + onDiffLoaded: { diff in + cachedDiff = diff + } + ) + .frame(height: 400) + } + } + } + + private var completedSection: some View { + VStack(alignment: .leading, spacing: 0) { + // Session content with padding + VStack(alignment: .leading, spacing: 8) { + // User prompt + if let userPrompt = workspace?.latestUserPrompt, !userPrompt.isEmpty { + VStack(alignment: .leading, spacing: 8) { + Text("You asked:") + .font(.caption.weight(.semibold)) + .foregroundStyle(.secondary) + + Text(userPrompt) + .font(.body) + .foregroundStyle(.primary) + } + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(uiColor: .tertiarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 10)) + } + + // Claude's response + if let claudeMessage = latestMessage, !claudeMessage.isEmpty { + VStack(alignment: .leading, spacing: 8) { + Text("Claude responded:") + .font(.caption.weight(.semibold)) + .foregroundStyle(Color.accentColor) + + MarkdownText(claudeMessage) + } + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(uiColor: .tertiarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 10)) + } else if workspace?.latestSessionTitle != nil { + // Show loading state while fetching message + VStack(alignment: .leading, spacing: 8) { + Text("Claude responded:") + .font(.caption.weight(.semibold)) + .foregroundStyle(Color.accentColor) + + HStack(spacing: 8) { + ProgressView() + .scaleEffect(0.8) + Text("Loading response...") + .font(.body) + .foregroundStyle(.secondary) + } + } + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(uiColor: .tertiarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 10)) + } + + if let todos = workspace?.todos, !todos.isEmpty { + VStack(alignment: .leading, spacing: 8) { + Text("Tasks:") + .font(.callout.weight(.semibold)) + .foregroundStyle(.secondary) + + TodoListView(todos: todos) + } + } + } + .padding(8) + .padding(.horizontal, 8) + .background(Color(uiColor: .secondarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 12)) + + // Diff viewer edge-to-edge - only show if we have actual diff data with files + if let diff = cachedDiff, !diff.fileDiffs.isEmpty { + WorkspaceDiffViewer( + workspaceId: workspaceId, + selectedFile: nil, + onClose: nil, + onExpand: { + showFullDiff = true + }, + preloadedDiff: cachedDiff, + onDiffLoaded: { diff in + cachedDiff = diff + } + ) + .frame(height: 400) + } + } + } + + private var errorBox: some View { + HStack(spacing: 10) { + Image(systemName: "exclamationmark.triangle.fill") + .foregroundStyle(Color.red) + Text(error) + .font(.subheadline) + Spacer() + } + .foregroundStyle(Color.red) + .padding(12) + .background(Color.red.opacity(0.08)) + .clipShape(RoundedRectangle(cornerRadius: 10)) + } + + private var footerView: some View { + Group { + if phase == .completed { + Button { + showPromptSheet = true + } label: { + Text("Ask for changes") + } + .buttonStyle(ProminentButtonStyle()) + .padding(16) + .background(.ultraThinMaterial) + } + } + } + + private func loadWorkspace() async { + // If poller already has workspace data (from initialWorkspace), skip fetch + if let workspace = poller.workspace { + await MainActor.run { + NSLog("✅ Using pre-loaded workspace data, skipping initial fetch for: \(workspaceId)") + determinePhase(for: workspace) + } + return + } + + NSLog("🔍 No pre-loaded data, fetching workspace: \(workspaceId)") + phase = .loading + error = "" + + do { + // On initial load, don't pass etag - we need the workspace data + guard let result = try await CatnipAPI.shared.getWorkspace(id: workspaceId, ifNoneMatch: nil) else { + // This shouldn't happen on initial load without etag + await MainActor.run { + NSLog("❌ getWorkspace returned nil (304 Not Modified?) for: \(workspaceId)") + self.error = "Workspace not found" + phase = .error + } + return + } + + let workspace = result.workspace + NSLog("✅ Successfully fetched workspace: \(workspaceId)") + + await MainActor.run { + // Poller will manage workspace state + determinePhase(for: workspace) + } + } catch let apiError as APIError { + await MainActor.run { + NSLog("❌ API error fetching workspace \(workspaceId): \(apiError.errorDescription ?? "unknown")") + self.error = apiError.errorDescription ?? "Unknown error" + phase = .error + } + } catch { + await MainActor.run { + NSLog("❌ Error fetching workspace \(workspaceId): \(error.localizedDescription)") + self.error = error.localizedDescription + phase = .error + } + } + } + + private func determinePhase(for workspace: WorkspaceInfo) { + NSLog("📊 determinePhase - claudeActivityState: %@, latestSessionTitle: %@, todos: %d, isDirty: %@, commits: %d, pendingPrompt: %@", + workspace.claudeActivityState.map { "\($0)" } ?? "nil", + workspace.latestSessionTitle ?? "nil", + workspace.todos?.count ?? 0, + workspace.isDirty.map { "\($0)" } ?? "nil", + workspace.commitCount ?? 0, + pendingUserPrompt != nil ? "yes" : "no") + + let previousPhase = phase + + // Show "working" phase when: + // 1. Claude is ACTIVE (actively working), OR + // 2. We have a pending prompt (just sent a prompt but backend hasn't updated yet) + if workspace.claudeActivityState == .active || pendingUserPrompt != nil { + phase = .working + + // Fetch diff if workspace has changes + Task { + await fetchDiffIfNeeded(for: workspace) + } + } else if workspace.latestSessionTitle != nil || workspace.todos?.isEmpty == false { + // Has a session title or todos - definitely completed + phase = .completed + + // Clear pending prompt when transitioning to completed + if previousPhase == .working { + pendingUserPrompt = nil + NSLog("📊 Cleared pending prompt on transition to completed") + } + + // Fetch the latest message for completed sessions + Task { + await fetchLatestMessage(for: workspace) + await fetchDiffIfNeeded(for: workspace) + } + } else if workspace.isDirty == true || (workspace.commitCount ?? 0) > 0 { + // Workspace has modifications or commits but no session title + // This can happen with old /messages endpoint usage + // Treat as completed to show the changes + phase = .completed + NSLog("📊 Workspace has changes but no session - treating as completed") + + // Try to fetch latest message in case there is one + Task { + await fetchLatestMessage(for: workspace) + await fetchDiffIfNeeded(for: workspace) + } + } else { + phase = .input + } + + NSLog("📊 determinePhase - final phase: %@ (was: %@)", "\(phase)", "\(previousPhase)") + } + + private func sendPrompt() async { + guard let workspace = workspace, !prompt.trimmingCharacters(in: .whitespaces).isEmpty else { + NSLog("🐱 [WorkspaceDetailView] Cannot send prompt - workspace or prompt is empty") + return + } + + let promptToSend = prompt.trimmingCharacters(in: .whitespaces) + NSLog("🐱 [WorkspaceDetailView] Sending prompt to workspace: \(workspace.id)") + NSLog("🐱 [WorkspaceDetailView] Prompt length: \(promptToSend.count) chars") + NSLog("🐱 [WorkspaceDetailView] Workspace name (session ID): \(workspace.name)") + + isSubmitting = true + error = "" + + do { + NSLog("🐱 [WorkspaceDetailView] About to call sendPrompt API...") + try await CatnipAPI.shared.sendPrompt(workspacePath: workspace.name, prompt: promptToSend) + NSLog("🐱 [WorkspaceDetailView] ✅ Successfully sent prompt") + + await MainActor.run { + // Store the prompt we just sent for immediate display + pendingUserPrompt = promptToSend + NSLog("🐱 [WorkspaceDetailView] Stored pending prompt: \(promptToSend.prefix(50))...") + + prompt = "" + showPromptSheet = false + phase = .working + isSubmitting = false + + // Trigger immediate refresh after sending prompt + NSLog("🐱 [WorkspaceDetailView] Triggering poller refresh") + poller.refresh() + } + } catch { + NSLog("🐱 [WorkspaceDetailView] ❌ Failed to send prompt: \(error)") + await MainActor.run { + self.error = error.localizedDescription + isSubmitting = false + showPromptSheet = false + } + } + } + + private func fetchLatestMessage(for workspace: WorkspaceInfo) async { + do { + let result = try await CatnipAPI.shared.getLatestMessage(worktreePath: workspace.path) + await MainActor.run { + if !result.isError { + self.latestMessage = result.content + } + } + } catch { + NSLog("❌ Failed to fetch latest message: %@", error.localizedDescription) + } + } + + private func fetchDiffIfNeeded(for workspace: WorkspaceInfo) async { + // Only fetch if workspace has changes and we don't already have a diff + guard (workspace.isDirty == true || (workspace.commitCount ?? 0) > 0) else { + NSLog("📊 No changes to fetch diff for") + return + } + + // Skip if we already have a cached diff, UNLESS Claude is actively working + // (we want to keep refetching to show live updates) + if cachedDiff != nil && workspace.claudeActivityState != .active { + NSLog("📊 Diff already cached and workspace inactive, skipping fetch") + return + } + + NSLog("📊 Fetching diff for workspace with changes (dirty: %@, commits: %d, active: %@)", + workspace.isDirty.map { "\($0)" } ?? "nil", + workspace.commitCount ?? 0, + workspace.claudeActivityState == .active ? "yes" : "no") + + do { + let diff = try await CatnipAPI.shared.getWorkspaceDiff(id: workspace.id) + await MainActor.run { + NSLog("📊 Successfully fetched diff: %d files changed", diff.fileDiffs.count) + self.cachedDiff = diff + } + } catch { + NSLog("❌ Failed to fetch diff: %@", error.localizedDescription) + } + } +} + +struct TodoListView: View { + let todos: [Todo] + + var body: some View { + VStack(alignment: .leading, spacing: 8) { + ForEach(todos) { todo in + HStack(alignment: .top, spacing: 12) { + Circle() + .fill(todoColor(for: todo.status)) + .frame(width: 8, height: 8) + .padding(.top, 6) + + Text(todo.content) + .font(.body) + .foregroundStyle(.primary) + .frame(maxWidth: .infinity, alignment: .leading) + } + } + } + } + + private func todoColor(for status: TodoStatus) -> Color { + switch status { + case .completed: + return Color.green + case .inProgress: + return Color.orange + case .pending: + return Color.gray.opacity(0.5) + } + } +} + +#Preview("Input Phase") { + NavigationStack { + WorkspaceDetailPreview(phase: .input) + } +} + +#Preview("Working Phase") { + NavigationStack { + WorkspaceDetailPreview(phase: .working) + } +} + +#Preview("Completed Phase") { + NavigationStack { + WorkspaceDetailPreview(phase: .completed) + } +} + +// Preview wrapper for testing different phases +private struct WorkspaceDetailPreview: View { + let phase: WorkspacePhase + @State private var mockWorkspace: WorkspaceInfo + @State private var currentPhase: WorkspacePhase + @State private var showSheet = false + @State private var previewPrompt = "" + + init(phase: WorkspacePhase) { + self.phase = phase + + // Configure workspace based on phase + var workspace = WorkspaceInfo.preview1 + switch phase { + case .input: + workspace = WorkspaceInfo( + id: workspace.id, + name: workspace.name, + branch: workspace.branch, + repoId: workspace.repoId, + claudeActivityState: .inactive, + commitCount: 0, + isDirty: false, + lastAccessed: workspace.lastAccessed, + createdAt: workspace.createdAt, + todos: nil, + latestSessionTitle: nil, + latestUserPrompt: nil, + pullRequestUrl: nil, + path: workspace.path, + cacheStatus: workspace.cacheStatus + ) + case .working: + workspace = WorkspaceInfo( + id: workspace.id, + name: workspace.name, + branch: workspace.branch, + repoId: workspace.repoId, + claudeActivityState: .active, + commitCount: workspace.commitCount, + isDirty: workspace.isDirty, + lastAccessed: workspace.lastAccessed, + createdAt: workspace.createdAt, + todos: Todo.previewList, + latestSessionTitle: "Implementing new feature", + latestUserPrompt: nil, + pullRequestUrl: nil, + path: workspace.path, + cacheStatus: workspace.cacheStatus + ) + case .completed: + workspace = WorkspaceInfo.preview1 + default: + workspace = WorkspaceInfo.preview1 + } + + _mockWorkspace = State(initialValue: workspace) + _currentPhase = State(initialValue: phase) + } + + var body: some View { + ZStack { + Color(uiColor: .systemGroupedBackground) + .ignoresSafeArea() + + ScrollView { + VStack(spacing: 20) { + if currentPhase == .input { + inputSectionPreview + } else if currentPhase == .working { + workingSectionPreview + } else if currentPhase == .completed { + completedSectionPreview + } + } + .padding(16) + } + } + .navigationTitle(mockWorkspace.displayName) + .navigationBarTitleDisplayMode(.inline) + } + + private var inputSectionPreview: some View { + VStack(spacing: 16) { + Image(systemName: "sparkles") + .font(.system(size: 48)) + .foregroundStyle(.secondary) + .padding(.top, 40) + + Text("Start Working") + .font(.title2.weight(.semibold)) + + Text("Describe what you'd like to work on") + .font(.body) + .foregroundStyle(.secondary) + .multilineTextAlignment(.center) + + Button { + showSheet = true + } label: { + Text("Start Working") + } + .buttonStyle(ProminentButtonStyle()) + .padding(.horizontal, 20) + } + .frame(maxWidth: .infinity) + .padding(20) + .background(Color(uiColor: .secondarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 12)) + .sheet(isPresented: $showSheet) { + PromptSheet( + isPresented: $showSheet, + prompt: $previewPrompt, + mode: .askForChanges, + onSubmit: { + showSheet = false + } + ) + } + } + + private var workingSectionPreview: some View { + VStack(alignment: .leading, spacing: 0) { + // Session and todos section with padding + VStack(alignment: .leading, spacing: 16) { + HStack(spacing: 12) { + ProgressView() + Text("Claude is working...") + .font(.callout) + .foregroundStyle(.secondary) + } + + if let latestSession = mockWorkspace.latestSessionTitle { + VStack(alignment: .leading, spacing: 8) { + Text("Session:") + .font(.caption.weight(.semibold)) + .foregroundStyle(Color.accentColor) + + Text(latestSession) + .font(.body) + .foregroundStyle(.primary) + } + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(uiColor: .tertiarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 10)) + } + + if let todos = mockWorkspace.todos { + VStack(alignment: .leading, spacing: 8) { + Text("Progress:") + .font(.callout.weight(.semibold)) + .foregroundStyle(.secondary) + + TodoListView(todos: todos) + } + } + } + .padding(16) + + // Diff viewer edge-to-edge + Divider() + + // Use mock preview data + WorkspaceDiffViewerPreviewContent() + .frame(height: 400) + } + .background(Color(uiColor: .secondarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 12)) + } + + private var completedSectionPreview: some View { + VStack(alignment: .leading, spacing: 0) { + // Session content with padding + VStack(alignment: .leading, spacing: 16) { + // User prompt + if let userPrompt = mockWorkspace.latestUserPrompt, !userPrompt.isEmpty { + VStack(alignment: .leading, spacing: 8) { + Text("You asked:") + .font(.caption.weight(.semibold)) + .foregroundStyle(.secondary) + + Text(userPrompt) + .font(.body) + .foregroundStyle(.primary) + } + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(uiColor: .tertiarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 10)) + } + + // Claude's response + if let claudeMessage = mockWorkspace.latestSessionTitle { + VStack(alignment: .leading, spacing: 8) { + Text("Claude responded:") + .font(.caption.weight(.semibold)) + .foregroundStyle(Color.accentColor) + + Text(claudeMessage) + .font(.body) + .foregroundStyle(.primary) + } + .padding(12) + .frame(maxWidth: .infinity, alignment: .leading) + .background(Color(uiColor: .tertiarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 10)) + } + + if let todos = mockWorkspace.todos { + VStack(alignment: .leading, spacing: 8) { + Text("Tasks:") + .font(.callout.weight(.semibold)) + .foregroundStyle(.secondary) + + TodoListView(todos: todos) + } + } + } + .padding(16) + + // Diff viewer edge-to-edge + Divider() + + // Use mock preview data + WorkspaceDiffViewerPreviewContent() + .frame(height: 400) + } + .background(Color(uiColor: .secondarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 12)) + } +} + +// MARK: - Markdown Text Component + +struct MarkdownText: View { + let markdown: String + + init(_ markdown: String) { + self.markdown = markdown + } + + var body: some View { + VStack(alignment: .leading, spacing: 12) { + // Split by double newlines to handle paragraphs + let paragraphs = markdown.components(separatedBy: "\n\n").filter { !$0.isEmpty } + + ForEach(Array(paragraphs.enumerated()), id: \.offset) { index, paragraph in + if let attributedString = try? AttributedString(markdown: paragraph, options: .init(interpretedSyntax: .full)) { + Text(attributedString) + .font(.body) + .foregroundStyle(.primary) + .textSelection(.enabled) + .frame(maxWidth: .infinity, alignment: .leading) + } else { + // Fallback to plain text if markdown parsing fails + Text(paragraph) + .font(.body) + .foregroundStyle(.primary) + .textSelection(.enabled) + .frame(maxWidth: .infinity, alignment: .leading) + } + } + } + } +} + +// MARK: - Preview Helper for Diff Viewer + +#if DEBUG +private struct WorkspaceDiffViewerPreviewContent: View { + var body: some View { + VStack(spacing: 0) { + // Header + HStack(spacing: 12) { + Image(systemName: "doc.text") + .font(.caption) + .foregroundStyle(.secondary) + + VStack(alignment: .leading, spacing: 2) { + Text("Diff") + .font(.caption.weight(.medium)) + Text("3 files changed, 25 insertions(+), 8 deletions(-)") + .font(.caption2) + .foregroundStyle(.secondary) + } + + Spacer() + + Button {} label: { + Image(systemName: "xmark") + .font(.caption) + .foregroundStyle(.secondary) + .frame(width: 24, height: 24) + } + .buttonStyle(.plain) + } + .padding(.horizontal, 16) + .padding(.vertical, 12) + .background(Color(uiColor: .secondarySystemBackground).opacity(0.95)) + .overlay( + Rectangle() + .fill(Color(uiColor: .separator)) + .frame(height: 0.5), + alignment: .bottom + ) + + // Content + ScrollView { + LazyVStack(spacing: 8) { + DiffFileView(fileDiff: .preview1, initiallyExpanded: true) + DiffFileView(fileDiff: .preview2, initiallyExpanded: false) + } + .padding(.vertical, 8) + } + } + .background(Color(uiColor: .systemGroupedBackground)) + } +} +#endif diff --git a/xcode/catnip/Views/WorkspacesView.swift b/xcode/catnip/Views/WorkspacesView.swift new file mode 100644 index 00000000..2eb4dd15 --- /dev/null +++ b/xcode/catnip/Views/WorkspacesView.swift @@ -0,0 +1,843 @@ +// +// WorkspacesView.swift +// catnip +// +// Workspaces list screen +// + +import SwiftUI + +struct WorkspacesView: View { + @State private var workspaces: [WorkspaceInfo] = [] + @State private var isLoading = true + @State private var isRefreshing = false + @State private var error: String? + @State private var showCreateSheet = false + @State private var createPrompt = "" + @State private var selectedRepository = "" + @State private var selectedBranch: String? = nil + @State private var isCreating = false + @State private var availableBranches: [String] = [] + @State private var branchesLoading = false + @State private var createSheetError: String? // Separate error for create sheet + @State private var deleteConfirmation: WorkspaceInfo? // Workspace to delete + @State private var navigationWorkspace: WorkspaceInfo? // Workspace to navigate to + @State private var pendingPromptForNavigation: String? // Prompt to pass to detail view + + private var availableRepositories: [String] { + Array(Set(workspaces.map { $0.repoId })).sorted() + } + + var body: some View { + ZStack { + Color(uiColor: .systemGroupedBackground) + .ignoresSafeArea() + + if isLoading { + loadingView + } else if let error = error { + errorView(error) + } else if workspaces.isEmpty { + emptyView + } else { + listView + } + } + .navigationTitle("Workspaces") + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + Button(action: { showCreateSheet = true }) { + Image(systemName: "plus") + } + } + } + .task { + await loadWorkspaces() + } + .refreshable { + await loadWorkspaces() + } + .sheet(isPresented: $showCreateSheet) { + CreateWorkspaceSheet( + isPresented: $showCreateSheet, + prompt: $createPrompt, + selectedRepository: $selectedRepository, + selectedBranch: $selectedBranch, + availableRepositories: availableRepositories, + availableBranches: availableBranches, + branchesLoading: branchesLoading, + isCreating: isCreating, + error: createSheetError, + onCreate: { Task { await createWorkspace() } } + ) + } + .onChange(of: showCreateSheet) { isShowing in + if isShowing { + // Pre-select most recently used repository + if let mostRecent = workspaces.first { + selectedRepository = mostRecent.repoId + // Don't pre-select branch - let fetchBranches set the default + selectedBranch = nil + // Fetch branches for the selected repository + Task { + await fetchBranches() + } + } + } else { + // Reset state when sheet closes + createPrompt = "" + selectedRepository = "" + selectedBranch = nil + availableBranches = [] + createSheetError = nil + } + } + .onChange(of: selectedRepository) { _ in + // When repository changes, fetch its branches + if showCreateSheet && !selectedRepository.isEmpty { + selectedBranch = nil // Reset branch selection + Task { + await fetchBranches() + } + } + } + .navigationDestination(item: $navigationWorkspace) { workspace in + WorkspaceDetailView( + workspaceId: workspace.id, + initialWorkspace: workspace, + pendingPrompt: pendingPromptForNavigation + ) + } + .onChange(of: navigationWorkspace) { oldValue, newValue in + // Clear pending prompt after navigation completes + if newValue == nil && pendingPromptForNavigation != nil { + pendingPromptForNavigation = nil + NSLog("🐱 [WorkspacesView] Cleared pendingPromptForNavigation after navigation") + } + } + } + + private var loadingView: some View { + VStack(spacing: 16) { + ProgressView() + .scaleEffect(1.5) + Text("Loading workspaces...") + .font(.body) + .foregroundStyle(.secondary) + } + } + + private func errorView(_ message: String) -> some View { + ScrollView { + VStack(spacing: 20) { + Text("Error loading workspaces") + .font(.title2) + .foregroundStyle(.primary) + + Text(message) + .font(.caption) + .foregroundStyle(.secondary) + .multilineTextAlignment(.leading) + .textSelection(.enabled) + .padding() + .background(Color(uiColor: .secondarySystemBackground)) + .cornerRadius(8) + + Button { + Task { await loadWorkspaces() } + } label: { + Text("Retry") + } + .buttonStyle(ProminentButtonStyle()) + .padding(.horizontal, 20) + } + .padding() + } + } + + private var emptyView: some View { + VStack(spacing: 20) { + Image(systemName: "folder") + .font(.system(size: 56)) + .foregroundStyle(.secondary) + + Text("No workspaces") + .font(.title2.weight(.semibold)) + .foregroundStyle(.primary) + + Text("Create a workspace to get started") + .font(.body) + .foregroundStyle(.secondary) + + Button { + showCreateSheet = true + } label: { + Text("Create Workspace") + } + .buttonStyle(ProminentButtonStyle()) + .padding(.horizontal, 20) + } + .padding() + } + + private var listView: some View { + List { + ForEach(workspaces) { workspace in + NavigationLink(destination: WorkspaceDetailView(workspaceId: workspace.id, initialWorkspace: workspace)) { + WorkspaceCard(workspace: workspace) + } + .listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 8)) + .listRowSeparator(.visible) + .listRowBackground(Color(uiColor: .secondarySystemBackground)) + .accessibilityIdentifier("workspace-\(workspace.id)") + .swipeActions(edge: .trailing, allowsFullSwipe: false) { + Button(role: .destructive) { + deleteConfirmation = workspace + } label: { + Label("Delete", systemImage: "trash") + } + } + } + } + .listStyle(.plain) + .scrollContentBackground(.hidden) + .accessibilityIdentifier("workspacesList") + .alert("Delete Workspace", isPresented: Binding( + get: { deleteConfirmation != nil }, + set: { if !$0 { deleteConfirmation = nil } } + )) { + Button("Cancel", role: .cancel) { + deleteConfirmation = nil + } + Button("Delete", role: .destructive) { + if let workspace = deleteConfirmation { + Task { + await deleteWorkspace(workspace) + } + } + } + } message: { + if let workspace = deleteConfirmation { + let changesList = [ + workspace.isDirty == true ? "uncommitted changes" : nil, + (workspace.commitCount ?? 0) > 0 ? "\(workspace.commitCount ?? 0) commits" : nil + ].compactMap { $0 } + + if !changesList.isEmpty { + Text("Delete workspace \"\(workspace.displayName)\"? This workspace has \(changesList.joined(separator: " and ")). This action cannot be undone.") + } else { + Text("Delete workspace \"\(workspace.displayName)\"? This action cannot be undone.") + } + } + } + } + + private func loadWorkspaces() async { + // Only show loading spinner if we have no data yet (initial load) + // This allows refreshes to happen in the background without disrupting the UI + await MainActor.run { + if workspaces.isEmpty { + isLoading = true + } + error = nil + } + + // Use mock data in UI testing mode + if UITestingHelper.shouldUseMockData { + await MainActor.run { + workspaces = UITestingHelper.getMockWorkspaces().sorted { w1, w2 in + let time1 = w1.lastAccessed ?? w1.createdAt ?? "" + let time2 = w2.lastAccessed ?? w2.createdAt ?? "" + return time1 > time2 + } + isLoading = false + } + return + } + + do { + guard let result = try await CatnipAPI.shared.getWorkspaces() else { + // 304 Not Modified - unlikely on initial load, but handle it + await MainActor.run { + isLoading = false + } + return + } + + await MainActor.run { + workspaces = result.workspaces.sorted { w1, w2 in + let time1 = w1.lastAccessed ?? w1.createdAt ?? "" + let time2 = w2.lastAccessed ?? w2.createdAt ?? "" + return time1 > time2 + } + isLoading = false + } + } catch { + await MainActor.run { + // Only show error if we have no data (initial load failed) + // Otherwise, keep showing existing data and silently fail the refresh + if workspaces.isEmpty { + if let apiError = error as? APIError { + self.error = apiError.errorDescription ?? "Unknown error" + } else { + self.error = "\(error)" + } + } + isLoading = false + } + } + } + + private func fetchBranches() async { + guard !selectedRepository.isEmpty else { return } + + branchesLoading = true + createSheetError = nil // Clear any previous errors + + do { + let branches = try await CatnipAPI.shared.fetchBranches(repoId: selectedRepository) + + // Filter out workspace-specific branches (refs/catnip/*) + let filteredBranches = branches.filter { branch in + !branch.hasPrefix("refs/catnip/") && !branch.hasPrefix("catnip/") + } + + await MainActor.run { + // Sort branches: default branch first, then alphabetical + let sortedBranches = filteredBranches.sorted { branch1, branch2 in + let isDefault1 = (branch1 == "main" || branch1 == "master") + let isDefault2 = (branch2 == "main" || branch2 == "master") + + if isDefault1 && !isDefault2 { + return true // branch1 (default) comes first + } else if !isDefault1 && isDefault2 { + return false // branch2 (default) comes first + } else { + return branch1 < branch2 // alphabetical for non-defaults + } + } + + availableBranches = sortedBranches + + // Set default branch if no branch is currently selected + if selectedBranch == nil || selectedBranch?.isEmpty == true { + // Look for common default branch names + if let defaultBranch = sortedBranches.first(where: { $0 == "main" || $0 == "master" }) { + selectedBranch = defaultBranch + } else if !sortedBranches.isEmpty { + selectedBranch = sortedBranches[0] + } + } + branchesLoading = false + } + } catch let fetchError { + await MainActor.run { + // Show error to user in create sheet only + if let apiError = fetchError as? APIError { + self.createSheetError = "Failed to fetch branches: \(apiError.errorDescription ?? "Unknown error")" + } else { + self.createSheetError = "Failed to fetch branches: \(fetchError.localizedDescription)" + } + availableBranches = [] + branchesLoading = false + } + } + } + + private func createWorkspace() async { + guard !selectedRepository.isEmpty else { return } + + isCreating = true + createSheetError = nil // Clear any previous errors + + do { + // Create the workspace + let workspace = try await CatnipAPI.shared.createWorkspace( + orgRepo: selectedRepository, + branch: selectedBranch + ) + + // Store the prompt to send after closing the sheet + let promptToSend = createPrompt.trimmingCharacters(in: .whitespaces) + let workspaceName = workspace.name + + // HACKY: Wait for workspace directory to be fully created on disk + // TODO: Fix the backend checkout endpoint to not return 200 until directory is ready + // See: container/internal/handlers/git.go CheckoutRepository + NSLog("🐱 [WorkspacesView] ⏰ Waiting 2 seconds for workspace directory to be ready...") + try await Task.sleep(nanoseconds: 2_000_000_000) // 2 seconds + + // Close the sheet and navigate to workspace detail + await MainActor.run { + workspaces.insert(workspace, at: 0) + showCreateSheet = false + isCreating = false + // Pass prompt to detail view for immediate display + if !promptToSend.isEmpty { + pendingPromptForNavigation = promptToSend + NSLog("🐱 [WorkspacesView] Set pendingPromptForNavigation: \(promptToSend.prefix(50))...") + } + // Auto-navigate to the newly created workspace + navigationWorkspace = workspace + NSLog("🚀 Navigating to newly created workspace: \(workspace.id)") + } + + // Send prompt in the background (fire-and-forget) + if !promptToSend.isEmpty { + NSLog("🐱 [WorkspacesView] Sending initial prompt to workspace: \(workspace.id)") + NSLog("🐱 [WorkspacesView] Prompt length: \(promptToSend.count) chars") + NSLog("🐱 [WorkspacesView] Workspace name (session ID): \(workspaceName)") + Task.detached { + do { + NSLog("🐱 [WorkspacesView] About to call sendPrompt API...") + try await CatnipAPI.shared.sendPrompt( + workspacePath: workspaceName, + prompt: promptToSend + ) + NSLog("🐱 [WorkspacesView] ✅ Successfully sent initial prompt") + } catch { + // Log error but don't block UI + NSLog("🐱 [WorkspacesView] ❌ Failed to send initial prompt: \(error)") + print("Failed to send initial prompt: \(error)") + } + } + } else { + NSLog("🐱 [WorkspacesView] No prompt to send (empty)") + } + } catch { + await MainActor.run { + // Show error to user + if let apiError = error as? APIError { + self.createSheetError = "Failed to create workspace: \(apiError.errorDescription ?? "Unknown error")" + } else { + self.createSheetError = "Failed to create workspace: \(error.localizedDescription)" + } + isCreating = false + } + } + } + + private func deleteWorkspace(_ workspace: WorkspaceInfo) async { + do { + try await CatnipAPI.shared.deleteWorkspace(id: workspace.id) + + // Remove from local list + await MainActor.run { + workspaces.removeAll { $0.id == workspace.id } + deleteConfirmation = nil + } + } catch { + await MainActor.run { + // Show error to user + if let apiError = error as? APIError { + self.error = "Failed to delete workspace: \(apiError.errorDescription ?? "Unknown error")" + } else { + self.error = "Failed to delete workspace: \(error.localizedDescription)" + } + deleteConfirmation = nil + } + } + } +} + +struct WorkspaceCard: View { + let workspace: WorkspaceInfo + + var body: some View { + VStack(alignment: .leading, spacing: 6) { + // Title row - session title + HStack(alignment: .center, spacing: 8) { + Text(workspace.activityDescription ?? "New Workspace") + .font(.headline) + .foregroundStyle(.primary) + .lineLimit(1) + + Spacer() + + Text(workspace.timeDisplay) + .font(.callout) + .foregroundStyle(.tertiary) + } + + // Workspace name subtitle with status indicator + HStack(spacing: 8) { + StatusIndicator(status: workspace.claudeActivityState) + + Text(workspace.displayName) + .font(.subheadline) + .foregroundStyle(.secondary) + .lineLimit(1) + } + + // Branch info with badges + HStack(spacing: 8) { + // Badges inline with branch + if workspace.isDirty == true || (workspace.commitCount ?? 0) > 0 { + HStack(spacing: 6) { + if workspace.isDirty == true { + Text("MODIFIED") + .font(.caption2.weight(.semibold)) + .foregroundStyle(.secondary) + .padding(.horizontal, 8) + .padding(.vertical, 3) + .background(Color(uiColor: .tertiarySystemBackground)) + .clipShape(RoundedRectangle(cornerRadius: 4)) + } + + if let count = workspace.commitCount, count > 0 { + Text("+\(count)") + .font(.caption2.weight(.semibold)) + .foregroundStyle(Color.accentColor) + .padding(.horizontal, 8) + .padding(.vertical, 3) + .background(Color.accentColor.opacity(0.15)) + .clipShape(RoundedRectangle(cornerRadius: 4)) + } + } + } + + Text(workspace.cleanBranch) + .font(.subheadline) + .foregroundStyle(.secondary) + + Spacer() + } + } + .padding(.horizontal, 16) + .padding(.vertical, 12) + } +} + +struct CreateWorkspaceSheet: View { + @Binding var isPresented: Bool + @Binding var prompt: String + @Binding var selectedRepository: String + @Binding var selectedBranch: String? + let availableRepositories: [String] + let availableBranches: [String] + let branchesLoading: Bool + let isCreating: Bool + let error: String? + let onCreate: () -> Void + + @FocusState private var isTextFieldFocused: Bool + + var body: some View { + NavigationStack { + VStack(spacing: 0) { + // Error display + if let error = error { + HStack(spacing: 8) { + Image(systemName: "exclamationmark.triangle.fill") + .foregroundColor(.orange) + Text(error) + .font(.caption) + .foregroundColor(.secondary) + } + .padding(.horizontal, 20) + .padding(.vertical, 8) + .background(Color.orange.opacity(0.1)) + .cornerRadius(8) + .padding(.horizontal, 20) + .padding(.top, 16) + } + + // Repository selector + if !availableRepositories.isEmpty { + VStack(alignment: .leading, spacing: 8) { + Text("Repository") + .font(.subheadline.weight(.medium)) + .foregroundStyle(.secondary) + .padding(.horizontal, 20) + + ScrollView(.horizontal, showsIndicators: false) { + HStack(spacing: 8) { + ForEach(availableRepositories, id: \.self) { repo in + Button(action: { selectedRepository = repo }) { + Text(repo) + .font(.subheadline) + .padding(.horizontal, 14) + .padding(.vertical, 8) + .background( + RoundedRectangle(cornerRadius: 20) + .fill(selectedRepository == repo ? Color.accentColor.opacity(0.15) : Color(uiColor: .secondarySystemBackground)) + ) + .overlay( + RoundedRectangle(cornerRadius: 20) + .strokeBorder( + selectedRepository == repo ? Color.accentColor : Color.clear, + lineWidth: 1.5 + ) + ) + .foregroundStyle(selectedRepository == repo ? Color.accentColor : .secondary) + } + } + } + .padding(.horizontal, 20) + } + } + .padding(.top, 16) + } + + // Prompt input area + ZStack(alignment: .topLeading) { + if prompt.isEmpty { + Text(placeholderText) + .foregroundStyle(.tertiary) + .padding(.horizontal, 4) + .padding(.top, 8) + } + + TextEditor(text: $prompt) + .focused($isTextFieldFocused) + .scrollContentBackground(.hidden) + .frame(minHeight: 100, maxHeight: 250) + } + .padding(.horizontal, 20) + .padding(.top, 16) + + // Branch selector + if !selectedRepository.isEmpty { + VStack(alignment: .leading, spacing: 8) { + Text("Branch (optional)") + .font(.subheadline.weight(.medium)) + .foregroundStyle(.secondary) + .padding(.horizontal, 20) + + if branchesLoading { + HStack(spacing: 8) { + ProgressView() + .scaleEffect(0.8) + Text("Loading branches...") + .font(.subheadline) + .foregroundStyle(.secondary) + } + .padding(.horizontal, 20) + .padding(.vertical, 8) + } else if !availableBranches.isEmpty { + ScrollView(.horizontal, showsIndicators: false) { + HStack(spacing: 8) { + ForEach(availableBranches, id: \.self) { branch in + Button(action: { selectedBranch = branch }) { + HStack(spacing: 6) { + Image(systemName: "arrow.branch") + .font(.caption) + Text(branch) + .font(.subheadline) + } + .padding(.horizontal, 14) + .padding(.vertical, 8) + .background( + RoundedRectangle(cornerRadius: 20) + .fill(selectedBranch == branch ? Color.accentColor.opacity(0.15) : Color(uiColor: .secondarySystemBackground)) + ) + .overlay( + RoundedRectangle(cornerRadius: 20) + .strokeBorder( + selectedBranch == branch ? Color.accentColor : Color.clear, + lineWidth: 1.5 + ) + ) + .foregroundStyle(selectedBranch == branch ? Color.accentColor : .secondary) + } + } + } + .padding(.horizontal, 20) + } + } + } + .padding(.top, 12) + } + + Spacer() + + // Submit button + HStack { + Spacer() + + Button { + if canSubmit { + onCreate() + } + } label: { + Group { + if isCreating { + ProgressView() + .progressViewStyle(CircularProgressViewStyle(tint: .white)) + .scaleEffect(0.8) + } else { + Image(systemName: "arrow.up") + .font(.body.weight(.semibold)) + } + } + .frame(width: 32, height: 32) + .foregroundStyle(.white) + .background( + Circle() + .fill(canSubmit ? Color.accentColor : Color.gray.opacity(0.3)) + ) + } + .disabled(!canSubmit) + } + .padding(.horizontal, 20) + .padding(.bottom, 20) + } + .background(Color(uiColor: .systemBackground)) + .navigationTitle("New Workspace") + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .navigationBarLeading) { + Button("Cancel") { + isPresented = false + } + .foregroundStyle(.primary) + } + } + .onAppear { + DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { + isTextFieldFocused = true + } + } + } + .presentationDetents([.medium, .large]) + .presentationDragIndicator(.visible) + } + + private var placeholderText: String { + if !selectedRepository.isEmpty { + let branchText = selectedBranch ?? "default branch" + return "Describe a coding task in \(selectedRepository) @ \(branchText)" + } + return "Select a repository and describe your coding task" + } + + private var canSubmit: Bool { + !selectedRepository.isEmpty && !isCreating + } +} + +#Preview("Workspaces List") { + NavigationStack { + WorkspacesListPreview() + } +} + +#Preview("Empty State") { + NavigationStack { + EmptyStatePreview() + } +} + +#Preview("Workspace Cards") { + List { + WorkspaceCard(workspace: .preview1) + WorkspaceCard(workspace: .preview2) + WorkspaceCard(workspace: .preview3) + } + .listStyle(.plain) +} + +// Preview helpers +private struct WorkspacesListPreview: View { + @StateObject private var authManager = MockAuthManager() as AuthManager + @State private var showCreateSheet = false + + var body: some View { + ZStack { + Color(uiColor: .systemGroupedBackground) + .ignoresSafeArea() + + List { + ForEach(WorkspaceInfo.previewList) { workspace in + WorkspaceCard(workspace: workspace) + .listRowInsets(EdgeInsets()) + .listRowSeparator(.visible) + .listRowBackground(Color(uiColor: .secondarySystemBackground)) + } + } + .listStyle(.plain) + .scrollContentBackground(.hidden) + } + .navigationTitle("Workspaces") + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + Button(action: { showCreateSheet = true }) { + Image(systemName: "plus") + } + } + } + .sheet(isPresented: $showCreateSheet) { + CreateWorkspaceSheet( + isPresented: $showCreateSheet, + prompt: .constant(""), + selectedRepository: .constant("wandb/catnip"), + selectedBranch: .constant(nil), + availableRepositories: ["wandb/catnip", "acme/project"], + availableBranches: ["main", "feature/api-docs", "bugfix/auth-token"], + branchesLoading: false, + isCreating: false, + error: nil, + onCreate: { showCreateSheet = false } + ) + } + } +} + +private struct EmptyStatePreview: View { + @State private var showSheet = false + + var body: some View { + ZStack { + Color(uiColor: .systemGroupedBackground) + .ignoresSafeArea() + + VStack(spacing: 20) { + Image(systemName: "folder") + .font(.system(size: 56)) + .foregroundStyle(.secondary) + + Text("No workspaces") + .font(.title2.weight(.semibold)) + .foregroundStyle(.primary) + + Text("Create a workspace to get started") + .font(.body) + .foregroundStyle(.secondary) + + Button { + showSheet = true + } label: { + Text("Create Workspace") + } + .buttonStyle(ProminentButtonStyle()) + .padding(.horizontal, 20) + } + .padding() + } + .navigationTitle("Workspaces") + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .navigationBarTrailing) { + Button(action: { showSheet = true }) { + Image(systemName: "plus") + } + } + } + .sheet(isPresented: $showSheet) { + CreateWorkspaceSheet( + isPresented: $showSheet, + prompt: .constant(""), + selectedRepository: .constant("wandb/catnip"), + selectedBranch: .constant(nil), + availableRepositories: ["wandb/catnip", "acme/project"], + availableBranches: ["main", "feature/docs"], + branchesLoading: false, + isCreating: false, + error: nil, + onCreate: { showSheet = false } + ) + } + } +} From 5436cdfe18d97a0426092e648b8caa928d2c9fac Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 10 Oct 2025 17:14:48 -0400 Subject: [PATCH 27/46] Fix prompt injection for already-running Claude sessions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, handleSSEPromptInjection would wait for a SessionStart hook before injecting prompts. This worked for new workspaces but failed for "Ask for changes" on completed workspaces since Claude was already running. Now checks Claude activity state first - if Claude is active/running, inject the prompt immediately without waiting for SessionStart. This fixes the issue where prompts would timeout and never execute in active sessions. Fixes: Carriage return not sent after prompt in "Ask for changes" flow 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- container/internal/handlers/pty.go | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/container/internal/handlers/pty.go b/container/internal/handlers/pty.go index 03f6bc83..9d3779e3 100644 --- a/container/internal/handlers/pty.go +++ b/container/internal/handlers/pty.go @@ -497,6 +497,7 @@ func (h *PTYHandler) HandleSSEConnection(c *fiber.Ctx) error { prompt := c.Query("prompt", "") // Debug logging + logger.Infof("🐱 [HandleSSEConnection] Received SSE request - session: %s, agent: %s, has_prompt: %v", sessionID, agent, prompt != "") if agent != "" { logger.Debugf("📡 New SSE connection for session: %s with agent: %s", sessionID, agent) } else { @@ -508,6 +509,7 @@ func (h *PTYHandler) HandleSSEConnection(c *fiber.Ctx) error { if agent != "" { compositeSessionID = fmt.Sprintf("%s:%s", sessionID, agent) } + logger.Infof("🐱 [HandleSSEConnection] Composite session ID: %s", compositeSessionID) // Set SSE headers c.Set("Content-Type", "text/event-stream") @@ -552,7 +554,10 @@ func (h *PTYHandler) HandleSSEConnection(c *fiber.Ctx) error { // Handle prompt injection if provided via query parameter using SessionStart hook if prompt != "" { + logger.Infof("🐱 [HandleSSEConnection] Prompt provided, starting injection handler for: %q", prompt) go h.handleSSEPromptInjection(session, prompt) + } else { + logger.Infof("🐱 [HandleSSEConnection] No prompt provided in query parameters") } // Wait for context cancellation (connection close) @@ -1052,6 +1057,9 @@ func (h *PTYHandler) getOrCreateSession(sessionID, agent string, reset bool) *Se baseSessionID = sessionID[:idx] } + logger.Infof("🐱 [getOrCreateSession] sessionID: %s, baseSessionID: %s", sessionID, baseSessionID) + logger.Infof("🐱 [getOrCreateSession] WorkspaceDir: %s", config.Runtime.WorkspaceDir) + // Validate session ID and get workspace directory // Support both "default" symlink and state-based worktree lookups if baseSessionID == "default" { @@ -2495,12 +2503,26 @@ func (h *PTYHandler) handleFocusChange(session *Session, conn PTYConnection, foc // handleSSEPromptInjection waits for SessionStart hook then injects prompt robustly func (h *PTYHandler) handleSSEPromptInjection(session *Session, prompt string) { + logger.Infof("🐱 [handleSSEPromptInjection] Started for session: %s, prompt: %q", session.ID, prompt) + if h.claudeMonitor == nil { - logger.Errorf("❌ ClaudeMonitor service not available for SSE prompt injection") + logger.Errorf("🐱 [handleSSEPromptInjection] ❌ ClaudeMonitor service not available for SSE prompt injection") + return + } + + // Check if Claude is already active/running - if so, inject immediately without waiting for SessionStart + claudeActivityState := h.sessionService.GetClaudeActivityState(session.WorkDir) + logger.Infof("🐱 [handleSSEPromptInjection] Current Claude activity state: %v", claudeActivityState) + + if claudeActivityState == models.ClaudeActive || claudeActivityState == models.ClaudeRunning { + logger.Infof("🚀 Claude is already active/running, injecting prompt immediately without waiting for SessionStart") + // Brief delay to ensure PTY is ready + time.Sleep(100 * time.Millisecond) + h.injectPromptWithEchoConfirmation(session, prompt) return } - logger.Infof("⏳ Waiting for SessionStart hook before injecting SSE prompt: %q", prompt) + logger.Infof("🐱 [handleSSEPromptInjection] ⏳ Waiting for SessionStart hook before injecting SSE prompt: %q", prompt) // Record the current time so we only accept SessionStart events after now startTime := time.Now() From 4358333bb019a2d01c9d7aefa06c036802276bb4 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 10 Oct 2025 17:17:17 -0400 Subject: [PATCH 28/46] Add complete iOS native app with SwiftUI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implements full-featured iOS client for Catnip with: - OAuth authentication flow with GitHub - Workspace list and detail views with real-time polling - PTY terminal viewer with SSE connection - Diff viewer with syntax highlighting - Claude session monitoring and state management - Pull request creation workflow - Glass morphism UI design matching mobile app Includes comprehensive UI tests and performance documentation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- xcode/TESTING_SUMMARY.md | 215 +++++++ xcode/catnip.xcodeproj/project.pbxproj | 594 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 67602 bytes .../xcshareddata/xcschemes/catnip.xcscheme | 102 +++ .../xcschemes/xcschememanagement.plist | 32 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/AppIcon-Dark-1024.png | Bin 0 -> 1262604 bytes .../AppIcon.appiconset/AppIcon-Light-1024.png | Bin 0 -> 1262604 bytes .../AppIcon-Tinted-1024.png | Bin 0 -> 1263124 bytes .../AppIcon.appiconset/Contents.json | 38 ++ xcode/catnip/Assets.xcassets/Contents.json | 6 + .../logo.imageset/Contents.json | 21 + .../Assets.xcassets/logo.imageset/logo.png | Bin 0 -> 606542 bytes xcode/catnip/Components/ButtonStyles.swift | 40 ++ xcode/catnip/Components/DiffFileView.swift | 299 +++++++++ xcode/catnip/Components/GlassCard.swift | 47 ++ xcode/catnip/Components/GlassInput.swift | 66 ++ xcode/catnip/Components/IOSButton.swift | 119 ++++ xcode/catnip/Components/PromptSheet.swift | 215 +++++++ xcode/catnip/Components/StatusIndicator.swift | 99 +++ .../Components/WorkspaceDiffViewer.swift | 366 +++++++++++ xcode/catnip/ContentView.swift | 41 ++ xcode/catnip/Info.plist | 21 + xcode/catnip/Item.swift | 18 + xcode/catnip/Models/ClaudeSession.swift | 45 ++ xcode/catnip/Models/CodespaceInfo.swift | 29 + xcode/catnip/Models/DiffModels.swift | 270 ++++++++ xcode/catnip/Models/PreviewData.swift | 129 ++++ xcode/catnip/Models/WorkspaceInfo.swift | 162 +++++ xcode/catnip/Services/AuthManager.swift | 172 +++++ xcode/catnip/Services/CatnipAPI.swift | 499 +++++++++++++++ xcode/catnip/Services/SSEService.swift | 243 +++++++ xcode/catnip/Services/UITestingHelper.swift | 139 ++++ xcode/catnip/Services/WorkspacePoller.swift | 230 +++++++ xcode/catnip/Theme/AppTheme.swift | 222 +++++++ xcode/catnip/Views/AuthView.swift | 58 ++ xcode/catnip/Views/CodespaceView.swift | 476 ++++++++++++++ xcode/catnip/catnip.entitlements | 14 + xcode/catnip/catnip.icon/Assets/logo@2x.png | Bin 0 -> 2186252 bytes xcode/catnip/catnip.icon/icon.json | 40 ++ xcode/catnip/catnipApp.swift | 27 + xcode/catnipTests/APIModelsTests.swift | 296 +++++++++ xcode/catnipTests/DiffParserTests.swift | 350 +++++++++++ xcode/catnipTests/IntegrationTests.swift | 328 ++++++++++ xcode/catnipTests/KeychainHelperTests.swift | 256 ++++++++ xcode/catnipTests/PERFORMANCE.md | 232 +++++++ xcode/catnipTests/README.md | 151 +++++ xcode/catnipTests/TestHelpers.swift | 306 +++++++++ xcode/catnipTests/WorkspaceInfoTests.swift | 477 ++++++++++++++ xcode/catnipTests/catnipTests.swift | 60 ++ .../catnipUITests/FastUserJourneyTests.swift | 144 +++++ xcode/catnipUITests/PageObjects.swift | 324 ++++++++++ xcode/catnipUITests/README.md | 270 ++++++++ xcode/catnipUITests/UserJourneyTests.swift | 268 ++++++++ xcode/catnipUITests/WorkflowUITests.swift | 308 +++++++++ xcode/catnipUITests/catnipUITests.swift | 42 ++ .../catnipUITestsLaunchTests.swift | 33 + 58 files changed, 8957 insertions(+) create mode 100644 xcode/TESTING_SUMMARY.md create mode 100644 xcode/catnip.xcodeproj/project.pbxproj create mode 100644 xcode/catnip.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 xcode/catnip.xcodeproj/project.xcworkspace/xcuserdata/vanpelt.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 xcode/catnip.xcodeproj/xcshareddata/xcschemes/catnip.xcscheme create mode 100644 xcode/catnip.xcodeproj/xcuserdata/vanpelt.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 xcode/catnip/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 xcode/catnip/Assets.xcassets/AppIcon.appiconset/AppIcon-Dark-1024.png create mode 100644 xcode/catnip/Assets.xcassets/AppIcon.appiconset/AppIcon-Light-1024.png create mode 100644 xcode/catnip/Assets.xcassets/AppIcon.appiconset/AppIcon-Tinted-1024.png create mode 100644 xcode/catnip/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 xcode/catnip/Assets.xcassets/Contents.json create mode 100644 xcode/catnip/Assets.xcassets/logo.imageset/Contents.json create mode 100644 xcode/catnip/Assets.xcassets/logo.imageset/logo.png create mode 100644 xcode/catnip/Components/ButtonStyles.swift create mode 100644 xcode/catnip/Components/DiffFileView.swift create mode 100644 xcode/catnip/Components/GlassCard.swift create mode 100644 xcode/catnip/Components/GlassInput.swift create mode 100644 xcode/catnip/Components/IOSButton.swift create mode 100644 xcode/catnip/Components/PromptSheet.swift create mode 100644 xcode/catnip/Components/StatusIndicator.swift create mode 100644 xcode/catnip/Components/WorkspaceDiffViewer.swift create mode 100644 xcode/catnip/ContentView.swift create mode 100644 xcode/catnip/Info.plist create mode 100644 xcode/catnip/Item.swift create mode 100644 xcode/catnip/Models/ClaudeSession.swift create mode 100644 xcode/catnip/Models/CodespaceInfo.swift create mode 100644 xcode/catnip/Models/DiffModels.swift create mode 100644 xcode/catnip/Models/PreviewData.swift create mode 100644 xcode/catnip/Models/WorkspaceInfo.swift create mode 100644 xcode/catnip/Services/AuthManager.swift create mode 100644 xcode/catnip/Services/CatnipAPI.swift create mode 100644 xcode/catnip/Services/SSEService.swift create mode 100644 xcode/catnip/Services/UITestingHelper.swift create mode 100644 xcode/catnip/Services/WorkspacePoller.swift create mode 100644 xcode/catnip/Theme/AppTheme.swift create mode 100644 xcode/catnip/Views/AuthView.swift create mode 100644 xcode/catnip/Views/CodespaceView.swift create mode 100644 xcode/catnip/catnip.entitlements create mode 100644 xcode/catnip/catnip.icon/Assets/logo@2x.png create mode 100644 xcode/catnip/catnip.icon/icon.json create mode 100644 xcode/catnip/catnipApp.swift create mode 100644 xcode/catnipTests/APIModelsTests.swift create mode 100644 xcode/catnipTests/DiffParserTests.swift create mode 100644 xcode/catnipTests/IntegrationTests.swift create mode 100644 xcode/catnipTests/KeychainHelperTests.swift create mode 100644 xcode/catnipTests/PERFORMANCE.md create mode 100644 xcode/catnipTests/README.md create mode 100644 xcode/catnipTests/TestHelpers.swift create mode 100644 xcode/catnipTests/WorkspaceInfoTests.swift create mode 100644 xcode/catnipTests/catnipTests.swift create mode 100644 xcode/catnipUITests/FastUserJourneyTests.swift create mode 100644 xcode/catnipUITests/PageObjects.swift create mode 100644 xcode/catnipUITests/README.md create mode 100644 xcode/catnipUITests/UserJourneyTests.swift create mode 100644 xcode/catnipUITests/WorkflowUITests.swift create mode 100644 xcode/catnipUITests/catnipUITests.swift create mode 100644 xcode/catnipUITests/catnipUITestsLaunchTests.swift diff --git a/xcode/TESTING_SUMMARY.md b/xcode/TESTING_SUMMARY.md new file mode 100644 index 00000000..95d953e9 --- /dev/null +++ b/xcode/TESTING_SUMMARY.md @@ -0,0 +1,215 @@ +# Testing Summary + +## Test Suite Overview + +### Unit Tests (catnipTests/) + +- **Total**: 98 tests +- **Speed**: ~0.000s per test (instant!) +- **Coverage**: Models, parsers, API models, keychain, integration +- **Files**: + - `WorkspaceInfoTests.swift` - 20 tests + - `DiffParserTests.swift` - 20 tests + - `APIModelsTests.swift` - 23 tests + - `KeychainHelperTests.swift` - 18 tests + - `IntegrationTests.swift` - 17 tests + - `catnipTests.swift` - Smoke tests + +### UI Tests (catnipUITests/) + +- **Total**: 10+ tests +- **Speed**: 3-10s per test (with optimizations) +- **Coverage**: Full user journeys, navigation, auth, workspaces +- **Files**: + - `UserJourneyTests.swift` - Clean tests with Page Objects + - `FastUserJourneyTests.swift` - Optimized fast tests + - `WorkflowUITests.swift` - Comprehensive workflows + - `PageObjects.swift` - Reusable page objects + +## Performance Optimizations Applied + +### ✅ Network Activity FIXED + +**Problem**: 50MB/s network traffic during tests from: + +1. AuthManager calling `checkAuthStatus()` on init +2. Xcode downloading debug symbols (dSYMs) + +**Solution**: + +- Detect test environment (`XCTestConfigurationFilePath`) +- Skip network validation during tests +- Disable dSYM downloads (see PERFORMANCE.md) + +**Result**: Zero network activity during tests 🎉 + +### ✅ Animation Disabled for UI Tests + +**Problem**: UI animations slow down tests by 2-3x + +**Solution**: + +- Launch argument: `-DisableAnimations` +- `UIView.setAnimationsEnabled(false)` during tests + +**Result**: UI tests 2-3x faster (3-10s vs 10-30s) + +### ✅ Mock Data Infrastructure + +**Problem**: Real API calls slow tests and require backend + +**Solution**: + +- `UITestingHelper` with mock data +- Launch arguments: `-SkipAuthentication`, `-UseMockData` +- `MockDataFactory` for consistent test data + +**Result**: No backend dependency, instant data + +## Quick Reference + +### Run Fast Unit Tests (Development) + +```bash +# Single file (5-8 seconds) +xcodebuild test -only-testing:catnipTests/WorkspaceInfoTests + +# Or in Xcode: Cmd+6 → Click ◇ next to test file +``` + +### Run All Unit Tests + +```bash +# With parallel execution (~25-30 seconds) +xcodebuild test -scheme catnip -parallel-testing-enabled YES \ + -destination 'platform=iOS Simulator,name=iPhone 16,OS=latest' +``` + +### Run Fast UI Tests + +```bash +# Optimized tests (30 seconds) +xcodebuild test -only-testing:catnipUITests/FastUserJourneyTests \ + -destination 'platform=iOS Simulator,name=iPhone 16,OS=latest' +``` + +### Run Full Test Suite + +```bash +# Everything (1-2 minutes) +xcodebuild test -scheme catnip -parallel-testing-enabled YES \ + -destination 'platform=iOS Simulator,name=iPhone 16,OS=latest' +``` + +## Launch Arguments Reference + +| Argument | Purpose | Used By | +| --------------------- | ---------------------------- | -------- | +| `-UITesting` | Enable UI testing mode | UI Tests | +| `-DisableAnimations` | Disable animations for speed | UI Tests | +| `-SkipAuthentication` | Bypass OAuth flow | UI Tests | +| `-UseMockData` | Use mock API responses | UI Tests | +| `-ShowWorkspacesList` | Auto-navigate to workspaces | UI Tests | +| `-EmptyWorkspaces` | Show empty state | UI Tests | + +## Test Environment Detection + +The app automatically detects test environment using: + +```swift +UITestingHelper.isRunningTests // Detects unit or UI tests +UITestingHelper.isUITesting // Detects UI tests specifically +``` + +This prevents: + +- ❌ Network calls during tests +- ❌ OAuth redirects +- ❌ Real keychain operations (except KeychainHelperTests) +- ❌ Simulator slowdowns + +## Coverage Summary + +### ✅ Well Tested + +- WorkspaceInfo model (all computed properties) +- DiffParser (parsing, line numbers, stats) +- API models (JSON encoding/decoding) +- KeychainHelper (real keychain operations) +- Business logic (filtering, sorting, formatting) + +### 🚧 Limited Testing + +- Network layer (uses mocks, not real API) +- AuthManager OAuth flow (too complex for unit tests) +- SSEService (requires real SSE connection) + +### ⏭️ Future Testing + +- View models (when added) +- SwiftUI views (snapshot testing) +- Error recovery scenarios +- Performance benchmarks + +## Documentation + +- `catnipTests/README.md` - Unit test guide +- `catnipTests/PERFORMANCE.md` - Performance optimization guide +- `catnipUITests/README.md` - UI test guide +- `TESTING_SUMMARY.md` - This file + +## Best Practices + +1. **Run tests frequently** - They're fast! +2. **Use Page Objects** - For maintainable UI tests +3. **Mock data** - No real backend needed +4. **Parallel execution** - When running full suite +5. **Focus on what changed** - Run relevant tests during development +6. **Full suite before commit** - Ensure nothing broke + +## Benchmarks (With Optimizations) + +| Scenario | Time | Tests | +| -------------- | ------ | ----- | +| Single test | <1s | 1 | +| Single file | 5-8s | ~20 | +| Fast tests | 12-15s | ~70 | +| All unit tests | 25-30s | 98 | +| Fast UI tests | 30s | 6 | +| All tests | 1-2min | 110+ | + +All times include build + simulator launch overhead (~25s). + +## Troubleshooting + +### Network activity during tests? + +- ✅ Fixed in `AuthManager.swift` - skips validation during tests +- Check PERFORMANCE.md for dSYM download solution + +### Tests timing out? + +- Increase timeout in PageObjects +- Check for animations (should be disabled) + +### Simulator not launching? + +- Try: `xcrun simctl shutdown all && xcrun simctl boot "iPhone 16"` + +### Tests passing locally but failing in CI? + +- Check launch arguments match +- Verify mock data is enabled + +## Summary + +You now have: + +- ✅ **98 blazing-fast unit tests** (0.000s each) +- ✅ **10+ UI tests with Page Objects** (3-10s each) +- ✅ **Zero network activity during tests** +- ✅ **Complete mock infrastructure** +- ✅ **Comprehensive documentation** +- ✅ **~30 second test suite** (optimized) + +**Bottom line**: Run tests confidently and frequently! They're fast, comprehensive, and require no backend. 🚀 diff --git a/xcode/catnip.xcodeproj/project.pbxproj b/xcode/catnip.xcodeproj/project.pbxproj new file mode 100644 index 00000000..76ebc487 --- /dev/null +++ b/xcode/catnip.xcodeproj/project.pbxproj @@ -0,0 +1,594 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXContainerItemProxy section */ + 346BB07E2E931366000F5DA0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 346BB0642E931364000F5DA0 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 346BB06B2E931364000F5DA0; + remoteInfo = catnip; + }; + 346BB0882E931366000F5DA0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 346BB0642E931364000F5DA0 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 346BB06B2E931364000F5DA0; + remoteInfo = catnip; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 346BB06C2E931364000F5DA0 /* catnip.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = catnip.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 346BB07D2E931366000F5DA0 /* catnipTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = catnipTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 346BB0872E931366000F5DA0 /* catnipUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = catnipUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ + 346BB08F2E931366000F5DA0 /* Exceptions for "catnip" folder in "catnip" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + Info.plist, + ); + target = 346BB06B2E931364000F5DA0 /* catnip */; + }; +/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 346BB06E2E931364000F5DA0 /* catnip */ = { + isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + 346BB08F2E931366000F5DA0 /* Exceptions for "catnip" folder in "catnip" target */, + ); + path = catnip; + sourceTree = ""; + }; + 346BB0802E931366000F5DA0 /* catnipTests */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = catnipTests; + sourceTree = ""; + }; + 346BB08A2E931366000F5DA0 /* catnipUITests */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = catnipUITests; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + +/* Begin PBXFrameworksBuildPhase section */ + 346BB0692E931364000F5DA0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 346BB07A2E931366000F5DA0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 346BB0842E931366000F5DA0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 346BB0632E931364000F5DA0 = { + isa = PBXGroup; + children = ( + 346BB06E2E931364000F5DA0 /* catnip */, + 346BB0802E931366000F5DA0 /* catnipTests */, + 346BB08A2E931366000F5DA0 /* catnipUITests */, + 346BB06D2E931364000F5DA0 /* Products */, + ); + sourceTree = ""; + }; + 346BB06D2E931364000F5DA0 /* Products */ = { + isa = PBXGroup; + children = ( + 346BB06C2E931364000F5DA0 /* catnip.app */, + 346BB07D2E931366000F5DA0 /* catnipTests.xctest */, + 346BB0872E931366000F5DA0 /* catnipUITests.xctest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 346BB06B2E931364000F5DA0 /* catnip */ = { + isa = PBXNativeTarget; + buildConfigurationList = 346BB0902E931366000F5DA0 /* Build configuration list for PBXNativeTarget "catnip" */; + buildPhases = ( + 346BB0682E931364000F5DA0 /* Sources */, + 346BB0692E931364000F5DA0 /* Frameworks */, + 346BB06A2E931364000F5DA0 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + fileSystemSynchronizedGroups = ( + 346BB06E2E931364000F5DA0 /* catnip */, + ); + name = catnip; + packageProductDependencies = ( + ); + productName = catnip; + productReference = 346BB06C2E931364000F5DA0 /* catnip.app */; + productType = "com.apple.product-type.application"; + }; + 346BB07C2E931366000F5DA0 /* catnipTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 346BB0952E931366000F5DA0 /* Build configuration list for PBXNativeTarget "catnipTests" */; + buildPhases = ( + 346BB0792E931366000F5DA0 /* Sources */, + 346BB07A2E931366000F5DA0 /* Frameworks */, + 346BB07B2E931366000F5DA0 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 346BB07F2E931366000F5DA0 /* PBXTargetDependency */, + ); + fileSystemSynchronizedGroups = ( + 346BB0802E931366000F5DA0 /* catnipTests */, + ); + name = catnipTests; + packageProductDependencies = ( + ); + productName = catnipTests; + productReference = 346BB07D2E931366000F5DA0 /* catnipTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 346BB0862E931366000F5DA0 /* catnipUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 346BB0982E931366000F5DA0 /* Build configuration list for PBXNativeTarget "catnipUITests" */; + buildPhases = ( + 346BB0832E931366000F5DA0 /* Sources */, + 346BB0842E931366000F5DA0 /* Frameworks */, + 346BB0852E931366000F5DA0 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 346BB0892E931366000F5DA0 /* PBXTargetDependency */, + ); + fileSystemSynchronizedGroups = ( + 346BB08A2E931366000F5DA0 /* catnipUITests */, + ); + name = catnipUITests; + packageProductDependencies = ( + ); + productName = catnipUITests; + productReference = 346BB0872E931366000F5DA0 /* catnipUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 346BB0642E931364000F5DA0 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 2600; + LastUpgradeCheck = 2600; + TargetAttributes = { + 346BB06B2E931364000F5DA0 = { + CreatedOnToolsVersion = 26.0; + }; + 346BB07C2E931366000F5DA0 = { + CreatedOnToolsVersion = 26.0; + TestTargetID = 346BB06B2E931364000F5DA0; + }; + 346BB0862E931366000F5DA0 = { + CreatedOnToolsVersion = 26.0; + TestTargetID = 346BB06B2E931364000F5DA0; + }; + }; + }; + buildConfigurationList = 346BB0672E931364000F5DA0 /* Build configuration list for PBXProject "catnip" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 346BB0632E931364000F5DA0; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = 346BB06D2E931364000F5DA0 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 346BB06B2E931364000F5DA0 /* catnip */, + 346BB07C2E931366000F5DA0 /* catnipTests */, + 346BB0862E931366000F5DA0 /* catnipUITests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 346BB06A2E931364000F5DA0 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 346BB07B2E931366000F5DA0 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 346BB0852E931366000F5DA0 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 346BB0682E931364000F5DA0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 346BB0792E931366000F5DA0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 346BB0832E931366000F5DA0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 346BB07F2E931366000F5DA0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 346BB06B2E931364000F5DA0 /* catnip */; + targetProxy = 346BB07E2E931366000F5DA0 /* PBXContainerItemProxy */; + }; + 346BB0892E931366000F5DA0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 346BB06B2E931364000F5DA0 /* catnip */; + targetProxy = 346BB0882E931366000F5DA0 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 346BB0912E931366000F5DA0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = catnip/catnip.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QCUUU7QVF7; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = catnip/Info.plist; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = wandb.catnip; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 346BB0922E931366000F5DA0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = catnip/catnip.entitlements; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QCUUU7QVF7; + ENABLE_PREVIEWS = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = catnip/Info.plist; + INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchScreen_Generation = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = wandb.catnip; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRING_CATALOG_GENERATE_SYMBOLS = YES; + SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 346BB0932E931366000F5DA0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = QCUUU7QVF7; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 346BB0942E931366000F5DA0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = QCUUU7QVF7; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 346BB0962E931366000F5DA0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QCUUU7QVF7; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = wandb.catnipTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRING_CATALOG_GENERATE_SYMBOLS = NO; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/catnip.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/catnip"; + }; + name = Debug; + }; + 346BB0972E931366000F5DA0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QCUUU7QVF7; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 26.0; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = wandb.catnipTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRING_CATALOG_GENERATE_SYMBOLS = NO; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/catnip.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/catnip"; + }; + name = Release; + }; + 346BB0992E931366000F5DA0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QCUUU7QVF7; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = wandb.catnipUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRING_CATALOG_GENERATE_SYMBOLS = NO; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = catnip; + }; + name = Debug; + }; + 346BB09A2E931366000F5DA0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = QCUUU7QVF7; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = wandb.catnipUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRING_CATALOG_GENERATE_SYMBOLS = NO; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_UPCOMING_FEATURE_MEMBER_IMPORT_VISIBILITY = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = catnip; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 346BB0672E931364000F5DA0 /* Build configuration list for PBXProject "catnip" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 346BB0932E931366000F5DA0 /* Debug */, + 346BB0942E931366000F5DA0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 346BB0902E931366000F5DA0 /* Build configuration list for PBXNativeTarget "catnip" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 346BB0912E931366000F5DA0 /* Debug */, + 346BB0922E931366000F5DA0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 346BB0952E931366000F5DA0 /* Build configuration list for PBXNativeTarget "catnipTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 346BB0962E931366000F5DA0 /* Debug */, + 346BB0972E931366000F5DA0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 346BB0982E931366000F5DA0 /* Build configuration list for PBXNativeTarget "catnipUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 346BB0992E931366000F5DA0 /* Debug */, + 346BB09A2E931366000F5DA0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 346BB0642E931364000F5DA0 /* Project object */; +} diff --git a/xcode/catnip.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/xcode/catnip.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/xcode/catnip.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/xcode/catnip.xcodeproj/project.xcworkspace/xcuserdata/vanpelt.xcuserdatad/UserInterfaceState.xcuserstate b/xcode/catnip.xcodeproj/project.xcworkspace/xcuserdata/vanpelt.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..1b19565762b35bef86e1ff352b5afcdcaf0ceb4d GIT binary patch literal 67602 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 nyJ~lJ?i$~ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xcode/catnip.xcodeproj/xcuserdata/vanpelt.xcuserdatad/xcschemes/xcschememanagement.plist b/xcode/catnip.xcodeproj/xcuserdata/vanpelt.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..7e2b69fb --- /dev/null +++ b/xcode/catnip.xcodeproj/xcuserdata/vanpelt.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,32 @@ + + + + + SchemeUserState + + catnip.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 346BB06B2E931364000F5DA0 + + primary + + + 346BB07C2E931366000F5DA0 + + primary + + + 346BB0862E931366000F5DA0 + + primary + + + + + diff --git a/xcode/catnip/Assets.xcassets/AccentColor.colorset/Contents.json b/xcode/catnip/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000..0afb3cf0 --- /dev/null +++ b/xcode/catnip/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors": [ + { + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/xcode/catnip/Assets.xcassets/AppIcon.appiconset/AppIcon-Dark-1024.png b/xcode/catnip/Assets.xcassets/AppIcon.appiconset/AppIcon-Dark-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..f8f74c79c8311aee8fa3543dfe848edbf15cead9 GIT binary patch literal 1262604 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

nPLG)wH>;027vLEMoe`(x6GcxepqPu>hL`nA(* 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

6*?|w7e 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

y(0XXIw+;?#LH-!^j$x?04URkj&-bf)0k=M|)@ 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

HTkOD*s zEl(X6Pjw|oFDI#jq@$N_3rpRRC;DxDT2As*S(agXL!>;q@OTB%uC0Dp)~pgC!X1u?U`2(x99gC zjn2C^rn+Z4TxoD!zkr~PwIp3 zIJD%m4!qaF7LND|+tDuTt2$=j0nQ0NfOAHVs8c}m!PZ;Hycdq&1{K}Z(ayYSt#6s` zXjzspkWEKaR%@@kcQ%6SPPG?3e0gA-<25_W@rL080U)T-?r0uR?KFh_sdTxs1Z~%?s@efrInxw-f!PT>0!YXA9L)w_faw z=EHMmk&PJS;F9OkroPB8+m(yd+jUbL+j@fFD`YqAZwo{fT@8q{Qg0s49rsUz? zV3N4_FZNs}nL?PfA$4yRT9E&X@A9edSV(hUzVxJB0$$29A6MX~T9iG8oA-dA;W7PkPU;KQ#{r20So3d$BV^abj=)x#ymcm_qd|vj9_wc~0 zY_?@uWY0VKQZTHY(tYksgjF!zz<@{nu4rHWi?6hQ|L_0Lwx6XQtI+omY+e;dnWVGi zp6|kx$0Fz8LXVm>i@LHX9j>vzNZ{3L`|jQC{)gX>EU#&^EW@(yaud82RQa!+B{ zk>@LR*u6viq^_ykd1jI6SM<8A&Sg_+13k8_q6<8OXg!~-^XMOVDPQtT8%YhvPS|FI zXVD?cb%_l@2xW=9>XN)0q%&z-r@pGj+ROOJAS)ggcqyIJD{TuiUA7SP8Y2*wnQ73Y z{~{b|k!iMZ20^WlQI0QNLvZ)GXP;*o#$UHLjvk4<7+_XFM&gscvyJ2i7@w+3d2J1e zgEE;*;(abdxLYi!+-cy z`cZb?x-@-0R)`sa7afN^(r5ief3I8_yfFRN+S8{_{p7`OTzY<*B6>bt`~Kx~psegK zAMQ1XKPLxf&R)9b?Ai1G1Cu)U4URH-&=CzZBn_DcLB)&42vAiorO)PX{3^vNM@9|R z#Q49@lUwp>3^k_OnHB7=V?L}}yM&YCCMfTqk=wa#YqHMhsNrzy+~|O5cvWx>j*ePJ z-e@4>sG_*R5i~VEmgAJ7tcwK;l^WNMR;jhKZ=GwezILF^0nd(r1|Wu|qfdv*O9QN7 ztHwQ#NL!Tjh9*X|i}qf1Zsb=ry275HoxyUkzKLUwZoTE^HqLJ1cIvBfDd#thZO7s` z2Jodu(%5tiKAd4E`)L}-tkVT%P?Z;?6GzLop|kM`{xR~_LeXMn2v>YHiZ-I$5{606Bx9FWXzO&e(Shw*f2$BZEc*qV@Hn=n0hM#0Bg-Ms3A+`e?1Ydp!|+=#eF$; zItk^B+EB_@opqln8)oX|)w-8Qz87wGAs4SeuHt$cEGPOFo{NX&lNUL%{>35i$=1V9 zVf^+gKGeN>6I`Vo86Yc5W9Hb@>I}R6-`IZdi=S^F`{+m7X4ZQyX5ByVh2fttf{c`z zEBF>}%CsG}dG;1K$dP}~ymFAE|4uWi=~V0*iO8BvaqqH6CXom6b2dY9yS`1Uj5=~K zi~W#39W!l``5c}0yKDqHN_u|_THY%6ZdiBZ*1SY4002M$NklF6$Lt!wd3d8E_6h>y0yi} z9bb?E>P#7n9>m5aRm!(stXFNB^(Su9Fv^IV?T91$;-aH!JEJYJJOwWuPOF6i6Exwu zHodo@*`ov=Iht;cG3sAiu6;jtcR_2fxpog$`Zc8OmUF6 zrH{oMJ0p(zN=pJjRAvHYJkzGn5m9`gGO&>#Eo~>J?Tr2Q#`-C3P#aVILW89sn(&X0nD^Zd@+tABhF_!RE9HS1U8u1gmD1zVu=l+^eHba0tzuy}b@HvIe2m;Su{-Q!QN zSCSj1j>nGLsHuO&gAf?l`eX9m!u)4FN56Sy*>(bbcNzP2i6tzX+4=vT2j7$BfFj^# zp~{;h&FN@6n+ZATZG_)a@0C$=cxN!yG?^WUJ#c17I7p>Tks!L9hQJbL5YBP%qw8yX6~y zBd6dkeC5w?zG8pXV}DDlX+jq-wR6^m?evcAw2AQAB@DvN01O$t?`PX&00mgprggl8 z7WqA&pbO>l&j5{f&)`RFF~6M+avp!uO%API?Uwk63ty?D;0(V@AB9yi<$DMSA0sQ| zk!I^go(iaRk8gRa?8*c4TmO_eJ3BkN;_}MLp>-Pv$0tS)&2S~_wLiaf4wUx((!pK> z_;YYz)#}x&_nkO?;@xLXpSu~4XMBJu>UI$P#DPOGY%p`hK=20*E5)%Bp|Kzhk7NA1 zw5phzq%rlm3Z?_W-{h~xo)Kb<$`FQR^VC$^y=!|Mu^C2MoX(n#493C?;-W$K)8nV{ z)Zl1P3SX31h321*q!CFKUnko&i_RAC$fHq4V1?-@hlWB#dptvD{_qZ*rSI*|L(<9z z%9UoXtF#&@1cz84o>Qjz-!ka%@+<8;N0ZsWWZHaiFWQ7fHpLeC!cE+7v>hw-G z&haz=%e*?;U7a~;r3xtbs?p2n1BOrB9j&orW1~_dm6QRFj{F;F@CVsb&!TRFW`{n} zZhvE(s}bi%Qu?lPM=OaLc<)!-hB^t z-*A1KV&qjAi#Y9G1{&Om+^{*zDT*j9ZDC(k9$E8o=s4KWL200;df>%;%ysUNf# zUVITy@&t!M%zKt_$E!F*Ae4=2=CHM9q;6^vJt$JfpnIUeDDw2g;0$x5csXr5ZXh( zn=;`T&75mHSnA`ZjGy_9-(bD(CY&yphu~yTZaP}vnko$J!pmDbZNW}HAYX6MS$|>w z;r1pS7(4%i&MYB?x~Fp?LfQ0<8yztpXd4Vh)kcw|hDZDXT-CE39{FXbFrCXdRn`YG zLz(4(x@i;vDs)Rda9X4@O^zNrMo{x&%5vJYl_o#zXqVlPFUmvVXgT30^!z{TP+EH( zulkXX#p8mJI*t9+)?8_urZ%vKlHI|DkKAaR4c1u)b_gA1a`U#n<5c_&im?-!Q3dyu zL!H}_f9te!7)h$WyHp?}SfQ(eP1+LeumL^u>dcwX&ZOV5{^(0=3;c~^Xwe{{U9@hr z6V|l(Q*q#*k#^q0jPTw-sCGUwPx&AeG!3=GPWd|4Y)9H6K&JMrgof!ql zZ`52o5TMk7?UcL+{v~L2WXh zAFWJ+2;eDxvFF_Pos6pUYUjKc5A*xp^t}@-IA4HewSOS?7JIKu*=2l!HD*GoVo>`791Q^&vgtZs$id9p&@AOKvW5 z8pkVagn5vCFqXh!1^cjs6zcu$SJ_WX5E^^|p4VmUBfZ~t$L+Va&wTbXjC|kHM(8vx z;2U_fqV?@R>sB6#x3&qibMYkK`O7l{z>$;Gb=f`jLOD{@zOIv<=fX)k6xVjwpvOvhQJ6a7DR*nsjPvp&>M z(`?^WR{R#ewKvXI z^m1uYW<*7PrC)6P3pat2{Q%Gj>p&x#a)E6cWjjGb?lUtj9-Jz z$dVJ_UiGE4%OoI?wCV48ye#8x;YHt;_um}@Vq?@l1FYtmp@V$(t+Q>0*@Fhf3{ENk zHhj?s%8c!xD6iB}Cx5)?t57HWSD+p-WZ$w#~9V z^V{~!OE}_N@}->%;;D1#NgB%pS3kuQb8*3|^j-3UG}t}yScyFx8X3o39(?cO()?#8 zCMGtKPr%o%e+CYe#s6mjd=2FPKL>X2-aUEZH*99s3;mshM>T~jw}blsepvV@X2 zl3JJQQOc7$^m4h=g@MjxQa&~UX47!kNToBVp+s42yaR@BH_3C9?Pf-0w{cdwkxqAQ z)xhYW*tvHNmhduF9b=?3W|UO}Z&Z?KU8c9{oO!0RPP;pdx&{r)n8v}K*vG~u+jTg{ z>oG1TnGT-OYSLoCV=yeFj7dlc-kK2Yp-(bBNCUxcyx6odL>L@y!v~3qgAOmsurQj1 z!#P7^e*D;*L^B&}3RWw&}nFBhgBKYq;#>FtX`}Xls~8xe5nLT(WyDWmZE( zq#7s24dGn>??_jsJQF3?HNuXHHMmv1*-+U)X{_a|4O$!mT}11Oe`)aO)a19umi$XJ z(9)O@MC!yfrSjNLlGAD3mDdrqNg6WiTbKrLH2yXcOO&Z`_4mqEjJ83G#LT;i5%uk8 z-@q8V`_cg%TEH1))3x3Eu5YJLyxC5_`DTI^IL+?9Tnwzy2H6cCT%>+;k)7&Q7FZxQv4krzH8MwsKCEH}OA?-U%FQ){eY++Q$IXX2;wU zh0P@?Pd+%EUmhyUI;--?Q9@;2*(qnSbX7#TPh7cgmXj=@K^g z0U!g<=9#(W^k3?M)atQ1S+>4-Aq>lpT#{;`b3{`v`ev{}J*v)y^(9_XuT8$Hx3&?p z*ta+6cspQ~fC?S78JubZIr2(5vGWwYhjwR}O^&nIg@JMCIC&ZwBcRqswOf<}kL=)E zPx1%t4*uHg=sFwfYFo15q)TLYJ2J+J09VG_(c>rE&kh`EdznGAhGl!wo!$PyL*Da~ zk9b*$C2txfI9+%yTtE+p+dcQ*+dlKT$I$h~_RKTS6Ie00OdCRe<*}T8JCkGsPW}l` z0TZ-;pg%!Wl7#p859#=u#w+={TYplI+2oYxf#Lh0>2vV&hq#m0x-r<}9zO|0`HVOE zAPFdesJ731q19qYPmQY7UA?RO6|8j6oJD57+CqeU)=IHvyaXBO*8Glfn#m13*M-=709o2+Ds|QzC@H#vR*nV+yIvn1&;^XDH&k8 zPC9wcOLfQkgAOb^ykwwo_1bpv-079G7cWe1+_ZknAO7JV9w70xSpc%~mwaiFu3f)k z4qUnN!@(z>cwzhg1BZT#5t;`k)~;Q-3g;@e3Ztu%pob^}Mg+x)4uPYa25B5LiX`bi zDkLA$#<-JTK)$!3^6DL26;XY&p!KH_A44Q4u)e5Z2- z1oPO~+89Y!8c)*4kbslFHKtxMz%&vXU-QYYB^w&D#)W|Q;sTQ|1$nw#D zd|Re_7NoJpU``Oxc1`JioI0;KeDahAv~Qp-KgJF7<>pLYzAL)K87D&?z;hc$8%*oV zfJX1^>bQe&8Z{eiH^0$Y?&~2NsL>d>&ePz7K?~);f8w1Hmee(kAPu%*%?x>d|Su_^p0rT))m=@j}^h|#w zjgQNj=372lH>A_BTfc8{&g_+ixwdv40iiA1kUIhwsgGcsG~!WpBCo5C^QF^oe<2!H%|i5 zJL!q8ilYy>;;6v0<%<`lv7ruM0Ad}BxikqcL5dD;WP``@w*m)no^s-7)98o6mL@(R zrQUc6FFGerd`BMjD$|L1KYQVP)_HDY&EqFO`e^$co&Vczy_GVsHykGhhKhCIEED5R z{TCobmkw%^8s||TK5@2v|An8mgKSJC8g7^=cSsfd%kdM(AQW69FZ}kO?;RmhMs&iI zGg%@<8|lbx-?lmRpmXLF#eVidkBhRdUfJ1NkKDfS>2Zki zP28*+%g9t(-U%(TArRqVZ+bb5eIt*vf|SWPsH73DPINk(l;>}4o*k&v6W{Vgxs^w; zvplmL@j&D{8;8#G%wT{W@N(p}g9ewt%)H`9hU61RE_F>FWpoO;5WnaO>Fvx|CxtIK zKraviJ9JS836_iuv;!QIc9g(Wb~QIJ4Q|2~=d>@8Qaj_y54b{4k5@+Pqi>~i8DX@1 z^#DAJ{-Qzr<*lD=_D4PHq~Fgp>aE*%B*=AtVWiCGh%K%dSqQ|$~p zi_7~-f+YrzWQ%xF=rXPel8~Nii0tqcxpW4PLb_SR4Z?PfZDNfaK=7MFJzGO^D;tCwE5`?|E|Q1-3M*iOop zZtd(69oxAJ({w^-vmEkYe&Ki8qaXe-LF(0XkT1YGMzO)g5qa|m!{AAK%ZA3Vepet}1!-SePJAIdxUw!1^)?S&U!Z2$2;{%QNazV&#UA<#33oo5DWm|U#fu6hA`3p~)xY$o!m zL&CKT<XHou4)V_R^!qsWHb(&B532@9 zM`){R&=;p{3KE}5JKxxxXP$YkedpWXZU^@7Z^P`JB<;3C;#77~{&ehyUN7yacUF7s z7{8R6_>|C)OZ?F*6WZC9W+Xg(H`uTlUuDPEZ5-1*5&A4slC(*&!O8&tGTRegCg1}w z%i|B}NDm$rnC6){kWLCqzskPngc$s_8F=EX0BN@!Toz4oCICQQ=@rlDad%&Qus*GO z?XL1B@6~nk@Z13a^Ti&LFEVL5-&2vV=FaWMyzhn-)%~Sm) zL%s&?|C0mnc*pNgy>A*jZ-3=PHxeTqt{ zJfz_(hAUIMu^U-~twQo#I}$UdJweG98Esp_z`OQ;7aNLfWK{m#xeIhWanLM}Q6}|u z6&*-bGD_|@@0N`?u>Gx*5JlF&*ipwpr3muUcvGH^<03|2j)p-b9bq2BDV}3PI2#c^ zWr#F<-}SGKu)7uysFYhBm+YjTN~qCJ@$pk5Z6p=A zA8@K73Vt5JGcQNysP#B^>BK{?bjC?Z3g`vs3U?U>KaHfF4yStx+sM4>jc6OGj=>F{ zYv93G%A%KeD>ZMweBVE-RJ>IH^Uyzhcp*Op=Kcf9^=3N655DKY@YLy$PyOh* zc9!K3)N)2Vbzr==lT^U^+N{zebIPMXgBQ4oud*8DQx>h~l38jgXo*@~)QfV(@8#ps zBJT!y011vRX9>+Ir{jyy{g8&Q8IUx86YK zgSx>9OD6!lvbm3nPdVzPp!!RicmZ9GrVgaT^3%gd+y3Kk5=5eIanwX2OM6HWsRxGq z6Hqyf+{zd6!cG)K(juortaFt{N1AnD90Af9a-`R^(K~SvW>9n^O`en2z?hxz*N+`- zuf6gLa?EJ(s8hhTB;DO5->aiXtx+-Row8>VPD?5qh(3C$ z@7lq&OygdQV{XvVWmMwr@}aELM*h>$ENnu9q==WJluL}zctU}Wua~-|Gwf^*c_O2< zpTbD}`keAt;<(3|L-(v_;l-wSHZ*B$D@5A*F`uR(?Sn*f$!8s{wp4aD`?iosI4;jA zK2*mVW+1o0H-tm}s!I~Ve@mKBsEEHAaS;w1gftV*W= zroe6LoAtTir(9T$tX3}i-?3kvZi|za*+fgwF~Z3U8`iDO(UvT)OW**nJ^WBsC^GmM z1W#MaE9)!{D7^B$ESLDJa$_E4NoUu0B;wvr{z8L+*@cUP1XAbN=jL#`@s`ufc$am|Imk zChnvcXXR1-IYUtMxu3n-rdZ-Mwq+xAip_`b$_}O1$2ydkGN7r0vS!yXvO$Di1={>d4cS$uHsh9M*(3>#+QddT4OTHqt#jX6gK+4ej2$ zZf}o$=GWUNKlyR=+0H*RI1JEp#nubapmrXBhjkOi1=Bo^c*xh_8B)MSTnmqm%>_b2 zxqy;{wh!v0BeqK`hB!gzZ2QiW-)rCa=HE0ol^jP#GExoB(&;F0Uw#1jr$DBB%UmwJ zF9U|i6OT7`rpfvZo9O)C*S2vAjHlwvIT(Q4nMPfe|N1GGqdxk}V=V2wT8Hrq(c$t9 zsk1Jf`f9C6oxCsmg|7G%9(rnpcEwFXNAT5Ri^wa=+6;qXD_80};IH`)VyZ0sG~fwH zzec#)0d>SHJ}3BDUvAJTz_dT;yk!`4b-MgGGhDQd^2Y&}jFi*3tRxC6T!-zg7om!k zn_tdza?p>Td%hjqf1v8qGW{>ort9RpHXZgA|Fk>4BTWsWa6>w6KT?V2+V)H!{0>!bq4!b~P|Q4hekgd&4HXsgk$J^xr>W4ZM zt{s18weH=soj@W3Bd1Q|Loj;)UfD0P)6Pv{r-1PhuDBQdMNsN04V}r=8=fa$@wI}X zaJcgkBsKL)UAuwrs>P9wGt=ijF*La9#E!jtFJ76S|H;v#N8Jtf+VxA~0NQcw`W13u z#pcbM#}6Mn{NTCi3;%lM@YtQhQ+_ktl9w7&NXL0F8v7=vZ_M1w#2XX8CEl z=wq*7y>b?1ablN^3l5i4s>pfsjW@R2Z@U%8V}iBv?6(OVr%_hJpmD)8U|j5UdT(^q zsZ`DgaCd#9csgQth6a57HvIzYwVe96X2S-Ke%sl0ZQsrY zU3Juq+(}1P;KfL2lx7DTdUeaTuCrzf2E+gTN06IdJ#!g&Y~hso^!Rm$ME;R(t}BbmjP$(M}`O$y*#!8UQ2rI)QVHhMYQn93Ccf71bu6F~|Z zA4vIsUl!sgSK$MD@=ThoTXDIXrf$Q3-nlk=YV#CF3r!%OZX$LxGa?4)Oz3RIc}RY1 z9%{mOz@mfFpZ8rM39{Jn5>L{lT<#;E)Q!FEIH?_8ruUx-GrC7T!33EGz2yw*Ok|Xn zG}?#Q1)LO%ASd|n;YU8+r%=AZZ;p}ZOVH$oVE@g>Ki)q3*k{_Eci)xiy+mW6M@O%i zBRri~Vb&k$0~ecX8*9t<=&Ko~c0cpttL=qXUu$QX?(8vUV{~?vJDstVPuX$!kT+$o zE= z|JJW;mb{P%VUb0Cgpa@yw)H36a&)Us&Fga>roKp)a&=bZksE>8 z@zuTzgZrM{JKF6`8=hp@kQ+le^6$EJ^-@PxP&#Tpr-V3KI-Tlbzr4zCWx#qgeLASz zs8iZR?PxmFIAh{xaMS$3HTJ~WSvblB?Bus2wXvg!9jr=zP>=k^9soIYL|w$zz!%f& z*n6UYc>7!CX=}vadP|*%ARq02c+U5hWvPM1VXqwh{mSYEBxb8#^ zs63FjioF&+MifOvS7w>X5Q=P>O@~g+b zm!>$V6f8Y*TqNXGcU!+>C&P|Ht^2Jg+g>ap3w9=lCnnjva(mmuzB=cj%b8(;20#Ng z*0E(6FcE&r=G`afTf2G;`!=a0MV3Mv`KX?{tPAeoNOVKuW6Kd7pRZrLzHP!*k1<$rl9^I(68KX- z4O*qWQ2t`~tZ(H+yHTvRlWg##E}-$-VoQ&!9+d_8poQf&x@RY`0*~rzeS~X1@iwjX zm(gePr0&E)VNdBMdRzKDu4mqcf5^=&$K)F1zUijx+aLV?7u&}__EDA~P0_m; zGCdmpT5b^J%QAw8&)}v1^4_2P%YWZ_`7??AVM>2XZ+G!dUm~)=%ayb}GnbaKXU;dj z@y+%ur!fpL@;k^rQR;&LN_J6h`5Rx5^5uuHth5fMx^AFDdefeY2QV(O+`$UW-HDxyX(*X^M7g2 z{^(h3Bl3@p7f;&`^+5lQqJtAz_zmBc8~%wCB>Lq1s#>Y04q z%Sl$(fvuk-dkTT^Rf|(ErNgLTXZr)nptON zP`>?w^B3mYIcCAm;|t1bc_cp4P-T(Sdh6^&f{f}P&q8NMw!bP+MfYrX&<~D866sY`s`VDIK6iL(l~&GU%P%~9N4!H_pkjX%JM%hURu0& zczkknn9fHvoMjUtPVpZpx2PmQGj1pE9 z635f^Ryf(~8729^BcA=e9R>F6XV%}QlUXCoDz#Bk-zDNFIF(*2#-+iX1x_4H@X7j5 zowFDQ5|B)zX@@Vy0eBi@&Bkl59cpiKZukIY#vt-eD$+56{(Sp}=YCmYjA3td!lQaF zec}|_{f2%X#Q2E+WsKzX;3QBVakyjvSD~j74w^~tDGqkTg*_kV4`-Z)(grZNVmuwKbB9{%R_C-v2^}S4 z{{)$ocBNy=Gkv zM8GihYJ)rG-Ul>-uOB?vraPNEL?;i?1QvBm{%UZl0RU9wqa3uVd+XnS@+b8R-pa1H zoFf4A#?fQ!T`<}1xZ_SbMs(PCZjdOj@)wM45U7ms7&_#QA0O1cW$7I1;B-8uG-1dG zWzQdJe7KPZS+qdsv);<4TedJ z6bUDiOI`R#*_Y-X$G!msk;(&peE`ce)m)2%_ya4n20JlK2i{+y3!ZzKmcQjxpx2I4 zP!SF-R2jabZX9O6I8DRNsL|d%yW8h~_qW?;+3?Q|y(ZZ6VFfc_5C#Fpc@f8gUA!~W zzg*c?IRD+G)OjX&F{`B+h@bOd3BH#!i^gd__gIr}J&_QHg{woveZ*}^V`L4r{ z6RA!))5ea3r-z(p&yJ}LYne)aT}I$sd+ZfElnxVkg#|htm)kfXcvc=&MpF4Hn! zc=kC)CdW7m3df9eg;$WOYzn=clDu3U-*`~+Q%^2j#n?3pv|2s1+90CtSoCGZ;+;X)ospFHG`eI$)- zoVexUee76xY&qsaTl=~ZhPoO8;2Y27qe~7PL3KIR^~l0~_uR>eH~q{F0};Ag>YKqF zI#AfU*lOSmFbm`@0!P#5UFur4Tl(awj@t}U~)F~&?x6o#1p_Xu1S8nR3 z{+uPK;3k{{62J z$YpIjwqgJt$KJ^+e=SdDS!u$u&GIr(nXsK$zsC>Zm`^uQCYhbNv}-_6ALW(utO>C+O}8V>k!kCgGJ+1Y z8%Q;kJH2}Z^p5NIv41K>)JJhNPFjDBDC4Zv5i)9&m&b>Ggf ze02T1X^ZcU;v1l=pm1~(B&|nfgGvbxq}g=-6xY-rZye}Q-qmYo9vLKbU#I0d4qfH5 zIO8gvcAlvxefi~2y8)rWe1i_iA@A4W|Ei-dO|@NeX%=WxHuWN{q{-e>%xm}Lu69pgMNnu`GNe;oqBeM`?IIl?^Y~lZ3qT$u zUG1eqz=E>&?%b9cw9eEuPvjd3@V@k(*?!m?=@Yj0!2r4bWrPC3FpnEUXTw?QS31)X z2ZpmH>?i2go8Pt-bkUIu1Od*%djkNZR|cJMu=^y~f7{`%{u|M-vpxL79qYu7)C16qS? z*ROyB-}=_K2L9wv{$%TSpMLsbjLiGSCRQ{1-zcX}hw@yCqB6zV;9J|{yEton`>yX` z_@q&ZbcjFW^Y1GNYqh>w!ByQ)kwb zfq<-;lNJ&?U74(r8BBkk8Mzn5>^i-~Mlm$1uEiT=%5+8vfNe)&oDt(4dv>>dx8BB) zaWgpr8%cAC~LgWMH#%}5&`O0>TDRf261lYpzqn|pKI&Cw!ZD! zy{A3&(1VQR!e{C@I>Ba-<_+xRk``d`Unm8;d*PSwB&@sS`P;90)4eCH`ORXTGBgl} zWHal|Cpi^h4I?2#G=AUw=HIk~2M;rf&IuB9GVPEUOcS!Cq&Uhcyb7cIg%5H;9{D%_ z$Y44*E0Tb61jIpHcvg?QT>MxrK!-%fv-p~IjLBc}pq$I85CfkV2?i`I(n(}=-~Ps( z_utz-_K}aY$3FGxwi5?}@f+mbUA_ft?yhs&VH;3A&VEZD|8zM2r@OBr;50CZE`W!6YaSgjM~l`ooqipk zI2_1y)f)1HjBD5AgmzHb@LPNHGRsvC;*`lq_q7maHnPeS{s4rmNiXqbM|i*`eb!Mg zU&>C>Djhhl8E-La3ev6ZIi;wWcPagPNz4myynHimDV8eIc>u@iyd7pN} z{E<6gYD+M7;gvF{n8^zr&)70@hYmHEm*#W2yZlwYwKsidA?rj%8a$Z2Oxg0aI`e!5 zKW%Gtld`o3;%|Er-GYDFUjZ0dRzP`KYDJlu%FDO>an{%nM@`bj3@pn~_LQMHIttEC zo0?k3DCB6H*0G1?YBwR>#9VeF!Ur+5ih=2^>Aca2w|m`9iw+Y%n>{c5J(@J^JV)Sw83v;(!0dcR1bUY#RYLWiP=Wb-kC{ z9un}yMg7gieSc*dyZRcXD$d3y0Ed#tN-KWS?=RI4@#Z(r{1u!nLz^bsc)+_3ByjK{ zB45}?+P5s3K{+=~t#7y8c6R=nh!R-SnEevKXUfsyg{8v73Y)mOgKo}lyp274w=uHS58L@m}n zd6jpo$G}8j^0c4@p}-Y<1-vMad*cj?jKVL$gQ<-hv+Mu$H{X=Oidl}%luriqEWrAZ zfBJP8j?{&EmH>wYh5%)efC~REf{Zq7aAh4m>BfvkeR}^&d#>#Wy`*&p)AG*$6l6P+ zV1hG9OynQRh+K<{Biq(Xg^8fO0+h9svUFE|+D=4|&5v9XvS2#7HiZr)WnP+NrV;+G zOK!9`2G@F9B}rbHIjN0z`|%6=VsuvbyIb7vQG92JPdN@2rZ*H|gYwdL!?(6>hpMp8CnjOCD|O+zL0A z<(YO3o%Fpn+kvFa+`u+w5DeY~2hi|jlE@Ui+ro^4b8lVOPBIu`9wlsm<1j-+p=eu;eQLN+)hP({FM`)jYg_VKM- zw>kshkm;{o|8x#m>({Pd0S68pI<)@m^w~!kN&X-Tw`+3UT67twMd!p06$+Fl1|?FZ z{GCXrjSwHxs$}J$h;SKu4Hqw?M~P4;T`8o7y3%V{%BU?c624{AW;U$4uibjX-fZ}C z;snaABZ}#a#blaWQ*$~Jjrch~ga-@~%c$$Wr8yz#(r#mIyHSJQOaf%~~ zf$^9agA2!Sj^5yiA~zj0vRV#KHEbFvfA>*$Y4(|Pq(Q=Pgf5=@E`}7^e4mdE6gXu~ zBHua^KAC4!X7`@G?d}I2zj^f#vRutCr zWyNP@o0uHSw7?5Y0Xsu|nbvj3(yLQ20M0f-8uoM+fGxKpH{i!(>Z@eyaU$p3pywmWWbU;N_d+kf|4pW|4cjTiuqI-H*kyVS4R^;hS>!g<`|AYojwNrI-X z7*cQNm`?oc%Lm$1KYcB_GBIZGjt&a-SuI$SbtXS`;8Q~UkPo0zatotv-5G=K?bazWUX#wSV}B@3a1%sfw(VG*#)5 zJf?0$lxN~1FJm|S_OWlc*H)xbDY2X;WRZ7C+odrH1qUxjPLyGfQGCa}cN5s0L?;cf zm3*1kT2vmD5p~uLK8Mj)gP}UA(&W7}Q2LQ5pJl464pn5@>D)N&UD_U3d93`VvySc2 z)@V=7?xGwF}MP=-#qJg_~8 zGYlMO3Z#B{Z#&}-=aZ~?cSP{O(bpMOKc74X5NuDi4_=W2%I!PW;+KFd&#W(H%Z^2O zZ9a+g)9Hrk^9)##Xnq@P*48XA>t@g1J?#$K*bzDzbKv4`+Jm%-;%~jk%h*Qs1c%$@ zW|ld_X&O4)j(CcX_Q-&aZG$|jsnQ`Kc$y~dBR090r_c$`;j6S@BW5mMVh#BvHrHIs zROZp(e#Iaw^gvbW$8X7#Cq67zaRW`t)Dp7mel#w#*t=(MyX}^n*%)vpd+RKLZ@-zP zK>+J506L)RUv$d)7o_~^-ic>yHU(OypV&9iFMSz8yM%ms#do33%xwLe3c{ifG&ppwSdIx#zxtK0wSW7+|J!!x z@X-VWv}x9XJV+-Hp2?#G1o)Ppf!zr>)sBq22EICLJ+HEd5H@lcS#{ID``EB@^R{gS z3|T6MKW4iipQKQ|vn=hFdxuyTcG`SzdD>>-rgI4m@%t!v9RI}kR*gP|cq;e#4NeK_ z0bko;eO9MYK5LIEC~1B1AhyH2mSMR95l-k$8RqwyZBEyn0Y>PcT_R!Va8M&Y6mYa{ z8wvdEq5g}fHTy`I3Z*qE&N*f=Wh}J~<1CLL(Dm&npKMQk`@1aj;@D)C42DjFU0m`% z@|k-o02sbkKXY|>tDmNenrWLUF>=6juh=5!SC-u;K|gT&R%RzME6&-7bNJZKAXOFy z@vEbo+E{q&QQO)GZI^zmzH9tB;D$a5s&_1dMb3TZOj-FGodZYhktgVASJ$i_kKb|D zSpX~(*2dbdi@zWB){k~bSn;Pqj1m+U_&4t=UEls%N2O!Z>jtqUqb66DE#JC8ZumxK z)+3`g&77Y(zG-~pkr_8*5b(9@pTvPqGXF_1u4VqOb6~~ElP9k~b>`H+!X&e`Sv0`8QglXUow)1f@iNXH<~jg3S#0#G6`z_6@hLOtr88(#}s zW0MBZ2B`a2P8GOnaLMi;JH8rFce`DOqrT@RIv0HF2uw3oSG>|tf`d+08Z>bQXBz`~ z>F9?}nINUpO;kiLcZk+YvUbfm-N=9bt~;Q@x$d;-IYQ z(CTzdvm8K&aSKOLZrQR0Sjtw>S9no~1;x4XzWW*Ki~qsJ+YWE}V&T0$@FqA146gvO z{3*u?2*R~KDBt}6Tn?~z_pUZRI@nIK`}GMEO9L30qBW29IEqWkPaLGPg=4D@kxo8{h%*tCX@B?6OdCF>e$Y*vEAw5CjNE_kU3urxZkhRzatI{K zL*U3O^V<2d1LeqY1xssmT0T2sY+dN+s!iq-zI4b#@m79pFZhZKf~aT(zO#e0Uzw$a zTv#tzqphtWuQpcw9%ucl-v$u1N$IQs#`1K!glK)5CP6`XXkMLBrsr&|~a zqVg=Z7ykL%`j^krqrSM0iZ_Q~q^x4g}Bu#zt2z`74F%*3UhI>ldF z`%C)cH0QnYNxcEj0D!ZIb`k_|*KTFl0N3*VICiXnmm^uJX{@DU8~MJ7T|Rt_r3(}@ z%2B1M3t$RYUMnX)vp%E|beAuAT^Zm%xW@4(pMh+T(maPg*~WOZ?P@z|&|Q85G#7Ki zN3zJ6f+h4kP+ycveo}7+sMf8UYJ0E0o{sbm7_``qzwt(U>-1^bCPp36!OT_z=gP!i z%fPv}PQ}wsr4Q2{P=>`8yVW_k0|-?aP1p)%K^XGk@`?KW(e1 zCp-V@zT7c~`O?`%fWs%=iHGl$3uQIsQ;zn)4wS(uH=>-s=#ijo^t)qQd)EgZX}fON z$Nnj7{O8e}$ggcm>>&BHo$8x)7Q3gygf*pmne9Zm>X!CiS@KG|7~6sGg}jNE`K(Lz zr%z`&>Gbi^vP@V3EjzGv8c6&Jn6KaC2f|`YOt1Xs5&5-mqzK)@(0+(>HV_V<#MvN4 zou;&tjV*UEn?+k0o2#7-n&BS!z%$^OM_#VSW*&O=K>NnmztLW%otfwPpg|cr|8At{ zz()LdiRDA>cDPjg6I|erX{;;tHnxU*kprG_8$PA(`0b_5oE#gWO}{>~Rea{GP3hB@ z)@RjD$1jve{Oj9YgUa&4vX$TPnz~eW9O!ddghwvw@43fHHqQl?h}4GA*m~;EHpjN& z6uMn$*bugt$MA{rrC0o^3-OnC`riGe=%oI-y0E_DBbpvs%_IHRg}keFj<(D_BfyFF zXeBduCYh1Do0n~Je&YFAb}Q)NU;F;YaiFu#|G3Q8a{as<7`kI=#pVAV^Z1FOvC&O# zP^D84<17f2GMxa8hd%lVo2P`i-a*Ab{1>8x{i8{4r_2+2dX2I002fr<7k6Z&Pms) zpu8Ahj7rQA3U3G1bRs*%y*nkJK7E#rgigj7+KB7W_1MQL;kO1-0_2Tk=Djx^UFOiZ zX;A&>1jLwvqwwP7X*@7SmuUD_fYSy#|F>XFG5hVzG&}#2&ndjpB&>eaP$Ox39tRw_ zrJh!7OTn(s|BRoIp6#Jg^)|ou?D#sKUKIf4$ zDNOHg;gsCi$YUfaR9?#;9c!7SgXp*E?TFY}H!5qugY4i5PyjocZ`m4G>$W$*Hc&e3 z@?KuB2CJ=Jvo8EO#mtQhtS3!_i32E)!++pu?5!GuLgH;*RlOAb!j+#UGQU@?RVT{L zvXnEYPBL;ZK?iU%<*hB6z(F{veSoH6NzU$1$0L6U+RkXD&rR<0j&!+FuJ5XRaS^8Y z277bUO5^8_Z-G!a=t_0H|)ui=(9& z!T_;~xsM?T!%!Lf8}*DzazQvlrL%F_GB*0PH1!bxoM-aoPc zB;<=rAME_Ubns~V2afzZdh#?K6Fc~6lq2Wf>u5y=$*#bmKg31W=txp4?7kwA=lPfS32zwC2ad;Vc;NvKq{B_?5P?GtPXZa-_y^L%B4K(C;=ioZESUlvR zY2{r;5-HaJMt;j@^vGFK;_A_QZ?cK0>zZ|R<(Fl~UZzfzk!nMDoOh8o)5vT15{ z)v*H;z9>|=;jeTGmdkRb)n~Fo*mfd8uWj8-(3a83^&6(zM$Qi(f@kNLN}d@gEG=`d z0KrGbkUM#2q0%3_AWRDaZuG!g?^7^0z6eg0E}IFG$NXlMM4eF`1TW>*88_w_As8D&eoX+>cCg}@QK&o&Ho;=lGF~7KplYWOjN&<4c zQ+I`x4j*^wm7UWBJcEOL?QE2`kE^#e;V6@iq0915|Gqoe)JQ-#%Y%Md>e)9Ya?aP1uSM4|(V7g1ar(mFnCZYVQ zb7e5R=ULUi7#DtirxVVb9_Ok%cmvJqelGElH`-|Y^VI|zZrZn(Sz;pz2pGhmrc#cT z6x+>jZGU$7=i7k@2Y2yxl&rtGd>q{Z2N^7agag>K*+ zS+QJflkJs3w*&+LQL-sN269nHXO` z$YN^^I$F^g7>%sXR@Z1mLoCF`MuVirTrD)pLmJo3JMYVG)lNe_$22At)}5ENJ$4$i?i^#Ore@<6M~cDK&c7WH9S@C_a1+S|HyaM& z_`9Zfmm^t93#Pp5J4=q%=zvbMhWNFEM`!?OM05;<0ZAIcGQ1txq!%v@xU^|U-flqT zLvP&7;rrwVf7w9Bu+NhZoZT>jbNJ5t?%^2o(HyH|!!rzB73FkFD)vOyf{c!u9SpF; zaq^sI&IzUg$;cY~AX)I0_wqnvm?D8G5I2@_3*c>oaBX zJN%{Gl;Jl{yw1QRj_d@}YK=UfW#+~VfujNFu)=IWfEq_O^+NiJ{>l&PlzJ;CKxe@U zhUnCdoT9-;4yE%fBXtHBl&j6m0$4q{ruYdw`5gI9S^VIMYxANrz7*pQbiI}TUY1dp zbs0b=^mzf5WPX~to~PcKPM_nqkOfDvToQ2Kz4x_!H|&F-$~X=ZPQx5iDKFtv+o)R~ zfhjJ)>N_XGi+%^bI4IB7S%(IEmw%RS6+~u}rf867)yP)eiLdJ*XK`p9%^6yCncec& zv5xiT_R)_$+P?Vtf6*TO(1+TV>!y%5>XwmzogvGlgwSdI`pe75etf^Yz81P|gtb$b zz?q!;otKUl9)Y^4%ke+_}>GtH~PcU_Mx{U)veuk^^ zwv#z!Gx8D`(CqX6f_Cu~Ze*CUrO(T9ysU#7x%7z+6Dv!xCp))qZMQNN+S4q=IV0cb zO&nX`DI4mbHq6m9{-rB63V7;tjmFy<*CsiFr=3KOd9U4w-cm+_Az+kFytr!TD6ecT z$6|p42nBZoK6Yl!YkATwPn3t^t94LmrPXx8k=4>8?3_LTz6KAJDRn2K-d!5;(b@D9 zxq!Z`sVA-Plnm{&GIb=|vYX;fZ+XL>a!F9n>%NvJRY8<;*)_j1z2I%YHl~ z=%w^YbKkiudZn8S!)aN<)kgL~NrR+IY?MdEF{5On?cTGuJ@C$VU@NyowpJj6uBE@o zEIVf-#16t+b*yY-hd;1+3}4GG$d}ljJg2;lU&=;b--VC(cD6ByielA;xGfSunWdd# z~p1YVX%~Bzj0WQqd$qTCns>39>l2heaZpfVF zLcq2B9iPNzbg#74y?mRo20eVqb8yoi^CNxAyYfl~^kWELWTE}w*=O6I{-^)co@AQ& z1v*+|*f)$YX=~J2Iq^!Fc_tp#OWA~FoGmY zJAQ#BGM89FRqdnv18?}3z#?!{Iph}yd2!VaSZB6*E(LH_RmqU}Y0GLqC~Rc*yD*p_ zod&a5M#n4zXFzE~VM50n^-gW$pRx*%yyE9j_qH?gQJY{uPkXKIgm}~8N0}CMf{%We zm$2l8@ASd6nQSK4c5L55P;iJ2ZJqEWZR&{mrPa0f*3Te8x=HqAaNnY*zW>Aa)xZ2J z{76pvU`BxDuVCg&*$C>!I#vewwtl6jZ&#KFSyJ!CkN5%79J!Ek?#<7)8-!-_Sm<5H zo>|xL+rv9I=&NH`Z6DI+0uK#>Lh6`2`kY?cOl_pH=B&H;g{G4kTrM3k0PKk&HYx@T z#4)W8FynV%pM>EofH4Mw4DfiujWXlR-OLmf7-iU|XhSQ2puE6P<%jZ$2h=mP%4a`b zz5gm5`3-%s#mWy4!V6?x`I4v32+QoEl~?Am@#l{oJ$mTKkt64l`P!d<6bIC*Yu7&m z2ma`f{%Ga@_V51P?kkt({?~!UD<8iyFtD1b|JjjPW2iC@(4Z>lv30S)r5q}VjX7o@ z3L$zbfJV&eY%0G_p3YHSy%Wh9JWjX1-=Rq113#R-G!bMaoB#~`Tq5T=oLIe{Hg zjf@>PBe0uU@9mEHHgv8h9mJ^$BPgeDEFd|ThNZu}&B(Dlf>EFyBcq|SysT@53UP@+ zBZ1GIl6VoP>h*&M7@;`VrnYTkbaWkfGb)8KOalifJGMZAUl?`@a|FX(;@7TQ-G<&A zY|}*0hgQ@SR0AH?g+@zbrZa0pt04}`;20xL`Ck0Yb(xns?r{*H$Ig*_&t@)^S0ks+ zzVO3Hn9dI%Vgzw+R}sh&m~~;j`dfK|wYkLU3XPrk*;w|Db&NDAgyYNtaWMMrF@K{( zxYJ1klQf?2)&|P_u6;B3bMJfJ)22Bl=(+Dd#Z=0fHi$Ff4%-wIoUMZ(K|Xn?v$%?l ztZWFq;1cB`)jYR-5M3Lb6|3O+@QU`rOF!cw5qBK6kA38$Z5ItSJ9tqyE;A{7{1%$c zo;*vVk|#Qn9Rn=Pi-c*2O$T#)Te-PUQt$wG`Jue1Z`C@9lgk;9flGF9oNhPH(wSS^ zhCkTAwBi%(hfhD#zWR;7ZO=dVTzJBoG-RH9@X1kgc`482vqD;pToDfse?g(}Z5A6X`HAQej6Wa1k7qJt#YRR zDSOtj^)F0e=mcgN2lsA#c!dq226Wi0cM`a7MeGS&F1Hxs)Ba$&BtP zM`CtGJ@8I_gKwh*8;%`4*naT6r`VnOWb}QIy1GQYDPQ`_+7hWQXACNFsI?2qneyXR zxGP^}mzT7~zN%s?4fh5sl^4@Vgh5MZhit~Knjvk>C(1pi&he3 zauikDB+pW%zJoS@%fH5^Q%t&t7sv_a``q$-yDweJiTYji8DQ}}^#Kib{1@P*d29=; znbZ-f%4Wd}@=K<8$h1pK9+QRq0W-E#nn~eQOzX^@v>lbork}Jw!cBnF8AgEvAGuNf zUDjj}z`&29Jd9qbhiSW_ZzU&oDzr@=0cpMI5RVLxrko1|iZcs}a>Oz1B7Bl&5{4(@ znm__H8=!MjQ)Ov0BhnMy^l1YM;-9)BKa7Z607NkGsGfx{@{ga&WS9e8@=lwU#JtqT zQ!4bxf7)U5tILFohX`P~JN{|T&pyGl+08q)=cvlJ7U^hGmSqf}Thgul(rI^zz$jC4 zhmq;c8#l2>&S?Sx)1iHY9TihP`fN}x0S<69k9H+;t99*o66C=p^)lm&aq5MpmgR~+TiI&c1+*~FnSq8HnP;o z@{mF5TwbO94+`q2&y-^x@XfeJc(%DB4bacI%$zK+SRE|gu+7TTU5n~E#< zx>DK-KiWDwZVSL%xpIkh|M#?aKJ-3D72R{tJYY)ZJ24~L;{kRwDHI${)6yyG#%fT zYH%{gEh8&l%7AI~R~(d*x6ZbchgAls0XTjS-`bDtuaw;U;kUZUi_EgwylG>W!KioI z*~}C(4La;>QSGaC#yVElII63iW!B$`GwhXxjJf9xk`HejbkRRSMlH)a?{VTrz0?O2 zj`byu)_>Yda>O@*;IvQhvU~yX@Le_lUCMq>>o^W~HGBFj;H%q?M$hB=r&N6CIRbfu zSvHq|v5eu>C4yhYbNo2$cl+BJ;rQC9R#X z9huP;)R43)pw6_$e*+!Zd+xpiXLTz1+$70O&PWnftMlziufgJu=K+I4H#cVMiYr$g=9%3(HF zOE5va$(;@m23hB|dcTeo^8(s5n8NS>Nw3dM5Qo7u5+<(`p~d-Rdby7H1xE5;XD#>M zTW)RZaE8vDV*~&r7=vzE(4m2bXm|s@;4CjR!cGBioG)!z8cmI7qTm$meF6e}i<^z4 zpDQ@=^2dh6_a47vgQLHgPLd58Ke9GjYfJeyK(IV@LDpQ=Xiz@}E9{e|LGzUz2}jCw zL^0?c&*X{Gck75gcUu|&4;r-!Y?vP!;g^nY47iZsnS9Gg5FIZ^kYu%uo)PKQ8`iXU zyzjyA=SSatG9%C<2!Kbfm1ACTEj#>ICb&{>@WjT!j%6AZt0(wS9=I4B^IYPWe)ekn z(w}{aBWQ-(hd%IucHPD)svkU;s^PbB7pYDZN(Lw(zkLI~p}}&Kvirkx(cvpH+2^Rn zix&#Anbj>CS)V6hMGou94zqif_SN6Zso`2z` zcElMH=h#<+{MLUzN&=f@PE8$*EWm5vW}PbKhWB=qs4tarB{)RVyE?POG0Z5$7B=&{ z{pK6njZ9_Tvv+UXvuAg^}Y%Xhd*d< z;h?Re!>O}Um;6O;;AI?<)I2gsMMU<=9R4SFY6E45P#9}v;{9W z6kW%9?|I72s6KeQIc8T}XowAj7H2x84C=P1QML@!Nm)r`bb<%sn9X6q-!zdEo{5gX z(?*a-y*HL91yeNI~6=|EXOnR&#sbja0to<}ySw-9-A13izFv=io~9dOFEj-d2h zA+Wm&n@WwsXYC0cDC%;AV8L}UM@fT0|EY4)3EwJM#esoNL>s}-a^R^A$ zYzFLuqg9b1(%I$+qt{1w;?~h0iG2kZ(%2dCeL99g7#=4%#hwzwhdBL(nL1@7 zizjM=a-mh~^D4jPe1fyG3Xgmi-a>=<*iqE>~!vV+Dq5WKK-L- z+I0jnH-g7Bl`bqZLQ>@4oYtR?dUfVkaR&VwX4#Chgy9VPqs(Nju4*Sv1{GbN5!pqr z(pLD*d-JQq&f-hQMEvD5&$Heh8rI-Iubdrh$2rgZ36AnqpKso^jX*A)H+7OU@`Q|4 ziQX#Ce*45f(!gs|Py)|*X>f}f0h8>P;vOW|@7~!qUAMX2ci;USXLq!{^wLZ1ColfA zy}}W|jv`)~C4g)|u+ypNWbjUn)GP*Y$ca1Dx4whAosNS#qf9DO$`^c5|MXneLZAD# z+GG%&(6A z?q1n3v$k3p*B^^NLNZ~5SA5$JI7ts&ZHK{gOB3I~Hw8Gzr{!{iUuBm}IPHIs^7h_*N4x)_huZEvd)ftN zN6axRR7mRNW%9`1#fxEhA$B2y&c`qW$MsQ@!)4(eMLv0#a-V(zlRsd zx%{CH;jz4MR)G3!xr_4xzJgsK$js=yG|jMt+<@K6!Lo(1v&uhq&p|5#L}|ak{ly=@ z&|Z4+MQ~#V!zjMIJX0RQQ(l8XbdRslpj^bR;91Hu?Ye%ByotICi#4gPv7u! zd+qvpIdCli@bhx&=S=t5V~?%c$r)BpJoDrCv;ORJY)EyTLY~c4V!Sn?I9V7E1zUA> z2TYAqv{BZv6_PB}H)aurPP7Bsp{@fjfPuI<~}-M8PG z^+b+J*%8ax!jv0j1f&L4n3}V!Q?=tUz@K=bG<@=wPu#u0o& z7m1`unvE{Hd5RsXaUz;i?8JJS4FNOayo^T~Hu2Y(OLyqSFp8U>jMj){S&|+Hec@YZrxcA z;M(=i;N^Q+URbV31tJ9&t3@`&I5 z4>clY?dpA>A?_-DYt=qQ7`H=-za8@o;M^tPa zk;n`$aehar8 zS>9nY%p2RLZHC@HKxXE;H^^p?MV%XBBxxeYSDv?CajYyu-s>PQ!-h^fW|4KCY8U0d zb)kNiEK?r!sNM3V_Ck9Qdn7LKEwbp$6kwA(X?i`Eywq*z?9!7*Cr+N5J^@F02>!wi zPsk@-aZpJm?Ica`NW0nVYdW3qRvOb`Aipq%8OdJdXq@na7q?!JVcO6P{#lm`-76Ns zEeYyd+?+BWdBEnRv)%E|bO|1l#_t4-7{#QZ(5iDTF!Ng83WE#aub#R2>{^`XjZ;&M zo{hItoOGj;oeZQ65@9v<%}?!OJ(LdXM;U?Ve3Xm+pE6;($PBVl9n#LGX_o-xNT}_? zTiAggJoOaQ&F^em+1H{vI^+=qf^Cq?`g7TY>x^}%uMk98J>m5Hi8lBK`{gh@MjQr* zpp~NrCDf_R)d8!#>aTn=NGNWs*bR9G_-!ZL3EUvNa2#=UP4Rg)ef#O5BLo^aRR;UL zof&yb$>L>#{2(Zu(VVI*;3=hEK|XXNHhIeOM%p}N3fvdry}_yhW=!3Zj`ytz;=Diy z>U-b+LHp5j&$l<t;?d^^`Z*LF2>z(c98*U)ru@;oIRkYDe^}o!hcQ(Ys1}oo1rzP4t zL2;))MQ3W7XM#XSQgJ*}SUSG+ZN3jo=auwz8#zj15Z4DXpXIK^k8qEZpS}DtCzyPr zedmcMvnSFJgA%I-2&hA=10V5yNN+y#+nxqDe|P_?OwzC%3@pVUAMI3a_Pf+JZ{5-E zd(V40+IMeWdz77eljT0hg>(9T#bPRR3|-(Yq-oCMk5Nf9Y^jzxsOGJL3rk)>d4$ zouO=G^Cv9Nc=@HDA_wRfoo8+QWrC4lONnX<$VyPI`YwAMEvm=hS#OjxlNaC3DnI34 z?%}ugOWWcyl{#HUoj0Gn?)+6~mv4iS3EEiwOXSA3SNz>v)s1G$2ZN}tboC)Y1ZZ#| zauJ&u3m9I+B`*HG-b?uXNTFcokz= zNq85dggzwV#qVA*G?p>^C~g{@yu#4gNB}}(q#~uUAm0_>VxpOj&gcpwC|g;VcjFB= z(qWm3vTC?&VCR|M?C5bC3Obe^ap&|VRn5j0H#Y`EgQDSGO>|uabt4t0Vg-Mh!h7{P z4KxZLW#-#Rq6S_aH{jrJN2Hy4rE%K1eH&AFkG0c8y*1`5jpl09;Ef}H=Cf@1kYEK5 zcm#ZnSs8E*k3k2^mp8tNQOAng7-m!q5OTz6w-*>?e)|g3IK|*})>ck1N@JkpqU*?5b11$Qq1B+#h|uscwhc^a zso+RIC0v^9WK$}5Q7(p42R*@))QKaY&Kj_>6?f~tXqP{61|U{mr?8G6mgRB_J43!& z;7>+?;Km3Bot8bF7pLh7SBKfz2k9I@w=+A)mZc%iesCI@fNW?kx{EZU7MrNI2OfSH zx)$2u{rg#3ae>CdQw&^BS~%&X38xx*W!ovKj2K@w>JFczhkq%Hc60&f&uH@qyYGAK z-s6A&WO!=O>Hc@Un-T7HslVFv%u?zqy;%MM#GWVhtoUOUTaq&3cirbfewoXwzQs(M zOJ{k^edLno@@a{Y6Pj6^I2t1Obsf(0>W3a`ci(+?j@6u{Pc{WuL+UZqp#DE=t&1Z?$xaHyO!ad2}pr^1(f zui#{kDFSj%r6&l&dqgq1SX0!=*I~TK^i-#zk1|W)2qU{p1zqob@VWd?xLQA2M> zVA%rfFEIPgtgqrkfp0EsK%78uTE4UaOMqSYknmQc}DUK zX2@Cjp?xKL94u*E&_3`_8P@^xnPSMU#&O0BT=-FI44Tw3h5wtqH;eK7y7K#ORd;pm z)%(7$WOs8DDK6SMf@4pXu^)nYumi&gVhj)jNbHxq1Tj2Mc~5{bfaNP?^F6;`kp|+ioa8C&-@pF#|1I~Pd(OG%oO|xM z%g-e0J?XK>gU-r{O~KxK4lI`q0X8P)F#AldUAz3eq6f9vTlVga*!>TuN zlv9Irkd>3jKlNpr)yyCi);x{^Q$^={p$PugXZr=8=v9BJ*i zPB=25tXYpF%6>QE#X-{KxqjtZdzVqev&;&T2huWc2U(cZyFp|Fi%uby=Xtdvu*N2a z30$mZ_7gUPO*fS%^~XjoQ>8SdROI~01I!1@<-g^(W9lLh7zx#K8k5`pm!xo-uA00W&#+|2__4R%`LJ;o)g8|di zSMf^>LQpsOA9l7a*V%{&9PREXO9)r8gm4{iY1!2F?%hpCe^=YGadVqozKT5)4495~ zK>^w$bk?9m0+aCCdPv==e(*E;6{(R*ZrVD9P_9Eb>A40S{&9o+^&I=u)xWmGuafUk zZIYRVAwLYP^zArx2^}+xqQ62=tH&7GID2QlBNG z@LRbvh3Hr|U$R7Y#YEb&yb)d9u!*3^=O1f#-FrVcFSLv2&mpgDFi3#i*E*_e;$CIR zAM^_7%A{X?4a@aV)+9(<8IfLf zPT$a9eG=_<7~jz+Y&)ioI43B=f;lwqSHj z--w*xRvk{ug9GRV)+6_v(W2d4#=yf2%U6yb`XFz)Sim+%C#>4AgdEb%SK4AbMF5)o zde2MYOIz^~KFC|{n=14|%fM}D=7s^t_;K*TC2?+!?ArfZ)&tKh*o`~og>Alpb?t&> zW!HZ4Y3Ch8u)WakQ!%l#7BE2!>XmNp2Y0qGzX{scB&KJ~D@mbbQl+U{|9yk*^n zc6#;4?F4Uyaz?A|uEbD;6oZHMvFPag8n%b>P1`Ar#e3z2OUsuL9@3^fBY|Nr|9zD9 znR^KWa3^iw(C`qiZvNZz19OnQ^ncnnH}?wf0dgAJo#VIUfW5st$Nxthc=L%Tmi-TZ z{Kwm0dH4O_y?kTl3we>K4w=fqsBH{7k{-p^*+lp?3LYwlf^R3-D5F9jB{Is$g$7Y2 z)tbbJqB$BwjVZ2m?(3v$6!m@Ph_2tbK}Q>>>vKfJ4>E07Wlm=hI57-3tQv^{))=a6 zPS5fr#sH;vq)KBHM~CuKZVWY1U|{H!m0^~K!plhJ4AZqe(z!(ONyHxx9-6MM0bCoq@FwS<&@b(B3YG*nr}K%A?w}n|GTCBLK86Ok z1K?t3{T<8%+lRDA9(@dh#_PtoH%DXE8z+s8?VYeRu9oj+fUBA6yOxgV1x80R;!Zjn zAM46js#u;=DmC&((`ShA+bPyadrwDRoaL*$Ts%An%@{>sk}T!BzD~m{58QyPtNzr9 zn?`9kZSaI&qnMrJM}F%~u-2<|DL=UvUefV^9v_B(lqrwwcw}=P!;H zoSnC?(gAZufSY37CZDq9k#dDWXG7k(6TZ9sj-wZDil@A-UNuF%xQU+Y$&m@YK1Tc< z)ypp1%2nis&cDnQuELQ+{6ZN7P-e)ZPCW6N?;wuOpq(@5J#&7#{pOuR1ON^blu=H2 z)+H4jq=S2n1S_vD2XbAm)D%qwlRBH>sB!J)?o0qWg>;(SZP>b|ny~|p)ZSu-#|lO{ z*zFo9SK*J&5=DZm?if7xoWnZQadLAtSJ=P(#+&W6*WQSOW8lb5y_^w@!yzXWMD58Cge0q(64j3JDtQa*mwo zm}&Rb>2kj87;7((#O^B$+XtuX8@#QGqz9&qrylaB6Xm)kQ>%ZTiO+MVHoz~n;o#d0VnI2l-!nFf1qK&R`yH>_RVKK$ULvaj$#Ty=7(fZ(Qf zN3Nxp{PN#AGF<}1-iIDV#Ut%7PorWKr|q?UvLa35ES06yh12RUu-xnF=TZ2hK$Cxg!0v5qw#yP$EgxxXR!#)xojbR+yY}yI7wPbyWjgUi_LjNs z>*#1R4K$$*l&_WI1I;p9nw@nsN}zOtHpr!ftFe#k2+TV}&kYYDp8S*vFXtKHNSg}0 zboSLPU{&V}T;)ylLn|Y1y{CLZvm`19Igvu?@tz#!A%9MW%4W2rQEJTM)3UANUDwJc z4PoIAZ!fdq-*eBu)V}w<@3P_FFWbp;(`~^3x*aL=Q$CuI;GyQcN1^Oi;VGllz3h`f z$+oAlzu+{FZ{V^|eXey3{yg%vuMz-wSZ9Hm7rY7)-5I8h30z7P@p^5iBkB%JV5{-Z zoY654@5%;Lx!M=Y_3K7?y)LMe8I%Z*0-{Z;NBn^S*I;4n$#`R88E6K zvw;L@GR6?UjJnrmc({zzdz9Q z$2Js3q;pRh)`6SRTINZDhbNh}asypihHoOj)G3byVmjFjPq0}+T1teiY_GCZvKE~M zt+YG9AOYvHClbSNvC4rL1HR5|Sg=WtE2wdXhn@!x~ zBpc4g%|~W|A)QHRfeiS_4{6o5S{L$NJ0WiJCVUV-4*753vhXRo46tOWhhTY@c7lAP z=sbbf6};u+@nyp!b0?M${R>{#^-KWW`S)9K;7$PGw_?+8m*~IvXa8)|h3nV<<8zm; ze1&P%TSkc98KTvk$3f_n(?(yz9z$Oi0Lj-#@QqiYf_P11j-hdiU>Olq$Mob?dFm*I zCkHpnS=9*6(aEN%%dWip_wVI*Eo%~4w}YbT4ERiAGKliqxud9*r*n|aswh{5wWF(@ z(HYY@(IGBlUFi!4mAG({PBGH}310`rjx48?Lj#Ucwo|=qY^ZHv#Ba^&)$KU1RjG)l zokyK9faM^Qplv*Dc=#IfurSLIehdiL-q8ToC<@o`vB%T&I@7)e(5ZJ9&YWvUkDtiK zE)#UPe4W~jjC#lu8}fqdXqHjw8VO?qG)6bqtzFqZIzi(oOnBnxik)*iaD|z?sz_>< zHgr4?Ly?Yy4le0jTE9L=3&q`$3GY{=w5I%9FEN~?lO_#zf($d&0EmMQuudTf(pVaV zk^jn$hv}tD$4VT_X*5!RjXFF1NT3` z(g1hEzt&EjJi+f(Hg;rI1RWd83GS2;CyP5a&{o|T}E zUa?7U|;7wi2~_XC4}ajdx?xgd{tOyCgh+P*2H zjlTL%kUExeMN_`PFsH3o=Nt~Ud8SFbrri#Rj;{Q3)`0NhG^LITe{D$gmwP&G%9ZVf zK_6{}j<0&8ZITA{)L#Rc;#9S$5eh~#G6W;XVVj%M&-*9zjf=@Vj~&Z?(ityAiv~^ zBK7EUsT^oZGV6l-r7@gvmLMx-rqfF~y*xyYB$#I&3v@o0Ag9AP@Hekaw+}x2upK^f zwB5aXZ@Ymlo$1;`YPI?(fv$wuPXce24^6NfY7HG*H}1=3e++CvIr7iQCcL+U=qM{h z75&&%I|SCD_}RiQg%&YV4wWx$Y;-pMhaIt@wqj_CPT`gI(z_obyYP-2d$6%fnXO~H zxcF*3dBwMMOYcFBckbtDy=-o zIT;uAPJ7TDnm6xT@0OkF@+RL~v)V{!k2tES4e0O;vcM;CZ&RzPgdxSI<(c#Z%f2*! zDMZ9Qgp)M>k_TkX1!F5&GwoMJ+)j7*T#_izyTG;iQHn;m8{X)BkXG`cWX#cy%ZKO>_hPT)EApd$Y3tR$LC!stcL!ObH@1@&{ON=1=%lkKJHBea z#aL!p4#gJklsCt^eEp{yypTuK7ww5iNuPh>A`TwbXX=aRa>tQvXEB-Ife3>N@dMyU3oCE@hz+OR(0{Wo_+}p`ex+-vugIk4V^ggk@?~%cycTDlVb2$gy7btI z6ZK|r+kA5a1dnKcw{O{$%>b`4&^YIt1jHxw6)k}aPZs7KB-BppM<_qVXYIbS5#N@w z9Mdpee0t!>WB!G|C4M~XKB7jACCD1p8yHx@;K<)&aN)|@O}plX2XDT3{P^)Z%K^GN z{F{D0v8;bnsyomAeH<8Avu4fY@w2D@*43HW|8~j9#Gc{FNqhhdT9gk3#ID5IL{t3q ziYs7}DA6$l-q#RC0leKQx*GP0B5C}EZDzCbDJ@CEm?`>n7}hYA*w@|Mb6{Uyd2*HY zgfU9M_lV))*ZeA*ohp^wuZC17OvgQqCf6|p7zhj1NEJOcLPe)|>)eg8i+kX7@T$?F zbLnUyaC9ggEpq+rDPI3}hK9*ecsrjOh29XS!3mLK+aG02q}xcf*y{{(hi-nQQ|1UCt`hm=weVFBd5f{Z2)hZOo%+Ma zPT~;Ld7)9y^e575_@&c^Cy`Ym-$v(sg`f4UW0wXy4OTh3DFb?Kc&jYsM914kz3RJQ z*a5d;E0~Ue_>OPo!Ec;p8wUU67k}1GoNKPFH>aqU18n0&IURiKvG@lZI~LXt9e|21 zS9y+L%7+RL75|kT_qABgbj)!Ysfz@c9JSZkvmulo8y_3L-cc4c%eK0#n>eG~^wT$z zeM9V2R!5L$2o|}~+u3s;TOn-?J7lk5RIhd`c9u$Y-XKWe902diu^y?;&{_?PB^7Tg zEvd<$T>el;>RVldA+!`c9WV}_*@&4WUzHku`ITm6S9tQkk$HEdzU4H?Ooe1b#+fl` zTphUwcQ&IMu){`_{5HFDzm zEJ&Qr?KrYO$|&}^bLZOkzWtr-y)eWq9$v2+dNOrZ=YhiFaCGt)S%4wMlQ1v*vc4k! zlxexvZm&ZC0SXRi@|lin&eijkj6Qzx(TBmCcS&Ol)D3MzrdyIroiWgANzx=<>Xsem z5rU2xt>@`Y^3)Vu#0dRM@T1G4r` z{zpFTI4jr8_5lxf%GW04%X4uSwj=n`ktzA`(t0#swK=6f+9mC^uTV`}M!wX)&SF>J z+7W{ZnF-`Wj_{V>3Mwe~wXRoqWf#&K0ka%`@${Lrm`5II|D35L-pZ3{6X1Xb>!A+o zdOlNVud;OM(2?UzqrH*x-A^R59pIA|!5|y4SB_kD_i`CfWh1mvMZ2WL+)|!Swls)? zytB;MX>6A^=O(j$K$MQ|>UMDN9y`e!}6 z`~*-)mo}z?$jY32rqraV`}N9MWz0HFJwlc3fo*)+Re1-mifop5X=e!lI^)E*C&**d z82}KkI-nfU5=Z`G@BHnxDfy^5z~lWu3dpCU)9QXF~;^y5Y<>^+=mjWy&;pRtLZQDNm7U zY4Jmz;yn+c$$Lda(c5LNG!h*h>tS|Ddu9ZlwgkS2J2GsL_3F&+_Uqrg)V}$|H``zR z?625W{t`>1CZfL-4@^>H8s(9o#NS|*O9s?;>((^sfScTpxWeP;3qH&(+6v`)J;K-7QI}|&9f8+JQa{O&4O?$9TVRQ{fY&0cYgvnqo=KT}1Sd?g1XYCuDH%2#GEvJ^~v;WKBQnAW#kxo^=XmVCNg#Hw8k0C>^M11Gkxz3o}W z>n+bRJLWH+`f+=m%{+xOGBE|d>O|?SywBi^`SgkTh>Jw4m&%DYy!U}3|J);Y`0#1H zh}|Hqz9it<)~%ZuB-?u_LW23w?~*x?qtAn-N4e} zcbWCYilPg}2(sKc{_i=UXLaZJf6sxj>oeE?5tj51mX1u^Gdwh*Lo6I}5fz+DJ!mHvu+$|w*iR*fUM})SH6-3!~niHno>axY10{%_m-u6SzlQmV8;~t<3K>0 zM$-mX&s^MPt=x)p1kya%1YyBr_UgOe9#2T7aDz8!>1bh6z;#|HJ$et;e>|bk&U&mVWR+Y zZhd>^{Vcul96Y4T;Dobb+!%8P9NwXG^z3V|x0m1h5WQGP$8f~Aa*$R>IU|kI85*i1 zVP{MZD#yYtM@WYP-Ep*!^zIsLM@C&xmYx3Zp?2GGQ3kiML;792cSL5d5O|Q5Ojkyp z9lfa;5MYgN>R_#6WOSBvzvR__KYi*c))Jp-W6NE7fs9k8Oq8$1M|m$_%GnS5XJJ-J`O!w)@>O`5Wl0e(c6z|s0NxZw!5`l7BF zC{aHARj-6+pwM(421gCHDr?r84w{{PbVfSMXMydtbz*&4Pue>7D9G$0(%I1k#dK(;*LET*#J$)&o-23aEP@3`w9U-Ov`@VO}c^Oia5o@dIQhv&*h z&jS$4X#ORFqmwM@dGs-soDn$6G6{6h9O7*U!j6aM!d36bUIzdcV!(Ez|Cd(McL zc3dejm_(BBQU;a1I*bzS*Ar<#UXl zUSpZdaAZ3^V)#pb_@Z9KmPr^e{8P^p9Oc(G$Bvt}#q!h<2Yqg^yvR=BerD!9^yM$N zefQpzz~~i%P}kV>FM(k3*RE2IFeE%S+;Tg;w=7{U+AQ!8A7xOTOUK@_fuqgw@Ltuc z{-pgb{TyYm>`dx8rm^S{-^j6ch_C$D2FtthH(kT-QY4nX@hqKv^#VIN&deJ9Yu~gX z|0yWAJG)9-CEnT>0LDM{jR#}n>^Ze{GkZmB2n~HO5l+Cz3TP;Xkt5*gvrZ8Jc<;@( z+c*B?|HSt=hA#v@_=@sJq(U$BJIl_xNc~%9$^h5OciI)XVHR-WR`f%j=Sw*W;B#Ld z>l^!qE<4xVk8S$R>-_d>f3j*T}&{El1r|DAv>(p z@QTy2O~9dTPL%;uUgQ9#ybAr)1u0^e{pDuvtMQp701pF`hk;3-LPM~CK(q8`lw~U$ zhliJL9~c=qfiHSk5Ovge zTS|st`$3R3E;&a{%keLzSK>9us6muQ17?G(fwZA515pYR14T-}MS;?xvLm4(=3X|u zAu6|f=Z^NsgAcTQ{Ce0S*NFBVb`8Aiu`N}Dkr4(Qfpk~_q#+V#3(+X+l=ss_rJ-L- z)JG6?ay5uX`*ehjTI+0Rs5L}7BPmCtg+WsHeXhYePv`&G@ss2sf(Q;F#1#CMGvR3& z3F-H~xaA{Xz0uv1k2WX8Z+IvErhyc#l}^kp_;Bs&m5e4n%8u$&j3_%L-SyQv2s(w* zAw6cJRsu&y$qs6IFI^OpnWS;5hu245+V4!&{5Y`l1; zv9Gn$23=~T%K(71S(Z+$JhG0`h=Q*GtCLVpTJMBOk98P+kj9RH)48zXp~d^kf)K4| zVR|^iZlJ*WbyFtGw=R`O>)NkNLUhcQ(O9`5+Bl=R6x6Qqp4gkdIuM@r4UN3F>b#bA zdDG*?P0o2PTX+_Shj8Zrnr%b2PNc4>6a^fS|tW zm($dr_i`+r_`KK2J}q@fnSBz^l_lk%Zr1ap3=cbYvy-a34u zz3|ri?Y*PNY4BaA?AtQXLyJNd5fkdMWHfYe-*VyvQb+2SdMxgtjcdzQrtIKH|I~TD zp^@jxulC5!+4ilQ+QxM&kqur|=JyVzYqq#}jdZ9uGHFbq2!jo!i^J`}ajB zbd;3!=vXH!y)M!U1dgvdl5ci$wU51hExYPwQ`O-Uh8Y~aQMc6>b-;X<;p_qJu$Y?G z)G3RKD!D1%$^Yn@yx?4Yje-fC%&v)5r>fElmiq4@>;z)8-<=$4m*j)@4NmC%Tds7} zGKRi0QG6G-UiYm_q53PoMcP}obK)r+(_4mZh4N&2@AV`5!ZMHF-jU{U(iC2{nbkSA z0PB+yvtNV`vH^zU$CYt{lh};tG%6+k1RAXQtuiRY^7$_g0=5hfIpjUR+D2tE9ha0@ z_T7ALqGv}Y!i!#mn^*`>j8i86g=t%Cu;tu^i@{qN zAz2RjmeGCX9G><(h`kpM>ExN68#`@%-O3AXlRQkP4QR?nMtG^y>+J9FG5dgAV;O?& z^#}nxH-M}uUp8h5u={Vufn_}IalPGn)c;7OsPDrxIck>0DcnYC| zWj1;0KtY1Z@YLP>9r-_uZGG~4KWI-p@vZio7hj5q9$y~`BIAEKEYl9(Aw0F+ja$f`6kp+UkeZVO*O;f)9NarV! zFF|ev#3OaA-EwJ?vjnPhY0xWsB~V|pv|qjdDet8-StA=I4+*vr2;Hz@Eqe&DQ6#|w z+al#y`vX~uL)kmZvK-}UlFq+nzf2qR17@1Jhlg*O(3Zv)k2pfGxF80NQX1X+|WcaoI$g*Yxpo!NE6ksQ237$TXS7!FI_2zRQyg z&d!nc3jVOO0b(aQ9P>kZe=RsV7ed7c-oT`?UFZt<%LVH(8OUTdO6+(fjJo#MIueF? zluMV`h#SjjcvtuB9Rs&+FI~NQ{q*kLJ5QWCb*dURGu}D=Ee_by-Z}oCbHL93-(eln ze?K%jc0cc$U*fAXO5imDCBl(l1;2Ec=c;c#*MX=`oDK6Qh@>%5kuhc}smha)7=+zU zpvEM+#J@Ct7?o^(gAte<8*g9x;$!W>`|l+UojTH^qkN4PqIfn=D4z#Xe z)nL;oiRYrC^1N^=$014=M@@Y#Mb=T*fap+YXl($TW~h>jt8{A2ZLmO}%}s{ck#wwG zV07ltM@P~L?HhIZlFk!(rQ7>E%G9!gXgkSK85ZuSBIhu{B_os zkBtnqd)drx{f13({i{?EK5qOm&4vGRqBd5~cNA#~m21^^=#D zFF&N!PCA>TCX#!D4V4r+VQFlA=EgZT7DmOT!$#1kdOBIihmNPTRELMrIU0dkoIxAL zY~F+XEXpI!&aBUA9Nk>Z4TsheVZRMut`H=-N+7^jA9@JS*F}{jE}SfDQAa4V*7H$5 ziTa3jMu6vcT`bz|O z=6$avHIiTWcx7H6reX4#=UoQRy-+OtmuHbn_?tvFKs@jnN&My-`OPc=>L3mjX{`gD zvMQ%w#i1sD|A`JHt>qR#^Cb_kyy^eg1%A_@=7!~g1oWvBfoIvKq5c*Ko?OP!fAxdI z?U~=a-ab0T@(K!HK_|sgch}

Zm$+m54vYU+4`TTq4@63BYx-P{=-4a8G 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�$ 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 w)AXp&4$%Q7ct@MqQAXmn*~+(OP4( zK$G_X+d>NXzQEUP0vCT8Yp}GZr91nsL5W{gB*)f01v*xtvDL&9PT7d8nA40`` zfzHyNS06s?tg5YtL->Q%W%{gGe@*{YhNO^;OuL_ul7#j*kF;-3zw*zx;=M|>PTd!W zm$mQ{+eD7B%#2=|_s2Aq9(?GQymsqwYU9mNjhK34GVdqMN+KmO2zZ9;xsbrZeKl(U zHV;n}A|fEnZ>`@|QNQMixxI@Nw!$CKZ?>`^({I9j1oL>AMd(Y5DqY?up7s10dLD{! zDkFSBs}|`R;Ou%F5V|zFh;FgR)hW!G`l^bCuKu(`+#-%`Wj(s6(8xn4gk;I4b;u}M z&lC5n==xd+B^$F#_o|~?$U=OEdYqOIIPF=(yyt3rh};6rL1ByIeQwn+GYW4HyZV&6 zb=CoCDGAe&Gh%;$s^aOOuB78_r2ZhDi@LpI?vTq8ORhy+4CY1BXL2ua87p}N>uA`c zt(D=R_mWZi^)qW`7UQTpt!YDjC@W3s9QJedF>(>2h<848oRZ#=IZXv}&cm+`X5#W%x82wu`gKDJs zaD&WmyD@|GrEB3XLiB`E0))?(3)X(un4>t8r4mi=Sj+2&@2r?I82JO+V=uZU3Rez1 z(~o794eIDM1q8|0_@klKloDZl$;27(-q$)2nR>knQ5|I>cM*8O;o z6a5eEY`gIaQ1fT55n7(b3~9BZ73UN2ogKrg)2&2&|LrVhGpcgbCT;s_c8s-LgO?H|C7n zp&v`=#?)-jDH5+M(Pz{?C~2?|)GnSd$CletZX2&iwacD<_PN7s~{&xu*HUz}`{d_vDYcih(vCvyFhKp%iY_$FHl*-4Qr z)jg=K5~W;Cr{}&ZV!jzkA!rr)OR#78sJ~IEnd=VqCL0F)4ANA{+(ggRAUn*q*08kn zSfKEeu>-?J=36EN8yj;qqjV{)IMqbet{6)JQ(wiC0_LFk8k(u1D6e(2809^=FhOgo z^^Y&@Z~QARAJi7ES|I?FWqMJ1+}YR2G-qx9vtDrWgoTCmh)8agUNH<>4!?4g?UJvp ziik2{J@`ngQHLzBi)u7+6ZL6amk`o|R<|<_5Z1|u+B;@%z3p;M4D)F}FJ8WUAu^(Q zzCEFR|B6ix-s_EivCMsvx6Xk+CBNKnPX`L< z#dbH#>|dH@JWc|Dovd+%1RIEg&Sn&QG!$nyxu{7F>vzo8Xhw~P?w_DLsTRzh$cBrP zsQN!XiD$*Iji*AN@hpxExxYuWtF~!=XZ3#*#d%9;+RiMb@8+4okpBo;h8#58C#eYoaA0t z@!F=xl_}D$nd%1=cQ1D;ykU$Na@Eq#8QB&scGuHszJ0(8+h6@*xKaVK%y(@JXVL#( zhv@(IhrrnX`=g@28br1>v`+4JCjXk&N5%`-=Dmx7Up$AoN)yMgN=Pc3I|@ny1?5Yy z+nYf|2C%G_Y0UG5Z{8+^@h%{1+lGOg{fD$_weX-2$aBcuNxgV1Zh`{x%M!snW1*4w zeEZ$6{v0UGmCysMb+=XO?oKxOj6;;AO~)VqsD3Yu_or?(X!?l3+K2b*1{Td71D_p9 z)lUT9HNQT(taXRp5oew-rIYd%sKKrQ3*c}FNKHFsM~f1&i|L(1o$;maFMkay_)$i~ zIwtmPVeL9m!dfIF{5vPSof7pC^P~16DSU6GRutcF=CA=J#E*qg1$JSwllGFis7|b; z4w0Bz!cc^V!WL)kqzjI`nlVZWFe7@j>*1LbQwzDu%f3`45}5HVy=;Zvz^M!Uc!fb-i!KWE9*>5KR%jP`1tDh%fSKYa1bsx?dEcRuMHHX)+E~tIsa5 z0#y`ajJ1G$Q{$?TNKL-M#<-5$BvCL`EN^7&)Tgm6b=;PNLUWn}-{H5dBC96>P5RYX zT^mf7UHAIu44e_TJ-?M%AfJVA>Nn?QlYUXW@{PXy>>)^ppyFef*Xh@_rvuy&y8fKw z{qc*C4cgC{2v&{d?v8QCtz0}Vn#fC6#CdZ*G5Jl>oUR}b;QGrs;@U-xQ|0cLljBVahDnz%J?7j*{MIm7~I*taHhrfx~qDaai zj?x-06PYbT_lNiaq!o>Vk<`LnTPoY-2~B)@%deKwRnsbdA=0~=Sm71suRoxZ=PL|h z0uW$xr6YFK2?vU7sZ_Q@Oh8CNHGoUWp_r0$HDLtAcC|Wt!ipp{Tnvj%!nUIp^C4?CV>H8Ak)Z^y-we6~fgqz4;<$H9 ztPCgV!=bp`qi8Az$i!R7!!Mw1x}$Jp+PB0puQHm;4thJzw2| zd4@BQqO-b3IowC^mz|hrbO-t0?eyurYy9saF8u$acwlE`;`FZhO6z1|ZD(cR^sl%8 zIF2i=Sgi0Pd0(i(C3c}Wt=-lO}t_Sx%lJkv&&K(1@J6b3KchKlb6Q>`i2>MzkRVKjGB?sxi7M1(;QnVr6|Ib0TB@nMCRidG(tkZ^zr7>dUekVN15Jr}DWs=jnU*vTdc}v8VzXu%cC3SsV$n#~9)K^1$ zRnLdx>cVUi0ofi2g*zqsD_8BYu6Nk5qo`J(-_Eylp+)sZVr;^dav!d~s+ zU?d9ey2MHE9_Ltu$M;1XdaS1f#<9_{&t#?8VNI|`gy13G{XG665Rx@;;~xI37J)2- zYh*XY=pwzdr%2>>?zxhx1t|V;{+6HPA|(e^k{CCjeJa;U4!b&SCmTF%hu^d&?_w#v z*}N_xOiDj_LT_5z?bf~i=(AWHMbv^D`FZ!b3K!vX?Eq&+!~iVgeNrv(5I6?VB6FUL zlDx(w4Ig5WiF2tFIdwW#3xTX3InuTLDY=<`CgHEr|K*nP?kB{g?;QAscO8*`@0Ps( z1GfZh-<|Ql`sF*mL3vvC-6_2~D>0W6tH{!47Krmo%!x(7{ZWvtKcs}W%WC6hdAbIF z8h!bFj2o9MC^f3IG2vNTTkBcdASoiRSs2ssd&%v00`XcnrGz7AOfF%u8l5+N;H(9P zDrPJvihW8NRTaAp@Mmm z(PsOis*t8hcb28ZA`PX1#yK+Jiy9BQ5jgRFw&v zJRq)j(hqi!1vuo`yPU+iEEKfvzPCS8Mzo&CXLSHUGvxf3UgA>)#|*>ky!gC~mX^%%^feI`V22Je+WYbhwvqDm-{#5jmwsxc~i327+l zmSX-#h}&D!seCjdkMif+>A^`7#wnl?`J`qu@NyGA4V>*YYSpYGONcZqdlfU=iS|-{ z6zw(NJk{RkvJ~FrJa=INAGKe5T{325=e^tT$ee3)c4Oznhe*8HvSP=TUS1q_bMnGg zmwmHh#FL|WuD^&h*V^$!^iUr0Wgus|!ZIj&$SP4aJSj{@X=Ctx*DU(_mm{M+%6?LR zcjQOlA3gbhmIwd0BmWCzq%iu|+U>R{>fiD|@K*Cpo1p^}1&_#(JSYl26P4@uk)OdEewMMbcLD zDR53C>W;|@_4EMy8?$9imRg@(N1To(GRsgiVDy>1+krRal`+l#t#8_RN;Q##PQT;y zxAFiogGxNn&OnyCkIsQ-<}1cRF(wS!qJ= z6N2V~8eCq5)y;y&TllZW3p+`F+rO-uU~w&C^PV-g|1oR6Lt_6g=oO&1`Hu?d|BveC z|5){X-=?~j<4Oa{J1SJ&lbMJEozmn{xtKGBc|65wnLI@yvxJ>dxru(WmR9-soiJn>_!*q0kF(`^`Fmv@Tu@C`NA%3fOlud5dl%okq4u)!|~r=~aIkwAT-Yb6(^d_z?^ z6Pa&pTrLvxbw@4$~3JU<&AQeqCO}2~jIIMejrPQS(7kF=K6M zi6ErQ-)?0+m2pNYBpQR<0QC_a-lEzr$Rf=-)&n&Z>L2%kwO_iu9q>h^xvG0&!jh=R zJZe(CWwxE@q&GVxN=Eu3iS^M_h-}|# zdIy9K+;`ZbNl$2fbi6UgR^)|HkXBBA#2HGLNZANj<4=l{kft=X<)loC%_eLsLQ#aohsfs9OHaOyMkda@6?idzzdDC z>!d~;voB%gIYUk?m-R|T^RLa!JVk76ZcWe47+R>!60_N5C}hFVixPe|j$4OX*AP>! z2?F)kw&ICvF@M%8)3b=7a0D~}3f#>VKHYs1m8Lc~I`^=GAsidRn2_SlC zSBf24`fchVy1b<_<7eSHaeB;ajSS+#2<*}4>EQ52VNgPfmr}iJ0L$D_!$usQs<$fW za#^m12~^#jx(=bxCKb#E>e9OtqDA~bqn*Uk7VxRIB!P|i`~Qj zq6L$T!bqLp^o8Db^Qsy&{VX0419Wkde0z*rGUobpadVJ@(Z%A%gjf;TX zyFB06!(2w+x@OL|I228_Uw{eS@H2b)CNYIa&)6d<&NfG!;Jgr?VT4AOGq{C#zXAul zOy{u&b>y7g%Dp1nXEtJ`kMXuRNyAAD>B2At*CESs6?jxhlo)hZE3B$|g9KjOm zEnJbTpZD{mH-st#-}6476=vSfTMC&-Ig0C5nyzDV)3dL>UWR2E{!txkhvC$^_(gj}RI=63@uu{R?5_Al>V zgS)g>4|5i-B)ne6S2KV!*lnTNW`>lS8ul(|rgT5I+S&4r+TK7FbgoTjTs>gSwUYu>mp#2=!4k1` zjzOaUJC{5N!lqc6!k77do$)ROtM;kY_NDEZ&YQC4Su8<-WHEOOykLnUYJxw{V`>~d zMn;^S@`fvZ7Nvm!ovkKYwn`H%G|=mDHkzFSe?rqP2vh%t3PJx-9~e@TsF{?of8D)5z9CSA&LR%A_TOuFFvcQ7urBVpCONhGt+= z`o&}Cwg1L(Svl$~3A|Si`tP5AfBpGS^~FDz7v_$@|M!>{j@A=@@9Try^p?GH+CoG< zYUw74_xN~anopT3&KM(kbzaaPR**4=)6wXb;|ejT%7QCtUu-*TH?LU4j5Z%(>@IuA zi#>YoTSYURA#>shgXpGT;vx67>MoEh!I1X*2--Z{2(p8;Xg#~+wEJ2WBQ_2>AjGmz z$4iM14n|Ymh%HbhCOnO!cTbC@Cvm~Cl7*IC`ZPm z78Jz&zp<2~UQ0U0DTbFd|7|QfvT^CZZlXf}Xe@x`{onsavGBhZga7dv-#c9@(+02f_&O}F}Hoe!IzR;=uMaME zj^_y#S_$N4N@25gz@zL%29t7Ykz$!+fXj0CVECw%8zZ%Z{s5>`;+15`eqY%pXkJhP zDl%PClh;7U!JNXenkqC~RoqdxVmL@)^BS6qsylw0vN52SuAmBtMW73c zr3;h}r>ez{S_xVV3-0bYfic6}Q%+sgEDA3l=^N=NZm2I!44P^VmtLG59f^ju#!!ky z?>CuOB4b7i8YdJdXv>_P`=3qNV>7u0>~~!3d23 zZPQM1?Z1n#g{f;7GD(BkeEF6t=7UQTfy36zLH*S=f*D^bR0Ck7+pBzG;n2+2AHHVY|`4K2JvnD zwi>6cm&E8R{t**bL{K4d&ffQE|vXum7>b#5+oat$%J>!a+KMcTud z{0VsI&=2?tLw3`y9z5x`i%R+tk*w(j&?3sLGsqF zKtj%=uM+u~#Cq&l<{<$Uur6qy?gQZ#EH5Pc!}WdWP$XLh2R>@w5?vl_=A&%CJmqmc;U-`72asXFKiz1- zvnUDC?4~3;{vOAA+VAS9KBZ5rexQ8n?|m77S$yW_Ll?0(uH_5gLE`GtMkL=3{smls6XIj4}i|5=u%DsjCQt~gs_ZZkTz;@;_9 ztC%$J&ffjGCD(%`L9CZDSWFF<1xv3R(!rFa3^+eeQ?1ebtnBIvVILGl$cKGiz#>nP zmg5m8Nbx8tMnBZi^ESWPCT}ICuTioe z>Tq(1mw>v+XpLn&PbK)JTL}Ef+0CY2l;r#ER#~-9&oV)7r)|smtRKP*lFn7Xs9%=B z0Z^8RX8ov%B80)4Rv~e3RAQdLL>fjEs`Z_xg*j6@Dn0SH-8*Na@OCsCIRKB7ULn#- zbp7Ug4FcVp0oYt-#IK4t+Sd@?K$qvgch`y&Dm7uhC&lOY-qOEMjQ^oR0BryJ26*4b z_D=g+VSwv+Qmf)%W;}LZtFPd)>T;o82GI#14Kc?3QX-X$1%1+aeIn#D6l(zWI)w@- z5)A)DG*NwDvdCiUk_aKU1j~qX(6o<|RZk_q@)7866g0OaPA*q9!&lLTNf)_9@T8J# z`&cR!Xp{^QX&@agh>P!@3F}pWO%$ZsJ8L6mvVP>F_&tI5R+?4NL^(p^6m4>g6*@U~ z0DKN7V7a1$9|rp^UYjJPKMUuI#_Fs|15NX+Nnj&BO)hdkqf%;^Mh%4=oUnr%yfD9? z4F~A)1Ov;SPSosy{=q;cEV^_7MJ3v?qiOyu0y$}J65W#u6L9A3Dyz{yj*+sVRDQH& z3;P5XE=}pDOm~1x!+TjBfot3>WG+J^Z*$5jExY~)dx$Lr-%;r$QxM@vpt)8R`v*TP zu40pnZ!b^X0K6Ue^Zr2RLQ8cB_}rtDNjH#Wmr%%H3rhW|<1}bf?-4|xNiDPAT2bs$ zP#sMqe@Gbnp~s%^NCZhP!9>{y!3RM*PTkBTL5i79vbKDBaJg`=N$7M+9ut=YZYJC+ zL-LA%@*zf5BRYJVm39M8(Ar+w-{|s+S8YQl$1Suy%j*Z zFca`7PvpH_Jl~DeR#VFOquUw|FK3YT3pUMOaxQOVr77@uoYy~Kg-BttI+XCH$GW&Q zsi3la06{UDoz*`=ve+t(An1Eq&k6co-^fm(2i>v)p1hH4SwHqoED=$BwGYCUJBRi# zA5G{Avr?$1N^V3XON%22kTA5#JOOMmHuSYz^aEbLtk6pKkTs@<6`l4MfcX2Bp=u75 zU+N_Ew9#0#gSQ|aQHPX%*OdLS#P_g(`(Kp3b8w|^w=LSSt&VMVY}>YNn{PTs$LgeG z+crA3?T&4yZ@%BIeeXV}_W91;>(5oSs@`|ieC9Lfm~)J=CCO}sCtpqF@UFU%KaMDL4uJMe?oCw4(##~vp0~pC5rO&Wfu2PQSVA^CQiW) z-1hmFN8p%Wed_VURt5gAo>v0d(?85f^JT)Rjn5Ob`2RbN{a+4|gRwQexs|Q!r={V) znCtYTOo*S%b(9~_=v`+@xZ=wCFFhJMVD|9k3}UqdYDm8 zU)E^uUAL?rAFPGj&EJ0TkBCL(dgLHCY#+gMb9A6R3f-IL<{dqBDxl|+0V!*qtmGra zdDiu>)~023xYP2p$n^Mc>(Kv~|M6dP!v8HL{Fk@+Y#QPwjTQ@KG9G*1;1wCoX2psPDx;RlyOJwH;JXVXED+K%b@v*p}Avb@C7l zhbYZX^)Ni)X{p5n`*vqkV@`ceb7J0tj`829=_d_)-Ck|m1rf<(Y@1u=`W!F8;0Y1e zHH`3vH6E#Uj(D^sm}%{?&MB)wk*BIc6vTZ1J-ZkQ%=9Z|p3 z{C3))P|d!q>OZ6&3C6+!-cQOSLpSCI&kEM(e#&CCx7vcWl1&=NjOEAjMQ2Ov#k+j| z0A$}lv3fqK&CB8Tm`XJDqio>rl440e>L0BGj1Z!K44j(&Z8P$zb@1QS`GBpN3*-M@ z=>OwxOaGr7n}0=&U2N~C)&acWNBSd!MN4S%LBzI+uAYfjQ zEuF!r#}+qVp4V8i2C_%0)Q4wmDFE^50Y;O6&0Bu3sM$xWXPhwhdH?PX$h|^uIw}@_ zLk*=_kj=L;p`(srE)X!Oq(Q>GGRX;|(9Ui6E>Zc-`FTgBAis;*NUv$`Po0bT)h`4; zNFEau=O4wLsN*wREeAkD>d4SHzAc<{bi;Y@(-|F$VTPrUa~xK07QsWBD!A?WcS|<` zQca`!3FmfAtDZYQZlrb)k&s1xLY9+FB&^9{Uf7CGCO0uOvVpg4w>l{V^Flq2iu;JP zGpbNs!?W@CXDSP~#&&~GqnRzR44ZW+dT| z>g@l0MqG)RiCGM>a!f2(p@0JmTE*iydcooReI0U6zR07}WAWtO)WRqu-rb4yw#Hgp z!eeLo6oVKWVrY$e(5{ z%ZiH1xTquyd&l9b{#VNCimyOi{EVIQ|J)M!Z=2ir)WP>hM0iwpgyrilCh+TH{I z8z3X8Ko3JTsvu9#;7%va2scGHGR#QtG&(*v{h!T#Y)s>UG`TcKB)bj6KhYk3USuQj z8SO6rZG!#$@}JLtEqedUZSmiq|Nr{9)-Ih%pJoN$;6pF{VJX01ab?cUhQN6WdJuWw zPmOvI`xS>V@ylzdg$jN^if#GTm`vH>Snw@C1qJ>#AOxhfA;k@^i{kd#U*fk+h)V}& zkvF|hr^ko~p)5MDU{e4OkKwIKL^cMEE9lBHFnd8?K~L$XnVN4K`Rm>~M7NWdYq%m; z5R+5y%*rc7L*$igIQ(|`%!P_>p$o6+ z6qk#X3Ub+lbKdw_B|!`Ce=)t|+z7UbBN*7w{ni29$8+GGV8{pb9{*0o6stwQev9C}uL3r8SRw&UOvDm>)Cb6tQFC8I?a2nDa zR`Jo;mGbjeZ(NNrS63NcxAma~eeB6bWkr+AQ{o=LdlMpw=P+GXphXSP{f)XgWOxvu zgzQwRE7c#!Sf9{c!vH{Yq&!{*5 zwI0ZG%%+?GI_QZ;-zvA2Kmj5C>tlAwq3I2odA z8ST~;)P^%HPtVr^(aN4Rf&e?VZbqgMtp<9|lBSCgwR8U!-Xw#s@+jMApy}7do}n*a zh)7p(0FrWhB`&6XboRi5#Fr%E_$ADQ?7{FlGG2u`W(6TDsb_0=t}@x#QTn-7qpEOF^ zFHiA*_u|!OQ4_J&%LJ1YAlrLb3{E$!{1UYUy(FVC%#4$htQUYc@zKbg5sza^dT6s0 zXH2R;p|wmoN%ix%jvh1*p_F2<9Kp<_*G1P_KN7+(GjY5{CXsFu0*j+1&SDc$Ev|zu zc#t}T{q%eQA+3jy?s|hYZo<(uTRz4tok+pJe6BL7qkJpe2MMYZ$Fnf>qBhdPc4LXH zpk@aNU8)|V1J!u){&i#Acs9f6iW5{B)ei6$4*#lnvIy%O^v9bxTe(b zr(U2uUzuy`Y!Z^()*Ai4JE&;1E2)Z1xlY;Lqy4!6K*O4>_*g z+@e>5jh;q6YjjrVf7j{$8#kfL|T%Z z6YDSCWCfe^lzM$i{-MoE7t~Z4b#o%rgza4D5F!cE*rD$CvTGs`ux|ioMi^~*&nF@KAHe+%>gKPZC6A@WL_l`0#P+-czzT_$NP);bD z@(TK~!14(Fq%8M})%#f%NfuXV5#8KzN((VDb*ic=XY(5ft-9iJ95Z9dm(BV1qAIOc zNVcrxysGpH^A2>Fz6xmC^vFnX%gjPYiDP-e-X)u0Bl4?+zA7SYxoooz^iLXK`~JS1 z-?EaE3j#~YQ8$kI4DjUTUHCFsclmr&7`i={ZLeNYVznQ8IF>zFR*c(8dOt`Ivemu` zR!OtjpRe7n#5FOTf_Y|P9eb+X9v`>}(0ICs)i;L1YR9IwZQ$r?RD3GRI)5sB@NSy$ zAnLOfqSv5$`4TN?lR370G~o5_eJV_ZTpU1}*Ku{WdRaBX0ooOYkg*D7*C((|4VzcG zJ&_tcxSe?#W1$#a%vDRsO{zo#^L-(DpyuBUs7%9o1_l{rehQ71T1RMv3cX2AyDo*x zb>L82PACas>^h+H{S;b37h9ra_x+2deYTlwfU4djOH(b@y|i_+^WdvBSfFiS0}c~s z{oc1T9dIs54jiSvtQ{_B|9<%PrrKa%hN{T&42!#0&z0rI?# zC$O?tsYxkVK8l%^j-L*qotuycTg+jj{a20MPc1S%3BYco98^c9O{TVNt>XBA&AAvH zCQJO`24)1m#Q43p99veu&vV>&SRMP&cE&x1w4H@P2WKTOYH**kTC3n-| z2bm&9z9kd4U%I4Gh1I(UDU!nnj=U0XXu}h4XfHe*iT4zQ$br=LVI)Vp!^i`)2nUDL zJO~hOHUFr41h#SkyLubx%CkG!^jtf@@wFl8eWogje)NbSk@-?-@%&+=;+J;@SOH_qx@1W&MCO+*`n}fS)J-@TBNWNeasK-a3neqe1 zik}3Z!IrD0>Q#AzZ3i+zJYtBCq!n_o<8Tvfd(r(P#>zlfpuXjgk20HJAN2!Y#(c}I zVm#wQ9RWMYwiQ0DUVC|shL@d}xf`H5V~ef*5ks#Q>Zg#a3+a36rD=_a3rloH<`iolKx#l93Wq zi_}@{La!Y{8|neBnU)~9(bfuS`7R_UIs$R_f&2B!#+3q(=vW_I{D%MIi~72&$Ltjs zL8g5lF#97FyVPXuWu?fN_2tVqiKcFlS?C8a!A3mgb98v2vS9s+k7u|s7i}DNpD&w2 zM6;0xa^ibGP171Kz6X8bn8yeBdLRhCaVQC_lWK*!`=YqE-|Lg6*{z^?`r_O#c5Y5z zCXZOtX9^S;sgryggm*gEPe9Twd${}cn}=5KIt za|%X;?Tf&c%SUOzDKBuX3NP$5!cp*%Kb@xaR3E#hn^^Jl^?9a}n4|=v8uFNb;TgPp zaA1uMh&I51~qYuT| zi_p>Y=u=UxItH$u2&SGVf0WOWDAJEGldDMBLJ+n*KG;hY`7AdLzLA|@KHZs1#z?+D z+$hnHp!vE#hwmg&phW{&`tO>XS&85{(0{?m4)`Mm(#Ys0PD=naQFTy zYm-U_A0lqW*`80#ttl|*&wq-NO7f*_v%z*RJ)>Ee;R&&N2kHPnh0*b)WJZ#d?n6^) zo9t<*hdo(i!K+Vdg}%}kJTlG|=6W(BQID8vjNjiKRiSel%J_OrK zzkF}b>9oWi+DShb<$8=dt-hVm6@5rWPJyj^kIXT@bl5M$QL69s@%Q%XYdsxwh&`hf zmd>zjThRcVw*nl5hVwB({ix|MH(HTM*x;R*GwN zzCIYhdeJj&_yEfQ=~yznogd4cqT;PkE<)E$S}=C2`vK%q7gvlQ_qVH62q&(<4=#}| zX>jm^igKT%iPJ0w^ObWjkI;PHv<0CEt;JM&xB!TsAXdo200=u7R9-GbrC+Iy3FV&p z&yjTxnYr?D{SrqH`yfv^6r3Gwi-bdfai23CurqD~$NNr>qqJLdI7($3+5a#awL={sW# z2h^27$BG68#^t|T4m>BQD(&W5xo|5dX+Aqd>U!IYZnje+(pQ`^l?*)gSWIUx#Y^gv zAM}GX#m`r7VAd}1`(mE9yu=W^h)+7J+SDw zu|Q-|Z^AY@ZH9Wwq_*U@yvMa8Wp(7~_(gp(LYvcYH=f0rblpp`XyT$jVr1=Y9PFG#j$!@8`OFjIw&o-5V|n1FMaj-EoeZ7@)+7~ zcgF6vNk;<>ciq~0XtR_)>K?AsWB=lW#l$+Xt;a023$u&@Cp5mCHz_MY{Oe4irum0- zwNgzma}6V_3A2e02(Ef4F$WoNQSu(XvTK+m90jft}eu>PZFlO{T z>Z`gcf$1I_y!a00P4R#ovNuiuKQ~kvS2onlNKHiYdl}BEro)SqLtFzs=}+lBWO>fq zfIdEatL7pz7)cGydGOc-E8y`@X#EdZ_`41YvqSFnHZ4l0`FGP+Yuf?K52Oyit&m#w zn8c2wCkeB&x05u{nGpH5g*N#d%RA&|{rBvo?>KJ9QHGyAHHKT4NH)rdU{Osf1}ml1 zFN`EF0p2E1EKxxR$x_Rm%)>&1Kf_yzu0j&WV5oE!1u7k!3%YYk*Z{_J8wf4^p6rXr zk=KhFL^Ij+COVH6s%N>xgA6Er%p%4#J=jISMW({^<3$&|+Gb4Dkw}D2;^2BUYhaL+ zR6b%*)-NSAmar@Spxk+n<@{Fx>CN}G76O6`2ZeghiwF2AZZ1^C7I=fd>aBi;O*fuO zYr1~ceh*TA+j4mq6@ig^O?b=+w=#`3H_7wpjknr61PcxA0tJDTW|6bMNE(h`&8<>loMBcq|ak@a@s9~ zf0$Y83TfPbWdz%)tTfjt%VqW}Dp=E3v38Sm*H+7>pSs?5(FcNtUrk>Y=6-knB&v7U zX_&4lkVIUGlRDyJz7?-CDrKcer}gZ}52JPk%gQM1c68vB#_3#(j&$}3`lFvYXI-Hh z>@)xU`JJT2Uz)5^t{q8}g=NR#iex^8_xIvy^|GWChUx@|E78Sa;sDwU#M6)@VQD|5 z>@S)5OJAZsT4Dg@tW*jb)Ap3&q*3^Xj+v!~K7Ctz><=?eW)AhiI$|Zp)GnIS<$&Iy zZ&H64#YR7!^sjA8JU^{aa`=k1EYbqUZL&j0M;_PY@P9w+=1ddX| zlVKIvVr!5NH+l=hz=dmiap}^r$mhQimcgSzLj{ggm6qpP=j;rF@Q)_JL*1XogY3W; zp(UNgesUoHwD~I%?66vMec=7p2i;*c&-CH~a}#iJ#PNZ1K?LEjam3+bYTi|Fz9@p5 zG}HkFR}=ss#(iwSSERp#p$QUNE)EYZ7l4x>nia{ZCg=24&*-BfldnV|R5x02g#QsU zxvi)Fa(Bbu|BmC-?8|J0gJd~xc8arF4$ zZ5vJCh+=CmCT9RmzR|dsJ1+A|)=_Sxo%@+kB3d4a;(y(I@1R2fWnFrXmSl*r;4(_* zSglNp*7P&tuK;KFa|~R?t&?0k$no*ms2--Vy4$S3--vWI32NPs zn=%YU3~{;tu6p|F^(ERD)K-z+mOYc><>zSuSEb znRXc#`i6t-?=~hS@}km?ETfaUXH7^tB?GquB|I<2k31#Qsw6RxL7x@rLnsXIQdtb@ zo!e*pQppLQ_^fXn#QB@b&@@{^UnRBZrE@rBvwCNV(l*M&U)plCQN}{J4@9t-WGhtx zXEQyq_%C|kVI`3EzLt*`M=4=hmz2)N7ZjImAFu5mTTKc4md-|`ScWY;2H#jIZkUsq z&ZN->)06lY_7P0Lf`ZIY=Mm34=YCJH$t0c6T!*~Jxfxb=z9ur``kykSiqd%K`*<6B zzmo`(Hw0W@7YN6goVDIu#v+8=f3L^{sv^^E615dT#Z*Zwb*j@I+Vt%0vkmyAWfi8t z?lIr!Xr(Ve3%^Q9`oFJ6FV>xVp!_fT4!#!iG;+xoRCpY z(_96fqyiDiolma2$F;YdH5P7ii?HTbrN6?xZ!x%+k7Q7v*0%hQ+W14yR18l6R3J>m zJDG8NkCsCukJY5u-=^2AIr61)O-1SONwRGzq3oRs(%-2_uJ-F@BJmRohV~xYk#C7R z{k$2{c!T9HlD(KJMUck^RJ&f#=+VMPalN%ZF|O3n{Ovy?3ka1*+tBy*(vxwygrb2x zu`S?0eednI!rP?CUp6MqeVl5ptA4QUPT$b9TOK`XgO9sHn$LhijjOs3A(wpIzn{L8 zIx@&FdzxxE`%9oEc048jrC1veF2^WY;NrbOk@BTrX=ZfeT$vfE0XrUO*VA6t&oAxf ztUOnNEnY}57SJ(-$)|qZ{bmP}Sn@kCDB8E>QGVv5wJ8Z&sQg8TfiI-O|Ft?4y%toi z&1GX!?*l+_qb1Qei0R|M_t&ddT1ou-k87wRp;0|9`j;<#3jYqE1pW_mq5p0y>~3Uh zWoq;<4(&gner|2Y=wJk+?tEOyknQ>U^CBk4q6TLtNdgcm}J6l)hI8=aGAt2hM+ z|NL&sC=jasMarKLt1urm-&jkazpaj`j|1$wBUCGD=NtLD>wm38$b4~&w&%qk!F=1e zhP@p2l82ypLY`9DRu)Z{)ihR{_8mcDoLJpVE*~a{P%j$u8-8Z?XT~oM zr|uOnnuTjX5!%7d$Y>rX^J*Yxyb|Q{#0L3-uAoU*pU_Lk>2OE)krBH`wKs%EV}_~A zr1>>JZZ5cYRFY}K6o*EwL#d3}z8vGUP$1l81$7BNqd9@*>6dMP*oEya6VNfaX9yxd z@x;zfw^{GrPUpNW?Hm?!zV+za5e-C#-AhM3LDlzah4`n8a~o0LSL|U)8dAdyn0|O} zd@dVlOMTWO*^cjq-8f6cX2BQ}5a$z2L~~!R!&B_6p5UZX^{0Zajo_AS#}FbM#P{Up zk0&>9f!Halwa2mcjVw7g^2R$Va|LlsPhWNBJH??^bBZ_t*vja{Xi)2*M&OB7GAa-R zqEql!kQQe{`G;woJ<}?3!cXi7nxgR-Z?>JXA#`l zW>*1MSjr$fZp2+e5}HHerT;deRFWu{RnzimKenY!V*k##Bj@d}_?L<#Xl0o6GK*p# z!ozGPHK|az(JPDIC8~M$zBM*1>A@>oc9G}r7G^P1#!sNQ38|i-(n-+3I38!}vpu;H50=+^G=D#%YhQV`-(2@$yd>{Um~`sf)G^X}1gGPZ{? z5pDkVeXj+wIN=l$(3O&CTSpM2|2J%G{#e(H$`i?0(k6m=VdEhe(>Mexq&R8eD zt*Ri=Y2&ty(EVdKh{2b=v+(LhA`E(zu{yybvh^H6O}MUHY;&e*036LE<#*hP9_rwV zMEwf_V_G2fJWi7Z2}#N?>1y#=c(^|1@y#n?V8+65Jf2Re^L$)vZ_fMP6cpQn^jyJv ztpOc0ZL~R{`DcnWq0C8&n|sDFU&FT%x{-ML1=yH$zAeY1D|NBG0_}_N^vYwl}5`xOf0vgD&s` zi2_demWop#EuhCuUO6}j%TZ(j_DMHy+47N-vx(HReNfdX1zZbW`fI^rwno1VDy1Cj zv+I>{-47!Qv;jaVu+EH?;B{^&(K8^n+gLFi&Co2%hd}cafA%5$DdW4`RgWDdey9t= ztk0ma$!E*34MW!&NN5TV&jgkiL>%ue8dfY&?@4i<4RYzNIQ77oUwgYOg!C6Smb`hZ zeFz7pd)8zk-C?`-&jWB&+wF`9VYCLNTSe5|Kn0g+SW(aKw80>-pmclfZ`}>SoTm*@ zw<`mMTUQ?m_)m~8C@1<-31zWr)e?U)EGAV|?a-I}kK5b2h!;3JDtcru*?l>j3R`t1 znzb!28`_GM;%vaRV8Ig(4GfGrH*l|?1E-tLkz7o0qXlG~XFXnMDC`>b%#~4(D zhGYWbWWa`b@H{>-F5KB!2AYCm3&CA&;nw-^s(A8Ty8g9TxX(dj>Xk7Sv6swZp)U4I z^;i*r&(br0cuaIk+w$@ovC9)Jo6BtG2n{#-vU(d_Jbx||WjBcDWRs1@Ny#uykUKJN zC({!wQT_KkU|yMalq&Q`^Q9J|+vyt3 zZvI}NnLyn-qnIX#W7v#$#So(qmYo818l?Sh!`M7OM~#QyzhgAzM~Icqy~xU&Jw9H> zr<3=R1|89O!}EmWk#ob5d2CRBhNZu4<2QS`&!utbncrA}B=D7Wy?6On#Uu6)hduZ2 zz}LpuN*%erG(;i~5AKu&#QDs%eZQBzNX@i4bi(CJA%T)V4+AhyeMGQZc9cgF9h-&K zWF?x4Bf{33wF-O`$V!u)svw${&o z$v;%ts26!ASe(QPs==CbHxlQ9g=Ff~0z|E6^f2W5#sMkXC=jZkd$7>;Oe~NL@FNqE zMYKH#k(HTDNuFpL>#j1c<-NgX`P<@iH3-Zh*yGKRSJiHsSWJd>vc|*GM(LgfJsBTD zCm(-Am^QkjV-epo15e|7+CdRki`)Eb#zqwlR6;qb=~G`KacE7YSkNk{!o|C=0P!#~ zsSGm6Nqzp#1j~mX-+!)kZNXz7keU^g1w0NvPKTNaiOEr8sS<}-P1keS9|IX=gbrAXt#Ng2 z(@E{PCO#U8%Qm3ol>Fd#_Hbg%O->=yi18Zzw>EkQ_FI@EF>oAX!tp?8F51A=w% zEL4RP&d?g>yQ2_T+v5|z zMzye6V&AFW$5$>K%aLo50>K=c3~7E|vi`GWNBaT=9a7;>ysI~<{hd`@`MTg}eOMO>H z>Y=>?GLH;uKWLF5lqb>6`qR+L+HEjA1)=|Pt3k(1S zrP4Z(vcQcbu}U0;ttW3aU%urlx!!DfH;Z!=^DD;}5=#`iuG7SfNy5p3l2M{o#4&Ww zjMN`LbM1O9Ge~^z06?a@)t6XO0OyAELGdC&dbO5VqL|m$HE>rT(L{$hfeXu(t$|6> zVMo)NLo${I_@}`ywqlo7yI_(J3{qW0eoV-kpjgw*E*fM*`~6;kcKi9Rp@T}&$dci5 zA9bwK_1a0+ib4OND4z3vM(q&f11$o-4xc}Uy70Q%YQtzR4v=oKA||x!>2T%hdq=N% zG^;MY&&u(j9G?!aK!$*xu6^Ssu$s2VCx~e`Q_$)`pPVRApH#6EasCOKeE5gg*o-Mu z!(38ej4p7gmu`Bg_hO+P(XGUht=)$+VO(3)eeFSq*g}Pm_vl_b6k#M$xH#PMCOe;W zFgD>ZF>8yh7Z}yuj2KAAmMGma5VBhepyOLqy7A@3Ho)_^2rS&>SoRUQ8I#zYtx**J z%4L`)^e`D@ZL;AJSQ<6e8GbSdRmMEW@)SSaf%ZjPaEbdoC?ui$7F_S6AisFA#crSk z!wD}CP({gSiGUfwcr{G$Xvf8~Mr!_bdwp4S@mM_DrSTgO~~SG3!%#k+u7pSTjU*A^RKjDLM`5f z;${k;fv5oS!<=kbw$(ZTY|0L+Rx8urcR!&z7L^~~QtI|&E3ihh=V!e~cl^|bjvU{BbF0IujzVl( zFBk|^NP%IE{N*hVJXec|vhzMvwWQl5;LqRPw>I5o0-1&TjK5pBsQiE5@}KoVmcLdt zDxCY+u9i084?_L)5=COEXbY*rZ*`=TrEs!ZCG{8xWEUEvsJf(lA{_SCn+Xwo1M@Rk ziB~5+T?~E6O?Fz9x8Z5llc+-9!j6(-#!dSM!jEQ+ATer|iWJ>Hr8u7_if5BRFM z*)XknHzQv7Z+C+)2*^Kv{Ig$FYdCQ1{ppwR{j;(8KQn3m2iti6>>K^lxKH5NIIOeZ zv;z=I=zu1d=F)kyuzQE(`5$FnRNT}CF=TK^jr0vOxd`rry3XkLEhOIvBtG{{U8hu} zT6cXs#IXJy_}JLk8R{?$#}YU}=d}RO54{QLCq(>g{J1hB-8{yl3^k0ZF#{W7C%v9^ z5dFQjf}ZxR?uOu$9!5hkYZ91p71>d*7;3%UUBEm>KR!KN?uS^c<$zX*xd0v(BooiI zv|gMr!uMzPT$B6wEGfyi!0I(vYieZ7BUl%Z4zP(C2uWG0BrsLJq;%m*CEef2;2hulPY&TdK`uNv(&!ItoaQYz9cc&+oF|3XY=uCC6SlzhgA6J)eom+K zmjg|Um~fgpVqcxJ>dSI-N+3(35V7mtVyLO_3*N*32A`968X(#7ey^~Aj!TwSI(wh-aLjyx?^hVSh`0;=4BDFr)BbMx;8$kskKu4goHji%~=-34{YhnessriAznGhb1F>QSQX( z*m0u>2-6b*##XZRcTQJAN~oc!EMiLJT8so-!PO|mfzgycq@$Hu+^~7nCs-`x)9+n) zM8VUK0^X%390#Xs>kcGfblSvP_g&is@t2MeT-wayAWM*ye9hxf>`P$UMl?NfdH`0% zihhl|)DCFW#4!~3BkGBAPTWppeIzvJxuJzcn$k(XQ4GJPl1-e$vNyuI93{`V68v?N zw?TKw;Ie(uOj(gmHfh zFJ*^iglo+ys0!>p?IaB@Bu}f0D$oM0+xIT)q$;x=_Kb*|S&)y^Vp}qrhwG#;6YD&N2aix4|nabL$#YzjtI#BXv`bR8tdkI*_TC!%P^?bRF8^b;86 zD;&qG&(`7W6wucyn@3Ab^yr6urW;P9$z7GIs@UK_49Ho2j2dtWe*+w(VOOGvYCYv{ zpyGcO4gVIr6@%86mm@s6}v@Q!L`CPr9AaruHlF2GX|8Z)uI|~Vl~k3sLHrc zaxixb${S{0+ueValP6=Pxv~6xR-exzWoQ@_InVI?D%g zyEgI1X`&9{t;hAV)nc#@Nqu1QHXnYAbQyo!tHIEDwR7b0=)4tk$#sHoYri+GY{}?D zBJ;|(YaCN$1T`N4kdOlQ*a(L0Rrrcf-F@m9lAg9GQC24Us&e(^DMYv2X2upnVpp+# z&Kzz{;{u(nfGJ=Wu}(|y_rCL-Q5QI_6Xay3y8I%M0pu7*zz39tT|SctR!z)!(VCKy z788Pcnw;vH=PS#JB3OuiJ0`(2N_T1o`umGg7>ou@VK{6{BoU~q>HBPX-nj^UP*-A1 zSnK;mg-s(UnlSpRDp+yT1El2~oIn@s9-g^~G&EYbkr7Z}O?7OL|9+hV18Y0^ql*1~ z+V4U-2)KW9;v`IB!`~=%f0ta!30~{PTOmjbulBbP^Ekg)nw;tXqNw4T9%>JK$JpD} zvq;6A=d5&yX%juC$!;>|GCJ}IWv!{%NoTj3@C>1ThRbpv`IeVG*nh%VR1s=23Vmzn zjIpr^G99IP07T50!R9 zSpgxLGpVp2-_r7Dyq1LMc1@juB5!>A{Y+`8ZH!W;_n;)_{61d|&zlvOwIt0xA9@K> z+vmd%4}<=fL36%{c+%F%zDljGX~H*px4QXw)W3wR;1nB|m@SfMVLJ4-mtETkwn5Q& z%$F1Bsg)j4HKSWj>!uL-B-cM{p60NwIDr>}!0>R^HHwa-UeQE6I~0^s-Fs2tAajP1 zum0#p)k}-JO}(h=({}p-ibtO&wNp@E36R!x=Rd7*v_QRMswACUyeF-DsmAAqz1(M) zW;!jLF3IyO#MN(4Pj$O%pIO_x+;NB4eTEpP+osax#|9J8b$_^H@i@J!k6W$pT>%Si z;r+bB;i4Y-p(~Ty5V{=r%4V;bfqH5qHS8y+lqjiNNkZQjFY|H~eNdGV(alMVl-^A8 z=JzeroE#~ntjvE-Fbo9*MDrZ&MkWiDZQNrn(HFT!flC&|@HKX$D-*K!8v4Wgd;@>n zQ+4#{KP7H3QYi_~RtZi$ebT*PIspu>tMDTcdSAN@AEg41j|HQT#_h$;vL104XHkt# z`yN7rQUas{4oX0~LQywRT4$!3=~hwEjze`g%O`o);&apK6TFqbRlu2A^Y*p`qsD7v znREz32sj7F*MR60q)PLs;2VdwWeWvJEi?!y*C2e`>l+UW5__2?f=A~|!vU<-%a)w( z$=YtY*c^4nR2vYO;5L5YMR7+hQ?|=-O?OK+pXV8%L&H{exqZD`+)Eh>|DqJ!p+BY9 z@X)C?zYOP;suI{otEue=Ulu(gD+?`6ZHMwLCXIdTsFlTE6*W@Gj*IDmsn`fCDv!c?RUu?#Y>Mx?dC*&!fd6Rvv z1p@;QPsrkmRbq{x>Aq=?S2Y(#R<522yO##L=1UrBkpT^)R+AMZLNH*&NG%V^x1KFX z$Zj|WRx*e|G#KxFeK`r~ff%e10409beG)Bkv3EWa*F|<=3V88yJ^jNp=MpOMEB|Ds z$A9~G_3{5?|NcJ;WNViNKO2`%N3re44~)1aBh2>FybUK@4&v&w+m`G#B%Z~!dZyw< zt4Ogpx^m5J^vI;;l*48NQ;JQ&c=9#A&M_oZEeJAHL6Z1kECO3{i#nU~I-je%dX4(# zj9Ixfz@7Uj%!Q z{AM%5u>Tl+7FqP?EaRAiJ{x1!F92eNYc0Zhl0e|S0zLXnlX~$qFU^3@=&)iR*ixsT zBKV_n|J1uoPnlkB-@U`Erpa3TG`YBZ+k|1KnUb}ttfNKer3p>A${fH6IJDO!dE1WB z7w8xg^PO?9UDC{uIchlA9?Q*Ct}9=yb!}j{u`w#woZ;$dk8kSJm$mK9NQSShsd(?* zxz?9HYP>b=P4MEF`+Ak>uX3MS^H)F1&4~9~ZgKkAh>aBb&M%J2C4p2>TM#^&7eI3=rperP#n7kP2taa-V`7F$~zNne}olyPGoUT@BpgBy!6;) zn&bX#9Lw@~6m?l2blY|uSEoN8yPHIna0pVC5 z$zwC*j3W{$t_|!5Cv&*CS3$8eIvlKc_OXkN{kjlNpJ!zgVb{FkewGm}ZeJ-kM(*I@ z`(X!-L9-LtAV6QZW>KD(w$$-nWKGlREwyo_*yJ)bsfRjjDY?y3tsOHp>4d#S<6j*0su9r|n2{zj8s z4Kkl98e3+a^-6e3z5Rd|=|RRsnR(xz(9{LvsWvrot%aISV7aNSufqDPB2Rm18^&vD z;<0+uoYsP@SG@?bx&NWBlI`imj)`@Jc8%@JDP0h=N3tjFrRT(06~+YTE8AhS@7voB z>t)N?UBbxsMqS=6y!Jh#9Bvut(fztA=`6mq8pZ|9?xF6E6kpH#A+(3z<@QjE^Q<*D zZnY!!E6*%Y0RPMxJl40fVl6M0?3y(vR_x~Iwxdxs_IF^VdanH}kMsR};P`JRFRsAf z`=x8waRNT$`i_H%x=-lXr1|C4h26yBOg)#gsigx$Eiro8GQ-2JadOao+Kt1jeynL07+9se1mv zeoAU}ls%ij!24QowD{&vg<^QoY-Lvb?g9MxRQyx$_5)E8m6GoDk7hRe#U2+^sl&d_wqVE{n^Y*@Ia_CAfItn&hJ|c?D zR!^<)03rR@JbuhG8Jbzdi3YZ(FNJ@DzfKGk>ictgem*Yi7o(Q!W5{uw4O^ZOM-x+) zBcBD=Kn#TP^s@5EbmS?mnX?tPEg8K^9gH4RkBkY; zP7|eIlXW|oV1ipE* z!?F!Hl@I1(7cs~?$B!SG+o@$vL&m%hLtor6zZ7#6S)5&SGNp@Yai7Ql4O#kt-io2HWkt(75Cb#V0nj(; zuGicepQBLBCD6LQ<~;nBk}76V zUhI7|8LXAI#B{Gc=;(wXngsJI1613H^-6YM;BegYVsMqUJ&zP)i-Y` z?qQb0v_p{~uI)`+xQ$^gRQ7LA)Xx`Lo`$Yx275&0P2^b{C6+A`!F@@k5Q>4a@7* znl73@w0d9)W4+gC$?UgJfZ5hD3o7w_E`+H@*JgN=r4TQ5^;7`-0D@1ACD&hsJ5KQr z0ebUB%nhtOvvAR-lrb1u3lj-zgN9uWd3aSOBGOzE)vVUFRGLhOCgy>}=sXBr_O8et57AIjB zWMt>e&sxeBZ!>^-F{+NGMZ7?j>%^)C|Dy|SwhwmH)*FdrU$)G8m~t1+fW}Q$doH?3 z?lqfXGi?k!3f^yb)x{nl!VD4|<0;S#UZcCPgPM@fPXpP5PlCu+KEW*ndtdN(V?}p4 zq1OTYI3)n($p@o5L3PD3KdP;>S`Wg`{* zUZvf<`xY>;3KJgD(er-T76$7A{ru?ww|4~=CwzUxvAo6BBwTy`Qmxwh1w=o zHhyV2r7D1Zvon|Pef8(NMEjm!-}m_8xe}Y0bfWQ2i@6vFOu!#fbSdF~PAUKwdV|8bEC!bxaBdY=(cx*H5ha6P zQgwNx^QQX`>6j@ngue~>G5F(@W%12Wa?#J@Ofdq4tSL7cF<%8kp;YIxZz$o8M#vfkpe_-Z-l!Gxc%4&;owuOeHC|O8wcOW#zs74x$U<_|IJ_q( zKVNY@*MG|WNJe8LU-f+1e0nImY!z3%%~+aQ@TDYaow-FW5?Zg$k$HpI3>$Lahrk~m zrFqi_7)vubc$({*aK)mY@ir~j@s8*{VX*=AJWDj#A0m{&+X=g=CwbxASA9lUy{Nh5t$>pNiWD zO?3fYFr-fDR(@m`v^Fk2S+L+L-!=|&8<5`V=)vYY0vb%ufGro+c$0`f4`=DYijV_X zcYL9e$i(yQ*IpE6HV0`w#l7%@gm(}8eUj@okcbK%h}%eFp){}NYk?KA;0_fyG5S^v zH0e}zS@ciJPGCe4Mg_$IF&u2fv>*j|HI|q~Xtc|B^N`d2wB72adQ`&JNyQ?RdEWuS z4(VLz-f$~zcNPJ6;ldm1NpgAj%V7fSa`UY%#t;5H38KiiI1rc7T^PB*pxd$(|F8*B z(8sXl!~EN-^RW-H?&Y`P42`=`bHihRM%Q2sB%yiwlN)%2lyUS+>!IjA;D&maQ#Hz~ zgQ`+3x52$=b3S8}>8isk5aFvf(3MWvj`WD^6pCbN0bwsYQHTOF%)0mWdfyLlijcb{ ztfU}Q*e3>MXzWoF1F;J2A7YYvaIG&SCLu!SBSg=_ep?s=!_^K`M+bL=WA z%cJmv3OqHzEQeCUr}BP*#JC7RsFKWyc@MvSeytgIs)}Wtj}EE8C~7q6Kq#O+I>aQ; zSD=FwOn4s9zu9ed^7XPjm{E$!@Md7xAvk3(FM8>8g;Mz!Q!amn-*wUy2ucPmLtq_d zamn=7>rpjjPoV_JU(3nv*t?J$S!!2GTBwqxN5kp$4`GvIZ~zI;JWCfq34ymD<+Po= zKvsYKJr+_JBbU)cF3DXCI}(h9;IE=7{W}RNwECE+C-{X%L)D2-Z6L};Pu^Pr8>_0w%dQGXG;VUg?_ zTG0a;Hm<_AVu%LtlZaY}g6ZyBG#fa&^C>CXhnyzt{Z$C7{r5Ej$`F^%(;fPPV<#8c zJdk*;!<#ahg!lIXi%0|-_x$gMxshd>W4ol7j53Ug(cBYFI@r|@^uKPWA=DNG zX{E~HM#Aon2N~s{>e{R{YZkg&u?iw?Ra@1SPNE6FZGrItbzs4g$=N1E4vlCae>S|? zItoAF**9+-rW=SoTq@-_w?rK3fg*Qb(Q+?W2o zi~so;h+zVdg;G8Ge%K_cfFW>!TE3;P0g-0sYmyAXS$q0}AB2DR6NRS}SxRZD6T0!u z4=b_q6ZN3B@#Com;M`(AlW{HiC%xpHyWKjk0ag&VvIO?qf3dlsk*pzTk2h-<4Eg-a zM|M1hXFm`Nyx>S3@fhWR2`Vd(lraYSo3w^x{u2<82!ijF9sAQLMEeQUhB8lkQ5o$Em7AaWF!kw1 zy$rwsvvRP9m7~W8{VWQ~wb6ID<@FH4S`*KU*?sH}mHDA07uKPy2A`8AyceFfdMDG|wh(8i;5j8ezQ%sXwpO3{8Q#c0q!`zw|SaGG)e&k^KnKC*Ye|+a9`S zsknD7-46DKOW!PNl-W{hvl@Z3ev6R|P6qs-fzmf7V4=I?uORwRbQNBYM?c>&xg-pJ z{%Ow;WFC(b2Q|snJBA=ambQj?^2#-`R9-fUm?50Gb=Zg9B1d&3DAg-z8gOegM)!tT z6jfZt*NZaNI4=xeHG))|8)cVm#f(g{7}VkHL-FFx@I)VaoxEK@wCIuvaA${bp$5Eg zu^XzBV!_{(C@K;mGy{d&L->a*{(k6DAm!zORhc~xPqaJFTiP#pT`KPUh9<*Y z+^sYR?uzr;Dsq)GYo1G3W0h$Mw6E4+$Jv#+Ft(U9Pl* z^?-`+hRDb9o^?s4p}n=P9w(t=6#_V81fKa8F`}uo1PVLVfj|`-=#FPC0ZRfiBf0z~ zUCLY(4-dJ$w=LySp2aeq4kq%1o``K+x$)1`TzdZ>;z1rPZs|ev(fm588-Q+xaNI`Leg& zlNvIK?cU>(DSy7*Fo3pr5ox0Z#^9Kh3-%I#=x| zyen9r(QmjuP5TM>D^qBQ;LQ9?GS<`H*=VS(?R|;sa2O08doarR~m3 zCkm@JjaQA{b>mp+43mV~$zWzc%cyXXP-7SQyj5bUi}*$5YC``in-Rk%>M1*eh{=4qoq;AN?rTJy1g?y(uWo zLEcb}WW;QCt7C85l@6dJkxEamvY$tS)R0>tzCEpQ0d4C^W6R#!)M!XTg${E0Y_yuP zU6x&2762g01NO4ZTQZn^8~K(F_H8+1Ki!h6QA1obGHf5VZk`k)vHg%taAPE7$Y{K4 zoLxD9Km6uZ9JrjX{pj?ga-fld&%O$)%v5zrVcmo6T|apgKbgC^ zo_AkMMBpt)_sIWTG1!nxVPI)}WA$f5O4>lhQ5cAHnDW$B0#v6#4pI}klhqNb#gmhv zlkmjwOcMW6(re--gMb*hUxJ}iA`})h=K^O~UXqJiWsU@ThaQz!oP-Jmjmv5oZ0KmA zXW4B!<%_KsAY%=+ZtB}3<{en&-35q7}uvqTC*nYW;P2z+4_^r?<~MLExQYx z8m|p%785HIx+{9(*bHA_*R<-Yror_(B>_CUQd{jhIz9u#^6;?Ir12K0KM!aUY-!?K z%sB}gy1Vf9gt@K|eEBj!q1S`RyBB#8NZcGcsRqm3C ztcH4vMEac@j+V!iHu%mS4N`@IQeWiB?pUAv~s`wQt$im4Up3XD-wIK_27h z&jGns?2!>d9|pHiq@7}4B=y@w%`8~M#vK#jxqz|TS+C`J|8m_yjV`)|n6 zpN3Vxbw$r!JU-J~&%VWptNphSj8p8X2H*T&Gm^^ANto0GZo-(3TOtulO_U*44qGKh zl!t9OHnZ6T;Izml*-X{R*Goff$H$Oq>;L&Lfi2X7Cj_JomjYILjKsr~qm&z2#w%=q z#paq$JWdrI5Mw~a1A+Y7D3Z}S+aRi}_z=*pBY*H>VmfO{2Q2k&tM|pKBW{zT1X5Wl|QybT9CHbhXc;f zf{p~Cv-NrUAyw?yJuooJZCaT*Hp9WF$)r{{4nde=PrC{$nb_?p(z&)QF}$TWq4~J- z3Jl*gHXPWL3U%X;ws3gZBifN{wpI3Re(6MR1L-0-<5WTnfBb$jr)2XYbLA1$7A~<9up^h)DF57O zh29;4LKNzcjFgC-e1~8;)d3XpP<&A6TqoKg!MpSdmEB08NbRGt)a}&F)CvI0D(}*n z{Za0AlQNUz9N)cG2A-7k5RCf4q`ZbLJm?v-k}cMolU$oX*xTlw!!W#dn^0V~QR>XJ zKy<0kbFn0RvUXid;Z8pUes3{6xDdGR#=nPas4L9yaM zP{Rq$dS%aSHmRg}Vhm`ja)|B(Z;Zmi+`R@iSL@<<9zN~&5Mbs#ZvmjrKRsG$Ytog9 zXrZ}ru+*VmYA!oCmmz4q4MmwdeQIr|7Wx30U5rA?*D|kuC1{-LtAVZytB~J2sEvYC zbt^(vEB@}?6f%!uEpw-Vs~wzh>wQkOo^bp9G31zZ1MwY>9D84l zu)d60#`KjVKbz`UUStARPz__BG6W|)b}6;XD9Q@+LFqu>Q4jfw6tO`e&vo#o zzKw086LA{qC2VBdbd5!F-(E&UvT5L9%|h&lS}1`m|@5v$d` z7g0H7UbC+LZLT-Hrfx`y@6e^-f8C0h2gQPrdHvD%fd(`PqazOokZQ@5^mjp>%Eejd z1=N{m`uqku8cdL&NpbUt8g`m0QE^7)Qcqyw$sE(0^0wcUA8bvLn@f;c<91oCAhn8U z-i$54kg;8*==yNvqvhIHlpiVm%;|hJ^|Ih6t&3wHi`^BnK{qoGQ&5M3g)jZ()r8C* z+S{T?mJG;XQM?&PPAZh0B}^%H)IYb0!kyKU`niHyE?NmcZvXodLAbiEJv1YrwavB~ z(>~ul{t+;E>?ElNNu~dXTge}SyO7SX-I&3+IbRIu1X4QsfEFeD&fPfBKX3MD33EH> z{T%ymqC^ZU&gdLCV~Qc{kh1rX>TD@z^asUHwH$yk$q^SsI-iJRq&5f9cQYe^Mm<4b zRw+{akG}ZDcf%k3_CE=OUM`|LN{v_Xo+*LXmpU5end<%7|Yjs32`d z>o}WDh*Zh>oJguNT_Nq!)eqzA2YFSYO=)%kQ-AE~y((X=P zrbI2fVN?JUQJUdk$PQ^C{@o#z2%T2WTo}LzI#c5zG$=Cv{-(K6H*tg5961L4s6tNf z+l~ylAw~7l^P`Jz2Y*r3ChiLl{$rPcGRpVtJfDXQK5{dka&Jn?4fAC}clUGH_5NNY z&DupTMnAyEG7mf;fFgXONIclcUZ?4zUt-!n3~#+ayn@ejg6JTMTG$-{@DkMVGzZXo z(u2vq6#Nn!2xxpYNMV30W?y5l&*1Ul32^K^1sM>{uf!++35#3j{Oaf;3C8DZy{)xs z(0O1BbAgj{e~u3Ju-1W?A4as4aV|=;gcsUJah}I*S+IP}PIDhn)T zAzAxoVR^FHlPSzaq=8jH9gW`)8Uu_F+^d#vDv-dd+X6GLTW9X^-x*&yWXRM)|b0+IZjX&`IQ>NTX|H2$wM}+fNwgHgFH7uJp zmk>N6W5ey%v=KD$QEI`}s3NRNp-%Pni$$906lHXitsb(A<0BV|KC;{P8|);UZz7(_ z1_S4r6F6h_UZLjE97USUJa^r#VXx+?)+1DatpMb6yaI~kHNP&#LQenh8}AmTf5O&r z<(ZthkUomoDaA-r53Nss-y;Awg3{H7TN1+56zT`wLU@VCod}#dW(R3yTG5`hL`=4P zZj@nW{Y+imRnrrbv?YpihB$N(ie>1vClXCr{`ZEX_w~cN&s$`y^$t!q1Hf@ zEL3WMD_C%#lW07^ze>;SECzt+lqU{xAW^9ImO!cZpOIh0@ehI9` z+Ery^bWF?$-2gp>p{QB`&wkaQrz5CdS(-AM|gqrUmi+YGVcXgh-~nxMXh>rY9*6Q@IEsXw=s*HvN@ zFw**X&fYGeA+RT15coQ-h7>Q2^9|=z{;iOQ>-B^r?BHs3)wmhrSWfN;c0P^7QKZt` zvg%hWZ1gF_;%<8(3zuxAby+X+rsi}X^$|3a{9rHU`9fJ)(KrBNc}pFcTY#(}gi}yw zZ-%GSdE$W4?t&E3NmTW*BXdFzbx@2qdS*$!Y@5(Hd6Gu3=G1Qm?69PQxaONzbU7L+ z2m^&dg!`hpQ+LBM9p7WPdFuWNGY99J1=&z2iX$rypb(%7p2z4KS{b!liG9PN;-qN0 zl^+l$pmAjc{0UI(2yEuTH<7~8cXs+3vx&y>W%!UYE%Qf3?LIc-9Y^2YhMZ(2VuA#w zr(V^B^vDw4q4ws0y;N5^25jA-Kd9ezEa&)k#}nCJ?cr=6<IW0v7TiWYc(7v&hLW|h`I zq{yx+@&TGwJtopxFL|PFdKZRbBnhj);EH;$du#6U3xeR;>gkzq_o>}f^Se4#(xM5t z8{?~BK2ArmNqhD)%(&Fw#cYIPLbV5D1*MS9kyOiwr%_FR1k{VIUCUDvO~U;!Psc$z}0uZd_8!? z;Et6=B`}st2(JDntLppAhd~r|#jJ5EOLoG><7=6OKIHUT9f+6Q6p2G3IfS#6hRqq^ zs{_c$OLE@V)RZy{Qqwlo)VOCNy{I-SwQC}zD-s_tJv!}U?b}%_vn`2p1MLnnA7dg> z6#^W%%;fOk;{wX|mD~ImX6T;-kb~axaT=nGoV4O+Xe2sb1B>y;q7=Lt3KhfUfVd#! zMtUWF^S%}-?+trjIhT#(;w__c%#DBUumeW#FGvM{2t;|PJS^rodC;3uF;-u%B|j=2 zl*q6jl|qW9Dz)M#D#f!^nB=HVJR#Da5kCT$OXUS1$e-OyGXEm6M#5%c)@Th+hS|Vg zB=b=o;Z(=$0~H~qu5JmyuZ66!Ige>=aLYIB9L^V!KA%fIz7`87osfpda;IAu9RTbM zgT&eVKu%F?lWC2bNVn5C@@URq2o`5_uZ*gja zq-lH&zAE<0+%@fvksB22}&^LXWwIY?u%@ZT)ezRI-E`=+4dVzt?`=`n!x z&O7l4edRTPS3**2s*Wq8D$#S}fC2A(xw(ai3|ekpmD_@nibw>5q4TSR8`uKsOPZ&X ziV_!{R-z=W3)df{s!6oOEtC%HhD!k53Ax>vnCP%tOS`qG)!i{`#q&`cwwK`0JkCgp znAjvb#x##6M!#j6SNpOugx%+fpW7d{n*@F@+Zn$hlr+G2ZnV>#B!g62BLKdJMRE3J z8@RoCRXRVe&kqxDrtkNovJJ6aoX?Z$XxvQyA+?#NkhbN}O6}H-wSI z_lA{nQ$n>uBc6dL9+!%e3b^C9>95W*mXD8$8~q-m(aD%k^sI0d&#zQI70JN>Q<~RP z#}SVw+5i2}XEbVb>HafMa%p(k(@+^jc}Kw+d0&`lG#vqy``of$V(j5IgYUg$XeY+Q zCbYYle`dSBn@m>3jd6xtV0Odlrk03HS4jI<7_z?rd>r2e?sOQ)2tb%Y0pUOzM{(Oi z={!w3^vsTaH9jmu zi@%!Z9k$w#*swh$Z6rR7To{!jWQTejwP=6BIrbF?q^`vUw9!>1&#Tc6D#lWb=z087 zeeO@{ijLDo1)lxm1MuSetteEvYpmYN$J)=%_&jfPYZ?MB-6)A1s2*;yKKr(^<*;)9 zEY>WlJ&-d5Ez8Emi|5InuOpjGCY<%e8f;XsZQ2m4bav}8qnFOkvERPNm?qzLkjQ*T z=h#F1l^dEH!|h&bm`dZ>VmZ>8_;n$vH?jJpi`LU+Od*w13h2`V@;a|#_sMBmsjxqe ztmRhpl5IqxX3QOz1=jo%|^Mfj~n@b8vGs;&(cnmLhfl1aJ1Y2>~GZpRP zH?FGP9B(>z(R8i4hBY~+;wmZcOG(zIFO&bfn%Bz$WMo`uHGYswtlW}cYau%FWGz1K zTz;?C$!!dw3GgqO$cv0Q0B>hG4p#lG^hbPWE_7On3?LQfpkA41Pz#S?6CC;E5fK3g zD!8`TsDOWf;Uybvs;C?%c29XJu%{ofB3mbOw3-`wnBVl=%#HN>7A2;jkPwVB(l93T zo_m|WXFr;p$?29&xK98z31seEvb@T5`Tkux#i13@3Wyg@ZSEnUEKM4;3<{mK{a#bH zEkX!?9Cn42bgN#0`I#_F`+0k~7>VQOilzEEm)Gy}d_35!+ZCzP`}(rISZ849 z{l?y&_H=%p!Wm1Lar~o}JLx&a?yC4;I(CBjHvAmnYhTenu2< zQ|Zv?3{at}50)G;YR$F^SY`LwagvDq+o3phW?^pc6`f7q7Z!uV6Q;P90~&n94c4@(akurpm;PILms;5KN@s-=ffUt=i5y9K2U z4>iW^6~j8cEd&&^5s>VHcs6KC!QXU+q&>Me3;1Pa3G%xQ#-&P!{VdsOUVS{5Mnj(N zPRb~)c~h$uAwMtsYQC|;XZj`AJe5G}kPXw{^wdyTp8xabKcoc2mqC^VY9JuA-v3F3 z`}-e(;J+{i0slXH#M9Kt$^QRgYFH~E+yKn*OFIf1+y3X;bZe+}QKA#Dz`uL@ul7Rh4DLNigx z2#)jG4(MxJA4JIY@fTvmqua80G}O~c=3J~zfF^1nWt$$ebt}L4gBJVK=F8K7A>oR) z;3`qQRESL*$$BukTe52V;X$W_G^O~UhE`JW^J^w2qgs1#>%buPE+-OcX04PjN&5UY zkUv5XrFdOHRMXXzh&-8NK1IYB===1&o6ItURO^7RKkt{Z)*`uDuqaFTz9{zT4?wGw zSO1P(+u>M?j+1T54(Q)@+Mw4yv!}p z!DhMN?(|XQWo(SY@dExnK0cbg;4zf$!oT;`ZW72KS-FM3zr zg7tWZ5q#x-q5tu?GW2)_+<-FeAPf%`K$tu96>|^&$l@^95R6}&Pr?+1=yhiJ^7>6m zC)0@l%P^KokIFy^LhCB1SsDx|Sl!(0_!17?JDhzar1!Ej6vO=LP5&+c{q?&89KNsGaVbk%m@_SO~-rOU;E*D<|xxt_WHHc#@a*W+lI89j1P@ z{!MIt-w(Rox~oDU2oD>0ZUJ+`{eyldf`HQo`s(5R>TlL^>qUq!rp$iy;!M{57+te& zp{InZ5RsoZSRDWo8_z7U`wdd|zPs@V_;B~_C;bIJ^BtlyPz#f{*R zj9)n60eP|(oz#+O{JG{fOULxhrgvx~vfGlTr&(_vd%ak@7LwjI^GorLF2j zqN5^orHCjNT{KN{2~Qq1He{~37qNid0vWE|cp z2rq`-8M&-T5jze%Q%iB3ReVaCnn7lyy=X(5N=UO^NjnHZ*{KT8xoq>Emq(C)v@5}n zw9lcdHcT5KZ2w06$m7n#00F{+xA`Wde{ShIeCEA^u`P@rKjAOGzz&q0S z%D@w7{<>q!8P?Vq*td&Tt<=)PK(t+$n9X!k6d}ejMR?isT)5tD$ZT0+>PGC?~`timLt9$ z>w5}_gNNjL0Kf6=sS!8oss&y|UR*L8pI1SnQ~`5vwdQTU#81pe`v;Th5i-3yRjWX>$Hxsm;i#%`ntt%VvJ|{X7B^ zc71*rcE2tOdOz{rUtV{8Ub_JAL?kpEA||YDUjU<#P&-OX?gf`?bT6e_1ljA022TJ{ zEd=vmJmaxI=V5r|OzG1NEP|2&??ERmLOKf1GX7UfRTzX7P>*u-#t9Pm!r)3iJ9NxC zyayJyQTAo*bvhp(;LKT zLD67EeKLrOnI%KTkAn@4>&Ln>jsl=?DU_>3oZGLKsOFcTo+}rhR$mDcIKZS?39L8tJJ8HWd7liiTL6u#`rO zS=sLT`gXB|D;Axu7se#?aMAKeN}fK6!d#Eb zT#YxeyI84|x~3e}Vqj7LO?3cmP>7PwRA^ou!@%wh3U}Ma8|cT0AZH5BQ5Wapx`ExC zdy(c^hJu?}1#%5LQ!Ix zs!63|Qgt9p3Y)3~eF1_Q`aRfsH?s=zr`Lz7~xh9QPdo>y_6ZApkvLmqL8>m(J$oR@?=v2t}k ziFKO(Qa?GmfNU#WF@P%MU=Ksqyj1G62W_jW$u#}rrq6rTML~FHdIg6CKMEY0xcf5K zsk`(oyK^DC^87p4a|O^MvtA7o+ogKO!a!9_oxC`sUB=50TvcownDWQ#q=tzr&vG<< zIEYAZdMrJO%A+_UDE&s3Yi*LSLOI@~q{I!cE-}qvq6AJ#S&wlJ46Z;aG&HhPDY=s} zsty;HVZ4Cz#e?X#mL=4a?`je+Z1`N5Y-|b5ZHUxsVd6meLJgp>YXRBX=3H7=64=x* z$VBh#AJ>WRSCRA++36GH>_KO*xRX0ECK53Iy!N}bp=wPtFIm%UYi5S(>4Y=~s9j3p zDC*#5fAor8=3uatk|qbfnSa(dY`-i!52zg*=+;&4!=t$=+SIx3lv-Y^+0nxwh(Qv$*-WiPy(x73g zFS%(dDez(-Ro#e7&}Nj*+0fTAjH;&4?IubkI;UzS$qnSqm$^`Juh`%VEl?G?9Yl%k z1+WhI`ynpAM&XUeHQh?8ol067``?w-#0-XF)W-la1{xOb3k_9A(3JdsDU?7b6vS!P z!bAUL8b9#F-Q4y(@FRw~5jcixi(XPxJ{|NSRP6{74L7tD!xFeE9Z{_V)-*9ia!fi) zs-W8P#}Y&QNGUF=v+d~q(yWm*H}sOyM6&HW%n}XP*)`s(+K+rB1<6uCganxD(o!qC zZwx?mI|nO*SyuS3MMGs56mP%&{tNxONXG)XRDy8O;Z6-T*AZD{AbobJmUP5KNfG*l ziE2mV-OT95ij4c^1i-6s$%6c+>83X6=aglf^||4%gwXcK=i$Dw2_X}+ecS773xPWU zl-2y}c7RVDwZz9``-FxHmb>pOZjSmkUqGN#;zc$9qHFV7-tgfrfx%>A(ABWwJfn;I;_vWM@sv~IB4BKKAQ{hu%tu_}P( z*i*jLoE2`7o#|kF8iz1h-K2tLRWg+T>VirrlqGF2qReE#-c$jOKhGCc?qxu5?`Bfi zpRwJYKYV{rZiwx37Ru>;2Zu1o4L$VX2GW$7Xi2R*sCH+BbF&am+T-wMqbFoaIm~ z;xaSF(?Ee|K!Mi-RcfUOACZMScPkbqM+eqMJ0;UhQr{_glk))JJQnUtt@JJuB=6vg zW}!}&=-3R8mC3yNiU<@vTiW`T-V zzhI6`C!Byu(wV@muh zwGX~)m}ej1c`mk?-zX;zbHPRX3h1)yo9G>qiQ;u%qy#5 zzNSB-X@^dg=>g!uVqc0ZawL~M!u&0I*@JfOw$u2q=(VPe?uFu351!k?*m%lRP^A%V zAfRN=AWBH9Wh;#IUR{n|##IYM|H4q@+t9ydlsC6E92mak?`MUeTJjWLBc*fMFLTiX z4E_^Jx^l1X07;(?gamryKHw>X`t3?)uGL3lpcLpjhp{6jT z507PE-u9a{W68^P^`Z95FM-Stq;X-brVu7p zIJmX?+fD#fsDb=2Visb!~mb-Ah8PvBAArYHBG z6bt{8n3Z_st?ve`OVAC4p0QTuuRZ4>g-0hL8Q~qWOgQa5O!6i};(OHFjCA(;ZdYrk zN9f~?-_NZHxnd%P9!@vBzs?d+ZVyrHt?rWSqiq2&u325eiz#~WMk3^np6Ae(yL?Ni zI7x3+CrC$Eyc|toXCcIjOZYFvc40`-;#D4jEAGC-dSU;%V@B_wh#8cHGQhOEw&=56 zIls@LL_|hpfvg^tyK#7b(fXsfUwJ=e?tYykcs9`ldL;yQf}6tFrrEJYQLHt5BpT2( zK8OMo+e>!SMw)V5Ay8h;g!xczZ%^1)t?#I>H>bu#@T3Q622;$K0_%HiteUG)?Eld+UN%n$`A z)PQdj8IXs43qHAXlWTwUS>-`ZiNz4zX<^|BgDiHx6hXjn z*fIOQ>Fm*jcsV2A(h+O3Xs7NG|JxI>goR=GpqVf#&mi&*OBlmwi2b(^nj?0nKzSj+ zoGhsql3Vg#Zinx46;(?0Xpq5VMNNViPM)Q?BSiz#EG-t_GRj}YR7{Jg zs`gvshlZOt2o;sQvJ3=&G|DC#P+=KE3AJ`JPMAzpjKI7pe|uXrENk^$ACUI|NbfC& zsbWD&;$*TO#_m-iEWHe923Z%eeAOc(j-RZN`8~t=hvLaunYphn5rOvQ9}^#LkVqWd zaS_I@PT!%64kpTR>x#{z?&Z<*qNz8R3Q1;cB6DmmmUIJ!#XlaDG4`|9%N7>PazE%P z`^=A5L;Hz~*cy0seaZyz<%G%sBT|!TDDIkHgD7SmKb9ODpD3bw6vVf0iN`p&prQ?h;L-CFRS9x376r8y5i_qx*uX$El>$La|c z7AijmMl&Cm`o%*(2LwO+N$+FT-L6*+91UX!fxIWLS5`0#8yTFqnQ6NKk>ao0wFIP| z$uSk4QGU_zhf0-{fagU?e5MRAxzmtOc1BHPd3V=Z;14O#OH8tE3u zs9`5EtiNH$+^TUNrVHw_;*K7HRwKS!AMY0L&OevrT-x66w~m}9nJ==B9?&G|XC>|S zCWBz5<1$9-$VGQOCi?iach zfjTm6e^i5uoD_v;&9{p~w~1bH@f28g7f*Gs-AvStKRs{&p68|T38HcCsRoE6CBmUBlv45}Q`n)e~7C(R6EUwFYGe^$>xafASzP&et2G--hh^zN+bS?&<=_-_o z$ow#W*IesQA8%Je6mNf@Aghb$Fz!SDLchnL2@pL198CVAo$On5$G2p?%gl+Qkv}cg zx88gs%b5%o&dp@|M!(%$J%!`c-JiC2Fq6U{D~mz_oYCeIi%woXKFM&j-k{RaXJ@Vq zT-LW|5Ju^f%le3h0hvGCoK_F)KW~6~t}X8fe>ynjAW4i^7T`YDk8yrxq`mpYb&`?K zii|-Fq+zUZnqyT_`z&ubRb!7VS|h)_`5_VRx_&d;ST82-y2O3{JoaUA!m(tGLo4J# zbVaKGOc|pdKWYD_9~o8;Wk+H04vXf@<$1zBM@KBY?Go=h17tG*5hN=^wFv7m`My?Gtp*E_m=SIw}jr+F;% z@4<%O07g#AWa}!#ia9o8fs9pydH7aNMIEVIC-Jt8vtASNBldjrjI0`#LanRySGO?DKT**aJyL6v$7^LZY$$Lml|0-_fCxu07Db?);;jb+ zK-C*IY)&4yH!)EJCm7pbkY{+tpd7vpM&Kgd%|4d<2;iNgQNc zcldZOu_wfMeM3(@{jTT1%+#&rf8or@N}{z9WoDR~?pCp&+%j@c9;u7RXh;t{2X{+8 ziz|-CF+a~ykYP}#ol*uWflWD$YLEq>_ub(!$IXXKaoIi*_6D&KyI7IS$`)75V@hu> zx=8W-(v6kCOyL|wQ=wx&r1eWl6!`7FLsDY0@4F0dEFygs?=< z;|>o49_8Psp?B9kEcj9PnAm2Du7$*RvGM}RzSi1#LLK?ByUEjrk7xizcU;6I=GudB ziW1{)(ewGV2XL5XyCcnw%Jr{PKe=`Um4*@ZLQ+no!}5G2`cd|Md6IlidP9zsba7&HU|hcxYx<>Ep6tb}y?EO-rf6!YqXz1J*d39J}aE zbt#SFTkOKYQmw6Qqw4WYZF=2%WlH8N)}zYPNB!wP8Pep%&9+O;VQL~(rSJ* ztRM~KMl5(yQ@sQ~cze&MlAufcUPofTJQrUlXJB5;7Tn$4T|V61 z-QC^Y-QC^Y33ga(b)UVT^ZdPccb}ej^Jd=68gEsN8dbyCc0br~9ZqSf!2{q_>uy#~ zX=iCJQ5>XY&PXii zk5O2V-eU>&n|gSg=J^d?iOY2#Vm#_dTRSK|m|*ABT!Dz3|Jc-XLgtK5Ws*hE7{ePk zIHDG25ejbkry?~t2n6(}<{{te|d&xxgs`i=~l}qp-?U4mSbfG<3TD zcRKdOTx1xuP$Y(=!IkLx_kwds+g_OJOINl`WJ)nswZzZ6&D_v!h|o$nZN4vc&*4%Ld1x##bD?&7cFw$+zkZXa#`Sa6}#noec!Un6U?Izj~q|)e(I?M z)|fKQwbH#$fO--24vz_>U6B*<(}UpK-@YBCm{E2g77-vq5dVh|0zkh0-(pByRN&)| zvXHvWNcaj1`r6GmBm-t}7z-J@Ig9QnqmVLj9CZ8vF_mm#alL7j53%>NcQtvJ9qA?a z_=(9FGtPoCAq|l}+XmSK%h#8;qZ{%Ub4iwLmYqWv+n$>tpz%tq6;Fq8EyAziXpgQ` z;39ndzR~{(nj7TBi}8`EsfW~$a{Ec^^)tZj9uY#DssXdKc(kiy*VQA0;7}cayH2(f za|Vw`Zi*Uy2=%>f35>Gy5qI1nxQhfY+Iszo70YhRjbtm3sWA{M{K$k1e#bQtOW;7f zn(NP`y5u}L5W~1J6~?mt0})f|On2u(c#mm`Wb)P5*h=lo9G#Oyj3X-|;TF)C)GRx{q_~lo$ zZn-Bus?`LzYGZ8%I(T*P#H-6^KRLI|0K`pTS6J$SqGIc0MgfYDwOc z+0Oy1omC4q%ZcUxrg99XLiK8EKcK4MNwvPu8~>{uK6)p1gtJ>{{nKf9bWVRjhzN5> z1I;sRVDOZGh&((kcd8}d8~9%jsRT;x&+-rV8kc{Kf)D-4-yiD#8w$)Ub+!L8Wzy0A zcup-X`V>}zafMOb7ZlOKI)->M6Hro7@B;Czu0hR#SC`)V=EU8CXi%gGZc!Mu;noprYq!8 zt1xT}D@o&)rS0GW=qkgoZ;4y+8nVA+9Ut#(G4LLj)7lG&@)~5Mp93(2bO3rpj<EkP~TvrNgp@1(GJI66d5VT4{@qh#?(}VA<37vJRrwq7!@`5e^a~sLOhjs zJ7(1-$C5aO-KJ06IEYHHgjHK53IHJe$eCbSZuOan7u>iveZlRPvWri^>|Iq6M} zeLB$p7L$%1Jb4q%NTEf{Kv7b~W zygxH~6-~xAfU72}($yBD4Lm8V*-WpP5hM%jxvsgr(;{wcc}w>43*=uIq{y-CXJ3y@ zf1!Eo=a?mXf9fQ)=GOWIl!s4(y-1{|n2OFfGui6{^IxANeZ0Z!pqg(GT!wG#8xEh> z_m~gvs|_|dbIm^KErx0;uxAYke_XTky0DMsoZ_(aqK&FhMyr%%1CDyhc2>VfXEF7g zd+5``2<6U~HD9NrA3<}SJl_v~f7My!;&U&#;jUP>>2HuC;PDP;=BhyEnpoJAlurR^ z>qg+&gi|tEo&1(;gIpA4i39qwxbKRA{G~pQWqO-VZOS)k{09X-BXSKg$ACLyr7->E z8=nPexX9?G3e|+VATaE>h$s+yj(1GIO`d;SCEL`7I>m^?Z}IKv*jkfH(^;LZ9u`6c zyYaI-5lqLmhVnj!gg%B@otT%Ji1d#Bj^$q%ADX0M@&*S1q58N-`5&vv{w2f#J^TM< zwf65A*ZT+KW%8mHxC|(*Cm4vJ?V^NjQOSj7#X^=JZ#Vj*gXoHeer3K7{|w zv4jkuw15>AM**4#V~l$D&9nOKm*F4z2wCw0cN(#%1TKh_-)kLWXLDp zQxXPJ4K8RJTl*=_Le6KYdO{G+e9)JAOq1Of$K{GEg#`)3dY7Vy6e!HAdH2TRLw~Yt zU>AX9=GB9ztNP+f&b31M-kq-*y-zI7ja)wvvWfd5T1{kn4UXd|p0VXz|J)&mZfk6} zz2QY^J1tj{Q@3Te!B+h$)?g5CeWV_dc&9; z3EODH=fCFE^_*3$|+h|=4Uir9AA^Mjm$(C zEkj#yyMu`EB^d&d0Q#T404jr7DC8rZAwvI` zL;YVxx;|j>cREXxAF)`WM`?Zjh6&|n>%p5qEE19pnG7NF3>w-P9T?d{MdWf7zzG?Z9W2egSWq}I}*?6+lSW6CVmoQ~^gy{RxQt97v zKNBC5!Jh^VBH0egvRR_Re^Eo;gtAnF|0=Ci08UAg__nFv5QnovZ+&Bkt5Eq0+(vfd@?;6F^z|WkhUeDjHn8zkAw=NN z&q*vnb|QH=G_OeH)`x}v+Yeg7RB4$ZN7qVrM4g6(p+w2AE@C#RZepG3_v03kpz zw?Sz@mAivvrttSb8D(PM$~NI&uc}nhtUtm>sJZ_Sg_`Z(kya-^5-ux>uy*jRROGZ7 z05&at(yWWveZNI;b&Rtt&l(<|C0Rq=)>W!D7+~S?KaNUa(({b+S63%|##@oUckcjE z;+DIRHp7b-c;&6a3D{HaDxVLM$FZwpDdl%Pyu$xem*danA?9(mUx_O(OaXZ$Z0}J3Ea;{4p&2{1q(CQJa=$`nC-nDR(UEZ4VOP%t7@@2C z)W*>l9UR3-3=}_AGDV9%ob{kieq)HKJ`(zAqla+8Ee1Ws(2q24+fX4wp+)T4&X-Ws ziED>5j$1jgFY_tVNJHWa)q#pDB9_8ZOfK7pxPmj#@QWZOy%$MnUp3z5D;S7Y5g@aa zkwxT%s^0xWgCsEBw2g`S0V1Ky7G>}fQT1%qpP1aY4$2BHT~K$5?F7!)#Qhx~2i_C8 z4g)Ci7G8SGMJ2dcG(=`kKkg>E#=Y@ph6vgG2H)-#;QM?~yU}F9Pb+p{n?O=aF zfv$U{z2pN5>i;uPFfjfH3JPN3AN?1~+6g)&*t#)orv$wflz*C@nV#9jh@L2QRZH+u z`F^O@BTFkRodJ{RtAQRaOmvvweaXa53G$OYj;soyah8k+K-xj+*Y?kb zj5qJkcWRYYPW}2sht5bmB&#IJ0I@3dgT86De#ANxK!Yy+KCN9cUKKg2B!Me#F`7Ao(o<}n&tWPP9lOAu$GpG*@s5iN!D(4F{;RP4Qx)GJ`Ucdn1&0-XKkHLogV{O#Gh2CWp zV7gdT2h;n?hE+&%XsayYs00=qshk{r8_0}HYpq0`AZk;87d?{Pg!gV)kI~s6njTTS zDSh98GO+XMd6$os=Xbu)OTt$YcGj4$PkvwC-J^4m0P9fd6fSsEcQ>%1N*t{j&Q&WIv`hJL1|Fi7*Ds zxwgiGp(*)U%lJ4WuS5J2&8W@~tXANq?-lR^`1pVLAQf^bL#fsrX0h~s`fp=-p9?bf@r9k>D^ATV0s zWo*^H=v|sfgSu>ozWZm|jBxxJ#>d4N>p*KfPp4$?o=McYC`~vIqWhMBhlk%qW=`<9 z4gukG=groM)J}{|U5O9%40AXVQr6s=%vyhlCBv=zq%&m~fc&M0tSMomLHngg54?L8 zq|CAK@y&GpQI4bAbapJ-!6nrb$8zloSWaz%^Nsxdo=GZP)smShp)iuxU{4t-z^jv7 z>~NLfu*ineMhY_ZB-N4Vl>R-vEY)3C5Up;9z+760N*e>4zd;r!zY;#nhT?uvK_P^5R?c(- z?#xHx!21O=Qp>p_{2LJDCyU{BbOd_E6`AlF^s+eYka~V(tmR}C@aCdYCe0x`jY{0Je5&jfJRxY9Mu#m-}*mNlvv!F)d=q!!DF&qau^XYEY0uUs=zF zLy)wbiOe^piyk1OO$j<_{uPp0DY?V1w~>@QImgkHkEvzQrOE0KH|rlqrL_oSRuE0u zwhJLG-u7pqI`H#56sX91wW5o%(1@~XdP;W1b&{l2?Bcpypw>3Ir4B*FQX@m`rMVGd zFaxYQ;E$TZf+>67g#G|D!$@pJ7eK&5*PWA-(U?JYMF#+SO?$%q^Q$nnkMg5^XTnv< zrN0dYFz%@E?6~Loc7r#JD?hgi86QZ^YZTKWW`yS=F;$)*k8Ua63g4XYB;JK0*>hi-_Wq9hcNdoYd zKVRU#1uG~9_d8dk!oEkhh85ds=)`T zUX{Fw9zFY4LC=ANoG$%5DsGfBB@d{6+7uYT7+Oa*CXhM z)Mh-vqE2aeaV$VAX3=DQ{~J?zJD>1xKN6SFe}t)j_^*H28vm<)!RVjNHK#E47yH$I zLJ8NkUQ0*+@9bB!t84y0>{o=tXWdD--8zP@ghBtWUm+IEd|QqBywlb~Ua0OUw2KQ| zbE9_E#gTv^q3_9W$0rpY%_Rg4Aj^(+c<>mx8Y@05Te98XsU%@HT+bw%Jl?;+*Hw>P z!0@0*!q62x23aY1wR56f@qMK^b{6#(>o)C%+)9DF`+Xt;r%$iwJBasr51tmWccEz* zPfPG|Sci%?nKbM82Lrr@hd>{EH)>@yDHeY>Bo;0ZH-N0KW7a>)&Hzs=+FP|^-X$nd z6FW$FLm%Z8GR)EapdhACFjzjA^XohVFR4L}v!Uxr7jf^*SAOd1nf-PT(F;?WV*2A6 z7fiwFX)FJ2ZgkL~UL_BTG%fxlM9S9Qh+T%2WZ$5Lm3HaH5kl^?a|QCR68Eto=&0Lk zrDAH}F0^uT`^1A(ydx$Cw2!3N_+k`_LdGXBNoH1 z%M5B-W3(tW(oN;>OM-kqeO4Jx>Hj0Ph(_{^$6u-ttJ^?EVhJRMXU8gbUC&*W{oN8! z0g+V)zSa-fa%8=3gb?>jX!uZf%nuH;V&uP4cvR2qr9>HIsTIDn-1549RYHFj0vYdTa* zC;bcIgLR~VWT7Qa)P}pA8K>0Ki#d`!7XR=fO7(hs_eJFLBOovUgZJ?k&nsX=~lXd12{#>W;YH8wqbDhr#sG zUG?gj2x6jK#4ml)?WC=xL+Aa_(ueQ_9Mo}JKXh-!Bw2ap153Qy?J^m_xhq+zS2Y?X zYO+8loGuwEJ5EYwR*b^Vn|;f}iQTb)VvV!YSk{yjTGPGOZOu~obX)ZCO%ii`3H>z^ z3km^6Hcg&J0NJgqSsS@o`>UxRu6!-ro*6Z))Pl`*+2EhZBgE-ws|0(l@G%(po}0`H zSx0(b5(7I)9qVXT-bn7J3o}`La#epb8CqiFl!q>hUrYxWThJcx+0Q zF7cPmzZo7kf|re)ne)+DGnMDI!-|4y)Z@>PFP2Wzhw(BMm{gqJet#*_I*sUV^) zGt3ak%W@BD20ly;F(&s@828iVSOR`51VvML9O(f*?rM%6Qvy z5QJ+xQHE}g9-DCDK_2w2ijECAGEC$GruB)l0Ot$+M3ib-wsc_q0mRF})iNWcH1U;!4=-A;&7I{sd@_skgcBw0evphf zTl72{FvSdlf-#nZ_yKYr>Uo1f4xXha*%0$?rMee5?uw)=p&X+O86|1q^ocU&6q^^R*{Q`sDFvQ&3zs zG2XquhJt%OEA7|KXF||zP{;(S7MVc0I23l9z9)1Z7k}Qt^(Z1eTs%Bl45#jWUio&p z=Iic$Fs(8q6yfW1u_GYw2CE$Z?Y%KA-~AJ6Wyv)&2-#qIxCM*LAg&C{O^t0$Md6RY zDGu*;TcGcczvhR`3IoT^_eJ5}C#vPggcFg-{t?o&+n)`Ct%X(u@1_d}oURDf>7SR% zw2?Dcx#}RIHiQYeVVijHQKk#q?QM%FY4-#W%0bGI--%#v+<)>C?;b$cT${oxC>UkW zB2FbG$BYW9jp0k2ic~7L2f4byFI5zkAm&$z?|uS7wY`E?^2aHcT*!gn z-Ww(}D<841pLxbB&Ky?3!VpsoZ$h5D3^1H}GWO{&V@9=$On*~gg`Wm^vNJD|4f%>toLsP=+Fm?jPNmf4+M3q0kmj^lF@|{sClQ6 zGijXtfhfTyl~XLCx3)B)_h36i9fmN;9Bx^rcH_!(ur@64?$pyqHY6gLJUBs9o_Ju;Jl>9=1`hM^+OcId%WHI~)1d07QX zems7dj%%HN?v#P+1X0PB5?K&nr}G@QA^Y)-p>n`g#VZ)e`A}PsTT4<=3CpyG!qb?SaSnM-@N5~bsL>Xm1iq(rs3hU>f$qvNyno1@4eU3&|evvYYm zUc~dB%(f8QhWeKjyyspJdw>pqjoCGH@RmW-ugN_W<-9KmJ(dbdku%VCK6zkiP&Pfj ztHmn(qF2qcV72VO#J3bkb>yT-39=29$umnUef8}cc4d`*3b#jRK0GFV$U#)$0I80j z_j+iXO=n5`rML+8Y|Et_PK>ivmjv^tUUgCRiWa5;S){l{U`E&ikk`%q3tx8`qMsW1 zIAqGv%3QpI<(A;Xc(Zq!p{1V+m-Ki$2=GM_5KEc6rIox;usdPm>2n9Gy$T>fI%P;_ zH1!NUNki2KXkrAxdV<70eI^H;1YQmbMV)tl*pOwo>F}P2FkMwpxt@mHyr%%5m#H+3 z(vShykN%)Ygo|NFwH&jrVGG($nhZz+S_Sk*Fm5C9NcPVaZnlmGcwi$g=P=jKMo4#7 zYJJuCG{2~gpY!l1nCF-*kfd8UF&k&by+Oh;k%`{Wx#Y+#T|jJ4ueaVnm%jj-!Tu zMb;G>znb*BbXuWc#XJ>O^*#7_nxhfTgr_dzn zl56~(hw6(?CUz)Ni@h8V(4nrW!CNwYg~MJybEWPfTCis2_cOwo``4e-N2CpmeuC`w zZ80^)UDZ3Hlo%g?h*o@|ZCyahK}2wP7cb zGI%P`Ee;HFg=MOcPKiC`W2$l-H5^#lwzHut|In zP=rxVd95J2YC@|}P6%T;W2WTR0x}`D>0p{s@JKN;Xti7PQ1xvbWW;(SuxeoPtE^hr zke;g043ng|AXz}F$lc}RfZ;p57)%}Y+a8t14Y(4Tyv+93KsK2vPK0mxqlz@1H2vdh53@~GOib0mCQkOSQ%Lm+M7EtgYP9x2_1$M>0abq62MmFj{4eWBs@2U zB|PiZV4wVu6ab^|krhah$SfZ1h1&A@m#gvSqq z9U6_j2fhyJ0n&=>M(VZ_njFx1Vze%#otJNCnA5*Ik;62Gu}R+9kV)L#W4Tv@xXFdW z-+^tCcxh)}JwQ4f5B&Op)bp*F>dn$?l;~D2`VWTgV87iHSM0LWP^~*|)eH32_tVzk zo&6JbFQXPThvv?f<#WMgk1y*MC%zhkTkIXavsG8(rsf^jruxBX@eR38=e4Jgoftx&&rQutLJ#mva<9 z5DaS;6=)5}D{)KmyT^WsM1$PdY_ljm!W>Q(n&_5eGZ;|lDZeiu)*x;u4jvK7G_bD3 z@AY&b7fYlgqkxWcyi8-#3$TI)j5Mo#c_~aY7D|Kr~Z*fvr3(0*|5M66axCXZCc->f+&cZm}#j)dpcKTJX zw=o4OVY^gOa(pjFBDfiBjgp=Q$r7`jA4uehh>VLVt8*V^A{wnHw3B0akof8^o))X) zQI&^P+D+qwyzCYV-%g7%e5`5+%wacu3fnOc@X41aeUdBt)xKNcnvvGntYQ%&&pelN z`<8n^(#p3YAh_j8{Y0sbk%7lA*dq$lfZIdbN|JFAB z_q!%j%fDZUHia{j6$Pv};G)C{^-J>rZG?=r!8SS?+qFJX=P0HrTw(vSIqF zhGdrDxmh?Wv8!n3%svYdqk8yhXM5xwydj&=wp?7@4zu-%1NZfaoB|AxGXhqLZX5@R z5-&1IM0Mt3~A!*ZM=lR@y2Z+ZN~;?Wf+<}wx_-%pp6i746}>=k`3`VImR>> zamIYqKZPbzp&m)y90uGYFPUkZm!`;<&1OHTZs7h~E z7ze&iqudYfh{<<#1mI^R8J%qj^eX6Z;`b$77Y{xgU?vUdwPfh&FTkAIve9&v2gG#>92&Q`sD zb@JV)BoDQ$0#dxRC!sOiAAM5iIAICS)_dpKKL?o(mH1j`*av2@Ue{xMKBPb|APg3$ zwi=NdCSTaJ=sa)x3oo>_}tVLCqyN#jVE zyh{HVKdv&;M|&=f>3gJ1czN)RGjVG%g#@X4PMM11vM(n9IdfcD){;+_^-#k8o9b-@ z15&jIVNMA%x|>ic3!58hd1%u%^3f9E_8G;4+w8vTWPX3Xi-X4FWB;ceFPzgO@pSJU z!iu!?RiIUXMpa|5?}T#PEz}*wgJRsRPVOX?XAZZrN1dKh`*+<%ac~UJjB%=@`)ObF zKyg|^g2w#?EpjlTJT8oBAz_I35j!nID1PROeNWvT(p)B#%3S|KdM#zWwk6^8Zr$Eb|Rsj90y=?h(`M1C4d;u#t?!g~epZ|~O z(*GJmVxjXl*7M}XJ{S^&k7^(gq=l4jQ&rJUfVCEXvd(cnAJ7*V?ka4m}uk;@oW7LkiioV3Ln_>-^A3Eop^_Cups zX3wF0W~j@bIlx3po_M#*#80}Fz(+w&*HjnDQ!T6FK2T>I;VB{P(5A3Vpae<@HD*9$ zu32D3M#nYKP0exlTiRGTDOgo)F({^n*oFvig^Dnq0O&7bH@I(F*>LpUqzJIen3t^| z`U|*+cO03ELNt^=3#NNTrzfE;rn%doWyNt(eN&r4;mZmtuSXGeLTgW$b(16xw zVP~X_T2p)x_tJX0?U=yq_mTcA*tX@UX6`S{b9Q+Glci+HhZ&7*@lP1l)w_oIM`t0r zN%*W1OL!q%9=k&?YnL|_?HATmAx+R{cLwQW__*=H9y~!DHKKd1xGXEFNOnW`D(ZWZ z2ih&N9Du5^kZi`aVA@!B>1N6K$3(#mYc_S;OC3-0!PtKQo%|aGE*0WzA&tBxX}5nU zXo1gK5}V+la!c79>HUcH?HGJ4cv3hU%7?5^i(EVgtWN1$MDiS#8_wjP3Cohe5}*Au z=JS=aG3MCrI)&e+9B=bgAxW%U8!iaATfa@8i-8+(U2th6yXbyHJ@3LZ*eGhNl|d3F zy@sJ34QL~lqw8V&U4dn!iW5#{Ql=w>68Ed>NBFd z(%sWi;oaX{WnY2trSL&ib7ucT#1k`o$-d#CvO&X=eAwXi9qyIVCitpl&R3ECnBjez zr!Z!7)<*O)h9#w-RxB7lTa9b=)Z?qjWb!)7QK5s<~Nq8104eEF|SRx<-`m@rPNOd2Pa})$*znio- zFAFAFNdz1>*e@iW1j8EK5R~bT+f>=}J07w1paQ18Nzr%BQObQ?yw~9*zIj5&BfG;kh4M z{kc+T_GS~I)mWWG@4 zNc&S2SxG2CfC*lgV+1kHX3Ua8Iba5oe^fA#%tZ}6Qm|`)AK(-4i%>=#>`=-N@-l0HW!sMXDu|G zmfKhT!kvSZ5-}scg`Yjki&xi@LNuQGkkpED3OinVIJ(f%=~a6ErgEKuZ|DN<&-pR< zc6zM(ctVZbcy6lKM3zB4$8?1{WRl}i6^F<_yEM?)`2A}xSp+s>qF+$GV{uWJ$A919 z+gDQqRC@AnoL*uKS#_?N&-3|O^|y_6exS#e8Hu*iwq+zo(+rcf*F(3c4$+p|ze!=q z9`MZDD({lw>1thG7~>->`;mo{COpPG{vLNtDHD#@eSjkWKi$m%7IYStdit8?mj7zp zW$}+XE>G_Nr7fUbR$f6jrfb?qRn2#6`;*I#5(7r`!xgXC(x{T)gfl0|!kzM6|vng~8oS(**xC=LyP`6(J(sJp%`lS(!RZ7kdn| zNELZi+qLwrT<+^1`^#pCi$1z$(Ipnn{Qjz=R{>*Bm<#6Hi&+fHdQ&$}Ka_EyQy#sF^ssO)z7W&Pni>PLjtUYA{;*>Qm2)aPH+O`@ zZ&0+iZUtahFjtLc_QWutdbDqM zo7I)ln|A}0KP<)WbD?x1#79PRBZEW2k8#^CV^~wkQ7HBqosDx)?`sUPy{hvayY9y;w^Zomj^K&BJT{;8VA?@x`<#EQCLUs z`((Fmvklv}@MSmI=!mr@4zbDp8AVQDeXG8nXDF-Z&+2Xs8BUC|IzqfBw;*%axtUz=`BG_IB1O{MFqzXU%edxi~AC{8D`izth|A3ZL7 zv9HsQfv(!#3BY6b=}VY614+(Ti$Vl44d%+MBD3obeJcCo4B~R**ICRc;dxKQMyDP@ zhm69)!W9i={=CJ!K`E>8QX%9=Tr5-om)87YRydX9-84W;BmX2-{<+1UbMgLJBi zx9Shgx+vzz<6A@!qVo@5_ulW>wty6wABZubDa$6q#Cmp_8zy8{W$l}ZJWN)Iie>%#4mFJ$V3N!XpT!eCdX% z5IWehgqxL`7ccU7d>IJNIINlPU6ISPJuH>-DIHkc^V@yujA&?5+-}cWk_i#|15+|l z2|A*`OU;nH+#hSh{u)iTRjSFa!Ih-j&YD)^MV-S58MX|I$S3bkP_oR72T-7@-z@uP z3E_OjiREpFFpk+45ygQDmg#PPJLb|3uxD^NnP7GwM?LjKi30stbP3sLzxdLX>&*Am z@0ZiOqDGtjujsKC9LOdl$^)+&o9TSSHqz)w7I>LM+Zm)3Db0LkT$4G|VLSL~38}~? zcpl404d`U1rHDrESt(mdGTFV>6ezPh-WP7--Hki`XM~wlXC6TE#QMZPBFj&rcJ{;{ z%@^+fvH7C=&n{|N*=h32{98>s7QV`Y&^{rH0)A@#0O>~Qt*4sHTLU@0KMqtGrGyE( zkeWKw^AQ+C33zI(Xt>;kVEnE!8Zxr66NEA$!lnLLB?U zuI;$fO9k1CdoXdcQ5#_4c=%HcvSlp__YAFGy3RK`@~nt`d-00;+v}DrZ zw}mO9iwdDi|L?3$#&^=wcraJAYqqGSrR=a+w|b+wjoaO+*;-3GFto5&kPmHTQ-WuE zM7SOt;w^iZd?OSQqvt23?nvqrDDKja&Xy|aStx7@gqp}66l7w-tkYZ#`_=^8Smd%l8q$6Xy?*bbZ z9s_UUc|kvLDyKaa0`QY%?ihBRf_B#E)&7Oxr=Xu1Kel%(oa1o%EHuAREi{r}+n(C& zSZ7VW@-%e4rQl+ndy3<+Nh7MIZFPEFsnE#zA*c-=*oK)v2Q=f$Ay z0L^&Dfm8uF6#g>bj@LmQE=@zC(j0CVjTB zi0nO{bCxT|Avl8GfQ^l_fM|(Z`%*vzJ74G+*UqC?;Mx#jJ?P8 z5-XWb#rt$mU;lie3sEv0j5j5v!LC1;vD~*gc@~&g{gJ85QSZ@OL73lPh4+Vi;6$fo zoub8e;|btpB+!&-aF=T}AedS(Dwr8-g*Esxpk-n#v9fWw`eB z>(Jn1`5d&-kiFk_SU)<-rEYzr7c#nzGW!V!;}6LR(IIKKc<3z`;~gOgbdDDYungIs z2LxW>{dP(XOZ0K9Z$Y(#7*9Gkn~{W4-WoHK1xp$=_WKD6s*p_t@YJRkm+JXog8 zOH<~z@Ib*Eh25QzgCZ;R%O-19Ik)}sY*Mj@v!I-_QTOCbSfN6ZG$cSY00tYMc=_>V zIgosy%F+(?5?SE|mr<{8%aN}2lI?fj5%f7x4;bac@X16dY;3{a%O_+8;b4XcdQyTf zJ;OqC5{d(8HT>bQ4^Lo}$gA4uj&5t!1*-?3z(b_2Kc4O`E=4mgw=6zvD{sI1XjIFm zikYi%2*Attc~$u1(&KTVW{Za~^R8VG`Va1_CViqhbP&Y3+h#t|C?}%{`UCi=Z#xZ+ z+a}Op@Y=`bI|~cLODg50mzva3E9_!nZJiI<_FCRQ7%8=Bti+7xu5{)afo({2QfWmI zz?`xkpLjvZhAxVPR82Ri_t^C4i#{+gab!n71UkItb!qW(Z#?uI)=^ zqk6CE+-bjZH;gyDHuUKAJiQFC^ySu1{0gX|Uz0tjy+84ijlX(_Ut~yEgKy7_1ZYOV z*ILxa>Haja6#Ti7|I)+UUw$=@%h9_$;&5WoY@Z6(8 z1wy&+*3`dh^^-xRqe)&RuKhtO)`5o*vt}hutt(??PY(71S$vIncWu0>Lm}rY?_GT{ zPeJ|xbg{I->+ewqjsrsxhkNlqra;1^phAE;UIOc5ME6c-g=_WZ!XcRY?~NtuX#CV+ zmIkC~t`wba0gn;O)qyV?RqC$U2j*3dOn@nPoNaV68O&%=g{uD4bN?T*5CMYrofyJ& zZf9}(oD`3cWRFZ1#h2T`WUK9R&HqHSk~mHdBDw9B54Vs4Z>& zzZ=59e^2{pXY_Yvxu>{hg2RX2{y>Sue?AI-DnV&XNy$W+>+TuEQ7-0Sc>0#;ixOCb zf@`C=lI;~M=&f~?J)c`+`8`5rfAqZ3gx?GxiIqW7HthIu@ZA36{D zvTR5p%48XYj|Kk;kzmQHT;7zr!9D68gsU6*U|Guckz9SPiHAVV8zcYcT#FFy>O9$T^6y_43qQ$j5v{j%O&>PeRj#gkJ*#Q zf4&n4fsdUL5!oBa;E7qM95i&1WQGm^k{DQqC3x@4|#xg*^~rg&NfSp19|@w-9GD#tW!F6dynnXG5&|6%PNqciQ+t-(sg zwr!(g8x`BOZ9cJW+qRRc*tT7R z&Sx>Tc6;6lOa*^*n=D4}wqzGC>v_Sudr_&iL2e!%s-n}!NZ3KzKG0ERjZHr&dmal} zh@+kI7#SElTh(yrw+|-EONW72^+(HWO)_>f6D5?GvU{ys0hJV<%CTe?w$#+%@2D35 zcdsSmXvD|X<_yEE#lEqs30Mk86?@#$R=g|{i``PMsOx*Djh>`B6zMK&`4F9iQYgfn zu_D=1BHVpEnbHDl^Hy$zJwhyrNCEcMbpSxSMO2Gxi->?EKJW!OxRh7`+d{N)eUrbX5ibH7i&^ zbvk|g(q0}Fr4@W!!_4|KLK-E zrT{|@V`?!^Av$#q4JWnABb??DHMo^ON0+6zWk#D}5mpBF6dL->92;oblV+ks0W}`G zI7jqL`6&U+vLRg7F|*TVcLDTzhKO>wmMX{zef%d55o8KbNXVCugzaXr^r-iq4x|rR zAOy*3HGV<#q$$|b3o}UIx&pL7bZ_5Ne*%EO7y@~}R296kfxe9g9q*j_o^-r=Z;{6K zxkgw`3rPB9E_FcBajy#_s}G29F7228;7kx#)7OUj_?$NRrd!|1C-R%9<&$V~m)yDl zRQ+o;&@M!Ud^!i|Nmqb8>zCyv%TfaCFug8M$sglA=Px{V76#Dn z5xv)tXA;RP&I{Mmzbo~j|C8*B={YC3SQL=>NpGWO^X#>%+caZUM#`IWo7S2TSmPcc zTA{Gd7*sRsSe(tRVxBsvi&v}ho4SjXZV0{47rmL%#-Pa;e!mfuxTfS9A5*rpR%@=_ z57k2Ggc60hwJV*apTJgp z!exq>_=M)Ygm&b_y911Zq51P_`m!>u&^(QrIy;5z%CKjtjL{Yckf902ORQFO15WfDh zAxqy$IO7T-3&X;;Q}15dx0*fV%<)cp|BKkh?3yw8kABeYZ~H;|fA}x`2WO~%IxPKb zzU*P9DHp79fa?J{Qg8h__h5RMnPSgUgDaBg(w=cg7TWe ztMOn0B*43~Byx0w;&VCI)mbGU-|L5*wUM^{$jMDjCNlwPD=S?oK*QPS!2+!&2lX7o zqZ7b2mw2!zE63BUOqNVNGtA|c(dm51a|7-M<0mNA-D|hOvPf&zgiaD}!pq(iTvLdX z&>?Gt7>()WivrX2(t{Ckr<={6$5l)3{$LjvEoGQkN>#*<&4{GM;%Elbm-K{YvmJ0u zWoUIcbTI%d)P5EXf@r)VoO@UQWNPXF#pHELMY?2lBpQ5lvZb|x(UY*MpByY<(oIap z`CQE9@6Xgt^*c)`NH>0mNtVEtfONYujh z9IYup--e;0*8{T8tcun5Ux1ZQabQn2x0|$l_U-|AJ&B+?kA2J_3*IX$I4o2>YXcZx zN(fFakebh1ftbFp@^NfI-vX|J0EuR??k4PDp}mDKgH9kJ%Eyc3PCPFo`f1Gx+D zite9dDN3$M>S%idg+!r)Ss6+JFSANf%D+AZ&)ZswEvl$Aoz*eF{M#ibyVuUW z%h&!-BqRs#ZdiVphF#|l6!WW(H>LUtB-J!3sT9mllJ#BJ*3><~RAsYn#keHW09(!D?x+ot5gP%4qxMw8PPa^K_(YAZtKg2FNAKfq!SiFLv}7c@Y!mx&5=#NR z*hOoYFE+9+nm5;;m$hYRYm_C7ELCuxNq6V5B(3l?_MB zDwYdJTV>bkJN3xbBKQgZJIio0_n^7A?i+P#X(oi2W=AABRYCYoa}OR<^D1siyJ!#* zLBOP(c(RuSmF$>0c=(G6rYsq4InRK<*w!sQ`{CkWdCu{Fc&-2MAFGn;KOd{oh79so zfqJQ!Y1NC{&2JkiV90+$MU7rn&x&DCum`8F zBygT4>gh@sd?7{Txc(dJc2alnx8Wd6WT}y5C&J~TGW&qmNuYpzC%FVHY9nsMbfgrZ zs@gMZib_KJ_D8dkO<7L`B2YaIGij7n_hAr)*-i;vT`e7@&v=t7G*$H;vjc3|(k3lf zh;p{AwqSfpuF?LFv7b~_VKwusOi^^fF#cz7D$9oh2N1)0;k5gD@1k&+ba3{c_t6w6 z?>APJoV_@|6Wh{g_23dXpoX<#%Qh|XV2;?H2`Qb1yR`i7>dmBK$`3{!u zUvNxnlFD1SMICH6`pi(>CJ}#hP98pV{o#gL{(VaiPN-IT8&lEKBZU&@BFIW!q4D<1 z3)0tIeOGAkx3JSm`gdt&aj7Mckvq^-w9)t2#NnCl;I7yF{_EsL9& z3Jdt&|)q=ARHUk!jLlgxR|H+qXc<`9_t3bG1o=ru*C z^D^|GEaFuQRd})ib}9P|%6uXD0BIE+7Se%;v5y_{q+BxoDl?Qg=o%vJ&pMF8diHye z*-#9%U*l^ZwRlSC?gt4JRgalCtV6Kzf;XV&nWxR0TmbC(U;WAhr1zaD*AM*Zm|z(M z%yWonIZOQy`D&CNhnhX+S*k8c_MfK$+<{#x`PG})*tmWu1?KU7%s)640qfRvqY!Wv zA1h&Q4cp#)=lbrxnKbN`F{DOET!$&90k$kY-Q|##X&QmGgh8A*>BiU9-;Uhqvh&2V2@m-yGI)OFyxvNL{ld>qriMK$Nvv> zc=5Se1GJqZx@!;wk0?LTnm&*f0W{V%WEnl-db6Ik>(<(?>yLfe478_eb}#2NEL|1o z#|D9isDgY3l;CuF)p;88VMuSg?tFGLGVp>-SeaN@6fPsLpaLd{8a5!!gC5T$~Z((4X_2ON^ zrS(^i+h}%UvPi)&^Jbe z0TzpMrQWivMz4YuP8nKkMnao(P1mr!+aRjlc%QY1LTue|uC|i7=-g2A(2C7t2jlff zCX}c{ONET@-;$wr9L~1tN5>(V)Wn5co{ng4XmmJt9u znm68?lQfI$7OjjsE22%iv&kYC_ueIH0c1zB+p{~^Bl85*yU#45joTXUVlkH|1EiHD ztv$obGiHr1G#xxY4R+}xJ#Z}GCk@%%<*Fp-&~pz*@B+|~y|;gOSA*(%ZIcIXb_&oN zpE`Gu@m`V?WWgW%cQ7KY2oNp;bD1EBkGN1U1~AA#1I2Mtobuo_f;wCx3}#DC0|Gv$ zt=KYPd)b3~zaP!eid6=n%nKgbu}-XVm*gdbHiMR;+odLxowwELQ_$^i?|oq&v=|op zejFT=Xfvvk;|Ar`Hf4!|pM5KJ(4A7X(ck z1Omnk&kaC%5;6GT$Vq$ERN1|LsV}5%Go0eeT)JXCn5Fj4Uhi*@p)g8A%57sMY@d(t z9Y5#3Xcm95KTJvE zoN8U1W#FtqSHh-LbHN*rS-Nu}K!A2HqE+tf#e?^&Wnka7A_yNv>JJJRz{PQRZ%5q; zQ@~nLirTw}<=q?6*l1-XP6{=O*3ihB%jmo73A$05G`jSo8O)^{Wgz$i*)+1nSb(BRP@b(06HqDv0 z;87&Cuy+Ii_poC+Y@=$WHJQXGsaAb&?|Tf4K9*rKGq+7@`Sh@o#i%V8I0#bF>dmUA z+QIDsJE4i0C&n~o<#KQS5+HEkU$>MMPhq5>p^Z&b?6fIJ4W1zFoQhc?IYvE-7Sb$`IuY6Y@pA6PyCsGE zfW?jiK0qDkNC}@ss|NCzE2u0qh>MnsO4%H64r$0n-Uj&G=$!IS(G*_z!{aGUi4N+WKD#4BcKk-&eLWVnX!!uj_ z%)zOLH3Qb%WK@ZO0EJ`*!;>5l8j2mwI3}d)itCCiP=X5{t?avg#QGB2hPpW)#oKPd z@C<~HOD8~BZTb^&9r_0C<0WX0o_HGA)@_`a)gx(fvN%nSvYbqbd929+&u6dM3U3FC z=0gKIBEf!|Ih&EJnIUhZ|2)v%4tT4VZHqq_#ovNTOs#j#HlaoFDGDf-pY}&wduAlx zs0ON;5JgY;xyqSyvba;tpyC4r1un1Y3uKqbg+9R28I|a^h;?vDnQTUM@W=~2y@o(s zT1l9aEdx}t=2yT6M?EVglk3v=j2L*Bh=D22f#TND2bip#|dGJ(JbYKe_-e!7?>P}ZOk zxeg#EJxF5gwUU3N7zmfR^Su|(4K^*;L4I$HcshA$mfm-?qli}q^Y@d}q6D(uzMIkx3^j%UvQFf%}N*B2n)CC%YjYh$H zPpnwlB9i-|_z&ha&`3b}TCbI{-@GxU5(nTSDel8zv_ z2&Q&=w-ji`ADdVN4@=yNHU|#u(lESM=+*x7!!Mzt{&S71^6 zXIrx^jv-}-yU_NcpQmuC5W2ax9RW&Z>80~IeJyxHFx`{wILs7Z&cV`Js__q)*HC~L zSyK@_k$LT+#1rs+!>{Y$^rAY>1huwHeOcsDO9@O{5f#rjJiJCZeq@8B$4>poYI3g2 z2_k7|t6rM3#{^uB_qIQSa+po&Tc_MG7@IO{a(y|1hD(~QbE9*2d1dub0d6oY_Yw)CH8p>B9QfAnnW#sz==-`Zm5%h@h@`nJEV*C1 zB3|*A?cWfdUMx0wK}~Gq-5GOmuEeCq;}^i8lWAr8+BN=dX+aV{z4U=bM*PZ_~+Mr+oqenFD zH1|mXXMoj!K)-wKZMWzkR5#@`4WUC6NZl`e z2TktRp0??Ecj;M;aohnXrNRv>db6gP!_XEzX7riXf$a@^J?q7WaR;@fYzbHr(Ee+C zUpC^p204`dp zpVns3-&qt8R1pQSFPGKZH=A6R?8gf11{$tOhAmqP`Q#qyqD>YLy&MO*{05Rkk#-Vj za1T=*5oTjy#fHy6u_8eljIk_8e;L~38fOCf!2Cu#%j7T$e+%m>Fht{di3T>Y3d`jm zS%pY2QFhC;49>qaU8am%WkjWnjZPIU=P^h@^_srFw$i-6cG00I2+&o8V^Uy?#xeP= zI%bZ5ET*Bm^=$2}HQztz*h?#wy=OKAKets{$@#y-gWc^9Eeeo z4?a2d+9&e~Cd_`Qcnw7IHMZK=@^)E%Q0|4HKMc-!?+MhKe%UeYL~7?q}S|tFY&N&|1INd~c2I2p40k2~TFaS##w46@Zx6Qud+1i7{e{8Q2%z z(u^cn(M0F1J7=Zj&U_2UJqtB>P;_h7qLukYo1BwOjeU4`Y-rnW^lr7w{M)TDHSdje zGNKCSM(`7Hw|_KTY%IL0QW^tLc4m`|ts(0Jj0{8IDaf;v}-vZZMqZ=~rW78+L zBtU3=b1_P4A;bo39G2JliwIAuY^||lsiLVSmUspLfr?nzf1wj{ z+)e?96e$*?N8ze{2>%aCEWA}A*6r5_S>->~&R>u1+qb`oLH~SD|FWQ{Qn!v-Z$|v6 z*8Raco3OvOP(24mK?m4`UT*}2X*HW684kH$*cM;cZbvGMPh3*ndVe%{B2$=cr;{VF zvl&U-8Mk{HkGK(#m(!@%I8;}Gu5NrDiTPD8nxh9E|6!>YkJhHGlVi_APrUlUqG~0v zQUj?4!BPKg6)z7p35$7}j69#{5dknSD#Q^)ul%K;!=qUELFIgW?JgjVit z@tyIkHX!BVv1?kxsW!lNLr@aF^>dA;LNg!b?Pd_ilJ!8&k}waUOQlF1Y?{2dyx|tY zW*L7byJ^Zsd^UzlArtjX50C=HZH(!A0vVEDPDK>6^Q}UKR-=%`3-%Qw6i2**s;?86 z7X0Kuyu9?|G#BtHAQVTz&DE}tZ%W<(jPlfBLCKfz-GOWMP8Qj|-=^FLQEydnpsJdD z)x{Z>XRY(-{d$$m9V+m7UDC4CFJE5h5xagJn}{X;xYn`X*v})n7Jc^4zVvQd z(f(UQ!Ruaw%Y30bKPxR|d4)L>-rh&aH*s z!`KCJPhdp5lX()>B+n9QZu?}^ynW@@+~w0o@vPGEa+C@rBZrQ8nrIF*dXaI_OY$)h zVCZ(%O(UGiLnGXAdDh(=)~3u`mM`4ps5K<2%6ZNNINaG=az_|^B+-NgCopjFsLnt7 zEx{j)1Qg(%?-#J>&vw+Cw>Qlwg9^hFt8zs=o3^(|-kUMn!0dkrL0H9(9S)qpswd}< zmV2F<7a}uk7s-nVw`C0g-qmwcqNO}gDQsH_hy@TewXNsvSzuY(tmrOQb(KT#@PO(7 zughei4DGK20E90}&XMSTU}vj&sDfyS1YN$?_WaUW5d?-)BaDY=pwNtc7#1_#e6QIGj!q8g1ckL6{P zAJ9YdbJu#xFgFn2WXT;E*!IZJeig)C_5*31>1GL`581<*k0^@E2$mi=zvLSjC>AGB z;q;~WSvfw?Mwuy>aAlhRgo+U5z! zKkuHhqdFbv5CT|+BlXk+2B%9!EZxkOpvCtC0@N^2taCBPw~A@bDV8$Y2&B*pY+4ip z>Bdm1P_!-)%&5gZC7k-(vl~Q1kpLg-R$3g^H|Yzg6Gk|xDsWBZ!aS$xqxIU_0ynRi zXgHx3?iBZOC26Z%o@cx!-PDa5QEZB$IBqsp@M!BbM6<$g@w#YU{)~%PjJ$u2<0EQ` z{5=V=sr;_Uey5@#A#5DpYmHW8xA2QFES?^KQC`e(_&g0rD6L6h{B9Sd6dXmkfX8BF>=` z3@$pP0I#56L#2ekT3Q7GY-5fQ)3&0woSN3+c+c~5S#is5|F^HxQ;RH#-fEP!!zX>0 zeFp5$)vy?pMv_Vv*^7Q=Wgb9TK)g!6Ii{$wm9xKd3vGj0o!_Y~EA{Yg=?6dG#+TI6 z)wNqHIy|pF#*k)8M!uVw=5P{*k+fqe^mxIJjpH&VIBei1n}OzI=j z_u>BBO-31V@g$_kAl(3Ph8gVY*pe>@5V1y4KP8ln!%Fmy>AjF=n;bx)=OW!@`UhM@ zJ=*)UL72|NaWPFpc@J&A{aVUV+z;Bir%$V%#5)GixI283ME=2$nl_lmO;K3X`NJDx z*IpLq0m~R|nt5hQ87%KOrqL<7T}KXGWa@HzVcuF-{|P;D#H76+FXR*h=g(;6;i#Kr zWNOP@ZbTgb_C91pIRUW9g6AA)@Xa{bee~6XW;iJhpRlyI(gA zMqX0FiDDIkSva973v-1m*{q*gA~A@m#_`CZTkX3w>yr(yLad-uv+SS%DxQ^?MnZiF znsus#y5(cj6win+Sun3DZT-*L0<1sgRcO#;l?*CZm@>kwY<~c=J7tkWz<43P&Ea&} zyYOneqeRAWlYe$WttrRoWyK z{Ka+DLX{E_4+;TlY|F-*8#*#nz#NkU4`ar^pDgMU9RvrhBj3L3k~N2{UHbJMzC!|zHoi#h?yiysEU=FCA(ye^~SUiV#y z*g;%)?+ENq4tXHj;oPWSNZH6R2`pku#<}T8?Zd=`*v$h7`Obnw(UUS?(%G|iQ8p_| z5@#Sz;o+A=$;|fgk|yW5f>%q8_=*XGg4&3$A`TYFV(neg@ONjRv?ux%&F~EH;$T<| zz>jwwh?}(O#k$_RuMS|)E}afv2shm`GbVd6c~{%;Wif~#Lu7KOU9vZwGh@Nt6>zQg zFJc;8QjY(V_EHxnqKN zoq}{A8q=NTmh5AEJ%D~vd-dJX*XwP4Z^~_yF;WWv2pL65!QHFG=44w%2pLbLWbIV7 zleN<$bTc#Z6o*$*&{0&5`hdiX=C@k?CKhYhzSY5xoO-=Ca9{X|`{VSx4lUP~I>&T!8ISsmd zQL+kS{TBmq9f9vEgjdNXw1#!n2m5Gt#>Fk~DzBf4Z@uqPs;E!4t`Q~^_t7xgwRel- z_cdM4S!Th>DtC(Xg_s^+f)ZkeZ^7?IvQD#rI-J*osMDtn)xc|N#$X?;Qjsvrl!?GC zTkD)K^#_x;6Dz#~ehp(@xRe#ehre_T+1#j(8NPUY+xUOi=uv#trvHK2@XxyRpSD&2 z5jrO~C*{};i#>+F`n(XGbN}Oy-@LvSF?&EFqY@56^c$k)AXUajMWnXBhL7tvsKw2? zFL8>)Zb^d<6$evFYM!3ohib5-GaaB}4sqrbl(}+r`sxGO3B@web@wPIQ?P2T5u#JD z_MD#3km2;(6!4x=&}gnxw}$pB3;|LYCD4By)Ax3-@opf0RGD&{;&h3r+1-rr>0D(F zQoagBaSXKBU4>BP3`Tn0VBqg%==Rk_m8AA1&_6HrKkLq&sOU*$a^y5mpz+2i4$;36a=z$gqJQm_u>5}Ad zZpf3WuZs(ozy^BwZpiluE}E^#?OD{mc+P=EsU-Wr7veyNsaOpZE4Ak1%bt1eR2F+O zG8lm$OT11V(H1tNwfE_ji2|rIDJHXKaJe*9U$eDjixFX zv8Zx&O0rm^@Ade6+mV8;#peU48+C%BRKlwVoi~iZ1GHJV7_(S4>oht(mjIgYe@z3b z3lZqXz9s={Uk%LPO#}Wj|K*>z_=s0v8QiI?Itjf$9VE8v-ENZ)K+M9uk z7+A3|lKyl;Dj53(A8)-Pb2~;*5M#ATu!I*2RcovT z5troqR>LEzVWj<`AAy_^7*c7VYS;)yj@=olWtCOGQtSha&O8HZL~lSt_HRBUtult$ z>=5)bcsZb>;R9HmxXjPK-y$RD6_DQu5wdxF<0VjvogIGZn=>e z=5t$Jquc!b`kfv~wl5>XBdYLr0n;zhP+D%Ryp)cxYLGCZDmjA8p3hgfD*vr2uC+QAqFMEhV`Oi#L0m)nj*V1ExkitL>IjJ)C8?$)=J z2GECtZ%?S&uV}l*Il-}5v_L}PeK9#xbC-6$P;wS(g>11)YUt=yrD1nVAr5RGC3PoI zegY+{Z%c!eDMe2-YX#eH@4r0i5nl?T0ak$=q)$GSKga=88?r?^T+*W*kb^p8cCT_a zW9OZsa3FwKbBzWsNk>Hj%@`d?5}l!|oB*YarBt*TTPtx;LM70qluLp|g)bI3PwMW;BO zPG~cdXi^&r1yaf}(b!L&*u)2FbtmsyQisi}iSdlQsoZ1(gvfKB<#%3)k)7E*?6doN z=jxWV`&CSCh>miRJn07BJb?Kbryi82*{tbu(dHwzH$ecb_g*&~w!*65QB$7I+Uv4& zP$wZ^_H;D2d@bUR^2mF+s*dkv>KE^CzerS#4SkU%lx9>Ccm9fQP5duoF81i4lMZan z`F71mHNar-1*prhoINwn$8!#`Ac>_={PgUoOl{628*+=XvG82`AON9E3-#JM4Rql(Ow(lAhE7tPHBv+q5ctljL$}Od9-h> zejEF*ST604PUp@Jrhum)Aa>4nS`z%d3)T@#{+LYY1uK2m>^?H^Pw$EDO(0C)p~<5G zi<~}-CiHkTcQt%a*K@Q(}COkW=0x><>mE$sasb*qM zgk0)@0p-KChQ41yRTRXTfLg2u3jt0fm}drB1hX%G+{@<344{LsTkEWN{pM5zD~>{> zpg9)AoCI%DVbG$gGFj>81`W78yZ3RV+ytYvcO8Z&Wjh(3N8OWggSs!v{Xp*`@Aowe z)w^=_PAFxc7;+x=r@b2P$G>nHTXeM)^aJrX*}D}!=2;7lx2%PoNs?NIa*RoK!!V$&U@52 z+Z)y>Aq6IX>tvpvzFtTIK8oUnxIo5PyufBrP>r#An*}5Va6OYu$%`ikksS5h2dv4= ztRxp2$;KJCko?LUHnF%$#a#EffDi>UHNEoFs%Xn%!X|w>k4-zD+I4PvV?0<%sUh5R z^j=Yk0_(B*IoOnntAW%uLE256lX?<;Fu+-W?x-4+_?@ zQ-mLkbpS9x4cw)7=|KjL^*Lf7ANg9=Q`s|E+;ZetnO>`3DhNHV71Q8}n$~U! z7B!J5@wT==QH$ro+UfTdl=g#qnGa84O5b2#S3UJSW@7y=MiU$yB zz^vSx-@%cQr4c)nUKK2`|1MP2<3mArwT7lbY$<_OJyv`J8A8^P^nPzAb)z z4Wa)}c*eiM8UOaZtjrCKZ5)lY6{KzVC@{KjsqyaTB~%W1v8n*ct0ba^LLh}{IJg=8 zkvO3+E9IX)K?yP~p7m~g*)>Zhjb?2Edmg6+1BPQ0$b`nNol_UgWZVz3)06NGL2$Qj zQBQ~|rdm3HoXM<=>{q)F=$KFI{aIu}Y_1&bNIJLH(3#1HtLVA)XQPnsLn|7A#4mLj zvd#QZM{itoF42H5pH_v#&RcS)qrQWzK;qdWA_Ml~7MtdyH($EJ=?=OTAfclg(^JKi zFP~Ov*4-abXz(xH*H?|PFwGgEUp}odXq#GCeJuK4qL|fF7@(P#C8x10UXA3gF0R3y z-GwOPP_3exG@Q_xecRE`mgt%(r}_@|Gz_gU-mPSs1b+a#NFH(CUeHYWS!A;z5e@_*yO~ zzmN??BQ6j=>LOCsWVeMJ-f1rmzNJi6Y--w{6+?o1!jHq*W$(|1WO2+5%|GwAL#8m$ zdwsS%ON9c;FdMbfaFt=S3=8(DYt(|k%X{vH{BYTt*0Ih?6_iqW_Mw!{t`j24zr8le zOIiLDaqBQ=uYj_XXI%@AV9{v?6U1WfJP1~1KuWuU8%Uefqy2|dYaV^)j)`t8DjShu zb>TmpTKoRx)SB)W4kZXhr}Fh<%QS{5!1i}R|1L)TT+3DFwD9SwvZB!!xzP!oYiDb@ zv0?*>y`a3EyCQuysyeY1xlOcEGsz{ZmH1+l@cp_B&NGW-$+Q@#=~+9<`X~jc0yA?c zjI!~Z1>B{|Z^~MS{3;U7pda-8jBWrjG$(=#hJXQV2Xya8wO45Cj?++E@r8 z?FnE87vC}L!Yi?m1ip>vj%1XGaf+fVy>tMGiYnGR^$D=^L1_VoUANzF)nygdBtTtkbv|&dQtn)o z>IB*WqSyS+Nz%h<1d2j1pds(9bz`!(P#Npdui^MT$nJYBymTB}znQ7FNJ#aPs(bTz zgO}i*vuUZ&DK{qs4O%WIOWmbXQ2taL$s)TE{vt3v&{MxPz35bGfumG7AWxnX5e{I> zj+juDL@U;@&PsZ7G!VmZD>}Ec4Og@apB}upyrCaZ83&z?KXKXZe`ht0L(=|%H^Te; zm)Me`mZ+WlS8$s6+ZO9fvGG6k;r|Fwfd7i<4#xUM*2e!JSSe^*tnnlGBgY&c=CH!!|0@OY4@!n zOScD#&uhtgY5KczZL!^^j=7=hMefzqlrFK`o-D;TVZ>_M2pg<#MJS!ZYfWa+2*s4A zJXuAoW?)O`i>R>KH84R90Gh)cx|z8aJ?@EJ$fyKK-(#)_e7Kc4^=2*oH?zqn^(D~3 zV`NKCjUm4+FP%qQC)PjX%XGt_e+;A7jHZRz8NMy?wewEwNz8{~FT_0SLth@NgovV* z+Q?+pl+Fl}{tkw4WO2G=D=&^Hi=5YIqt|-9(h{}yZ<#EZ4=nzL0Vsa1dk|BMHU9q8 z*gg2Vm1+ydWdrs(zujrEMdtVGA2=X0Gt@@J*Ez#}@#y}pmHvtC=Xz0NU|DInY->*WX950wJ4Rc56a5i@! z9-c>%A(PqeykX#d1<#S06SL(-9MLYn+Iy}Wg(`uy4d$bY+42;;=Afn}kf#i*f52J{ z+hWXaN;6csi$$n7tHz+h!emzTv`my*ty4bQ5Z5U>cLkG&0AT!OwVezqs4)*(71eV+ zm_P1n^sR+@@cSAI1iA_f`XmpHuZq%+!IW44U+aW~ns1%PFm>y#?79H8BTZnx*Q82} zDp*`ac?SU4fCpsB=Bcz!m1j=ugtJKh2|*>5c~qgV;K3sPzQWifAN|Bp2^HA0Im( zbA9jRt<0rSngvTH8xU!h%n~W*CLL_g+^LNUMiOJKaRAjA8d35f1x>EC4$11AGaE6r zo6qbz3~!kGflFA&-#NnRoMO$(h^=lxbl;nt7W{Rxx*+8+psiD&+f6 zCf$|w;euv;xv64~mhMiRguUbxVw!Qo0&|y{*vdK8VAuxMkpc4icONB&&Cd4_7d(nVc{DWfbUT+p z$TAiv*W>A?2()TKDtM$e1}6Q0n3hRc;ui>!U|H^704*lPzr0wV5gC!oZ8+~5;pjNi zk~G8@(#st;;Y^B>T4b|=U&Bb&BJx~p^Nem|&Mcz9x zMgY2{sXLKB$;&VpPL5k;$-Fqe{COIX8sMFBfHgg=yuP;|P)-xm%A1<%+9DopA<_Ow zrpbBo3dRN3`EX0}#K-K+sBIsx-sa)0yw2`XD1&OtY|vxjh0WxHUbLxnx$EXD{q=qR zg3_y!(v#gPMr_UIXi%S-ztuexD{&;bHx^)K{}X(&M6QvM_~Rm$e0z38C%7P<0}k{bMS6B>iCxP4BW#N@Bq)v{!x z6yvYvn8sT*i{*5>_>TB@+yU)Kd#pm_Rs>4|usJauVy40~7HeL|RGU$`S(Y9FsCb-* zhMbtuDt@&NA(nQy=BDni%$2!5;3eElKc~%N!ZY~nvi%bklXTw%5Y~boKtSYP=5#Ylnqrod-StC|b8{*F*eKMyz z{#o&A`)zFq*0O21p>y>V-O?+(%m)_P~pj>N|20=z`O z#stiJP=q&S$gco@AKW!%< z*a#;!McwS}uTnx+g4sLh>=W%2*>ql<`qtc>$XykGUS%r$EKJcG^D+%fxZEK0wr+Or zJ`+O^M(UEBf0b+`6}0%%I<~(Tk%M@~P6lS$w{ZIE>`q>mshE3>Cco&7`F7lZjBeKo z7*Bu>m`L3ueyV(0bNS&s`_dCr01#i~B_3^!Z zt=JURXV?qv>H;-+MX7n#GnKg^OsC{z+C4k0eEc;rls^p{gaqA18t+e8S>$HIQe`iO zlG;vPXWWj69Yq@#Z`T!|=6i+f!>E%2$o;h#PX$WYqjH)&(+;wy+);+9yK7$16C^sO zA~lDlK>)c~ilH24C1SjQP(6ZdnYNjv#xQ|=DEJehGHkwbwNcohE6y^H0-~k|)YOX* zQ+F2i-~}-<0D9VVltoEsl~pn>$|i99QQ4p?!D_{fIlrn*$t~Xu)7|1&Is8%%&=goD zF>fT2%v=y?Q#x+ha@q_#K|3hG{v@!Mt-)RhmR)9p2GByaM0*O+l zZaD2aaPMw3K7X(T9g%SfTV%_&jM5xaw;bf7^-b;VudsL`lJ6bxRUIq;=Z@wd`v-qh zBLC}h|9d}U9sd^$5j^#v2*G*B++iNCFX9Wwg#zlaOxXboovR+%Cz=c*?}7y4{wNTC zfUzc%@8d&utlOCkx|9#xt?w11q0)7bGwKh&4G{%^yJ`0+N0(3Jj}kf^>c_Si0a+{f zZi16=lzTm>y?hDH1?eojQNPJZjbp}Fgh+v=xa?cJ{Pg-7L%~rS%#a8{m6r@R+$tm+ zbGssZ2|suZ+mSrr{bJp}!g}LJ&F=JlVXLUSNuUaQjDN?24Zk!L$z#FBLD)9+H!%+nbAO{at=avii^-@O9IM%X#7 zdxGt)GA7f09LF0PkJqK^GUgMAfb_D2pt$xPPKW=YSdD{>E(LNR>2xwEI$7cyJjK;`qfuPaychKypo zCwj1Z4C&w#DY9&Z#K;G*SqmKj-XroM;95rM3pF%aC_5ROh;6m8y?>l(znuRuKA0YM zS;&LmH~D4yDizA&RU!oo5j6|4C{TqnqPKxp&T}TWMcv@HEEE$h#h#ApPS}4y+R4b9 zyC|4wO!)y(e93=MB;-31?`6wlL*a?Gds`x#!}tF3JXd3PI^quW%}xUwFehDX^>L^d zEh>IGUeA^hcVF99_t5HLQ#PHYJ}FQAb`^SGo8mKAz0~M+=_q_)o+l;H^(d&Z2YiR2 zq2^Zr5I!*D+}TQ4SE>7Hl6&I!^el~NlM2%xsy_Rc?>EQJ(dt7E5?C{ zZ#uWKKw0w3{XP6s7cZY_c?QP{Kau6*z{=``VK{kxnQD_H84qC;ur%p1st6h7%um(0 zPtcgyFv3YuP*x@%e1fC|Oy%1szhr`xOJrune18);y5Z1f#Chp+85ZRbLL*blQ1!4q z{73@a0{l={O$Od9&Nt1mK7~hUUYRF#YacB+8AQ%J_D~Y^DtkY&EE{nLP}oCC^+&K( zWKHH}H)btD0Q5xz;7WB_kMtBtz(WO!h(}##e!`Wa>|&b*<0ELm)GBH)fre=)!g8T% z5G0;MaHr=oM;ysKGhU5;gv@95RV&wn;#=i_-UiAvJCcp@Wi{!8tmlV>5Bu&Rmw_>} zU|?%3I)wO42k8cpStNfgPMuAIz_Ej-HD09!lc39C79$Mk)*rJ_u5LE zHa5<a_b*GDy^&F~l@=#WZiFM)ntQdJ}cHr^+KP%RALc~m&q)Hc^QWlL47{BhQ~ zE+F5Zk#Xa>QcuB|sxG=E%WMIx2!F6#5O&w}Y8Mv)=(&EMqJ(-|@q7LzUe1PoukIB0 zNGcJiEv7YJOVD(A2$;p1y9IZ55AN=6!3h=|f`6yex9{t|_jc;NuU^&r0e`4EoW0jvbB#I29AkBEqTA*x zdXsO+2}VWaZ+lu(&G9~SlN8V~UYb0p$y^Ciii{#;bEzY(P_oHFhO>DX_YJ{b4(ZVi zKKwl&vn}VfTIZc#v(Ag^yY*%I>wZiop-c~B|}8s`b%loiyk=Vig2a0Ng--B(r30Q!(M_F9xh zq~Vvp+M?IIa%kKdW?vu1+DK^1ikrAc<75_Bh$q{3RU|&%`C9Hx#JuO?Y22zDe^1dX z@AU@k8x2jftj}{o4eR?G(pUUQ3xrJqI5THiIYjds+(sEw5+#N^W4@*0)2W(3h zucMf)S#7|1B#Zi|^yHRHgC+;9dqiiA_@$d6TwMM2>AIUc)E^m^-!NLG7e(bK62}MormyAW&dtS_ z42$&#^z=K&F6m%2tW@^f{&o%#R-u8A0JS5%ztoN}{9cR!fV_aY?Z23yn;JXO80uSD z89UIJm|OipxBS+)krbDn5T}+<7Mqx)qLmMo6_=Kz9;c{Lm?9sdo1h*Zo2+Y67@``N zmY|tYs%}se8!M~dm#6^#ky5@oh^lEH^rtz=tPX3o0Pz2d0{yRl(Ng+_)$4!$h8B)N zN`IJ>;D#v;Qr52e3Vkwm<0Bw!faZ5ErEIMkyhs|a{K6T9qkQjL?}8@^Xo2oL9by^lOe z^d<&^g(crStRR+sLXgXl-Y`zD9qBb?JG@~)#5#zzBa*5mW^M5Heewd+)ZC_tvOL^- zs6mO^Yc)wp8!>Joa)%1N2Rp_w3;gp)JH<69HXJEa=N9N_Jv z)%29F`Xz6Ze5}vE?G?Ll<2{BtdaCU3+O`&)KWJ{R9DUEw%dm=bwTy2pbqNdBUVa^Q zEIu;&xJY|a#uQYU*mFqXrW{N0;AI}xHHJ^VqvzRUzXoD6c_xRQ_$ApgF6@>8gS(Jo zcxGZ90jf?m9ll#v22hpL^)}z6b~nXAtUbqC(sk9g2ao4eBbUAAYxkJ}{|>U^97mCW z#mJ*y)wAq2b9#xj$YO43e&*|od!j_ftm5@%Zcy>>_jl%b!)@FE0hrR?!);*Def&M} z{}K0qzqtSZU0Bgt>)Saih|BcyAwP|#YZ`GPpD4C)V~z^Rha$t0L%~TI2%PjGh6+F7 zNk_ASYDu&!EnYKb9WhgkFij?W{BV=PLpCCBejC%4!Ic=Ml-h}UH>{lbJ|Pdg6QDGq z-OrI=Ax;_I^j0fwW#Ef;T7|?OImR2aD!+CY5ZY^5Q80r{#jj8g9dO_LWJ{pN%xwrD z4GetEA*t7pn+segi!H$5aCSiyp#y`N>Qumm8tFmaKF+{v(M$V&+8cuFSqASS&3*%2 z9<0U=#;*A&CTjrt_T#3=X7ncLTG$eE#Wzb1#59bjj6x#dc{amoujbhno!b!H-_7RN1JMh+>f>V&7I4lO5V-Ze zVVUkuk3gw(*e~!zVqwz06(SPs1s^u;GuE0J$FTP^}Gfzw0C#L;amNXC6|3yX#h|E(Q&oMd=G{ zIgias_QJ@_nO}k-;dE%m5_%BT!^N5_(E9hzNN)&n2JLa-8(w~6*|}bc08u)*nXS|4 zgvyfZE(c@38hPkSjf!#W!U&c;03Owv#8!M>iLYIT(;D}<`vrm$y0?+(s2feA%C7-9 z*@Yafzoc;U|Lb-K{N1{9ie&8?^r;6ix+ZCl^iUkn1z`PF zNk5d+7<}0YVio)ifwNIY(Zg&ZOc#$`d$}pM=z`JIw@38nsL~mA^F+N5Q}Wp0kECW*CoB%?wT;zDwAQU- z%2?{6Hd5w@Nm5V9y{{D!9m*XW7y&+W9M@fnW??X_{_*wv5BA>gEk9Rcw|6#Oh{B~- zH|9;>&6SdjQ$7rqzY{FCGGEG!hMFOkjPt5RcjXcIe31rIb>ZR1u7jX{OCY|Am3IGw z*EFq#gWfTH=P4BHg(h24YjY2UQdzu)dC*JE%Gc>b2WDw!**=&tr7QirxgLN3WO)~8 zcrLk*0*N{dyNte_%cr91)oy1l8(V^`9rJIJx5KQz<%jQUk^g`1_8 ztXR$rr$Xw42`bVKHSAtowJ;67O0C)J&+zyjAa%Rj<4L=)S9lD$CO1aYu;L`+8f!BR zdwgmr?c)QmSIN?8OJ5y7Or6#wYG-cU&e4%LVR&S{i7l?tHmu(`h2tSJk?=Oh4KSpi z3cr$J8Kh^KV9{$UVpv!8uHGj1MOLc(P6T=bs+@m&VGbJb4ig~&4s2aNwO1mW*htSG za098eiCEDr*K6l9WX^GmNQ@n>2cFN5yeNZu2QF`c*6fHf+9$?MSDz_i-lgV_T~v7H zxob4^aJ}dCa&+<}P?E>z4;M41BXkzy2dbs`>0ywBvBs^ zF-Gu$6+ujw*u{6Tk^nF@2=twH@lFb50BZk=T^ySK49q=BO zAorSq%XFeva_WIWIMVKrPhzJCc!1ap9b^&E3nnGGP zjo#zKK>9R-mWQ96KKMIUeokN-qW&fHVEha8_?e0Te_TA|U~KPf?qEz~1pH;_Wb5Eg z2h?qwncFxy7iha6h!qG+mNIi)=@`e|PK2;=bhu-l z=E(MVLn@D3dAcJ$c;C7CxZ3gpp2!5NDadcB7$|<|A-)xX%5s_v>ob;aHg#+7^adp2 zse>|a3rKv^jNpp1c6jmdg$~A#o`-}cgKD7-#N3@D7m1))RhS$OR3xGu%)P6ss>?|M42Bu52Lwea zMzMuFZnbxX)=#$vWp9-|o3d3~d2c6V$vz9yKi%AyDq#Sh+)Y+F26Jbgz6Q04;OS#!I9%rH6uSBgvk|4wa@<9E zmD~WI^hdHJI0?a%e8bha0xw4lWHPH~o|JRQ)wtEqSW3~=mHYAO446D*+)vz3KW8TL zGN$_afLV5+XKik3W9wi{B~C*-y*RV|dzB?FXsQYvwtEAV z@BV#}1$e{s??L&Cm~?W`cQJRQb+@(}6(5tNla`WgP#7AO6$g5_?fcKDXu-m^!a{lk zLu&mj^fr{AcnN@?PyDxE;iv!3FHqgTKkgs1e-$b~R0kZ7K30|T{g6=Yzvc*^mu%z5 z4Ph3&-0vS7jAEUpBtB9zz1xY=izF`JW~Om%l#1KoezhN9lqYDnF|tr+EuRi(hS<`B zLVv|A=#PULENy+Wgj14y40gv|hOJR(9X?U~PNznU(`Zh-?EWH6eg#H^{73QA^Jc-c z&|VdAzfa;f3I%X=y{qlJvWL#3*A;ACZVrRbF_ikijGMJ`al`X(R2%lzm|bZ zKl;>To7v+e>Fl(`JI&BVrw#(1zbNk8XCb1!sanlV8C%6)?X^|d!dNej9ZE*EMGz?M zDu#U58<7oD4R7`tA$>~19%f<65sIwRh?NRuOd@jfoRi0!2Z`kIp@9O+YovIbT0=}} zSVs*a%U78<)+$apQuJU{s;G4HwsB~qAjOXO;tV+-EHi!Hm#k9cJ4!wPs*;oK63icm z#{Ue3Tn@9@@f+x-bPME{cJJt_jDuETqBso3R&{mZiNIHe4tBg(I70wd=(>k#(<;bl z)DrUo@G6rSj?CB3a~b?asYoE@-%N*sHsg~m{i`B)vhQ$aUV)cIP3x3ox^9$p)Vh&* zfXG>gFA7H&ieH!2FL@XO==N%Y-HxO!XY}g7$!bjt<wiX(O#N7uqN4zqEVtaED<639ONO``n!dlCOiX zbdqV-nRxGq=oS7Ux>b;n*~JPUKvjokqoo5s(5DSMMGAR4rhU=`K+Lc7<7CA*G?$Z+ zDQ>>i1NVB(q(jsnN71N6T?sYuioR9nC@;bx=hIYL8-3@``jJ4j8I+pzlWor#-F+Bk z^tcj}U2@GR)t4HLQY~cJZwK2fpfOF}xSI+AIMs;)2BJ0wE%RL=AkLyftJ4|=-)KIV z%?4%nXp5LTMG9{?17=?Ar>(69MKB*zo4na|wg{N(?=E*_tB8N6mqN z(A2p{79bVl%5?4W76h1dX^G~qCLZ*xjN@L%otOwt2Jjqtbip-mM3m;Wq|p`2`P=Fu zQcQnh&0)3iicl{g7JO@HZ0JKuNv-YNf~l~$hxo{rAL zM!P0&nT5NR6sSKK=wp$ZEdItJ^_X`k5`>TmW%%4syHY8Y#x%C}rKOSPtm^ zpW2H6v}6eBoWZpzdV0J&w0i!r5_DxMz+%Jmi0PfONd(FIr5B-SS!Nh;0})l{2rcRq zkRe;i2U|UhfWbOQPly|L6Q3nhoe!6+xgix09lDjWaeAUxgwHZC<^EYKn#XCe?sJ^9 z`q?*8jEi(g(adYGi|g9Z>xroIcQc#khJmhG!FJLq+ER6AjG`dC&N~fvv!9+YqhC(m z!(w$Xz5RH|+zPsE>gNdLe;5GkZ;u_gBX|%Y4!sL`wBo6duXYsdVjZ8*O@vsZQoFyn zO+IYdEc3(e#=%KPhoP_E5vIR>?i0nWy4u~@d?2ymgAdpNg>1WXi$VMTx;KGBQrry`Pdx9-%S|_N2LFZ$VEqF}LT0P&L~inodgzVu=^0 zzn)aVujzAeUFjPPwJ^!T>lvV@WgF{aShTjsx9D9thaFw-(tNvIz=mUgA%qv zPQvH*?c0CB~;)HmY@dpWx&`G_Yxf zzvn0PkZYv*1BYT|zeQQ9_)=Cn5>k<@g0{%Cj8JJArR%u@lC+#%qX7Kr z@(?gAGrBu7&k~=0j)4zjydO&ho-~rbM3&6J1NLv!j{hF`f39)?iHg#;K#QC9N7V?g zoJ0jqpq&!9GLl#*7{(k9sCheQLs5h4_?S(Y@?K}&y7LJE^xNd2)abhnF5XV`HwCaA zj#}Syy!2SRMGxS6I45l^c6Piu$&aW`gE^az+TPzeug9GUytBMvRMk!X3~f5^ixP1m zN&tL;5i6XT4v)S7>Rqe!<_ed2T2+KF6YS@;dw-7VDUe5)AtI`1(C@zRjJbuP0$_08 zAx%olj#-T~`GCi5K0a%9If%&nrGa43@a<{7qI|Fm+uXyXvR>$>;5y>P z_(~QZryGp`7x0|4BIjT3RxO$;8jp*+d!cZrvFp<&R5SC5j(2A6R*$S3xZ88O4`s&p z*4Y(aR3?zQBvvMIBw;_A1&1h#5g;yJkdcxapbu{UbdEAZJAWJoB21WH#tYjY@dEhw z?*G3B%pa08eFsY;TUVQQHEW(>2-JC7j^^*_Bl?-!6*PQDzUMAA@`6JHZ5O~ zYX{pK$|izqBLr(K5U4;+q>s}T*r*GQ_bR-`h7N~SDJ_)b)AlD^#G-+MPAkuQOIeSm zX4=~09GtCpD(C)IwT8s3`NX2u9CiGl>8qpm6*{*64;)jsCKFl;kOjLs<%!t)ZEr31 z#TDVCmg;!)H6sZC=M3#Jb!wHhe&{t+B!adq*ZviG>+|;Qc&AS$n;ETm0fcF*buH0q zeuWM|`%+~wqM+TSFt1ZRgw%_4(m0;vWy`qe=xw>+;__iB+OgshyiJ0)d~w1!2Tss! zx^6mZIY4LZT-`OEytUc)y&D`W{2BG|C8*Ebg1&a1VmTpTgFH}koy8NoaXjPZNt61! zz4V|3sW|GMdxwywu&%!ij-1~i%+#Jc{)V@yy|n!GTUZ1r8VW6pKXm{<#vw;;8OKQejS=EKgg8r;I3#TTUB*yrt}a|hg2zJ z2@~>TZgEQ*r+t(x`N7q)!in9+9t({+qyOl;0JZ~@^VL(LKZBEWX9A(I9mTuX9ubEL zHkla&K1+|u;QLimYFT!5`wp5b8^eRbdh*|^3$PdU1`wDCC#Sw1PzefdTo%Y zP&MM_H2Bj2)EZa2Zy1ye`NjrmwR%F33K$iP;-9L9T zm7Ih}*C1LH6eMeOr+}@e#+{d3JI_cd@*G>zKFx$pxcFCXiXTyi1js4iW|ebuZ@zRy zvxF{psTP7ayd9c^k3`0^KftU;%7y{@f28VLLyv05^&lBRPsNb+Ae63{HtCEBhfck! zjL27%{~!yyRYi`!M3P{=N?LezGxI|z=Qz#Cd?QhW_2KIUW*?7fb)~CZOsq(QEpZa~ z45UJ8X18D5dSgJj9YQMCQWM)@#xvtP(6bO(x4XNS9s`3LHuQBzF*PNnwcZ=ET7a5X zYG8Vm%0=u{3DGgAye!1?>l?9NF9>x=63L!pTlX~4QW|bTU43h?=QI$iPnF2#o{Pj^ z0hy_7Jkg5eT3t=d=yyaOx2gb0?wKoz9S3Lv&HFJ27hD>s5(rTe%f;iz<10TQr1l^Y z9RN*CRQ?Ni9H|)>k_6G^gm3<|3}8^~A-Z;CXFqul4{f4H5{?z^lo;n__nC(K<&z2i z*>l#YUK%0AK8}9M-7@W_g_$;Nxh17HVDq&jz{^iWy-Oi1$&jtQ=%D8_M#Ojrr@MRd zb-P~oii7k_(Sx<^gQCCf&`G8QKIqQ!_wzVvNI(3$&)fWBCAMmskfw60Xn@b>(OvEF zNnZl|`XP^_CgihUmt?p(+}$xOS9++NP|1epv*xw4eiP!eMzOM^DOsdb|;$R>TbjJ=VQxRZfII4kPk*9^e^1N$Fm;ol#H*81i)KdEpVpaStP4uJ)6vbMn9T>sev zs*v|5C^bM^wsdeMAG*`})Q6B8vy*JKhzb>SZt;mmTU{aZkQ_`%YRCGh;q+U z&OiX?5vC?PRA$@;M(V4?Co5@#It(C~TAp@BvN!-v^59P_%f9p36;+5ONVK^H`g0)tI`+es z6Zbri3G`(J8Y&9PH@QX;Xu=@JnV=#A8@@110_g*>0wesaM##jfZ%w3g=6DCI8Dubn z6pUf&Ozdku=XrRJFa$_%tLt>^zMSuQI6t~Of*s42jgQ|vf2Bi?D@&{S%4f<%mkkFn zb9e^i&-*#uvd484@46RE07x=9ewYDp^(_rAllPi%oga%icadVB{BE9<=B}hXijMaj zYS)NQ7-~G1CmMutyUO>d7^h;*oZxAxT%Gi%(@PI8&fP$a-Cy&ILIP+akWVwUM#hT_)hoY_8ah3D~>a$4R6jcIlC~nLC>h z+B7Q;g(zJt=OdEv1c= z4xz%36XMJEmMh%Lk`GHx0~V9H)T6E^q*%wR7%U(=2`8PV177X;jJ%OfKYNi9q`D8Y zzxChBfG_Xwg+2d-ivQj1@dxqx(^usm% zW7Ab|<1zMfe+c`Ha4ntgqbNFen_!?(Zn!#Rrj`tS=g{YV!JN76RdRuiwB=U9AQNKC zu!WpNwHGU^-~BfF-dn1J<8SEJ|6*I`erH<&#h2z|LuAnx3?28(Pb+R=>|FP80O|Bs z=5`*9sCA1gSmhMC&sWY%ho?y3Qht|zGKo^UF1 z*iNz|-M7M*C9`2+Wm`Wu2_nQ)b48cYGr?F=qWLRuaE4 zu6-RC6BeyxV1h0&mGx&48v+)VIh^oG7WF-!w%4%MYwDaE&W3M{Bn)#1um?2~4@Ia< zh0L?fh};EBb3l)rR{-WaYDl+W#Z>xBNkZJs0>{crW(D6Yv=+5p=$Dl1h-S^}(8?Mf z0nbhIKh1a8OT|1#fbsHcUzPuUN(Jt}pE>oGL~tI1#R96s{@+zK)wt5D-RXN3=05E&-gj0&QWKGz}&0h18&}B z^D4ml@X?j)!H+q8Q#GBJv%f?Hq(bRT^(T*Vb726>Y$@^~#wx-E&d+OHFmfhZR)M7! zJt*kPF3!CC1NLetK1X^P4 z8!C@xMCfFwYgHaZr1Eed^^xx-{GCdUp04eBAvNpuosi#!KG4~}5?V-)5nWoY(86O{ zhriO@(B?SbtKi|=(&xH}?Zq(&ztt#HGwYFvVC*!@P{q18gbh;aH1Wsbz=RqxIPu+u0upSSi8+d-meGZjy z00ecN*-{)UZuQisFNJyz&&opbl=JM}i+ws`W0pQImoTK1J?z{R4%aFkg;V&TQG7RV`d=|i8$v6I2+dZOE<0I~_~*jdtxgSah`pc$GB3834E>hN8B_8g90 z5_e)%{q{-La^AR3;S%JUx;6#I)G()oC})2H9h-B%e{_y$k=CZ=AXS15AxW2{V~=wn z_CsWcKJk?BJ#=T$W4I1jEAD(p(v_|BmQog6a5zecz(7FO7{;hwyC+Ru!RC;n7+`uj zxSyiXl(IHyugV)k`RJ6xE9=^Z?0=2R@2S+)NJA_D%HhhBum&EskkSuo1Hp||w`|pD zKuS$7**(8g)!xQtZZEH`Qdp^v+WMZ)Jyrf=y4BQ#j_7gp2{{bb)z<#X?^pTRnufyu zrt=~HYhU7D{U3hO!F2>qB^m(lBeOKOG5re$ON^7X#9=`G4TA~Z)@rJmpVqS^ux$o1 z(a^9nwFDNRRxoWS=kbbsJf5-DZEGZ?VJ99$@$j(SkcH3!AaUG6e^sFCTk#D2RY5*$!k+Nb*)1T%wj z{p<-`+=*XK;!yvGEb)i_?=Oq{2lDckm4xk~M_oHWtviAuW*rhahg=U0oxARbTy2YM z^Z(HPrI=QEx$?AV>&dZ9#%lT(Ic!CY)k~ z=qcNGi&b<>zBn=G*BY=5ng{?-gR>cjK$5A7=>3333nW^~YJjpGh+1vuzdz18I*puM!*=rq}4 z}MPR~FQSYk8h4QVIYMXcAPESzu82x2%5Dt^malMFWiTNC39%#rVMV41J7 zUxE5v=`^B9_L8gJg9auenqEP+dwksP|c%N}aRLvxa0ek+7lePm4wB}eYc z7stFG9@tJ4Tq^|y$gheJrPbU+Jja+hZRF<8vL+i%#?pMlHCQM}VY@W#_Wko9kHtc; zV};)ejQb+}osXt+!fdFZTJp7B&j)k1prq?pWr>_m4rt z`ZbYgU!C0dN@_46uCJ4Qj^PX)Uzjud-06IzXH1eh%*tX|yX!Rd+ zGTB)pA4}z_cAkA-xU6?LPRLeul(!Ia=J58f@qG-URq~V}O}R@%(&R3`2Q;VT`izL# zam!iOXndMX4ew4nk8B>Q##0984U1e#S7nD_qR;A6D1R{>QP2FoU_hgC5PK#a{?S$U z3FA$FRoVL98Q@s5dk`~hwg2j;hRkZ#Ep7ssNSA*Jw`l%DBK?Ps`p>zA?w=?tQt6*o za{AykacUB?CP*OYAhpSmfTcnRmuUie*zga7Z`)Bt_uwmje8tGOKC!8j_KfWV5Fm`8ow&o-PK7c?7x?09%x zEGxf0ywlZ>j>QY|%*T05g9_PjI4y>mT{`J3Vw!ZsE3_YM$f-%K2eiy``;<8gdq%Vl z+P?j`*Y%i-ZvVmO!&>2N<6!wyM>t2yR_z08FxiypSg|^NlAVnZR9RjS?+elEhc%(= zVk}iJe{RpK2cxyp@XGi3K&JHl#I;QD9GWJ45I3YfYQ1hMe+WMJ&3LMf^M|qo15~y_ z1e$Q?Ie)}PFT)5LJ-{aFRSCQXAAJ<98B&6g1ZYwWVT^AdY6N=|PIH z{Yr5Ix`vLJ@Bt8E6hEj%-*E;_Xy(YjqPhuga=?vS;%C(LF%*rDRt@`OVYU0BFdh=K z7ko7>(Ph5#;1)X%r>wSPdg_i$JJ5!ICT1%>*8;S$d77(X&@ zsCs%%tZZj5&qoN_tzE?&`{g*T$cFw38J%pJY~y)>kbn)&u)APfoZ=^rn_cXWY__Zi zV??g&@f9= z!u-^b3HGNuQQfyN9a2RCT!Ol}RSS1~G72dw1OS&$uUC6d_irOdhC{Q-^WiB(aVmM# zGh7j#Hl@Z6(%ZY?-9xIIO2nWRnIRYn2JP7ncjTT(2C&H;`a{4`Ix%qM1xcq^oMkqA z$KfWHA>0F_yD4X&Ey(heunhfIj10pZpX2CewI{SK0=uf48^2nGtc*bPQ^}w8X&y@P zE&)ceSHG%Rl0PtkVKF5HW|wGj;BqKjBUM%Vj*s49oV|&U(?-i?c(yf!SOGDkqCdt_ zMbHju{aOs8m|_$&kd57kaLi^(cTV7a5L0*RGMajW*DpGw|4d*FbWM=;aAV}$NykHw zA*;<~AY7Q#zi0Z=+5Q+`nOT@MdU$v_Zvr?xvppL)o*#J+CfMGxX~hvUuI8{1k=3$* z0?L!#$zw~9TjY&q^=^qibU+Z2u2Uh9d%%c-DQq-5%I%$%Nsbj78?@ZIpnQEKY_&N?_#&)jB4giBbKfR{F6+^HJfq51a@XJK| zpAhRGiT2;4z``*@VcaI29+RtAQHl;kXqhB(u9Pr8OoQ+yp|m35V-V79cvoSgc%#MT z_gI9$b@HPeRsdJp`^gl&IdE%KRnnm+30Uhj`{uW4v4YcQv1mblVDSoOh`B*St(afF zXIj=hQd>Tds;3Ad9OtV;i<4MNKuW436el-5WoWFtAHhu{htmY+CLvG5_Lxbs-Q*v~ zo@)e50LZv;|IT4Y@L5;ikPxg5Ct?k%Nyq$HWsk72VgUHe*d4z2S52!$gdUjMJ3IE* zJ>r$f+#D(@*u@e3YjluJN)J4&waIk_I3@+cdU8(ii0~bBEVihkZ{`G?=V_`mNDjsV zE+`u=;Z+qtWt6yn!in6egtAI-!Y%jWguB+R*j-W3x-}>*&3R7OFpNsi;D@vs>o$D` zg?-P;2Y|fXYj_ae_6_-gS5o2Ng6UZ}KZ@u| z)H%$VUDWLT#eS31*cf2Ut26m#X*&2eKuLsm((5BbqvliFi-R|!aC;k33Z7-P?=lMb zDZ<003guet40S(TowT$xyUTvT;m^+Txp)M?vKSZ!pMMzzztHFZB^UhvI8Xq-X8oT! zPyo)p{GU2d0PLFoPaP-#I?4a14itbhx&KoKil6nzujc0d65)R?K&<6!Y}V-EGfu0J zxr|DcbsfwC-q3KMl5;poH06RQ0WT}gkZQ?2`GLIq6>hi|k2r&vhbJyNTGm)T_9(mc z9U4@$Q~CR8KwzVXD*8Nh=Cu6S>0U#dcs9ra{$tF$uLPk}{+O{)#=?~7-w6^@RzGnR zn16fmjfOcrnL>d>0zh5s3EA}!+^J}T2Q&5LLT=|D4&G(KTuyNgY(9}t2s7d@-Mehw z*&3A*)=#LqZkJFuo_<%1Y?c*{RaKgzsIPkTW*1Si04$E@cX#IG8>w>*>hp;bZ#t)a zG+#N8ZGtmwv@{0aM8=ALr>ZItNy+0kF2I{Ded;6380RORS-Zi`$Y`gG-br*1pDcPX zK9bd*vfQeybNGhmjK4Uq8MWL5ZQiR{E6(QXGK=gzq^0g$U$qa~B(HG9verUrNI|mS znz*J`HK0<_$Ra#J9mFf7-ki|I#oUgAPExq(qlZHKN^ad%cI^)^8NJ#bt3*Hip*QAh zl@J-6`lnmaid@6J6;?*^?fV|utx*rh8-xX;+-p|#W^TGg6^8o(R=YMW`Fd%ciwI5#8vRNtYm&uXp~TTY`4NOmMNp?_k0+@qN8A9y$(K_U$4K@q9HaS4 z8?|R~Y_aFPqP?Q?^FPLl|I^7!a^gYe^<@4?g}V6@CmvKbAxWcn4YARyU` z;AOs#WwNZ5O?N*_*QaXE-_<^fdG78rjTRoEE|0fQcV%>S=jh{|D(|{>3tbk^`;Mxr zb^n*`E2P?#VetmNbLJ4#|V8G#|H3X#URk_c0EO@E+3YpVQ3Oc z?~)_79RgUAsw?k|pSH3-H7mdVv)2diG zN*d9h9yRceyZ^+O5BqM32os4%;d!~>hrZ1f zGqIWDeJ{+MDd93O&T!MoR$gl6nT8^kUePxhS7PrYp#=3+vke97Jh`;Rpxg`YQaoBk zZ;74rJV#*RD`~oys;ZfcCUfYz-8*ayNVCrml;O1OwdufJfz^bKZDP;um?9u_W8x!d z3b>D7QS}D7x_+q@WMD z@U#d0Q+i7{kqm2V4?idwq>tU%AILz>Izp7y<4=NrH5kJc#h{-;n=)x06>j<-sJneP zf<1{PdWM3Y?sYkd(FVMKYQ(3UzUT+O2=9li;NLFT$lUqTne;URsJrd1)5o@ryyBf* zMGJPn6%_oe|)c7lOLyLmJmw5j)PmQJ}KwJrDC9W{zQx;&AnR>2DaI{oRJ#wd%q;m&|zl(1(6W(d% zZfSNoXYBJjoR3pY9 zz{ML;Va!Qn2#6!wKeLFi%VyBMO*|i@h=9`?z8f*EYz0#XW_5F6|6rmSN_Rk@( zo34mr?YVn=SM#uw072SSb)C^`uN*5)|{gzT+Ec$6@%fVTuqP9Ocb887ok_| zF&pB;HJ1155+L9@aj)ZMmoapDA2TtWyh#^VXM@h!5LE*ljNXw?HWyPrI;!N*%|2dS zS$4}9Hfeq{xKDJ^#MueGI9dwC4>A5yReljHchp}r#pc}$0%#YhqW8vj=hC|)ETpFbmp<|T7d8AN zNBqwJ{8y*40BGO=RCReDs7mRhM!h+X>vPcpTg^qN7WSo)V_NFK^b?LHiiHs_CEn{J zf8c+P^ik&*Z``wDUC;HYrg4}M-c3*Ks*928YuKs~5a$(7j|-}+j2Q+}$0nX|sWM|M}eDJMZPA2^*kP>^_?OY;&-MMGY- z!Qv$H19G0qU+;25alB;joJxZ%k|%bgRU$p6*iCe`MT~|rAJLE%(ACi~;=)Z&TV5Vm zMV*UiB6{l~3iHuU_03Vxn`cSApN1|ki& z-7r56fRv(LP?zRNPQ30b__NMpYJM6auD7JX9R1^`5=hL!Bd40y}WlAk&E&| z*l1*QAj&oK>_U|c*V=bVFoDcaf>6I{*^#M$7enxCHM&HhHtz6TGa+U%x zX86tUd*2CsA7NP5=c0dC_=(y1^;Q&L5tMs;KsIDM!p+Zvnn8?n$hk~uLpBvDF2_Y| zX#JVy>4t0#`?P{u!?v8r$PjyOqCP37UxLH-ZZ)`;Ok+#sGK5)b)1X65o2Kr5@6v=> zw-UX%>k`26xL+%zHCA_WY0|Li<`|j5 zqG){X=k^g(Kc4B;$3Lbq?E_7F?>F2>_b6SuO`G0T?5&VWyaN#mvxdDO0rH|($a2Up zv5>7guLCnZGL#Sy{!@EXdY1COR!Ag?N@AN>C<_CZD(54))P0hVFJXd7ZSU@1e78d2sw|$E{v1i{k z#Ak+SIy%FY7G&}$BlOQQ0Q+#;P|*?;W)2MIG&%EhQ-4*{+=+SH;wIiR+YW%IN8pz# zR@vyg$@j6sRbONpZ?@Xydx`;1uu**zKSvKl_w6OwfoOgEuX82;a;*sQ-!WzYN4lRu z`Nzn?y4t!e4(nUMqAr7V>}mo1(G~S6rir6r{di4NcDm85-#D!sbV@JK zy-oWKC zKbI58LT%knZRFnCTzSBKmAjtMEJ0FF0I&Y0S(f)D;~)eq$+kdr6m3U3FN*z?8j2GY z2krBl{!>4TTO@$xy*+BYq5{D?trD+X5y}ZoH7MbI3-$Z9RpiIn0519O=?4qF?bpm^ zhS-g4oSCcOmasS7i|5>0R)&cjn(8RlP$dIQ-G*u?p8kC;lb`ZzgEg#0rdH4?jM3fi zS*TGEuRhE_;n#73*SVUVRf8j9pAi=Nz@Rj3T7u6L7RCW!modC-(wj8h?k~&jTMc|v zY^7f?_-TC=iW?*NLl-pW@Pk$MS_6yQPEgb5K7?`xa#m_M5lEFuATuvQ1#+tlK>EoL zWn<(AKw2B0&?H%fI)pqBfjnZo9br}ct`_yh4aT4op&CpHaaO*cCt6PH8k3aAa5wZZ zP+LR2XTR?MarTxmnMK`}F79rHO92HG?(Xh|I~4Bj`r_{H?(XjH?(Xv9PNA3c<@U|( zq`Obj$^N~Qowe7RGh>bU41l@2S7E1B8iS^te5kW1sy!r(AnZX zq8b^`5`yblnm%bJ*zp&ea8BYAfkx3=ZnDk?Wqunk-ijh@v=Cw8(AOtin*PekAcU4E9R=^{aNtJ$L5oSS^V8M)dWAT2OMHQ}^qqY%@MNZq=ng8+X-} z9sM9M2e$C;3#KNbkXP$t5bf}Hz84gd(vuGqJR`VmRGT@T`iRDfYvLaBB9_D1C1cV4 zphBtSK-EB}L!=P7CsDL!W+4xGYbY62>yJmWp+wO}tU{M;OMoEF?OrJ_ptXK^)sJ9S z(R|?=F0MBLO}Fbj=qJu zeC4Ft9ocn)L3WFf-q!E&`OL}qxH`9CRgDse8e+qhXp?Y8=BY^ly`E6#psUd*P>}0d zXz#Qk_foGw5>VWF|20p}*I9FCm4d0ms!F}PePDf%*MPi@aPL0{T-8IPka(vx)vs2V zhfZO^m6K!R+Ax1Nloy>NzlOk+9|#fxQ?6e6y~q}bh<(vV2x&`zmbSZ_=WBaiq*yCX zSyxBdI&!DQw2PAW)NP+qk;F!>%WZO@KZMs-j$iRn1$eD?=or7uXLVgP5HI5x7=MsK z&mDaAN^dlF#Tdyv@u4J5pqui#w_Z83KQd4~9(MgeIP;paqJ7L$c~1lFP_WL_GI`=_ z*7iJ$De35OWcxxFyXR+cMrK~N!%s)qEg@k}p+Y=(%ECiPcyFdQZhRBHok}~IG@IN- zV>+;G1gtfaw)b3x%?{nETnFm9Z|T8_9T?~I8n;N4;E*@;K!2Lh!*j_&;_D{PQqtA3 zm5borH)Qf8?-~Phyw*Au^5`2y(y-Gw;lNh+}bn1-Xq!a{j-ey|cLZFvw z$IbtXAIqIGWa|b>-bK%AkN@gJjKA*fr7!o@20#N$VslO6hW{F-k1|CRnVeo_cst(% z;Oh;bCDp|$&D-8c2+P{u{Ht#5BV`R-(+kNVNZLuSR~fy@V`O`0w!$!G_CY43-$t2G z@?2m%un}6(1){YocGZ(U#15n3_kHj5GTa#A)?&{(XLZGkd7L51uqpgVt4Qcxk%`7k zfSi-ikj_91S@2FI*i^vO-X4b#;U!Hr*4KaV=!NWCgFfFk)oK5S5f%^-(*Ip``+tku z|0lsr*?e=*g1&=r6x5jGlm5jWg91Xm2}n^#L2MR_@DiZPSh0Rp-93@UNB?R7gV^CD zYKi_%IZgRaIUP`YfB!sC3*wUF3_5X)HrKa0SQQPHUHGXfCC4zSUK&;0*o9=EzZp?+ta=2hNi+CLEL_l;3}c>(&Qaf>fT z;2guR^&d#@%tyby_4Rf~ZA;?)no*S^8B6gZ6_(QF4Ja`%B13F$5m;e*9Rsm^89X1kTd(2fv4fy^4xN2Iv>xLe=qO z2ce+N{im_twuK-skx@|8)LA4wPr!GK3Xik;6&VXb8;`T#Hsk)tx7J{;iwpqd<=lhh zZ-j=OlKleVVt&{`VCq|g#H`E*dnjx8`ug7BU zR!Ow!UmPL*8mHwxQuxgNf2aUmvfZee->dHaf0SRy|C@8++aCrHk^L`3Vw9?a?RVCw z&q+;d-;@<{bLO%BX{QZ1mX$zAGj%N1Kr9p*c^3IEjIvwG4x70zK74b@=mZdNMhRed zN6a(947=aQ{SUFw^XqEBbt2u~xb)84RFkVig;^P{#@wTkA-D2Tc_jY8;KI~bu@Ys8fdO~k12?NllTyDlUl0IN|Vsi)~6 zuS-Ij$M69S`EnlLvl^e5Kaos_Q&1OHHO#kWm0nnDTnpGFSu?qD7h8aoVPBRzaeSf- zy!6`m*91UW6F!e>N<%Rh_lvIlP19$%U~z`pc&Cl~AiMa2=MLR7xLcx36!vie@BYmC z=8{}>wONYcY;BpvFPrI}n9X@)Xrg3^!WIq`9-khs6%K!kplEQL+Yr@EfPHsgStdaj62LmdM*hYDpRD1^xTE zLKZcZ{9Ej5wZ8?SdS3)t2kB)a_)*QH!jV?lz?Tv+$I+jDPB3f~PFghjh6FF^lAL$D zDgm8a19IkwoNyY+*#7@M31z-QB}!9Y+D<3j ziU5+}<8~dCC>OsTxK^q3#IO6XHBDQ}2OU70kHB`JwNI-Dn^5=#RDXvAwb9=@7;tD@H zO?f^6kKe3`r7o7nd{!R0aq*^!YQ?1#NTDkMu9$G?2o*2jkO8+uP2}_)6w#z30B{b> z?VJThPiW5J>S8qy>McCHjmh(WYTpw<^Sm)_X_QQyt=PRdV9KDuka^^5w`rBNb#`Im zuy2J%>yUD#@=HXg*-KwGI;n-6k6bNX!)@SvU9Lr#$6KFUonz?z(`A;~U4p7_U;-B% z5Jnw`7<+ra=YqFKX2NHIf%UJg1R!UbcEaZY2&96Svf=H6KI15mIhn@PS4dlNdmU{= z50w5aa?iezUf7DSzI>+`X6#G{y`V%B!t+0bb8il)0+I5P#_c0~Cy!ec2;HjSSOSGQ z+uJer-PAROzifRtXfTiwD{h{9;2Ksw6f7Y!BWdS=Frx=y95@YP4|db50I7fN6W5Tu z1gqJR+}M0DTQSz8EOOLdJwBRYeZ%_KV+_UCsvD#y6v8_RtsGOg;M^S?$lwPY{Ks-C zO*Q!YWeabOh93QiO@gLjs$F?6ME~W`N3Mdn`>(7~;{P5N1aNcuU%_PE^&LzdY3=kK z9E~0RC&B7Sd&=RkHLiO_iMTL8xn3O%=JTnQz{YiTJIuL}z-EU9ofbtxb&J zZSTk00^bJTm>3vw1Wl5W-(Kp#m9asgsw!yM`@g#h2)Z%ANmS|bpXKwReI+s}@^w%0joB8oTT&8%@cNnLi4{;Tsn17dG-c8scG# zsERbw1LI{Uo|+`a30Jp zv9GODdcaHYc2$q=Ia{W2lYYJSc6`?9A(W12tj<>6K}0;wgPQXUH*rTh&GWh*(p$a1 zn31T4(+u_94+J{-{Gp;{#CC-znRdk3nx%UH=|4D!9gHpJf6R@6!oQap#a7@OfGC_5L|=J$CZ-@^JLr z^AVmd0^iReY}8f5rP#Pmnmc|j)-eDTd1RR|RJ&M`d28>5suzl(axK$Q%!dJofl7;N z1S9(^dn-O)F$jaeXFupv0yh7WP6D9g_py*qezSl?w$2fLR>Nv~hCvzJV028Qf@QRO z*#4n`D~VOB{=!sjKKU+U%=1Swv4Hu|Z`AO2NJHd_r%-1;o7P}ScJKC6pfh-GHm{?E z$g+xVrEL?~2Epi0fLIW}b?%1mQrTyPOAloIR*Fs?HRF3@P~XpCPq31QbxQz`MAI-S zoTQNH5Fu&WO)3Ok1Sx>*xW!{!I>2m zld8F+K30?+&W$JCP>^RHYY-d>&9N?J%0>EDH6*E3<1s)|f-GzI!s!nlw;;b|C=%p@PN#tM_H z>F#H@LS<0v$wqI^mR5i>gD>?Zd6gao`9?yYbI7*t8L~&tRxHC-3F*|_1Y{C~BGKQ`mbLD4^!9&AoX{nZNGH9r ze#FdU@tkdoQYLkyOgqT)v+|JANTuqz}=NhcA>`9ILamxQ_TA1P`v0wCa4RFAx{K^>iV5K>p zgAjh6Mc9q9&UpdMFc96jaC1?md56VjPn)zC5|AO%i)|$067uJBHZfDH=4h`Fz^*_| zzY2IsWGK1jwDsx}Y4yb3_9*9M*!Mwgc&6Y#&D+V9PB7y#`~tdLGtj z+$In@G4qJH*1LIysd0kCWc<}ZDKYPP!jyMAv zehHNgJdOkKs1NRE1?EA6|0UE7lS6K4CKOR`uEG=H+t2~WD_!3QA=^=#SH_pn)7}v# zG*on1#R5)C5i~rfVc#%c8P?T`V@z`Y0jJ%&Iof!@kMeD2>ZwGp_m{X?>Z#tRjDE-plEJeeifMTEHuYftvdJM6yFFDY zdN1m1<`->Y(!B|v3=)(<5mLfDZ&1{tPv&`n7Tez$IS+R`-irfwh|U)$eESw7M_N=} zUWfo=Sy?h!;OQBUtXS9<(r@R&0*UR#jl5}w&_5-~i_Xwx`m}c_`4c9Al^6Gp250m#`$=ZA~w{Rm5@Gimpt=5y;Mr;0Nm3U3C5x zcD4KEjcXJQ->hgG{Nb%)aORRn-X(Qi)Fl8&t_zYQ5~Lf)qO*DPUgVtPkt31ZAgP!| zGLr=aAG2PbY{rY7_AXhAEPeg6uouqm^%YoJtd2G$q*1cqy`_96fc(pkHO%P4ea zl7>ik*Ks*8XcfVvGCEC2ok~#Ak#JXmJ9{^$*AqkeC-X1w$p}O*#C(lL4ECa=d}e_7 zR;RZHoOoq5WUiI%?Y!aeo`dbV&V0^D+z1ab+K2=rIUO7FCcRX+_2jL5nsbW$CyC9_ zYGj3hnQeg&Y|W>FW|oEoPL8)C-eFUgC*+rjy*vOtL?3siOuODA)tt?Z+KG@)2h*#ATuq&1jeiLbTJ`Cwlq^RQVLOjCTpLOGa;MP_ za_Me~%`WX_e3p`el_Dx8%E>%yy%rV0+K(QLLNu)xH~nbfzFJQwdXHu*dJZ6{=3_1_ z=C+9+m>MOoy|kpVG9rimig?A)H_jmmD+GN;?GZF|y+mK#xG!W%hK)-$iYDs#XfwDi ztWNr9B6Z;hbXx0Sm?%~oQ4UF)9zHnZe4#kmo#BRNTjcya#9y_nN>aH;ioUl$|W__EX{(A7UDr6WUFrV^{7T8 z;1u?ZYO9dxxr8dpJ}d^#F9AOgQ)L-rB0w_) z`lH<_1m)th*#DNUdxJwXcU-l_5Q;`n8J|M1o(}*s_<*}xbW23e0<`ZbQiaz@JmBvu ziYMwdv{=T7-yg;@>tnGjqC^!W1`BAyUS?a19_oFY==J&6?3e`Yzi_%Gx0&)+49H@9 zN{Sown+=()mc+Q06d=Js;Z3*}ZHR%yJ{n~vLuHwGpq=9Yo&wSj(;87_;Xf(SrI}+R zvgQsp^7xAO;5AmBa%GjgnOY>_&yunmt{b^H;aEg*!bJ@^7YDsC*EYXW+T4ku1D(V! z_Rs8&2myb%w(3k!2ldquaFZ41Ya8pEBbgmsofw!jUut{b3E1#8XV5Pl9=>23ptLOO zZzmndEv8cnk!$C(Grbr=d{SbPLpw@$s7x#(@tN*L9|22sD3*;}+||lqZ+fi!kkdCV z0^y`CHOe!ek{Ij#QB7!7H0^1(wj6BI54t(y@u|vOW+*l9`U~JK{5db8IJ`Y|@c^?e zLEyPW&AaPn0+73Crk8qvVf4Qs`HlgV+?1;|33G~JQ3c9Y1_a7UcQ3+8%+_p7&*>ju zQAtERL<`T9k2;#=0>@1qXwQp5*OF$WmF)4Jt={s^3h0rx>dS_5a&bK3_fI=9#6vK| zN2sF3NLfDXk%Ffe8X7X%m1o^zZoD*KEe;%m54-&i0W?RF5Y-gsMRJZ%ykj^{s?!o` zi%63T_T#yJ;sFg*1F9>d>`%rmVg2n;r=g;qZllO%BFLJ?lQ<*{6Mw}~g04?`JYS3o zw^=@+JKmu?K7IDEeb2qcA>3}%u)nvr zS97^fjH`9xbKyAoxTMamHgSyw|IxFemL1~R-A?{hEA=99Rr65e^L}#IF|_goi`Q`&6i(p>J<)(H4>9X0royCa&lkq_^V|V zp~!N?Tt7uGGk0o^!P3|gBPIHAUzwVhhD6I3h;aPxqyk!)ncw^qQb(e4g~Lx3Ki8|7 zCCdh8k##K`=+0u~=AC2W^E1%$dO<2HP^RlDVXI?h%sfY9Ucdh-tK;j37NWzbH*npi z5uj+=%q4|%R=LTrDJe-&rr)_>54VJPbPyaZA~`c?F+p(s63=*&%>hp{mu+l*tf{J1 z)&iTW@8?`?OM*HxasHa@_A{Zy8}0PDxJ2*q=|Me%?_x}nOo=C9(w})CEB+t}4a;*9 zFm)_L4^0vHwmf2H=g*a5vlzWhjsx$o0?@W9n#A|lkNjgO8o?eMJYP9o!hTU~B9v9f z%(|*koEENh#^v|7a8lyNMGdSvaPv!3Sw{!+@#$jZ@vF77KO%uYjXQdTJMd;fPPxi2 zHuD!F!%D76(L*_~-0Rm=H&-&Y_j41uGx=UJrJ1WJ^hd9sjn`mxlaZCwnDlo#8i1ZP zmc6hJWmoe`i)!I84pNtP0^Xg5+-Pp}i}2q8IYam_$m z2`g9+C#o#eP$4iNo|G$!vw_;>5TNu+gOF=xU7c#6TA<;o3~Xx#cSq%vGifaFo0Vm} zZ?O`_cpfMwMYVFIS(c!kCFAJKM6EV5f*>f4;~%}=oq%xLRX4F$pU66k&`#m2@WP6y z1iVmKbW1egdGc0^saLF-6;553d)dS{6@Ja-mO1J3C|y%h%Z$TK6*MpYo1mfuMOCmL#6qiIA%G39Rgq$iZBH7m5 zaYvv0Yk02Vey}xiA=dakn#+gzn2L94{+z&VL-K~KMqbMKeCXnXT!BeQ2SFE@R62vZ zsa%vKjxILAnPQswdxX~zDK~Z3`7@6TLsrK;&>cnA52wld{&(V(F5rbDL{7i@X(L8O z49&OgCo{G2mAv{zHxeXL$KR`%ARSvnP{uWKUFfT{_ z@t~{or!eC-Afo6q%Gd7@yKFUBVf@1lnck4-aB};L`q9F6;ohUwI5^9R%Sv2b{4k4f z58_=($KJKc9TTjC%pTAR;gZj|#XKl9qBXyeKH;vpg;a6yU0SOzJ*bPOEF9!}E`d6p z5d(z>SP*SDo$!?{Zw!I(F0__!B+i(kaSpP1s=!NW+yZ+|D{5?rt@GAWJE>cjcAd<_ z%gMycJQRI}VV4PZFSZ+}=~VfS)Sq0xM- zX|{zSk85)saC1WxOe8a4hO07QuAJpMXBt|*M^^qyDE(O7O;r%8cFgH`*Siqge)s{X%#*wX;P`&L=j-NXSs1MjQbU|D*Q)x64 zY6r2;-fJT5WHHn@orKXWV;}FxqiG5ZkklU`eB-DOzZ>KEnoGcFB~rV-Jn?i)H|=(8 zGcDA`hR?vAz~5&--Dv2Gdx?5r-D_CELwo^p3Rbo70feKADSoP{g-244aTMiUXHrEa z;%v?R=#>|9vTEbg&84PB$59P_jSulVPpnJwu=iR})nKSl!Fmw2u(L`Mb$gD>p}5Ln zYZ~SzcT%g;-*GBiY#v%yR(bkBdcP!^a)WAj+oCi>@h%D%E2I8)W|^||%CRs|AkXq` zA_g640dOfTI~{B5xtIOm7}P8WJ-h)p?Q&>=Cb7hU*!9l~3B0J*h0|sx`|FOxi2T1K zJe;i4yPp!XvsPQMe}P|K1Vuf&g_H{*?3}>j3!M^))n5Rm&t_#kIz4j2)B+L8Dg z-fO0~@&Ro3Mq%IWcI5v)^IgLb21?{mh9133_qC6z1LjoA0Y%qV6Gl1C1Hu!jU9|^> zynw}_xkV3aEiZrl(;!Fdg(i1?-FT7+>x+*Sq;)hp#`sUb3W+>pBi(% zxd&>2qvK+t@Ar|ER2_}6_E;znBDp`j&X;gmS0KcXsvxVv5os**HY9HzKxcm>p6_Lz zD%N;X92Tg9S8r?*kr6azd21J<%l;ZilMfBiRy3_1kf435nNI`l8BYd0Nl2a>g{NGE zs0L;Cloqo?2Dvkf>&+}jcg?qy=cjh%OTM+dDYcd0+LF<`sF{GhzwLAfZfsmV6blc3#6+!9 z#7E5y^&?{0SrTO~F@&R!@`MC!O2pTHqJKPZUp}_Kxo{-<|2N}8fN%Wd|8&{#Ka7Y= zyq1m|5)M0$)a%tzpqUbX)@2ocTvGiWX;E9-%yOmf7AMzU$3YWzph4LM%_XZYdVf-O zoxvj}U(1j(wydB5yFWcUJ9}oqa$a(&MZwePMy(2zHapyLDUUN3LjIATBP3i!%M~wG z(=czHK>TF_RY-oMh53suz*4a#rrHXCN|jy>Z%%?Ng~OezG9K`5Zz=`(vQ=d#P8Ykl zNAK0+@V32$Fm*8~R?1JJwOX{;>eJkmIK@?HDpz7h!_|P(*6&c=aDhmSkCO#K%2k21}(HpLQW#T8`)`*QQ5ST z^UsY~pEAzfJ5?*h#tryiENI7VXi&l}v~5}O`9d+T4%EY|m#z<3u?HhtqO{994#DEf z2`OG_Q7>E9t&i)&ino_Hbix3{F$JhvYf&vl>Z8s&SoJu16W*H!I_z1&rkxhREjC=d zGY@W)aH{?3hia6|_Gb$<9ks`*J`rxL(1#?QTiD)!;v!!cd`V0PDwiWiB%|t%L8CDO zJ7QbD`{(R z*$YWVgtj8O-Q7Im^mmFe-^ji;YouuLUk$Z-L^-7~dP8X(4xAp0dblO5GdYRqXBvH6 zic^~5Pa-~SGVd2(vj@#JHfe2gZ7@fWDHponUZeUwN9RJ&yI8~PG}->BQ2_yNG~$s5iwqyAS{nNzg&sw0U$lAnE&Wq z+{M}U>)is)C4Q)fAw~>0spaO{;c;t=O?I2qJ$pEju%QAcQz-tpL_??_xN(Lsvo7RB zHG#0XL8Dh*pCDUKF&=BsjUM4_5yad)%`(Jbwc;>Sn0%o3{0w+Gf$b6>|5fcvCOybT z4%fEgWLM+rc^oxNAR)E^9^h8!ejl~!k*ht?1qzuPw^dz6%-WNNTU1J?-rSU~#Ldw(>DB&SB+c?xWZ4+Dpg@0ac$QLc2y?p0kYeBdVn{Z$ckQEEGINMoVa0D;~=55#-cRef-wRU#0Oj0q{ zK9q%sxosb}k;j2tG+=|_8?8xg8G^V&>>rGtPqD%$@dWT>D{1|q5fv2BSXt?ybu!S+ z_aoyv9c;1^R4M(UIfcmGFYJhW>|4fMlrEX{($wu`(O7n7!t1NAK2u{7cBi@K(!d;U z{n=Z6C6JVpw}l73H$mjpa>L)oU74-R>) z>oc9RDNdbt9BlXAA7hZtE4mP1likYIts{-3TXwMj7*?ZH+*m9fu?s7YYS7eh_wi@F zf#u6p9VGttZ!Ehvz9NSPjRQts@UDs44p)YMZsxpwMmZE&+kQ9<(Ssci( z|0?~kC^JeJ;HIM2Zg5_)rvH`Dj2?0RD#kWZ-#zu?(d6f^6VtDkbK7YjUe2%M^Lqeb zk(W&dmGEcv{Mp;Ynz>6FQ)AC~ce>e9!gC4-Mr{>zqsoLdsG~Zz4py8r#k;cx?o&%z z_RLShlN)f60YxX8-bI*J&W=;Ig&NZ|g@mmqf($}*?`<{C+#!y6#?NZ$a#x(5s2I;M!Ws3pH{fOKKz5QzO^+?0Qr+tKduX0w73A*MN>hDW> zo_u@{Tt&I4E3}x`x4}upoXyr4#X9J|`>-$FtvysZx`YF0jxQ<-$rIIibg}>gGLQ|^2ziJL*v=q< z43r%&)LX$~eDGV4rn?Bx&$#(gZzv|2IdA``(rfp|R~ac@8R_VFB+0S^WhW5>PPuoE z`6j8d+l^!kl7)NJ$eD)Dt>kj)gu%(ta4NGa(^{LQ?U>3ZpTM0|!79M<+njm#p4d4o ze?OI1R#2y84C9AHqAz?{cI=c_TA*o)^3L|^&Wm_z*%;Ds-QY}|pq&7c=Ns$oRCT>m;7bb7s zPkF{q_hRzs09rKvgy(~b9Joltcjfor9a7{UlhuSjR7R5DG+=x#Zg9lz7xXB;EKvv& zt3OvkJs%i6|17`G2jUFA@ML5|3LORo-z-sEyywfCKiTDIHK8)1|hz(DL z@5x_*=q$^9)_lcHgezJU*9*5FZkc%x_sFuPJ$#Y@-rY!VIGPvsI?Rh~{PHOul{iSq zb|NLt6jS_;b~569wI^!bOl-MjttpHSyx!#S&*XLwxj7|?2SQcKrb2-i6$E~hYCr76 zNB(-b`0{3oOWgq&c><}I(8f>jv+0wx19%`&+ZO5(emumun?)g$wM-Ib9qvL1M|VW6 z&K%)|yLXbuCI2EqKx5atj)m(N6RL`u2}({T1%)@{Gm zho~ORe4Kjc^(yq)w{}u{ld>#)-Gb|5O>n>-3p`&v5p-^dBbAl!=MpBp5DNR>ImuWj ziwn?|+3f%o?ap22e+=VYQ(KFygeGAq1O~H2Z{vJ<31i}7t#l)vo*ioD9B7}1WyTU{ zCj5mxj)e$Mt3{EUWetHA6xZ@EIo1y}TBR(}{mFb^x9l@t^KUHB|sjl&(QmO3L1w!>5FF56a_mckTJ= z3w}j`I96C9^y_IS?jQ{4yc7Z22ZwADZ1*4qA$(@?Vg>Y!ACI%4gzl&y8^zoEG;H80 z*+v?lb*h-G85(=+zNFE!qU!yWg5L0WJbG-@^QSs3@%f@1QTToM_QmctqV~+od+Jcy z`Y3?$KUoSL#PvHO4IW(=M)zAgF8N+1s!1BWqSc8X4HZ44RW}Nd3moCw;VrdTX5ct< z?Q!`+_w$1<>Tg3ZTQJHhe>Ew(e|3kaSvwmJuP;Wi%&E*t82xgXyOo55Pq)|!Z=w1S z0=#f)-&CMa&^SpiN;UY>>Hfu+Ci-fOLCXRBlqr1RerNxRf+F3Y=TLAKB54{}_A9Xrt4 zC~rmnm1ham`Kx89>8KMHPosCp7_I4u+@?E=KAhWx$MJ}Dhd0~df-q%kISEqbN^J|k zRbNi!k{r{9uDc|Sgf$RYt9zQM`Yj!A_?lRkurMtlWx(fOmr5@t!1ob{2ZlN~W)e^a zQy;X^R2iD60{_^VG!>PnaY>eY7rpCyw&vrb zPo36zlqrN_28tN}U+_ynPu&ON`@S{c9!AF&#ANzY!Rg$q;5Yk`#LOv%pZGM`gc#vX z&d2>V(XbD{q19>i!EM+;{|#2LOS+Oz_7FGD)ac8znymv4W{LB>S+~<4Y2`Af8(q)B z*tF;yBgH##O|bJ17h3AONv%n|BiRBX<&+c7_mP~h7yliz{o_ANE?QEl5mL$kFmHcs z*c$fwpfhQYM+XS{f3%-XC|eU6WcH)xw=`h^vY*O530ZRm+Faln^!jSzcXWIVX}!!>>fl@ z>OP|UU^wbA0ZqAxz`n$({#!|YRrH8y7_1DL54q%%ZGeV4)?D_Z-ugS!iP7oCK=Mp6 zIh!_RoylyARRsni72w+F>roEa^9apBn) z8n*24u+3`XP(oF6vz$D!o;*gxcz8csPTX=&l?^TVvHG_|MW%RpTTMuYp9H}V>@O7B z^P^;=N6c<8Ma5av$yZ!k0IE9O%c{%g@Xl1Iejd|x4*_tdyt80PPwFF-oJBVMU%dv7 zz10!HGbrBST^9zru&2@6^VGu#g2J@{v9_3Q^r<35TF&;~;*Ho-S)Ra*9BX|sSjR zEt!oSO<{W`C+a@_!xh{notr4a?dXCIstfv42V=`?G#~x*g^BW7B{?2J>Vsjl?PkSn z_UPs8ABa6<3Oz547vA1zBpYuA!5AxFG}arGvt;3+kP@v0$e%H+CWVBsicJfipA=Iw zFFpt|NP9nRS1i_w0Ef9%E-RH?OU8nOn1aRPs3d=n(Q=`xs>gZrm70v6!|LPmR|8<- z5foDisaT_?Vj)A_y$^y~BtwZLkDG0pxLwiSNEQdkjv>_y3_Qih){moa!w*(kNol_% zm#JQ_F|0)mHhwYeIOkF>Eu~_~D_Ctsp~dIVz=p0@7$vI80Vou&w*(i@vYpQM7ZiCXJA9e7G=fxxF=U(sdtI)c=q44TPI9_&K zoW(tGhS1LB`fMV~->X>EK-b*QFi2Y#_V_kVf7#qTL<*nMC!|Q+ZzmiY?~4lE4n2U(gq zzI=YBx^Ka!5D6L_FOSZkR+2r@;XIPFTvh_X>_jLNh*#csAoE>BcX-MxCab<5g^zb_n&R zd5({az-}93XC6Wa81X1bLO%#JGLA)K!nJ447q$M$J&7=iXMpWe_V*FBo z&mO~pg1AnryvflVJ*!Zt)k}^wb5Wr*f73GX^HblDCm=ZGq>h8wytxYLh6=Ms5lPGGZQZ zZouZ%F z2~bRJ1`^W$ zbsN3;r=bMy+VW8p&GrilYR;@}q#>o=CYCwdoxn3flE82fyLnd-swdm3q(Ku?FoD%2 zyvzn4gUNabzYLmZuUW4FqPcw3qgaZ53Sc)ym`$e%eF&Le~~ zZWhE5^*2<*{GNLykBn?(sM>rfispHeYh&~ek%?p^XhR&S%u_wWIRD&J_NzS}Ex_q_ z8s7euFEF09quxjjO)kU)_0thfGMfC)pN3XqJRR44bsPu!lms2W^52v4hA(mS+fvm_ zN1jrfFyEtCwY{6a5o-Q*Nk+_>4QXiB2`244>PXucjCTo|DJ*=Ld&~3cEIaf4kd@nO zoQz3(R$<7Fowt9X5@V13z{fb7u>(L7^d}CZwu6td8XQDs!vBa3yGDbb4nSj$ zj2dgYpJ;5dD}d(aCl0y0k`eYND7#QNyEPY=>7IX&;xHg&*02}o#=S{mJMA~1ovaXDpf-qfj)~7%UgfCaMuw%bC#2ZG*Z?5A$FZ8d z%QZTF7OeI3H3X{8{me4#pU8peQfN0+xq?>ROM>FA1(Ua5PycB!kd-wv)Ya-sc4p5; zI%Mq3Jh)BPM}$kDWt$Cg7KwLMisPe)d3P03WE1c&+`b$wt}on;ODq&v#OZg)AuQKi zT7fslzQCTC9Bu;`*NfV$Tn8)_m#hqa?FrLo3bZ!>CzzH(5UrY7+Wu9!`mGpdG6htZ z`!NhPT|an-(ghTi6+oRp-i4<(>V6Vro&4bYM?4aFFNVBB`8bU0*K(pHwtaCsfH&VX zHIA6%u}nSJe=D)1j--8io^>%_DIUxfaNp{7v`J!ZP|4XGK)q})P744XJE+iEZ#Tij zW8qqXSYs?YrWJIqg4J~^6m@ov{w1|)z?B!X=|D=j7pl6kVlKS2=Q|N3E@y3Gfdy>b zDP9oQndbU)T9Wz-TYStPV61?#N*1Aa-Z_KwhT{^KkH1~Syl%9h6d83znPGAx!7CN< z0dXBm*p)73(kG+19S=AYVo({3C2*5GoYZB=>RoYT!EE}D*P*yo$^JT~F+BF82?4*{ zE@C)o^M^U_%%kn1 zFK8EhN=%- zmryzTwZ=i? zat20EUO!z&t%S^Sdjv5VvsSb$C1gZ-yHBLbe&_JE1p90soF%>p6K^`SIqRGPh)nS& zz`89t#RU@3)(;DRx&K}~FSiWGWRzOJEu8jf>l?w{O8GKrkc7U;5N2JaicPe^R&Jx* za`JlV0s|On+zgBvgrQ7Yp)NTA1?niAREqP1<;4UrOXOF~o?K{P^9V=Lr|0KHb3m=2D)jZGUo*Edwa(*q zOa)^H+Iz4~SpAS${%%Us&iINxg+(WY^5<0A6#=&TRs|hDw$Y$hPA%WPbqzFwDkAzK zo{c3|MP7*3ZN4gX&F{~^9*l1BK?!vW=l=Fh>f)ZD_s_~(PR&VMq#;%gjmPlabT!*R zzjIG$BP3oInOF5FTaUO~mTQhfq3d*|XJ2Ip=!s$6H2?geS*hZw&I)Q zDsGYpDGy1Ghv^X{4LpaH<)sHo4gC3Ce4P{!&?fW*gFpTCbJj=~{16T0!LrlXV&Jl(bsCf|-|x`(Ox z-rs%xrISb+?^M)d{ilnfo4ZDYMh}ZLhVglZ*@uohcP-Vz;6|O%Q-sZ=P9lc1v8zeX zp-J2IaiJ?|In4c+*F<&>7Qu5{25)w^`Bi!c$@6V_)0~I+>c-n&Q{gLLjz|G#UvmJ& zp~DGnN69H+36++w9NA{dAQvM^mGd(0m9|R8z6(ZSZLQc(xXeg6N9OidMA1<%LYK`d zY~Z!^!y|ZlpQZn{xi_AGeA55J+gV1{xn%1a2p%jrA-KDHkl^m_?(Y8K1W0gqcXxMp z*I)sHyZdGLIk$VC+ugfQ-*NW&vHq+z))?!nRW)nAvu3>yosyC(#+^oj`cXNXY3<^g z3i!k9Q+=O6@Mo%u67F~k=-kQ8z8iba*2jmZJpV&A=vXxo4VzpM;1iFv)r#!M7HMm| z?Odl&NRar4JBgf&_kf@Zl`!7an=jYriH1UeRq650{JCF7HO3kns$+lLT6SrY8BS&5 zSi9}QnIz9-=5nc1Et3*d6`zlOvkvQ>JQEJK9HT7YfdT*|5{Ane3 zLR?nyI4wtf_h8~WAaXr1x**MdZVql(e?U2$W?Jh<;;4qZ!Bs*etCd}I?h&b0VqD0H zB!YU+8A>kWA|kKDfP3WZu3pIiVi4^s1hX}N zT-J^4UW|H;FXMhb!oyUE$F8~3CQZwpVBJ7?4`^`&B1Hy0&d;rx2@DtUF&x%5s;|R8 z5T{1!WqW^gq5AWJK&`P2Fftj!YkQ};7Qo9q=_obi9~RR9wEMAP^V&uU&89S7L_>ID z#Dn_L420`=z;`A`F`q!9YZ1%=Sx*(TVs$T_XDWt*!q-OLPEWg+Yqns>dm41yuz3H0 zOx{t$1=g5q?XMS;sy2rQ6;2AR3?$?R)X!H7Gd~1AkR4BcXROPGn?SgG2gBKev}~|-ELz_T(WE?7se zM2F8DotE{Y&5MqXS9APh@GJk@@hYK#k@?0Je%2we}J+P9pDg@)uQ5yy~f+JR_Lcpu40VSIwyt&bn91`-EEM`L{wQk zDua2?km4|Jh z@nw5&SK8$a%9&h+Y1|M*o3dtyA3Ykw{9W7FslsNe(f2Gak*!1=c}E+6()Z}ZNS%I6 zl!l)9TBD$<6^kr(DoB7~P9(nIb@6h9P+}Z2AGDS*KAZVZc0LAZ)g>h6#Mkh;z;bm`j|QXp?Z@` zC_DlCkl3qziq>i&)|U1gU*{3c>I4Z76@Uyaq4~4=;Uv?Bf40*ECABAe!Dm%&(%2Q5 z)}LV8I4fftJWxp@5OtX%$`d8rPb2;zTRbqsgOu|$rC~3>2p??Y0H(y~?8FX~S&XNM z7gF=9ImJu4o#4Icu=~oeoalPnGkD4xbQRbD`STHTxo1qI&TGVeQSQn-N>` z^4sc)RQq`pdf@(w?=STB5&O!jUOt&~-379_JEVW}d41qa;+_oNx^kkv@lS*em;uM} z&9|DQDwZ;rkin%p*jFAYSCtmaa046f8Vt)i859&=nP- zD_9+)**+!R9IMA6Pmt6%h(~ngZ_W7YP+p=loOM;_)cFN93zPUeHuD7*v*%lDKD6bV zcZzwUaE5$$-oKR}&+_gG93R+iZ&`eif*Cco))<|`;|a(|Oz()Yez0@}zW|W*hKyM3 zozncu&yqv5HaXqUe4 zFrhtlR$PQu$3p0cv#L}m9RjQE`OH%&?Id~Xu8%z#k{QxaRfLa`#y_U|fY!MobOs&a ztO+G&+Y>x5BKI2+PW%`CK*I+(n*iw4K^T+*k5AEeLdWT z7s!9x!Q}j@IxRkoM#BAKCI$gY@S0EdTkmPNB_I`WF+;?E6+}kPL)Z+Zf0?5Db24?6 zLG9z-!jUIjBqqwC>8Bhe?+0aBoEK&vtf@8kigZYnVXwGKLy&a+i*JDMX6dhZd|o1+ zv29@_XL){VOYnA|Ndah25GQzBvyYahgC*iqDGn<;jd{@TLT=~Mxw*Xq!O1L2Bsx5s zlK|Hum9%9$^6u^M(-VieDYx1@$D(J3^^EeDhF*owMlS0W$K||-7t?fi2Qe27RV?|o zkO)xJTejcmsiZ(dXaapQh(CAHdlO?&z>#p5lo8aZA~iO3m9tj8wB;Tx59^5?)syQ! zv@a*PTMSIuW*gg;w}yucl^*>Jnb%_25(bV-vw5)6l?RIpFDK^%Er0dMFIDD9tkXOf zWT<$xCL`E_F7ZJq%6U``Trw3CdrY;J4Jk|Lu&Lz^Z?!Ys;uM3z5Qw`vUA-^$saHZ6 z%e()JJ%!p?SL63LdkWP*w5RwDkp}#C{`@}?kp}#a6J`HBL>llvPLzfGw}7(1|2R?h z-$SGU(EmN6>>rp2|Cjc;-}~5D{U;*rkqR0wSUh~eddx4Md|u0W%}y0m&Dg3g-cZyL zK(E;AK#V3_!F1mC_(^mx+J**__u=EnyVx4rG?N@#TrD@WL=?`7(l==4E=z~BZJ0JE z%XDBi?w6AC0xU~#0<+HTszBo)@>KacSq70L^oge(KT-}I+>Np~)@8;VN9zT#B$ej- zZxGv*Q32^-RJWapJyV?gF2tW_SWmGa7E1Uiyv ze0oxk*b3^JGnv7~Ot=SwwiQr=?&cvN>6z2@stgpSVOlgyzQ%x0xfV z>m(chxlTys=(9>{>XoTdcgPu`26O$g4z2EW_dKZDdS^nixSNQp7kLc|_J|xN1 zooVkaUc~)@^t!F!Om-A3+W_J1=IRX1`nmglJqBeq+Y`~c5wmvBg{yDEduU0oo(i`% z_r;fv{7H7vD0R<=S|tmH=mVLbz`$i-a<n|#L>aQcpVOL5qcxD z@*?mGAC-_apKY%j;uj!18Aod$9&#D;r-tjB7%KY95NWG|SQ9M{E|6@lLLX=;i2@ zIy*Y5^!h_dXi?_}nT40>9!KsYv}ec_Jk^r&_))ovshf(HM-QSTs)Y64Fcjezp&=ym z_Dy@eLfVVe(0&tW-JyckUs!9wQkN&qsR8_z?l|tzH7nuH@t^pr4rB0%u+JYCb@Q9P zG_a~QCY`HT*%(3QDON_qg4!$<7s*ZdhJZ7J*Jjdq9T-gNz`c1`C85{fslTRbJS=v7JP}FF8iW`IjXt8bBaH$KT?Q zhu6~*fw%X%C32o$z>$>K-rAA@(IxV6GIC@t6fW-<*#7V`8f?y&EVDTLSWHuCOJ6jL zkM0B#ja_B+zv_&g!VJX<3S3uotsU*%KY|xTPCJ`TE4<5f&*UPvL^Z#lal}S*FUW!+ zEOC*H7Tsa?6&_-tqh6Yfj0HktvNcgZo4lC@uzBlD##tVMF*@3Z5`&y&>nl4LE1}@m zR3xSZyWim)NzTqU&~rM1?WcJqb*7PQDyar7+}@gfj+YsbjFDynS76w}Ur~CWcrs*e z)Pkp?NAWfo^ahlz?J`>nN$w~hAfB%2k{%*Wf^jkMqJz1mQ84iDk$_`LfxH;)tIEeT zu40w$3bD>Y^i6LB7wcHZ6b}aLvln;R039*e+t%d*s{%BF$x~;vHDs_ATaiMpu>eH3 zlJAalsd?4D3$&lY+%+}DQB~*-ZqDZ;EuGfkh`Qm-yFQ0S9 zbb*g$3x}w*1Z^5*whY`dz9beFOq?OW7EUF}N4Iy31iZ1Gt7Y%kR%ji2go~T+2!7~& z2)z~wB&^in9tfqJ2ydwI&u2Lld&p6f7e<_8GCn$YeSSsSbPBK zpzW^vNtnmbOjL;TCs?jaZ9mSor-&KBT8Nz|lsJOKXSLVWArTl4c(lKMT}OiEbb~yzGrX+>1(vKD~!dOFNwe zU$|!B1gd1Lg9t@)Dw}2zlZO~6J%#;)_Q*$JM#dadC7f&U!u-sS){Zph`okpNZJ0u5 zV0`eS#F$nb{f{gS*B$Eba|@Bea>+|382>6fjObG?@ROFUa*MI2Qg=OIn8LdTq zv?sNkHI1v}$mI^AmN0c1xWIwS%$1hm`(>;p^pxpIvoYR@jj?%nX#7?f zt?54Zf((N`2}O^4+cbMEBv+fuBIe;ZM+-iFN1(-r19yzz(0d!F#*@rHLDp8PNjl2Y zEql^Z1o}($L^6UtBlXt@2qM{HD}^julhbF#Ux65`qF5YjbJ+7+ow5^w%QQV-_+LqZ zqt2w{hZ>}Z{3{04K<22(e(dFUk?!C6FQ;)oS}3yy=k|XhY6+deslMairvG>@sB`Fa zqG>Qh@q~jUDTI5^CW1&{%T1c0fZN?E{q3pO3x8IAjc?4x-K+)6G({!YuF>*-MtXR0OVe3MJzTn6Py zi`)_&{v(Y0vn}W<8?^IR-3HvqGX)|xr_QbhV#cEYw8|n`xIDG`K*{8TsvtZRp~?!5 zjmzU~D|4NB1PRj-|M(S}&<7#u)2d~nhIuEGQWflJW=>(cVo_X(C-m{Xj7!jSU#*+jB;WRqWePK%JHZtiB~vrA|MbhR)Rz_?48*CVp1x1o zo`}MaMx2AYwnly05qdc?Qhhfts!bsgRjE8EwN#FHo{~a=A&VN|d=!W3)}CN}abws& zy-fVRvgR;N=~)J-9Nb?meQ@9z1oi_{(_aYTNm(s)GM-sp7+x3x;g_SoBlN#lEJv=J zoScBMtWS2(Cddc-Zi`lqZzSxJxBZ1ozd(e!O`-i1$I2cFBUY-R-7 zQ%OAq(&6{o$pgrjT|fnXE=YaL2EA9l%UvaHsOL7%t**BjkufLA)gkA8y4a*39mXHV z58Xho*S3MiVwv+Y!6|=?Z5-GZfFW;}pcQ+cLtYyZajHuN#XLDnJs>_0u{^$`SIeAi zT8rP@b)4&n`93EdmB)&c$dhH0M>W(q1zsi-Jfg1CPZc5$J`!VzC$BMdKihw+5gHM$aWZkqt zsw^KdT{fI0sTXL@xO~xO5`q-OAwMt>D0Yf#ZdHEAHgg&#V{F~a2h@Qv!qUAPU>qTf z=POkIu&gTZ$%Ay+0|LcKB=z_vF>;=K?GCJjeNXFnba3KRUwQd=|4dtwh3&~7Q2SYr zg|ZEGWvc1WiiWZ&gREd1mWs~s6#^rq?k^#@$1<u<$*nKZ3_IHKBG!U`PjBJeMRD*?Cz5k=6-~-@8I8yVj?_B?@IR{q8bD5a#~HyA8QC?4?GLN`%TdqI zD-LbHck%j+D%yO_9@^q~?)rY*gNTw(C491o__W-}nq(0zsSTt}c&T)Fdd%h9$On;och%ME=dn*QRmWD*r8; zzj={TV`KN9nE~LcIJoohauDw-+$rIy=nQ{IkJX^V5k zaqiCd`0I;jtjJK{%J}%GId7CvWmx*Bl?q zwHFm6Nl>>P<)>i&;qf(dQnjz?k}2<6H>J!M2xgt&bJMQvm{*s<_0cZxR$~SNB1WLh zz|MhM@VgP>rxLo*fw31c;G_I}iW-JHG^|`3BM;ZpTVq=u^(hifp9C-*H|MYN*@jDg zfrOPNp(JN)V1fx0zF6AbaCfaxbeNU$aO%?(f%Y{QDUJl+e1u+*y8&|?YFujw30q&RhWptlHdw$ydH~I_Yn;}Qo59-75(cho2_RHU@WguY zjh>%3ZsafkiSJdi5swpk!6?*ng6fbK-@XwC-lqMxN1^=4QEm73JComD|L{@X-Uk7p zczgYmlG^W{z-9&iljm&#`*l%V>4{fzzFbPLDS{wh@=nwuv9Z0R;b5`%BTRJp zaeC>WLMjC`2;CF+(M-6Yc)Lz>>|#>F>Gz)QS*-fIAi#mIbjJ1c3Wz9vr>P^Bi4n-V5t#zXk>4Pa%~81KE@C zfynRMNTU5HO7mQeS<380P!pS}s*IXHV1K8HineX@SM@o=@n-x}NTtBe!-sGF?l3*`@4`6vDC)aUL zEy5QmKdw))JBRuxthZl|7F^D{Fdl$hXb;8?eaFU$iJ^OtmgXDM+a63?E?&`B7Y+K6 zXtB{r@v~>Q$KS{B3c5QpkT^Wxi)k0ymMn4`6OzLI<^HBb6|}GHVG0`E-=HvupkD#d|xdXl85ZhTUi1Z1i?AOD++V7%Eac+-Uw}W z98~Yd8(l#TXI>)^bQ!I zBW}6aL4Kb)GzSk2CSAGbOe{?IqtMhJcb{?sFfA5^grzlKCuGP929%4qRmmLMXIJ7A zw5~o-?4_!F4Z;gsJU%rKLAg_R|0NxE#a^nfS_2=HnX~GOku}D;>-^z8k>LBO#>1Sm zX>31GW1gp5uY3B#CK^e+*96A>?vq)Ix-zY3ntA0_>l8MFI%kjTP>Gv~XPe)`n3NB= z{nxi>jQbyTynn`D{{y<<@8Z~BX`|m2rQWbDNNtxYlAGDpAQFdQ5bCqCU}R)aW{6P^ z^6xx)acByDss!a)zCQYCa+S;mMU9-;|7v3cGDc8D)!1n#$%4jYQd|P95D&jK<Ez*2;th$1b7sm3 z6t{9v@U5X($wMfA7zY3wwNtW1(^SP257sz)=0z?TRwz1S;yoMWo+)zUfy~1$6#fgKVPugYp#>t0!M#yEB8H zj`#ZXEX!2OGLiAc1Z_}jUM*yux_%}JGD_A%(D070p*P^g2N|a1=n#86uzB%z$6-CC zQs1xjQ%SGHzuuG{ED(otFBgm|cvoJpLg_5H(z~S|=*$Gw50x+7@>e401K}0dIebL~ z^6y5eb_7Hrc~J45!tN?OI})j`|Ker*d86yyt6KeL z_Wok|8cGGoDo$ID?AOz!<-l1bgF#eVtA<|tZtZy976_!OuKhnQ8iV_$R>0k6kad;N_1Nf zQr&JJDlT<&bojt{TTPW+Lg)76lL&}S&d&GS7VrQ)p+L@W`o0aM-+tWoTDYprNH;mh4myNo)X*@ePep+NB)wmn$4W< ztcC-a8k=f7K@MW$OtbbsRw*v!)qN4 z8O)zQ^m`pBwUWHWqH^G-k#FXAR}9KG&#c+`4$Fv1v~s2Lc+ev&$h zf~b+4RbV*u>a**10GB0k<+rUwLzS>|SH(;Kw0s?QjH%TY8dqO$?p*~k;cMxjkda|F@(_SMvQ-yhZz3D|$vkVzbtMCXw zfmMWK4&_lIF~qwhlZi|ePcg7AR`%Soc7BPx&F;hUtm~b&Xzrn)al^q~+%50{6iN1D zryjH0AdTc4f{ZV=KBDgpc!C>9CuPNt>!rrOQNc-KixV!&t;M?FcVvQ2Czffs!=W%c5J~r8dkQUM3=AjyjPJbme@Jf93IyQP0=980WS>^T5^`H&YARKJU5f zQVP8dwRs~)qq3C7{QxUDl+{}E3HzAXKYf!H8XTwa>Jeox9qYvSJ5i6+;w zR%FGqN|P57bH2D=?!rNb#NXlpNj5H~Uy>4eGdVrHNH{4TZjD+kBc&NNXjyLyEJ&!Q z&gI%HFoopH`*pgzb!-qjbt%Bf;O|FutSS&l#I?dilEe@AbBFU3( zK!#Y~!!T`tMW%d01Lsgs1Cjrdxw8y@L!Q=s?kRoH+8K@k0i7#rC`90Lto0El$cw*l zFR|K}I=R%Wr$%|VR28TBm@s)3*svNBgd{l^PTGjQ;sRgO7hmndvf=DOH8g8PMFqP> zbjrxoI6JJ8^L#IZtRqO???smTo!&l=Y)?xD>24(plM*ejQY%{~F#mDC`drgk)ORNn zUF!DuN*}Q`Typr+f%cb5&Ph#6g`D>4^+u@UoyrE076JQA{K!xVP3)9efTtJdrwI1K z7EKLBQMog6Hm8Saos#o>N$q#M?Y1=b=wH9uy#vz|#-vvREUmN@?q`E2-f>ym>pFwi zz8jI+=_!$i4J@g{W%4dp&4RjA!wz*9cSu;s+a6b6skqCb6{+9jdI+NJ8Tw$-N(aT| z4${@RX!ujg%|X!L^rAuf5ZLeJf`q^jea?$nO>FXHR^2t&z=DSK6<*%&_pEFw)aqK& zrMF`!vmI&N(04eg;LI|0;We=`6biffT2}QCN*f(E_LzDo;g{0skl0B#x_#apDId5A z(rLM#Xf=Hax%h?X^laXhNCf`Kf=C}>kCS^t>^A*TZksmB+>RG8xV%?v(8!JV(u=J#@MTQ-A3@y4}|dGy>@9?;bjlJpjq6<*>zq&;L;gI!d=ds zhMiq76-|?~PQEMpP>&T|%C@CH$c>|4(j;pdXI2@8Vo{&;TLTAS=k>9}dj^;C+>~x9 zD$1p}^8Gn-)Va&mey{#n&x)$()P1(zW#xUIOin!0;dqh0VSn z;P-<2?sR_3?K)b?*+k#=DQVG#Og( zU9v`>u5str&@Ib+(?{gsCH1>^&0V7+f2u+SR$Lv)TogplQsqT+6Ld#BO+sQ$R|&kV z>Ydt;L@(Ot0ZEJ%tenhRf*ENy8AV{X*WcqouTYB3u_NOXT zU@cCSehg)oUlge{WVUppn<5G`ES)z>$G@pi|DXloZ?pTa0u^wuv9^+zvRR>r<6i0DpUf%{ zl1in<1S?hb)pj?f!>a751S{@cRyQ2VMCB5GBk%0>I0qdIpL1VuN4wL#H+Ox1#kc3v zs$sW<`mBgv3*|VR405E_H_t%P1*4cY(TNzwsQ5uTRm8}gk$gS!ad(Rdl*|=MP!)!D z-khYfu@Jbry5r7A;yjFPU=J!aZRA;fIrhu&GKj(*^iZRgju;jNx367HHMsQSABjUq z3`-1~Y~VCZs!3)c3A_*p{21Uk&~~Yd3zgKIwFz^~`l0wL{Ia>6QuRZ~;{@`w7s-*T)Ee8w^CX8_5j=bK367Cb<-bi@aOmJFj1tf`AOw|}m z{41c&cT+{FBg6lC#+#QeVqNDLvd&88QkrbM2ii10G!b96#0m=U686*i+)Vg`!ka-> z44aXG`BnFh6XS1+R{1}Y^iR*B zDNLgb<{B#xWpxUf|b62n8QbbKmP_Vi;kyE}E;0wmG)b7?F)y0dBS$)Ae3T9(qO% zClC-pxXXM(?XhIe4 zHd=o=A@OxttaM8UBb1M?Sb5L?P6<$Xxk|_g zyqp_XMk&1fnuIM*5socwUPcZ<-K#I>JV)3|hL$!7; zwkVIFX!L#bX~O|(`k)T(pZBtVgm zZ%jAdY~$XE@v{c618HO0#+1sc>udJXK_S^(RFhve}9E;BO$rN0VkA9~E zP=wOE%gUZ^7K@iEAr220Yl$yJ3`;F6A+K$Yn}$i&U@&Hq zEt(l*3RjNbcJIj)VglC{WhYVLbGVtyiwk=t*{%t=oh-McM@g)p33z9;e73i8!o>)3 znqK~lif-4KoSSocWzOT7m2<^61$}snUroE;7k<=(E&;M#+o0lj^93n#Nbwf}IIhU4 zQA|J8BtA@qac^kxmFObHrtw(7Ski+#!=_0KDRzmJGP1Qb3QZCaj5hV65S$!te4`FL zor^~POlyQdeTGzt2c|OfJ`gStGN(uND>R>fq^JX*#FWV();Ml#&CHo#R{fOK6%^Jq zGHvoZX=#83nF|WF+Jk%~ky%!jd_LImS(iR@NgxMaf{s9<_WK?*wKy@dH?TqEy84Qb zfyaqMKL<4qHo-7Y$-p1cwqjft;h2}c<85S=SHHv0$5!cLM{G!DDXKAj=$+(p!)q$Y zr-b^xkuZlOKkDZD^QA7cKZNDoaoCsFIpv+j={-Q`Y)bsY+0b5Y*@fu1OVsedeCjWI zPwzq0PrSQTgf(Y;D|QX{+8TQD>itivW}R5V1&?>174FJiJ6%_ueS21sqCFWk>G%sE z<~+jUhYbhx)-#1BIwx3nF)-enjNxj+Jtdg79&U0YS_c{^t9N^JlYTT!h1!?fF8hj_ zIpqQnxaU^c05Demljz)eYgWi!m10j`2^&}~txmIDE2e2)(=R#g8pJINrZ$2VG^s5G z8Y&XOPh{HE=t5QU?(e(z=F7>Dt@wC3Xu_4R&Fma&ktf|O=VN*}M5vgXVX$;d#oW_~ zH4z%D%!0kU6n=5yFzfGC3<=TMd38h@-n|Ftt_mHG7I3kzv=gtSLcNi`_2kHMOG~fo z`gFBGhSW;5h4*ZDidq&tGeNtJ1Q+KTfF=-qc7?N2f~74iRZvT>Kvi&qxLOi)u8=W=)j8LF5k5DuCxNY4~A_OW$oy98UL@FrzAxZF-X##$vzNtN`ptffL(rEl%5+byFpp12E3MLI|tirZz&LQ?rAF{P0Zz z#Ryen0G%j@@3bQZ_l=<|@wmt3SPti`G6PuA2Y;21U7TfvYenpx9rBo=gI?w952l|2 zHBnQ--c$7Ap)kn@#B6y8i0r}Tgon?lixZS{9?cmNxjKIoP(4&osQ_}3Ft91Wa}GW& zz1p|&N3xu!3{EWsjXchFp&b6_y%&$=S93aWf> zv>vB_!CwbSN>-?x&&m~ey;F=uA3VW)ccBu%I)SHd`-7mzjL**}^jddMHTQ-23l25^ zCrMv(;fWI}Kamrhh)`zZ-XW<;j$*>SPhXsD6{vG1wsdq4C&I0P%SYZyuh?oX6Adm{ zyQo9bOKPU)z#3f}_TEc%C^S$!$*-WFzL<1-<#S83ezd7-MXhe2s!;uY3Any@*YR*P_vT!KehFT$0~cE_GTp3AouUg-qMY&*$TP z-Hut4qa4V+i=H!&LxH=7bxt6uR9jOkofAvS+ihl7FRSNJOIaoPoK%?WsyWxB9W>Tb z{(cS8n$SLc_VHf8?jG`oC(F%P_NBX9h%)?-v4+hyRDB*OV0{Ct0X1RCd8lhZ&|O!= z8kV)|{8m~BGzO|H59zf}1om8k--KPhG@Ykef>h(aF%B6|eAqe6LE|3hx3!TN&vn)E zRvx7I!}8!iuciZZf4?})9m*8D!r#tJxL0%-pmKBNhoFdIHFZgHcNDEn>##Wt%*!mG zR+f;QE>BHU8^z?lh}xPDcwZW?wc1s$5#4RXLaX%!vheUN1Q5+`oOx7y`i0fEM7t{9 z(H7&~#^Exa9;;%XS|7*%=9B=Dp=_H%k+oT$04%DvZssPD*M2g{?RIxmU^fij_SQ(V#MmB=7^FHj^t}l$v zi5Vdd%O4V=BNf1hHI+gWM)mg6ir7=wO*Z$AKp>&+_EMehXUHz6P3QVQ17|p}Bxv;{ ztx5M8&S)9Yp$aIyQK16d7(WDJVXj*^I?65fq{8H}EH|%Nw1L%nRR7@MRAGl|tBR^l zyfi1@{^`3Z=)ob=4yctVeY~ZKRGQ7t+@wMExgqbb+K~iOPH$2f2=UP2e!Mj8Xk70abeabB)QC4+*&_6ezDdh+yM8(kK`S1i9$BY z;T8rlnc;k(q+PF*5sH<24U_7q+EKZEsgOEf!Yy>UF!##)(w1Ua9H! z>ZJf1q`YbD=N#@Zf`px{?Y(2i9=7U`)_a)WrkbUmXfgcTRAYzuqcHrB)7-ygxxb%j z|5x4v@;ZO2zW-P99{7{>{lAj;z@Mz||CPK4{$zdsujD=OC+quvCGUZMTi^e7Yw4eK zSp0s1|5f4tCh(&ee(Sdh+}&1D#pU!BDmzRbjK%A3jAA%dJS1;$cN~gqg&Hk*YW}XI*MR%px`ViUO7yPUw6Oj(MQDyAT z8P<~S`p1?P!CqBqaL{Nn$Pr^EQjdMS0Lo2lEvObYM2j3!NCkk=)(67Wp!cu6BszjnH${mNZK-Boqvn#G|OvVszYn0QzA_NU4 zMEhB@J>qZS z=|%8NPWw%T|8`jR&kxG}-&QHW&`8J1#_;dr(_eM?n9^AIiZC2cicD8Gge9m2R@+HG z?KHS4hG}z{>r7acPe0Le^3m5E`$DIHY{c1xy%-3hCG7?1>6`f&{1-1g-soveuS#LF zdCW4~=dp+2`Fms)^V;tbGvak23ztnmsGGB$u@tW(2GR~oNfqjbhdJU2AN!yNq(GMt_-btZ>MVWU4UMg)8QOT`a>o($QHwzz2X)( zpB(BLjlDt+w&ZTx%^J^(05ccZT}Xg!24B->fptz99sUmf0aHQA;4k9Qtpkq$W*20* zJ72TREC%_N#$iBy4AYaC^Sj_h@DFyr7MN1%&aBY8@Ta6I^vPfCT45eHadsVA4c4=i zX+ID!D{E|dxqLwojv=*OFzMQY@0{%or;%pTq&|1SB-z+7Gr#Fii%GlDtUiJizP#5D z5qW}nijt~H!I;usU(esY``nNLbfJ|C? zqj--_lThmW0X}6aJiKvG*}dgMjFHBp3Z>k~J%y z=sEqf@F~dpGU%#fX@Vc~*wH`dgyYZR>+`RZk=za!&Da*#Ih>s|bPUe50MIjujHvo6 zMH#PPc)NYq;IYhssyGH#{;2JwlWER0TQ&k$Mo*a1X?gS0NPnRUL53s36Ds|0hP}$+ zE*za27%}ucKTY{m*pSmZSBvtU;hzPjYE%4=Rkk!jMNrTS>>)Y@guJSV zJ((nVt>Rd|)yZk3A$`Bq>o_n!y`y-MXwxb9^i8V`W=-u#Atv2xCpS}hRuAQq1tZzM zB^u$mUPnvN#YoH0jG6bb>q~)1biA&SIX}uw{^yxK>W-rp*=I&_FF<20hE1HL6K)~o z(b9BxN2S_9y)NZP(8K9#RLusQ$sMUv3^Rkjt-nd<-ICf*QIJz>yt4{kyS9V(o5dAZ zU{2b+pvGrdzb!zmmJ>z%w-Oj5)E_Ot|3{_)zpwuPCeUb%T+JLD9e$_N@*>-$d*8Yh zElw3IF}RTJG9sa2rikPw`xD#3oWgM|MTq%tPX>8Hp~aV%GHi_3#5B;L>s%N%v!}0W zlM?mAbUF>S-g%^o>P)7}#xckzv4I>B$g2B?-Eqn#lLNZRdlLv&=GxSt*aIIDV_h%W z#Xck^Vc>;}9x+S~n1h{Dmbf&~#qEJ$s@S=FZ0htLoL6N%qG6fOXnIimbr+(-CQ2d* z^-XLEF|k{`v)s?5$hC-sK0QMH8wI8dIt>pLZ;I%x&6HdBk%^mW> zzrgy_BMB`GQ5a*ax`I|sGF^d?NCGHug<>Y8wS;SJf~Ba-S}N}@*Pqx(Yu=&5lIPE1 zlA)i$;Y7CV@|82DOFc`+3);bbdTRA1RO^<_OcOT|9LU@5q?-7?S`UG}MT1ywH-Rb! zYvPuU6#a(8L!nlO88ae(tlT6og_Uhkr?8JU1Is#6FH`2DS`=_9Yslfgb_ONS1pM!|JO15S67av{ij?)V4E=IEj%XZ#D?Zw1U zu&dg}?{@O}URO9>n&F6b&EV@}WU@pqZy z@BfRxW{z=+Q^h}6k-Wm&^@q{tgGy6np?B8SG@>Je;fJIKrS^N|%Z=QC*6Hug+vd5e zv;=su>w^gpLmKn&6nS*@SYxRUzeWe&V=6IIJ&o8KE!$s0*#fPgY_m{W8GA)w0VaGP};HE@1B$~3e)8F zv{%4c(&r-q89vV;TPY+SkA%D>P9=QS6Y|9gVL}QxWQ61KnJ}f#r*{_)GDZDz>Tv!5 z|H+bBHwX16xv z<|pK`%Obc?gcM+|0~=FNu-eLx;sE^dxHW3;0dpP=U`Sfu}A0L|0ch41@) z#4K*OH5W<0%7?{HaU5ov3L={JsAX}xOoDWJv-565%rKbg)RABqtZ zrh;@fVfapY1Z%vy9W`6tZ6&LC^WY;-C{)utSM0bAm6NPZ>1_*uG$#!^e6D(lA)unK+c`VG0UR5||EcrP530=l` zY8{l@_ZdnV9k@r(YFFnk)n&Rg%u9Pdae8ccRirJ{gP71M8~L8}Oih}tqD;g9d+z>> z+wK`OX7$By13o*X!<^M=E|HeNuva&HZqp>$K zF><9da$uxqVENDN&)nfyZOnR`6}kP9;^UIUr%Z#;4t+>5eDQ6G#dcx_Rv5-4-6Ke_ zZ;z|*;_lFlLdwjz94f0k=(T9k!%AN%?@M}~S5ICxw`_QMJ+DuG{(KJBK>&VudEDOW z;PLSMIBj3|0=$|YUxHT)!d6cX%x@2SdUS5rwY1uRyX%*gjFa+{HQ?^K;qAk%)t=3* zjFys=o&wUM+z7T{89C@fkio45Uhf3GcZSr45h&ZJvLLCyxQ*xWk{%cZLJE^}tx{}0 zt}`Hu6F};EG8w|5m<-!`wx;u;FlLp-Ig0_x#47^PqS_K!Vr+EaIc+)ALNf$l@FEom$a8j(~l5D_RWayLlh8AjyIFXKP6~+3~Lu`cng5jJDb-$)@A}q zzw~q;>VkFqsCs6>|<8UkLl-R*Lz_eIy?$eCj7%-rBkbtlK|$02NRVL{wMKJfVs3t!C5Sv7IK^IZpNGEnaTm05G= zZ{l#qW^)0tjii$fr#tDiupk~bDaZIWQetOvFl=Drq#ILF8d9mKg#7d~=_($Gh)1Ee zq>lfUBCXM?Vdhqdsb1=c(`%M)A+rw)rQ@;32tGgRB=oDX zzJ(6s+C*q|6#cQzT6zUP-lVoB?8ah=($|qQF*unCq8G~VE9N8?B_6l; zb(v&M){pm9tn1X@(ISH=7H5gUTUoTqVS}!Wx;MjZm|HQ-aLRI3I!^u{-p(?t?j+m# z1b25032wpN3GN=;-QD@)1b0YqcXtnN!QI_mgOiu;xz9{b&z+vW?{oW}PkiN6ovKx9 z@BLdvfV1v8{X+|3Q1>hU>y-0z@f(mW2oSK2uG}vvPAc^$4E#ba+8u}po~vy07P@WAf-hc74p21!7e;<35u~-wh@WZ_C$4rlwi;E8o^e zE~mWX6T2J_FYrgH#hr{nURVXan5-SpOlOMSJ2W)mNCBa= z_l}k(i$&Fd-HoBoSE9|~M~q5>Bw`0oDs)ZZU7lT1_Gar(9hv@_xonni;}bOu6h@W3@1rQ&$5G9E9H zZmQc>x2g4{6S&$$^ZP>Ajbf@sZ%9XbeUr#$Ria6XD_#u8VvLtw~Ao&CK!w-iP?-*5>C+6*S*t0invU z%pWbxmQed9(-Irin-}Cc9qkesNvkrK4aJRS(PGXhflxG@g!8P0;c~0Ns$5ept!=nSPy)FEjZ;n901T-qfiE26=TZTXWBpExs^NlJ8^l6e8iFi?j}Eci?VGr!^S0_V5FlQ4W-&z4 zVHPqj26+;W^Id?DlqrZ9$i9`w{<1DFJs7;X+}n|HCfG^g^YFJ_na1a4K$k8ZBloct z79E{Uf_v|FjQooutq{@Bk0%{E^Bq2zLYS@68jk8rv(2w4debhg!HIjzZjkov(PZs^4b z?c-Dk?W#X{T3guLTkfFbfLHl_j?}t2@oF0BzFHdp-nnJ?Hwxmv7Z8rGV&fGK_Z$5% zNUEJ_@S-^UmJ6BmlGIYid2T=|dI5mxvwqvrxaO6G`Yo2Gip9zXku|n^e5O}F=0+#) z{?ry|XaVjnFV>J=E&0Z~>wCW7wNvlb$F18j9l}!=zBBK}<>#ldmAStOh}VSh+sBOZ za$X+K#-A5DE~+jWygwf<^cx=SZ*A``*H&gmHcEy$Q?^DnEKs}LKn{Vs?#B#ROJ6Cp zg)L||1auG^*Ql>fqWSGKa%5CrBP@obySX3*Nk1YPRI7~LslU62NoZyk;zQ}G{R9|rGm!R8p|Kf z`%jpZneOEdfcl>aqWgPip+~Xy}rYOlh^JC+3MzW1&uj0ANfY&?LYD+WP>vPXSIJ)5KylQA~;47%H(7{d6n>0 zLC|RzYYJI{{-ud{6Z6WTZA%k& z&v?bnLFlT`vJu~^^QohbNk1^jMRE?}`hu=IL(j)*;t8-J8f+sUg>WjH_(1}qif`ZU zgXe>n4g$ronzto)2%&M5edLsA6#F1h3lC)a3qh2?$KQy7FeRnqV?R6MxKOMYv@^nyN$$2xM;MVX&dDBQ1HpM-cJ}HAQc#`!U z`4bZx#@DIEQ@!RwE`a*bxPHFE$zc)F%w2@3#q?WZ8LC);e^UjA;x-(rjg9GmtZa=1 zL9GU1DckBNG#*~+0kt{z6D&2GYR>mT!-n;FMAi4k5?1L+I8*9sbsn>`->WwXM$5yzseLsJE z9$@;0o~)}jR2pb8Bc|0*->S^7EZ|$IG!`gn=b%XOP)GYZJucy&Vip88iuiHVBzXtg znzW3z49o_r$RnyJ`#mN>)jsqT8X1b0N-b)J6ti1TRJ);QRJPOlu`*L>evZ@nZW$R+ z^U?gd5>m2|pD#Pp$<>BrFb7{ol-jf|_dRiF8^oqC>j0qX%cQV=xNZEZAV?*=<*Jb> z18EViD6ka|g5=)@_fv-<;e*O#Dlbfhe(Nyr!7zbF_%=(30sJuf>_&WafOyh;Dve7xoP+p1!29|Fd&o*!_yN%zpQ6W~;1oTvVW{vb)nXe?vyTOFmLXf<2U-Lc+p**s(bc$oiDWFIgK|PoRgta`3q%Cxs_Z zD8rai5e05YI#OvD6eTe7vVc8C9)@Vg*x4!{UozC0XX4g9(W#r}HWHTxFq=D5T~Hmd zx9wKea(htPAhn9CZ_ABxHvr4rjxVgsPcR*Bd|*OlFN$lw`Vh-OX`DU@c7f>5jt>zd zvLUK+EAZpBL{#zm&oxfsX%2|3(nFAV#*)^kb}!}&TaO3~ z{~LarC4oK6E8i16xiC<($4L2TI$sk|6iAjZSu{+Cm>oTv7F#>Fl4)u(*>Knb3!DeJ z`aPYd!iWsDwXu8*TxV7jOh;*M=68|JiMQidsa)f_jA}?E=Z)k!0E`@WC}!OkpRcuy z^&Pik$vVXjN0ahwyE9CC1ey5<&bSV)%|<{<-_p%?4X&#jX0i0Egph7m{f57)g}QzDL{h@;RUFqr9%F}E8>DSutZ#{^=MKBxEIXXy+OOJ}vNGK1C$Wo4o zE6d4_jEoIU(@IFomdU9W?kdR1$%#>qNYV`sk12wDhw#m1W-debQ<&1ChAnOCFjt_4 zy$q8;S5TNjm2{AZR#JDEvA4@xumAXsq%J#vmo*O)55U1ro}8k4Mb!P;N}g|^T50(z zbV~lP?C}SspMU*7%pF$LmLgy0J-yZ{=ogb3eX3C@WAy#rA=~g({g4Evtm3i`Hnb3FuPuAJ-Z}l;d;b3TA%l?j zj8K)Y!g~quZ1MPcZg->K_Hble*W9MnwsgYF)85?nT*03EJgVgJvX;4?a6sjR4=bsuI*LEU&60{=ZI2pU z@)x%(fhm{5xZ2Lo&h}z)UT8JfV-j+uRo*SU^lqDhRM(+vF}OIuOJMp!-9B1+Ueq^E zuP4<*p$j+K!)q$&vY`>)AWw9c@$CBPChynY^=pUI2TS`Q%Q+_e_~cI_7f&-eEG{eA z%=KCoNNeFUc?wZUD^@=Qzrr$$XI{BWLUIk$HbUMaGF07cq!KbUI#{bWS|)$9Ox8%R z-xVP=WgIR&gM$GBDno~VbU^4x<>~N8IP)TzGOW}? z?KOnF!4dQ+-ixwr?mN^@_2+^SFOiI4_6h?@xvBz!-Bdiwm8Cpdu zKaOhc=ZeR!hSKRgE5z#x68I(0?b#3T0FI*6KfU%Ri2Q99+SU_P%3M3*_e)?yi|7 zeo0#*JlSw!p^z99iRtGKxJch5b9R9{PSySpK-K%>JpLK8q|#_qG*QevIM;dPZOnzt zmg5B9$oNuN2{54uCl?@-_8_EYbSH`ccPN0CGfslpnfS$U1_Uy|Pmj5SA6L#)l+wUL z?wTugcUAa{Y}UrJ^UD3cKG(1lB1qNorZz>)7`s!l)}D1zcvEUF=7U4Jx-d&0;!G?#>St?TevBvourzgZi+uN<(0&b?IoOc4%3xEL9@`iu5wj5Xk#2r1R+PAW( z?Qv+;9QyMZ*5H>?`b@JLkLg;d!n`!-hIeb?A1s-d-!YTdoAR&N1&g8Jr$qKc+~#V3 zt?I-jvy`?JAI^LDiSEEq0a+t6T*L7^W2)B@069nraYBEi-#vV|_mnhNgs<861x;fb zs!BgnBN7OuFV*uLCJ%2sOWD}86SE`ghiS2wDWN|SV_NP{la1<_%Bky^uGDLE=d`~@AzSq+^u!+3dn7fB ztp2ra$QHfv60F_<@pEshti@=U#`x$0-6+gl^B90o5NQy1H`6VC)v-_3r1F9MkX_y! zv*fD3%l7$Go-t|+25|7ShQSS2`BU1wzXzfh<&>IJHipu1b>+s?Tg$iTRlFJ`(yPKS zB}OkQb5sQLS7j)&4>CVHlJArA!J7`xG%{L1efKB+;e_y1wqX`w46JLLRu8?jRsreK}5k-;H7Z%?!B4?Pr}0?)3Ur316P?LHJDD>gZY49!CS26*w10GiX}=Q7K&NlGxZ$CNh$(& zSr&}wj&b(%(KC5BA8s7h?)jS zx1HDzG;l{tZI)proWpG1lJ zs3e>y=Bg@|EB@6-R_T)#@lA06Lbe3|d#bx!NuxWRLj1ubMQ5xn{11nOwh0|+=zi3` z;L;{Ra-c9&9ReVbB*gxfcgoJ7I2gNB@YL57$02Mad6hMgp8FkdMSLLa)jADCNJ zjug)~zT-Awai&T{3@|||gja2b6h_!8F%TMGCKtfVz`IMEdCK_F9JF+?XJ;YOo%eOo zdQs+c!Fy9<3)?}?b!A$SqB@X*Hjqs_mPlGrSo@Vyjz}$+kB#UYB4IUXEi`$`9td0eOcH4)-nM~@a zvo%70H z--ax$>8w3HKkWWWir9)2diRS6qWeQu*zXE4|I~l;Tk-H;%yn96aV0uOS4S;*>8K?t z^p!_d{E=|F^xLqT0OH@S;WSmQp`&$f>lUgmc_T?)#YM|}I4{l*g z$JA29Pb+D5Z!!w7D>kNSk%hUimR`4SN%ML?Kht{oDQ>>9so3+?r zKo|YNj-|v$q?6OeWKvfsAbgSYXf&{Iz2deOha3<2iL(8um%jyt6P)i8!N}(cq=qm% z`Tks&>Kd3ka+!SBgN)BfK+S;ZHT)4WxqpVNYlGco!{^?B#(849_)6<9HU^jHS8nxK zk4k{pxu&>SZiDX7aZOKe)Q|Xfvi|1P$QlGiwQyE>BAbbLXft-~B)P>18*c&nt5ob# zn5a^s(@Vtc59LMUccm0Z?XoYICa8F}&9tLIgW(+IqUUNCEjar6;z#6sV=pVsOps?H zDX4+6!dYZsUe`ZUQg`g^_Hqaao%X;q`O1L@PuRG06MX3lisA4g?PrZt(!tyrCItY$&YEH44>zjY%i9&|@WP z!yl?4Cj!+@CF7yx`PKcQm;~=jB6)M~-YARC=YN!DHI!zOC`^>dtt)8plDztChm5E| zN#;t7tK>&5PNggeQ{*jhTUtQ++0cs$$c@ogd^baxyo@8uE<;39Wd3A_LVWeJynsmC zT!OQ2&I|Ns`;+?9uj+U)T&UagwbaP+hlr>@=$ZKK2LD^n1Yq>)653cNyz+xyM{r+5 zB#?Q>?0M^*BpGyxMzT5<2^LQnOZ_ct>KWB0KQ=|kUw^}jwd@zK?2dGg^7JGjU+cvtsngU)Ry1ge&#_Hvnv)#U1PqF5kC-_0<2<)^w>jgGV`FTu(7fVSLr!;}ZZc+!H3#b-RE6K6v)Hfg`R?H}-K87E7@Q1e@r)dzBOuJ39 zmZ5K+BT-lyT5U~5Nor$erIWhn0Z(_*Wj=7~jYC$GKx@Rh0!ckyuhO^%jOPkL zvd`+rb50*fWSnnqF2C_Q2Ll%M zHx#zrJVAy!f>6&lbjNZkfglW07WQ9RVKEboatYu zrOrL)bTP3UR1u2sox=36@6{%X5vfm*E2>&F-2@mQ)&*oCCL zW!cC%_`%oeZ9zILIE1~~2aa0=_oJ3=h-6U;XL0dT0xSmmICiGBW6#HtVe2;-yHd`y z(q?aRDnx=4ltA&{tDY(Yo94m3kG4I2u7u>3TmyEE5flamR2Mo z#siTLp<37xi$pRqFlh>9tkB=%gD6qm!OhOoB-1c*taGj}+9^7cbeLk_OM&9(=}T9Qa^S(Uc}kP+DJL7|HwvmK zd$>S#=Vn}Qfg@6O55-jUo2()_dA{=s!i7##k`#j}R(Kod<0g}AY$!0*x`9ml23DX8 zZJDgsN^D`#uV9e@pu(6B&(0v}5=-jM_q+E@->+tO$olO1A+&GHE|f0HQO&0`X9@KB z2ZejF-t{uH#Hc##w8;2ZxJfggQO$UqlSarpV(2>%nzr)XywMfR;}uuF!<+Rcy+!|8 z;v>jNd&f>@Winw1v_M7Mo~4^KOcA9}Zfsf!g9S-lg@bT^0J{yE#?GitqjL(B#-6Zt zX8}oGATH$^Vfhd|mY`_Rx$GnZhQyynVk=b&1b3sa2>_H`r+*5{^$gk(XjQ+L@cJE_#GL15zq3v>0U~3lE?YQvkkxsMHL>6 zCeG?OafshP(my5Sh;H+)JIX^;6rrd8*5>C6$#4&a(JskbEzokS30I&u!OF1?MU8wl z3f+#!^+%2y9fm*wp%7FZAP6_a*}l&nbOoJBs>EIhycc~|eT?X(kcj{4+}FR#4~pMb zE@lF*lffpCbiOgd1!dgQWf$qYAkKEPTp6C z1+L~Qp>)<&*PdABHn5r?2|Q&UG&msDJgpy6Qo-iPON5nllCGzGa@+K7T#LrUDfb5g zV#&yWa3nsrIz4P1o0<#vx-3i!o9B&@Gk7$E8h7=%mDS#A^KA=xXpal^^7xWwqfS z{U47Ygy_0smsx3~At2~93QBoeB9lUOMP|zY=R5c5*p{1#LAUYrX+KP97*!$JL$iBe zLltIz(XSt4uTNwm5Ky|%WQ@}~xtNV?U>6d>!!&%ZVO!360rM2Q(-oEDoEOH0hk9Ni zn8<*4hU$KdTJE&|_FP`vxr7AK=zzY9>)G<4%bYsx?V{iKnXY-|G>~t}&VUbIHVgsS z2ek3UC3uK-j@-$ZCL_yvCv(A4vy}E-lrTv4D~ueUu5%%V+&ZX8`ZLWlNgjTs(puqK zImEmkc>aGlkoyPCx&OF_0oM=zRjT_Vm+G%GsenJ_QvG!%74WBAs=v;p0{)as_1BqH zz@Kud{yLKi_){*`UuRMQf6Ar$>r5)(Pq|cook<1!DVOT6GpT?-51CKd3fT&lm$ zqyqkwOZC^8RKTBdss1{X3iwkl)n8{)0e{M+`s++8;9p#-DX_^Dz0RUZmUGR8uT=`# zQ!r@=CCd(ZrmRIDHm2H#hab$>X2f|+LdAE~(n|S)UBGwmCT`ZdKv}Anghp+UwkLi( zbQ~!;CuAl&xn@y3!1bP-RoJ|EdtLons(W{H^KSaprTXwUm+If~e>whrw~v_vt+A7( zrHh&2>$I4`YZZ^y*2c`*@i!A=Y0;fB-SqH5XKt`-i!$cjO=!@}Fm~G@1+Y%qTcxv; zBoYd&+QH=ORj%;B^t&M=G*m3f#HZ&M%O>>@Y1x%GpM(x!nhC+2LqNeVecvs7gmt#@ zsoYbo9_Q9LO?~$z%*Ap_a3I) zK!ZpnGibbi+kgMCz5eyzwQ9dMTK(}?Z|)G0pk=d2j~-MJr(@?VB$>DCFUL9b1>JOc z(iy(4c8U&xwKvw_{Sr>*E69w)GqBvs9SFA9=JOuo;D!1LUbrjuMX`&S&<<8ooIdsL zR6d{5G-rMuzfRMICXls*d5ArONk3mpe4n3DFB4(w`Rwd`&S@Sz@==X5d&ram|o zpw4_NGMh{hls@?rz8>x>eQu1bX}E7g=zIt74?>l|t@PPTqkj~+ zRAv3qHlo*|Zv(R6Qf}T_!-%$+g>9$>96=U}&*NFI0)Vjlc}V9w>b2Y^9dwo&&PIOb zp*lxIP}kek6zCx}kL`efv|!n1CIJM#8T0=b-ZUM*oy=tpuZ&yy_FM>-X$I34pT>M} zu7j+hLB6P?q&7$W`RV*BY1th8V}Wu zW<*(`vx<3%_X4H%PsF9Gb+)A$Q~wHb0ZQI-7d!~htPP8A0kKnMD~$^jdn~|M%g-yq z#MC92CC;#xol&~6t$pQ9t*@h%dhh$bs$ov9$;sEGhUzQP?4c?5CBjE59Yn?j?4*)d zdhgRgEw*##eyO-W55VZ|Iz9{GwUfSb#tVPIFc+rP^+sAvjJJc9CPG0%;=?ts z5OtDIh9V0lDbLvzmpfD*Mhw-byx87VVg+zWhgM6aa+vf4<%SV4m=QI!*|jz8R8!w#<6s)&y-2)C|&mW={{t zBjN%cA|Ipv6TISofn5REj6kyykF1Kg+S#2aeO?G+Z=th`w^d}*esJvmPw zKFi5>L&pKD6DEj+X?*r`{&?pBO^Ubq6xYT3Kfx>h7uXemSx#r5$afW~DO~lpFsp^w z$|07*Ml;CegJ>3C{}a68e}P>A^a-$w<$YZr6d`R)%$+2yjea0<{Ekj5K%z(){h#0! z|6_Iq*T3v_;P3Q+Z7j|M}~=17)vz{y?t+W*%1Pz4#p$}4X)5)O>U0iZ4_ z0<{nybuGgv}ozE|K* zCp|xNp?J2lU1QSToS2$r_izICb(j0Kr|g@ADoe;mZmu*}!X-VzM}Inl zMogs)n`b%5M9CVN?Ae!?9{qFzKLF=2mbtleq;TIEaPd&eU4{%4-SgMC&}9al2syu! z!C?I8ZmF(7z~+TSn~Pz6ugd2n80yh~X^GN9y=)b(?Ej)#34>|EUgjNb)tn6;1SdW2 zCfR%}DYAj=>MGNy$AC5AbU?z2c-GI1TuUR zA7e1km|{|$^Tb#9j&#rV%lSn?Y6oikdR=e)=DPmZ+nW7fmh?Za=-($4^I|&z^Cf=d zptCD{0#;y|CYIEq}1sOHj`ygVnY*7df({BW+#qKvIcrAQ|` zUtL|E01lE3Z6eZYj_Z?6u?{Ld_l`(i=n*>3*9)~SpZ^7YeDLYS+cOT}e!X*qF(sXUcr@4?T#>R%IE88U)DZgPLT zr1{BPSX6HXYV*qq%WEA1GH$O+Ecu7z&_8JRGSIU!vNX_hF#3)9jZpe-zsQfwedgV} z9H8Zc*c5Vy!quA)AD600$DAmV8DE<-Ob0%+k&HAz{s2fSw4g>&*$&4nq^F-wFmo7T z!1{J3Tl(V&1hFXNsQY1+NoZCK58ya}Y_a-H&7oAB9q54?M$i?du7&@R24^0YyHFg+S>#zeP}$0JP*hguCNziFDF}Y4DViP69I0#;m1KkAW>O6> z&YcmlsRc&4+HmmrtV>ufn*B;WSS3-Rpg9)ZQftDn$jGa3;Cjo1B@tjbhdMbaN8s@r zl)T9*JCf4;-V^n%_LrFyWigL*b%L~?HgO_osGp+>L6ucnQ%zDyE0zs4>)Ao&RPgWb zWuqSob6HIEidockUuVliRg|!|HwP8Ypc8cFn*bes!~QK-dS0$(h>2T<0x4cccS=XP za`Z?UQ7PSXYpph5tF@hd_QKtvCT$|@?=6BUYIe4Q3wXH0k>I$tz0kZRdS2@(UZ1(Y zx6B_*S9l*@_|xAWwC2^ZZRCu@ktbMIT(NOGPTZ0B9YtB)HzO?@Uy?0A>CNw4>o1)| zkpqz%OWRi@zEH((2UqIq6rTib5z6qV@BASGs01awkg4b$2-fFPsr^zzC*#xc@X380 zQhN3Es?RGGC*aNwx$$U!@M(jtcSQdbFF{T#;c?GZzHNy0(O~Q8-B>cty(vonb;4P= zzFZsr^&A2D{g5W`PtyMn(xZOA(_V=Z2|B-s{oaf?SvzX!9u(vuYBg46tu-pA>3_wXrh#&C_HUOA&_(Y!DS3| z&lgUJj6Ts!GeXXu1vjIOIj7PUWfn2As6_du=4vCcLPQC4Z^_K%`0)AP&l}HXtGwK|2yOi{N8bl771@$;s0dHL;xvb5Q zK<$_6$EBRVvA#R_QFWK3bc#9MmNHDJY1(2@ZU*Lc1F-E@&gHPc+^1u~&@d&x!+CCR z3bPKTKZ$}w2FG>qI7)1sja|CgRb*F(_gO~B#7{Yrk6eOZl(aF4P;Q#tBXDc|mJ(rl zx;uW$yjP$nSU~z+arN_AkJZ-|dI?_0n)>wNyx-T`nQF^Ou}hQZ%kB3_pU6Hc&;$RakCsM z*0#rXCcj#=vms@;%Ido?;=UM1T{#%%4&-qvnByl+2!+7|P;iW@W=MwUaitN$kRL=o zCWl+kfZ$$7jbWQDWLvJ_Pwf@5(5m-#zOHC$cB_oAb}g|JbK1HX>iRs&K!sD?(Jh&l z9NU4&v@&keI_4S?SBhvoL+x-j#?RJ?}pgY)4tgq(5Tyj%sMK$>yzwTcUlOo6$n&+u9ABx4zMVlwW^g;|>7BN&1@O zJXN<3Cz*BqP0Oy&sJjOuA7I&IUvJiAye}~v&r3LiXBst1;HCMIG@sS5AF(8j=KeXS zIfEJMUQ&fqhDu>;*EMri>B}0_2zz9ecM0E{UsNQq%TbWWtB5@O!*{~Jsm21o;OGCb zvVVUXBq)zqzXqzkV(%F0LWe+W7lmw!@-m$_y7)uE6Q;s+T}_(a(;CnXB8tBTFIy01 z+Dy#t=Uj`!DojeqSkAYJwQRGkJsl6Tfkn^9B<{mtuF;HUPa+J11?^YJE+VG_%89;q zWuC+{K+k3I^$@evsy&|9f`;sq`%SYkb9I{YKG? z3nJ9P%sN$0$%x};J~x!L$rXJyTMJ|89aUPfw?nwo>p2dI zU^KMdmE`zcX|S|!HLY^|y9Z<>rS9XMMnk76qBvRzS7V(CIa^69BjGKxA&I>BjVfp3 z0UqZF@h#|rB=tc}tA8#o?rG4~gfe%iJ=^h2nmFSr zr!e4iB`&+z$W+Vkxb{$zB8MU+cz*j43E;r7#-kue+Hr*JmPSJO2EM`#*IZf8?m=k^ z4>bGpBH|w?+PGeP)|00xOPkh7p_6|ETO#iYChuzK(~w59QYDWpBRL}cte!|VzpZR65BPF+V^X5QMd?QqqLEE&Cwo)>!q2Fbvh?OS=M1H; zE_qzZ%@oKc6(NXC%=@4QbFs>?Nwbhe`iV+LdgWaXe2F7T21Aop4jz0#B-NyRI-tsw!{s+6rAv0;di%MY|%9W;SgZV^cmy6kd% zfy`W@)lPBbID<}1uR z5LP>hehn$+#Gp5Vt|e;^=K796QKJ? zeR7GlRN6dN(CB!LbV>7(UYN+iezb|BiJVm4UZ~JjxPBM#i>9VFiB}B6(^cSL{2Hud zL0(r)Xn0`@9nRxG4m(}^^idVrc=A)Q%Lf}-F_rV=cOZTFlt!(T1jenk;Nb`cy2D|F zJU}>gndBzboBBXnpN90;?6Kvyb#=rRc`9Gb{1Yzxi;6S~nL_#7K=?G3fCTiJ3ZdY_-FQ9Y%Dy9+P3+0&OZnGn)q z-G0Q>BEj*w3Aa$_jcseNpOJLpK&Ba9AT>yzc|1Ebke_h%_d3O*kIp#b_cu8T*MtU? zKdtOb#4D6?EfPKn`K)ob81j7YwRY&no)mgtBLbrXG+9Svt-72$FY8TYCHXUqQUIn$ z;695h599>YzQ2}jw&_`?e!<}F|NortzZ~!XvTo)MUUGVpuSVYUGVm1YpJmqU>`afW zQPb?}ow!jzDj*RTDIskUyJb-UW;63kW7!KsLWSODF|R$Ve9b+XjQ z4u}5KK5?^A#5nsVkg=i+*GG^KIa6{!MwNMy)6`)veuCeZc&t18iY{{Rh-tYD!XOnc zLuyhA+&fW|%1EBj3nYYX(Ah9@3C$iN&S0vC$x_5tGEiYrkBa+Upcrz|U7b{|h$u--8GK;8FaW zZ}!hi{(n;Zz~jmW#+0d+Nr7%y_T}E(0zvTS$N$5c05B*s(Ua?9n}g68<=>muOngdM zE%tv{69D4i{71gLQsYbSmYf-!CLcPZa{e!C0>HP~SSkqOPL-p?iDvLE<(48Goz4Hl zng9?`CNXU&oXDILU|l$D(Qs6cFhcu(SQB{7KmUVB<=^b@f7bk+*3+-?0OUG)JL8IM zT9}vuza%QV`+$8%sEe&44=FOxV2WcdDgGIGJg){$9<}D-ZNt2^*KD4OpVfpB;b`a# z%|kQdq{YGnyu~?t=U{nzQUY%NHjvDgtX+stEd(^thhLtKGfF?c6mrY`;(qBs280ra zpQ6GyHiQKhKX16gg%33VnH%SaYh)pAu2<`Q0TIW=dQ}s~n3I#)gJG%&GI>;Y{BjAT zh?(U!gCto9S^O3?k z;3`hE?O^L%h4x}W(7T}Z#+9<*oB1#*Bz{C(J$+` zChqPB>Kn$Kyc7?3c9V=i_G#u$IDYepR1LaW9C|n0Id`-#afMm7|Q= zo79CjZ5s#0)1W_}_1Ze^m`-@dyd6#HXR`^)jRa|%XP8PQ4BZ4>1;$^Md}eT@cn>6! zlddU4a^C~TvgV8H4XPNtGx%#+siB*!PevwR@iH#2t${!pliYVt@tI{Npuww4Lz?Rrkcv+*XWDo?+W$q@`P{GdEO;@AL$y7}ON>sX2V} zzX|)9ylQ1=y&_L3|1X=hSNIOP>!e+#b4oZm9UM zF~}7Cxm~b49l+{UHiZ#P>*nzm?-&Ft*7*wSh8Bt-5|J|~n&Y?lAR(>!b}1S>HGx86 z&!5P~+1Ii`mL>Vi7wp{k1{M~x-rZ-lQ<_2ZmN#!64uy(S85HcSq8l++1qo8&zH0_# zV)nePuX8_|_SFdgI+z)(fWp$G%=bpAh^_4eR1z;GS|8ZeqrM#)n+^(`Ej*kktJ3w0 z+TH>$$I~AoB%ZE)`cxi;zufMnJV3CZh>t^EQWIpI<7`UKJh2WtU=qSxM_Pq1WEo2_ zTo_7%3^wj>SCn0cfxnopLQ6ZSi#nN)bKT4kSM$mGaEv1^`>u#6x=#Y$GGf+@8dt#5 zuXN8?F&>bCMvMMPla^2ym@GYD4WTmz2`cFXLHgmR^Rp`}-p=VHSbbU!3XOc`yDEoo zk~UT>PS`N%qmYcg-{S-f*tC=NZOw;@$Df=);_>kcAcV^P#GBjj+K*b9e zrQpB>Q#5Pky}m2vg3*IUm5qwPFIuMkjC0UBNoN(D-FvCpoHG}?kEW?*@bmd z_h;S2d{M;OsZ1*HUqy8<&GI!jyxunVr2^TiI3|gdX%Ukaok!^;I2&`leAgG9!Z#nv-Mof*AJlH2 z_V&R#nx5Lp+y}i0II82H$8up6rZrRF?fS$=x&zv99;8V=zR4r7KOj_rM-oyGDk*x@ zZ?%MHmHYn7k}zOVN8m1*{X`Lq-8Mm9G;JX}KvHkVatJeEVH+P6QxnumA*_R{78D9_ zUShZz+)Qw@rx@3nObyY|g?{_hRq6PsKr;K<;|}qMJ?>ImO~~dEoRcc*xO9S_m9CZx*AuPZ zmSXQ4m24K4(Y?kKx)>9 z71liCSD?mBj)5cXUx0_NY8VHkW+XA^K^q>ik5@I0w7fF_aTkH|O~(N1c4&qUcOx+A zdl#B+&Gv%7q}*Ronv|CHU7&<>86W4v)l1V}Q<&NV7rB$yI8Ytk5S)^i&258BvTfL&--t>WsT)Kk7i(wu)6YC*M1-*kW+Mpnv zwx}u|^B=9fKA%cSSslPu8|%gFa`!hp%IVbiGM*2|)0pcj#>AEOU9m$KO2Bv4l$;gq2 zWXR)m7)j^tXK9?H`=3^30S8uj-lwVsuz85-R2B;2&+F%1u-h1zhL<)(4jxi)^e z8uiRp=jHOipIh*uW%*RTD8ucxydY0-j~cPCxE{y4`PPE^g`#@?5*P0g_saNXNmX1Q zf+5`c~fYjX|0}Yz#|GmASj z*wou)0%oYwvDHkH`|~FtVM{t&d1kGWpB=U?~R>E6I z8_9U|!LH73zxq>XJ3y3|;q*1lbsSnsyo$KkwqWt?_~`~H>C&DLtdXsYbvYfDZly$p z{AFOsncr3W-NC^^I)Uuy5#eL`$%OnP&#ded! zeM^&d>zVen9XfVBMvV4z!|qVTB_!=XWfL!R@>shvGNa*`48KMc^iJY}k|-tv_Oc)X znw&kx>Ir7M41hnPX1QYBn#Wwfo?}Sor=vEgg^c9byPxz{Eu)E6rNK~t zir}N)&&~LBcpW3ccFnD2mNpkd7C$T4($A!>DYWog=Q!2-Uj9%{@_l27<)a2 zvYdz25}lNr)KZz0tNMOla&qm=moH;a2D~Z!hyFPstMexP?26Wj{QVJ+X(=^d^Nv1# zOgmf-Uipt~Mn^-Cq>Lq5<>K6`36sO&H#LFYjdLawky{Vdd{L|_4H71*KRusWFxb`y{R!Rt{fSWD^p2^UM?4+7_68(&xckIJ^UT6_<`Uiss1T)6)qac>zMSCnPxT5Pc_W@cuvn3nf|w>pF?G9N=NDj+%5)=dp`k-G;&l|pGB zXjr`2Op;S4@z((e-9VUAtPs9L-uhd3{JnuaBcc+@{!EjvTAyPSG(*iyTfS2R9gS!! zc=Jqyj2vH0#gBwS%8i*Z@?PgCtrX_%QZjVcm;hTAod8sL>}1itxwb$QZ)Own_p!0D zrV11)T^5%KIIO%^dA+V6`vb#Rhr%spknAgIB3%mVdL?hXWMB{qbrvgY`(R))4x5Q) z5C@(^b!-L97ogObEO5V#GZZ~3=DQPMj?edQHvi(;V@yk040nB+Es9u5c}8r9JdWbf zzG&E~C#-vHGenZy*o6!Jrt0huX0P7lT9Pt_5!f||mp%eGcFbVouqBqb$y z8An<%rX^w#0F+qKJA#>l{#e(L=&e0{=CfKS`x9_5Pl-oE%^F&&eB5K*>0+?5A2mGkn>)_vt!VMflaBq^qw-9JKK;p>2<|---3ONr_c5)*>dx_^gxs8f$2|_7^BioRE?PxxMF-6 zj?-xw^6e=<^rY^&4Wc1>5g~(x1)opSsx5 z@4TV&wm^02qQs>?AK^baM=OR#L}9c9F<$o|{!}{+jOfuueAR}(^uRT)4Z2Q-dZUS+ zNxb)Sq5#IeZqN~R-1T&?u|jFFC5O9Z)E@hf6yyKAYG@L;{l;eVm!lS+#57oo+vB%o>vZKit;rJUAt zmEX-#1bwLcq=!NAxovyR`CC8+{hJsDrG`uImP~kncA#&C$k!m}j`|Z*QoI?)+?Z=A z9lR65j+k?;B)l8KXeW5+|1rPtw? zv(6yW=`pKsvYMKBzqaD*H-~igQ&cZcSR3{VR)y}2-ZrE7H6;3bUnPmS|6PVL>+3_Tq{`Zp2+8okz-gDy-boBTL+Uh_Vn%$R;jkSa5HvG4dx-JQ!;&l-=}Q( zX*=$0_8RLui#PBU>9Ym)w`j9_4z_4LU)~wkY~uN;>ej);3$=%>yJWI^jO*SYkR^cn zm$~nJ+<{XCFHxxMBKxn_!3!vdaTvKjR16m0hU3rU1%Pu+AsUv7=@HvCEO=Z zmm8fgv(njUYHkYWnnZM1av%I4+SP3ZW^cS8j?UE}pjJUr;%8;QabJnN~H8N(r=|M)P_|Fi#yq9HNFg_p8Fnmr@g; zkj3!^P<>E!-M{7vS`fouMj&T>d%zy(u`>2YXH!wUaQ@|JCR3n;i9Z501idl=pI87# zAaA8qunMAK#pq-)&+{|!!=G$Pvb=09w}-w#dx#66tBo)~Y=ZNu2!^GiDeBI=z+3sk zE$R+3%FbJ)sCw*|=LBc-$XV}~w${S}OJjLNAdlP_Eps4;wc(^FsF--l7vdHrGiRnW zn1DU8O;ar$jjidJ{_uLpE&TSuC14o2DGvW4fmug;_r+Puq+?=~FaNCY5q9)scy#%k zuMic!L2?h3l%ig=6Vo$X&iJUZmJ#FIt@9C#XAO*vEjP7ag75t7wf#r|gOV z;ARcTzkF?l($a-W-JQEvHVeiz9c#|Ydlv9Wo7$%l{r(XToYzP>{vGH8w{;B91Ff>Qn58`7ai~ld3Uxfc<^*PW1|GN7A-f}New{>1)M}C{suZ`w5FHM$M;c5?e zmZKQswEQYt)#$S{er)%Xtd&^N{}ZgA=l6`a#|#L{@H$@JM>zr!B#m=Ej~aU(P!+YP z$~B2P#up=Y+hE%5p*(Bgq8l>VIl5B<+1!EZoD-v#-84a+5<}A7*e3O$`MY4UdMcZi zxY^TwXFsJUd_6~w9p9%FT$}(MjQM(5YQ6AaixQ+`)oblOoXfrt?oEe#HEG*(yt3U( za>|fa_8zey>fWy;Dwcwj4ru-)%CN!A5qxLp*aa*<_aW6vGWDwg5zTlkX|05y?@*oM zDlqDenwe*9+%fM2LY0wfv;Hg5b`y(kxT3%pSLnt4)F~Ugu%yZckx{f@>yjI7zEka!Wb92nY+h!fqIPujJH9tR<*@%aNwy1$4hFM*tm}m zc!>IN$UFpjpJyG(MH_w3+@D^ekmMHZ^xEQY1@T5L+wFUs7xr8C{AkMO zNrPhQSF3daF$D$7n%sb2KOyu<+6ZCbrJQ1nS}KEr(-l^LEU4v9;_ia!+y<~U_GtE) zFAG9akSj#m&{RYuXG3gl9Yz*jXrY*UU=d*cnkOp}&&<1HW4)s%Cg2R@Bu|GfpY{74 zbAA~=VIwquI}EMHSIoSc&(6*o{_zu%fqv1&18_`$W>>?)4@APQ*Zk9 zX;iD(?)Tv^fT-va{B7Zzc`&+y;MiLVXc?$dH`zg&%}9&v`D1Y0;m#ND`QS8IX7-4o zIPAK8C45sYbYF$ARsLXMs$0}9Z133^lBj(%uUZwjZlmvNXeNaUsBRvyaC=gy5LEp8 zpY-C&qwK~{-S5A75PkV(^L@ZO9x@3e9g%>4mC?HV6QI-7YZ6UH73!O5&-l5DdWUkO zGy_{vjXoGe%Ksrib(b9P+d_uRGS*q48@bn2uY-NS#G@WJQYTi(tk*BUrmMFR<)0Wu zGnLeBgwVwd#qD?I2d={cYF%57amhJev`KSxh?>u}!y;;38&2`b{8uZVPYJGjAwfwt zRffZ%rU8BzKS##9XAl@+C=~uJ-ZG}+3|YI zkb!RyAv)Gc5JC4O?4`~4)SAL&{lVzy4Yiy3Q{FGnWMe5dui_(=BSU1Zy?1vz*Q!aR zsnt8rJeu5_TH0~Z`h*E>5?W0bkT%IYO&8E)~@u^iZk}#4=cy;5CJzm zvLxeFI)UaY%Z-to%z!x^o6bXDNyO;BpbYRgZZ4dz08;<6$2njALv6W5@pe{yg?kC% zJE#WJKlzFZ_n)wvnc5*oX?SzMeYQ4Udw#pY?<(*7>Bc4ySmzM2r?}eG)x~pPwSW)& z_zpw&Q?MK_(8+hn3m?8_ML;&e2MEP;Jp^llO%(5+g;B+XELRqfiRyunlDO}!Q$v9r?s{Aw)T zGO7ku)c$vHo#0+e8*`tw-NwLruWZK3de{f%CJpfmpD~i)kaLnqN07Fx4`8rXk6$6L zQYcVgrA>n&NadE61B*==z^beo-3L9O7q8W`PeXl#&R){Zt7&870=8IjH>ojDshg+J zu$kWnFZo$(cYa5EW8?J0(?e&LSb~Q{uv0Mh(Ti=SmEaVl?qKH;Csp05N+YwjtZeS{ z(tAWKrnQUL4lus>Pg9mO0(mWuf3_5n=$pkoW@*Pn*nYK$-!xa2U-kJjT+#grPqm^J z(bmUKPh_I}qZ8vAn6Hxh(*AgN9-110%^URw_LrSl+wGS;%!j4G(Z9U^{O17d-|jyS zbbpKP{s$FRk;;eRB|8#tV)yQb4TBrqJ#}>_bX@-DxW!1L8EHj<239SWJc;B&8`zDH z3AX~lCZT{LsW?KY{bmP8W`tA$Pj6X>P`Q-Q%V;t+@>{&nnnc&(c31T3N{?Xt#<~QN z?^!z7w-#)msNVF5cg4c9!Gy*(XU22sSO6s3=!j00^PZA8SfWc~PuQuj`i^39##> z!h)+~oW6?@i>YTsE`&)eB{!16a_{6i>|};4ct<5(^I&D+?rDX}MLv=FtkOm%71=&w zd{q$z#ZWC}iPH6usuIxgpXBpdbSoU>FIB2~Y!bWM2v>A2q&YzjziiaqlztSD!Uk3x zxd%D}E&V9v>>zs;(f-8=_u<=AoX+_$BoY_8ENgi-5O@NqDPtqJ8=Tk*l=z{yj|C#! zZis^()M%^pMcV8Iqa%53HsrIrFl;=wupdR(85j4{3JKeRJm2#s*i(7n;e6 z^OkYXp3xNSrd4TLrkIm>-MwhOEeCpEwG}G?I#r0hDO9?w5&htdaPr~f{Pe{*R8d8V zyo|-?Ftx$GDGWTL9`x+D%ZB2EfCBfVzQ~2cbe^}5vynUbAg64E;ggkZ*v?y$5bf7; z>7$Fb#;Hhc1dpPN-mK71b#PwUm-k+oWF^dQV`=!p-#82+pUJw`T3Af+Z5u_x6rA|8QF5++%nqhGXa;(oS!i#*krIjSRhd z=3x84vcPld{c!F1Y`0v6_&opQx!$Y&_p zW*EQbC*5alD`cq8Vq{l}I^z{T*WRV$+UT$=d}V*v|I2~}<1%?v`XEwdpg#QtQvm}< z{q*_s|0-?$7gC%5uwXx&Cz5*YJ`6lVrWTd2(Q!tSerfe@7@ipl_`|K)iTY8)z*{Gh z#pY)~3UB$u(Q->R_sfNoM!Y`X0g39y0-t5X?#j?t+j|&!(l!}c1)i)~gAS}b%=Z?{ z%7UlWf_%sUkA_Nfy$I`6^9S_rF^6&8|EZF)iwKAlcbcZgsX?!HbothyM>A9} z9}+*mxob0z{n|6su3)&r^oTaj9hfr{kQA%t1ZQw-em{w{y1M$6S zdrbW46NkeCm#W#dpin1bn_BCm_cFflZ^qPui8 zGK9=}l+rS{9EBL}zRUe+)`gvU>9j5ehNxhvRa|`%YV$)0Ve;1 zgZ_8zvj5+^WkA!vR{#dw{CfppK>WW~00xx)dj(+sJN*COtNWjNVhMkBP7axRs7CTW zwp2`{?Fj*;al>RhuTgf#LHCP4PRpRhD$FFO{JjM=T9@dPDb(qGd)x0_T0SHkI{^e* zg(Sm560_T%mT?imLgd_MZ63R#(?u9!8%cT(l^BJVk)@QZ&NS}hYOy&SODYT^6fqI{=0Q^#{^}RqJ(-@=W zn*xKYE8Yp!-6_>Ok)vuLZ`{k;8L-Dxx*FsgAod0|I@;zbJ2*`+T0pxHFtLEo-;on; zDGwX}Lw10xq@5drLV{oMJgRxWZsQR=vDsshU%Gp4{FG8w_m9LiLkAC36RiFs@6J*( zsk(jjms?a=(2Ps=Y?jt>To4wWAJgDR4$mU0!e6iu5bX7sP{ANsQnO?8cmP4Wp9j0L z&^i7QT0bb23D(1)jJT(490lxWaN4STG`LQwu3Wnpv^%q#EpP5m_<1r3>v1~gGD@RF zp`L3V#^Z~lt1(}{z;tHLd`Akt@U1rT0r8n$n1A^O-PA(~{R`%pt<4<#;<pFcNKA|9 zZ63bdoqNqhzVwYOn!0P`2~sn9mAlZ-BXT@b&}L46x*X;uCNZ&R^rC4}BpF3HPj-P@ z;l$l6%!e4jOcGQq6B}>k2`+zAE#XNKFH`*Dow5jMPJ!-G?aF|i-Q52og8ai~v;x!957Rp)7 znD!1}rQyE}&GkhOT&h?xZ{c^zzJVmqqhB7{4=H;L6eXugxjLK15Z*hk7dB1Oqgsk; zd@JzyGkigr4kkXNfjHyWI0 z$obkv9Qj!fKFYB0}_tYDx2aQ1PY#qfB!#jm5PzD}DZynYc5IUWM?GUI~4V z$5uWIDfhx{6Ub2Q{UxL?bII&@@nS28el58L&%jXEj2gU{u$XBa@PE0aC{oDe8 zVwPLWd5HcbPD35#hBodq@l%D@{)mA;3=V0k4A*9qdq}9TadA5scPT0+t-^zc0Z)Ls z7)KA7HbQ_@^=H0jjTVh$=nL-CP0^}GA;Gh06h1y#*VwEajluE$0$0f3A0@6#GW7Fo zT-d(x8EjtB$;U}|35sNrZA4w&DWn-d6&KhWn)$g;*tM3dhaCJgaq`bJRx6N96KO?%+uyrHrEV>W`?-6m}ODT=Zf=_P2V! z>HN|LOK`Ln{VJuobwMJT<$Zcz`v><~hBZ9uof;Dx=nS`&u!rtc&K9zoAnO?*;34p< zq!X=%NJXKOg&rt2FYjf>_0^UF1U!R3Dyv6F?3;$#YS5o7zAEh7g6Ll@ORL-Z-GAOd z_rq!{zDngsU77fs#MhpcLp|LgF0VrYEr=jc1IC!K88v_7D4$%|+E72vQ}O>KJNvup z>~H+}r;m`*|6P#M*xtt8>BIle&dt=xg+W+CP)=M_MqZrW)}%5?*1mx8!`0?BBHl@| zFuj_(@U*h5VOEdY_7PKcuvfXph^KjR&p)d@BbMq`zz?_?q=8Ug3EwVg0Ylf2(P zVFvJNa>W?)#q4=1gD&m%O?iJV;;5#1)Kw$c$knE@dl$Z|-DyKe*C{=V+Ww3>GviLU zud;i14^K|Eq?RJ+<2lwW`s}(u;FJl;(P*#8T>}41uk(WQeWe`pb*~88b@mjz@TTsd zd~*h7wuN)pWqcNI+`hmXS=$9Z`~(%JDj4Xqc)z}XIa>Ja$}>`Mt{{P*Sehsxsc{$4 zw2RlJM(Xej^YsF-BF{xp(K(@{nGm;5iG!|Y>obW0)zbP33b;0eofdn+GfdWyp zMZsUkHm`&6vS=S?{P4dyq5N0=lT!bO_4v2Cbhfm&bN=9%F1W1|_nP8!iu7lyl6VX8 zQ6-~U>kAgzF1>-tm1OD6uSchRGO}c(5b-}13S|_kZ{&PmR5?B&6ArFys9fIc=v3iB z|M@h{kc(5f^4a%&FNaW?B*huBV8wwQbf})S`bS0*l;IE|!;kj+pX_r+Q)9W*QZXKi z@pmx9lfW>2asIl4hVZB_S0P!wT|P0*m?i%Ca&#v)f;r1a{;WLk`wb+Yn7=NeSai~# zVvuM}Al@8 z+`5yn1DOUio#^YU_uDE4kRfHSKt#~JqP``ICg1&}U!M&!S-U=Sm^QjCA>!eyAD=_1 zh@Y~0D*J&JQ0~ySlN;3!^~5F>z+;XD_&tNy5f;XBnBs1B$b|$3nRjwRPmxaEz-Jcp zaQ&J}&K%I0xxBR@+^~}POj>bwP?S3Nd@IDMIn57fqlc~3QJxHkBiCBFu{(4?9^H@| z9%WDrc%n034JUmDjWp#9OL-rsvxlPy~D>naEA=fuN=$!!X<6LZS2DyV+tQst<%{{yX% zY|JjX9uit;$8L@EGkwW4$=7kD-Du0C56Hscvh*{6oA5g17gmEs5)rVJCcy>6hvBtz6-NN&b_ zvq#^BXj~(dCbS}q;$~?V|09TM0CK`XVp@wGI?CWg&Y;W1wy_+1Gq9X9dg(Ju1!kkg zM{=^!7}irK=#H+x$+a(hRlNmLP=`4X;4L!%F9|g&o<%u9`JUjOGHe2hE4JNw3C?`8 zV<{Rx-!QPJDlKx5lHo%03zvhS|FFOi;@x45x6AhXi5sjnXWu>iomk<>vOcK^U9bt! zw;)gLd`rS{CJ&+LK=mRirUlQ9w18<7?V?6sBmh!eL=bB%Z-m;>G*E*e!jcl04;5nW z7TjYJXQG>sPE#(5t!h4QLBBMy>rZ11k6A2&X;AH${sb*9I|@_=F`npOzBDsSt2$N6|q$f+Ubb z=l6tL>JbvNED8srFOy;)zs-Dzu(XU9NSn~OJkM1Aoq4%J4xgDHW&Q-%KKvmXn}vtH z<+mqI+N( zmadw*{fR93#1pv5i*Ka>k18IL$GFfI+nmblwFr?5d*D^X#+v}gfY!;hMG+tQsj5Cp z3^M|S5p%m)M$Ivnv96Zm2<8#WYai@(MS!0$X%iKg*~Gg~Y>P?7d2*3a&8g9!s>R3p z1WWGuhcG=vngn#Zks4es`f{*?S)lqDlCsU%r9TnCs>#@9&FJNK^j&7! zet)Ze=fOq#=z~@5ZMHSTKB3c&QyWHsMM8ui%6khmJKEWL^whgTW?yyOF@@}`J7x&J zvIlCI`<273!Syv`1!037WP0E=OJVw-t$V)F;rFY_=pRM47tvL9KP|MoV>DqgKzzS? zmX1E3)PBPL?sWvbz^_OPA9`LLVt+sCoEzPwvuGke&*q+aD0=J|3us2LHKd|jBf_=( zM451RAeuSE=@1Y0>-!rql(*9h%g@DYyPcM1_wt?XfGr-3*c6PLo6Xkl9M}Q2%;3rO zmzP20WH&L0(MS}klgZZh?!YgZlGym0D7^NTC`W8MTKlO0->q~gF2?+;*KVPYa!^-pSswa!1v>)q&Y`phXZ=&(cjV(tGo>B{P zh6awP0jAkTHBC@0JNm;yyOI9Z7qND$FN22X{X!BDvGdnIVl5sTA}n|J^XDI|V-ZS9 zZ!D;c>aWUba$e=*R$Z}P;&W^n{@O}edOZ~J3tQTusSa9H`L+~J%zBKB%NOan%e=oi zt`{s;5?KYec(xy|LPmvh;1LQM z70D8KG+Wp%5&C^&B_aQGBSp#SCgP2nmx}@&V=GB;P_u=ABv}UDJ`s`MfQ-{6R-kxI z_dGE#Qd;_WoSWo>7aS`e91DBQpj#3w`7yS2D8tA7-OvbqCqa$AgzPI-P6B9HaEQo-&Wp_7wmN$JO*-^qsI#XRfqT3gd_=s^tSeMGy?0eV1UO8b68RH zXg69ZzHWBeNV`_GCD4v>slb!`m|oy2dn{_rcXL7}7_Z^5#W@gY@o{ubEzYu86`ylv z<&LS?NwNB_>DHa8HmyWCjfAe)^v6tE%9R=qJcqw!%_{GobBt1DstqcFbMs9POvswY}wJ0P<{y(Lon5;*i`bV=A2-M%h|fgFo%-wh3`WRUHs{M1TCDif2&jmC z{5$3}?zc)BC++p6d1v%H?s%Zc=$6YhYt8*pI(ZUhbl!E7?rLj+HQO0zZmE`J)P6*# z1}I?0maftzb%x#TH_}1tpSW)X?!~_JWqCP2`f_3#VEG{f^TJehAKn|~8P3*gX*J=$ zdmI=Ay0OANKRGQ?BQLcM=4_*%tvB2bxZ3Sdv;==`R;q?sI%?$hp9QkR8ptmD!_dT* zL%&Exbx$d*HA0$}yz5Im@heG;1lTz;!rrgJAKd%jM4*fiU5%z;hk6&a*DICHl2sk# z-;&u|M$%OWwO#)~ePktn#hCrn#s1TQKU#&JPf&~`ZHXnvN2!_VVK)(ZACqdHL)Ga< z5gsF<0+sKl-#l@uiyfet8NRzNEU0C#*nu=S?h2D>VzPW!QhO9{IOQ5|51I%j9p8S2fK)FuZ+Q;o8c*+x>!`>H)%~xkSM|)ZTcue z8*O`5|H95k%9EfpTB%j9SY)58c--5c6ymtZ{$gv+#CG?XTk}9Y(WPvnQQ=TQfVQON zS7Z47}_7B#|}VquUlF$@Th;`1*MckuX*5yxb+Vt7NS$J*Y_wJ=EJcoXF+0%}dybtu-KN zV0~e;+5uFfe;p4%fHbb5jW(sk$F=cz&&FSaBoKre#$HA-fY*{bPF@%x#+u;K6SmED z`o_6g*>Zm@!J{>~O(81~SCde=JwP}jg>FNCorytFg1pi#b)l6(++9j&ZUd$Y!c-n6 ztJUmM2XC-(+mm&8P;AVsR!&Zu!b;@TV?K8Fl(&#e836pl)QH*0+hQcbR7MuOvLsf|!j#bM`SGbIv$_Sfpo-jitNpmQmm()&J zep1T93C+1~_46CD4dz&xbFf`&AXsYoB3LL8Y2+AbZKe?{_3GTR4&pwSWd=Ak+F; zEXS9uj`)OP0sX|(5!(0*xEo7RGNB<9R9!d7L8xm<8Z^nYj^q%32DM)IpGr>S6t~By1i=}Bj#Lj@)^0&-JG@L^`A^o3$i>wA z@^BqR7b=6m`D4W^{r1nkjF9!KXzBM2&Q~ND$do4%?eLk|L4h+u<0D^VCA?C!4LZkV z9azDN6=TMYwmEnCZhC$G#hjz+`uUVB8vQRozT@s$wWI4E%-7*5t49%GiWsXc)Gbwe z)}e$}X45Q%m&0qH6t%?(_$pU>QAvfq-+^C-ENx@}%Kha@{YX}EsumO2k!iY~K{YsWAaQN6`K2Rh!aJi5^DX!u-?+PUKDZ znxYbVyPuZFFLEtvfgJ`f#>~?B{hlOKiL&3a4Pp>h52}?`pq0OVRP42RYIp6gG^F9D z&1hRapr(FJSh!ah=NcqgQ61ALX3Z#tsBP8rH)mJi@K_d%cE4nk4JGLQp(cOvZNJAP zvKYC^o7xiG@lP<*nMTTU*b4+Ngcv$Gko|rVJl{(Ss~^OCL#YK6Q!k@3JGvG_eJO=i zLbKYO!6&GQqBixQ6vcq&ahB9r6zU*JbQSY`B{uYCCljY%>HhMDtA3WuY=PYAL%h|MjgJ$vg}nX) zHJM(XM0aC-|7QZas7p84Kf-`4e~2#a)dmXKVJFBPyhbq*K3>J#nGxqQ#fq>t5?*#gl7#MWj6x9K-0_G!wWTa5R`}g0usU-s+H>t>BIdM?1)!;=KeZ_ zw)+ zV^BezW^%x>H_0efq1p6=1?Axp0mA=~JB0zY?#A z{2#XC{^nO^qA05zhGbhBcKlsv^dXm^=g3Acu7!;5T^HS*Nk@&BQfgPF4a50!u`U zjO>aJp2=YBU~gqp+H*8aQNi;bLZL209oKQ7$`xSKEuW-strlSz$|F9UrQscKlUo`{}Rq% zli=T6((DWMcuhZ}Lax?6OC?+o>Cl{DY9i94(Gw^d`ry}7-6?D?8@iYyz_#sf@g)hY zAU?S6Ir*oc;-bd4d*gH|0hT}V$yhkRB@4Bb+qa7*BJI=e{U`n!9$AXEu3x>uy`CxY zSNcrNpJ!WrtM5~E@HGwuluT*l1vc*}9l~;>)zK1;5(N+BtAbXK*M+Z;@F!TFltbyq z?3QO(hn4w7(#<-4AjM@|^X`{64rx$o-B0Hu=wtbh`g2ht)zAv|LVaZr+}I!kbkRo} zSN;5w@44+xqS1}hLgFggvZg&=fl2dq%nqi9f(kcL;|X6;BBV!45zFz4;U_ZE={8$oDIU`KhEGO`qvh~209q7@?H>MBUk~}Pk%E2?yQ(=;K z*ID|4&c)|GS2)(mn1-6ur6yOJ8H*=Z);ZH zE|NR?3&HQ$r`zX)gH(nbeP2;yS=9>X-MN*&FgWjMSlzPWgQ+A&JqHh&UkwR5`*$Gm@Yl1_AV0qG^! z%h06#$i$N2Q-+2qX1bb_~G0>(EmlTdu=@9{fL6w;c!1%A z+xo}RdvQ}FeGirQ6|9*{!pww!thlFYEGaFRC6LFTHRrUmTdvG$&0q^xG_>W z6hkc+0E z6G{_EWK%X34*pTyap0++d#FV^sYR_|Q!?AJ-lSq!uZpw6q@ehP2m+&V*JyB2=Gfc; zgs8WRId6uo!L}ZC<5aBdygDhPbGKZqAl`ORB~)EZOHNzJs5SR1B=y(k;vv?UEXv9-0U%?8fLYN0}W^+c!8Ve^!)lJD@dxHjGzR=+hlin6r4hmSOy(Ud_4q4FqVc-wAN+xmaQ{z~1F(lzke$@L9f{U8(G@(uGG-4i(E-k@``0DDENsrHuxJ2Oh@9W@l&`FtSDQn%#j zPgjbGv?@cMe_Y0!zRT8GjsRHW#%pa#5XDMlCS`Qp-BmB%R0hG6KQ&>pwE`U#H78?R zib#qB18E1Dwo`_LmIWaX1icbmhqbQ#63l1g8j_*_wo^Rf(B$ z14rGvK`W?xCLr3|%@{h@CJo`fWi=#ktoWj4QiuY)9!VWP?!Y{<*JX^a z2(DpWf{86&ERL(EGMHD#Cfkz1C)Oe=9t$%B3@XPJol@0+4hr(b^ciyE$rLBvm>5aZ zV-EMJ<~@Ny|nInWKyvKH9U;$$%E?ci;@)opC{u8#Xj; zEDNq@X-P^*It_QzjrqvJ&LiTGnF}C7YGvYbTH;CmWEvqP0S}=#W||0A+XOoGLddGd z?jnX(2#V&?u5)aMA+aMuot?dCvI%oHy|IDOtGO~F=)VnUsD5r>S_Y4;Y_c0y^gbTv z%ase5d_QYwu@9Y@4pltw_m~YU+X`JYLGQ$c*XFnB=3ebC`82#{eYjJ=n0_1Gxt6}E zq#O^kIqNFwq_Nv&z?zqyEWJiUIegzj&`1^9KHLh^RVw=8vU&1U!;X#IXBZ6+oz~YD zgbS_S?(?2X9_YU-){noVi`-mmkDjt)eh#?TaX{kx8vpRLIh?m#`#( zc-M_mM1^Ms*o#>bS{t4R>nxs3h(=U=Q977BCB>`q$?~WO?uYdf3VsxXHt3_C=7W{% z_X{|NbC6F~YZPu+tWJU4(B9!ZmO@jTY>kuaU#9}(ENT62`>peckIZ~kicC9-AgQ`^O~YF0^~huphBo^R;;#jlL&3X+FBP=X^pLJ1B`uQ)n;sv}$Q7 z`)%Pd1{;D6=0R6D*n0JNOcJLvP?vP-mTT(j|Ml7x1T4Q@;VQuR5ycTkkpr-`x5Onm?KFJy!DrjUa>l zzj+;VvUhbc{oo?9Q~_@LJu#%J)^4M(Gv@J8@sn`XEuSQl3ni4Gh3rHT25U=oH!l?; z9IgSxhu%=107QvAA?|AXE_*W#Yf~(%%1H}aOVd2iKz%XhG`m|P)8+MKAyfj9TXk{t zRmBAvE&myk0tje|4Fkjq!3SQ8%jqDB4A}UVW~u>D_XI&~IG`8a5x>eg`vUuxxAoVfU6sF{8M_5D~oRT5R(i2=XCmoO%QXk=oC^ zF@}2?Fm_UB+nC@Nb#G=$oXfhDr~`mjO4&V<9UlAZUa|h0%!bM9p;kxUj8?A`voDsT zNQnW5IB+RV3G<}A5~CGzZtOD3*Ov=LL>wFG#pikvjzQe&GEY*-M>~d$`WfwPhEpjQ zCj3qi5nrBl{7`bSw_1pTG^KY-{CaihJ&`z@==mUA z2eF86c%Q|qWEsP55KF$uM~tacnYzTqAcnv{by`^QN5@9^c>xz8VFU9L6lBJhfZNq$ z_bGfJeB~?MQvMd)+Eq#ol6tHe`E#^0*VJJ}uL%r1cMwba)^E;qUfQYM=4G`muXl6U zN&u#y6SVO*;wV?Od|2|B8(NR#ooQRO+T0N{J;%r&8r zip%c|@4Iv`b8ESu{z_oTnNVFstdlV$@`^fWRf{yZrslblYesuB(>?^Qz;KFdQWqpynM^BJ)YuNG1rR3JY{Gxyl>3Jcu3 zgz=o9q_y*7+o7grO2OE38|t7DS;XDAA}6ni5nkL=%tm&%FZZAq#j5y4$(%IF(i+jWIW{~CII%fWA_M?#bXyA!xmi7YadncR$ zhS!~BK>;T)SwOZJ0yH!HkK(=r9LhH8pNJ@FK}bpnWnYpOSwi-GiR=brXU3i$lPHxW zl}c$Fg;EN=N|dB%S5gttDk@3~Y5AXLZ1c>*)c0NgZ?0=n?_0m$xz9QGxzBy>ZDy?B zhMjJ6xBfQH71(!)$NzTJEP|@-;iYT#ElNFIRjyc<*rGp-?+UFYD6pc zuWN3+^+xK-{{40*<6Hn}4ezw#5W|9aWK69?lX4MCq6`B`k{%V_V z-ys)hWK`^wk)V6B;b$3$MjjA2&8n{@N8Ocik^GHPXE(NB(q; z$^D{98jn<;_WAoYD_wi~>b&>jH;;vjja@#Xc+~)IUB!3aLzrd-*DcdAaTPQnijdR_USGnh;TxX~Kaoce`NGmLU zW?6CdzING2t|}*oH1k{Jdc;S5+r3Lkyu!~9cdTTRjTTwT0Kjqt;&Y*i|z^ex=?%8mpqOC?r1X^Q4V6 zi4D#6Ju{15gatVi6su;sB|VYxLXP?w^7AG|dVb*tZ`AA59b#;-Zgvnojj zTMy1(=e1(KOR}N3(yf)+^&hG%)4we~@4NWR(cV>?r{~)@{PFg5JB~jlQuJo-`e~oC zj4y>%Ya%aY%2@>{;vx z<#Je?+x|s8F#B~Lv-q(9VkVQzVc{GF#gT##yf-d{fOEBR4{e?&w(k3hC13M*pZb`v z|G4$vJ|+B5uLdBSo;vq&T&((EcuJW1S|yfmRYD>w-y6+Jneo5ylrZ(RN-W>1ge+Bi z@&4_p@Ba%=2~%II#PY35NYzBYbrK@({|iqEQ(vpZ@~uipXucd?#J%9JpAsJ9%J^aD z#?*irOi@l+(Zdh$*s3u_DA^vg{1+;Y;GUDrL`GT2Fn^HDh3U1Zxk_`yE`Qn;ZPfMoouPaOV z<}C;`BwD$6g!1IiTqM!5d)JZ}8;P1!wFo6I{`-0&Hm%O{BGYQP?Q|4H`@elP+9hvx zU1By8&sU)TKc-gDg?%BBOjpiu_&YrHgmmd3o5E@iE zQwbNIeU)(STJKds!EG}(8BIP^emF&l=kqtd8A-TLqWjq+SHnffhBrbEX|La#s@|OJ z5hk{I>-3YmcgTonzb6*PS>4cjm#8oQLybHSU#5;A=ekNB@|73Jub2dMdxc1(I z((Cs5xoxn>-W0!Z;m1Nx@wW4sTK7!u!o#_pp)Xv6_k7&zfUM}-c4O1dEI+MdPu;Zd zuJ0)_I{CKRe{Z7tj;qafC-y&d>8}WGyb~wBGv#5{pZlMsB+K#V?<~-$SFW{d%YRCC zoXfSw#dwZS46>rjVdrA+v}@_puTKxqG``robHc4($yefj7jNnGI(II?r1I9|&y?Y_ z_c__I9D?3~F-v~3;|IObvttg;$aXP}X$fwK!P%|n9@bl=f4=yitki`0(`#|DI@y~~ zM>$4kmwni-RIENJ^-Ozp-weB`dpLd0%q)@rT(fK=3vOzY!t);;p73ma_<+6LMUp1F z{+Di{gh|I%x)*M!F8yqpZ_;&fx8w2fSA|{2-0xh>b&pOD++_I8k>iKX={~WqddTL$ zm^pk?thqG;Hq<}WjdfniTQ7oJ8pGBhBY7mvkPDZ#X_;W$>K_e>C5DD?Yio@+XU>cX zS*KH&oL6A7j>lI_=XIg^rFR<*kS|ZHXZ)<0j8EfNUZ15JF>$;0s@MMEOBWp!n&q{p zzIgQ>*X2zIWz`I|F9;eL`=6C<>lAh7J%=FP+`JX4EiXz+zm>?|{q2%x_&xN<^^a0p z^e&Z8^U5fORhn5wCk20ceBo>i%H+A3w3SOaQDf&dYs0QuqdQ@rrrIZFttneoI7@EF zi}|L`=DFuv=HHq%>qWYk_1d7~zE`gazgIqe<(vE|I((q>$XP9hRKk2N5-~