diff --git a/apps/web/package.json b/apps/web/package.json index f500675..83615ff 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -20,6 +20,7 @@ "@nivo/drizzle": "workspace:*", "@nivo/env": "workspace:*", "@nivo/ffmpeg": "workspace:*", + "@nivo/i18n": "workspace:*", "@nivo/openai": "workspace:*", "@nivo/qstash": "workspace:*", "@nivo/trpc": "workspace:*", diff --git a/apps/web/src/app/(home)/about/page.tsx b/apps/web/src/app/[locale]/(home)/about/page.tsx similarity index 100% rename from apps/web/src/app/(home)/about/page.tsx rename to apps/web/src/app/[locale]/(home)/about/page.tsx diff --git a/apps/web/src/app/(home)/gradient-bg.tsx b/apps/web/src/app/[locale]/(home)/gradient-bg.tsx similarity index 100% rename from apps/web/src/app/(home)/gradient-bg.tsx rename to apps/web/src/app/[locale]/(home)/gradient-bg.tsx diff --git a/apps/web/src/app/(home)/page.tsx b/apps/web/src/app/[locale]/(home)/page.tsx similarity index 100% rename from apps/web/src/app/(home)/page.tsx rename to apps/web/src/app/[locale]/(home)/page.tsx diff --git a/apps/web/src/app/api/ai/generate/description/route.ts b/apps/web/src/app/[locale]/api/ai/generate/description/route.ts similarity index 100% rename from apps/web/src/app/api/ai/generate/description/route.ts rename to apps/web/src/app/[locale]/api/ai/generate/description/route.ts diff --git a/apps/web/src/app/api/ai/generate/title/route.ts b/apps/web/src/app/[locale]/api/ai/generate/title/route.ts similarity index 100% rename from apps/web/src/app/api/ai/generate/title/route.ts rename to apps/web/src/app/[locale]/api/ai/generate/title/route.ts diff --git a/apps/web/src/app/api/auth/[...nextauth]/route.ts b/apps/web/src/app/[locale]/api/auth/[...nextauth]/route.ts similarity index 100% rename from apps/web/src/app/api/auth/[...nextauth]/route.ts rename to apps/web/src/app/[locale]/api/auth/[...nextauth]/route.ts diff --git a/apps/web/src/app/api/trpc/[trpc]/route.ts b/apps/web/src/app/[locale]/api/trpc/[trpc]/route.ts similarity index 100% rename from apps/web/src/app/api/trpc/[trpc]/route.ts rename to apps/web/src/app/[locale]/api/trpc/[trpc]/route.ts diff --git a/apps/web/src/app/api/webhooks/bunny/route.ts b/apps/web/src/app/[locale]/api/webhooks/bunny/route.ts similarity index 100% rename from apps/web/src/app/api/webhooks/bunny/route.ts rename to apps/web/src/app/[locale]/api/webhooks/bunny/route.ts diff --git a/apps/web/src/app/api/webhooks/external/route.ts b/apps/web/src/app/[locale]/api/webhooks/external/route.ts similarity index 100% rename from apps/web/src/app/api/webhooks/external/route.ts rename to apps/web/src/app/[locale]/api/webhooks/external/route.ts diff --git a/apps/web/src/app/api/webhooks/qstash/errors/webhook-error.ts b/apps/web/src/app/[locale]/api/webhooks/qstash/errors/webhook-error.ts similarity index 100% rename from apps/web/src/app/api/webhooks/qstash/errors/webhook-error.ts rename to apps/web/src/app/[locale]/api/webhooks/qstash/errors/webhook-error.ts diff --git a/apps/web/src/app/api/webhooks/qstash/handlers/create-subtitles-from-transcription.ts b/apps/web/src/app/[locale]/api/webhooks/qstash/handlers/create-subtitles-from-transcription.ts similarity index 100% rename from apps/web/src/app/api/webhooks/qstash/handlers/create-subtitles-from-transcription.ts rename to apps/web/src/app/[locale]/api/webhooks/qstash/handlers/create-subtitles-from-transcription.ts diff --git a/apps/web/src/app/api/webhooks/qstash/handlers/create-transcription.ts b/apps/web/src/app/[locale]/api/webhooks/qstash/handlers/create-transcription.ts similarity index 100% rename from apps/web/src/app/api/webhooks/qstash/handlers/create-transcription.ts rename to apps/web/src/app/[locale]/api/webhooks/qstash/handlers/create-transcription.ts diff --git a/apps/web/src/app/api/webhooks/qstash/handlers/process-video.ts b/apps/web/src/app/[locale]/api/webhooks/qstash/handlers/process-video.ts similarity index 100% rename from apps/web/src/app/api/webhooks/qstash/handlers/process-video.ts rename to apps/web/src/app/[locale]/api/webhooks/qstash/handlers/process-video.ts diff --git a/apps/web/src/app/api/webhooks/qstash/handlers/upload-to-external-provider.ts b/apps/web/src/app/[locale]/api/webhooks/qstash/handlers/upload-to-external-provider.ts similarity index 100% rename from apps/web/src/app/api/webhooks/qstash/handlers/upload-to-external-provider.ts rename to apps/web/src/app/[locale]/api/webhooks/qstash/handlers/upload-to-external-provider.ts diff --git a/apps/web/src/app/api/webhooks/qstash/route.ts b/apps/web/src/app/[locale]/api/webhooks/qstash/route.ts similarity index 100% rename from apps/web/src/app/api/webhooks/qstash/route.ts rename to apps/web/src/app/[locale]/api/webhooks/qstash/route.ts diff --git a/apps/web/src/app/app/(dashboard)/cards/views-count-chart.tsx b/apps/web/src/app/[locale]/app/(dashboard)/cards/views-count-chart.tsx similarity index 100% rename from apps/web/src/app/app/(dashboard)/cards/views-count-chart.tsx rename to apps/web/src/app/[locale]/app/(dashboard)/cards/views-count-chart.tsx diff --git a/apps/web/src/app/app/(dashboard)/cards/views-count.tsx b/apps/web/src/app/[locale]/app/(dashboard)/cards/views-count.tsx similarity index 79% rename from apps/web/src/app/app/(dashboard)/cards/views-count.tsx rename to apps/web/src/app/[locale]/app/(dashboard)/cards/views-count.tsx index 029516b..7a9597f 100644 --- a/apps/web/src/app/app/(dashboard)/cards/views-count.tsx +++ b/apps/web/src/app/[locale]/app/(dashboard)/cards/views-count.tsx @@ -1,16 +1,20 @@ import { dayjs } from '@nivo/dayjs' +import { Dictionary } from '@nivo/i18n' import { Eye } from 'lucide-react' import dynamic from 'next/dynamic' import Link from 'next/link' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { serverClient } from '@/lib/trpc/server' +import { getDictionary } from '@/utils/dictionary-server-side' const ViewsCountChart = dynamic(() => import('./views-count-chart'), { ssr: false, }) export async function ViewsCount() { + const dictionary = getDictionary() + try { const { views } = await serverClient.viewsSummary() @@ -24,8 +28,10 @@ export async function ViewsCount() { - Views{' '} - (last 7 days) + {dictionary.views_count_title}{' '} + + {dictionary.views_count_subtitle} + @@ -39,16 +45,16 @@ export async function ViewsCount() {

- Setup your Bunny account + {dictionary.views_count_setup_message} {' '} - to see metrics + {dictionary.views_count_instruction}

- Views{' '} + {dictionary.views_count_title}{' '} - (last 7 days) + {dictionary.views_count_subtitle} diff --git a/apps/web/src/app/app/(dashboard)/page.tsx b/apps/web/src/app/[locale]/app/(dashboard)/page.tsx similarity index 57% rename from apps/web/src/app/app/(dashboard)/page.tsx rename to apps/web/src/app/[locale]/app/(dashboard)/page.tsx index e656b8f..aa508a4 100644 --- a/apps/web/src/app/app/(dashboard)/page.tsx +++ b/apps/web/src/app/[locale]/app/(dashboard)/page.tsx @@ -1,4 +1,4 @@ -import { Metadata } from 'next' +import Head from 'next/head' import { Suspense } from 'react' import { Loading } from '@/components/summary/loading' @@ -6,17 +6,28 @@ import { Storage } from '@/components/summary/storage' import { TotalCount } from '@/components/summary/total-count' import { ViewsCount } from './cards/views-count' - -export const metadata: Metadata = { - title: 'Dashboard', -} +import { getDictionary, setDictionary } from '@/utils/dictionary-server-side' +import { Locale, getDictionaryByLocale } from '@nivo/i18n' export const revalidate = 900 -export default function DashboardPage() { +export default async function DashboardPage({ + params: { locale } +}: { + params: { locale: Locale } +}) { + const dictionaryByLocale = await getDictionaryByLocale(locale) + setDictionary(dictionaryByLocale) + const dictionary = getDictionary() + return ( <> -

Dashboard

+ + {dictionary.dashboard_page_title} + +

+ {dictionary.dashboard_heading} +

}> diff --git a/apps/web/src/app/app/batches/[id]/batch-upload-list.tsx b/apps/web/src/app/[locale]/app/batches/[id]/batch-upload-list.tsx similarity index 86% rename from apps/web/src/app/app/batches/[id]/batch-upload-list.tsx rename to apps/web/src/app/[locale]/app/batches/[id]/batch-upload-list.tsx index 3c50d94..a92db2d 100644 --- a/apps/web/src/app/app/batches/[id]/batch-upload-list.tsx +++ b/apps/web/src/app/[locale]/app/batches/[id]/batch-upload-list.tsx @@ -23,6 +23,7 @@ import { } from '@/components/ui/tooltip' import { UploadItemActions } from '@/components/upload-item-actions' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { formatBytes } from '@/utils/format-bytes' import { formatSecondsToMinutes } from '@/utils/format-seconds-to-minutes' @@ -33,6 +34,7 @@ export interface BatchUploadListProps { } export function BatchUploadList({ batchId }: BatchUploadListProps) { + const dictionary = useDictionary() const { data, isLoading: isLoadingBatch, @@ -57,24 +59,28 @@ export function BatchUploadList({ batchId }: BatchUploadListProps) {
- Video + {dictionary.batch_upload_list_video_column} {isRefetchingBatch && ( )}
- Duration - Size + + {dictionary.batch_upload_list_duration_column} + + + {dictionary.batch_upload_list_size_column} +
- Transcription + {dictionary.batch_upload_list_transcription_column}
- External ID + {dictionary.batch_upload_list_external_id_column}
@@ -121,9 +127,7 @@ export function BatchUploadList({ batchId }: BatchUploadListProps) { ) : (
- - Processing - + {dictionary.batch_upload_list_processing_status}
)} @@ -139,15 +143,13 @@ export function BatchUploadList({ batchId }: BatchUploadListProps) { textToCopy={video.externalProviderId} > - Copy + {dictionary.batch_upload_list_copy_button}
) : (
- - Processing - + {dictionary.batch_upload_list_processing_status}
)} @@ -159,7 +161,7 @@ export function BatchUploadList({ batchId }: BatchUploadListProps) { {video.author?.image && (
- by + {dictionary.batch_upload_list_by} - + )) ) : ( - No results. + {dictionary.batch_upload_list_no_results} )} diff --git a/apps/web/src/app/app/batches/[id]/batch-upload-skeleton-table.tsx b/apps/web/src/app/[locale]/app/batches/[id]/batch-upload-skeleton-table.tsx similarity index 100% rename from apps/web/src/app/app/batches/[id]/batch-upload-skeleton-table.tsx rename to apps/web/src/app/[locale]/app/batches/[id]/batch-upload-skeleton-table.tsx diff --git a/apps/web/src/app/app/batches/[id]/page.tsx b/apps/web/src/app/[locale]/app/batches/[id]/page.tsx similarity index 62% rename from apps/web/src/app/app/batches/[id]/page.tsx rename to apps/web/src/app/[locale]/app/batches/[id]/page.tsx index 78a72c4..6ebe648 100644 --- a/apps/web/src/app/app/batches/[id]/page.tsx +++ b/apps/web/src/app/[locale]/app/batches/[id]/page.tsx @@ -1,6 +1,7 @@ import { Metadata } from 'next' import { BatchUploadList } from './batch-upload-list' +import { getDictionary } from '@/utils/dictionary-server-side' interface BatchPageProps { params: { id: string } @@ -9,22 +10,27 @@ interface BatchPageProps { export async function generateMetadata({ params, }: BatchPageProps): Promise { + const dictionary = getDictionary() const id = params.id return { - title: `Batch ${id}`, + title: `${dictionary.batch_page_generate_metadata_title} ${id}`, } } export default async function BatchPage({ params }: BatchPageProps) { + const dictionary = getDictionary() + return ( <>
-

Batch details

+

+ {dictionary.batch_page_header_title} +

- This page refreshes every 15s + {dictionary.batch_page_refresh_notice}
diff --git a/apps/web/src/app/app/layout.tsx b/apps/web/src/app/[locale]/app/layout.tsx similarity index 50% rename from apps/web/src/app/app/layout.tsx rename to apps/web/src/app/[locale]/app/layout.tsx index ba8ae5e..f35643b 100644 --- a/apps/web/src/app/app/layout.tsx +++ b/apps/web/src/app/[locale]/app/layout.tsx @@ -1,10 +1,21 @@ +import { Locale, getDictionaryByLocale } from '@nivo/i18n' + import { Header } from '@/components/header' +import { setDictionary, setLocale } from '@/utils/dictionary-server-side' export default async function AppLayout({ children, + params: { locale } }: { children: React.ReactNode + params: { + locale: Locale + } }) { + setLocale(locale) + const dictionary = await getDictionaryByLocale(locale) + setDictionary(dictionary) + return (
diff --git a/apps/web/src/app/app/settings/aside-link.tsx b/apps/web/src/app/[locale]/app/settings/aside-link.tsx similarity index 100% rename from apps/web/src/app/app/settings/aside-link.tsx rename to apps/web/src/app/[locale]/app/settings/aside-link.tsx diff --git a/apps/web/src/app/app/settings/developers/create-webhook.tsx b/apps/web/src/app/[locale]/app/settings/developers/create-webhook.tsx similarity index 73% rename from apps/web/src/app/app/settings/developers/create-webhook.tsx rename to apps/web/src/app/[locale]/app/settings/developers/create-webhook.tsx index 019e5da..a183638 100644 --- a/apps/web/src/app/app/settings/developers/create-webhook.tsx +++ b/apps/web/src/app/[locale]/app/settings/developers/create-webhook.tsx @@ -11,24 +11,27 @@ import { DialogTitle, DialogTrigger, } from '@/components/ui/dialog' +import { useDictionary } from '@/state/dictionary' import { WebhookForm } from './webhook-form' export function CreateWebhook() { + const dictionary = useDictionary() + return ( - Listen to Nivo events + {dictionary.create_webhook_title} - Set up your webhook endpoint to receive live events from Nivo. + {dictionary.create_webhook_description} diff --git a/apps/web/src/app/app/settings/developers/logs/[logId]/page.tsx b/apps/web/src/app/[locale]/app/settings/developers/logs/[logId]/page.tsx similarity index 75% rename from apps/web/src/app/app/settings/developers/logs/[logId]/page.tsx rename to apps/web/src/app/[locale]/app/settings/developers/logs/[logId]/page.tsx index d412e38..8439360 100644 --- a/apps/web/src/app/app/settings/developers/logs/[logId]/page.tsx +++ b/apps/web/src/app/[locale]/app/settings/developers/logs/[logId]/page.tsx @@ -7,6 +7,7 @@ import { Separator } from '@/components/ui/separator' import { Sheet, SheetHeader, SheetTitle } from '@/components/ui/sheet' import { Table, TableBody, TableCell, TableRow } from '@/components/ui/table' import { serverClient } from '@/lib/trpc/server' +import { getDictionary } from '@/utils/dictionary-server-side' interface WebhookLogsDetails { params: { @@ -25,10 +26,11 @@ function getParsedText(text: string) { } export default async function WebhookLogsDetails({ - params, + params: { logId }, }: WebhookLogsDetails) { + const dictionary = getDictionary() const { webhookLog } = await serverClient.getCompanyWebhookLog({ - companyWebhookLogId: params.logId, + companyWebhookLogId: logId, }) const highlighter = await getHighlighter({ @@ -50,23 +52,23 @@ export default async function WebhookLogsDetails({ const highlightedRequestBody = parsedRequestBody ? highlighter.codeToHtml(parsedRequestBody.code, { - lang: parsedRequestBody.lang, - themes: { light: 'rose-pine-dawn', dark: 'vesper' }, - }) + lang: parsedRequestBody.lang, + themes: { light: 'rose-pine-dawn', dark: 'vesper' }, + }) : null const highlightedRequestHeaders = parsedRequestHeaders ? highlighter.codeToHtml(parsedRequestHeaders.code, { - lang: parsedRequestHeaders.lang, - themes: { light: 'rose-pine-dawn', dark: 'vesper' }, - }) + lang: parsedRequestHeaders.lang, + themes: { light: 'rose-pine-dawn', dark: 'vesper' }, + }) : null const highlightedResponseBody = parsedResponseBody ? highlighter.codeToHtml(parsedResponseBody.code, { - lang: parsedResponseBody.lang, - themes: { light: 'rose-pine-dawn', dark: 'vesper' }, - }) + lang: parsedResponseBody.lang, + themes: { light: 'rose-pine-dawn', dark: 'vesper' }, + }) : null const nextRetryDelay = Math.round( @@ -99,52 +101,65 @@ export default async function WebhookLogsDetails({ - Execution ID + + {dictionary.webhook_logs_details_execution_id} + {webhookLog.id} - Status + {dictionary.webhook_logs_details_status} {webhookLog.status === 'SUCCESS' && (
- Success + + {dictionary.webhook_logs_details_success} +
)} {webhookLog.status === 'ERROR' && (
- Error + + {dictionary.webhook_logs_details_error} +
)} {webhookLog.status === 'PENDING' && (
- Pending + + {dictionary.webhook_logs_details_pending} +
)}
- Error reason + + {dictionary.webhook_logs_details_error_reason} + {webhookLog.errorReason || '-'} - Number of retries + + {dictionary.webhook_logs_details_number_of_retries} + {webhookLog.status === 'ERROR' - ? `${webhookLog.numberOfRetries} ${ - isNextRetryDateInFuture ? nextRetryDateFormatted : '' - }` + ? `${webhookLog.numberOfRetries} ${isNextRetryDateInFuture ? nextRetryDateFormatted : '' + }` : '-'} - HTTP Status + + {dictionary.webhook_logs_details_http_status} + {webhookLog.httpCode ?? '-'} @@ -152,13 +167,17 @@ export default async function WebhookLogsDetails({ - Started at + + {dictionary.webhook_logs_details_started_at} + {dayjs(webhookLog.createdAt).format('MMMM D h:mm A')} - Finished at + + {dictionary.webhook_logs_details_finished_at} + {webhookLog.finishedAt ? (
@@ -183,7 +202,7 @@ export default async function WebhookLogsDetails({ {highlightedRequestHeaders && (
- Request Headers + {dictionary.webhook_logs_details_request_headers}
- Request Body + {dictionary.webhook_logs_details_request_body}
- Response Body + {dictionary.webhook_logs_details_response_body}
+ + {dictionary.webhook_logs_layout_title} + +
+

+ {dictionary.webhook_logs_layout_title} +

+ + + + +
{children}
+
+ + ) +} diff --git a/apps/web/src/app/app/settings/developers/logs/page.tsx b/apps/web/src/app/[locale]/app/settings/developers/logs/page.tsx similarity index 100% rename from apps/web/src/app/app/settings/developers/logs/page.tsx rename to apps/web/src/app/[locale]/app/settings/developers/logs/page.tsx diff --git a/apps/web/src/app/app/settings/developers/logs/webhook-logs-filters.tsx b/apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-filters.tsx similarity index 85% rename from apps/web/src/app/app/settings/developers/logs/webhook-logs-filters.tsx rename to apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-filters.tsx index 04c45b0..37f3401 100644 --- a/apps/web/src/app/app/settings/developers/logs/webhook-logs-filters.tsx +++ b/apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-filters.tsx @@ -15,8 +15,10 @@ import { SelectValue, } from '@/components/ui/select' import { Separator } from '@/components/ui/separator' +import { useDictionary } from '@/state/dictionary' export function WebhookLogsFilters() { + const dictionary = useDictionary() const router = useRouter() const searchParams = useSearchParams() const [isPendingFilterTransition, startTransition] = useTransition() @@ -68,7 +70,9 @@ export function WebhookLogsFilters() { setQuery(e.target.value)} - placeholder="Filter webhooks..." + placeholder={ + dictionary.webhook_logs_filters_placeholder_filter_webhooks + } className="h-8 w-auto flex-1" /> @@ -78,8 +82,10 @@ export function WebhookLogsFilters() { onValueChange={setTrigger} name="trigger" > - - + + {Object.keys(webhookEventTrigger.Values).map((trigger) => { @@ -92,8 +98,6 @@ export function WebhookLogsFilters() { - {/* */} - ) diff --git a/apps/web/src/app/app/settings/developers/logs/webhook-logs-list-date-range-picker.tsx b/apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-list-date-range-picker.tsx similarity index 74% rename from apps/web/src/app/app/settings/developers/logs/webhook-logs-list-date-range-picker.tsx rename to apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-list-date-range-picker.tsx index 34fa15b..1143867 100644 --- a/apps/web/src/app/app/settings/developers/logs/webhook-logs-list-date-range-picker.tsx +++ b/apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-list-date-range-picker.tsx @@ -20,8 +20,10 @@ import { SelectTrigger, SelectValue, } from '@/components/ui/select' +import { useDictionary } from '@/state/dictionary' export function WebhookLogsListDateRangePicker() { + const dictionary = useDictionary() const [date, setDate] = React.useState({ from: dayjs(new Date()).subtract(7, 'days').toDate(), to: new Date(), @@ -58,20 +60,30 @@ export function WebhookLogsListDateRangePicker() { dayjs(date.from).format('ll') ) ) : ( - Pick a date + dictionary.webhook_logs_date_picker_placeholder )}
diff --git a/apps/web/src/app/app/settings/developers/logs/webhook-logs-list-loading.tsx b/apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-list-loading.tsx similarity index 65% rename from apps/web/src/app/app/settings/developers/logs/webhook-logs-list-loading.tsx rename to apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-list-loading.tsx index bb90247..5d9fc4b 100644 --- a/apps/web/src/app/app/settings/developers/logs/webhook-logs-list-loading.tsx +++ b/apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-list-loading.tsx @@ -7,18 +7,29 @@ import { TableHeader, TableRow, } from '@/components/ui/table' +import { useDictionary } from '@/state/dictionary' export function WebhookLogsListLoading() { + const dictionary = useDictionary() + return (
- Time - Status - Destination - Trigger - Request + + {dictionary.webhook_logs_list_time} + + + {dictionary.webhook_logs_list_status} + + + {dictionary.webhook_logs_list_destination} + + + {dictionary.webhook_logs_list_trigger} + + {dictionary.webhook_logs_list_request} @@ -28,19 +39,15 @@ export function WebhookLogsListLoading() { - - - - diff --git a/apps/web/src/app/app/settings/developers/logs/webhook-logs-list.tsx b/apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-list.tsx similarity index 87% rename from apps/web/src/app/app/settings/developers/logs/webhook-logs-list.tsx rename to apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-list.tsx index 07f589b..be60023 100644 --- a/apps/web/src/app/app/settings/developers/logs/webhook-logs-list.tsx +++ b/apps/web/src/app/[locale]/app/settings/developers/logs/webhook-logs-list.tsx @@ -17,10 +17,12 @@ import { TableRow, } from '@/components/ui/table' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { WebhookLogsListLoading } from './webhook-logs-list-loading' export function WebhookLogsList() { + const dictionary = useDictionary() const router = useRouter() const searchParams = useSearchParams() @@ -57,16 +59,22 @@ export function WebhookLogsList() {
- Time{' '} + {dictionary.webhook_logs_list_time} {isFetching && ( )}
- Status - Destination - Trigger - Request + + {dictionary.webhook_logs_list_status} + + + {dictionary.webhook_logs_list_destination} + + + {dictionary.webhook_logs_list_trigger} + + {dictionary.webhook_logs_list_request}
@@ -142,7 +150,7 @@ export function WebhookLogsList() { {isFetchingNextPage ? ( ) : ( - 'Load more logs' + dictionary.webhook_logs_list_load_more )} diff --git a/apps/web/src/app/[locale]/app/settings/developers/page.tsx b/apps/web/src/app/[locale]/app/settings/developers/page.tsx new file mode 100644 index 0000000..7fda71b --- /dev/null +++ b/apps/web/src/app/[locale]/app/settings/developers/page.tsx @@ -0,0 +1,96 @@ +import { ClipboardCopy, Code2 } from 'lucide-react' +import Head from 'next/head' +import Link from 'next/link' +import { Suspense } from 'react' + +import { Button } from '@/components/ui/button' +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from '@/components/ui/card' +import { Input } from '@/components/ui/input' +import { Label } from '@/components/ui/label' +import { Separator } from '@/components/ui/separator' + +import { WebhookDocsButton } from './webhooks-docs-button' +import { WebhooksList } from './webhooks-list' +import { WebhooksListLoading } from './webhooks-list-loading' +import { getDictionary, setDictionary } from '@/utils/dictionary-server-side' +import { Locale, getDictionaryByLocale } from '@nivo/i18n' + +export default async function SettingsPage({ + params: { locale } +}: { + params: { locale: Locale } +}) { + const dictionaryByLocale = await getDictionaryByLocale(locale) + setDictionary(dictionaryByLocale) + const dictionary = getDictionary() + + return ( + <> + + {dictionary.developers_settings_title} + + + + {dictionary.developers_title} + {dictionary.developers_description} + + +
+
+ + +

+ {dictionary.api_url_description} +

+
+
+ +
+ + +
+
+ + + + }> + + + + + +
+ + + +
+
+
+
+ + ) +} diff --git a/apps/web/src/app/app/settings/developers/webhook-events-chart.tsx b/apps/web/src/app/[locale]/app/settings/developers/webhook-events-chart.tsx similarity index 100% rename from apps/web/src/app/app/settings/developers/webhook-events-chart.tsx rename to apps/web/src/app/[locale]/app/settings/developers/webhook-events-chart.tsx diff --git a/apps/web/src/app/app/settings/developers/webhook-form.tsx b/apps/web/src/app/[locale]/app/settings/developers/webhook-form.tsx similarity index 69% rename from apps/web/src/app/app/settings/developers/webhook-form.tsx rename to apps/web/src/app/[locale]/app/settings/developers/webhook-form.tsx index ebe6621..46b6881 100644 --- a/apps/web/src/app/app/settings/developers/webhook-form.tsx +++ b/apps/web/src/app/[locale]/app/settings/developers/webhook-form.tsx @@ -2,6 +2,7 @@ import { zodResolver } from '@hookform/resolvers/zod' import { webhookEventTrigger } from '@nivo/drizzle/schema' +import { Dictionary } from '@nivo/i18n' import { RouterOutput } from '@nivo/trpc' import { Loader2 } from 'lucide-react' import { FormProvider, useForm } from 'react-hook-form' @@ -13,27 +14,32 @@ import { DialogTrigger } from '@/components/ui/dialog' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { WebhookTriggersInput } from './webhook-triggers-input' -export const createWebhookSchema = z.object({ - url: z.string().url({ message: 'Enter a valid URL.' }), - triggers: z - .array(webhookEventTrigger) - .min(1, { message: 'Select at least one event trigger.' }), -}) +export const createWebhookSchema = (dictionary: Dictionary) => + z.object({ + url: z.string().url({ message: dictionary.webhook_form_invalid_url }), + triggers: z + .array(webhookEventTrigger) + .min(1, { message: dictionary.webhook_form_select_trigger }), + }) -export type CreateWebhookSchema = z.infer +export type CreateWebhookSchema = z.infer< + ReturnType +> interface WebhookFormProps { webhookToEdit?: RouterOutput['getCompanyWebhooks']['companyWebhooks'][number] } export function WebhookForm({ webhookToEdit }: WebhookFormProps) { + const dictionary = useDictionary() const utils = trpc.useUtils() const webhookForm = useForm({ - resolver: zodResolver(createWebhookSchema), + resolver: zodResolver(createWebhookSchema(dictionary)), defaultValues: { url: webhookToEdit?.url ?? '', triggers: webhookToEdit?.triggers ?? [], @@ -69,12 +75,12 @@ export function WebhookForm({ webhookToEdit }: WebhookFormProps) { utils.getCompanyWebhooks.invalidate() - toast.success('Webhook successfully saved!', { - description: 'Now your endpoint is listening to Nivo events!', + toast.success(dictionary.webhook_form_save_success, { + description: dictionary.webhook_form_save_success_description, }) } catch { - toast.error('Uh oh! Something went wrong.', { - description: `An error ocurred while trying to save the webhook.`, + toast.success(dictionary.webhook_form_save_error, { + description: dictionary.webhook_form_save_error_description, }) } } @@ -89,7 +95,7 @@ export function WebhookForm({ webhookToEdit }: WebhookFormProps) {
- + {errors.url && (

@@ -102,10 +108,16 @@ export function WebhookForm({ webhookToEdit }: WebhookFormProps) {

- +
diff --git a/apps/web/src/app/app/settings/developers/webhook-list-item-actions.tsx b/apps/web/src/app/[locale]/app/settings/developers/webhook-list-item-actions.tsx similarity index 81% rename from apps/web/src/app/app/settings/developers/webhook-list-item-actions.tsx rename to apps/web/src/app/[locale]/app/settings/developers/webhook-list-item-actions.tsx index 991ca5c..cb1fa43 100644 --- a/apps/web/src/app/app/settings/developers/webhook-list-item-actions.tsx +++ b/apps/web/src/app/[locale]/app/settings/developers/webhook-list-item-actions.tsx @@ -33,6 +33,7 @@ import { DropdownMenuTrigger, } from '@/components/ui/dropdown-menu' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { WebhookForm } from './webhook-form' @@ -43,6 +44,7 @@ interface WebhookListItemActionsProps { export function WebhookListItemActions({ webhook, }: WebhookListItemActionsProps) { + const dictionary = useDictionary() const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false) const utils = trpc.useUtils() @@ -61,8 +63,8 @@ export function WebhookListItemActions({ setIsDeleteDialogOpen(false) } catch { - toast('Uh oh! Something went wrong.', { - description: `An error ocurred while trying to delete the webhook.`, + toast.error(dictionary.error_deleting_webhook, { + description: dictionary.error_deleting_webhook_desc, }) } } @@ -80,15 +82,15 @@ export function WebhookListItemActions({ e.preventDefault()}> - Edit + {dictionary.webhook_list_actions_edit} - Listen to Nivo events + {dictionary.webhook_dialog_title} - Set up your webhook endpoint to receive live events from Nivo. + {dictionary.webhook_dialog_description} @@ -106,19 +108,18 @@ export function WebhookListItemActions({ onSelect={(e) => e.preventDefault()} > - Delete + {dictionary.webhook_list_actions_delete} - Are you sure? + + {dictionary.webhook_list_delete_confirmation} + -

- This action can't be undone and the webhook will be - permanently deleted from the server. -

-

This webhook is listening to the following events:

+

{dictionary.webhook_list_delete_detail}

+

{dictionary.webhook_list_delete_events}

    {webhook.triggers.map((trigger) => { return ( @@ -133,7 +134,9 @@ export function WebhookListItemActions({ - Cancel + + {dictionary.webhook_list_delete_cancel} + diff --git a/apps/web/src/app/[locale]/app/settings/developers/webhook-triggers-input.tsx b/apps/web/src/app/[locale]/app/settings/developers/webhook-triggers-input.tsx new file mode 100644 index 0000000..d515f1d --- /dev/null +++ b/apps/web/src/app/[locale]/app/settings/developers/webhook-triggers-input.tsx @@ -0,0 +1,101 @@ +'use client' + +import { Controller, useFormContext } from 'react-hook-form' + +import { Badge } from '@/components/ui/badge' +import { Checkbox } from '@/components/ui/checkbox' +import { Label } from '@/components/ui/label' +import { Separator } from '@/components/ui/separator' +import { Skeleton } from '@/components/ui/skeleton' +import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' + +import { CreateWebhookSchema } from './webhook-form' + +export function WebhookTriggersInput() { + const dictionary = useDictionary() + const { data, isLoading } = trpc.getAvailableTriggers.useQuery() + + const { + control, + formState: { errors }, + setValue, + } = useFormContext() + + function handleSelectAllTriggers() { + if (!data) return + setValue( + 'triggers', + data.triggers.map((item) => item.trigger), + ) + } + + if (isLoading) { + return ( +
    + {Array.from({ length: 6 }).map((_, i) => ( +
    + +
    + + +
    +
    + ))} +
    + ) + } + + return ( +
    +
    + {data && + data.triggers.map(({ trigger, description }) => ( +
    + +

    + {dictionary[description]} +

    +
    + ))} +
    + {errors.triggers && ( +

    + {dictionary.webhook_triggers_error} +

    + )} + +

    + {dictionary.webhook_triggers_input_all_events} + + ? +

    +
    + ) +} diff --git a/apps/web/src/app/app/settings/developers/webhooks-docs-button.tsx b/apps/web/src/app/[locale]/app/settings/developers/webhooks-docs-button.tsx similarity index 76% rename from apps/web/src/app/app/settings/developers/webhooks-docs-button.tsx rename to apps/web/src/app/[locale]/app/settings/developers/webhooks-docs-button.tsx index 58a5018..b3f26d1 100644 --- a/apps/web/src/app/app/settings/developers/webhooks-docs-button.tsx +++ b/apps/web/src/app/[locale]/app/settings/developers/webhooks-docs-button.tsx @@ -1,3 +1,4 @@ +import { Dictionary } from '@nivo/i18n' import { BookText } from 'lucide-react' import { @@ -16,8 +17,10 @@ import { DialogTrigger, } from '@/components/ui/dialog' import { serverClient } from '@/lib/trpc/server' +import { getDictionary } from '@/utils/dictionary-server-side' export async function WebhookDocsButton() { + const dictionary = getDictionary() const { triggers } = await serverClient.getAvailableTriggers() return ( @@ -25,15 +28,15 @@ export async function WebhookDocsButton() { - Webhook events + {dictionary.webhook_docs_title} - Listen to events that happen inside Nivo in your application. + {dictionary.webhook_docs_description} @@ -43,7 +46,7 @@ export async function WebhookDocsButton() { return ( {trigger} - {description} + {dictionary[description]} ) })} diff --git a/apps/web/src/app/[locale]/app/settings/developers/webhooks-list-loading.tsx b/apps/web/src/app/[locale]/app/settings/developers/webhooks-list-loading.tsx new file mode 100644 index 0000000..3ffc84c --- /dev/null +++ b/apps/web/src/app/[locale]/app/settings/developers/webhooks-list-loading.tsx @@ -0,0 +1,78 @@ +'use client' + +import { Skeleton } from '@/components/ui/skeleton' +import { + Table, + TableBody, + TableCell, + TableHead, + TableHeader, + TableRow, +} from '@/components/ui/table' +import { useDictionary } from '@/state/dictionary' + +export function WebhooksListLoading() { + const dictionary = useDictionary() + + return ( +
    +
+ + + {dictionary.webhooks_list_loading_url} + + {dictionary.webhooks_list_loading_triggers} + + +
+ {dictionary.webhooks_list_loading_events} + + {dictionary.webhooks_list_loading_events_last_7_days} + +
+
+ +
+ {dictionary.webhooks_list_loading_success_rate} + + {dictionary.webhooks_list_loading_success_rate_last_7_days} + +
+
+ + {dictionary.webhooks_list_loading_status} + + +
+
+ + {Array.from({ length: 2 }).map((_, row) => ( + + + + + + + + + + + + + + + + + +
+ + +
+
+
+ ))} +
+
+
+ ) +} diff --git a/apps/web/src/app/app/settings/developers/webhooks-list.tsx b/apps/web/src/app/[locale]/app/settings/developers/webhooks-list.tsx similarity index 80% rename from apps/web/src/app/app/settings/developers/webhooks-list.tsx rename to apps/web/src/app/[locale]/app/settings/developers/webhooks-list.tsx index 91a4e44..5a9daf4 100644 --- a/apps/web/src/app/app/settings/developers/webhooks-list.tsx +++ b/apps/web/src/app/[locale]/app/settings/developers/webhooks-list.tsx @@ -26,6 +26,7 @@ import { TooltipTrigger, } from '@/components/ui/tooltip' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { CreateWebhook } from './create-webhook' import { WebhookListItemActions } from './webhook-list-item-actions' @@ -36,6 +37,7 @@ const WebhookEventsChart = dynamic(() => import('./webhook-events-chart'), { }) export function WebhooksList() { + const dictionary = useDictionary() const router = useRouter() const searchParams = useSearchParams() const pageIndex = z.coerce @@ -65,12 +67,10 @@ export function WebhooksList() { function handleCopySigningKey(signingKey: string) { navigator.clipboard.writeText(signingKey) - - toast.info('Signing key copied to clipboard!') + toast.info(dictionary.webhooks_signing_key_copied) } const page = pageIndex + 1 - const hasPreviousPage = data ? page > 1 : false const hasNextPage = data ? page < data.pageCount : false @@ -79,16 +79,18 @@ export function WebhooksList() {

- Listen to Nivo events in your application. + {dictionary.webhooks_description}

{data ? ( - Page {page} of {data.pageCount} + {dictionary.webhooks_page_info + .replace('{page}', page.toString()) + .replace('{pageCount}', data.pageCount.toString())} ) : ( @@ -100,7 +102,7 @@ export function WebhooksList() { onClick={() => navigateToPage(pageIndex - 1)} disabled={!hasPreviousPage} > - Go to previous page + {dictionary.webhooks_previous_page} @@ -124,25 +126,31 @@ export function WebhooksList() { - URL - Triggers + {dictionary.webhooks_list_loading_url} + + {dictionary.webhooks_list_loading_triggers} +
- Events + {dictionary.webhooks_list_loading_events} - (last 7 days) + {dictionary.webhooks_list_loading_events_last_7_days}
- Success rate + {dictionary.webhooks_list_loading_success_rate} - (last 7 days) + { + dictionary.webhooks_list_loading_success_rate_last_7_days + }
- Status + + {dictionary.webhooks_list_loading_status} +
@@ -150,7 +158,7 @@ export function WebhooksList() { {data?.companyWebhooks.length === 0 && ( - No webhooks created. + {dictionary.webhooks_no_created} )} @@ -169,7 +177,8 @@ export function WebhooksList() { - {webhook.triggers.length} event(s) + {webhook.triggers.length}{' '} + {dictionary.webhook_list_events}{' '} {webhook.triggers.join(', ')} @@ -187,7 +196,9 @@ export function WebhooksList() {
- ACTIVE + + {dictionary.webhook_list_event_active} +
@@ -200,7 +211,7 @@ export function WebhooksList() { size="sm" > - Signing key + {dictionary.webhooks_signing_key} diff --git a/apps/web/src/app/[locale]/app/settings/language/language-form.tsx b/apps/web/src/app/[locale]/app/settings/language/language-form.tsx new file mode 100644 index 0000000..3e12f3f --- /dev/null +++ b/apps/web/src/app/[locale]/app/settings/language/language-form.tsx @@ -0,0 +1,151 @@ +'use client' + +import { zodResolver } from '@hookform/resolvers/zod' +import { Locale } from '@nivo/i18n' +import { CaretSortIcon, CheckIcon } from '@radix-ui/react-icons' +import { useState } from 'react' +import { FormProvider, useForm } from 'react-hook-form' +import { twMerge } from 'tailwind-merge' +import { z } from 'zod' + +import { Button } from '@/components/ui/button' +import { + Command, + CommandEmpty, + CommandGroup, + CommandInput, + CommandItem, +} from '@/components/ui/command' +import { + FormControl, + FormDescription, + FormField, + FormItem, + FormLabel, + FormMessage, +} from '@/components/ui/form' +import { + Popover, + PopoverContent, + PopoverTrigger, +} from '@/components/ui/popover' +import { localeAtom, useDictionary } from '@/state/dictionary' +import { useAtomValue } from 'jotai' + +export const createLanguageSchema = z.object({ + language: z.object({ + label: z.string(), + code: z.string(), + }), +}) + +export type UpdateLanguageSchema = z.infer + +interface LanguageFormProps { + languages: { code: Locale; label: string }[] + updateLanguage(locale: Locale): Promise +} + +export function LanguageForm({ + languages, + updateLanguage, +}: LanguageFormProps) { + const currentLocale = useAtomValue(localeAtom) + const [open, setOpen] = useState(false) + + const dictionary = useDictionary() + + const languageForm = useForm({ + resolver: zodResolver(createLanguageSchema), + }) + + async function handleSaveLanguage({ language }: UpdateLanguageSchema) { + await updateLanguage(language.code) + window.location.reload() + } + + const { handleSubmit, watch } = languageForm + + const selectedOption = watch() + + return ( + +
+ lang.code === currentLocale)} + control={languageForm.control} + name="language" + render={({ field }) => ( + + {dictionary.language_form_label} + + + + + + + + + + + {dictionary.language_form_no_language_found} + + + {languages.map((language) => ( + { + languageForm.setValue('language', language) + setOpen(false) + }} + > + {language.label} + + + ))} + + + + + + {dictionary.language_form_description} + + + + )} + /> + + +
+ ) +} diff --git a/apps/web/src/app/[locale]/app/settings/language/page.tsx b/apps/web/src/app/[locale]/app/settings/language/page.tsx new file mode 100644 index 0000000..6191bfc --- /dev/null +++ b/apps/web/src/app/[locale]/app/settings/language/page.tsx @@ -0,0 +1,54 @@ +import { getDictionaryByLocale, i18n, Locale } from '@nivo/i18n' +import { Metadata } from 'next' +import { cookies } from 'next/headers' + +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from '@/components/ui/card' + +import { LanguageForm } from './language-form' +import { setDictionary } from '@/utils/dictionary-server-side' + +export const metadata: Metadata = { + title: 'Language settings', +} + +export default async function LanguagePage({ + params: { locale } +}: { + params: { locale: Locale } +}) { + const dictionary = await getDictionaryByLocale(locale) + setDictionary(dictionary) + const languages = i18n.locales.map((locale) => ({ + label: dictionary[`languages_${locale}`], + code: locale, + })) + + async function updateLanguage(locale: Locale) { + 'use server' + const cookieStore = cookies() + cookieStore.set('NEXT_LOCALE', locale) + } + + return ( + + + {dictionary.language_page_choose_language} + + {dictionary.language_page_description} + + + + + + + ) +} diff --git a/apps/web/src/app/app/settings/layout.tsx b/apps/web/src/app/[locale]/app/settings/layout.tsx similarity index 50% rename from apps/web/src/app/app/settings/layout.tsx rename to apps/web/src/app/[locale]/app/settings/layout.tsx index bbd1f0f..c84214b 100644 --- a/apps/web/src/app/app/settings/layout.tsx +++ b/apps/web/src/app/[locale]/app/settings/layout.tsx @@ -1,40 +1,63 @@ -import { Building, Code2, SquareDashedBottomCode, User2 } from 'lucide-react' +import { + Building, + Code2, + Globe, + SquareDashedBottomCode, + User2, +} from 'lucide-react' import { ReactNode } from 'react' import { AsideLink } from './aside-link' +import { getDictionaryByLocale } from '@nivo/i18n' +import { Locale } from 'next/dist/compiled/@vercel/og/satori' +import { setDictionary } from '@/utils/dictionary-server-side' + +export default async function Layout({ children, params: { locale } }: { children: ReactNode, params: { locale: Locale } }) { + const dictionary = await getDictionaryByLocale(locale) + setDictionary(dictionary) -export default async function Layout({ children }: { children: ReactNode }) { return ( <>
+ + {company.members.map((member) => { + return ( + + + + {member.image ? ( + + ) : ( +
+ )} + + + +
+ + {member.name} + + + + {member.email} + +
+
+ + + + + ) + })} + +
+
+
+ + + +

+ {dictionary.organization_info_update_not_allowed} +

+ + + + + ) +} diff --git a/apps/web/src/app/app/settings/page.tsx b/apps/web/src/app/[locale]/app/settings/page.tsx similarity index 100% rename from apps/web/src/app/app/settings/page.tsx rename to apps/web/src/app/[locale]/app/settings/page.tsx diff --git a/apps/web/src/app/[locale]/app/settings/profile/page.tsx b/apps/web/src/app/[locale]/app/settings/profile/page.tsx new file mode 100644 index 0000000..4fb2b08 --- /dev/null +++ b/apps/web/src/app/[locale]/app/settings/profile/page.tsx @@ -0,0 +1,93 @@ +import { auth } from '@nivo/auth' +import Head from 'next/head' +import Image from 'next/image' + +import { Avatar } from '@/components/ui/avatar' +import { + Card, + CardContent, + CardDescription, + CardHeader, + CardTitle, +} from '@/components/ui/card' +import { Input } from '@/components/ui/input' +import { Label } from '@/components/ui/label' +import { Separator } from '@/components/ui/separator' +import { Locale, getDictionaryByLocale } from '@nivo/i18n' +import { setDictionary } from '@/utils/dictionary-server-side' + +export default async function ProfilePage({ + params: { locale } +}: { + params: { locale: Locale } +}) { + const dictionary = await getDictionaryByLocale(locale) + setDictionary(dictionary) + const session = await auth() + + if (!session || !session.user) { + throw new Error( + dictionary.error_invalid_session_data || 'Invalid session data.', + ) + } + + const { user } = session + + return ( + <> + + {dictionary.profile_page_title} + + + + {dictionary.profile_title} + {dictionary.profile_description} + + +
+
+ + + {user.image ? ( + User Avatar + ) : ( +
+ )} + +
+ +
+ + +
+ +
+ + +
+ +

+ {dictionary.profile_info_update_not_allowed} +

+ + + + + ) +} diff --git a/apps/web/src/app/[locale]/app/upload/page.tsx b/apps/web/src/app/[locale]/app/upload/page.tsx new file mode 100644 index 0000000..3c437e9 --- /dev/null +++ b/apps/web/src/app/[locale]/app/upload/page.tsx @@ -0,0 +1,45 @@ +import { AlertCircle } from 'lucide-react' +import Head from 'next/head' +import Link from 'next/link' + +import { serverClient } from '@/lib/trpc/server' + +import { UploadList } from './upload-list' +import { getDictionary, setDictionary } from '@/utils/dictionary-server-side' +import { Locale, getDictionaryByLocale } from '@nivo/i18n' + +export default async function Upload({ + params: { locale } +}: { + params: { locale: Locale } +}) { + const dictionaryByLocale = await getDictionaryByLocale(locale) + setDictionary(dictionaryByLocale) + const dictionary = getDictionary() + + const { company } = await serverClient.getCurrentUserCompany() + + if (!company.externalId) { + return ( + <> + + {dictionary.upload_page_title} + +
+
+ +

+ {dictionary.upload_no_bunny_account}{' '} + + {dictionary.upload_bunny_account_link} + {' '} + {dictionary.upload_bunny_account_integration} +

+
+
+ + ) + } + + return +} diff --git a/apps/web/src/app/app/upload/upload-list/columns/audio-conversion-progress-column.tsx b/apps/web/src/app/[locale]/app/upload/upload-list/columns/audio-conversion-progress-column.tsx similarity index 83% rename from apps/web/src/app/app/upload/upload-list/columns/audio-conversion-progress-column.tsx rename to apps/web/src/app/[locale]/app/upload/upload-list/columns/audio-conversion-progress-column.tsx index 4e6119c..29c2b65 100644 --- a/apps/web/src/app/app/upload/upload-list/columns/audio-conversion-progress-column.tsx +++ b/apps/web/src/app/[locale]/app/upload/upload-list/columns/audio-conversion-progress-column.tsx @@ -18,6 +18,7 @@ import { TooltipProvider, TooltipTrigger, } from '@/components/ui/tooltip' +import { useDictionary } from '@/state/dictionary' import { addToAudioConversionQueueAtom, audioConversionAtom, @@ -30,6 +31,7 @@ export interface AudioConversionProgressColumnProps { export function AudioConversionProgressColumn({ uploadId, }: AudioConversionProgressColumnProps) { + const dictionary = useDictionary() const audioConversion = useAtomValue( selectAtom( audioConversionAtom, @@ -53,25 +55,29 @@ export function AudioConversionProgressColumn({ <> - Error{' '} + {dictionary.audio_conversion_error} ) : progress === 100 ? ( <> - Complete + + {dictionary.audio_conversion_complete} + ) : ( <> - Waiting... + + {dictionary.audio_conversion_waiting} + @@ -79,8 +85,7 @@ export function AudioConversionProgressColumn({

- As we perform the audio conversion in the browser, each video - is converted individually through a queue. + {dictionary.audio_conversion_tooltip}

diff --git a/apps/web/src/app/app/upload/upload-list/columns/audio-upload-progress-column.tsx b/apps/web/src/app/[locale]/app/upload/upload-list/columns/audio-upload-progress-column.tsx similarity index 80% rename from apps/web/src/app/app/upload/upload-list/columns/audio-upload-progress-column.tsx rename to apps/web/src/app/[locale]/app/upload/upload-list/columns/audio-upload-progress-column.tsx index bbd4654..54809ac 100644 --- a/apps/web/src/app/app/upload/upload-list/columns/audio-upload-progress-column.tsx +++ b/apps/web/src/app/[locale]/app/upload/upload-list/columns/audio-upload-progress-column.tsx @@ -11,6 +11,7 @@ import { useCallback } from 'react' import { Button } from '@/components/ui/button' import { Progress } from '@/components/ui/progress' +import { useDictionary } from '@/state/dictionary' import { audioUploadAtom, startAudioUploadAtom } from '@/state/uploads' export interface AudioUploadProgressColumnProps { @@ -20,6 +21,7 @@ export interface AudioUploadProgressColumnProps { export function AudioUploadProgressColumn({ uploadId, }: AudioUploadProgressColumnProps) { + const dictionary = useDictionary() const audioUpload = useAtomValue( selectAtom( audioUploadAtom, @@ -44,26 +46,30 @@ export function AudioUploadProgressColumn({ {progress === 0 && !error ? ( <> - Waiting... + + {dictionary.audio_upload_waiting} + ) : error ? ( <> - Error{' '} + {dictionary.audio_upload_error} ) : ( <> - Complete + + {dictionary.audio_upload_complete} + )}
diff --git a/apps/web/src/app/app/upload/upload-list/columns/video-upload-progress-column.tsx b/apps/web/src/app/[locale]/app/upload/upload-list/columns/video-upload-progress-column.tsx similarity index 80% rename from apps/web/src/app/app/upload/upload-list/columns/video-upload-progress-column.tsx rename to apps/web/src/app/[locale]/app/upload/upload-list/columns/video-upload-progress-column.tsx index a8a0158..aaa08b1 100644 --- a/apps/web/src/app/app/upload/upload-list/columns/video-upload-progress-column.tsx +++ b/apps/web/src/app/[locale]/app/upload/upload-list/columns/video-upload-progress-column.tsx @@ -11,6 +11,7 @@ import { useCallback } from 'react' import { Button } from '@/components/ui/button' import { Progress } from '@/components/ui/progress' +import { useDictionary } from '@/state/dictionary' import { startVideoUploadAtom, videoUploadAtom } from '@/state/uploads' export interface VideoUploadProgressColumnProps { @@ -20,6 +21,7 @@ export interface VideoUploadProgressColumnProps { export function VideoUploadProgressColumn({ uploadId, }: VideoUploadProgressColumnProps) { + const dictionary = useDictionary() const videoUpload = useAtomValue( selectAtom( videoUploadAtom, @@ -44,26 +46,30 @@ export function VideoUploadProgressColumn({ {progress === 0 && !error ? ( <> - Waiting... + + {dictionary.video_upload_waiting} + ) : error ? ( <> - Error{' '} + {dictionary.video_upload_error}{' '} ) : ( <> - Complete + + {dictionary.video_upload_complete} + )}
diff --git a/apps/web/src/app/app/upload/upload-list/header.tsx b/apps/web/src/app/[locale]/app/upload/upload-list/header.tsx similarity index 86% rename from apps/web/src/app/app/upload/upload-list/header.tsx rename to apps/web/src/app/[locale]/app/upload/upload-list/header.tsx index b12bb9e..85428bd 100644 --- a/apps/web/src/app/app/upload/upload-list/header.tsx +++ b/apps/web/src/app/[locale]/app/upload/upload-list/header.tsx @@ -25,6 +25,7 @@ import { DropdownMenuTrigger, } from '@/components/ui/dropdown-menu' import { Separator } from '@/components/ui/separator' +import { useDictionary } from '@/state/dictionary' import { amountOfUploadsAtom, areUploadsEmptyAtom, @@ -39,6 +40,7 @@ interface HeaderProps { } export function Header({ onSubmit }: HeaderProps) { + const dictionary = useDictionary() const { formState: { isSubmitting }, setValue, @@ -79,7 +81,7 @@ export function Header({ onSubmit }: HeaderProps) { return (

- Upload + {dictionary.header_upload_title} {isThereAnyPendingUpload && ( )} @@ -100,7 +102,7 @@ export function Header({ onSubmit }: HeaderProps) { ) : ( )} - AI Tools + {dictionary.header_ai_tools} @@ -110,7 +112,7 @@ export function Header({ onSubmit }: HeaderProps) { onSelect={generateAITitles} > - Generate titles + {dictionary.header_generate_titles} @@ -124,21 +126,24 @@ export function Header({ onSubmit }: HeaderProps) { variant="ghost" disabled={areUploadsEmpty || isSubmitting} > - Clear all + {dictionary.header_clear_all} - Are you sure? + + {dictionary.alert_dialog_title} + - This action can't be undone and all uploads will be deleted - from the server. + {dictionary.alert_dialog_description} - Cancelar + + {dictionary.alert_dialog_cancel} + - Prosseguir + {dictionary.alert_dialog_proceed} @@ -154,7 +159,7 @@ export function Header({ onSubmit }: HeaderProps) { {isSubmitting ? ( ) : ( - <>Create all ({amountOfUploads}) + `${dictionary.header_create_all} (${amountOfUploads})` )}

diff --git a/apps/web/src/app/app/upload/upload-list/index.tsx b/apps/web/src/app/[locale]/app/upload/upload-list/index.tsx similarity index 56% rename from apps/web/src/app/app/upload/upload-list/index.tsx rename to apps/web/src/app/[locale]/app/upload/upload-list/index.tsx index a3d512c..a44f651 100644 --- a/apps/web/src/app/app/upload/upload-list/index.tsx +++ b/apps/web/src/app/[locale]/app/upload/upload-list/index.tsx @@ -1,39 +1,45 @@ 'use client' import { zodResolver } from '@hookform/resolvers/zod' +import { Dictionary } from '@nivo/i18n' import { useRouter } from 'next/navigation' import { FormProvider, useForm } from 'react-hook-form' import { toast } from 'sonner' import { z } from 'zod' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { Header } from './header' import { UploadDropArea } from './upload-drop-area' import { UploadTable } from './upload-table' -const uploadsFormSchema = z.object({ - files: z - .array( - z.object({ - id: z.string(), - title: z.string().min(1), - duration: z.coerce.number().transform(Math.round), - language: z.enum(['pt', 'es']), - sizeInBytes: z.coerce.number(), - tags: z.array(z.string()).min(1, 'At least one tag is required.'), - }), - ) - .min(0), -}) +const uploadsFormSchema = (dictionary: Dictionary) => + z.object({ + files: z + .array( + z.object({ + id: z.string(), + title: z.string().min(1), + duration: z.coerce.number().transform(Math.round), + language: z.enum(['pt', 'es']), + sizeInBytes: z.coerce.number(), + tags: z + .array(z.string()) + .min(1, { message: dictionary.upload_list_at_least_one_tag }), + }), + ) + .min(0), + }) -export type UploadsFormSchema = z.infer +export type UploadsFormSchema = z.infer> export function UploadList() { + const dictionary = useDictionary() const router = useRouter() const uploadsForm = useForm({ - resolver: zodResolver(uploadsFormSchema), + resolver: zodResolver(uploadsFormSchema(dictionary)), }) const { handleSubmit } = uploadsForm @@ -47,9 +53,8 @@ export function UploadList() { router.push(`/app/batches/${batchId}`) } catch { - toast.error('Uh oh! Something went wrong.', { - description: - 'An error ocurred while trying to create the upload batch. If the error persists, please contact an administrator.', + toast.error(dictionary.upload_list_error_title, { + description: dictionary.upload_list_error_description, }) } } diff --git a/apps/web/src/app/app/upload/upload-list/upload-drop-area.tsx b/apps/web/src/app/[locale]/app/upload/upload-list/upload-drop-area.tsx similarity index 77% rename from apps/web/src/app/app/upload/upload-list/upload-drop-area.tsx rename to apps/web/src/app/[locale]/app/upload/upload-list/upload-drop-area.tsx index d418b46..a4a5290 100644 --- a/apps/web/src/app/app/upload/upload-list/upload-drop-area.tsx +++ b/apps/web/src/app/[locale]/app/upload/upload-list/upload-drop-area.tsx @@ -4,9 +4,11 @@ import { UploadIcon } from '@radix-ui/react-icons' import { useSetAtom } from 'jotai' import { useDropzone } from 'react-dropzone' +import { useDictionary } from '@/state/dictionary' import { addUploadsAtom } from '@/state/uploads' export function UploadDropArea() { + const dictionary = useDictionary() const addUploads = useSetAtom(addUploadsAtom) const { getRootProps, getInputProps, isDragActive } = useDropzone({ @@ -28,8 +30,12 @@ export function UploadDropArea() { >
- Drop videos here - Accept only MP4. + + {dictionary.upload_drop_area_drop_here} + + + {dictionary.upload_drop_area_accept_mp4} +
diff --git a/apps/web/src/app/app/upload/upload-list/upload-language-input.tsx b/apps/web/src/app/[locale]/app/upload/upload-list/upload-language-input.tsx similarity index 100% rename from apps/web/src/app/app/upload/upload-list/upload-language-input.tsx rename to apps/web/src/app/[locale]/app/upload/upload-list/upload-language-input.tsx diff --git a/apps/web/src/app/app/upload/upload-list/upload-table.tsx b/apps/web/src/app/[locale]/app/upload/upload-list/upload-table.tsx similarity index 88% rename from apps/web/src/app/app/upload/upload-list/upload-table.tsx rename to apps/web/src/app/[locale]/app/upload/upload-list/upload-table.tsx index 15264e8..dfe6919 100644 --- a/apps/web/src/app/app/upload/upload-list/upload-table.tsx +++ b/apps/web/src/app/[locale]/app/upload/upload-list/upload-table.tsx @@ -15,6 +15,7 @@ import { TableHeader, TableRow, } from '@/components/ui/table' +import { useDictionary } from '@/state/dictionary' import { areUploadsEmptyAtom, deleteUploadAtom, @@ -34,6 +35,7 @@ import { UploadLanguageInput } from './upload-language-input' import { UploadTagInput } from './upload-tag-input' export function UploadTable() { + const dictionary = useDictionary() const { register, formState: { errors }, @@ -53,12 +55,12 @@ export function UploadTable() { useEffect(() => { if (isThereAnyPendingUpload) { window.onbeforeunload = function () { - return 'You have pending uploads. Do you really want to exit and cancel ALL uploads?' + return dictionary.uploads_warning_on_close } } else { window.onbeforeunload = null } - }, [isThereAnyPendingUpload]) + }, [isThereAnyPendingUpload, dictionary.uploads_warning_on_close]) function handleLoadedMetadata( event: SyntheticEvent, @@ -73,27 +75,31 @@ export function UploadTable() { - Information - Metadata + {dictionary.uploads_table_head_info} + + {dictionary.uploads_table_head_metadata} +
- Upload + {dictionary.uploads_table_head_upload_video}
- Conversion + {dictionary.uploads_table_head_conversion}
- Upload + {dictionary.uploads_table_head_upload_audio}
- + + {dictionary.uploads_table_head_actions} +
@@ -177,7 +183,7 @@ export function UploadTable() { ) : ( )} - Delete + {dictionary.uploads_table_action_delete} @@ -187,7 +193,7 @@ export function UploadTable() { {areUploadsEmpty && ( - No videos selected. + {dictionary.uploads_table_no_videos} )} diff --git a/apps/web/src/app/app/upload/upload-list/upload-tag-input.tsx b/apps/web/src/app/[locale]/app/upload/upload-list/upload-tag-input.tsx similarity index 100% rename from apps/web/src/app/app/upload/upload-list/upload-tag-input.tsx rename to apps/web/src/app/[locale]/app/upload/upload-list/upload-tag-input.tsx diff --git a/apps/web/src/app/[locale]/app/uploads/layout.tsx b/apps/web/src/app/[locale]/app/uploads/layout.tsx new file mode 100644 index 0000000..7190860 --- /dev/null +++ b/apps/web/src/app/[locale]/app/uploads/layout.tsx @@ -0,0 +1,27 @@ +import { ReactNode, Suspense } from 'react' + +import { UploadsFilters } from './uploads-filters' +import { Locale, getDictionaryByLocale } from '@nivo/i18n' + +export default async function Layout({ children, params: { locale } }: { + children: ReactNode, + params: { locale: Locale } +}) { + const dictionary = await getDictionaryByLocale(locale) + + return ( + <> +

+ {dictionary.layout_uploads_title} +

+ +
+ + + + + {children} +
+ + ) +} diff --git a/apps/web/src/app/app/uploads/loading.tsx b/apps/web/src/app/[locale]/app/uploads/loading.tsx similarity index 76% rename from apps/web/src/app/app/uploads/loading.tsx rename to apps/web/src/app/[locale]/app/uploads/loading.tsx index 8aaf856..1a4766a 100644 --- a/apps/web/src/app/app/uploads/loading.tsx +++ b/apps/web/src/app/[locale]/app/uploads/loading.tsx @@ -1,3 +1,5 @@ +'use client' + import { Cable, ReceiptText } from 'lucide-react' import { Skeleton } from '@/components/ui/skeleton' @@ -9,29 +11,38 @@ import { TableHeader, TableRow, } from '@/components/ui/table' +import { useDictionary } from '@/state/dictionary' export default function Loading() { + const dictionary = useDictionary() + return (
- Video - Duration - Size + {dictionary.loading_video} + + {dictionary.loading_duration} + + + {dictionary.loading_size} +
- Transcription + {dictionary.loading_transcription}
- External ID + {dictionary.loading_external_id}
- Uploaded at + + {dictionary.loading_uploaded_at} +
diff --git a/apps/web/src/app/app/uploads/page.tsx b/apps/web/src/app/[locale]/app/uploads/page.tsx similarity index 88% rename from apps/web/src/app/app/uploads/page.tsx rename to apps/web/src/app/[locale]/app/uploads/page.tsx index 73cf669..1f4444c 100644 --- a/apps/web/src/app/app/uploads/page.tsx +++ b/apps/web/src/app/[locale]/app/uploads/page.tsx @@ -1,5 +1,5 @@ import { dayjs } from '@nivo/dayjs' -import { SymbolIcon } from '@radix-ui/react-icons' +import { setDictionary } from '@/utils/dictionary-server-side' import { Cable, CopyIcon } from 'lucide-react' import { Metadata } from 'next' import { unstable_noStore } from 'next/cache' @@ -28,6 +28,7 @@ import { formatBytes } from '@/utils/format-bytes' import { formatSecondsToMinutes } from '@/utils/format-seconds-to-minutes' import { UploadsPagination } from './uploads-pagination' +import { Locale, getDictionaryByLocale } from '@nivo/i18n' export const metadata: Metadata = { title: 'Uploads', @@ -47,9 +48,14 @@ type UploadsPageSearchParams = z.infer export default async function UploadsPage({ searchParams, + params: { locale } }: { searchParams: UploadsPageSearchParams + params: { locale: Locale } }) { + const dictionary = await getDictionaryByLocale(locale) + setDictionary(dictionary) + unstable_noStore() const { pageIndex, pageSize, titleFilter, tagsFilter } = @@ -68,13 +74,17 @@ export default async function UploadsPage({
- Video - Duration - Size + {dictionary.uploads_video} + + {dictionary.uploads_duration} + + + {dictionary.uploads_size} +
- External + {dictionary.uploads_external}
@@ -123,13 +133,12 @@ export default async function UploadsPage({ textToCopy={video.externalProviderId} > - Copy + {dictionary.uploads_copy} ) : (
- - Processing + {dictionary.uploads_processing}
)} @@ -141,7 +150,7 @@ export default async function UploadsPage({ {video.author?.image && (
- by + {dictionary.uploads_by} - No results. + {dictionary.uploads_no_results} )} diff --git a/apps/web/src/app/app/uploads/uploads-filters.tsx b/apps/web/src/app/[locale]/app/uploads/uploads-filters.tsx similarity index 89% rename from apps/web/src/app/app/uploads/uploads-filters.tsx rename to apps/web/src/app/[locale]/app/uploads/uploads-filters.tsx index f55de92..a6f053d 100644 --- a/apps/web/src/app/app/uploads/uploads-filters.tsx +++ b/apps/web/src/app/[locale]/app/uploads/uploads-filters.tsx @@ -8,8 +8,10 @@ import { TagInput } from '@/components/tag-input' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Separator } from '@/components/ui/separator' +import { useDictionary } from '@/state/dictionary' export function UploadsFilters() { + const dictionary = useDictionary() const router = useRouter() const searchParams = useSearchParams() const [isPendingFilterTransition, startTransition] = useTransition() @@ -54,7 +56,7 @@ export function UploadsFilters() { setTitle(e.target.value)} - placeholder="Filter videos..." + placeholder={dictionary.uploads_filters_placeholder_title} className="h-8 w-auto" /> @@ -68,7 +70,7 @@ export function UploadsFilters() { ) : ( )} - Filter + {dictionary.uploads_filters_button_filter} ) diff --git a/apps/web/src/app/app/uploads/uploads-pagination.tsx b/apps/web/src/app/[locale]/app/uploads/uploads-pagination.tsx similarity index 79% rename from apps/web/src/app/app/uploads/uploads-pagination.tsx rename to apps/web/src/app/[locale]/app/uploads/uploads-pagination.tsx index 949a69a..6db1ba0 100644 --- a/apps/web/src/app/app/uploads/uploads-pagination.tsx +++ b/apps/web/src/app/[locale]/app/uploads/uploads-pagination.tsx @@ -17,6 +17,7 @@ import { SelectTrigger, SelectValue, } from '@/components/ui/select' +import { useDictionary } from '@/state/dictionary' interface UploadsPaginationProps { pageCount: number @@ -29,6 +30,7 @@ export function UploadsPagination({ pageSize, pageIndex, }: UploadsPaginationProps) { + const dictionary = useDictionary() const router = useRouter() const searchParams = useSearchParams() @@ -60,7 +62,9 @@ export function UploadsPagination({
-

Rows per page

+

+ {dictionary.uploads_pagination_rows_per_page} +

- Page {page} of {pageCount} + {`${dictionary.uploads_pagination_page_info} ${page} ${dictionary.uploads_pagination_page_info_separator} ${pageCount}`}
diff --git a/apps/web/src/app/app/videos/[id]/page.tsx b/apps/web/src/app/[locale]/app/videos/[id]/page.tsx similarity index 72% rename from apps/web/src/app/app/videos/[id]/page.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/page.tsx index 600875a..275c6f1 100644 --- a/apps/web/src/app/app/videos/[id]/page.tsx +++ b/apps/web/src/app/[locale]/app/videos/[id]/page.tsx @@ -1,3 +1,4 @@ +import { Locale, getDictionaryByLocale } from '@nivo/i18n' import { VideoIcon } from '@radix-ui/react-icons' import { Music2 } from 'lucide-react' import { Metadata } from 'next' @@ -7,9 +8,10 @@ import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs' import { Overview } from './tabs/overview' import { Webhooks } from './tabs/webhooks' +import { setDictionary } from '@/utils/dictionary-server-side' interface VideoPageProps { - params: { id: string } + params: { id: string; locale: Locale } } export async function generateMetadata(): Promise { @@ -19,13 +21,16 @@ export async function generateMetadata(): Promise { } export default async function VideoPage({ params }: VideoPageProps) { + const dictionary = await getDictionaryByLocale(params.locale) + setDictionary(dictionary) + const videoId = params.id return ( <>

- Edit video + {dictionary.video_page_edit_video_title}

@@ -36,7 +41,7 @@ export default async function VideoPage({ params }: VideoPageProps) { rel="noreferrer" > - Download MP4 + {dictionary.video_page_download_mp4}
@@ -54,8 +59,12 @@ export default async function VideoPage({ params }: VideoPageProps) { - Overview - Webhooks + + {dictionary.video_page_overview_tab} + + + {dictionary.video_page_webhooks_tab} + diff --git a/apps/web/src/app/app/videos/[id]/tabs/overview/index.tsx b/apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/index.tsx similarity index 76% rename from apps/web/src/app/app/videos/[id]/tabs/overview/index.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/index.tsx index 173b85e..04354c0 100644 --- a/apps/web/src/app/app/videos/[id]/tabs/overview/index.tsx +++ b/apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/index.tsx @@ -11,12 +11,15 @@ import { serverClient } from '@/lib/trpc/server' import { TranscriptionCard } from '../../transcription-card' import { VideoForm } from './video-form' +import { getDictionary } from '@/utils/dictionary-server-side' export interface OverviewProps { videoId: string } export async function Overview({ videoId }: OverviewProps) { + const dictionary = getDictionary() + unstable_noStore() const { video } = await serverClient.getUpload({ @@ -27,8 +30,10 @@ export async function Overview({ videoId }: OverviewProps) {
- Edit video - Update video details + {dictionary.overview_edit_video_title} + + {dictionary.overview_update_video_details} + diff --git a/apps/web/src/app/app/videos/[id]/tabs/overview/video-description-input.tsx b/apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/video-description-input.tsx similarity index 88% rename from apps/web/src/app/app/videos/[id]/tabs/overview/video-description-input.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/video-description-input.tsx index 0018532..1725020 100644 --- a/apps/web/src/app/app/videos/[id]/tabs/overview/video-description-input.tsx +++ b/apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/video-description-input.tsx @@ -8,6 +8,7 @@ import { useFormContext } from 'react-hook-form' import { Button } from '@/components/ui/button' import { Textarea } from '@/components/ui/textarea' +import { useDictionary } from '@/state/dictionary' import { EditVideoFormSchema } from './video-form' @@ -20,6 +21,7 @@ export function VideoDescriptionInput({ videoId, ...props }: VideoDescriptionInputProps) { + const dictionary = useDictionary() const { setValue, register } = useFormContext() const { completion, complete, isLoading } = useCompletion({ @@ -40,6 +42,7 @@ export function VideoDescriptionInput({ className="min-h-[132px] leading-relaxed" {...register('description')} {...props} + placeholder={dictionary.video_description_placeholder} />
diff --git a/apps/web/src/app/app/videos/[id]/tabs/overview/video-form.tsx b/apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/video-form.tsx similarity index 67% rename from apps/web/src/app/app/videos/[id]/tabs/overview/video-form.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/video-form.tsx index 9b020a9..0e8bc4d 100644 --- a/apps/web/src/app/app/videos/[id]/tabs/overview/video-form.tsx +++ b/apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/video-form.tsx @@ -1,6 +1,7 @@ 'use client' import { zodResolver } from '@hookform/resolvers/zod' +import { Dictionary } from '@nivo/i18n' import { RouterOutput } from '@nivo/trpc' import { CheckCircledIcon } from '@radix-ui/react-icons' import { Loader2 } from 'lucide-react' @@ -14,6 +15,7 @@ import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { Separator } from '@/components/ui/separator' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { VideoDescriptionInput } from './video-description-input' import { VideoTagInput } from './video-tag-input' @@ -22,23 +24,30 @@ interface VideoFormProps { video: RouterOutput['getUpload']['video'] } -const editVideoFormSchema = z.object({ - title: z.string().min(1, { message: 'Please provide a valid title.' }), - description: z.string().nullable(), - commitUrl: z - .string() - .url({ message: 'Please provide a valid Github URL.' }) - .nullable(), - tags: z.array(z.string()).min(1, { - message: 'At least one tag is required.', - }), -}) +const editVideoFormSchema = (dictionary: Dictionary) => + z.object({ + title: z + .string() + .min(1, { message: dictionary.edit_video_form_error_valid_title }), + description: z.string().nullable(), + commitUrl: z + .string() + .url({ message: dictionary.edit_video_form_error_valid_github_url }) + .nullable(), + tags: z.array(z.string()).min(1, { + message: dictionary.edit_video_form_error_tag_required, + }), + }) -export type EditVideoFormSchema = z.infer +export type EditVideoFormSchema = z.infer< + ReturnType +> export function VideoForm({ video }: VideoFormProps) { + const dictionary = useDictionary() + const editVideoForm = useForm({ - resolver: zodResolver(editVideoFormSchema), + resolver: zodResolver(editVideoFormSchema(dictionary)), defaultValues: { title: video.title, description: video.description, @@ -64,8 +73,8 @@ export function VideoForm({ video }: VideoFormProps) { commitUrl, }) } catch { - toast.error('Uh oh! Something went wrong.', { - description: `An error ocurred while trying to save the video.`, + toast.error(dictionary.video_form_toast_error, { + description: dictionary.video_form_toast_error_description, }) } } @@ -81,8 +90,10 @@ export function VideoForm({ video }: VideoFormProps) {
{errors.title && ( @@ -93,14 +104,16 @@ export function VideoForm({ video }: VideoFormProps) {
- +
- +
- {video.externalStatus || 'waiting'} + {video.externalStatus || + dictionary.video_form_external_status_waiting} ) : ( - 'Save' + dictionary.video_form_save_button )} {isSubmitSuccessful && (
- Saved! + {dictionary.video_form_saved_message}
)}
diff --git a/apps/web/src/app/app/videos/[id]/tabs/overview/video-tag-input.tsx b/apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/video-tag-input.tsx similarity index 100% rename from apps/web/src/app/app/videos/[id]/tabs/overview/video-tag-input.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/tabs/overview/video-tag-input.tsx diff --git a/apps/web/src/app/app/videos/[id]/tabs/webhooks/index.tsx b/apps/web/src/app/[locale]/app/videos/[id]/tabs/webhooks/index.tsx similarity index 83% rename from apps/web/src/app/app/videos/[id]/tabs/webhooks/index.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/tabs/webhooks/index.tsx index ade37f1..dfeeb74 100644 --- a/apps/web/src/app/app/videos/[id]/tabs/webhooks/index.tsx +++ b/apps/web/src/app/[locale]/app/videos/[id]/tabs/webhooks/index.tsx @@ -18,6 +18,7 @@ import { } from '@/components/ui/table' import { Textarea } from '@/components/ui/textarea' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { formatSecondsToMinutes } from '@/utils/format-seconds-to-minutes' import { MetadataTooltip } from './metadata-tooltip' @@ -28,6 +29,8 @@ export interface WebhooksProps { } export function Webhooks({ videoId }: WebhooksProps) { + const dictionary = useDictionary() + const { data, isLoading: isLoadingWebhooks, @@ -51,18 +54,24 @@ export function Webhooks({ videoId }: WebhooksProps) {
- Webhook + {dictionary.webhook_table_head_webhook} {isRefetchingWebhooks && ( )}
- Status - Executed At - Duration + + {dictionary.webhook_table_head_status} + + + {dictionary.webhook_table_head_executed_at} + + + {dictionary.webhook_table_head_duration} +
- Metadata + {dictionary.webhook_table_head_metadata}
@@ -85,21 +94,21 @@ export function Webhooks({ videoId }: WebhooksProps) { {webhook.status === 'RUNNING' && (
- Running + {dictionary.webhook_status_running}
)} {webhook.status === 'SUCCESS' && (
- Success + {dictionary.webhook_status_success}
)} {webhook.status === 'ERROR' && (
- Error + {dictionary.webhook_status_error}
)} @@ -137,7 +146,7 @@ export function Webhooks({ videoId }: WebhooksProps) { ) : ( - No results. + {dictionary.webhook_no_results} )} diff --git a/apps/web/src/app/app/videos/[id]/tabs/webhooks/metadata-tooltip.tsx b/apps/web/src/app/[locale]/app/videos/[id]/tabs/webhooks/metadata-tooltip.tsx similarity index 80% rename from apps/web/src/app/app/videos/[id]/tabs/webhooks/metadata-tooltip.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/tabs/webhooks/metadata-tooltip.tsx index 126688e..f4ccab4 100644 --- a/apps/web/src/app/app/videos/[id]/tabs/webhooks/metadata-tooltip.tsx +++ b/apps/web/src/app/[locale]/app/videos/[id]/tabs/webhooks/metadata-tooltip.tsx @@ -6,8 +6,11 @@ import { TooltipProvider, TooltipTrigger, } from '@/components/ui/tooltip' +import { useDictionary } from '@/state/dictionary' export function MetadataTooltip() { + const dictionary = useDictionary() + return ( @@ -16,7 +19,7 @@ export function MetadataTooltip() {

- Request body sent to the webhook + {dictionary.metadata_tooltip_request_body}

diff --git a/apps/web/src/app/app/videos/[id]/tabs/webhooks/webhooks-skeleton-table.tsx b/apps/web/src/app/[locale]/app/videos/[id]/tabs/webhooks/webhooks-skeleton-table.tsx similarity index 100% rename from apps/web/src/app/app/videos/[id]/tabs/webhooks/webhooks-skeleton-table.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/tabs/webhooks/webhooks-skeleton-table.tsx diff --git a/apps/web/src/app/app/videos/[id]/transcription-card/index.tsx b/apps/web/src/app/[locale]/app/videos/[id]/transcription-card/index.tsx similarity index 94% rename from apps/web/src/app/app/videos/[id]/transcription-card/index.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/transcription-card/index.tsx index 9a2e527..738f9a4 100644 --- a/apps/web/src/app/app/videos/[id]/transcription-card/index.tsx +++ b/apps/web/src/app/[locale]/app/videos/[id]/transcription-card/index.tsx @@ -12,6 +12,7 @@ import { Label } from '@/components/ui/label' import { ScrollArea } from '@/components/ui/scroll-area' import { Switch } from '@/components/ui/switch' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { Segment } from './segment' import { TranscriptionSkeleton } from './transcription-skeleton' @@ -38,6 +39,7 @@ export function TranscriptionCard({ videoId, shouldDisplayVideo, }: TranscriptionCardProps) { + const dictionary = useDictionary() const [shouldFollowUserFocus, setShouldFollowUserFocus] = useState(true) const { data: videoDownloadData } = trpc.requestMediaDownloadUrl.useQuery({ @@ -148,7 +150,9 @@ export function TranscriptionCard({ checked={shouldFollowUserFocus} onCheckedChange={setShouldFollowUserFocus} /> - +
) : (
@@ -158,7 +162,7 @@ export function TranscriptionCard({ {isSubmitting ? ( ) : ( - Save + {dictionary.transcription_card_button_save} )} diff --git a/apps/web/src/app/app/videos/[id]/transcription-card/segment.tsx b/apps/web/src/app/[locale]/app/videos/[id]/transcription-card/segment.tsx similarity index 100% rename from apps/web/src/app/app/videos/[id]/transcription-card/segment.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/transcription-card/segment.tsx diff --git a/apps/web/src/app/app/videos/[id]/transcription-card/transcription-skeleton.tsx b/apps/web/src/app/[locale]/app/videos/[id]/transcription-card/transcription-skeleton.tsx similarity index 78% rename from apps/web/src/app/app/videos/[id]/transcription-card/transcription-skeleton.tsx rename to apps/web/src/app/[locale]/app/videos/[id]/transcription-card/transcription-skeleton.tsx index 82db67e..908627d 100644 --- a/apps/web/src/app/app/videos/[id]/transcription-card/transcription-skeleton.tsx +++ b/apps/web/src/app/[locale]/app/videos/[id]/transcription-card/transcription-skeleton.tsx @@ -1,9 +1,14 @@ +'use client' + import { Loader2 } from 'lucide-react' import { CardContent } from '@/components/ui/card' import { Skeleton } from '@/components/ui/skeleton' +import { useDictionary } from '@/state/dictionary' export function TranscriptionSkeleton() { + const dictionary = useDictionary() + return ( <> @@ -14,9 +19,9 @@ export function TranscriptionSkeleton() {
- Transcription is being generated + {dictionary.transcription_skeleton_generating} - The page will automatically refresh... + {dictionary.transcription_skeleton_auto_refresh}
diff --git a/apps/web/src/app/[locale]/assets/nivo-icon.svg b/apps/web/src/app/[locale]/assets/nivo-icon.svg new file mode 100644 index 0000000..e1ca20e --- /dev/null +++ b/apps/web/src/app/[locale]/assets/nivo-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/web/src/app/[locale]/assets/screenshots/nivo-developers-screenshot.png b/apps/web/src/app/[locale]/assets/screenshots/nivo-developers-screenshot.png new file mode 100644 index 0000000..615a22f Binary files /dev/null and b/apps/web/src/app/[locale]/assets/screenshots/nivo-developers-screenshot.png differ diff --git a/apps/web/src/app/[locale]/assets/screenshots/nivo-new-upload-screenshot.png b/apps/web/src/app/[locale]/assets/screenshots/nivo-new-upload-screenshot.png new file mode 100644 index 0000000..d80459e Binary files /dev/null and b/apps/web/src/app/[locale]/assets/screenshots/nivo-new-upload-screenshot.png differ diff --git a/apps/web/src/app/[locale]/assets/screenshots/nivo-video-screenshot.png b/apps/web/src/app/[locale]/assets/screenshots/nivo-video-screenshot.png new file mode 100644 index 0000000..50e5d2c Binary files /dev/null and b/apps/web/src/app/[locale]/assets/screenshots/nivo-video-screenshot.png differ diff --git a/apps/web/src/app/[locale]/assets/screenshots/nivo-webhooks-screenshot.png b/apps/web/src/app/[locale]/assets/screenshots/nivo-webhooks-screenshot.png new file mode 100644 index 0000000..632d1e9 Binary files /dev/null and b/apps/web/src/app/[locale]/assets/screenshots/nivo-webhooks-screenshot.png differ diff --git a/apps/web/src/app/auth/error/page.tsx b/apps/web/src/app/[locale]/auth/error/page.tsx similarity index 100% rename from apps/web/src/app/auth/error/page.tsx rename to apps/web/src/app/[locale]/auth/error/page.tsx diff --git a/apps/web/src/app/auth/sign-in/actions.ts b/apps/web/src/app/[locale]/auth/sign-in/actions.ts similarity index 100% rename from apps/web/src/app/auth/sign-in/actions.ts rename to apps/web/src/app/[locale]/auth/sign-in/actions.ts diff --git a/apps/web/src/app/auth/sign-in/credentials/sign-in-form.tsx b/apps/web/src/app/[locale]/auth/sign-in/credentials/sign-in-form.tsx similarity index 100% rename from apps/web/src/app/auth/sign-in/credentials/sign-in-form.tsx rename to apps/web/src/app/[locale]/auth/sign-in/credentials/sign-in-form.tsx diff --git a/apps/web/src/app/auth/sign-in/credentials/sign-in-with-email-button.tsx b/apps/web/src/app/[locale]/auth/sign-in/credentials/sign-in-with-email-button.tsx similarity index 100% rename from apps/web/src/app/auth/sign-in/credentials/sign-in-with-email-button.tsx rename to apps/web/src/app/[locale]/auth/sign-in/credentials/sign-in-with-email-button.tsx diff --git a/apps/web/src/app/auth/sign-in/page.tsx b/apps/web/src/app/[locale]/auth/sign-in/page.tsx similarity index 100% rename from apps/web/src/app/auth/sign-in/page.tsx rename to apps/web/src/app/[locale]/auth/sign-in/page.tsx diff --git a/apps/web/src/app/auth/sign-in/sign-in-with-google-button.tsx b/apps/web/src/app/[locale]/auth/sign-in/sign-in-with-google-button.tsx similarity index 100% rename from apps/web/src/app/auth/sign-in/sign-in-with-google-button.tsx rename to apps/web/src/app/[locale]/auth/sign-in/sign-in-with-google-button.tsx diff --git a/apps/web/src/app/globals.css b/apps/web/src/app/[locale]/globals.css similarity index 100% rename from apps/web/src/app/globals.css rename to apps/web/src/app/[locale]/globals.css diff --git a/apps/web/src/app/icon.png b/apps/web/src/app/[locale]/icon.png similarity index 100% rename from apps/web/src/app/icon.png rename to apps/web/src/app/[locale]/icon.png diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/[locale]/layout.tsx similarity index 58% rename from apps/web/src/app/layout.tsx rename to apps/web/src/app/[locale]/layout.tsx index 88f7256..22b0840 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/[locale]/layout.tsx @@ -1,6 +1,7 @@ import './globals.css' import { env } from '@nivo/env' +import { Locale, getDictionaryByLocale } from '@nivo/i18n' import type { Metadata } from 'next' import { Inter } from 'next/font/google' import { ReactNode } from 'react' @@ -8,6 +9,7 @@ import { ReactNode } from 'react' import { Toaster } from '@/components/ui/sonner' import { Providers } from './providers' +import { setDictionary, setLocale } from '@/utils/dictionary-server-side' const inter = Inter({ subsets: ['latin'], variable: '--font-sans' }) @@ -20,11 +22,21 @@ export const metadata: Metadata = { description: 'The all-in-one video solution for online learning.', } -export default function RootLayout({ children }: { children: ReactNode }) { +export default async function RootLayout({ + children, + params: { locale } +}: { + children: ReactNode + params: { locale: Locale } +}) { + setLocale(locale) + const dictionary = await getDictionaryByLocale(locale) + setDictionary(dictionary) + return ( - + - + {children} diff --git a/apps/web/src/app/opengraph-image.png b/apps/web/src/app/[locale]/opengraph-image.png similarity index 100% rename from apps/web/src/app/opengraph-image.png rename to apps/web/src/app/[locale]/opengraph-image.png diff --git a/apps/web/src/app/providers.tsx b/apps/web/src/app/[locale]/providers.tsx similarity index 58% rename from apps/web/src/app/providers.tsx rename to apps/web/src/app/[locale]/providers.tsx index 7f23626..7cceb16 100644 --- a/apps/web/src/app/providers.tsx +++ b/apps/web/src/app/[locale]/providers.tsx @@ -1,15 +1,37 @@ 'use client' +import { Locale } from '@nivo/i18n' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' -import { Provider as JotaiProvider } from 'jotai' +import { Provider as JotaiProvider, useAtom, useSetAtom } from 'jotai' import { ThemeProvider } from 'next-themes' import { ReactNode, useState } from 'react' import { TooltipProvider } from '@/components/ui/tooltip' import { trpcLinks } from '@/lib/trpc/client' import { trpc, TRPCProvider } from '@/lib/trpc/react' +import { dictionaryAtom, localeAtom } from '@/state/dictionary' -export function Providers({ children }: { children: ReactNode }) { +export function DictionaryProvider({ + children, + locale, +}: { + children: ReactNode + locale: Locale +}) { + const setLocale = useSetAtom(localeAtom) + setLocale(locale) + useAtom(dictionaryAtom) + + return <>{children} +} + +export function Providers({ + children, + locale, +}: { + children: ReactNode + locale: Locale +}) { const [queryClient] = useState(() => { return new QueryClient() }) @@ -30,7 +52,9 @@ export function Providers({ children }: { children: ReactNode }) { - {children} + + {children} + diff --git a/apps/web/src/app/twitter-image.png b/apps/web/src/app/[locale]/twitter-image.png similarity index 100% rename from apps/web/src/app/twitter-image.png rename to apps/web/src/app/[locale]/twitter-image.png diff --git a/apps/web/src/app/app/settings/developers/logs/layout.tsx b/apps/web/src/app/app/settings/developers/logs/layout.tsx deleted file mode 100644 index 5bf1e54..0000000 --- a/apps/web/src/app/app/settings/developers/logs/layout.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { Metadata } from 'next' -import { ReactNode, Suspense } from 'react' - -import { WebhookLogsFilters } from './webhook-logs-filters' -import { WebhookLogsList } from './webhook-logs-list' - -export const metadata: Metadata = { - title: 'Webhook logs', -} - -export default async function WebhookLogsLayout({ - children, -}: { - children: ReactNode -}) { - return ( -
-

Webhook logs

- - - - -
{children}
-
- ) -} diff --git a/apps/web/src/app/app/settings/developers/page.tsx b/apps/web/src/app/app/settings/developers/page.tsx deleted file mode 100644 index b82b76b..0000000 --- a/apps/web/src/app/app/settings/developers/page.tsx +++ /dev/null @@ -1,91 +0,0 @@ -import { ClipboardCopy, Code2 } from 'lucide-react' -import { Metadata } from 'next' -import Link from 'next/link' -import { Suspense } from 'react' - -import { Button } from '@/components/ui/button' -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from '@/components/ui/card' -import { Input } from '@/components/ui/input' -import { Label } from '@/components/ui/label' -import { Separator } from '@/components/ui/separator' - -import { WebhookDocsButton } from './webhooks-docs-button' -import { WebhooksList } from './webhooks-list' -import { WebhooksListLoading } from './webhooks-list-loading' - -export const metadata: Metadata = { - title: 'Developers settings', -} - -export default async function SettingsPage() { - return ( - - - Developers - - Integrate with Nivo using Webhooks or our API. - - - -
-
- - -

- Access our{' '} - - documentation - {' '} - to understand how to use our API. -

-
-
- -
- - -
-
- - - - }> - - - - - -
- - - -
-
-
-
- ) -} diff --git a/apps/web/src/app/app/settings/developers/webhook-triggers-input.tsx b/apps/web/src/app/app/settings/developers/webhook-triggers-input.tsx deleted file mode 100644 index 2f66e62..0000000 --- a/apps/web/src/app/app/settings/developers/webhook-triggers-input.tsx +++ /dev/null @@ -1,110 +0,0 @@ -'use client' - -import { Controller, useFormContext } from 'react-hook-form' - -import { Badge } from '@/components/ui/badge' -import { Checkbox } from '@/components/ui/checkbox' -import { Label } from '@/components/ui/label' -import { Separator } from '@/components/ui/separator' -import { Skeleton } from '@/components/ui/skeleton' -import { trpc } from '@/lib/trpc/react' - -import { CreateWebhookSchema } from './webhook-form' - -export function WebhookTriggersInput() { - const { data, isLoading } = trpc.getAvailableTriggers.useQuery() - - const { - control, - formState: { errors }, - setValue, - } = useFormContext() - - function handleSelectAllTriggers() { - if (!data) { - return - } - - setValue( - 'triggers', - data.triggers.map((item) => item.trigger), - ) - } - - if (isLoading) { - return ( -
- {Array.from({ length: 6 }).map((_, i) => { - return ( -
- -
- - -
-
- ) - })} -
- ) - } - - return ( -
-
- {data && - data.triggers.map(({ trigger, description }) => { - return ( -
- -

- {description} -

-
- ) - })} -
- {errors.triggers && ( -

- {errors.triggers.message} -

- )} - -

- Do you want this webhook to{' '} - - ? -

-
- ) -} diff --git a/apps/web/src/app/app/settings/developers/webhooks-list-loading.tsx b/apps/web/src/app/app/settings/developers/webhooks-list-loading.tsx deleted file mode 100644 index 641a8b2..0000000 --- a/apps/web/src/app/app/settings/developers/webhooks-list-loading.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import { Skeleton } from '@/components/ui/skeleton' -import { - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, -} from '@/components/ui/table' - -export function WebhooksListLoading() { - return ( -
-
- - - URL - Triggers - -
- Events - - (last 7 days) - -
-
- -
- Success rate - - (last 7 days) - -
-
- Status - -
-
- - {Array.from({ length: 2 }).map((_, row) => { - return ( - - - - - - - - - - - - - - - - - -
- - -
-
-
- ) - })} -
-
-
- ) -} diff --git a/apps/web/src/app/app/settings/organization/bunny-api-key-form.tsx b/apps/web/src/app/app/settings/organization/bunny-api-key-form.tsx deleted file mode 100644 index e8f5557..0000000 --- a/apps/web/src/app/app/settings/organization/bunny-api-key-form.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import { zodResolver } from '@hookform/resolvers/zod' -import { DialogTrigger } from '@radix-ui/react-dialog' -import { Loader2 } from 'lucide-react' -import { useForm } from 'react-hook-form' -import { z } from 'zod' - -import { Button } from '@/components/ui/button' -import { Input } from '@/components/ui/input' -import { Label } from '@/components/ui/label' - -export const apiKeySchema = z.object({ - apiKey: z - .string() - .min(1, { message: 'Please provide a valid Bunny API Key.' }), -}) - -export type APIKeySchema = z.infer - -interface BunnyApiKeyFormProps { - onKeySubmit: (data: APIKeySchema) => Promise | void -} - -export function BunnyApiKeyForm({ onKeySubmit }: BunnyApiKeyFormProps) { - const { - handleSubmit, - formState: { errors, isSubmitting }, - register, - } = useForm({ - resolver: zodResolver(apiKeySchema), - }) - - return ( - -
- - - {errors.apiKey && ( -

- {errors.apiKey.message} -

- )} -

- The API key can be found on your{' '} - - account page - {' '} - and it will be used only ONCE{' '} - so we can fetch the available video libraries. -

-
- -
- - - - -
- - ) -} diff --git a/apps/web/src/app/app/settings/organization/page.tsx b/apps/web/src/app/app/settings/organization/page.tsx deleted file mode 100644 index dbb223d..0000000 --- a/apps/web/src/app/app/settings/organization/page.tsx +++ /dev/null @@ -1,128 +0,0 @@ -import { Metadata } from 'next' -import { unstable_noStore } from 'next/cache' -import Image from 'next/image' - -import { Avatar } from '@/components/ui/avatar' -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from '@/components/ui/card' -import { Input } from '@/components/ui/input' -import { Label } from '@/components/ui/label' -import { Select, SelectTrigger } from '@/components/ui/select' -import { Separator } from '@/components/ui/separator' -import { Table, TableBody, TableCell, TableRow } from '@/components/ui/table' -import { serverClient } from '@/lib/trpc/server' - -import { ConnectBunnyAccount } from './connect-bunny-account' - -export const metadata: Metadata = { - title: 'Organization settings', -} - -export default async function OrganizationPage() { - unstable_noStore() - - const { company } = await serverClient.getCurrentUserCompany() - - return ( - - - Organization - Update your organization information. - - -
-
- - -
- -
- - -

- All users that authenticate with this domain will automatically - join your organization. -

-
- - - -
- - -
- - - -
- -
- - - {company.members.map((member) => { - return ( - - - - {member.image ? ( - - ) : ( -
- )} - - - -
- - {member.name} - - - - {member.email} - -
-
- - - - - ) - })} - -
-
-
- - - -

- You cannot update your organization profile yet. -

- -
-
- ) -} diff --git a/apps/web/src/app/app/settings/profile/page.tsx b/apps/web/src/app/app/settings/profile/page.tsx deleted file mode 100644 index 7cb4aae..0000000 --- a/apps/web/src/app/app/settings/profile/page.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import { auth } from '@nivo/auth' -import { Metadata } from 'next' -import Image from 'next/image' - -import { Avatar } from '@/components/ui/avatar' -import { - Card, - CardContent, - CardDescription, - CardHeader, - CardTitle, -} from '@/components/ui/card' -import { Input } from '@/components/ui/input' -import { Label } from '@/components/ui/label' -import { Separator } from '@/components/ui/separator' - -export const metadata: Metadata = { - title: 'Profile settings', -} - -export default async function ProfilePage() { - const session = await auth() - - if (!session || !session.user) { - throw new Error('Invalid session data.') - } - - const { user } = session - - return ( - - - Profile - Update your profile information. - - -
-
- - - {user.image ? ( - - ) : ( -
- )} - -
- -
- - -
- -
- - -
- -

- You cannot update your profile yet. -

- - - - ) -} diff --git a/apps/web/src/app/app/upload/page.tsx b/apps/web/src/app/app/upload/page.tsx deleted file mode 100644 index fa0d48c..0000000 --- a/apps/web/src/app/app/upload/page.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { AlertCircle } from 'lucide-react' -import { Metadata } from 'next' -import Link from 'next/link' - -import { serverClient } from '@/lib/trpc/server' - -import { UploadList } from './upload-list' - -export const metadata: Metadata = { - title: 'Upload', - description: 'Upload new videos.', -} - -export default async function Upload() { - const { company } = await serverClient.getCurrentUserCompany() - - if (!company.externalId) { - return ( -
-
- -

- Setup your{' '} - - Bunny account integration - {' '} - before uploading videos on Nivo. -

-
-
- ) - } - - return -} diff --git a/apps/web/src/app/app/uploads/layout.tsx b/apps/web/src/app/app/uploads/layout.tsx deleted file mode 100644 index 859e8cf..0000000 --- a/apps/web/src/app/app/uploads/layout.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { ReactNode, Suspense } from 'react' - -import { UploadsFilters } from './uploads-filters' - -export default async function Layout({ children }: { children: ReactNode }) { - return ( - <> -

Uploads

- -
- - - - - {children} -
- - ) -} diff --git a/apps/web/src/components/copy-button.tsx b/apps/web/src/components/copy-button.tsx index 20ff58f..4cf9950 100644 --- a/apps/web/src/components/copy-button.tsx +++ b/apps/web/src/components/copy-button.tsx @@ -3,6 +3,8 @@ import { ComponentProps, useRef, useState } from 'react' import { twMerge } from 'tailwind-merge' +import { useDictionary } from '@/state/dictionary' + import { Button } from './ui/button' export interface CopyButtonProps extends ComponentProps { @@ -10,6 +12,7 @@ export interface CopyButtonProps extends ComponentProps { } export function CopyButton({ textToCopy, ...props }: CopyButtonProps) { + const dictionary = useDictionary() const [wasCopiedRecently, setWasCopiedRecently] = useState(false) const copyTimeoutRef = useRef() @@ -35,7 +38,7 @@ export function CopyButton({ textToCopy, ...props }: CopyButtonProps) { props.className, )} > - {wasCopiedRecently ? 'Copied!' : props.children} + {wasCopiedRecently ? dictionary.copy_button_copied : props.children} ) } diff --git a/apps/web/src/components/create-new-tag-dialog.tsx b/apps/web/src/components/create-new-tag-dialog.tsx index 72f3f5d..fe22047 100644 --- a/apps/web/src/components/create-new-tag-dialog.tsx +++ b/apps/web/src/components/create-new-tag-dialog.tsx @@ -1,10 +1,14 @@ +'use client' + import { zodResolver } from '@hookform/resolvers/zod' +import { Dictionary } from '@nivo/i18n' import { AlertCircle, Loader2 } from 'lucide-react' import { useForm } from 'react-hook-form' import { toast } from 'sonner' import { z } from 'zod' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { Badge } from './ui/badge' import { Button } from './ui/button' @@ -19,17 +23,18 @@ import { import { Input } from './ui/input' import { Label } from './ui/label' -const newTagFormSchema = z.object({ - tag: z - .string({ - required_error: 'The tag name is required.', - }) - .regex(/^[a-zA-Z]+(-[a-zA-Z]+)*$/, { - message: 'Use only letters and hyphens.', - }), -}) +const newTagFormSchema = (dictionary: Dictionary) => + z.object({ + tag: z + .string({ + required_error: dictionary.new_tag_form_error_required, + }) + .regex(/^[a-zA-Z]+(-[a-zA-Z]+)*$/, { + message: dictionary.new_tag_form_error_format, + }), + }) -type NewTagFormSchema = z.infer +type NewTagFormSchema = z.infer> interface CreateNewTagDialogProps { onRequestClose: () => void @@ -38,6 +43,7 @@ interface CreateNewTagDialogProps { export function CreateNewTagDialog({ onRequestClose, }: CreateNewTagDialogProps) { + const dictionary = useDictionary() const utils = trpc.useUtils() const { @@ -46,7 +52,7 @@ export function CreateNewTagDialog({ formState: { isSubmitting, errors }, reset, } = useForm({ - resolver: zodResolver(newTagFormSchema), + resolver: zodResolver(newTagFormSchema(dictionary)), defaultValues: { tag: '', }, @@ -65,8 +71,8 @@ export function CreateNewTagDialog({ reset() onRequestClose() } catch (err) { - toast.error('Uh oh! Something went wrong.', { - description: `An error ocurred while trying to create the tag. Maybe you're trying to create a duplicated tag.`, + toast.error(dictionary.create_tag_error, { + description: dictionary.create_tag_error_description, }) } } @@ -74,37 +80,37 @@ export function CreateNewTagDialog({ return ( - Create new tag + {dictionary.create_new_tag}

- Remember to avoid creating tags unnecessarily and to keep a maximum - of{' '} + {dictionary.create_new_tag_description_1}{' '} - 3 tags per video + {dictionary.create_new_tag_description_2} .

- Use the{' '} + {dictionary.create_new_tag_description_3}{' '} - following examples - {' '} - to name your tags: + {dictionary.create_new_tag_description_4} + + :

  1. - ignite - reference to the product + ignite -{' '} + {dictionary.example_tag_product}
  2. - react - reference to the main - technology + react -{' '} + {dictionary.example_tag_technology}
  3. - fundamentos-do-react - reference - to the course + fundamentos-do-react -{' '} + {dictionary.example_tag_course}
@@ -114,12 +120,12 @@ export function CreateNewTagDialog({
@@ -134,14 +140,14 @@ export function CreateNewTagDialog({ diff --git a/apps/web/src/components/header/index.tsx b/apps/web/src/components/header/index.tsx index 25296b8..8a1a9be 100644 --- a/apps/web/src/components/header/index.tsx +++ b/apps/web/src/components/header/index.tsx @@ -10,15 +10,18 @@ import { MenuLink } from './menu-link' import { Search } from './search' import { ThemeSwitcher } from './theme-switcher' import { UserProfileButton } from './user-profile-button' +import { getDictionary } from '@/utils/dictionary-server-side' + +export async function Header() { + const dictionary = getDictionary() -export function Header() { return (
Nivo
@@ -40,7 +45,7 @@ export function Header() { diff --git a/apps/web/src/components/header/search-item.tsx b/apps/web/src/components/header/search-item.tsx index b4f5e13..924d9ad 100644 --- a/apps/web/src/components/header/search-item.tsx +++ b/apps/web/src/components/header/search-item.tsx @@ -5,6 +5,8 @@ import Image from 'next/image' import { useRouter } from 'next/navigation' import { useEffect, useRef, useTransition } from 'react' +import { useDictionary } from '@/state/dictionary' + import { CommandItem } from '../ui/command' import { Tooltip, TooltipContent, TooltipTrigger } from '../ui/tooltip' @@ -14,6 +16,7 @@ interface SearchItemProps { } export function SearchItem({ video, onRequestClose }: SearchItemProps) { + const dictionary = useDictionary() const router = useRouter() const [isPendingNavigation, startTransition] = useTransition() const lastIsPendingNavigation = useRef(false) @@ -54,14 +57,14 @@ export function SearchItem({ video, onRequestClose }: SearchItemProps) { {video.author?.image && (
- by + {dictionary.search_item_by} {video.author?.name && ( diff --git a/apps/web/src/components/header/search.tsx b/apps/web/src/components/header/search.tsx index 673e182..d20ea7b 100644 --- a/apps/web/src/components/header/search.tsx +++ b/apps/web/src/components/header/search.tsx @@ -5,6 +5,7 @@ import { useEffect, useState } from 'react' import useDebounceValue from '@/hooks/useDebounceValue' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { Button } from '../ui/button' import { @@ -16,6 +17,7 @@ import { import { SearchItem } from './search-item' export function Search() { + const dictionary = useDictionary() const [open, setOpen] = useState(false) const [search, setSearch] = useState('') @@ -55,7 +57,7 @@ export function Search() { className="flex w-[240px] items-center justify-between text-muted-foreground" onClick={() => setOpen(true)} > - Search videos... + {dictionary.search_button_text} ⌘K @@ -65,18 +67,18 @@ export function Search() { - + {isPendingVideos || isLoadingVideos ? (
- Loading videos... + {dictionary.search_loading_videos}
) : data?.videos && data.videos.length === 0 ? (
- No results found. + {dictionary.search_no_results_found}
) : ( data?.videos && diff --git a/apps/web/src/components/header/theme-switcher.tsx b/apps/web/src/components/header/theme-switcher.tsx index 43424cd..db824d3 100644 --- a/apps/web/src/components/header/theme-switcher.tsx +++ b/apps/web/src/components/header/theme-switcher.tsx @@ -11,8 +11,10 @@ import { DropdownMenuItem, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu' +import { useDictionary } from '@/state/dictionary' export function ThemeSwitcher(props: React.ComponentProps) { + const dictionary = useDictionary() const { setTheme } = useTheme() return ( @@ -21,7 +23,9 @@ export function ThemeSwitcher(props: React.ComponentProps) { @@ -30,21 +34,21 @@ export function ThemeSwitcher(props: React.ComponentProps) { onClick={() => setTheme('light')} > - Light + {dictionary.theme_switcher_light} setTheme('dark')} > - Dark + {dictionary.theme_switcher_dark} setTheme('system')} > - System + {dictionary.theme_switcher_system} diff --git a/apps/web/src/components/header/user-profile-button.tsx b/apps/web/src/components/header/user-profile-button.tsx index b7a27c6..a410255 100644 --- a/apps/web/src/components/header/user-profile-button.tsx +++ b/apps/web/src/components/header/user-profile-button.tsx @@ -12,8 +12,10 @@ import { DropdownMenuSeparator, DropdownMenuTrigger, } from '../ui/dropdown-menu' +import { getDictionary } from '@/utils/dictionary-server-side' export async function UserProfileButton() { + const dictionary = getDictionary() const session = await auth() async function handleSignOut() { @@ -40,17 +42,19 @@ export async function UserProfileButton() { - My Account + + {dictionary.user_profile_button_my_account} + - Settings + {dictionary.user_profile_button_settings} - Developers + {dictionary.user_profile_button_developers} @@ -58,7 +62,7 @@ export async function UserProfileButton() { diff --git a/apps/web/src/components/intercepted-sheet-content.tsx b/apps/web/src/components/intercepted-sheet-content.tsx index 35d804a..588624d 100644 --- a/apps/web/src/components/intercepted-sheet-content.tsx +++ b/apps/web/src/components/intercepted-sheet-content.tsx @@ -5,12 +5,15 @@ import { X } from 'lucide-react' import { useRouter } from 'next/navigation' import React from 'react' +import { useDictionary } from '@/state/dictionary' + import { SheetOverlay, sheetVariants } from './ui/sheet' export const InterceptedSheetContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef >(({ className, children, ...props }, ref) => { + const dictionary = useDictionary() const router = useRouter() const onDismiss = React.useCallback(() => { @@ -33,7 +36,7 @@ export const InterceptedSheetContent = React.forwardRef< className="absolute right-8 top-8 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary" > - Close + {dictionary.intercepted_sheet_close} diff --git a/apps/web/src/components/summary/storage.tsx b/apps/web/src/components/summary/storage.tsx index d2eb364..5c35538 100644 --- a/apps/web/src/components/summary/storage.tsx +++ b/apps/web/src/components/summary/storage.tsx @@ -4,25 +4,30 @@ import { unstable_noStore } from 'next/cache' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { serverClient } from '@/lib/trpc/server' import { formatBytes } from '@/utils/format-bytes' +import { getDictionary } from '@/utils/dictionary-server-side' export async function Storage() { + const dictionary = getDictionary() unstable_noStore() const { storageOverall, storageLastMonth } = await serverClient.storageSummary() + const formattedOverall = formatBytes(storageOverall ?? 0) + const formattedLastMonth = formatBytes(storageLastMonth ?? 0) + return ( - Storage + + {dictionary.storage_title} + - - {formatBytes(storageOverall ?? 0)} - + {formattedOverall}

- + {formatBytes(storageLastMonth ?? 0)} in last 30 days + {`+ ${formattedLastMonth} ${dictionary.storage_increase_last_month}`}

diff --git a/apps/web/src/components/summary/total-count.tsx b/apps/web/src/components/summary/total-count.tsx index 1b897fa..702f8a5 100644 --- a/apps/web/src/components/summary/total-count.tsx +++ b/apps/web/src/components/summary/total-count.tsx @@ -3,8 +3,10 @@ import { unstable_noStore } from 'next/cache' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { serverClient } from '@/lib/trpc/server' +import { getDictionary } from '@/utils/dictionary-server-side' export async function TotalCount() { + const dictionary = getDictionary() unstable_noStore() const { amountOverall, amountLastMonth } = @@ -13,7 +15,9 @@ export async function TotalCount() { return ( - Videos + + {dictionary.total_count_title} + @@ -21,7 +25,7 @@ export async function TotalCount() { {String(amountOverall).padStart(4, '0')}

- + {amountLastMonth} in last 30 days + {`+ ${amountLastMonth} ${dictionary.total_count_last_month}`}

diff --git a/apps/web/src/components/tag-input.tsx b/apps/web/src/components/tag-input.tsx index 44534d7..f045e8d 100644 --- a/apps/web/src/components/tag-input.tsx +++ b/apps/web/src/components/tag-input.tsx @@ -1,3 +1,5 @@ +'use client' + import { CheckIcon, PlusIcon } from '@radix-ui/react-icons' import { Loader2, Tag } from 'lucide-react' import { useState } from 'react' @@ -5,6 +7,7 @@ import { twMerge } from 'tailwind-merge' import useDebounceValue from '@/hooks/useDebounceValue' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { CreateNewTagDialog } from './create-new-tag-dialog' import { Badge } from './ui/badge' @@ -38,6 +41,7 @@ export function TagInput({ allowTagCreation = true, onApplyToAll, }: TagInputProps) { + const dictionary = useDictionary() const [createTagDialogOpen, setCreateTagDialogOpen] = useState(false) const [open, setOpen] = useState(false) const [search, setSearch] = useState('') @@ -73,7 +77,7 @@ export function TagInput({ className="flex h-8 items-center border-dashed px-2 data-[error=true]:border-red-400 data-[error=true]:bg-red-50" > - Tags + {dictionary.tags_label} {!!error && ( {error} @@ -88,7 +92,7 @@ export function TagInput({ variant="secondary" className="pointer-events-none text-nowrap rounded-sm px-1 font-normal" > - {value.length} selected + {value.length} {dictionary.selected_label} ) : ( value.map((tag) => ( @@ -109,7 +113,7 @@ export function TagInput({ @@ -125,18 +129,18 @@ export function TagInput({ className="flex items-center gap-2" > - Create new + {dictionary.create_new_label} )} {isLoadingTagOptions || isPendingTagOptions ? (
- Loading tags... + {dictionary.loading_tags_label}
) : data?.tags && data.tags.length === 0 ? (
- No tags found. + {dictionary.no_tags_found_label}
) : ( data?.tags && @@ -181,7 +185,7 @@ export function TagInput({ onSelect={onApplyToAll} className="m-1 justify-center text-center text-sm font-normal" > - Apply to all + {dictionary.apply_to_all_label}
)} diff --git a/apps/web/src/components/transcription-preview.tsx b/apps/web/src/components/transcription-preview.tsx index eada10a..75572e5 100644 --- a/apps/web/src/components/transcription-preview.tsx +++ b/apps/web/src/components/transcription-preview.tsx @@ -15,6 +15,7 @@ import { import { Skeleton } from '@/components/ui/skeleton' import { Textarea } from '@/components/ui/textarea' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' import { Button } from './ui/button' @@ -23,6 +24,7 @@ export interface TranscriptionPreviewProps { } export function TranscriptionPreview({ videoId }: TranscriptionPreviewProps) { + const dictionary = useDictionary() const [isDialogOpen, setIsDialogOpen] = useState(false) const { @@ -51,12 +53,12 @@ export function TranscriptionPreview({ videoId }: TranscriptionPreviewProps) { - Transcrição + {dictionary.transcription_preview_title} {isLoadingTranscription || isPendingTranscription ? (
@@ -76,7 +78,7 @@ export function TranscriptionPreview({ videoId }: TranscriptionPreviewProps) { diff --git a/apps/web/src/components/upload-item-actions.tsx b/apps/web/src/components/upload-item-actions.tsx index ee0de64..454554c 100644 --- a/apps/web/src/components/upload-item-actions.tsx +++ b/apps/web/src/components/upload-item-actions.tsx @@ -25,6 +25,7 @@ import { DropdownMenuTrigger, } from '@/components/ui/dropdown-menu' import { trpc } from '@/lib/trpc/react' +import { useDictionary } from '@/state/dictionary' interface UploadItemActionsProps { videoId: string @@ -35,6 +36,7 @@ export function UploadItemActions({ videoId, uploadBatchId, }: UploadItemActionsProps) { + const dictionary = useDictionary() const utils = trpc.useUtils() const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false) @@ -52,9 +54,8 @@ export function UploadItemActions({ setIsDeleteDialogOpen(false) } catch { - toast.error('Uh oh! Something went wrong.', { - description: - 'An error ocurred while trying to delete the video. If the error persists, please contact an administrator.', + toast.error(dictionary.upload_item_actions_toast_error, { + description: dictionary.upload_item_actions_toast_error_description, }) } } @@ -69,21 +70,23 @@ export function UploadItemActions({ className="data-[state=open]:bg-muted" > - Open menu + + {dictionary.upload_item_actions_open_menu} + - Edit + {dictionary.upload_item_actions_edit} {uploadBatchId && ( - View batch + {dictionary.upload_item_actions_view_batch} )} @@ -94,7 +97,7 @@ export function UploadItemActions({ disabled={isDeletingVideo} > - Delete + {dictionary.upload_item_actions_delete} @@ -102,28 +105,29 @@ export function UploadItemActions({ - Are you sure? + + {dictionary.upload_item_actions_confirm_title} + +

{dictionary.upload_item_actions_confirm_description}

- This action can't be undone and the video will be permanently - deleted from the server. -

-

- This will{' '} + {dictionary.upload_item_actions_confirm_note_1} - permanently + {dictionary.upload_item_actions_confirm_note_2} :

    -
  1. Delete the MP4, MP3 and subtitles from storage;
  2. -
  3. Delete the video on external provider;
  4. -
  5. Delete the videos on any outside integration;
  6. +
  7. {dictionary.upload_item_actions_confirm_step_1}
  8. +
  9. {dictionary.upload_item_actions_confirm_step_2}
  10. +
  11. {dictionary.upload_item_actions_confirm_step_3}
- Cancel + + {dictionary.upload_item_actions_cancel} + diff --git a/apps/web/src/state/dictionary.ts b/apps/web/src/state/dictionary.ts new file mode 100644 index 0000000..b9fd367 --- /dev/null +++ b/apps/web/src/state/dictionary.ts @@ -0,0 +1,10 @@ +import { getDictionaryByLocale, i18n, Locale } from '@nivo/i18n' +import { atom, useAtomValue } from 'jotai' + +export const localeAtom = atom(i18n.defaultLocale) + +export const dictionaryAtom = atom((get) => getDictionaryByLocale(get(localeAtom))) + +export const useDictionary = () => { + return useAtomValue(dictionaryAtom) +} diff --git a/apps/web/src/utils/dictionary-server-side.ts b/apps/web/src/utils/dictionary-server-side.ts new file mode 100644 index 0000000..ec535fa --- /dev/null +++ b/apps/web/src/utils/dictionary-server-side.ts @@ -0,0 +1,5 @@ +import { Dictionary, i18n } from "@nivo/i18n"; +import { serverContext } from "./server-context"; + +export const [getLocale, setLocale] = serverContext(i18n.defaultLocale); +export const [getDictionary, setDictionary] = serverContext({} as Dictionary) diff --git a/apps/web/src/utils/server-context.ts b/apps/web/src/utils/server-context.ts new file mode 100644 index 0000000..ce167fa --- /dev/null +++ b/apps/web/src/utils/server-context.ts @@ -0,0 +1,13 @@ +import { cache } from "react"; + +export const serverContext = (defaultValue: T): [() => T, (v: T) => void] => { + const getRef = cache(() => ({ current: defaultValue })); + + const getValue = (): T => getRef().current; + + const setValue = (value: T) => { + getRef().current = value; + }; + + return [getValue, setValue]; +}; diff --git a/packages/auth/auth.config.ts b/packages/auth/auth.config.ts index 5d98213..d43315b 100644 --- a/packages/auth/auth.config.ts +++ b/packages/auth/auth.config.ts @@ -1,4 +1,5 @@ import { db } from '@nivo/drizzle' +import { i18n, i18nRouter } from '@nivo/i18n' import type { NextAuthConfig, Session } from 'next-auth' import { GoogleProfile } from 'next-auth/providers/google' @@ -62,7 +63,8 @@ export const authConfig = { return session }, - authorized({ auth, request: { nextUrl } }) { + authorized({ auth, request }) { + const { nextUrl } = request const isLoggedIn = !!auth?.user const isOnWebhooks = nextUrl.pathname.startsWith('/api/webhooks') @@ -87,7 +89,7 @@ export const authConfig = { return false } - return true + return i18nRouter(request, i18n) }, }, } satisfies NextAuthConfig diff --git a/packages/auth/package.json b/packages/auth/package.json index 410e2cb..e242606 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -11,6 +11,7 @@ "@auth/core": "^0.25.0", "@nivo/drizzle": "workspace:*", "@nivo/env": "workspace:*", + "@nivo/i18n": "workspace:*", "drizzle-orm": "^0.29.3", "next-auth": "beta" }, @@ -26,4 +27,4 @@ ] }, "prettier": "@nivo/prettier" -} \ No newline at end of file +} diff --git a/packages/i18n/config.ts b/packages/i18n/config.ts new file mode 100644 index 0000000..dbb9c73 --- /dev/null +++ b/packages/i18n/config.ts @@ -0,0 +1,10 @@ +import type { Config } from 'next-i18n-router/dist/types' + +export const config: Config = { + defaultLocale: 'en', + // Check available options at: https://www.w3schools.com/tags/ref_language_codes.asp + locales: ['en', 'pt', 'es'], + noPrefix: true, +} as const + +export type Locale = (typeof config)['locales'][number] diff --git a/packages/i18n/dictionaries/en.json b/packages/i18n/dictionaries/en.json new file mode 100644 index 0000000..94e220b --- /dev/null +++ b/packages/i18n/dictionaries/en.json @@ -0,0 +1,357 @@ +{ + "dashboard_heading": "Dashboard", + "dashboard_page_title": "Dashboard", + "languages_en": "English", + "languages_pt": "Portuguese", + "languages_es": "Spanish", + "language_form_heading": "Language Settings", + "language_form_description": "This setting determines the language used throughout the app.", + "language_form_label": "Current Setting", + "language_form_submit": "Save Changes", + "language_form_no_language_found": "No language found.", + "language_form_search_placeholder": "Search language...", + "language_page_title": "Language Settings", + "language_page_choose_language": "Choose Language", + "language_page_description": "Select your preferred language from the list below.", + "profile_page_title": "Profile Settings", + "profile_title": "Profile", + "profile_description": "Update your profile information.", + "profile_label_avatar": "Avatar", + "profile_label_name": "Name", + "profile_label_email": "E-mail", + "profile_info_update_not_allowed": "You cannot update your profile yet.", + "error_invalid_session_data": "Invalid session data.", + "settings_aside_title": "Settings", + "settings_aside_general": "General", + "settings_aside_profile": "Profile", + "settings_aside_organization": "Organization", + "settings_aside_developers": "Developers", + "settings_aside_api_webhooks": "API & Webhooks", + "settings_aside_webhook_logs": "Webhook Logs", + "settings_aside_preferences": "Preferences", + "settings_aside_language": "Language", + "organization_page_title": "Organization Settings", + "organization_title": "Organization", + "organization_description": "Update your organization information.", + "organization_label_name": "Name", + "organization_label_domain": "Domain", + "organization_domain_description": "All users that authenticate with this domain will automatically join your organization.", + "organization_label_bunny_integration": "Bunny Integration", + "organization_label_members": "Members", + "organization_member_role": "Admin", + "organization_info_update_not_allowed": "You cannot update your organization profile yet.", + "connect_bunny_account_button_connected": "Account connected", + "connect_bunny_account_button_connect": "Connect account", + "connect_bunny_account_dialog_title": "Connect Bunny account", + "connect_bunny_account_dialog_description": "This will allow you to upload new videos on Nivo.", + "connect_bunny_account_input_placeholder": "Connect your Bunny account to upload on Nivo", + "connect_bunny_account_fetch_error": "Failed to fetch Bunny video library, please check the API key provided.", + "connect_bunny_account_connection_success": "Connected to Bunny!", + "connect_bunny_account_connection_success_description": "You can now start uploading videos.", + "connect_bunny_account_set_error": "Failed to set Bunny Video Library, please try again.", + "bunny_api_key_form_label": "Bunny API Key", + "bunny_api_key_form_error": "Please provide a valid Bunny API Key.", + "bunny_api_key_form_description": "The API key can be found on your account page and it will be used only ONCE so we can fetch the available video libraries.", + "bunny_api_key_form_description_once": "ONCE", + "bunny_api_key_form_cancel_button": "Cancel", + "bunny_api_key_form_fetch_button": "Fetch video libraries", + "bunny_api_key_form_account_page": "account page", + "bunny_api_key_form_description_once": "ONCE", + "bunny_api_key_form_description_part1": "The API key can be found on your ", + "bunny_api_key_form_description_part2": " and it will be used only ", + "bunny_api_key_form_description_part3": " so we can fetch the available video libraries.", + "developers_settings_title": "Developers Settings", + "developers_title": "Developers", + "developers_description": "Integrate with Nivo using Webhooks or our API.", + "api_url_label": "API URL", + "api_key_label": "API Key", + "api_url_default": "https://nivo.video/api/v1", + "api_url_description": "Access our documentation to understand how to use our API.", + "api_key_description": "Click to copy", + "webhook_logs_button": "Webhook Logs", + "api_key_copy_button": "Click to copy", + "webhooks_list_loading_url": "URL", + "webhooks_list_loading_triggers": "Triggers", + "webhooks_list_loading_events": "Events", + "webhooks_list_loading_events_last_7_days": "(last 7 days)", + "webhooks_list_loading_success_rate": "Success rate", + "webhooks_list_loading_success_rate_last_7_days": "(last 7 days)", + "webhooks_list_loading_status": "Status", + "webhooks_label": "Webhooks", + "webhooks_description": "Listen to Nivo events in your application.", + "webhooks_page_info": "Page {page} of {pageCount}", + "webhooks_previous_page": "Go to previous page", + "webhooks_next_page": "Go to next page", + "webhooks_no_created": "No webhooks created.", + "webhooks_signing_key": "Signing key", + "create_webhook_button": "Add webhook", + "create_webhook_title": "Listen to Nivo events", + "create_webhook_description": "Set up your webhook endpoint to receive live events from Nivo.", + "webhook_form_label_url": "Endpoint URL", + "webhook_form_placeholder_url": "https://", + "webhook_form_error_valid_url": "Enter a valid URL.", + "webhook_form_error_select_trigger": "Select at least one event trigger.", + "webhook_form_button_cancel": "Cancel", + "webhook_form_button_save": "Save", + "webhook_form_save_success": "Webhook successfully saved!", + "webhook_form_save_success_description": "Now your endpoint is listening to Nivo events!", + "webhook_form_save_error": "Uh oh! Something went wrong.", + "webhook_form_save_error_description": "An error occurred while trying to save the webhook.", + "webhook_form_invalid_url": "Enter a valid URL.", + "webhook_form_select_trigger": "Select at least one event trigger.", + "webhook_form_save_button": "Save", + "webhook_form_success_message": "Webhook successfully saved!", + "webhook_form_error_message": "Uh oh! Something went wrong.", + "webhook_triggers_input_all_events": "Do you want this webhook to listen to all events?", + "webhook_triggers_select_all_button": "listen to all events", + "webhook_triggers_error": "Select at least one trigger.", + "trigger_upload_created_desc": "Occurs whenever a video is uploaded.", + "trigger_upload_transcription_created_desc": "Occurs whenever a transcription is generated.", + "trigger_upload_updated_desc": "Occurs whenever a video is updated.", + "trigger_upload_deleted_desc": "Occurs whenever a video is deleted.", + "trigger_tag_created_desc": "Occurs whenever a tag is created.", + "trigger_tag_deleted_desc": "Occurs whenever a tag is deleted.", + "webhook_docs_button_label": "Documentation", + "webhook_docs_title": "Webhook Events", + "webhook_docs_description": "Listen to events that happen inside Nivo in your application.", + "bunny_video_library_form_label": "Bunny Video Library", + "bunny_video_library_form_placeholder": "Choose a video library", + "bunny_video_library_form_cancel": "Cancel", + "bunny_video_library_form_connect": "Connect video library", + "bunny_video_library_form_error_select": "Please select a video library.", + "bunny_video_library_form_error_required": "Required.", + "webhook_list_actions_edit": "Edit", + "webhook_list_actions_delete": "Delete", + "webhook_list_dialog_title": "Listen to Nivo events", + "webhook_list_dialog_description": "Set up your webhook endpoint to receive live events from Nivo.", + "webhook_list_delete_confirmation": "Are you sure?", + "webhook_list_delete_detail": "This action can't be undone and the webhook will be permanently deleted from the server.", + "webhook_list_delete_events": "This webhook is listening to the following events:", + "webhook_list_delete_cancel": "Cancel", + "webhook_list_events": "event(s)", + "webhook_list_event_active": "ACTIVE", + "webhooks_signing_key_copied": "Signing key copied to clipboard!", + "error_deleting_webhook": "Uh oh! Something went wrong.", + "error_deleting_webhook_desc": "An error occurred while trying to delete the webhook.", + "webhook_logs_layout_title": "Webhook logs", + "webhook_logs_filters_placeholder_filter_webhooks": "Filter webhooks...", + "webhook_logs_filters_placeholder_trigger": "Trigger", + "webhook_logs_filters_button_filter": "Filter", + "webhook_logs_filters_button_reset": "Reset", + "webhook_logs_date_picker_placeholder": "Pick a date", + "webhook_logs_date_picker_select": "Select", + "webhook_logs_date_picker_today": "Today", + "webhook_logs_date_picker_tomorrow": "Tomorrow", + "webhook_logs_date_picker_in_3_days": "In 3 days", + "webhook_logs_date_picker_in_a_week": "In a week", + "webhook_logs_loading_time": "Time", + "webhook_logs_loading_status": "Status", + "webhook_logs_loading_destination": "Destination", + "webhook_logs_loading_trigger": "Trigger", + "webhook_logs_loading_request": "Request", + "webhook_logs_list_time": "Time", + "webhook_logs_list_status": "Status", + "webhook_logs_list_destination": "Destination", + "webhook_logs_list_trigger": "Trigger", + "webhook_logs_list_request": "Request", + "webhook_logs_list_load_more": "Load more logs", + "webhook_logs_details_execution_id": "Execution ID", + "webhook_logs_details_status": "Status", + "webhook_logs_details_error_reason": "Error reason", + "webhook_logs_details_number_of_retries": "Number of retries", + "webhook_logs_details_http_status": "HTTP Status", + "webhook_logs_details_started_at": "Started at", + "webhook_logs_details_finished_at": "Finished at", + "webhook_logs_details_request_headers": "Request Headers", + "webhook_logs_details_request_body": "Request Body", + "webhook_logs_details_response_body": "Response Body", + "webhook_logs_details_success": "Success", + "webhook_logs_details_error": "Error", + "webhook_logs_details_pending": "Pending", + "header_nivo_alt": "Nivo", + "header_nav_dashboard": "Dashboard", + "header_nav_uploads": "Uploads", + "header_button_upload_video": "Upload video", + "search_item_by": "by", + "search_item_author_alt": "Author", + "search_button_text": "Search videos...", + "search_input_placeholder": "Search videos...", + "search_recent_uploads": "Recent uploads", + "search_loading_videos": "Loading videos...", + "search_no_results_found": "No results found.", + "theme_switcher_toggle_theme": "Toggle theme", + "theme_switcher_light": "Light", + "theme_switcher_dark": "Dark", + "theme_switcher_system": "System", + "user_profile_button_my_account": "My Account", + "user_profile_button_settings": "Settings", + "user_profile_button_developers": "Developers", + "user_profile_button_sign_out": "Sign out", + "views_count_title": "Views", + "views_count_subtitle": "(last 7 days)", + "views_count_setup_message": "Setup your Bunny account", + "views_count_instruction": "to see metrics", + "storage_title": "Storage", + "storage_increase_last_month": "in last 30 days", + "total_count_title": "Videos", + "total_count_last_month": "in last 30 days", + "upload_no_bunny_account": "Setup your", + "upload_bunny_account_link": "Bunny account integration", + "upload_bunny_account_integration": "before uploading videos on Nivo.", + "upload_list_at_least_one_tag": "At least one tag is required.", + "upload_list_error_title": "Uh oh! Something went wrong.", + "upload_list_error_description": "An error ocurred while trying to create the upload batch. If the error persists, please contact an administrator.", + "header_upload_title": "Upload", + "header_ai_tools": "AI Tools", + "header_generate_titles": "Generate titles", + "header_clear_all": "Clear all", + "alert_dialog_title": "Are you sure?", + "alert_dialog_description": "This action can't be undone and all uploads will be deleted from the server.", + "alert_dialog_cancel": "Cancel", + "alert_dialog_proceed": "Proceed", + "header_create_all": "Create all", + "upload_drop_area_drop_here": "Drop videos here", + "upload_drop_area_accept_mp4": "Accept only MP4.", + "uploads_warning_on_close": "You have pending uploads. Do you really want to exit and cancel ALL uploads?", + "uploads_table_head_info": "Information", + "uploads_table_head_metadata": "Metadata", + "uploads_table_head_upload_video": "Upload", + "uploads_table_head_conversion": "Conversion", + "uploads_table_head_upload_audio": "Upload", + "uploads_table_head_actions": "Actions", + "uploads_table_action_delete": "Delete", + "uploads_table_no_videos": "No videos selected.", + "audio_conversion_error": "Error", + "audio_conversion_retry": "Retry", + "audio_conversion_complete": "Complete", + "audio_conversion_waiting": "Waiting...", + "audio_conversion_tooltip": "As we perform the audio conversion in the browser, each video is converted individually through a queue.", + "audio_upload_waiting": "Waiting...", + "audio_upload_error": "Error", + "audio_upload_retry": "Retry", + "audio_upload_complete": "Complete", + "video_upload_waiting": "Waiting...", + "video_upload_error": "Error", + "video_upload_retry": "Retry", + "video_upload_complete": "Complete", + "upload_page_title": "Upload", + "layout_uploads_title": "Uploads", + "loading_video": "Video", + "loading_duration": "Duration", + "loading_size": "Size", + "loading_transcription": "Transcription", + "loading_external_id": "External ID", + "loading_uploaded_at": "Uploaded at", + "uploads_video": "Video", + "uploads_duration": "Duration", + "uploads_size": "Size", + "uploads_external": "External", + "uploads_copy": "Copy", + "uploads_processing": "Processing", + "uploads_by": "by", + "uploads_no_results": "No results.", + "uploads_filters_placeholder_title": "Filter videos...", + "uploads_filters_button_filter": "Filter", + "uploads_filters_button_reset": "Reset", + "uploads_pagination_rows_per_page": "Rows per page", + "uploads_pagination_page_info": "Page", + "uploads_pagination_page_info_separator": "of", + "uploads_pagination_go_to_first_page": "Go to first page", + "uploads_pagination_go_to_previous_page": "Go to previous page", + "uploads_pagination_go_to_next_page": "Go to next page", + "uploads_pagination_go_to_last_page": "Go to last page", + "batch_upload_list_video_column": "Video", + "batch_upload_list_duration_column": "Duration", + "batch_upload_list_size_column": "Size", + "batch_upload_list_transcription_column": "Transcription", + "batch_upload_list_external_id_column": "External ID", + "batch_upload_list_processing_status": "Processing", + "batch_upload_list_copy_button": "Copy", + "batch_upload_list_by": "by", + "batch_upload_list_no_results": "No results.", + "batch_page_header_title": "Batch details", + "batch_page_refresh_notice": "This page refreshes every 15s", + "batch_page_generate_metadata_title": "Batch", + "video_page_edit_video_title": "Edit video", + "video_page_download_mp4": "Download MP4", + "video_page_download_mp3": "Download MP3", + "video_page_overview_tab": "Overview", + "video_page_webhooks_tab": "Webhooks", + "overview_edit_video_title": "Edit video", + "overview_update_video_details": "Update video details", + "video_form_toast_error": "Uh oh! Something went wrong.", + "video_form_toast_error_description": "An error occurred while trying to save the video.", + "video_form_title_label": "Title", + "video_form_title_synced": "(synced with Skylab)", + "video_form_tags_label": "Tags", + "video_form_description_label": "Description", + "video_form_description_synced": "(synced with Skylab)", + "video_form_external_status_id_label": "External Status/ID", + "video_form_external_status_waiting": "waiting", + "video_form_external_id_not_generated": "(not generated yet)", + "video_form_commit_reference_label": "Commit reference", + "video_form_commit_reference_synced": "(synced with Skylab)", + "video_form_save_button": "Save", + "video_form_saved_message": "Saved!", + "edit_video_form_error_valid_title": "Please provide a valid title.", + "edit_video_form_error_valid_github_url": "Please provide a valid Github URL.", + "edit_video_form_error_tag_required": "At least one tag is required.", + "video_description_placeholder": "Enter the video description here.", + "generate_with_ai_button": "Generate with AI", + "tags_label": "Tags", + "selected_label": "selected", + "tags_placeholder": "Search tags", + "create_new_label": "Create new", + "loading_tags_label": "Loading tags...", + "no_tags_found_label": "No tags found.", + "apply_to_all_label": "Apply to all", + "new_tag_form_error_required": "The tag name is required.", + "new_tag_form_error_format": "Use only letters and hyphens.", + "create_tag_error": "Uh oh! Something went wrong.", + "create_tag_error_description": "An error ocurred while trying to create the tag. Maybe you're trying to create a duplicated tag.", + "create_new_tag": "Create new tag", + "create_new_tag_description_1": "Remember to avoid creating tags unnecessarily and to keep a maximum of", + "create_new_tag_description_2": "3 tags per video", + "create_new_tag_description_3": "Use the", + "create_new_tag_description_4": "following examples", + "example_tag_product": "reference to the product", + "example_tag_technology": "reference to the main technology", + "example_tag_course": "reference to the course", + "new_tag_label": "New tag", + "new_tag_placeholder": "your-new-tag", + "cancel_button": "Cancel", + "create_button": "Create", + "webhook_table_head_webhook": "Webhook", + "webhook_table_head_status": "Status", + "webhook_table_head_executed_at": "Executed At", + "webhook_table_head_duration": "Duration", + "webhook_table_head_metadata": "Metadata", + "webhook_status_running": "Running", + "webhook_status_success": "Success", + "webhook_status_error": "Error", + "webhook_no_results": "No results", + "transcription_card_sync_video_clicks": "Sync video & clicks", + "transcription_card_button_save": "Save", + "transcription_skeleton_generating": "Transcription is being generated", + "transcription_skeleton_auto_refresh": "The page will automatically refresh...", + "metadata_tooltip_request_body": "Request body sent to the webhook", + "copy_button_copied": "Copied!", + "intercepted_sheet_close": "Close", + "transcription_preview_view_transcription": "View transcription", + "transcription_preview_title": "Transcription", + "transcription_preview_button_review": "Review", + "upload_item_actions_toast_error": "Uh oh! Something went wrong.", + "upload_item_actions_toast_error_description": "An error occurred while trying to delete the video. If the error persists, please contact an administrator.", + "upload_item_actions_open_menu": "Open menu", + "upload_item_actions_edit": "Edit", + "upload_item_actions_view_batch": "View batch", + "upload_item_actions_delete": "Delete", + "upload_item_actions_confirm_title": "Are you sure?", + "upload_item_actions_confirm_description": "This action can't be undone and the video will be permanently deleted from the server.", + "upload_item_actions_confirm_note_1": "This will ", + "upload_item_actions_confirm_note_2": "permanently", + "upload_item_actions_confirm_step_1": "Delete the MP4, MP3 and subtitles from storage;", + "upload_item_actions_confirm_step_2": "Delete the video on external provider;", + "upload_item_actions_confirm_step_3": "Delete the videos on any outside integration;", + "upload_item_actions_cancel": "Cancel" +} diff --git a/packages/i18n/dictionaries/es.json b/packages/i18n/dictionaries/es.json new file mode 100644 index 0000000..168eb6d --- /dev/null +++ b/packages/i18n/dictionaries/es.json @@ -0,0 +1,351 @@ +{ + "dashboard_heading": "Tablero de Control", + "dashboard_page_title": "Tablero de Control", + "languages_en": "Inglés", + "languages_pt": "Portugués", + "languages_es": "Español", + "language_form_heading": "Configuraciones de Idioma", + "language_form_description": "Esta configuración determina el idioma utilizado en toda la aplicación.", + "language_form_label": "Configuración Actual", + "language_form_submit": "Guardar Cambios", + "language_form_no_language_found": "Ningún idioma encontrado.", + "language_form_search_placeholder": "Buscar idioma...", + "language_page_title": "Configuraciones de Idioma", + "language_page_choose_language": "Elegir Idioma", + "language_page_description": "Seleccione el idioma de su preferencia en la lista a continuación.", + "profile_page_title": "Configuraciones de Perfil", + "profile_title": "Perfil", + "profile_description": "Actualice la información de su perfil.", + "profile_label_avatar": "Avatar", + "profile_label_name": "Nombre", + "profile_label_email": "Correo Electrónico", + "profile_info_update_not_allowed": "Aún no puede actualizar su perfil.", + "error_invalid_session_data": "Datos de sesión inválidos.", + "settings_aside_title": "Configuraciones", + "settings_aside_general": "General", + "settings_aside_profile": "Perfil", + "settings_aside_organization": "Organización", + "settings_aside_developers": "Desarrolladores", + "settings_aside_api_webhooks": "API & Webhooks", + "settings_aside_webhook_logs": "Registros de Webhooks", + "settings_aside_preferences": "Preferencias", + "settings_aside_language": "Idioma", + "organization_page_title": "Configuraciones de la Organización", + "organization_title": "Organización", + "organization_description": "Actualice la información de su organización.", + "organization_label_name": "Nombre", + "organization_label_domain": "Dominio", + "organization_domain_description": "Todos los usuarios que se autentiquen con este dominio serán automáticamente añadidos a su organización.", + "organization_label_bunny_integration": "Integración Bunny", + "organization_label_members": "Miembros", + "organization_member_role": "Administrador", + "organization_info_update_not_allowed": "Aún no puede actualizar el perfil de su organización.", + "connect_bunny_account_button_connected": "Cuenta conectada", + "connect_bunny_account_button_connect": "Conectar cuenta", + "connect_bunny_account_dialog_title": "Conectar cuenta Bunny", + "connect_bunny_account_dialog_description": "Esto le permitirá subir nuevos videos en Nivo.", + "connect_bunny_account_input_placeholder": "Conecte su cuenta Bunny para subir en Nivo", + "connect_bunny_account_fetch_error": "Error al buscar la biblioteca de videos Bunny, verifique la clave API proporcionada.", + "connect_bunny_account_connection_success": "¡Conectado a Bunny!", + "connect_bunny_account_connection_success_description": "Ahora puede comenzar a subir videos.", + "connect_bunny_account_set_error": "Error al configurar la Biblioteca de Video Bunny, intente nuevamente.", + "bunny_api_key_form_label": "Clave API Bunny", + "bunny_api_key_form_error": "Por favor, proporcione una Clave de API Bunny válida.", + "bunny_api_key_form_description": "La clave API se puede encontrar en su página de cuenta y se utilizará solo UNA VEZ para que podamos buscar las bibliotecas de videos disponibles.", + "bunny_api_key_form_cancel_button": "Cancelar", + "bunny_api_key_form_fetch_button": "Buscar videos", + "bunny_api_key_form_account_page": "página de cuenta", + "bunny_api_key_form_description_once": "UNA VEZ", + "bunny_api_key_form_description_part1": "La clave API se puede encontrar en su ", + "bunny_api_key_form_description_part2": " y se utilizará solo ", + "bunny_api_key_form_description_part3": " para que podamos acceder a las bibliotecas de video disponibles.", + "developers_settings_title": "Configuraciones para Desarrolladores", + "developers_title": "Desarrolladores", + "developers_description": "Integre con Nivo usando Webhooks o nuestra API.", + "api_url_label": "URL de la API", + "api_key_label": "Clave de la API", + "api_url_default": "https://nivo.video/api/v1", + "api_url_description": "Acceda a nuestra documentación para entender cómo usar nuestra API.", + "api_key_description": "Clic para copiar", + "webhook_logs_button": "Registros de Webhooks", + "api_key_copy_button": "Clic para copiar", + "webhooks_list_loading_url": "URL", + "webhooks_list_loading_triggers": "Disparadores", + "webhooks_list_loading_events": "Eventos", + "webhooks_list_loading_events_last_7_days": "(últimos 7 días)", + "webhooks_list_loading_success_rate": "Éxito", + "webhooks_list_loading_success_rate_last_7_days": "(últimos 7 días)", + "webhooks_list_loading_status": "Estado", + "webhooks_label": "Webhooks", + "webhooks_description": "Escuche los eventos de Nivo en su aplicación.", + "webhooks_page_info": "Página {page} de {pageCount}", + "webhooks_previous_page": "Ir a la página anterior", + "webhooks_next_page": "Ir a la próxima página", + "webhooks_no_created": "Ningún webhook creado.", + "webhooks_signing_key": "Copiar Clave", + "create_webhook_button": "Agregar webhook", + "create_webhook_title": "Escuchar eventos de Nivo", + "create_webhook_description": "Configure su endpoint de webhook para recibir eventos en vivo de Nivo.", + "webhook_form_label_url": "URL del Endpoint", + "webhook_form_placeholder_url": "https://", + "webhook_form_error_valid_url": "Ingrese una URL válida.", + "webhook_form_error_select_trigger": "Seleccione al menos un disparador de evento.", + "webhook_form_button_cancel": "Cancelar", + "webhook_form_button_save": "Guardar", + "webhook_form_save_success": "¡Webhook guardado con éxito!", + "webhook_form_save_success_description": "¡Ahora su endpoint está escuchando los eventos de Nivo!", + "webhook_form_save_error": "¡Ops! Algo salió mal.", + "webhook_form_save_error_description": "Ocurrió un error al intentar guardar el webhook.", + "webhook_form_invalid_url": "Ingrese una URL válida.", + "webhook_form_select_trigger": "Seleccione al menos un disparador de evento.", + "webhook_form_save_button": "Guardar", + "webhook_form_success_message": "¡Webhook guardado con éxito!", + "webhook_form_error_message": "¡Ops! Algo salió mal.", + "webhook_triggers_input_all_events": "¿Desea que este webhook escuche todos los eventos?", + "webhook_triggers_select_all_button": "escuchar todos los eventos", + "webhook_triggers_error": "Seleccione al menos un disparador.", + "trigger_upload_created_desc": "Ocurre cada vez que se carga un video.", + "trigger_upload_transcription_created_desc": "Ocurre cada vez que se genera una transcripción.", + "trigger_upload_updated_desc": "Ocurre cada vez que se actualiza un video.", + "trigger_upload_deleted_desc": "Ocurre cada vez que se elimina un video.", + "trigger_tag_created_desc": "Ocurre cada vez que se crea una etiqueta.", + "trigger_tag_deleted_desc": "Ocurre cada vez que se elimina una etiqueta.", + "webhook_docs_button_label": "Documentación", + "webhook_docs_title": "Eventos de Webhook", + "webhook_docs_description": "Escuche eventos que ocurren dentro de Nivo en su aplicación.", + "bunny_video_library_form_label": "Biblioteca de Video Bunny", + "bunny_video_library_form_placeholder": "Elija una biblioteca de video", + "bunny_video_library_form_cancel": "Cancelar", + "bunny_video_library_form_connect": "Conectar la biblioteca", + "bunny_video_library_form_error_select": "Por favor, seleccione una biblioteca de video.", + "bunny_video_library_form_error_required": "Requerido", + "webhook_list_actions_edit": "Editar", + "webhook_list_actions_delete": "Eliminar", + "webhook_list_dialog_title": "Escuchar eventos de Nivo", + "webhook_list_dialog_description": "Configure su endpoint de webhook para recibir eventos en vivo de Nivo.", + "webhook_list_delete_confirmation": "¿Está seguro?", + "webhook_list_delete_detail": "Esta acción no se puede deshacer y el webhook será eliminado permanentemente del servidor.", + "webhook_list_delete_events": "Este webhook está escuchando los siguientes eventos:", + "webhook_list_delete_cancel": "Cancelar", + "webhook_list_events": "evento(s)", + "webhook_list_event_active": "ACTIVO", + "webhooks_signing_key_copied": "¡Clave de firma copiada al portapapeles!", + "error_deleting_webhook": "¡Ops! Algo salió mal.", + "error_deleting_webhook_desc": "Ocurrió un error al intentar eliminar el webhook.", + "webhook_logs_layout_title": "Registros de Webhook", + "webhook_logs_filters_placeholder_filter_webhooks": "Filtrar webhooks...", + "webhook_logs_filters_placeholder_trigger": "Disparador", + "webhook_logs_filters_button_filter": "Filtrar", + "webhook_logs_filters_button_reset": "Restablecer", + "webhook_logs_date_picker_placeholder": "Elija una fecha", + "webhook_logs_date_picker_select": "Seleccionar", + "webhook_logs_date_picker_today": "Hoy", + "webhook_logs_date_picker_tomorrow": "Mañana", + "webhook_logs_date_picker_in_3_days": "En 3 días", + "webhook_logs_date_picker_in_a_week": "En una semana", + "webhook_logs_list_time": "Hora", + "webhook_logs_list_status": "Estado", + "webhook_logs_list_destination": "Destino", + "webhook_logs_list_trigger": "Disparador", + "webhook_logs_list_request": "Solicitud", + "webhook_logs_list_load_more": "Cargar más registros", + "webhook_logs_details_execution_id": "ID de Ejecución", + "webhook_logs_details_status": "Estado", + "webhook_logs_details_error_reason": "Razón del Error", + "webhook_logs_details_number_of_retries": "Número de Intentos", + "webhook_logs_details_http_status": "Estado HTTP", + "webhook_logs_details_started_at": "Iniciado a las", + "webhook_logs_details_finished_at": "Finalizado a las", + "webhook_logs_details_request_headers": "Encabezados de Solicitud", + "webhook_logs_details_request_body": "Cuerpo de la Solicitud", + "webhook_logs_details_response_body": "Cuerpo de la Respuesta", + "webhook_logs_details_success": "Éxito", + "webhook_logs_details_error": "Error", + "webhook_logs_details_pending": "Pendiente", + "header_nivo_alt": "Nivo", + "header_nav_dashboard": "Tablero de Control", + "header_nav_uploads": "Subidas", + "header_button_upload_video": "Subir video", + "search_item_by": "por", + "search_item_author_alt": "Autor", + "search_button_text": "Buscar videos...", + "search_input_placeholder": "Buscar videos...", + "search_recent_uploads": "Subidas recientes", + "search_loading_videos": "Cargando videos...", + "search_no_results_found": "No se encontraron resultados.", + "theme_switcher_toggle_theme": "Alternar tema", + "theme_switcher_light": "Claro", + "theme_switcher_dark": "Oscuro", + "theme_switcher_system": "Sistema", + "user_profile_button_my_account": "Mi Cuenta", + "user_profile_button_settings": "Configuraciones", + "user_profile_button_developers": "Desarrolladores", + "user_profile_button_sign_out": "Salir", + "views_count_title": "Visualizaciones", + "views_count_subtitle": "(últimos 7 días)", + "views_count_setup_message": "Configure su cuenta Bunny", + "views_count_instruction": "para ver métricas", + "storage_title": "Almacenamiento", + "storage_increase_last_month": "en los últimos 30 días", + "total_count_title": "Videos", + "total_count_last_month": "en los últimos 30 días", + "upload_no_bunny_account": "Configure su", + "upload_bunny_account_link": "integración de cuenta Bunny", + "upload_bunny_account_integration": "antes de subir videos a Nivo.", + "upload_list_at_least_one_tag": "Se requiere al menos una etiqueta.", + "upload_list_error_title": "¡Ops! Algo salió mal.", + "upload_list_error_description": "Ocurrió un error al intentar crear el lote de subidas. Si el problema persiste, comuníquese con un administrador.", + "header_upload_title": "Subir", + "header_ai_tools": "Herramientas IA", + "header_generate_titles": "Generar títulos", + "header_clear_all": "Limpiar todo", + "alert_dialog_title": "¿Está seguro?", + "alert_dialog_description": "Esta acción no se puede deshacer y todas las subidas serán eliminadas del servidor.", + "alert_dialog_cancel": "Cancelar", + "alert_dialog_proceed": "Proceder", + "header_create_all": "Crear todo", + "upload_drop_area_drop_here": "Suelte los videos aquí", + "upload_drop_area_accept_mp4": "Solo se acepta MP4.", + "uploads_warning_on_close": "Tiene subidas pendientes. ¿Realmente desea salir y cancelar TODAS las subidas?", + "uploads_table_head_info": "Información", + "uploads_table_head_metadata": "Metadatos", + "uploads_table_head_upload_video": "Subir", + "uploads_table_head_conversion": "Conversión", + "uploads_table_head_upload_audio": "Subir", + "uploads_table_head_actions": "Acciones", + "uploads_table_action_delete": "Eliminar", + "uploads_table_no_videos": "Ningún video seleccionado.", + "audio_conversion_error": "Error", + "audio_conversion_retry": "Intentar nuevamente", + "audio_conversion_complete": "Completo", + "audio_conversion_waiting": "Esperando...", + "audio_conversion_tooltip": "Como realizamos la conversión de audio en el navegador, cada video se convierte individualmente a través de una cola.", + "audio_upload_waiting": "Esperando...", + "audio_upload_error": "Error", + "audio_upload_retry": "Intentar nuevamente", + "audio_upload_complete": "Completo", + "video_upload_waiting": "Esperando...", + "video_upload_error": "Error", + "video_upload_retry": "Intentar nuevamente", + "video_upload_complete": "Completo", + "upload_page_title": "Subir", + "layout_uploads_title": "Subidas", + "loading_video": "Video", + "loading_duration": "Duración", + "loading_size": "Tamaño", + "loading_transcription": "Transcripción", + "loading_external_id": "ID Externo", + "loading_uploaded_at": "Subido en", + "uploads_video": "Video", + "uploads_duration": "Duración", + "uploads_size": "Tamaño", + "uploads_external": "Externo", + "uploads_copy": "Copiar", + "uploads_processing": "Procesando", + "uploads_by": "por", + "uploads_no_results": "No se encontraron resultados.", + "uploads_filters_placeholder_title": "Filtrar videos...", + "uploads_filters_button_filter": "Filtrar", + "uploads_filters_button_reset": "Restablecer", + "uploads_pagination_rows_per_page": "Filas por página", + "uploads_pagination_page_info": "Página", + "uploads_pagination_page_info_separator": "de", + "uploads_pagination_go_to_first_page": "Ir a la primera página", + "uploads_pagination_go_to_previous_page": "Ir a la página anterior", + "uploads_pagination_go_to_next_page": "Ir a la próxima página", + "uploads_pagination_go_to_last_page": "Ir a la última página", + "batch_upload_list_video_column": "Video", + "batch_upload_list_duration_column": "Duración", + "batch_upload_list_size_column": "Tamaño", + "batch_upload_list_transcription_column": "Transcripción", + "batch_upload_list_external_id_column": "ID Externo", + "batch_upload_list_processing_status": "Procesando", + "batch_upload_list_copy_button": "Copiar", + "batch_upload_list_by": "por", + "batch_upload_list_no_results": "Sin resultados.", + "batch_page_header_title": "Detalles del Lote", + "batch_page_refresh_notice": "Esta página se actualiza cada 15s", + "batch_page_generate_metadata_title": "Lote", + "video_page_edit_video_title": "Editar video", + "video_page_download_mp4": "Descargar MP4", + "video_page_download_mp3": "Descargar MP3", + "video_page_overview_tab": "Visión general", + "video_page_webhooks_tab": "Webhooks", + "overview_edit_video_title": "Editar video", + "overview_update_video_details": "Actualizar detalles del video", + "video_form_toast_error": "¡Oh no! Algo salió mal.", + "video_form_toast_error_description": "Ocurrió un error al intentar guardar el video.", + "video_form_title_label": "Título", + "video_form_title_synced": "(sincronizado con Skylab)", + "video_form_tags_label": "Etiquetas", + "video_form_description_label": "Descripción", + "video_form_description_synced": "(sincronizado con Skylab)", + "video_form_external_status_id_label": "Estado/ID Externo", + "video_form_external_status_waiting": "esperando", + "video_form_external_id_not_generated": "(aún no generado)", + "video_form_commit_reference_label": "Referencia del commit", + "video_form_commit_reference_synced": "(sincronizado con Skylab)", + "video_form_save_button": "Guardar", + "video_form_saved_message": "¡Guardado!", + "edit_video_form_error_valid_title": "Por favor, proporcione un título válido.", + "edit_video_form_error_valid_github_url": "Por favor, proporcione una URL válida de Github.", + "edit_video_form_error_tag_required": "Se requiere al menos una etiqueta.", + "video_description_placeholder": "Ingrese la descripción del video aquí.", + "generate_with_ai_button": "Generar con IA", + "tags_label": "Etiquetas", + "selected_label": "seleccionado", + "tags_placeholder": "Buscar etiquetas", + "create_new_label": "Crear nuevo", + "loading_tags_label": "Cargando etiquetas...", + "no_tags_found_label": "Ninguna etiqueta encontrada.", + "apply_to_all_label": "Aplicar a todos", + "new_tag_form_error_required": "El nombre de la etiqueta es obligatorio.", + "new_tag_form_error_format": "Use solo letras y guiones.", + "create_tag_error": "¡Uh oh! Algo salió mal.", + "create_tag_error_description": "Ocurrió un error al intentar crear la etiqueta. Tal vez esté intentando crear una etiqueta duplicada.", + "create_new_tag": "Crear nueva etiqueta", + "create_new_tag_description_1": "Recuerde evitar la creación de etiquetas innecesariamente y mantener un máximo de", + "create_new_tag_description_2": "3 etiquetas por video", + "create_new_tag_description_3": "Use los", + "create_new_tag_description_4": "siguientes ejemplos", + "example_tag_product": "referencia al producto", + "example_tag_technology": "referencia a la tecnología principal", + "example_tag_course": "referencia al curso", + "new_tag_label": "Nueva etiqueta", + "new_tag_placeholder": "su-nueva-etiqueta", + "cancel_button": "Cancelar", + "create_button": "Crear", + "webhook_table_head_webhook": "Webhook", + "webhook_table_head_status": "Estado", + "webhook_table_head_executed_at": "Ejecutado En", + "webhook_table_head_duration": "Duración", + "webhook_table_head_metadata": "Metadatos", + "webhook_status_running": "En ejecución", + "webhook_status_success": "Éxito", + "webhook_status_error": "Error", + "webhook_no_results": "Sin resultados", + "transcription_card_sync_video_clicks": "Sincronizar video y clics", + "transcription_card_button_save": "Guardar", + "transcription_skeleton_generating": "La transcripción está siendo generada", + "transcription_skeleton_auto_refresh": "La página se actualizará automáticamente...", + "metadata_tooltip_request_body": "Cuerpo de la solicitud enviado al webhook", + "copy_button_copied": "¡Copiado!", + "intercepted_sheet_close": "Cerrar", + "transcription_preview_view_transcription": "Ver transcripción", + "transcription_preview_title": "Transcripción", + "transcription_preview_button_review": "Revisar", + "upload_item_actions_toast_error": "¡Uh oh! Algo salió mal.", + "upload_item_actions_toast_error_description": "Ocurrió un error al intentar eliminar el video. Si el error persiste, comuníquese con un administrador.", + "upload_item_actions_open_menu": "Abrir menú", + "upload_item_actions_edit": "Editar", + "upload_item_actions_view_batch": "Ver lote", + "upload_item_actions_delete": "Eliminar", + "upload_item_actions_confirm_title": "¿Está seguro?", + "upload_item_actions_confirm_description": "Esta acción no se puede deshacer y el video se eliminará permanentemente del servidor.", + "upload_item_actions_confirm_note_1": "Esto ", + "upload_item_actions_confirm_note_2": "permanentemente", + "upload_item_actions_confirm_step_1": "Eliminar el MP4, MP3 y subtítulos del almacenamiento;", + "upload_item_actions_confirm_step_2": "Eliminar el video en el proveedor externo;", + "upload_item_actions_confirm_step_3": "Eliminar los videos en cualquier integración externa;", + "upload_item_actions_cancel": "Cancelar" +} diff --git a/packages/i18n/dictionaries/pt.json b/packages/i18n/dictionaries/pt.json new file mode 100644 index 0000000..35409ec --- /dev/null +++ b/packages/i18n/dictionaries/pt.json @@ -0,0 +1,351 @@ +{ + "dashboard_heading": "Painel de Controle", + "dashboard_page_title": "Painel de Controle", + "languages_en": "Inglês", + "languages_pt": "Português", + "languages_es": "Espanhol", + "language_form_heading": "Configurações de Idioma", + "language_form_description": "Esta configuração determina o idioma usado em todo o aplicativo.", + "language_form_label": "Configuração Atual", + "language_form_submit": "Salvar Alterações", + "language_form_no_language_found": "Nenhum idioma encontrado.", + "language_form_search_placeholder": "Buscar idioma...", + "language_page_title": "Configurações de Idioma", + "language_page_choose_language": "Escolher Idioma", + "language_page_description": "Selecione o idioma de sua preferência na lista abaixo.", + "profile_page_title": "Configurações de Perfil", + "profile_title": "Perfil", + "profile_description": "Atualize as informações do seu perfil.", + "profile_label_avatar": "Avatar", + "profile_label_name": "Nome", + "profile_label_email": "E-mail", + "profile_info_update_not_allowed": "Você ainda não pode atualizar seu perfil.", + "error_invalid_session_data": "Dados de sessão inválidos.", + "settings_aside_title": "Configurações", + "settings_aside_general": "Geral", + "settings_aside_profile": "Perfil", + "settings_aside_organization": "Organização", + "settings_aside_developers": "Desenvolvedores", + "settings_aside_api_webhooks": "API & Webhooks", + "settings_aside_webhook_logs": "Registros de Webhooks", + "settings_aside_preferences": "Preferências", + "settings_aside_language": "Idioma", + "organization_page_title": "Configurações da Organização", + "organization_title": "Organização", + "organization_description": "Atualize as informações da sua organização.", + "organization_label_name": "Nome", + "organization_label_domain": "Domínio", + "organization_domain_description": "Todos os usuários que se autenticam com este domínio serão automaticamente adicionados à sua organização.", + "organization_label_bunny_integration": "Integração Bunny", + "organization_label_members": "Membros", + "organization_member_role": "Administrador", + "organization_info_update_not_allowed": "Você ainda não pode atualizar o perfil da sua organização.", + "connect_bunny_account_button_connected": "Conta conectada", + "connect_bunny_account_button_connect": "Conectar conta", + "connect_bunny_account_dialog_title": "Conectar conta Bunny", + "connect_bunny_account_dialog_description": "Isso permitirá que você faça upload de novos vídeos no Nivo.", + "connect_bunny_account_input_placeholder": "Conecte sua conta Bunny para fazer upload no Nivo", + "connect_bunny_account_fetch_error": "Falha ao buscar a biblioteca de vídeos Bunny, verifique a chave API fornecida.", + "connect_bunny_account_connection_success": "Conectado ao Bunny!", + "connect_bunny_account_connection_success_description": "Agora você pode começar a fazer upload de vídeos.", + "connect_bunny_account_set_error": "Falha ao configurar a Biblioteca de Vídeo Bunny, tente novamente.", + "bunny_api_key_form_label": "Chave API Bunny", + "bunny_api_key_form_error": "Por favor, forneça uma Chave de API Bunny válida.", + "bunny_api_key_form_description": "A chave API pode ser encontrada na sua página de conta e será usada apenas UMA VEZ para que possamos buscar as bibliotecas de vídeos disponíveis.", + "bunny_api_key_form_cancel_button": "Cancelar", + "bunny_api_key_form_fetch_button": "Buscar vídeos", + "bunny_api_key_form_account_page": "página de conta", + "bunny_api_key_form_description_once": "UMA VEZ", + "bunny_api_key_form_description_part1": "A chave API pode ser encontrada na sua ", + "bunny_api_key_form_description_part2": " e será usada apenas ", + "bunny_api_key_form_description_part3": " para que possamos acessar as bibliotecas de vídeo disponíveis.", + "developers_settings_title": "Configurações para Desenvolvedores", + "developers_title": "Desenvolvedores", + "developers_description": "Integre com o Nivo usando Webhooks ou nossa API.", + "api_url_label": "URL da API", + "api_key_label": "Chave da API", + "api_url_default": "https://nivo.video/api/v1", + "api_url_description": "Acesse nossa documentação para entender como usar nossa API.", + "api_key_description": "Clique para copiar", + "webhook_logs_button": "Registros de Webhooks", + "api_key_copy_button": "Clique para copiar", + "webhooks_list_loading_url": "URL", + "webhooks_list_loading_triggers": "Gatilhos", + "webhooks_list_loading_events": "Eventos", + "webhooks_list_loading_events_last_7_days": "(últimos 7 dias)", + "webhooks_list_loading_success_rate": "Sucesso", + "webhooks_list_loading_success_rate_last_7_days": "(últimos 7 dias)", + "webhooks_list_loading_status": "Estado", + "webhooks_label": "Webhooks", + "webhooks_description": "Ouça os eventos do Nivo em sua aplicação.", + "webhooks_page_info": "Página {page} de {pageCount}", + "webhooks_previous_page": "Ir para a página anterior", + "webhooks_next_page": "Ir para a próxima página", + "webhooks_no_created": "Nenhum webhook criado.", + "webhooks_signing_key": "Copiar Chave", + "create_webhook_button": "Adicionar webhook", + "create_webhook_title": "Ouça eventos do Nivo", + "create_webhook_description": "Configure seu endpoint de webhook para receber eventos ao vivo do Nivo.", + "webhook_form_label_url": "URL do Endpoint", + "webhook_form_placeholder_url": "https://", + "webhook_form_error_valid_url": "Insira uma URL válida.", + "webhook_form_error_select_trigger": "Selecione pelo menos um gatilho de evento.", + "webhook_form_button_cancel": "Cancelar", + "webhook_form_button_save": "Salvar", + "webhook_form_save_success": "Webhook salvo com sucesso!", + "webhook_form_save_success_description": "Agora seu endpoint está ouvindo os eventos do Nivo!", + "webhook_form_save_error": "Ops! Algo deu errado.", + "webhook_form_save_error_description": "Ocorreu um erro ao tentar salvar o webhook.", + "webhook_form_invalid_url": "Insira uma URL válida.", + "webhook_form_select_trigger": "Selecione pelo menos um gatilho de evento.", + "webhook_form_save_button": "Salvar", + "webhook_form_success_message": "Webhook salvo com sucesso!", + "webhook_form_error_message": "Ops! Algo deu errado.", + "webhook_triggers_input_all_events": "Você deseja que este webhook ouça todos os eventos?", + "webhook_triggers_select_all_button": "ouvir todos os eventos", + "webhook_triggers_error": "Selecione pelo menos um gatilho.", + "trigger_upload_created_desc": "Ocorre sempre que um vídeo é carregado.", + "trigger_upload_transcription_created_desc": "Ocorre sempre que uma transcrição é gerada.", + "trigger_upload_updated_desc": "Ocorre sempre que um vídeo é atualizado.", + "trigger_upload_deleted_desc": "Ocorre sempre que um vídeo é excluído.", + "trigger_tag_created_desc": "Ocorre sempre que uma etiqueta é criada.", + "trigger_tag_deleted_desc": "Ocorre sempre que uma etiqueta é excluída.", + "webhook_docs_button_label": "Documentação", + "webhook_docs_title": "Eventos de Webhook", + "webhook_docs_description": "Ouça eventos que ocorrem dentro do Nivo em seu aplicativo.", + "bunny_video_library_form_label": "Biblioteca de Vídeo Bunny", + "bunny_video_library_form_placeholder": "Escolha uma biblioteca de vídeo", + "bunny_video_library_form_cancel": "Cancelar", + "bunny_video_library_form_connect": "Conectar a biblioteca", + "bunny_video_library_form_error_select": "Por favor, selecione uma biblioteca de vídeo.", + "bunny_video_library_form_error_required": "Obrigatório", + "webhook_list_actions_edit": "Editar", + "webhook_list_actions_delete": "Excluir", + "webhook_list_dialog_title": "Ouvir eventos do Nivo", + "webhook_list_dialog_description": "Configure seu endpoint de webhook para receber eventos ao vivo do Nivo.", + "webhook_list_delete_confirmation": "Você tem certeza?", + "webhook_list_delete_detail": "Esta ação não pode ser desfeita e o webhook será excluído permanentemente do servidor.", + "webhook_list_delete_events": "Este webhook está ouvindo os seguintes eventos:", + "webhook_list_delete_cancel": "Cancelar", + "webhook_list_events": "evento(s)", + "webhook_list_event_active": "ATIVO", + "webhooks_signing_key_copied": "Chave de assinatura copiada para a área de transferência!", + "error_deleting_webhook": "Ops! Algo deu errado.", + "error_deleting_webhook_desc": "Ocorreu um erro ao tentar deletar o webhook.", + "webhook_logs_layout_title": "Registros de Webhook", + "webhook_logs_filters_placeholder_filter_webhooks": "Filtrar webhooks...", + "webhook_logs_filters_placeholder_trigger": "Gatilho", + "webhook_logs_filters_button_filter": "Filtrar", + "webhook_logs_filters_button_reset": "Resetar", + "webhook_logs_date_picker_placeholder": "Escolha uma data", + "webhook_logs_date_picker_select": "Selecionar", + "webhook_logs_date_picker_today": "Hoje", + "webhook_logs_date_picker_tomorrow": "Amanhã", + "webhook_logs_date_picker_in_3_days": "Em 3 dias", + "webhook_logs_date_picker_in_a_week": "Em uma semana", + "webhook_logs_list_time": "Hora", + "webhook_logs_list_status": "Status", + "webhook_logs_list_destination": "Destino", + "webhook_logs_list_trigger": "Gatilho", + "webhook_logs_list_request": "Requisição", + "webhook_logs_list_load_more": "Carregar mais registros", + "webhook_logs_details_execution_id": "ID de Execução", + "webhook_logs_details_status": "Estado", + "webhook_logs_details_error_reason": "Motivo do Erro", + "webhook_logs_details_number_of_retries": "Número de Tentativas", + "webhook_logs_details_http_status": "Estado HTTP", + "webhook_logs_details_started_at": "Início às", + "webhook_logs_details_finished_at": "Fim às", + "webhook_logs_details_request_headers": "Cabeçalhos de Requisição", + "webhook_logs_details_request_body": "Corpo da Requisição", + "webhook_logs_details_response_body": "Corpo da Resposta", + "webhook_logs_details_success": "Sucesso", + "webhook_logs_details_error": "Erro", + "webhook_logs_details_pending": "Pendente", + "header_nivo_alt": "Nivo", + "header_nav_dashboard": "Painel de Controle", + "header_nav_uploads": "Envios", + "header_button_upload_video": "Enviar vídeo", + "search_item_by": "por", + "search_item_author_alt": "Autor", + "search_button_text": "Pesquisar vídeos...", + "search_input_placeholder": "Pesquisar vídeos...", + "search_recent_uploads": "Envios recentes", + "search_loading_videos": "Carregando vídeos...", + "search_no_results_found": "Nenhum resultado encontrado.", + "theme_switcher_toggle_theme": "Alternar tema", + "theme_switcher_light": "Claro", + "theme_switcher_dark": "Escuro", + "theme_switcher_system": "Sistema", + "user_profile_button_my_account": "Minha Conta", + "user_profile_button_settings": "Configurações", + "user_profile_button_developers": "Desenvolvedores", + "user_profile_button_sign_out": "Sair", + "views_count_title": "Visualizações", + "views_count_subtitle": "(últimos 7 dias)", + "views_count_setup_message": "Configure sua conta Bunny", + "views_count_instruction": "para ver métricas", + "storage_title": "Armazenamento", + "storage_increase_last_month": "nos últimos 30 dias", + "total_count_title": "Vídeos", + "total_count_last_month": "nos últimos 30 dias", + "upload_no_bunny_account": "Configure sua", + "upload_bunny_account_link": "integração da conta Bunny", + "upload_bunny_account_integration": "antes de fazer upload de vídeos no Nivo.", + "upload_list_at_least_one_tag": "É necessário pelo menos uma tag.", + "upload_list_error_title": "Ops! Algo deu errado.", + "upload_list_error_description": "Ocorreu um erro ao tentar criar o lote de uploads. Se o problema persistir, entre em contato com um administrador.", + "header_upload_title": "Carregar", + "header_ai_tools": "Ferramentas de IA", + "header_generate_titles": "Gerar títulos", + "header_clear_all": "Limpar tudo", + "alert_dialog_title": "Tem certeza?", + "alert_dialog_description": "Esta ação não pode ser desfeita e todos os uploads serão deletados do servidor.", + "alert_dialog_cancel": "Cancelar", + "alert_dialog_proceed": "Prosseguir", + "header_create_all": "Criar todos", + "upload_drop_area_drop_here": "Solte os vídeos aqui", + "upload_drop_area_accept_mp4": "Aceita apenas MP4.", + "uploads_warning_on_close": "Você tem uploads pendentes. Você realmente deseja sair e cancelar TODOS os uploads?", + "uploads_table_head_info": "Informação", + "uploads_table_head_metadata": "Metadados", + "uploads_table_head_upload_video": "Carregar", + "uploads_table_head_conversion": "Conversão", + "uploads_table_head_upload_audio": "Carregar", + "uploads_table_head_actions": "Ações", + "uploads_table_action_delete": "Excluir", + "uploads_table_no_videos": "Nenhum vídeo selecionado.", + "audio_conversion_error": "Erro", + "audio_conversion_retry": "Tentar novamente", + "audio_conversion_complete": "Completo", + "audio_conversion_waiting": "Aguardando...", + "audio_conversion_tooltip": "Como realizamos a conversão de áudio no navegador, cada vídeo é convertido individualmente através de uma fila.", + "audio_upload_waiting": "Aguardando...", + "audio_upload_error": "Erro", + "audio_upload_retry": "Tentar novamente", + "audio_upload_complete": "Completo", + "video_upload_waiting": "Aguardando...", + "video_upload_error": "Erro", + "video_upload_retry": "Tentar novamente", + "video_upload_complete": "Completo", + "upload_page_title": "Enviar", + "layout_uploads_title": "Envios", + "loading_video": "Vídeo", + "loading_duration": "Duração", + "loading_size": "Tamanho", + "loading_transcription": "Transcrição", + "loading_external_id": "ID Externo", + "loading_uploaded_at": "Carregado em", + "uploads_video": "Vídeo", + "uploads_duration": "Duração", + "uploads_size": "Tamanho", + "uploads_external": "Externo", + "uploads_copy": "Copiar", + "uploads_processing": "Processando", + "uploads_by": "por", + "uploads_no_results": "Nenhum resultado encontrado.", + "uploads_filters_placeholder_title": "Filtrar vídeos...", + "uploads_filters_button_filter": "Filtrar", + "uploads_filters_button_reset": "Resetar", + "uploads_pagination_rows_per_page": "Linhas por página", + "uploads_pagination_page_info": "Página", + "uploads_pagination_page_info_separator": "de", + "uploads_pagination_go_to_first_page": "Ir para a primeira página", + "uploads_pagination_go_to_previous_page": "Ir para a página anterior", + "uploads_pagination_go_to_next_page": "Ir para a próxima página", + "uploads_pagination_go_to_last_page": "Ir para a última página", + "batch_upload_list_video_column": "Vídeo", + "batch_upload_list_duration_column": "Duração", + "batch_upload_list_size_column": "Tamanho", + "batch_upload_list_transcription_column": "Transcrição", + "batch_upload_list_external_id_column": "ID Externo", + "batch_upload_list_processing_status": "Processando", + "batch_upload_list_copy_button": "Copiar", + "batch_upload_list_by": "por", + "batch_upload_list_no_results": "Sem resultados.", + "batch_page_header_title": "Detalhes do Lote", + "batch_page_refresh_notice": "Esta página é atualizada a cada 15s", + "batch_page_generate_metadata_title": "Lote", + "video_page_edit_video_title": "Editar vídeo", + "video_page_download_mp4": "Baixar MP4", + "video_page_download_mp3": "Baixar MP3", + "video_page_overview_tab": "Visão geral", + "video_page_webhooks_tab": "Webhooks", + "overview_edit_video_title": "Editar vídeo", + "overview_update_video_details": "Atualizar detalhes do vídeo", + "video_form_toast_error": "Oh não! Algo deu errado.", + "video_form_toast_error_description": "Ocorreu um erro ao tentar salvar o vídeo.", + "video_form_title_label": "Título", + "video_form_title_synced": "(sincronizado com Skylab)", + "video_form_tags_label": "Tags", + "video_form_description_label": "Descrição", + "video_form_description_synced": "(sincronizado com Skylab)", + "video_form_external_status_id_label": "Status/ID Externo", + "video_form_external_status_waiting": "esperando", + "video_form_external_id_not_generated": "(ainda não gerado)", + "video_form_commit_reference_label": "Referência do commit", + "video_form_commit_reference_synced": "(sincronizado com Skylab)", + "video_form_save_button": "Salvar", + "video_form_saved_message": "Salvo!", + "edit_video_form_error_valid_title": "Por favor, forneça um título válido.", + "edit_video_form_error_valid_github_url": "Por favor, forneça um URL válido do Github.", + "edit_video_form_error_tag_required": "Pelo menos uma tag é necessária.", + "video_description_placeholder": "Insira a descrição do vídeo aqui.", + "generate_with_ai_button": "Gerar com IA", + "tags_label": "Etiquetas", + "selected_label": "selecionado", + "tags_placeholder": "Pesquisar etiquetas", + "create_new_label": "Criar novo", + "loading_tags_label": "Carregando etiquetas...", + "no_tags_found_label": "Nenhuma etiqueta encontrada.", + "apply_to_all_label": "Aplicar a todos", + "new_tag_form_error_required": "O nome da etiqueta é obrigatório.", + "new_tag_form_error_format": "Use apenas letras e hífens.", + "create_tag_error": "Uh oh! Algo deu errado.", + "create_tag_error_description": "Ocorreu um erro ao tentar criar a etiqueta. Talvez você esteja tentando criar uma etiqueta duplicada.", + "create_new_tag": "Criar nova etiqueta", + "create_new_tag_description_1": "Lembre-se de evitar a criação de etiquetas desnecessariamente e de manter um máximo de", + "create_new_tag_description_2": "3 etiquetas por vídeo", + "create_new_tag_description_3": "Use os", + "create_new_tag_description_4": "seguintes exemplos", + "example_tag_product": "referência ao produto", + "example_tag_technology": "referência à principal tecnologia", + "example_tag_course": "referência ao curso", + "new_tag_label": "Nova etiqueta", + "new_tag_placeholder": "sua-nova-etiqueta", + "cancel_button": "Cancelar", + "create_button": "Criar", + "webhook_table_head_webhook": "Webhook", + "webhook_table_head_status": "Status", + "webhook_table_head_executed_at": "Executado Em", + "webhook_table_head_duration": "Duração", + "webhook_table_head_metadata": "Metadados", + "webhook_status_running": "Em execução", + "webhook_status_success": "Sucesso", + "webhook_status_error": "Erro", + "webhook_no_results": "Sem resultados", + "transcription_card_sync_video_clicks": "Sincronizar vídeo e cliques", + "transcription_card_button_save": "Salvar", + "transcription_skeleton_generating": "A transcrição está sendo gerada", + "transcription_skeleton_auto_refresh": "A página será atualizada automaticamente...", + "metadata_tooltip_request_body": "Corpo da solicitação enviado para o webhook", + "copy_button_copied": "Copiado!", + "intercepted_sheet_close": "Fechar", + "transcription_preview_view_transcription": "Ver transcrição", + "transcription_preview_title": "Transcrição", + "transcription_preview_button_review": "Revisar", + "upload_item_actions_toast_error": "Uh oh! Algo deu errado.", + "upload_item_actions_toast_error_description": "Ocorreu um erro ao tentar excluir o vídeo. Se o erro persistir, entre em contato com um administrador.", + "upload_item_actions_open_menu": "Abrir menu", + "upload_item_actions_edit": "Editar", + "upload_item_actions_view_batch": "Ver lote", + "upload_item_actions_delete": "Excluir", + "upload_item_actions_confirm_title": "Você tem certeza?", + "upload_item_actions_confirm_description": "Esta ação não pode ser desfeita e o vídeo será permanentemente excluído do servidor.", + "upload_item_actions_confirm_note_1": "Isto ", + "upload_item_actions_confirm_note_2": "permanentemente", + "upload_item_actions_confirm_step_1": "Excluir o MP4, MP3 e legendas do armazenamento;", + "upload_item_actions_confirm_step_2": "Excluir o vídeo no provedor externo;", + "upload_item_actions_confirm_step_3": "Excluir os vídeos em qualquer integração externa;", + "upload_item_actions_cancel": "Cancelar" +} diff --git a/packages/i18n/get-dictionary-by-locale.ts b/packages/i18n/get-dictionary-by-locale.ts new file mode 100644 index 0000000..cd3b56b --- /dev/null +++ b/packages/i18n/get-dictionary-by-locale.ts @@ -0,0 +1,25 @@ +import { Locale } from './config' + +const dictionaries = { + en: () => import('./dictionaries/en.json').then((module) => module.default), + pt: () => import('./dictionaries/pt.json').then((module) => module.default), + es: () => import('./dictionaries/es.json').then((module) => module.default), +} + +export type Dictionary = Awaited> & { + [key: string]: string + [key: `languages_${Locale}`]: string +} + +export const getDictionaryByLocale = async (locale: Locale): Promise => { + const dictionary = await dictionaries[locale as keyof typeof dictionaries]() + return new Proxy(dictionary, { + get(target, property) { + if (property in target) { + return target[property as keyof typeof target] + } else { + return `{{${property.toString()}}}` + } + }, + }) as Dictionary +} diff --git a/packages/i18n/index.ts b/packages/i18n/index.ts new file mode 100644 index 0000000..e05318a --- /dev/null +++ b/packages/i18n/index.ts @@ -0,0 +1,12 @@ +import { i18nRouter } from 'next-i18n-router' + +import { config, Locale } from './config' +import { Dictionary, getDictionaryByLocale } from './get-dictionary-by-locale' + +export { + getDictionaryByLocale, + config as i18n, + i18nRouter +} + +export type { Locale, Dictionary } diff --git a/packages/i18n/package.json b/packages/i18n/package.json new file mode 100644 index 0000000..a2b14bb --- /dev/null +++ b/packages/i18n/package.json @@ -0,0 +1,27 @@ +{ + "name": "@nivo/i18n", + "main": "./index.ts", + "types": "./index.ts", + "version": "0.0.0", + "private": true, + "scripts": { + "lint": "eslint ." + }, + "dependencies": { + "next": "14.1.0", + "next-i18n-router": "^5.4.2", + "server-only-context": "^0.1.0" + }, + "devDependencies": { + "@nivo/eslint-config": "workspace:*", + "@nivo/prettier": "workspace:*", + "@nivo/tsconfig": "workspace:*" + }, + "eslintConfig": { + "root": true, + "extends": [ + "@nivo/eslint-config/lib" + ] + }, + "prettier": "@nivo/prettier" +} diff --git a/packages/i18n/tsconfig.json b/packages/i18n/tsconfig.json new file mode 100644 index 0000000..804844e --- /dev/null +++ b/packages/i18n/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@nivo/tsconfig/lib.json", + "include": [ + "." + ], + "exclude": [ + "dist", + "build", + "node_modules" + ], + "compilerOptions": { + "resolveJsonModule": true, + } +} diff --git a/packages/qstash/client.ts b/packages/qstash/client.ts index 0c8ad95..2c6a574 100644 --- a/packages/qstash/client.ts +++ b/packages/qstash/client.ts @@ -1,5 +1,5 @@ import { env } from '@nivo/env' -import { Client } from '@upstash/qstash/.' +import { Client } from '@upstash/qstash' export const qstash = new Client({ token: env.QSTASH_TOKEN, diff --git a/packages/trpc/routers/company-webhooks.ts b/packages/trpc/routers/company-webhooks.ts index 0a2b699..627a1bc 100644 --- a/packages/trpc/routers/company-webhooks.ts +++ b/packages/trpc/routers/company-webhooks.ts @@ -16,31 +16,31 @@ export const companyWebhooksRouter = createTRPCRouter({ const triggers = [ { trigger: 'upload.created', - description: 'Occurs whenever a video is uploaded.', + description: 'trigger_upload_created_desc', }, { trigger: 'upload.transcription.created', - description: 'Occurs whenever a transcription is generated.', + description: 'trigger_upload_transcription_created_desc', }, { trigger: 'upload.updated', - description: 'Occurs whenever a video is updated.', + description: 'trigger_upload_updated_desc', }, { trigger: 'upload.deleted', - description: 'Occurs whenever a video is deleted.', + description: 'trigger_upload_deleted_desc', }, { trigger: 'tag.created', - description: 'Occurs whenever a tag is created.', + description: 'trigger_tag_created_desc', }, { trigger: 'tag.deleted', - description: 'Occurs whenever a tag is deleted.', + description: 'trigger_tag_deleted_desc', }, - ] as const + ] as const; - return { triggers } + return { triggers }; }), getCompanyWebhooks: protectedProcedure diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cda7fe5..ef5840a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -19,7 +19,7 @@ importers: version: 3.509.0 '@hookform/resolvers': specifier: 3.3.4 - version: 3.3.4(react-hook-form@7.49.3) + version: 3.3.4(react-hook-form@7.49.3(react@18.2.0)) '@nivo/auth': specifier: workspace:* version: link:../../packages/auth @@ -44,6 +44,9 @@ importers: '@nivo/ffmpeg': specifier: workspace:* version: link:../../packages/ffmpeg + '@nivo/i18n': + specifier: workspace:* + version: link:../../packages/i18n '@nivo/openai': specifier: workspace:* version: link:../../packages/openai @@ -58,67 +61,67 @@ importers: version: link:../../packages/webhooks '@radix-ui/react-accordion': specifier: ^1.1.2 - version: 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-alert-dialog': specifier: 1.0.4 - version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-avatar': specifier: 1.0.3 - version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-checkbox': specifier: 1.0.4 - version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-dialog': specifier: 1.0.4 - version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-dropdown-menu': specifier: 2.0.5 - version: 2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-hover-card': specifier: 1.0.6 - version: 1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-icons': specifier: 1.3.0 version: 1.3.0(react@18.2.0) '@radix-ui/react-label': specifier: 2.0.2 - version: 2.0.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-popover': specifier: 1.0.6 - version: 1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-progress': specifier: 1.0.3 - version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-scroll-area': specifier: 1.0.4 - version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-select': specifier: 1.2.2 - version: 1.2.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.2.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-separator': specifier: 1.0.3 - version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-slot': specifier: 1.0.2 version: 1.0.2(@types/react@18.2.55)(react@18.2.0) '@radix-ui/react-switch': specifier: 1.0.3 - version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-tabs': specifier: 1.0.4 - version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-toast': specifier: 1.1.4 - version: 1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-toggle': specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-toggle-group': specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@radix-ui/react-tooltip': specifier: 1.0.6 - version: 1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tanstack/react-query': specifier: 5.28.8 version: 5.28.8(react@18.2.0) @@ -127,16 +130,16 @@ importers: version: 11.0.0-next.324(@trpc/server@11.0.0-next.324) '@trpc/next': specifier: 11.0.0-next.324 - version: 11.0.0-next.324(@tanstack/react-query@5.28.8)(@trpc/client@11.0.0-next.324)(@trpc/react-query@11.0.0-next.324)(@trpc/server@11.0.0-next.324)(next@14.1.0)(react-dom@18.2.0)(react@18.2.0) + version: 11.0.0-next.324(@tanstack/react-query@5.28.8(react@18.2.0))(@trpc/client@11.0.0-next.324(@trpc/server@11.0.0-next.324))(@trpc/react-query@11.0.0-next.324(@tanstack/react-query@5.28.8(react@18.2.0))(@trpc/client@11.0.0-next.324(@trpc/server@11.0.0-next.324))(@trpc/server@11.0.0-next.324)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@11.0.0-next.324)(next@14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@trpc/react-query': specifier: 11.0.0-next.324 - version: 11.0.0-next.324(@tanstack/react-query@5.28.8)(@trpc/client@11.0.0-next.324)(@trpc/server@11.0.0-next.324)(react-dom@18.2.0)(react@18.2.0) + version: 11.0.0-next.324(@tanstack/react-query@5.28.8(react@18.2.0))(@trpc/client@11.0.0-next.324(@trpc/server@11.0.0-next.324))(@trpc/server@11.0.0-next.324)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@trpc/server': specifier: 11.0.0-next.324 version: 11.0.0-next.324 ai: specifier: 2.1.17 - version: 2.1.17(react@18.2.0)(svelte@4.2.12)(vue@3.4.21) + version: 2.1.17(react@18.2.0)(svelte@4.2.12)(vue@3.4.21(typescript@5.3.3)) apexcharts: specifier: ^3.45.2 version: 3.48.0 @@ -148,13 +151,13 @@ importers: version: 2.2.3 cmdk: specifier: 0.2.0 - version: 0.2.0(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 0.2.0(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) dotenv-cli: specifier: 7.3.0 version: 7.3.0 drizzle-orm: specifier: ^0.29.3 - version: 0.29.5(@types/react@18.2.55)(react@18.2.0) + version: 0.29.5(@neondatabase/serverless@0.7.2)(@types/pg@8.6.6)(@types/react@18.2.55)(pg@8.11.3)(react@18.2.0) form-data: specifier: 4.0.0 version: 4.0.0 @@ -166,16 +169,16 @@ importers: version: 2.6.3(@types/react@18.2.55)(react@18.2.0) jotai-immer: specifier: 0.2.0 - version: 0.2.0(immer@10.0.3)(jotai@2.6.3)(react@18.2.0) + version: 0.2.0(immer@10.0.3)(jotai@2.6.3(@types/react@18.2.55)(react@18.2.0))(react@18.2.0) lucide-react: specifier: 0.319.0 version: 0.319.0(react@18.2.0) next: specifier: 14.1.0 - version: 14.1.0(react-dom@18.2.0)(react@18.2.0) + version: 14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) next-themes: specifier: 0.2.1 - version: 0.2.1(next@14.1.0)(react-dom@18.2.0)(react@18.2.0) + version: 0.2.1(next@14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) node-webvtt: specifier: 1.9.4 version: 1.9.4 @@ -199,7 +202,7 @@ importers: version: 7.49.3(react@18.2.0) recharts: specifier: 2.11.0 - version: 2.11.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + version: 2.11.0(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) server-only: specifier: ^0.0.1 version: 0.0.1 @@ -208,7 +211,7 @@ importers: version: 1.2.1 sonner: specifier: ^1.4.0 - version: 1.4.41(react-dom@18.2.0)(react@18.2.0) + version: 1.4.41(react-dom@18.2.0(react@18.2.0))(react@18.2.0) superjson: specifier: ^2.2.1 version: 2.2.1 @@ -296,12 +299,15 @@ importers: '@nivo/env': specifier: workspace:* version: link:../env + '@nivo/i18n': + specifier: workspace:* + version: link:../i18n drizzle-orm: specifier: ^0.29.3 - version: 0.29.5(@types/react@18.2.55)(react@18.2.0) + version: 0.29.5(@neondatabase/serverless@0.7.2)(@types/pg@8.6.6)(@types/react@18.2.55)(pg@8.11.3)(react@18.2.0) next-auth: specifier: beta - version: 5.0.0-beta.16(next@14.1.0)(react@18.2.0) + version: 5.0.0-beta.16(next@14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) devDependencies: '@nivo/eslint-config': specifier: workspace:* @@ -405,7 +411,7 @@ importers: version: 7.3.0 drizzle-orm: specifier: ^0.29.3 - version: 0.29.5(@neondatabase/serverless@0.7.2)(pg@8.11.3) + version: 0.29.5(@neondatabase/serverless@0.7.2)(@types/pg@8.6.6)(@types/react@18.2.55)(pg@8.11.3)(react@18.2.0) zod: specifier: ^3.22.4 version: 3.22.4 @@ -433,7 +439,7 @@ importers: dependencies: '@t3-oss/env-nextjs': specifier: 0.8.0 - version: 0.8.0(zod@3.22.4) + version: 0.8.0(typescript@5.3.3)(zod@3.22.4) zod: specifier: ^3.22.4 version: 3.22.4 @@ -473,6 +479,28 @@ importers: specifier: workspace:* version: link:../../config/tsconfig + packages/i18n: + dependencies: + next: + specifier: 14.1.0 + version: 14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + next-i18n-router: + specifier: ^5.4.2 + version: 5.4.2 + server-only-context: + specifier: ^0.1.0 + version: 0.1.0(react@18.2.0) + devDependencies: + '@nivo/eslint-config': + specifier: workspace:* + version: link:../../config/eslint-config + '@nivo/prettier': + specifier: workspace:* + version: link:../../config/prettier + '@nivo/tsconfig': + specifier: workspace:* + version: link:../../config/tsconfig + packages/openai: dependencies: '@nivo/env': @@ -548,7 +576,7 @@ importers: version: 11.0.0-next.324 drizzle-orm: specifier: ^0.29.3 - version: 0.29.5(@neondatabase/serverless@0.7.2)(pg@8.11.3) + version: 0.29.5(@neondatabase/serverless@0.7.2)(@types/pg@8.6.6)(@types/react@18.2.55)(pg@8.11.3)(react@18.2.0) superjson: specifier: ^2.2.1 version: 2.2.1 @@ -579,7 +607,7 @@ importers: version: link:../qstash drizzle-orm: specifier: ^0.29.3 - version: 0.29.5(@neondatabase/serverless@0.7.2)(pg@8.11.3) + version: 0.29.5(@neondatabase/serverless@0.7.2)(@types/pg@8.6.6)(@types/react@18.2.55)(pg@8.11.3)(react@18.2.0) jose: specifier: ^5.2.2 version: 5.2.3 @@ -599,41 +627,27 @@ importers: packages: - /@aashutoshrathi/word-wrap@1.2.6: + '@aashutoshrathi/word-wrap@1.2.6': resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - dev: true - /@alloc/quick-lru@5.2.0: + '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - /@ampproject/remapping@2.3.0: + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - dev: false - /@auth/core@0.25.1: + '@auth/core@0.25.1': resolution: {integrity: sha512-Xt/0oV0ItS38BUeqc98LVYspoXSUifWS48BeEzWXkkdQgLcXEFnF008+CDLyZvnyv/zF4vahwJHeR/J5SK9RaA==} peerDependencies: nodemailer: ^6.8.0 peerDependenciesMeta: nodemailer: optional: true - dependencies: - '@panva/hkdf': 1.1.1 - '@types/cookie': 0.6.0 - cookie: 0.6.0 - jose: 5.2.3 - oauth4webapi: 2.10.3 - preact: 10.11.3 - preact-render-to-string: 5.2.3(preact@10.11.3) - dev: false - /@auth/core@0.28.1: + '@auth/core@0.28.1': resolution: {integrity: sha512-gvp74mypYZADpTlfGRp6HE0G3pIHWvtJpy+KZ+8FvY0cmlIpHog+jdMOdd29dQtLtN25kF2YbfHsesCFuGUQbg==} peerDependencies: '@simplewebauthn/browser': ^9.0.1 @@ -646,642 +660,167 @@ packages: optional: true nodemailer: optional: true - dependencies: - '@panva/hkdf': 1.1.1 - '@types/cookie': 0.6.0 - cookie: 0.6.0 - jose: 5.2.3 - oauth4webapi: 2.10.3 - preact: 10.11.3 - preact-render-to-string: 5.2.3(preact@10.11.3) - dev: false - /@aws-crypto/crc32@3.0.0: + '@aws-crypto/crc32@3.0.0': resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.502.0 - tslib: 1.14.1 - dev: false - /@aws-crypto/crc32c@3.0.0: + '@aws-crypto/crc32c@3.0.0': resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.502.0 - tslib: 1.14.1 - dev: false - /@aws-crypto/ie11-detection@3.0.0: + '@aws-crypto/ie11-detection@3.0.0': resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} - dependencies: - tslib: 1.14.1 - dev: false - /@aws-crypto/sha1-browser@3.0.0: + '@aws-crypto/sha1-browser@3.0.0': resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} - dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-locate-window': 3.535.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - dev: false - /@aws-crypto/sha256-browser@3.0.0: + '@aws-crypto/sha256-browser@3.0.0': resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} - dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-locate-window': 3.535.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - dev: false - /@aws-crypto/sha256-js@3.0.0: + '@aws-crypto/sha256-js@3.0.0': resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.502.0 - tslib: 1.14.1 - dev: false - /@aws-crypto/supports-web-crypto@3.0.0: + '@aws-crypto/supports-web-crypto@3.0.0': resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} - dependencies: - tslib: 1.14.1 - dev: false - /@aws-crypto/util@3.0.0: + '@aws-crypto/util@3.0.0': resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} - dependencies: - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - dev: false - /@aws-sdk/client-s3@3.509.0: + '@aws-sdk/client-s3@3.509.0': resolution: {integrity: sha512-yeZJ1892Lj8S2zE0HerVt/ZJWaxemoEV3tzn5XDjExK6666cUajSwfmX036T51pEBwjqsTPz0ZJB1rlV7VFTIA==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha1-browser': 3.0.0 - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/core': 3.496.0 - '@aws-sdk/credential-provider-node': 3.509.0 - '@aws-sdk/middleware-bucket-endpoint': 3.502.0 - '@aws-sdk/middleware-expect-continue': 3.502.0 - '@aws-sdk/middleware-flexible-checksums': 3.502.0 - '@aws-sdk/middleware-host-header': 3.502.0 - '@aws-sdk/middleware-location-constraint': 3.502.0 - '@aws-sdk/middleware-logger': 3.502.0 - '@aws-sdk/middleware-recursion-detection': 3.502.0 - '@aws-sdk/middleware-sdk-s3': 3.502.0 - '@aws-sdk/middleware-signing': 3.502.0 - '@aws-sdk/middleware-ssec': 3.502.0 - '@aws-sdk/middleware-user-agent': 3.502.0 - '@aws-sdk/region-config-resolver': 3.502.0 - '@aws-sdk/signature-v4-multi-region': 3.502.0 - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-endpoints': 3.502.0 - '@aws-sdk/util-user-agent-browser': 3.502.0 - '@aws-sdk/util-user-agent-node': 3.502.0 - '@aws-sdk/xml-builder': 3.496.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.0 - '@smithy/eventstream-serde-browser': 2.2.0 - '@smithy/eventstream-serde-config-resolver': 2.2.0 - '@smithy/eventstream-serde-node': 2.2.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-blob-browser': 2.2.0 - '@smithy/hash-node': 2.2.0 - '@smithy/hash-stream-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/md5-js': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.0 - '@smithy/middleware-retry': 2.2.0 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.0 - '@smithy/util-defaults-mode-node': 2.3.0 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-stream': 2.2.0 - '@smithy/util-utf8': 2.3.0 - '@smithy/util-waiter': 2.2.0 - fast-xml-parser: 4.2.5 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - /@aws-sdk/client-sso-oidc@3.507.0(@aws-sdk/credential-provider-node@3.509.0): + '@aws-sdk/client-sso-oidc@3.507.0': resolution: {integrity: sha512-ms5CH2ImhqqCIbo5irxayByuPOlVAmSiqDVfjZKwgIziqng2bVgNZMeKcT6t0bmrcgScEAVnZwY7j/iZTIw73g==} engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.507.0 - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/core': 3.496.0 - '@aws-sdk/credential-provider-node': 3.509.0 - '@aws-sdk/middleware-host-header': 3.502.0 - '@aws-sdk/middleware-logger': 3.502.0 - '@aws-sdk/middleware-recursion-detection': 3.502.0 - '@aws-sdk/middleware-signing': 3.502.0 - '@aws-sdk/middleware-user-agent': 3.502.0 - '@aws-sdk/region-config-resolver': 3.502.0 - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-endpoints': 3.502.0 - '@aws-sdk/util-user-agent-browser': 3.502.0 - '@aws-sdk/util-user-agent-node': 3.502.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.0 - '@smithy/middleware-retry': 2.2.0 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.0 - '@smithy/util-defaults-mode-node': 2.3.0 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - /@aws-sdk/client-sso@3.507.0: + '@aws-sdk/client-sso@3.507.0': resolution: {integrity: sha512-pFeaKwqv4tXD6QVxWC2V4N62DUoP3bPSm/mCe2SPhaNjNsmwwA53viUHz/nwxIbs8w4vV44UQsygb0AgKm+HoQ==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.496.0 - '@aws-sdk/middleware-host-header': 3.502.0 - '@aws-sdk/middleware-logger': 3.502.0 - '@aws-sdk/middleware-recursion-detection': 3.502.0 - '@aws-sdk/middleware-user-agent': 3.502.0 - '@aws-sdk/region-config-resolver': 3.502.0 - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-endpoints': 3.502.0 - '@aws-sdk/util-user-agent-browser': 3.502.0 - '@aws-sdk/util-user-agent-node': 3.502.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.0 - '@smithy/middleware-retry': 2.2.0 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.0 - '@smithy/util-defaults-mode-node': 2.3.0 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - /@aws-sdk/client-sts@3.507.0(@aws-sdk/credential-provider-node@3.509.0): + '@aws-sdk/client-sts@3.507.0': resolution: {integrity: sha512-TOWBe0ApEh32QOib0R+irWGjd1F9wnhbGV5PcB9SakyRwvqwG5MKOfYxG7ocoDqLlaRwzZMidcy/PV8/OEVNKg==} engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.507.0 - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.496.0 - '@aws-sdk/credential-provider-node': 3.509.0 - '@aws-sdk/middleware-host-header': 3.502.0 - '@aws-sdk/middleware-logger': 3.502.0 - '@aws-sdk/middleware-recursion-detection': 3.502.0 - '@aws-sdk/middleware-user-agent': 3.502.0 - '@aws-sdk/region-config-resolver': 3.502.0 - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-endpoints': 3.502.0 - '@aws-sdk/util-user-agent-browser': 3.502.0 - '@aws-sdk/util-user-agent-node': 3.502.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.0 - '@smithy/middleware-retry': 2.2.0 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.0 - '@smithy/util-defaults-mode-node': 2.3.0 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - fast-xml-parser: 4.2.5 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - /@aws-sdk/core@3.496.0: + '@aws-sdk/core@3.496.0': resolution: {integrity: sha512-yT+ug7Cw/3eJi7x2es0+46x12+cIJm5Xv+GPWsrTFD1TKgqO/VPEgfDtHFagDNbFmjNQA65Ygc/kEdIX9ICX/A==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/core': 1.4.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.2.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/credential-provider-env@3.502.0: + '@aws-sdk/credential-provider-env@3.502.0': resolution: {integrity: sha512-KIB8Ae1Z7domMU/jU4KiIgK4tmYgvuXlhR54ehwlVHxnEoFPoPuGHFZU7oFn79jhhSLUFQ1lRYMxP0cEwb7XeQ==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/credential-provider-http@3.503.1: + '@aws-sdk/credential-provider-http@3.503.1': resolution: {integrity: sha512-rTdlFFGoPPFMF2YjtlfRuSgKI+XsF49u7d98255hySwhsbwd3Xp+utTTPquxP+CwDxMHbDlI7NxDzFiFdsoZug==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/property-provider': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/util-stream': 2.2.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/credential-provider-ini@3.507.0(@aws-sdk/credential-provider-node@3.509.0): + '@aws-sdk/credential-provider-ini@3.507.0': resolution: {integrity: sha512-2CnyduoR9COgd7qH1LPYK8UggGqVs8R4ASDMB5bwGxbg9ZerlStDiHpqvJNNg1k+VlejBr++utxfmHd236XgmQ==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-sts': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/credential-provider-env': 3.502.0 - '@aws-sdk/credential-provider-process': 3.502.0 - '@aws-sdk/credential-provider-sso': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/credential-provider-web-identity': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/types': 3.502.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - dev: false - /@aws-sdk/credential-provider-node@3.509.0: + '@aws-sdk/credential-provider-node@3.509.0': resolution: {integrity: sha512-uXT8wIq1k+m0mS/pC9U1cUTIjUB7/4PgxyiYsTxYPIULtWnQXltAlcPU3QzKTJMP60sqftRYZ2jFDLAVsipQxw==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/credential-provider-env': 3.502.0 - '@aws-sdk/credential-provider-http': 3.503.1 - '@aws-sdk/credential-provider-ini': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/credential-provider-process': 3.502.0 - '@aws-sdk/credential-provider-sso': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/credential-provider-web-identity': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/types': 3.502.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: false - /@aws-sdk/credential-provider-process@3.502.0: + '@aws-sdk/credential-provider-process@3.502.0': resolution: {integrity: sha512-fJJowOjQ4infYQX0E1J3xFVlmuwEYJAFk0Mo1qwafWmEthsBJs+6BR2RiWDELHKrSK35u4Pf3fu3RkYuCtmQFw==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/credential-provider-sso@3.507.0(@aws-sdk/credential-provider-node@3.509.0): + '@aws-sdk/credential-provider-sso@3.507.0': resolution: {integrity: sha512-6WBjou52QukFpDi4ezb19bcAx/bM8ge8qnJnRT02WVRmU6zFQ5yLD2fW1MFsbX3cwbey+wSqKd5FGE1Hukd5wQ==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-sso': 3.507.0 - '@aws-sdk/token-providers': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/types': 3.502.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - dev: false - /@aws-sdk/credential-provider-web-identity@3.507.0(@aws-sdk/credential-provider-node@3.509.0): + '@aws-sdk/credential-provider-web-identity@3.507.0': resolution: {integrity: sha512-f+aGMfazBimX7S06224JRYzGTaMh1uIhfj23tZylPJ05KxTVi5IO1RoqeI/uHLJ+bDOx+JHBC04g/oCdO4kHvw==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-sts': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/types': 3.502.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - dev: false - /@aws-sdk/middleware-bucket-endpoint@3.502.0: + '@aws-sdk/middleware-bucket-endpoint@3.502.0': resolution: {integrity: sha512-mUSP2DUcjhO5zM2b21CvZ9AqwI8DaAeZA6NYHOxWGTV9BUxHcdGWXEjDkcVj9CQ0gvNwTtw6B5L/q52rVAnZbw==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-arn-parser': 3.495.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/middleware-expect-continue@3.502.0: + '@aws-sdk/middleware-expect-continue@3.502.0': resolution: {integrity: sha512-DxfAuBVuPSt8as9xP57o8ks6ySVSjwO2NNNAdpLwk4KhEAPYEpHlf2yWYorYLrS+dDmwfYgOhRNoguuBdCu6ow==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/middleware-flexible-checksums@3.502.0: + '@aws-sdk/middleware-flexible-checksums@3.502.0': resolution: {integrity: sha512-kCt2zQDFumz/LnJJJOSd2GW4dr8oT8YMJKgxC/pph3aRXoSHXRwhrMbFnQ8swEE9vjywxtcED8sym0b0tNhhoA==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/crc32': 3.0.0 - '@aws-crypto/crc32c': 3.0.0 - '@aws-sdk/types': 3.502.0 - '@smithy/is-array-buffer': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/middleware-host-header@3.502.0: + '@aws-sdk/middleware-host-header@3.502.0': resolution: {integrity: sha512-EjnG0GTYXT/wJBmm5/mTjDcAkzU8L7wQjOzd3FTXuTCNNyvAvwrszbOj5FlarEw5XJBbQiZtBs+I5u9+zy560w==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/middleware-location-constraint@3.502.0: + '@aws-sdk/middleware-location-constraint@3.502.0': resolution: {integrity: sha512-fLRwPuTZvEWQkPjys03m3D6tYN4kf7zU6+c8mJxwvEg+yfBuv2RBsbd+Vn2bTisUjXvIg1kyBzONlpHoIyFneg==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/middleware-logger@3.502.0: + '@aws-sdk/middleware-logger@3.502.0': resolution: {integrity: sha512-FDyv6K4nCoHxbjLGS2H8ex8I0KDIiu4FJgVRPs140ZJy6gE5Pwxzv6YTzZGLMrnqcIs9gh065Lf6DjwMelZqaw==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/middleware-recursion-detection@3.502.0: + '@aws-sdk/middleware-recursion-detection@3.502.0': resolution: {integrity: sha512-hvbyGJbxeuezxOu8VfFmcV4ql1hKXLxHTe5FNYfEBat2KaZXVhc1Hg+4TvB06/53p+E8J99Afmumkqbxs2esUA==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/middleware-sdk-s3@3.502.0: + '@aws-sdk/middleware-sdk-s3@3.502.0': resolution: {integrity: sha512-GbGugrfyL5bNA/zw8iQll92yXBONfWSC8Ns00DtkOU1saPXp4/7WHtyyZGYdvPa73T1IsuZy9egpoYRBmRcd5Q==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-arn-parser': 3.495.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.2.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/middleware-signing@3.502.0: + '@aws-sdk/middleware-signing@3.502.0': resolution: {integrity: sha512-4hF08vSzJ7L6sB+393gOFj3s2N6nLusYS0XrMW6wYNFU10IDdbf8Z3TZ7gysDJJHEGQPmTAesPEDBsasGWcMxg==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/property-provider': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.2.0 - '@smithy/types': 2.12.0 - '@smithy/util-middleware': 2.2.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/middleware-ssec@3.502.0: + '@aws-sdk/middleware-ssec@3.502.0': resolution: {integrity: sha512-1nidVTIba6/aVjjzD/WNqWdzSyTrXOHO3Ddz2MGD8S1yGSrYz4iYaq4Bm/uosfdr8B1L0Ws0pjdRXrNfzSw/DQ==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/middleware-user-agent@3.502.0: + '@aws-sdk/middleware-user-agent@3.502.0': resolution: {integrity: sha512-TxbBZbRiXPH0AUxegqiNd9aM9zNSbfjtBs5MEfcBsweeT/B2O7K1EjP9+CkB8Xmk/5FLKhAKLr19b1TNoE27rw==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-endpoints': 3.502.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/region-config-resolver@3.502.0: + '@aws-sdk/region-config-resolver@3.502.0': resolution: {integrity: sha512-mxmsX2AGgnSM+Sah7mcQCIneOsJQNiLX0COwEttuf8eO+6cLMAZvVudH3BnWTfea4/A9nuri9DLCqBvEmPrilg==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - '@smithy/util-middleware': 2.2.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/s3-request-presigner@3.509.0: + '@aws-sdk/s3-request-presigner@3.509.0': resolution: {integrity: sha512-6EwvUtoObMZ2s7cx3zDJBgcfvqXQ8ABoDNXcSm3Y8/hdhJq8ovICwanTSWkx6ylFw+TmPt0Qo57U4SeCQd0qYA==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/signature-v4-multi-region': 3.502.0 - '@aws-sdk/types': 3.502.0 - '@aws-sdk/util-format-url': 3.502.0 - '@smithy/middleware-endpoint': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/signature-v4-multi-region@3.502.0: + '@aws-sdk/signature-v4-multi-region@3.502.0': resolution: {integrity: sha512-NpOXtUXH0ZAgnyI3Y3s2fPrgwbsWoNMwdoXdFZvH0eDzzX80tim7Yuy6dzVA5zrxSzOYs1xjcOhM+4CmM0QZiw==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/middleware-sdk-s3': 3.502.0 - '@aws-sdk/types': 3.502.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/token-providers@3.507.0(@aws-sdk/credential-provider-node@3.509.0): + '@aws-sdk/token-providers@3.507.0': resolution: {integrity: sha512-ehOINGjoGJc6Puzon7ev4bXckkaZx18WNgMTNttYJhj3vTpj5LPSQbI/5SS927bEbpGMFz1+hJ6Ra5WGfbTcEQ==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/client-sso-oidc': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) - '@aws-sdk/types': 3.502.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - dev: false - /@aws-sdk/types@3.502.0: + '@aws-sdk/types@3.502.0': resolution: {integrity: sha512-M0DSPYe/gXhwD2QHgoukaZv5oDxhW3FfvYIrJptyqUq3OnPJBcDbihHjrE0PBtfh/9kgMZT60/fQ2NVFANfa2g==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/util-arn-parser@3.495.0: + '@aws-sdk/util-arn-parser@3.495.0': resolution: {integrity: sha512-hwdA3XAippSEUxs7jpznwD63YYFR+LtQvlEcebPTgWR9oQgG9TfS+39PUfbnEeje1ICuOrN3lrFqFbmP9uzbMg==} engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - /@aws-sdk/util-endpoints@3.502.0: + '@aws-sdk/util-endpoints@3.502.0': resolution: {integrity: sha512-6LKFlJPp2J24r1Kpfoz5ESQn+1v5fEjDB3mtUKRdpwarhm3syu7HbKlHCF3KbcCOyahobvLvhoedT78rJFEeeg==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/types': 2.12.0 - '@smithy/util-endpoints': 1.2.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/util-format-url@3.502.0: + '@aws-sdk/util-format-url@3.502.0': resolution: {integrity: sha512-4+0zBD0ZIJqtTzSE6VRruRwUx3lG+is8Egv+LN99X5y7i6OdrS9ePYHbCJ9FxkzTThgbkUq6k2W7psEDYvn4VA==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/querystring-builder': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/util-locate-window@3.535.0: + '@aws-sdk/util-locate-window@3.535.0': resolution: {integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==} engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - /@aws-sdk/util-user-agent-browser@3.502.0: + '@aws-sdk/util-user-agent-browser@3.502.0': resolution: {integrity: sha512-v8gKyCs2obXoIkLETAeEQ3AM+QmhHhst9xbM1cJtKUGsRlVIak/XyyD+kVE6kmMm1cjfudHpHKABWk9apQcIZQ==} - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/types': 2.12.0 - bowser: 2.11.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/util-user-agent-node@3.502.0: + '@aws-sdk/util-user-agent-node@3.502.0': resolution: {integrity: sha512-9RjxpkGZKbTdl96tIJvAo+vZoz4P/cQh36SBUt9xfRfW0BtsaLyvSrvlR5wyUYhvRcC12Axqh/8JtnAPq//+Vw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1289,785 +828,500 @@ packages: peerDependenciesMeta: aws-crt: optional: true - dependencies: - '@aws-sdk/types': 3.502.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@aws-sdk/util-utf8-browser@3.259.0: + '@aws-sdk/util-utf8-browser@3.259.0': resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} - dependencies: - tslib: 2.6.2 - dev: false - /@aws-sdk/xml-builder@3.496.0: + '@aws-sdk/xml-builder@3.496.0': resolution: {integrity: sha512-GvEjh537IIeOw1ZkZuB37sV12u+ipS5Z1dwjEC/HAvhl5ac23ULtTr1/n+U1gLNN+BAKSWjKiQ2ksj8DiUzeyw==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@babel/helper-string-parser@7.24.1: + '@babel/helper-string-parser@7.24.1': resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} - dev: false - /@babel/helper-validator-identifier@7.22.20: + '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - dev: false - /@babel/parser@7.24.1: + '@babel/parser@7.24.1': resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: false - /@babel/runtime@7.24.1: + '@babel/runtime@7.24.1': resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - /@babel/types@7.24.0: + '@babel/types@7.24.0': resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: false - /@drizzle-team/studio@0.0.39: + '@drizzle-team/studio@0.0.39': resolution: {integrity: sha512-c5Hkm7MmQC2n5qAsKShjQrHoqlfGslB8+qWzsGGZ+2dHMRTNG60UuzalF0h0rvBax5uzPXuGkYLGaQ+TUX3yMw==} - dependencies: - superjson: 2.2.1 - dev: true - /@esbuild-kit/core-utils@3.3.2: + '@esbuild-kit/core-utils@3.3.2': resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} - dependencies: - esbuild: 0.18.20 - source-map-support: 0.5.21 - dev: true - /@esbuild-kit/esm-loader@2.6.5: + '@esbuild-kit/esm-loader@2.6.5': resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} - dependencies: - '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.7.3 - dev: true - /@esbuild/aix-ppc64@0.19.12: + '@esbuild/aix-ppc64@0.19.12': resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.18.20: + '@esbuild/android-arm64@0.18.20': resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.19.12: + '@esbuild/android-arm64@0.19.12': resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.18.20: + '@esbuild/android-arm@0.18.20': resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.19.12: + '@esbuild/android-arm@0.19.12': resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.18.20: + '@esbuild/android-x64@0.18.20': resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.19.12: + '@esbuild/android-x64@0.19.12': resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.18.20: + '@esbuild/darwin-arm64@0.18.20': resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.19.12: + '@esbuild/darwin-arm64@0.19.12': resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.18.20: + '@esbuild/darwin-x64@0.18.20': resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.19.12: + '@esbuild/darwin-x64@0.19.12': resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.18.20: + '@esbuild/freebsd-arm64@0.18.20': resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.19.12: + '@esbuild/freebsd-arm64@0.19.12': resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.18.20: + '@esbuild/freebsd-x64@0.18.20': resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.19.12: + '@esbuild/freebsd-x64@0.19.12': resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.18.20: + '@esbuild/linux-arm64@0.18.20': resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.19.12: + '@esbuild/linux-arm64@0.19.12': resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.18.20: + '@esbuild/linux-arm@0.18.20': resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.19.12: + '@esbuild/linux-arm@0.19.12': resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.18.20: + '@esbuild/linux-ia32@0.18.20': resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.19.12: + '@esbuild/linux-ia32@0.19.12': resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.18.20: + '@esbuild/linux-loong64@0.18.20': resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.19.12: + '@esbuild/linux-loong64@0.19.12': resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.18.20: + '@esbuild/linux-mips64el@0.18.20': resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.19.12: + '@esbuild/linux-mips64el@0.19.12': resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.18.20: + '@esbuild/linux-ppc64@0.18.20': resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.19.12: + '@esbuild/linux-ppc64@0.19.12': resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.18.20: + '@esbuild/linux-riscv64@0.18.20': resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.19.12: + '@esbuild/linux-riscv64@0.19.12': resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.18.20: + '@esbuild/linux-s390x@0.18.20': resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.19.12: + '@esbuild/linux-s390x@0.19.12': resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.18.20: + '@esbuild/linux-x64@0.18.20': resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.19.12: + '@esbuild/linux-x64@0.19.12': resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.18.20: + '@esbuild/netbsd-x64@0.18.20': resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.19.12: + '@esbuild/netbsd-x64@0.19.12': resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.18.20: + '@esbuild/openbsd-x64@0.18.20': resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.19.12: + '@esbuild/openbsd-x64@0.19.12': resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.18.20: + '@esbuild/sunos-x64@0.18.20': resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.19.12: + '@esbuild/sunos-x64@0.19.12': resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.18.20: + '@esbuild/win32-arm64@0.18.20': resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.19.12: + '@esbuild/win32-arm64@0.19.12': resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.18.20: + '@esbuild/win32-ia32@0.18.20': resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.19.12: + '@esbuild/win32-ia32@0.19.12': resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.18.20: + '@esbuild/win32-x64@0.18.20': resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.19.12: + '@esbuild/win32-x64@0.19.12': resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/regexpp@4.10.0: + '@eslint-community/regexpp@4.10.0': resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - /@eslint/eslintrc@2.1.4: + '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/js@8.57.0: + '@eslint/js@8.57.0': resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@ffmpeg/core@0.12.6: + '@ffmpeg/core@0.12.6': resolution: {integrity: sha512-PrjWBTfGn2WVn9T7wGnzfFwChbqWeZc7tM9vvJZVRadYFUDakfzy7W0LpYC0cvvK0xT82qlBsk38lQhJ/Hps5A==} engines: {node: '>=16.x'} - dev: false - /@ffmpeg/ffmpeg@0.12.10: + '@ffmpeg/ffmpeg@0.12.10': resolution: {integrity: sha512-lVtk8PW8e+NUzGZhPTWj2P1J4/NyuCrbDD3O9IGpSeLYtUZKBqZO8CNj1WYGghep/MXoM8e1qVY1GztTkf8YYQ==} engines: {node: '>=18.x'} - dependencies: - '@ffmpeg/types': 0.12.2 - dev: false - /@ffmpeg/types@0.12.2: + '@ffmpeg/types@0.12.2': resolution: {integrity: sha512-NJtxwPoLb60/z1Klv0ueshguWQ/7mNm106qdHkB4HL49LXszjhjCCiL+ldHJGQ9ai2Igx0s4F24ghigy//ERdA==} engines: {node: '>=16.x'} - dev: false - /@ffmpeg/util@0.12.1: + '@ffmpeg/util@0.12.1': resolution: {integrity: sha512-10jjfAKWaDyb8+nAkijcsi9wgz/y26LOc1NKJradNMyCIl6usQcBbhkjX5qhALrSBcOy6TOeksunTYa+a03qNQ==} engines: {node: '>=18.x'} - dev: false - /@floating-ui/core@1.6.0: + '@floating-ui/core@1.6.0': resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} - dependencies: - '@floating-ui/utils': 0.2.1 - dev: false - /@floating-ui/dom@1.6.3: + '@floating-ui/dom@1.6.3': resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} - dependencies: - '@floating-ui/core': 1.6.0 - '@floating-ui/utils': 0.2.1 - dev: false - /@floating-ui/react-dom@2.0.8(react-dom@18.2.0)(react@18.2.0): + '@floating-ui/react-dom@2.0.8': resolution: {integrity: sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - dependencies: - '@floating-ui/dom': 1.6.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@floating-ui/utils@0.2.1: + '@floating-ui/utils@0.2.1': resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} - dev: false - /@hookform/resolvers@3.3.4(react-hook-form@7.49.3): + '@formatjs/intl-localematcher@0.5.4': + resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==} + + '@hookform/resolvers@3.3.4': resolution: {integrity: sha512-o5cgpGOuJYrd+iMKvkttOclgwRW86EsWJZZRC23prf0uU2i48Htq4PuT73AVb9ionFyZrwYEITuOFGF+BydEtQ==} peerDependencies: react-hook-form: ^7.0.0 - dependencies: - react-hook-form: 7.49.3(react@18.2.0) - dev: false - /@humanwhocodes/config-array@0.11.14: + '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /@humanwhocodes/module-importer@1.0.1: + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - dev: true - /@humanwhocodes/object-schema@2.0.2: + '@humanwhocodes/object-schema@2.0.2': resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - /@isaacs/cliui@8.0.2: + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - /@jridgewell/gen-mapping@0.3.5: + '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri@3.1.2: + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.2.1: + '@jridgewell/set-array@1.2.1': resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - /@jridgewell/sourcemap-codec@1.4.15: + '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.25: + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - /@neondatabase/serverless@0.7.2: + '@neondatabase/serverless@0.7.2': resolution: {integrity: sha512-wU3WA2uTyNO7wjPs3Mg0G01jztAxUxzd9/mskMmtPwPTjf7JKWi9AW5/puOGXLxmZ9PVgRFeBVRVYq5nBPhsCg==} - dependencies: - '@types/pg': 8.6.6 - dev: false - /@next/env@14.1.0: + '@next/env@14.1.0': resolution: {integrity: sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==} - dev: false - /@next/eslint-plugin-next@14.1.4: + '@next/eslint-plugin-next@14.1.4': resolution: {integrity: sha512-n4zYNLSyCo0Ln5b7qxqQeQ34OZKXwgbdcx6kmkQbywr+0k6M3Vinft0T72R6CDAcDrne2IAgSud4uWCzFgc5HA==} - dependencies: - glob: 10.3.10 - dev: true - /@next/swc-darwin-arm64@14.1.0: + '@next/swc-darwin-arm64@14.1.0': resolution: {integrity: sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-x64@14.1.0: + '@next/swc-darwin-x64@14.1.0': resolution: {integrity: sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-gnu@14.1.0: + '@next/swc-linux-arm64-gnu@14.1.0': resolution: {integrity: sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-arm64-musl@14.1.0: + '@next/swc-linux-arm64-musl@14.1.0': resolution: {integrity: sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-gnu@14.1.0: + '@next/swc-linux-x64-gnu@14.1.0': resolution: {integrity: sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-linux-x64-musl@14.1.0: + '@next/swc-linux-x64-musl@14.1.0': resolution: {integrity: sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-arm64-msvc@14.1.0: + '@next/swc-win32-arm64-msvc@14.1.0': resolution: {integrity: sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-ia32-msvc@14.1.0: + '@next/swc-win32-ia32-msvc@14.1.0': resolution: {integrity: sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: false - optional: true - /@next/swc-win32-x64-msvc@14.1.0: + '@next/swc-win32-x64-msvc@14.1.0': resolution: {integrity: sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - requiresBuild: true - dev: false - optional: true - /@nodelib/fs.scandir@2.1.5: + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - /@nodelib/fs.stat@2.0.5: + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - /@nodelib/fs.walk@1.2.8: + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - /@panva/hkdf@1.1.1: + '@panva/hkdf@1.1.1': resolution: {integrity: sha512-dhPeilub1NuIG0X5Kvhh9lH4iW3ZsHlnzwgwbOlgwQ2wG1IqFzsgHqmKPk3WzsdWAeaxKJxgM0+W433RmN45GA==} - dev: false - /@pkgjs/parseargs@0.11.0: + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - requiresBuild: true - optional: true - /@pkgr/core@0.1.1: + '@pkgr/core@0.1.1': resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true - /@radix-ui/number@1.0.1: + '@radix-ui/number@1.0.1': resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} - dependencies: - '@babel/runtime': 7.24.1 - dev: false - /@radix-ui/primitive@1.0.0: + '@radix-ui/primitive@1.0.0': resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==} - dependencies: - '@babel/runtime': 7.24.1 - dev: false - /@radix-ui/primitive@1.0.1: + '@radix-ui/primitive@1.0.1': resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} - dependencies: - '@babel/runtime': 7.24.1 - dev: false - /@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-accordion@1.1.2': resolution: {integrity: sha512-fDG7jcoNKVjSK6yfmuAs0EnPDro0WMXIhMtXdTBWqEioVW206ku+4Lw07e+13lUkFkpoEQ2PdeMIAGpdqEAmDg==} peerDependencies: '@types/react': '*' @@ -2079,24 +1333,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-alert-dialog@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-alert-dialog@1.0.4': resolution: {integrity: sha512-jbfBCRlKYlhbitueOAv7z74PXYeIQmWpKwm3jllsdkw7fGWNkxqP3v0nY9WmOzcPqpQuoorNtvViBgL46n5gVg==} peerDependencies: '@types/react': '*' @@ -2108,21 +1346,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-dialog': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-arrow@1.0.3': resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -2134,16 +1359,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-avatar@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-avatar@1.0.3': resolution: {integrity: sha512-9ToF7YNex3Ste45LrAeTlKtONI9yVRt/zOS158iilIkW5K/Apeyb/TUQlcEFTEFvWr8Kzdi2ZYrm1/suiXPajQ==} peerDependencies: '@types/react': '*' @@ -2155,19 +1372,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-checkbox@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-checkbox@1.0.4': resolution: {integrity: sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==} peerDependencies: '@types/react': '*' @@ -2179,23 +1385,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-collapsible@1.0.3': resolution: {integrity: sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg==} peerDependencies: '@types/react': '*' @@ -2207,23 +1398,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-collection@1.0.3': resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -2235,28 +1411,13 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-compose-refs@1.0.0(react@18.2.0): + '@radix-ui/react-compose-refs@1.0.0': resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - react: 18.2.0 - dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-compose-refs@1.0.1': resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -2264,22 +1425,13 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-context@1.0.0(react@18.2.0): + '@radix-ui/react-context@1.0.0': resolution: {integrity: sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - react: 18.2.0 - dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-context@1.0.1': resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -2287,40 +1439,14 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-dialog@1.0.0(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-dialog@1.0.0': resolution: {integrity: sha512-Yn9YU+QlHYLWwV1XfKiqnGVpWYWk6MeBVM6x/bcoyPvxgjQGoeT35482viLPctTMWoMw0PoHgqfSox7Ig+957Q==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-context': 1.0.0(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.0(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.0(react@18.2.0) - '@radix-ui/react-portal': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.0(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0) - aria-hidden: 1.2.4 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.4(@types/react@18.2.55)(react@18.2.0) - transitivePeerDependencies: - - '@types/react' - dev: false - /@radix-ui/react-dialog@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-dialog@1.0.4': resolution: {integrity: sha512-hJtRy/jPULGQZceSAP2Re6/4NpKo8im6V8P2hUqZsdFiSL8l35kYsw3qbRI6Ay5mQd2+wlLqje770eq+RJ3yZg==} peerDependencies: '@types/react': '*' @@ -2332,29 +1458,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - aria-hidden: 1.2.4 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.55)(react@18.2.0) - dev: false - /@radix-ui/react-direction@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-direction@1.0.1': resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' @@ -2362,29 +1467,14 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-dismissable-layer@1.0.0(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-dismissable-layer@1.0.0': resolution: {integrity: sha512-n7kDRfx+LB1zLueRDvZ1Pd0bxdJWDUZNQ/GWoxDn2prnuJKRdxsjulejX/ePkOsLi2tTm6P24mDqlMSgQpsT6g==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.0 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-dismissable-layer@1.0.4': resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} peerDependencies: '@types/react': '*' @@ -2396,20 +1486,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-dropdown-menu@2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-dropdown-menu@2.0.5': resolution: {integrity: sha512-xdOrZzOTocqqkCkYo8yRPCib5OkTkqN7lqNCdxwPOdE466DOaNl4N8PkUIlsXthQvW5Wwkd+aEmWpfWlBoDPEw==} peerDependencies: '@types/react': '*' @@ -2421,31 +1499,13 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-menu': 2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-focus-guards@1.0.0(react@18.2.0): + '@radix-ui/react-focus-guards@1.0.0': resolution: {integrity: sha512-UagjDk4ijOAnGu4WMUPj9ahi7/zJJqNZ9ZAiGPp7waUWJO0O1aWXi/udPphI0IUjvrhBsZJGSN66dR2dsueLWQ==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - react: 18.2.0 - dev: false - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-focus-guards@1.0.1': resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -2453,27 +1513,14 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-focus-scope@1.0.0(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-focus-scope@1.0.0': resolution: {integrity: sha512-C4SWtsULLGf/2L4oGeIHlvWQx7Rf+7cX/vKOAD2dXW0A1b5QXwi3wWeaEgW+wn+SEVrraMUk05vLU9fZZz5HbQ==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-focus-scope@1.0.3': resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} peerDependencies: '@types/react': '*' @@ -2485,18 +1532,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-hover-card@1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-hover-card@1.0.6': resolution: {integrity: sha512-2K3ToJuMk9wjwBOa+jdg2oPma+AmLdcEyTNsG/iC4BDVG3E0/mGCjbY8PEDSLxJcUi+nJi2QII+ec/4kWd88DA==} peerDependencies: '@types/react': '*' @@ -2508,42 +1545,18 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-icons@1.3.0(react@18.2.0): + '@radix-ui/react-icons@1.3.0': resolution: {integrity: sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==} peerDependencies: react: ^16.x || ^17.x || ^18.x - dependencies: - react: 18.2.0 - dev: false - /@radix-ui/react-id@1.0.0(react@18.2.0): + '@radix-ui/react-id@1.0.0': resolution: {integrity: sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) - react: 18.2.0 - dev: false - /@radix-ui/react-id@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-id@1.0.1': resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -2551,14 +1564,8 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-label@2.0.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-label@2.0.2': resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==} peerDependencies: '@types/react': '*' @@ -2570,16 +1577,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-menu@2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-menu@2.0.5': resolution: {integrity: sha512-Gw4f9pwdH+w5w+49k0gLjN0PfRDHvxmAgG16AbyJZ7zhwZ6PBHKtWohvnSwfusfnK3L68dpBREHpVkj8wEM7ZA==} peerDependencies: '@types/react': '*' @@ -2591,33 +1590,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - aria-hidden: 1.2.4 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.55)(react@18.2.0) - dev: false - /@radix-ui/react-popover@1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-popover@1.0.6': resolution: {integrity: sha512-cZ4defGpkZ0qTRtlIBzJLSzL6ht7ofhhW4i1+pkemjV1IKXm0wgCRnee154qlV6r9Ttunmh2TNZhMfV2bavUyA==} peerDependencies: '@types/react': '*' @@ -2629,30 +1603,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - aria-hidden: 1.2.4 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.55)(react@18.2.0) - dev: false - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-popper@1.1.2': resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} peerDependencies: '@types/react': '*' @@ -2664,37 +1616,14 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-portal@1.0.0(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-portal@1.0.0': resolution: {integrity: sha512-a8qyFO/Xb99d8wQdu4o7qnigNjTPG123uADNecz0eX4usnQEj7o+cG4ZX4zkqq98NYekT7UoEQIjxBNWIFuqTA==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-portal@1.0.3': resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} peerDependencies: '@types/react': '*' @@ -2706,29 +1635,14 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-presence@1.0.0(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-presence@1.0.0': resolution: {integrity: sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-presence@1.0.1': resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -2740,29 +1654,14 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-primitive@1.0.0(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-primitive@1.0.0': resolution: {integrity: sha512-EyXe6mnRlHZ8b6f4ilTDrXmkLShICIuOTTj0GX4w1rp+wSxf3+TD05u1UOITC8VsJ2a9nwHvdXtOXEOl0Cw/zQ==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 react-dom: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-slot': 1.0.0(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-primitive@1.0.3': resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -2774,16 +1673,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-progress@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-progress@1.0.3': resolution: {integrity: sha512-5G6Om/tYSxjSeEdrb1VfKkfZfn/1IlPWd731h2RfPuSbIfNUgfqAwbKfJCg/PP6nuUCTrYzalwHSpSinoWoCag==} peerDependencies: '@types/react': '*' @@ -2795,17 +1686,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-roving-focus@1.0.4': resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -2817,24 +1699,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-scroll-area@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-scroll-area@1.0.4': resolution: {integrity: sha512-OIClwBkwPG+FKvC4OMTRaa/3cfD069nkKFFL/TQzRzaO42Ce5ivKU9VMKgT7UU6UIkjcQqKBrDOIzWtPGw6e6w==} peerDependencies: '@types/react': '*' @@ -2846,24 +1712,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/number': 1.0.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-select@1.2.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-select@1.2.2': resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==} peerDependencies: '@types/react': '*' @@ -2875,36 +1725,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/number': 1.0.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - aria-hidden: 1.2.4 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.55)(react@18.2.0) - dev: false - /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-separator@1.0.3': resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} peerDependencies: '@types/react': '*' @@ -2916,26 +1738,13 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-slot@1.0.0(react@18.2.0): + '@radix-ui/react-slot@1.0.0': resolution: {integrity: sha512-3mrKauI/tWXo1Ll+gN5dHcxDPdm/Df1ufcDLCecn+pnCIVcdWE7CujXo8QaXOWRJyZyQWWbpB8eFwHzWXlv5mQ==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) - react: 18.2.0 - dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-slot@1.0.2': resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -2943,14 +1752,8 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-switch@1.0.3': resolution: {integrity: sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow==} peerDependencies: '@types/react': '*' @@ -2962,22 +1765,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-tabs@1.0.4': resolution: {integrity: sha512-egZfYY/+wRNCflXNHx+dePvnz9FbmssDTJBtgRfDY7e8SE5oIo3Py2eCB1ckAbh1Q7cQ/6yJZThJ++sgbxibog==} peerDependencies: '@types/react': '*' @@ -2989,23 +1778,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-toast@1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-toast@1.1.4': resolution: {integrity: sha512-wf+fc8DOywrpRK3jlPlWVe+ELYGHdKDaaARJZNuUTWyWYq7+ANCFLp4rTjZ/mcGkJJQ/vZ949Zis9xxEpfq9OA==} peerDependencies: '@types/react': '*' @@ -3017,27 +1791,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-toggle-group@1.0.4': resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} peerDependencies: '@types/react': '*' @@ -3049,22 +1804,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-toggle@1.0.3': resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} peerDependencies: '@types/react': '*' @@ -3076,18 +1817,8 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-tooltip@1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-tooltip@1.0.6': resolution: {integrity: sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg==} peerDependencies: '@types/react': '*' @@ -3099,36 +1830,13 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/react-use-callback-ref@1.0.0(react@18.2.0): + '@radix-ui/react-use-callback-ref@1.0.0': resolution: {integrity: sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - react: 18.2.0 - dev: false - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-use-callback-ref@1.0.1': resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -3136,23 +1844,13 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-use-controllable-state@1.0.0(react@18.2.0): + '@radix-ui/react-use-controllable-state@1.0.0': resolution: {integrity: sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) - react: 18.2.0 - dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-use-controllable-state@1.0.1': resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -3160,24 +1858,13 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-use-escape-keydown@1.0.0(react@18.2.0): + '@radix-ui/react-use-escape-keydown@1.0.0': resolution: {integrity: sha512-JwfBCUIfhXRxKExgIqGa4CQsiMemo1Xt0W/B4ei3fpzpvPENKpMKQ8mZSB6Acj3ebrAEgi2xiQvcI1PAAodvyg==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) - react: 18.2.0 - dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-use-escape-keydown@1.0.3': resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -3185,23 +1872,13 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0): + '@radix-ui/react-use-layout-effect@1.0.0': resolution: {integrity: sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==} peerDependencies: react: ^16.8 || ^17.0 || ^18.0 - dependencies: - '@babel/runtime': 7.24.1 - react: 18.2.0 - dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-use-layout-effect@1.0.1': resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -3209,13 +1886,8 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-use-previous@1.0.1': resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} peerDependencies: '@types/react': '*' @@ -3223,13 +1895,8 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-use-rect@1.0.1': resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -3237,14 +1904,8 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.55)(react@18.2.0): + '@radix-ui/react-use-size@1.0.1': resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -3252,14 +1913,8 @@ packages: peerDependenciesMeta: '@types/react': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + '@radix-ui/react-visually-hidden@1.0.3': resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -3271,22 +1926,11 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@radix-ui/rect@1.0.1: + '@radix-ui/rect@1.0.1': resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} - dependencies: - '@babel/runtime': 7.24.1 - dev: false - /@rocketseat/eslint-config@2.2.2(eslint@8.57.0)(typescript@5.3.3): + '@rocketseat/eslint-config@2.2.2': resolution: {integrity: sha512-kSWN4FOyhTEiD2O6OGL2OG89MHq8HSoDwOVvy6Xqdv1DytdMvOgZsD7xBYsAyYWvwD0P+YR1nIDluVGCV+GNxA==} peerDependencies: eslint: ^8.0.0 @@ -3294,499 +1938,208 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) - eslint-plugin-n: 16.6.2(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - eslint-plugin-promise: 6.1.1(eslint@8.57.0) - eslint-plugin-react: 7.34.1(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) - prettier: 3.2.5 - typescript: 5.3.3 - transitivePeerDependencies: - - '@types/eslint' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - dev: true - /@rushstack/eslint-patch@1.8.0: + '@rushstack/eslint-patch@1.8.0': resolution: {integrity: sha512-0HejFckBN2W+ucM6cUOlwsByTKt9/+0tWhqUffNIcHqCXkthY/mZ7AuYPK/2IIaGWhdl0h+tICDO0ssLMd6XMQ==} - dev: true - /@shikijs/core@1.2.1: + '@shikijs/core@1.2.1': resolution: {integrity: sha512-KaIS0H4EQ3KI2d++TjYqRNgwp8E3M/68e9veR4QtInzA7kKFgcjeiJqb80fuXW+blDy5fmd11PN9g9soz/3ANQ==} - dev: false - /@smithy/abort-controller@2.2.0: + '@smithy/abort-controller@2.2.0': resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/chunked-blob-reader-native@2.2.0: + '@smithy/chunked-blob-reader-native@2.2.0': resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} - dependencies: - '@smithy/util-base64': 2.3.0 - tslib: 2.6.2 - dev: false - /@smithy/chunked-blob-reader@2.2.0: + '@smithy/chunked-blob-reader@2.2.0': resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} - dependencies: - tslib: 2.6.2 - dev: false - /@smithy/config-resolver@2.2.0: + '@smithy/config-resolver@2.2.0': resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - '@smithy/util-middleware': 2.2.0 - tslib: 2.6.2 - dev: false - /@smithy/core@1.4.0: + '@smithy/core@1.4.0': resolution: {integrity: sha512-uu9ZDI95Uij4qk+L6kyFjdk11zqBkcJ3Lv0sc6jZrqHvLyr0+oeekD3CnqMafBn/5PRI6uv6ulW3kNLRBUHeVw==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/middleware-endpoint': 2.5.0 - '@smithy/middleware-retry': 2.2.0 - '@smithy/middleware-serde': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/util-middleware': 2.2.0 - tslib: 2.6.2 - dev: false - /@smithy/credential-provider-imds@2.3.0: + '@smithy/credential-provider-imds@2.3.0': resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - tslib: 2.6.2 - dev: false - /@smithy/eventstream-codec@2.2.0: + '@smithy/eventstream-codec@2.2.0': resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} - dependencies: - '@aws-crypto/crc32': 3.0.0 - '@smithy/types': 2.12.0 - '@smithy/util-hex-encoding': 2.2.0 - tslib: 2.6.2 - dev: false - /@smithy/eventstream-serde-browser@2.2.0: + '@smithy/eventstream-serde-browser@2.2.0': resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/eventstream-serde-universal': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/eventstream-serde-config-resolver@2.2.0: + '@smithy/eventstream-serde-config-resolver@2.2.0': resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/eventstream-serde-node@2.2.0: + '@smithy/eventstream-serde-node@2.2.0': resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/eventstream-serde-universal': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/eventstream-serde-universal@2.2.0: + '@smithy/eventstream-serde-universal@2.2.0': resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/eventstream-codec': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/fetch-http-handler@2.5.0: + '@smithy/fetch-http-handler@2.5.0': resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} - dependencies: - '@smithy/protocol-http': 3.3.0 - '@smithy/querystring-builder': 2.2.0 - '@smithy/types': 2.12.0 - '@smithy/util-base64': 2.3.0 - tslib: 2.6.2 - dev: false - /@smithy/hash-blob-browser@2.2.0: + '@smithy/hash-blob-browser@2.2.0': resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} - dependencies: - '@smithy/chunked-blob-reader': 2.2.0 - '@smithy/chunked-blob-reader-native': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/hash-node@2.2.0: + '@smithy/hash-node@2.2.0': resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-buffer-from': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - dev: false - /@smithy/hash-stream-node@2.2.0: + '@smithy/hash-stream-node@2.2.0': resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - dev: false - /@smithy/invalid-dependency@2.2.0: + '@smithy/invalid-dependency@2.2.0': resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/is-array-buffer@2.2.0: + '@smithy/is-array-buffer@2.2.0': resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - /@smithy/md5-js@2.2.0: + '@smithy/md5-js@2.2.0': resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} - dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - dev: false - /@smithy/middleware-content-length@2.2.0: + '@smithy/middleware-content-length@2.2.0': resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/middleware-endpoint@2.5.0: + '@smithy/middleware-endpoint@2.5.0': resolution: {integrity: sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/middleware-serde': 2.3.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-middleware': 2.2.0 - tslib: 2.6.2 - dev: false - /@smithy/middleware-retry@2.2.0: + '@smithy/middleware-retry@2.2.0': resolution: {integrity: sha512-PsjDOLpbevgn37yJbawmfVoanru40qVA8UEf2+YA1lvOefmhuhL6ZbKtGsLAWDRnE1OlAmedsbA/htH6iSZjNA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/service-error-classification': 2.1.5 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - tslib: 2.6.2 - uuid: 8.3.2 - dev: false - /@smithy/middleware-serde@2.3.0: + '@smithy/middleware-serde@2.3.0': resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/middleware-stack@2.2.0: + '@smithy/middleware-stack@2.2.0': resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/node-config-provider@2.3.0: + '@smithy/node-config-provider@2.3.0': resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/node-http-handler@2.5.0: + '@smithy/node-http-handler@2.5.0': resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/abort-controller': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/querystring-builder': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/property-provider@2.2.0: + '@smithy/property-provider@2.2.0': resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/protocol-http@3.3.0: + '@smithy/protocol-http@3.3.0': resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/querystring-builder@2.2.0: + '@smithy/querystring-builder@2.2.0': resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-uri-escape': 2.2.0 - tslib: 2.6.2 - dev: false - /@smithy/querystring-parser@2.2.0: + '@smithy/querystring-parser@2.2.0': resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/service-error-classification@2.1.5: + '@smithy/service-error-classification@2.1.5': resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - dev: false - /@smithy/shared-ini-file-loader@2.4.0: + '@smithy/shared-ini-file-loader@2.4.0': resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/signature-v4@2.2.0: + '@smithy/signature-v4@2.2.0': resolution: {integrity: sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/eventstream-codec': 2.2.0 - '@smithy/is-array-buffer': 2.2.0 - '@smithy/types': 2.12.0 - '@smithy/util-hex-encoding': 2.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-uri-escape': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - dev: false - /@smithy/smithy-client@2.5.0: + '@smithy/smithy-client@2.5.0': resolution: {integrity: sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/middleware-endpoint': 2.5.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-stream': 2.2.0 - tslib: 2.6.2 - dev: false - /@smithy/types@2.12.0: + '@smithy/types@2.12.0': resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - /@smithy/url-parser@2.2.0: + '@smithy/url-parser@2.2.0': resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} - dependencies: - '@smithy/querystring-parser': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/util-base64@2.3.0: + '@smithy/util-base64@2.3.0': resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/util-buffer-from': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - dev: false - /@smithy/util-body-length-browser@2.2.0: + '@smithy/util-body-length-browser@2.2.0': resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} - dependencies: - tslib: 2.6.2 - dev: false - /@smithy/util-body-length-node@2.3.0: + '@smithy/util-body-length-node@2.3.0': resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - /@smithy/util-buffer-from@2.2.0: + '@smithy/util-buffer-from@2.2.0': resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/is-array-buffer': 2.2.0 - tslib: 2.6.2 - dev: false - /@smithy/util-config-provider@2.3.0: + '@smithy/util-config-provider@2.3.0': resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - /@smithy/util-defaults-mode-browser@2.2.0: + '@smithy/util-defaults-mode-browser@2.2.0': resolution: {integrity: sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g==} engines: {node: '>= 10.0.0'} - dependencies: - '@smithy/property-provider': 2.2.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - bowser: 2.11.0 - tslib: 2.6.2 - dev: false - /@smithy/util-defaults-mode-node@2.3.0: + '@smithy/util-defaults-mode-node@2.3.0': resolution: {integrity: sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw==} engines: {node: '>= 10.0.0'} - dependencies: - '@smithy/config-resolver': 2.2.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/smithy-client': 2.5.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/util-endpoints@1.2.0: + '@smithy/util-endpoints@1.2.0': resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} engines: {node: '>= 14.0.0'} - dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/util-hex-encoding@2.2.0: + '@smithy/util-hex-encoding@2.2.0': resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - /@smithy/util-middleware@2.2.0: + '@smithy/util-middleware@2.2.0': resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/util-retry@2.2.0: + '@smithy/util-retry@2.2.0': resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} engines: {node: '>= 14.0.0'} - dependencies: - '@smithy/service-error-classification': 2.1.5 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@smithy/util-stream@2.2.0: + '@smithy/util-stream@2.2.0': resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-buffer-from': 2.2.0 - '@smithy/util-hex-encoding': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - dev: false - /@smithy/util-uri-escape@2.2.0: + '@smithy/util-uri-escape@2.2.0': resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} engines: {node: '>=14.0.0'} - dependencies: - tslib: 2.6.2 - dev: false - /@smithy/util-utf8@2.3.0: + '@smithy/util-utf8@2.3.0': resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/util-buffer-from': 2.2.0 - tslib: 2.6.2 - dev: false - /@smithy/util-waiter@2.2.0: + '@smithy/util-waiter@2.2.0': resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} engines: {node: '>=14.0.0'} - dependencies: - '@smithy/abort-controller': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - dev: false - /@swc/helpers@0.5.2: + '@swc/helpers@0.5.2': resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} - dependencies: - tslib: 2.6.2 - dev: false - /@t3-oss/env-core@0.8.0(zod@3.22.4): + '@t3-oss/env-core@0.8.0': resolution: {integrity: sha512-Tc1pg0KH/tJeI0Z1s/Isp1VsGDj1N03ZAYFV8GjWgMxytF/ve0Dv+opjmTapHICRv8qiB1Y/fsTjkWNMpKPRCQ==} peerDependencies: typescript: '>=5.0.0' @@ -3794,11 +2147,8 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - zod: 3.22.4 - dev: false - /@t3-oss/env-nextjs@0.8.0(zod@3.22.4): + '@t3-oss/env-nextjs@0.8.0': resolution: {integrity: sha512-bJyoE8of4QmqZN7a49iLJAbUq4graScb9ezXzvnuIVr9JP43C093vmy55hT1uZL533CwiPz8zo1INwyAS6qnHw==} peerDependencies: typescript: '>=5.0.0' @@ -3806,37 +2156,24 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@t3-oss/env-core': 0.8.0(zod@3.22.4) - zod: 3.22.4 - dev: false - /@tanstack/query-core@5.28.8: + '@tanstack/query-core@5.28.8': resolution: {integrity: sha512-cx64XHeB0kvKxFt22ibvegPeOxnaWVFUbAuhXoIrb7+XePEexHWoB9Kq5n9qroNPkRwQZwgFAP9HNbQz5ohoIg==} - dev: false - /@tanstack/react-query@5.28.8(react@18.2.0): + '@tanstack/react-query@5.28.8': resolution: {integrity: sha512-4XYhoRmcThqziB32HsyiBLNXJcukaeGfYwAQ+fZqUUE3ZP4oB/Zy41UJdql+TUg98+vsezfbixxAwAbGHfc5Hg==} peerDependencies: react: ^18.0.0 - dependencies: - '@tanstack/query-core': 5.28.8 - react: 18.2.0 - dev: false - /@tokenizer/token@0.3.0: + '@tokenizer/token@0.3.0': resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} - dev: false - /@trpc/client@11.0.0-next.324(@trpc/server@11.0.0-next.324): + '@trpc/client@11.0.0-next.324': resolution: {integrity: sha512-jvB764wVe+ngNVLZiLeCHKliDwouGdU6c38tAhYrZxd4L0H+tmuhwoBM5lBnf1EvmOroNWtel7SZSVrlBHkwiA==} peerDependencies: '@trpc/server': 11.0.0-next.324+d8186919f - dependencies: - '@trpc/server': 11.0.0-next.324 - dev: false - /@trpc/next@11.0.0-next.324(@tanstack/react-query@5.28.8)(@trpc/client@11.0.0-next.324)(@trpc/react-query@11.0.0-next.324)(@trpc/server@11.0.0-next.324)(next@14.1.0)(react-dom@18.2.0)(react@18.2.0): + '@trpc/next@11.0.0-next.324': resolution: {integrity: sha512-k8nNmjezKX1fz4W4hwhkscdHhnsgGX+lEyFKgKwpX5BZ9N9bIKhQ13+0KCzN38f4+24D68F3d3++9QAQUNXN9w==} peerDependencies: '@tanstack/react-query': ^5.25.0 @@ -3851,17 +2188,8 @@ packages: optional: true '@trpc/react-query': optional: true - dependencies: - '@tanstack/react-query': 5.28.8(react@18.2.0) - '@trpc/client': 11.0.0-next.324(@trpc/server@11.0.0-next.324) - '@trpc/react-query': 11.0.0-next.324(@tanstack/react-query@5.28.8)(@trpc/client@11.0.0-next.324)(@trpc/server@11.0.0-next.324)(react-dom@18.2.0)(react@18.2.0) - '@trpc/server': 11.0.0-next.324 - next: 14.1.0(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@trpc/react-query@11.0.0-next.324(@tanstack/react-query@5.28.8)(@trpc/client@11.0.0-next.324)(@trpc/server@11.0.0-next.324)(react-dom@18.2.0)(react@18.2.0): + '@trpc/react-query@11.0.0-next.324': resolution: {integrity: sha512-SpnsTbK+RVkv2UA1CZ4apTDAJ0OmJokR5YBtTlYKXHGjKLWud5o4AxrBvMM5jA0Rv6263NZ7GQolgBUsfH3PBg==} peerDependencies: '@tanstack/react-query': ^5.25.0 @@ -3869,127 +2197,80 @@ packages: '@trpc/server': 11.0.0-next.324+d8186919f react: '>=18.2.0' react-dom: '>=18.2.0' - dependencies: - '@tanstack/react-query': 5.28.8(react@18.2.0) - '@trpc/client': 11.0.0-next.324(@trpc/server@11.0.0-next.324) - '@trpc/server': 11.0.0-next.324 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@trpc/server@11.0.0-next.324: + '@trpc/server@11.0.0-next.324': resolution: {integrity: sha512-ccnyc8eFicM45Ej8Bmj6uFKWBH32kEVLS4Tvj+fbNyhFaAS8I3RQhnXEaj48vDOZ5qQL5vcH37dxbmLBtRUjfA==} - dev: false - /@types/cookie@0.6.0: + '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} - dev: false - /@types/d3-array@3.2.1: + '@types/d3-array@3.2.1': resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} - dev: false - /@types/d3-color@3.1.3: + '@types/d3-color@3.1.3': resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} - dev: false - /@types/d3-ease@3.0.2: + '@types/d3-ease@3.0.2': resolution: {integrity: sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==} - dev: false - /@types/d3-interpolate@3.0.4: + '@types/d3-interpolate@3.0.4': resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} - dependencies: - '@types/d3-color': 3.1.3 - dev: false - /@types/d3-path@1.0.11: + '@types/d3-path@1.0.11': resolution: {integrity: sha512-4pQMp8ldf7UaB/gR8Fvvy69psNHkTpD/pVw3vmEi8iZAB9EPMBruB1JvHO4BIq9QkUUd2lV1F5YXpMNj7JPBpw==} - dev: true - /@types/d3-path@3.1.0: + '@types/d3-path@3.1.0': resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==} - dev: false - /@types/d3-scale@4.0.8: + '@types/d3-scale@4.0.8': resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} - dependencies: - '@types/d3-time': 3.0.3 - dev: false - /@types/d3-shape@1.3.12: + '@types/d3-shape@1.3.12': resolution: {integrity: sha512-8oMzcd4+poSLGgV0R1Q1rOlx/xdmozS4Xab7np0eamFFUYq71AU9pOCJEFnkXW2aI/oXdVYJzw6pssbSut7Z9Q==} - dependencies: - '@types/d3-path': 1.0.11 - dev: true - /@types/d3-shape@3.1.6: + '@types/d3-shape@3.1.6': resolution: {integrity: sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==} - dependencies: - '@types/d3-path': 3.1.0 - dev: false - /@types/d3-time@3.0.3: + '@types/d3-time@3.0.3': resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} - dev: false - /@types/d3-timer@3.0.2: + '@types/d3-timer@3.0.2': resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} - dev: false - /@types/estree@1.0.5: + '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: false - /@types/json-schema@7.0.15: + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true - /@types/json5@0.0.29: + '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - /@types/node@20.4.0: + '@types/node@20.4.0': resolution: {integrity: sha512-jfT7iTf/4kOQ9S7CHV9BIyRaQqHu67mOjsIQBC3BKZvzvUB6zLxEwJ6sBE3ozcvP8kF6Uk5PXN0Q+c0dfhGX0g==} - /@types/pg@8.6.6: + '@types/pg@8.6.6': resolution: {integrity: sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==} - dependencies: - '@types/node': 20.4.0 - pg-protocol: 1.6.0 - pg-types: 2.2.0 - dev: false - /@types/prop-types@15.7.12: + '@types/prop-types@15.7.12': resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - /@types/react-dom@18.2.19: + '@types/react-dom@18.2.19': resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==} - dependencies: - '@types/react': 18.2.55 - /@types/react@18.2.55: + '@types/react@18.2.55': resolution: {integrity: sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==} - dependencies: - '@types/prop-types': 15.7.12 - '@types/scheduler': 0.23.0 - csstype: 3.1.3 - /@types/recharts@1.8.24: + '@types/recharts@1.8.24': resolution: {integrity: sha512-PGugStujgxjMOUUJuGIrw71MIhTtl/FeNzuWZVDTS7Kq8NdiQfMrlC6GXJIvlQcrsUIn9IcXbi6sZJjK+6kfLQ==} - dependencies: - '@types/d3-shape': 1.3.12 - '@types/react': 18.2.55 - dev: true - /@types/scheduler@0.23.0: + '@types/scheduler@0.23.0': resolution: {integrity: sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==} - /@types/semver@7.5.8: + '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: true - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): + '@typescript-eslint/eslint-plugin@6.21.0': resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -3999,26 +2280,8 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3): + '@typescript-eslint/parser@6.21.0': resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -4027,27 +2290,12 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - eslint: 8.57.0 - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@6.21.0: + '@typescript-eslint/scope-manager@6.21.0': resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - dev: true - /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): + '@typescript-eslint/type-utils@6.21.0': resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -4056,23 +2304,12 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - debug: 4.3.4 - eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/types@6.21.0: + '@typescript-eslint/types@6.21.0': resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - dev: true - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): + '@typescript-eslint/typescript-estree@6.21.0': resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -4080,149 +2317,66 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.3.0(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): + '@typescript-eslint/utils@6.21.0': resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) - eslint: 8.57.0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@typescript-eslint/visitor-keys@6.21.0: + '@typescript-eslint/visitor-keys@6.21.0': resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@ungap/structured-clone@1.2.0: + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - /@upstash/qstash@2.4.2: + '@upstash/qstash@2.4.2': resolution: {integrity: sha512-URff3Ky4vKpkj303vAaD8bqFjWFZTpI2qX+9AlK16ruh71dpZmgzjzzGjcb2gDfMdNUEDgYy4N/S7DaWNnW0Cw==} - dependencies: - crypto-js: 4.2.0 - jose: 5.2.3 - dev: false - /@vue/compiler-core@3.4.21: + '@vue/compiler-core@3.4.21': resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} - dependencies: - '@babel/parser': 7.24.1 - '@vue/shared': 3.4.21 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.0 - dev: false - /@vue/compiler-dom@3.4.21: + '@vue/compiler-dom@3.4.21': resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} - dependencies: - '@vue/compiler-core': 3.4.21 - '@vue/shared': 3.4.21 - dev: false - /@vue/compiler-sfc@3.4.21: + '@vue/compiler-sfc@3.4.21': resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} - dependencies: - '@babel/parser': 7.24.1 - '@vue/compiler-core': 3.4.21 - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - estree-walker: 2.0.2 - magic-string: 0.30.8 - postcss: 8.4.38 - source-map-js: 1.2.0 - dev: false - /@vue/compiler-ssr@3.4.21: + '@vue/compiler-ssr@3.4.21': resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} - dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 - dev: false - /@vue/reactivity@3.4.21: + '@vue/reactivity@3.4.21': resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} - dependencies: - '@vue/shared': 3.4.21 - dev: false - /@vue/runtime-core@3.4.21: + '@vue/runtime-core@3.4.21': resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} - dependencies: - '@vue/reactivity': 3.4.21 - '@vue/shared': 3.4.21 - dev: false - /@vue/runtime-dom@3.4.21: + '@vue/runtime-dom@3.4.21': resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} - dependencies: - '@vue/runtime-core': 3.4.21 - '@vue/shared': 3.4.21 - csstype: 3.1.3 - dev: false - /@vue/server-renderer@3.4.21(vue@3.4.21): + '@vue/server-renderer@3.4.21': resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} peerDependencies: vue: 3.4.21 - dependencies: - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.3.3) - dev: false - /@vue/shared@3.4.21: + '@vue/shared@3.4.21': resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - dev: false - /@yr/monotone-cubic-spline@1.0.3: + '@yr/monotone-cubic-spline@1.0.3': resolution: {integrity: sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA==} - dev: false - /acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - /acorn@8.11.3: + acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true - /ai@2.1.17(react@18.2.0)(svelte@4.2.12)(vue@3.4.21): + ai@2.1.17: resolution: {integrity: sha512-3dcg7cjDQdFeYbKREvJ18WhNrN+IVhASJPEolOiZINfmQ5qjqZHWNagqLsN8Wi2RYzD3CrskrN8KwAobUTgo9g==} engines: {node: '>=14.6'} peerDependencies: @@ -4236,642 +2390,356 @@ packages: optional: true vue: optional: true - dependencies: - eventsource-parser: 1.0.0 - nanoid: 3.3.7 - react: 18.2.0 - sswr: 1.11.0(svelte@4.2.12) - svelte: 4.2.12 - swr: 2.1.5(react@18.2.0) - swrv: 1.0.3(vue@3.4.21) - vue: 3.4.21(typescript@5.3.3) - dev: false - /ajv@6.12.6: + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - /ansi-regex@5.0.1: + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - /ansi-regex@6.0.1: + ansi-regex@6.0.1: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - /ansi-styles@6.2.1: + ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - /any-promise@1.3.0: + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - /anymatch@3.1.3: + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - /apexcharts@3.48.0: + apexcharts@3.48.0: resolution: {integrity: sha512-Lhpj1Ij6lKlrUke8gf+P+SE6uGUn+Pe1TnCJ+zqrY0YMvbqM3LMb1lY+eybbTczUyk0RmMZomlTa2NgX2EUs4Q==} - dependencies: - '@yr/monotone-cubic-spline': 1.0.3 - svg.draggable.js: 2.2.2 - svg.easing.js: 2.0.0 - svg.filter.js: 2.0.2 - svg.pathmorphing.js: 0.1.3 - svg.resize.js: 1.4.3 - svg.select.js: 3.0.1 - dev: false - /arg@5.0.2: + arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - /argparse@2.0.1: + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - /aria-hidden@1.2.4: + aria-hidden@1.2.4: resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} engines: {node: '>=10'} - dependencies: - tslib: 2.6.2 - dev: false - /aria-query@5.3.0: + aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - dependencies: - dequal: 2.0.3 - /array-buffer-byte-length@1.0.1: + array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - dev: true - /array-includes@3.1.8: + array-includes@3.1.8: resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-object-atoms: 1.0.0 - get-intrinsic: 1.2.4 - is-string: 1.0.7 - dev: true - /array-union@2.1.0: + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: true - /array.prototype.findlast@1.2.5: + array.prototype.findlast@1.2.5: resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.findlastindex@1.2.5: + array.prototype.findlastindex@1.2.5: resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.flat@1.3.2: + array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.flatmap@1.3.2: + array.prototype.flatmap@1.3.2: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.toreversed@1.1.2: + array.prototype.toreversed@1.1.2: resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.tosorted@1.1.3: + array.prototype.tosorted@1.1.3: resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-errors: 1.3.0 - es-shim-unscopables: 1.0.2 - dev: true - /arraybuffer.prototype.slice@1.0.3: + arraybuffer.prototype.slice@1.0.3: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - dev: true - /ast-types-flow@0.0.8: + ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - dev: true - /asynckit@0.4.0: + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: false - /attr-accept@2.2.2: + attr-accept@2.2.2: resolution: {integrity: sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==} engines: {node: '>=4'} - dev: false - /autoprefixer@10.4.17(postcss@8.4.33): + autoprefixer@10.4.17: resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 - dependencies: - browserslist: 4.23.0 - caniuse-lite: 1.0.30001600 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.33 - postcss-value-parser: 4.2.0 - dev: true - /available-typed-arrays@1.0.7: + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - dependencies: - possible-typed-array-names: 1.0.0 - dev: true - /axe-core@4.7.0: + axe-core@4.7.0: resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} engines: {node: '>=4'} - dev: true - /axios@1.4.0: + axios@1.4.0: resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} - dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: false - /axios@1.6.8: + axios@1.6.8: resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} - dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: false - /axobject-query@3.2.1: + axobject-query@3.2.1: resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} - dependencies: - dequal: 2.0.3 - dev: true - /axobject-query@4.0.0: + axobject-query@4.0.0: resolution: {integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==} - dependencies: - dequal: 2.0.3 - dev: false - /balanced-match@1.0.2: + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /binary-extensions@2.3.0: + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - /bowser@2.11.0: + bowser@2.11.0: resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - dev: false - /brace-expansion@1.1.11: + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - /brace-expansion@2.0.1: + brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - /braces@3.0.2: + braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - /browserslist@4.23.0: + browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - dependencies: - caniuse-lite: 1.0.30001600 - electron-to-chromium: 1.4.717 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: true - /buffer-from@1.1.2: + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - /buffer-writer@2.0.0: + buffer-writer@2.0.0: resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} engines: {node: '>=4'} - /builtin-modules@3.3.0: + builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - dev: true - /builtins@5.0.1: + builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} - dependencies: - semver: 7.6.0 - dev: true - /bunnycdn-stream@2.2.3: + bunnycdn-stream@2.2.3: resolution: {integrity: sha512-xBctePBQWfbviQIUG2fuKWXZRqNi79XlczqQAgaTz65kQ+l5lHGBMaAjN5FBmnw2bRNLBe2OJ5gjrbVNFRNZrA==} engines: {node: '>=16', npm: '>=6'} - dependencies: - axios: 1.6.8 - file-type: 16.5.4 - transitivePeerDependencies: - - debug - dev: false - /busboy@1.6.0: + busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} - dependencies: - streamsearch: 1.1.0 - dev: false - /call-bind@1.0.7: + call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - dev: true - /callsites@3.1.0: + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - dev: true - /camelcase-css@2.0.1: + camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - /camelcase@7.0.1: + camelcase@7.0.1: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - dev: true - /caniuse-lite@1.0.30001600: + caniuse-lite@1.0.30001600: resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chalk@5.3.0: + chalk@5.3.0: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - /chokidar@3.6.0: + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - /cli-color@2.0.4: + cli-color@2.0.4: resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} engines: {node: '>=0.10'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - memoizee: 0.4.15 - timers-ext: 0.1.7 - dev: true - /client-only@0.0.1: + client-only@0.0.1: resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - dev: false - /clsx@2.1.0: + clsx@2.1.0: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} - dev: false - /cmdk@0.2.0(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + cmdk@0.2.0: resolution: {integrity: sha512-JQpKvEOb86SnvMZbYaFKYhvzFntWBeSZdyii0rZPhKJj9uwJBxu4DaVYDrRN7r3mPop56oPhRw+JYWTKs66TYw==} peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - dependencies: - '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - command-score: 0.1.2 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - transitivePeerDependencies: - - '@types/react' - dev: false - /code-red@1.0.4: + code-red@1.0.4: resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - '@types/estree': 1.0.5 - acorn: 8.11.3 - estree-walker: 3.0.3 - periscopic: 3.1.0 - dev: false - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /combined-stream@1.0.8: + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: false - /command-score@0.1.2: + command-score@0.1.2: resolution: {integrity: sha512-VtDvQpIJBvBatnONUsPzXYFVKQQAhuf3XTNOAsdBxCNO/QCtUUd8LSgjn0GVarBkCad6aJCZfXgrjYbl/KRr7w==} - dev: false - /commander@4.1.1: + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - /commander@7.2.0: + commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - dev: false - /commander@9.5.0: + commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} - dev: true - /concat-map@0.0.1: + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - /cookie@0.6.0: + cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} - dev: false - /copy-anything@3.0.5: + copy-anything@3.0.5: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} - dependencies: - is-what: 4.1.16 - /cross-spawn@7.0.3: + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - /crypto-js@4.2.0: + crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - dev: false - /css-tree@2.3.1: + css-tree@2.3.1: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.2.0 - dev: false - /cssesc@3.0.0: + cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - /csstype@3.1.3: + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - /d3-array@3.2.4: + d3-array@3.2.4: resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} engines: {node: '>=12'} - dependencies: - internmap: 2.0.3 - dev: false - /d3-color@3.1.0: + d3-color@3.1.0: resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} engines: {node: '>=12'} - dev: false - /d3-ease@3.0.1: + d3-ease@3.0.1: resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} engines: {node: '>=12'} - dev: false - /d3-format@3.1.0: + d3-format@3.1.0: resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} engines: {node: '>=12'} - dev: false - /d3-interpolate@3.0.1: + d3-interpolate@3.0.1: resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} engines: {node: '>=12'} - dependencies: - d3-color: 3.1.0 - dev: false - /d3-path@3.1.0: + d3-path@3.1.0: resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} engines: {node: '>=12'} - dev: false - /d3-scale@4.0.2: + d3-scale@4.0.2: resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - d3-format: 3.1.0 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - dev: false - /d3-shape@3.2.0: + d3-shape@3.2.0: resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} engines: {node: '>=12'} - dependencies: - d3-path: 3.1.0 - dev: false - /d3-time-format@4.1.0: + d3-time-format@4.1.0: resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} engines: {node: '>=12'} - dependencies: - d3-time: 3.1.0 - dev: false - /d3-time@3.1.0: + d3-time@3.1.0: resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} engines: {node: '>=12'} - dependencies: - d3-array: 3.2.4 - dev: false - /d3-timer@3.0.1: + d3-timer@3.0.1: resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} engines: {node: '>=12'} - dev: false - /d@1.0.2: + d@1.0.2: resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} engines: {node: '>=0.12'} - dependencies: - es5-ext: 0.10.64 - type: 2.7.2 - dev: true - /damerau-levenshtein@1.0.8: + damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - dev: true - /data-view-buffer@1.0.1: + data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - /data-view-byte-length@1.0.1: + data-view-byte-length@1.0.1: resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - /data-view-byte-offset@1.0.0: + data-view-byte-offset@1.0.0: resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - /date-fns@3.6.0: + date-fns@3.6.0: resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} - dev: false - /dayjs@1.11.10: + dayjs@1.11.10: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - dev: false - /debug@3.2.7: + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.3 - dev: true - /debug@4.3.4: + debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -4879,138 +2747,77 @@ packages: peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.2 - dev: true - /decimal.js-light@2.5.1: + decimal.js-light@2.5.1: resolution: {integrity: sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==} - dev: false - /deep-is@0.1.4: + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - /define-data-property@1.1.4: + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - dev: true - /define-properties@1.2.1: + define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - dev: true - /delayed-stream@1.0.0: + delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - dev: false - /dequal@2.0.3: + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - /detect-node-es@1.1.0: + detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - dev: false - /didyoumean@1.2.2: + didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - /difflib@0.2.4: + difflib@0.2.4: resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} - dependencies: - heap: 0.2.7 - dev: true - /dir-glob@3.0.1: + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - /dlv@1.1.3: + dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - /doctrine@2.1.0: + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - dependencies: - esutils: 2.0.3 - dev: true - /doctrine@3.0.0: + doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - /dom-helpers@3.4.0: + dom-helpers@3.4.0: resolution: {integrity: sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==} - dependencies: - '@babel/runtime': 7.24.1 - dev: false - /dotenv-cli@7.3.0: + dotenv-cli@7.3.0: resolution: {integrity: sha512-314CA4TyK34YEJ6ntBf80eUY+t1XaFLyem1k9P0sX1gn30qThZ5qZr/ZwE318gEnzyYP9yj9HJk6SqwE0upkfw==} hasBin: true - dependencies: - cross-spawn: 7.0.3 - dotenv: 16.4.5 - dotenv-expand: 10.0.0 - minimist: 1.2.8 - dev: false - /dotenv-expand@10.0.0: + dotenv-expand@10.0.0: resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} engines: {node: '>=12'} - dev: false - /dotenv@16.4.5: + dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - dev: false - /dreamopt@0.8.0: + dreamopt@0.8.0: resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==} engines: {node: '>=0.4.0'} - dependencies: - wordwrap: 1.0.0 - dev: true - /drizzle-kit@0.20.14: + drizzle-kit@0.20.14: resolution: {integrity: sha512-0fHv3YIEaUcSVPSGyaaBfOi9bmpajjhbJNdPsRMIUvYdLVxBu9eGjH8mRc3Qk7HVmEidFc/lhG1YyJhoXrn5yA==} hasBin: true - dependencies: - '@drizzle-team/studio': 0.0.39 - '@esbuild-kit/esm-loader': 2.6.5 - camelcase: 7.0.1 - chalk: 5.3.0 - commander: 9.5.0 - env-paths: 3.0.0 - esbuild: 0.19.12 - esbuild-register: 3.5.0(esbuild@0.19.12) - glob: 8.1.0 - hanji: 0.0.5 - json-diff: 0.9.0 - minimatch: 7.4.6 - semver: 7.6.0 - zod: 3.22.4 - transitivePeerDependencies: - - supports-color - dev: true - /drizzle-orm@0.29.5(@neondatabase/serverless@0.7.2)(pg@8.11.3): + drizzle-orm@0.29.5: resolution: {integrity: sha512-jS3+uyzTz4P0Y2CICx8FmRQ1eplURPaIMWDn/yq6k4ShRFj9V7vlJk67lSf2kyYPzQ60GkkNGXcJcwrxZ6QCRw==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' @@ -5080,120 +2887,4542 @@ packages: optional: true sqlite3: optional: true - dependencies: - '@neondatabase/serverless': 0.7.2 - pg: 8.11.3 - dev: false - /drizzle-orm@0.29.5(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-jS3+uyzTz4P0Y2CICx8FmRQ1eplURPaIMWDn/yq6k4ShRFj9V7vlJk67lSf2kyYPzQ60GkkNGXcJcwrxZ6QCRw==} + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + electron-to-chromium@1.4.717: + resolution: {integrity: sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@3.0.0: + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + es-abstract@1.23.2: + resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.0.18: + resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + + es6-weak-map@2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + + esbuild-register@3.5.0: + resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} peerDependencies: - '@aws-sdk/client-rds-data': '>=3' - '@cloudflare/workers-types': '>=3' - '@libsql/client': '*' - '@neondatabase/serverless': '>=0.1' - '@opentelemetry/api': ^1.4.1 - '@planetscale/database': '>=1' - '@types/better-sqlite3': '*' - '@types/pg': '*' - '@types/react': '>=18' - '@types/sql.js': '*' - '@vercel/postgres': '*' - better-sqlite3: '>=7' - bun-types: '*' - expo-sqlite: '>=13.2.0' - knex: '*' - kysely: '*' - mysql2: '>=2' - pg: '>=8' - postgres: '>=3' - react: '>=18' - sql.js: '>=1' - sqlite3: '>=5' - peerDependenciesMeta: - '@aws-sdk/client-rds-data': - optional: true - '@cloudflare/workers-types': - optional: true - '@libsql/client': - optional: true - '@neondatabase/serverless': - optional: true - '@opentelemetry/api': - optional: true - '@planetscale/database': - optional: true - '@types/better-sqlite3': - optional: true - '@types/pg': - optional: true - '@types/react': - optional: true - '@types/sql.js': - optional: true - '@vercel/postgres': - optional: true - better-sqlite3: - optional: true - bun-types: + esbuild: '>=0.12 <1' + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-compat-utils@0.5.0: + resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=6.0.0' + + eslint-config-next@14.1.4: + resolution: {integrity: sha512-cihIahbhYAWwXJwZkAaRPpUi5t9aOi/HdfWXOjZeUOqNWXHD8X22kd1KG58Dc3MVaRx3HoR/oMGk2ltcrqDn8g==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: optional: true - expo-sqlite: + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-config-standard@17.1.0: + resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: ^8.0.1 + eslint-plugin-import: ^2.25.2 + eslint-plugin-n: '^15.0.0 || ^16.0.0 ' + eslint-plugin-promise: ^6.0.0 + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-import-resolver-typescript@3.6.1: + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + + eslint-module-utils@2.8.1: + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': optional: true - knex: + eslint: optional: true - kysely: + eslint-import-resolver-node: optional: true - mysql2: + eslint-import-resolver-typescript: optional: true - pg: + eslint-import-resolver-webpack: optional: true - postgres: + + eslint-plugin-es-x@7.6.0: + resolution: {integrity: sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' + + eslint-plugin-import@2.29.1: + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': optional: true - react: + + eslint-plugin-jsx-a11y@6.8.0: + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-plugin-n@16.6.2: + resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-prettier@5.1.3: + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': optional: true - sql.js: + eslint-config-prettier: optional: true - sqlite3: + + eslint-plugin-promise@6.1.1: + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + + eslint-plugin-react-hooks@4.6.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + + eslint-plugin-react@7.34.1: + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-plugin-simple-import-sort@10.0.0: + resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} + peerDependencies: + eslint: '>=5.0.0' + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.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@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + 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-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'} + + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + eventsource-parser@1.0.0: + resolution: {integrity: sha512-9jgfSCa3dmEme2ES3mPByGXfgZ87VbP97tng1G2nWwWx6bV2nYxm2AWCrbQjXToSe+yYlqaZNtxffR9IeQr95g==} + engines: {node: '>=14.18'} + + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-equals@5.0.1: + resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==} + engines: {node: '>=6.0.0'} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + 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-xml-parser@4.2.5: + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} + hasBin: true + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + file-selector@0.6.0: + resolution: {integrity: sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==} + engines: {node: '>= 12'} + + file-type@16.5.4: + resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==} + engines: {node: '>=10'} + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: optional: true - dependencies: + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + 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==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-nonce@1.0.1: + resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} + engines: {node: '>=6'} + + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + + 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@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + 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==} + + hanji@0.0.5: + resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + 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'} + + heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + immer@10.0.3: + resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + + is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} + + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + + jose@5.2.3: + resolution: {integrity: sha512-KUXdbctm1uHVL8BYhnyHkgp3zDX5KW8ZhAKVFEfUbU2P8Alpzjb+48hHvjOdQIyPshoblhzsuqOwEEAbtHVirA==} + + jotai-immer@0.2.0: + resolution: {integrity: sha512-hahK8EPiROS9RoNWmX/Z8rY9WkAijspX4BZ1O7umpcwI4kPNkbcCpu/PhiQ8FMcpEcF6KmbpbMpSSj/GFmo8NA==} + peerDependencies: + immer: '*' + jotai: '>=1.11.0' + react: '>=17.0.0' + + jotai@2.6.3: + resolution: {integrity: sha512-0htSJ2d6426ZdSEYHncJHXY6Lkgde1Hc2HE/ADIRi9d2L3hQL+jLKY1LkWBMeCNyOSlKH8+1u/Gc33Ox0uq21Q==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=17.0.0' + react: '>=17.0.0' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-diff@0.9.0: + resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==} + hasBin: true + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + locate-character@3.0.0: + resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-queue@0.1.0: + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + + lucide-react@0.319.0: + resolution: {integrity: sha512-IIbu4TfVI3yPI3ba/Li53mKeOd+WwcWI6+WcyoVdFLtrBfH88m2uQ/uTmtzBWt523HyxCFjWy3RFs0OxDFYm8w==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 + + magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + memoizee@0.4.15: + resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} + + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + 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'} + + next-auth@5.0.0-beta.16: + resolution: {integrity: sha512-dX2snB+ezN23tFzSes3n3uosT9iBf0eILPYWH/R2fd9n3ZzdMQlRzq7JIOPeS1aLc84IuRlyuyXyx9XmmZB6og==} + peerDependencies: + '@simplewebauthn/browser': ^9.0.1 + '@simplewebauthn/server': ^9.0.2 + next: ^14 + nodemailer: ^6.6.5 + react: ^18.2.0 + peerDependenciesMeta: + '@simplewebauthn/browser': + optional: true + '@simplewebauthn/server': + optional: true + nodemailer: + optional: true + + next-i18n-router@5.4.2: + resolution: {integrity: sha512-ixLQaA4TlQ7e107vZa0pxC3mxVxQ6wDq79V6DFj8L1S/yk8+RSnHDXKeEVgsXjkruZ4nINIkV8kgabHNXRFpBQ==} + + next-themes@0.2.1: + resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} + peerDependencies: + next: '*' + react: '*' + react-dom: '*' + + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + + next@14.1.0: + resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + sass: + optional: true + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + node-webvtt@1.9.4: + resolution: {integrity: sha512-EjrJdKdxSyd8j4LMLW6s2Ah4yNoeVXp18Ob04CQl1In18xcUmKzEE8pcsxxnFVqanTyjbGYph2VnvtwIXR4EjA==} + engines: {node: '>= 8.16.0'} + hasBin: true + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + oauth4webapi@2.10.3: + resolution: {integrity: sha512-9FkXEXfzVKzH63GUOZz1zMr3wBaICSzk6DLXx+CGdrQ10ItNk2ePWzYYc1fdmKq1ayGFb2aX97sRCoZ2s0mkDw==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} + + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + openai-edge@1.2.2: + resolution: {integrity: sha512-C3/Ao9Hkx5uBPv9YFBpX/x59XMPgPUU4dyGg/0J2sOJ7O9D98kD+lfdOc7v/60oYo5xzMGct80uFkYLH+X2qgw==} + engines: {node: '>=18'} + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + peek-readable@4.1.0: + resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} + engines: {node: '>=8'} + + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + + pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + + pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-pool@3.6.1: + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-nested@6.0.1: + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-selector-parser@6.0.16: + resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} + engines: {node: '>=4'} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + + preact-render-to-string@5.2.3: + resolution: {integrity: sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA==} + peerDependencies: + preact: '>=10' + + preact@10.11.3: + resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier-plugin-tailwindcss@0.5.12: + resolution: {integrity: sha512-o74kiDBVE73oHW+pdkFSluHBL3cYEvru5YgEqNkBMFF7Cjv+w1vI565lTlfoJT4VLWDe0FMtZ7FkE/7a4pMXSQ==} + engines: {node: '>=14.21.3'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@trivago/prettier-plugin-sort-imports': '*' + prettier: ^3.0 + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-sort-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + prettier-plugin-twig-melody: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-marko: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-sort-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + prettier-plugin-twig-melody: + optional: true + + prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@3.8.0: + resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + react-apexcharts@1.4.1: + resolution: {integrity: sha512-G14nVaD64Bnbgy8tYxkjuXEUp/7h30Q0U33xc3AwtGFijJB9nHqOt1a6eG0WBn055RgRg+NwqbKGtqPxy15d0Q==} + peerDependencies: + apexcharts: ^3.41.0 + react: '>=0.13' + + react-day-picker@8.10.0: + resolution: {integrity: sha512-mz+qeyrOM7++1NCb1ARXmkjMkzWVh2GL9YiPbRjKe0zHccvekk4HE+0MPOZOrosn8r8zTHIIeOUXTmXRqmkRmg==} + peerDependencies: + date-fns: ^2.28.0 || ^3.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + react-dom@18.2.0: + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + + react-dropzone@14.2.3: + resolution: {integrity: sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==} + engines: {node: '>= 10.13'} + peerDependencies: + react: '>= 16.8 || 18.0.0' + + react-hook-form@7.49.3: + resolution: {integrity: sha512-foD6r3juidAT1cOZzpmD/gOKt7fRsDhXXZ0y28+Al1CHgX+AY1qIN9VSIIItXRq1dN68QrRwl1ORFlwjBaAqeQ==} + engines: {node: '>=18', pnpm: '8'} + peerDependencies: + react: ^16.8.0 || ^17 || ^18 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-lifecycles-compat@3.0.4: + resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} + + react-remove-scroll-bar@2.3.6: + resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.5.4: + resolution: {integrity: sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-remove-scroll@2.5.5: + resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-smooth@2.0.5: + resolution: {integrity: sha512-BMP2Ad42tD60h0JW6BFaib+RJuV5dsXJK9Baxiv/HlNFjvRLqA9xrNKxVWnUIZPQfzUwGXIlU/dSYLU+54YGQA==} + peerDependencies: + prop-types: ^15.6.0 + react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + + react-style-singleton@2.2.1: + resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-transition-group@2.9.0: + resolution: {integrity: sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==} + peerDependencies: + react: '>=15.0.0' + react-dom: '>=15.0.0' + + react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readable-web-to-node-stream@3.0.2: + resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==} + engines: {node: '>=8'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + recharts-scale@0.4.5: + resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==} + + recharts@2.11.0: + resolution: {integrity: sha512-5s+u1m5Hwxb2nh0LABkE3TS/lFqFHyWl7FnPbQhHobbQQia4ih1t3o3+ikPYr31Ns+kYe4FASIthKeKi/YYvMg==} + engines: {node: '>=14'} + peerDependencies: + prop-types: ^15.6.0 + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 + + reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + + server-only-context@0.1.0: + resolution: {integrity: sha512-5Ba19yx9Bj9uSh40aZNsZNBvLF88tLY3na6QxWkqyrSLOSHPxtnzTs/JzjKwfac1NbHFlEodkN7T4M6UzvH2Ng==} + peerDependencies: + react: next + + server-only@0.0.1: + resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shiki@1.2.1: + resolution: {integrity: sha512-u+XW6o0vCkUNlneZb914dLO+AayEIwK5tI62WeS//R5HIXBFiYaj/Hc5xcq27Yh83Grr4JbNtUBV8W6zyK4hWg==} + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + sonner@1.4.41: + resolution: {integrity: sha512-uG511ggnnsw6gcn/X+YKkWPo5ep9il9wYi3QJxHsYe7yTZ4+cOd1wuodOUmOpFuXL+/RE3R04LczdNCDygTDgQ==} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + sswr@1.11.0: + resolution: {integrity: sha512-D7nEdEH0A1TKZjA1wRP6frxw/dtTCuV70EK5/pELP+FrcPmyaP8jLC49mrg86Ez5cb5z3NQb2MPx2M7ZZlSupQ==} + peerDependencies: + svelte: ^4.0.0 + + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + + strtok3@6.3.0: + resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==} + engines: {node: '>=10'} + + styled-jsx@5.1.1: + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + superjson@2.2.1: + resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} + engines: {node: '>=16'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svelte@4.2.12: + resolution: {integrity: sha512-d8+wsh5TfPwqVzbm4/HCXC783/KPHV60NvwitJnyTA5lWn1elhXMNWhXGCJ7PwPa8qFUnyJNIyuIRt2mT0WMug==} + engines: {node: '>=16'} + + svg.draggable.js@2.2.2: + resolution: {integrity: sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==} + engines: {node: '>= 0.8.0'} + + svg.easing.js@2.0.0: + resolution: {integrity: sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==} + engines: {node: '>= 0.8.0'} + + svg.filter.js@2.0.2: + resolution: {integrity: sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==} + engines: {node: '>= 0.8.0'} + + svg.js@2.7.1: + resolution: {integrity: sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==} + + svg.pathmorphing.js@0.1.3: + resolution: {integrity: sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==} + engines: {node: '>= 0.8.0'} + + svg.resize.js@1.4.3: + resolution: {integrity: sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==} + engines: {node: '>= 0.8.0'} + + svg.select.js@2.1.2: + resolution: {integrity: sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==} + engines: {node: '>= 0.8.0'} + + svg.select.js@3.0.1: + resolution: {integrity: sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==} + engines: {node: '>= 0.8.0'} + + swr@2.1.5: + resolution: {integrity: sha512-/OhfZMcEpuz77KavXST5q6XE9nrOBOVcBLWjMT+oAE/kQHyE3PASrevXCtQDZ8aamntOfFkbVJp7Il9tNBQWrw==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + + swrev@3.0.0: + resolution: {integrity: sha512-QJuZiptdOmbDY45pECBRVEgnoBlOKjeT2MWVz04wKHpWX15hM3P7EjcIbHDg5yLoPCMQ7to3349MEE+l9QF5HA==} + + swrv@1.0.3: + resolution: {integrity: sha512-sl+eLEE+aPPjhP1E8gQ75q3RPRyw5Gd/kROnrTFo3+LkCeLskv7F+uAl5W97wgJkzitobL6FLsRPVm0DgIgN8A==} + peerDependencies: + vue: '>=3.2.26 < 4' + + synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + + tailwind-merge@1.14.0: + resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==} + + tailwind-merge@2.2.1: + resolution: {integrity: sha512-o+2GTLkthfa5YUt4JxPfzMIpQzZ3adD1vLVkvKE1Twl9UAhGsEbIZhHHZVRttyW177S8PDJI3bTQNaebyofK3Q==} + + tailwind-variants@0.1.20: + resolution: {integrity: sha512-AMh7x313t/V+eTySKB0Dal08RHY7ggYK0MSn/ad8wKWOrDUIzyiWNayRUm2PIJ4VRkvRnfNuyRuKbLV3EN+ewQ==} + engines: {node: '>=16.x', pnpm: '>=7.x'} + peerDependencies: + tailwindcss: '*' + + tailwindcss-animate@1.0.6: + resolution: {integrity: sha512-4WigSGMvbl3gCCact62ZvOngA+PRqhAn7si3TQ3/ZuPuQZcIEtVap+ENSXbzWhpojKB8CpvnIsrwBu8/RnHtuw==} + peerDependencies: + tailwindcss: '>=3.0.0 || insiders' + + tailwindcss@3.4.1: + resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} + engines: {node: '>=14.0.0'} + hasBin: true + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + timers-ext@0.1.7: + resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + token-types@4.2.1: + resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==} + engines: {node: '>=10'} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + engines: {node: '>=18.0.0'} + hasBin: true + + turbo-darwin-64@1.13.0: + resolution: {integrity: sha512-ctHeJXtQgBcgxnCXwrJTGiq57HtwF7zWz5NTuSv//5yeU01BtQIt62ArKfjudOhRefWJbX3Z5srn88XTb9hfww==} + cpu: [x64] + os: [darwin] + + turbo-darwin-arm64@1.13.0: + resolution: {integrity: sha512-/Q9/pNFkF9w83tNxwMpgapwLYdQ12p8mpty2YQRoUiS9ClWkcqe136jR0mtuMqzlNlpREOFZaoyIthjt6Sdo0g==} + cpu: [arm64] + os: [darwin] + + turbo-linux-64@1.13.0: + resolution: {integrity: sha512-hgbT7o020BGV4L7Sd8hhFTd5zVKPKxbsr0dPfel/9NkdTmptz2aGZ0Vb2MAa18SY3XaCQpDxmdYuOzvvRpo5ZA==} + cpu: [x64] + os: [linux] + + turbo-linux-arm64@1.13.0: + resolution: {integrity: sha512-WK01i2wDZARrV+HEs495A3hNeGMwQR5suYk7G+ceqqW7b+dOTlQdvUjnI3sg7wAnZPgjafFs/hoBaZdJjVa/nw==} + cpu: [arm64] + os: [linux] + + turbo-windows-64@1.13.0: + resolution: {integrity: sha512-hJgSZJZwlWHNwLEthaqJqJWGm4NqF5X/I7vE0sPE4i/jeDl8f0n1hcOkgJkJiNXVxhj+qy/9+4dzbPLKT9imaQ==} + cpu: [x64] + os: [win32] + + turbo-windows-arm64@1.13.0: + resolution: {integrity: sha512-L/ErxYoXeq8tmjU/AIGicC9VyBN1zdYw8JlM4yPmMI0pJdY8E4GaYK1IiIazqq7M72lmQhU/WW7fV9FqEktwrw==} + cpu: [arm64] + os: [win32] + + turbo@1.13.0: + resolution: {integrity: sha512-r02GtNmkOPcQvUzVE6lg474QVLyU02r3yh3lUGqrFHf5h5ZEjgDGWILsAUqplVqjri1Y/oOkTssks4CObTAaiw==} + hasBin: true + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type@2.7.2: + resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + update-browserslist-db@1.0.13: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + use-callback-ref@1.3.2: + resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-sidecar@1.1.2: + resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + + use-sync-external-store@1.2.0: + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + victory-vendor@36.9.2: + resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} + + vue@3.4.21: + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + 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==} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@auth/core@0.25.1': + dependencies: + '@panva/hkdf': 1.1.1 + '@types/cookie': 0.6.0 + cookie: 0.6.0 + jose: 5.2.3 + oauth4webapi: 2.10.3 + preact: 10.11.3 + preact-render-to-string: 5.2.3(preact@10.11.3) + + '@auth/core@0.28.1': + dependencies: + '@panva/hkdf': 1.1.1 + '@types/cookie': 0.6.0 + cookie: 0.6.0 + jose: 5.2.3 + oauth4webapi: 2.10.3 + preact: 10.11.3 + preact-render-to-string: 5.2.3(preact@10.11.3) + + '@aws-crypto/crc32@3.0.0': + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.502.0 + tslib: 1.14.1 + + '@aws-crypto/crc32c@3.0.0': + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.502.0 + tslib: 1.14.1 + + '@aws-crypto/ie11-detection@3.0.0': + dependencies: + tslib: 1.14.1 + + '@aws-crypto/sha1-browser@3.0.0': + dependencies: + '@aws-crypto/ie11-detection': 3.0.0 + '@aws-crypto/supports-web-crypto': 3.0.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-locate-window': 3.535.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + + '@aws-crypto/sha256-browser@3.0.0': + dependencies: + '@aws-crypto/ie11-detection': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-crypto/supports-web-crypto': 3.0.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-locate-window': 3.535.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + + '@aws-crypto/sha256-js@3.0.0': + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.502.0 + tslib: 1.14.1 + + '@aws-crypto/supports-web-crypto@3.0.0': + dependencies: + tslib: 1.14.1 + + '@aws-crypto/util@3.0.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + + '@aws-sdk/client-s3@3.509.0': + dependencies: + '@aws-crypto/sha1-browser': 3.0.0 + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/core': 3.496.0 + '@aws-sdk/credential-provider-node': 3.509.0 + '@aws-sdk/middleware-bucket-endpoint': 3.502.0 + '@aws-sdk/middleware-expect-continue': 3.502.0 + '@aws-sdk/middleware-flexible-checksums': 3.502.0 + '@aws-sdk/middleware-host-header': 3.502.0 + '@aws-sdk/middleware-location-constraint': 3.502.0 + '@aws-sdk/middleware-logger': 3.502.0 + '@aws-sdk/middleware-recursion-detection': 3.502.0 + '@aws-sdk/middleware-sdk-s3': 3.502.0 + '@aws-sdk/middleware-signing': 3.502.0 + '@aws-sdk/middleware-ssec': 3.502.0 + '@aws-sdk/middleware-user-agent': 3.502.0 + '@aws-sdk/region-config-resolver': 3.502.0 + '@aws-sdk/signature-v4-multi-region': 3.502.0 + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-endpoints': 3.502.0 + '@aws-sdk/util-user-agent-browser': 3.502.0 + '@aws-sdk/util-user-agent-node': 3.502.0 + '@aws-sdk/xml-builder': 3.496.0 + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.0 + '@smithy/eventstream-serde-browser': 2.2.0 + '@smithy/eventstream-serde-config-resolver': 2.2.0 + '@smithy/eventstream-serde-node': 2.2.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-blob-browser': 2.2.0 + '@smithy/hash-node': 2.2.0 + '@smithy/hash-stream-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/md5-js': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.0 + '@smithy/middleware-retry': 2.2.0 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.0 + '@smithy/util-defaults-mode-node': 2.3.0 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-stream': 2.2.0 + '@smithy/util-utf8': 2.3.0 + '@smithy/util-waiter': 2.2.0 + fast-xml-parser: 4.2.5 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso-oidc@3.507.0(@aws-sdk/credential-provider-node@3.509.0)': + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/core': 3.496.0 + '@aws-sdk/credential-provider-node': 3.509.0 + '@aws-sdk/middleware-host-header': 3.502.0 + '@aws-sdk/middleware-logger': 3.502.0 + '@aws-sdk/middleware-recursion-detection': 3.502.0 + '@aws-sdk/middleware-signing': 3.502.0 + '@aws-sdk/middleware-user-agent': 3.502.0 + '@aws-sdk/region-config-resolver': 3.502.0 + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-endpoints': 3.502.0 + '@aws-sdk/util-user-agent-browser': 3.502.0 + '@aws-sdk/util-user-agent-node': 3.502.0 + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.0 + '@smithy/middleware-retry': 2.2.0 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.0 + '@smithy/util-defaults-mode-node': 2.3.0 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sso@3.507.0': + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/core': 3.496.0 + '@aws-sdk/middleware-host-header': 3.502.0 + '@aws-sdk/middleware-logger': 3.502.0 + '@aws-sdk/middleware-recursion-detection': 3.502.0 + '@aws-sdk/middleware-user-agent': 3.502.0 + '@aws-sdk/region-config-resolver': 3.502.0 + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-endpoints': 3.502.0 + '@aws-sdk/util-user-agent-browser': 3.502.0 + '@aws-sdk/util-user-agent-node': 3.502.0 + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.0 + '@smithy/middleware-retry': 2.2.0 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.0 + '@smithy/util-defaults-mode-node': 2.3.0 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-sts@3.507.0(@aws-sdk/credential-provider-node@3.509.0)': + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/core': 3.496.0 + '@aws-sdk/credential-provider-node': 3.509.0 + '@aws-sdk/middleware-host-header': 3.502.0 + '@aws-sdk/middleware-logger': 3.502.0 + '@aws-sdk/middleware-recursion-detection': 3.502.0 + '@aws-sdk/middleware-user-agent': 3.502.0 + '@aws-sdk/region-config-resolver': 3.502.0 + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-endpoints': 3.502.0 + '@aws-sdk/util-user-agent-browser': 3.502.0 + '@aws-sdk/util-user-agent-node': 3.502.0 + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.0 + '@smithy/middleware-retry': 2.2.0 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.0 + '@smithy/util-defaults-mode-node': 2.3.0 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + fast-xml-parser: 4.2.5 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/core@3.496.0': + dependencies: + '@smithy/core': 1.4.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/signature-v4': 2.2.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/credential-provider-env@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/property-provider': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/credential-provider-http@3.503.1': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/property-provider': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + '@smithy/util-stream': 2.2.0 + tslib: 2.6.2 + + '@aws-sdk/credential-provider-ini@3.507.0(@aws-sdk/credential-provider-node@3.509.0)': + dependencies: + '@aws-sdk/client-sts': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/credential-provider-env': 3.502.0 + '@aws-sdk/credential-provider-process': 3.502.0 + '@aws-sdk/credential-provider-sso': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/credential-provider-web-identity': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/types': 3.502.0 + '@smithy/credential-provider-imds': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' + - aws-crt + + '@aws-sdk/credential-provider-node@3.509.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.502.0 + '@aws-sdk/credential-provider-http': 3.503.1 + '@aws-sdk/credential-provider-ini': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/credential-provider-process': 3.502.0 + '@aws-sdk/credential-provider-sso': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/credential-provider-web-identity': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/types': 3.502.0 + '@smithy/credential-provider-imds': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/credential-provider-process@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/credential-provider-sso@3.507.0(@aws-sdk/credential-provider-node@3.509.0)': + dependencies: + '@aws-sdk/client-sso': 3.507.0 + '@aws-sdk/token-providers': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/types': 3.502.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' + - aws-crt + + '@aws-sdk/credential-provider-web-identity@3.507.0(@aws-sdk/credential-provider-node@3.509.0)': + dependencies: + '@aws-sdk/client-sts': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/types': 3.502.0 + '@smithy/property-provider': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' + - aws-crt + + '@aws-sdk/middleware-bucket-endpoint@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-arn-parser': 3.495.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-config-provider': 2.3.0 + tslib: 2.6.2 + + '@aws-sdk/middleware-expect-continue@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/middleware-flexible-checksums@3.502.0': + dependencies: + '@aws-crypto/crc32': 3.0.0 + '@aws-crypto/crc32c': 3.0.0 + '@aws-sdk/types': 3.502.0 + '@smithy/is-array-buffer': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + + '@aws-sdk/middleware-host-header@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/middleware-location-constraint@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/middleware-logger@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/middleware-recursion-detection@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/middleware-sdk-s3@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-arn-parser': 3.495.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/signature-v4': 2.2.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + '@smithy/util-config-provider': 2.3.0 + tslib: 2.6.2 + + '@aws-sdk/middleware-signing@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/property-provider': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/signature-v4': 2.2.0 + '@smithy/types': 2.12.0 + '@smithy/util-middleware': 2.2.0 + tslib: 2.6.2 + + '@aws-sdk/middleware-ssec@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/middleware-user-agent@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-endpoints': 3.502.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/region-config-resolver@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-config-provider': 2.3.0 + '@smithy/util-middleware': 2.2.0 + tslib: 2.6.2 + + '@aws-sdk/s3-request-presigner@3.509.0': + dependencies: + '@aws-sdk/signature-v4-multi-region': 3.502.0 + '@aws-sdk/types': 3.502.0 + '@aws-sdk/util-format-url': 3.502.0 + '@smithy/middleware-endpoint': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/signature-v4-multi-region@3.502.0': + dependencies: + '@aws-sdk/middleware-sdk-s3': 3.502.0 + '@aws-sdk/types': 3.502.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/signature-v4': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/token-providers@3.507.0(@aws-sdk/credential-provider-node@3.509.0)': + dependencies: + '@aws-sdk/client-sso-oidc': 3.507.0(@aws-sdk/credential-provider-node@3.509.0) + '@aws-sdk/types': 3.502.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' + - aws-crt + + '@aws-sdk/types@3.502.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/util-arn-parser@3.495.0': + dependencies: + tslib: 2.6.2 + + '@aws-sdk/util-endpoints@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/types': 2.12.0 + '@smithy/util-endpoints': 1.2.0 + tslib: 2.6.2 + + '@aws-sdk/util-format-url@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/querystring-builder': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/util-locate-window@3.535.0': + dependencies: + tslib: 2.6.2 + + '@aws-sdk/util-user-agent-browser@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/types': 2.12.0 + bowser: 2.11.0 + tslib: 2.6.2 + + '@aws-sdk/util-user-agent-node@3.502.0': + dependencies: + '@aws-sdk/types': 3.502.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@aws-sdk/util-utf8-browser@3.259.0': + dependencies: + tslib: 2.6.2 + + '@aws-sdk/xml-builder@3.496.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@babel/helper-string-parser@7.24.1': {} + + '@babel/helper-validator-identifier@7.22.20': {} + + '@babel/parser@7.24.1': + dependencies: + '@babel/types': 7.24.0 + + '@babel/runtime@7.24.1': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/types@7.24.0': + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + '@drizzle-team/studio@0.0.39': + dependencies: + superjson: 2.2.1 + + '@esbuild-kit/core-utils@3.3.2': + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + + '@esbuild-kit/esm-loader@2.6.5': + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.3 + + '@esbuild/aix-ppc64@0.19.12': + optional: true + + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.19.12': + optional: true + + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.19.12': + optional: true + + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.19.12': + optional: true + + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.19.12': + optional: true + + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.19.12': + optional: true + + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.19.12': + optional: true + + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.19.12': + optional: true + + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.19.12': + optional: true + + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.19.12': + optional: true + + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.19.12': + optional: true + + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.19.12': + optional: true + + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.19.12': + optional: true + + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.19.12': + optional: true + + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.19.12': + optional: true + + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.19.12': + optional: true + + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.19.12': + optional: true + + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.19.12': + optional: true + + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.19.12': + optional: true + + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.19.12': + optional: true + + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.19.12': + optional: true + + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.19.12': + optional: true + + '@esbuild/win32-x64@0.18.20': + optional: true + + '@esbuild/win32-x64@0.19.12': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.0': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.0': {} + + '@ffmpeg/core@0.12.6': {} + + '@ffmpeg/ffmpeg@0.12.10': + dependencies: + '@ffmpeg/types': 0.12.2 + + '@ffmpeg/types@0.12.2': {} + + '@ffmpeg/util@0.12.1': {} + + '@floating-ui/core@1.6.0': + dependencies: + '@floating-ui/utils': 0.2.1 + + '@floating-ui/dom@1.6.3': + dependencies: + '@floating-ui/core': 1.6.0 + '@floating-ui/utils': 0.2.1 + + '@floating-ui/react-dom@2.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@floating-ui/dom': 1.6.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@floating-ui/utils@0.2.1': {} + + '@formatjs/intl-localematcher@0.5.4': + dependencies: + tslib: 2.6.2 + + '@hookform/resolvers@3.3.4(react-hook-form@7.49.3(react@18.2.0))': + dependencies: + react-hook-form: 7.49.3(react@18.2.0) + + '@humanwhocodes/config-array@0.11.14': + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.2': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@neondatabase/serverless@0.7.2': + dependencies: + '@types/pg': 8.6.6 + + '@next/env@14.1.0': {} + + '@next/eslint-plugin-next@14.1.4': + dependencies: + glob: 10.3.10 + + '@next/swc-darwin-arm64@14.1.0': + optional: true + + '@next/swc-darwin-x64@14.1.0': + optional: true + + '@next/swc-linux-arm64-gnu@14.1.0': + optional: true + + '@next/swc-linux-arm64-musl@14.1.0': + optional: true + + '@next/swc-linux-x64-gnu@14.1.0': + optional: true + + '@next/swc-linux-x64-musl@14.1.0': + optional: true + + '@next/swc-win32-arm64-msvc@14.1.0': + optional: true + + '@next/swc-win32-ia32-msvc@14.1.0': + optional: true + + '@next/swc-win32-x64-msvc@14.1.0': + optional: true + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@panva/hkdf@1.1.1': {} + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.1.1': {} + + '@radix-ui/number@1.0.1': + dependencies: + '@babel/runtime': 7.24.1 + + '@radix-ui/primitive@1.0.0': + dependencies: + '@babel/runtime': 7.24.1 + + '@radix-ui/primitive@1.0.1': + dependencies: + '@babel/runtime': 7.24.1 + + '@radix-ui/react-accordion@1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-alert-dialog@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-avatar@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-checkbox@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-compose-refs@1.0.0(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + + '@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-context@1.0.0(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + + '@radix-ui/react-context@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-dialog@1.0.0(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.0 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + '@radix-ui/react-context': 1.0.0(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.0(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.0(react@18.2.0) + '@radix-ui/react-portal': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.0(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.0(react@18.2.0) + aria-hidden: 1.2.4 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.4(@types/react@18.2.55)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + + '@radix-ui/react-dialog@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + aria-hidden: 1.2.4 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.55)(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-direction@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-dismissable-layer@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.0 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.0(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-dropdown-menu@2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-menu': 2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-focus-guards@1.0.0(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + + '@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-focus-scope@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-hover-card@1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-icons@1.3.0(react@18.2.0)': + dependencies: + react: 18.2.0 + + '@radix-ui/react-id@1.0.0(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) + react: 18.2.0 + + '@radix-ui/react-id@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-label@2.0.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-menu@2.0.5(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + aria-hidden: 1.2.4 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.55)(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-popover@1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + aria-hidden: 1.2.4 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.55)(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/rect': 1.0.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-portal@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-primitive': 1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-presence@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.0(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-primitive@1.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-slot': 1.0.0(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-progress@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-scroll-area@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/number': 1.0.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-select@1.2.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/number': 1.0.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + aria-hidden: 1.2.4 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.55)(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-slot@1.0.0(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-compose-refs': 1.0.0(react@18.2.0) + react: 18.2.0 + + '@radix-ui/react-slot@1.0.2(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-tabs@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-toast@1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-tooltip@1.0.6(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.55)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/react-use-callback-ref@1.0.0(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + + '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-use-controllable-state@1.0.0(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) + react: 18.2.0 + + '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-use-escape-keydown@1.0.0(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-use-callback-ref': 1.0.0(react@18.2.0) + react: 18.2.0 + + '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-use-layout-effect@1.0.0(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + + '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-use-previous@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-use-rect@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/rect': 1.0.1 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-use-size@1.0.1(@types/react@18.2.55)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.55)(react@18.2.0) + react: 18.2.0 + optionalDependencies: + '@types/react': 18.2.55 + + '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.1 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.19)(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.2.55 + '@types/react-dom': 18.2.19 + + '@radix-ui/rect@1.0.1': + dependencies: + '@babel/runtime': 7.24.1 + + '@rocketseat/eslint-config@2.2.2(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0))(eslint-plugin-n@16.6.2(eslint@8.57.0))(eslint-plugin-promise@6.1.1(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) + eslint-plugin-n: 16.6.2(eslint@8.57.0) + eslint-plugin-prettier: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5) + eslint-plugin-promise: 6.1.1(eslint@8.57.0) + eslint-plugin-react: 7.34.1(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) + prettier: 3.2.5 + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - '@types/eslint' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + + '@rushstack/eslint-patch@1.8.0': {} + + '@shikijs/core@1.2.1': {} + + '@smithy/abort-controller@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/chunked-blob-reader-native@2.2.0': + dependencies: + '@smithy/util-base64': 2.3.0 + tslib: 2.6.2 + + '@smithy/chunked-blob-reader@2.2.0': + dependencies: + tslib: 2.6.2 + + '@smithy/config-resolver@2.2.0': + dependencies: + '@smithy/node-config-provider': 2.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-config-provider': 2.3.0 + '@smithy/util-middleware': 2.2.0 + tslib: 2.6.2 + + '@smithy/core@1.4.0': + dependencies: + '@smithy/middleware-endpoint': 2.5.0 + '@smithy/middleware-retry': 2.2.0 + '@smithy/middleware-serde': 2.3.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + '@smithy/util-middleware': 2.2.0 + tslib: 2.6.2 + + '@smithy/credential-provider-imds@2.3.0': + dependencies: + '@smithy/node-config-provider': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + tslib: 2.6.2 + + '@smithy/eventstream-codec@2.2.0': + dependencies: + '@aws-crypto/crc32': 3.0.0 + '@smithy/types': 2.12.0 + '@smithy/util-hex-encoding': 2.2.0 + tslib: 2.6.2 + + '@smithy/eventstream-serde-browser@2.2.0': + dependencies: + '@smithy/eventstream-serde-universal': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/eventstream-serde-config-resolver@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/eventstream-serde-node@2.2.0': + dependencies: + '@smithy/eventstream-serde-universal': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/eventstream-serde-universal@2.2.0': + dependencies: + '@smithy/eventstream-codec': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/fetch-http-handler@2.5.0': + dependencies: + '@smithy/protocol-http': 3.3.0 + '@smithy/querystring-builder': 2.2.0 + '@smithy/types': 2.12.0 + '@smithy/util-base64': 2.3.0 + tslib: 2.6.2 + + '@smithy/hash-blob-browser@2.2.0': + dependencies: + '@smithy/chunked-blob-reader': 2.2.0 + '@smithy/chunked-blob-reader-native': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/hash-node@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + '@smithy/util-buffer-from': 2.2.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + + '@smithy/hash-stream-node@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + + '@smithy/invalid-dependency@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/is-array-buffer@2.2.0': + dependencies: + tslib: 2.6.2 + + '@smithy/md5-js@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + + '@smithy/middleware-content-length@2.2.0': + dependencies: + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/middleware-endpoint@2.5.0': + dependencies: + '@smithy/middleware-serde': 2.3.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-middleware': 2.2.0 + tslib: 2.6.2 + + '@smithy/middleware-retry@2.2.0': + dependencies: + '@smithy/node-config-provider': 2.3.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/service-error-classification': 2.1.5 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + tslib: 2.6.2 + uuid: 8.3.2 + + '@smithy/middleware-serde@2.3.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/middleware-stack@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/node-config-provider@2.3.0': + dependencies: + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/node-http-handler@2.5.0': + dependencies: + '@smithy/abort-controller': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/querystring-builder': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/property-provider@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/protocol-http@3.3.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/querystring-builder@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + '@smithy/util-uri-escape': 2.2.0 + tslib: 2.6.2 + + '@smithy/querystring-parser@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/service-error-classification@2.1.5': + dependencies: + '@smithy/types': 2.12.0 + + '@smithy/shared-ini-file-loader@2.4.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/signature-v4@2.2.0': + dependencies: + '@smithy/eventstream-codec': 2.2.0 + '@smithy/is-array-buffer': 2.2.0 + '@smithy/types': 2.12.0 + '@smithy/util-hex-encoding': 2.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-uri-escape': 2.2.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + + '@smithy/smithy-client@2.5.0': + dependencies: + '@smithy/middleware-endpoint': 2.5.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-stream': 2.2.0 + tslib: 2.6.2 + + '@smithy/types@2.12.0': + dependencies: + tslib: 2.6.2 + + '@smithy/url-parser@2.2.0': + dependencies: + '@smithy/querystring-parser': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/util-base64@2.3.0': + dependencies: + '@smithy/util-buffer-from': 2.2.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + + '@smithy/util-body-length-browser@2.2.0': + dependencies: + tslib: 2.6.2 + + '@smithy/util-body-length-node@2.3.0': + dependencies: + tslib: 2.6.2 + + '@smithy/util-buffer-from@2.2.0': + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.6.2 + + '@smithy/util-config-provider@2.3.0': + dependencies: + tslib: 2.6.2 + + '@smithy/util-defaults-mode-browser@2.2.0': + dependencies: + '@smithy/property-provider': 2.2.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + bowser: 2.11.0 + tslib: 2.6.2 + + '@smithy/util-defaults-mode-node@2.3.0': + dependencies: + '@smithy/config-resolver': 2.2.0 + '@smithy/credential-provider-imds': 2.3.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/smithy-client': 2.5.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/util-endpoints@1.2.0': + dependencies: + '@smithy/node-config-provider': 2.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/util-hex-encoding@2.2.0': + dependencies: + tslib: 2.6.2 + + '@smithy/util-middleware@2.2.0': + dependencies: + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/util-retry@2.2.0': + dependencies: + '@smithy/service-error-classification': 2.1.5 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@smithy/util-stream@2.2.0': + dependencies: + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/types': 2.12.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-buffer-from': 2.2.0 + '@smithy/util-hex-encoding': 2.2.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + + '@smithy/util-uri-escape@2.2.0': + dependencies: + tslib: 2.6.2 + + '@smithy/util-utf8@2.3.0': + dependencies: + '@smithy/util-buffer-from': 2.2.0 + tslib: 2.6.2 + + '@smithy/util-waiter@2.2.0': + dependencies: + '@smithy/abort-controller': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + + '@swc/helpers@0.5.2': + dependencies: + tslib: 2.6.2 + + '@t3-oss/env-core@0.8.0(typescript@5.3.3)(zod@3.22.4)': + dependencies: + zod: 3.22.4 + optionalDependencies: + typescript: 5.3.3 + + '@t3-oss/env-nextjs@0.8.0(typescript@5.3.3)(zod@3.22.4)': + dependencies: + '@t3-oss/env-core': 0.8.0(typescript@5.3.3)(zod@3.22.4) + zod: 3.22.4 + optionalDependencies: + typescript: 5.3.3 + + '@tanstack/query-core@5.28.8': {} + + '@tanstack/react-query@5.28.8(react@18.2.0)': + dependencies: + '@tanstack/query-core': 5.28.8 + react: 18.2.0 + + '@tokenizer/token@0.3.0': {} + + '@trpc/client@11.0.0-next.324(@trpc/server@11.0.0-next.324)': + dependencies: + '@trpc/server': 11.0.0-next.324 + + '@trpc/next@11.0.0-next.324(@tanstack/react-query@5.28.8(react@18.2.0))(@trpc/client@11.0.0-next.324(@trpc/server@11.0.0-next.324))(@trpc/react-query@11.0.0-next.324(@tanstack/react-query@5.28.8(react@18.2.0))(@trpc/client@11.0.0-next.324(@trpc/server@11.0.0-next.324))(@trpc/server@11.0.0-next.324)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@trpc/server@11.0.0-next.324)(next@14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@trpc/client': 11.0.0-next.324(@trpc/server@11.0.0-next.324) + '@trpc/server': 11.0.0-next.324 + next: 14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@tanstack/react-query': 5.28.8(react@18.2.0) + '@trpc/react-query': 11.0.0-next.324(@tanstack/react-query@5.28.8(react@18.2.0))(@trpc/client@11.0.0-next.324(@trpc/server@11.0.0-next.324))(@trpc/server@11.0.0-next.324)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + + '@trpc/react-query@11.0.0-next.324(@tanstack/react-query@5.28.8(react@18.2.0))(@trpc/client@11.0.0-next.324(@trpc/server@11.0.0-next.324))(@trpc/server@11.0.0-next.324)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@tanstack/react-query': 5.28.8(react@18.2.0) + '@trpc/client': 11.0.0-next.324(@trpc/server@11.0.0-next.324) + '@trpc/server': 11.0.0-next.324 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@trpc/server@11.0.0-next.324': {} + + '@types/cookie@0.6.0': {} + + '@types/d3-array@3.2.1': {} + + '@types/d3-color@3.1.3': {} + + '@types/d3-ease@3.0.2': {} + + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-path@1.0.11': {} + + '@types/d3-path@3.1.0': {} + + '@types/d3-scale@4.0.8': + dependencies: + '@types/d3-time': 3.0.3 + + '@types/d3-shape@1.3.12': + dependencies: + '@types/d3-path': 1.0.11 + + '@types/d3-shape@3.1.6': + dependencies: + '@types/d3-path': 3.1.0 + + '@types/d3-time@3.0.3': {} + + '@types/d3-timer@3.0.2': {} + + '@types/estree@1.0.5': {} + + '@types/json-schema@7.0.15': {} + + '@types/json5@0.0.29': {} + + '@types/node@20.4.0': {} + + '@types/pg@8.6.6': + dependencies: + '@types/node': 20.4.0 + pg-protocol: 1.6.0 + pg-types: 2.2.0 + + '@types/prop-types@15.7.12': {} + + '@types/react-dom@18.2.19': + dependencies: + '@types/react': 18.2.55 + + '@types/react@18.2.55': + dependencies: + '@types/prop-types': 15.7.12 + '@types/scheduler': 0.23.0 + csstype: 3.1.3 + + '@types/recharts@1.8.24': + dependencies: + '@types/d3-shape': 1.3.12 + '@types/react': 18.2.55 + + '@types/scheduler@0.23.0': {} + + '@types/semver@7.5.8': {} + + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + eslint: 8.57.0 + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@6.21.0': {} + + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3)': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + + '@ungap/structured-clone@1.2.0': {} + + '@upstash/qstash@2.4.2': + dependencies: + crypto-js: 4.2.0 + jose: 5.2.3 + + '@vue/compiler-core@3.4.21': + dependencies: + '@babel/parser': 7.24.1 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + + '@vue/compiler-dom@3.4.21': + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/compiler-sfc@3.4.21': + dependencies: + '@babel/parser': 7.24.1 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.8 + postcss: 8.4.38 + source-map-js: 1.2.0 + + '@vue/compiler-ssr@3.4.21': + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/reactivity@3.4.21': + dependencies: + '@vue/shared': 3.4.21 + + '@vue/runtime-core@3.4.21': + dependencies: + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/runtime-dom@3.4.21': + dependencies: + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 + + '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.3.3) + + '@vue/shared@3.4.21': {} + + '@yr/monotone-cubic-spline@1.0.3': {} + + acorn-jsx@5.3.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn@8.11.3: {} + + ai@2.1.17(react@18.2.0)(svelte@4.2.12)(vue@3.4.21(typescript@5.3.3)): + dependencies: + eventsource-parser: 1.0.0 + nanoid: 3.3.7 + sswr: 1.11.0(svelte@4.2.12) + swr: 2.1.5(react@18.2.0) + swrv: 1.0.3(vue@3.4.21(typescript@5.3.3)) + optionalDependencies: + react: 18.2.0 + svelte: 4.2.12 + vue: 3.4.21(typescript@5.3.3) + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@6.2.1: {} + + any-promise@1.3.0: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + apexcharts@3.48.0: + dependencies: + '@yr/monotone-cubic-spline': 1.0.3 + svg.draggable.js: 2.2.2 + svg.easing.js: 2.0.0 + svg.filter.js: 2.0.2 + svg.pathmorphing.js: 0.1.3 + svg.resize.js: 1.4.3 + svg.select.js: 3.0.1 + + arg@5.0.2: {} + + argparse@2.0.1: {} + + aria-hidden@1.2.4: + dependencies: + tslib: 2.6.2 + + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + + array-buffer-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + + array-includes@3.1.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + is-string: 1.0.7 + + array-union@2.1.0: {} + + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.findlastindex@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + + array.prototype.flat@1.3.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-shim-unscopables: 1.0.2 + + array.prototype.flatmap@1.3.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-shim-unscopables: 1.0.2 + + array.prototype.toreversed@1.1.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-shim-unscopables: 1.0.2 + + array.prototype.tosorted@1.1.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 + + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + + ast-types-flow@0.0.8: {} + + asynckit@0.4.0: {} + + attr-accept@2.2.2: {} + + autoprefixer@10.4.17(postcss@8.4.33): + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001600 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.33 + postcss-value-parser: 4.2.0 + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + + axe-core@4.7.0: {} + + axios@1.4.0: + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + axios@1.6.8: + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + axobject-query@3.2.1: + dependencies: + dequal: 2.0.3 + + axobject-query@4.0.0: + dependencies: + dequal: 2.0.3 + + balanced-match@1.0.2: {} + + binary-extensions@2.3.0: {} + + bowser@2.11.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.2: + dependencies: + fill-range: 7.0.1 + + browserslist@4.23.0: + dependencies: + caniuse-lite: 1.0.30001600 + electron-to-chromium: 1.4.717 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + + buffer-from@1.1.2: {} + + buffer-writer@2.0.0: {} + + builtin-modules@3.3.0: {} + + builtins@5.0.1: + dependencies: + semver: 7.6.0 + + bunnycdn-stream@2.2.3: + dependencies: + axios: 1.6.8 + file-type: 16.5.4 + transitivePeerDependencies: + - debug + + busboy@1.6.0: + dependencies: + streamsearch: 1.1.0 + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + callsites@3.1.0: {} + + camelcase-css@2.0.1: {} + + camelcase@7.0.1: {} + + caniuse-lite@1.0.30001600: {} + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.3.0: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + cli-color@2.0.4: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-iterator: 2.0.3 + memoizee: 0.4.15 + timers-ext: 0.1.7 + + client-only@0.0.1: {} + + clsx@2.1.0: {} + + cmdk@0.2.0(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + dependencies: + '@radix-ui/react-dialog': 1.0.0(@types/react@18.2.55)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + command-score: 0.1.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + + code-red@1.0.4: + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + '@types/estree': 1.0.5 + acorn: 8.11.3 + estree-walker: 3.0.3 + periscopic: 3.1.0 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + command-score@0.1.2: {} + + commander@4.1.1: {} + + commander@7.2.0: {} + + commander@9.5.0: {} + + concat-map@0.0.1: {} + + cookie@0.6.0: {} + + copy-anything@3.0.5: + dependencies: + is-what: 4.1.16 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-js@4.2.0: {} + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.0 + + cssesc@3.0.0: {} + + csstype@3.1.3: {} + + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + + d3-color@3.1.0: {} + + d3-ease@3.0.1: {} + + d3-format@3.1.0: {} + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-path@3.1.0: {} + + d3-scale@4.0.2: + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.0 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + + d3-shape@3.2.0: + dependencies: + d3-path: 3.1.0 + + d3-time-format@4.1.0: + dependencies: + d3-time: 3.1.0 + + d3-time@3.1.0: + dependencies: + d3-array: 3.2.4 + + d3-timer@3.0.1: {} + + d@1.0.2: + dependencies: + es5-ext: 0.10.64 + type: 2.7.2 + + damerau-levenshtein@1.0.8: {} + + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + date-fns@3.6.0: {} + + dayjs@1.11.10: {} + + debug@3.2.7: + dependencies: + ms: 2.1.3 + + debug@4.3.4: + dependencies: + ms: 2.1.2 + + decimal.js-light@2.5.1: {} + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + delayed-stream@1.0.0: {} + + dequal@2.0.3: {} + + detect-node-es@1.1.0: {} + + didyoumean@1.2.2: {} + + difflib@0.2.4: + dependencies: + heap: 0.2.7 + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dlv@1.1.3: {} + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-helpers@3.4.0: + dependencies: + '@babel/runtime': 7.24.1 + + dotenv-cli@7.3.0: + dependencies: + cross-spawn: 7.0.3 + dotenv: 16.4.5 + dotenv-expand: 10.0.0 + minimist: 1.2.8 + + dotenv-expand@10.0.0: {} + + dotenv@16.4.5: {} + + dreamopt@0.8.0: + dependencies: + wordwrap: 1.0.0 + + drizzle-kit@0.20.14: + dependencies: + '@drizzle-team/studio': 0.0.39 + '@esbuild-kit/esm-loader': 2.6.5 + camelcase: 7.0.1 + chalk: 5.3.0 + commander: 9.5.0 + env-paths: 3.0.0 + esbuild: 0.19.12 + esbuild-register: 3.5.0(esbuild@0.19.12) + glob: 8.1.0 + hanji: 0.0.5 + json-diff: 0.9.0 + minimatch: 7.4.6 + semver: 7.6.0 + zod: 3.22.4 + transitivePeerDependencies: + - supports-color + + drizzle-orm@0.29.5(@neondatabase/serverless@0.7.2)(@types/pg@8.6.6)(@types/react@18.2.55)(pg@8.11.3)(react@18.2.0): + optionalDependencies: + '@neondatabase/serverless': 0.7.2 + '@types/pg': 8.6.6 '@types/react': 18.2.55 + pg: 8.11.3 react: 18.2.0 - dev: false - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + eastasianwidth@0.2.0: {} - /electron-to-chromium@1.4.717: - resolution: {integrity: sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==} - dev: true + electron-to-chromium@1.4.717: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@8.0.0: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + emoji-regex@9.2.2: {} - /enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} - engines: {node: '>=10.13.0'} + enhanced-resolve@5.16.0: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - dev: true - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - dev: false + entities@4.5.0: {} - /env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + env-paths@3.0.0: {} - /es-abstract@1.23.2: - resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==} - engines: {node: '>= 0.4'} + es-abstract@1.23.2: dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -5241,23 +7470,14 @@ packages: typed-array-length: 1.0.6 unbox-primitive: 1.0.2 which-typed-array: 1.1.15 - dev: true - /es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} + es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 - dev: true - /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - dev: true + es-errors@1.3.0: {} - /es-iterator-helpers@1.0.18: - resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} - engines: {node: '>= 0.4'} + es-iterator-helpers@1.0.18: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -5273,91 +7493,60 @@ packages: internal-slot: 1.0.7 iterator.prototype: 1.1.2 safe-array-concat: 1.1.2 - dev: true - /es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} + es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 - dev: true - /es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.3: dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 hasown: 2.0.2 - dev: true - /es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + es-shim-unscopables@1.0.2: dependencies: hasown: 2.0.2 - dev: true - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 - dev: true - /es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - requiresBuild: true + es5-ext@0.10.64: dependencies: es6-iterator: 2.0.3 es6-symbol: 3.1.4 esniff: 2.0.1 next-tick: 1.1.0 - dev: true - /es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + es6-iterator@2.0.3: dependencies: d: 1.0.2 es5-ext: 0.10.64 es6-symbol: 3.1.4 - dev: true - /es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} + es6-symbol@3.1.4: dependencies: d: 1.0.2 ext: 1.7.0 - dev: true - /es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + es6-weak-map@2.0.3: dependencies: d: 1.0.2 es5-ext: 0.10.64 es6-iterator: 2.0.3 es6-symbol: 3.1.4 - dev: true - /esbuild-register@3.5.0(esbuild@0.19.12): - resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} - peerDependencies: - esbuild: '>=0.12 <1' + esbuild-register@3.5.0(esbuild@0.19.12): dependencies: debug: 4.3.4 esbuild: 0.19.12 transitivePeerDependencies: - supports-color - dev: true - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.18.20: optionalDependencies: '@esbuild/android-arm': 0.18.20 '@esbuild/android-arm64': 0.18.20 @@ -5381,13 +7570,8 @@ packages: '@esbuild/win32-arm64': 0.18.20 '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - dev: true - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.19.12: optionalDependencies: '@esbuild/aix-ppc64': 0.19.12 '@esbuild/android-arm': 0.19.12 @@ -5412,99 +7596,60 @@ packages: '@esbuild/win32-arm64': 0.19.12 '@esbuild/win32-ia32': 0.19.12 '@esbuild/win32-x64': 0.19.12 - dev: true - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - dev: true + escalade@3.1.2: {} - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true + escape-string-regexp@4.0.0: {} - /eslint-compat-utils@0.5.0(eslint@8.57.0): - resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==} - engines: {node: '>=12'} - peerDependencies: - eslint: '>=6.0.0' + eslint-compat-utils@0.5.0(eslint@8.57.0): dependencies: eslint: 8.57.0 semver: 7.6.0 - dev: true - /eslint-config-next@14.1.4(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-cihIahbhYAWwXJwZkAaRPpUi5t9aOi/HdfWXOjZeUOqNWXHD8X22kd1KG58Dc3MVaRx3HoR/oMGk2ltcrqDn8g==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true + eslint-config-next@14.1.4(eslint@8.57.0)(typescript@5.3.3): dependencies: '@next/eslint-plugin-next': 14.1.4 '@rushstack/eslint-patch': 1.8.0 '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-react: 7.34.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) + optionalDependencies: typescript: 5.3.3 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' + eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - dev: true - /eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@16.6.2)(eslint-plugin-promise@6.1.1)(eslint@8.57.0): - resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} - engines: {node: '>=12.0.0'} - peerDependencies: - eslint: ^8.0.1 - eslint-plugin-import: ^2.25.2 - eslint-plugin-n: '^15.0.0 || ^16.0.0 ' - eslint-plugin-promise: ^6.0.0 + eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0))(eslint-plugin-n@16.6.2(eslint@8.57.0))(eslint-plugin-promise@6.1.1(eslint@8.57.0))(eslint@8.57.0): dependencies: eslint: 8.57.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-n: 16.6.2(eslint@8.57.0) eslint-plugin-promise: 6.1.1(eslint@8.57.0) - dev: true - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 is-core-module: 2.13.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: debug: 4.3.4 enhanced-resolve: 5.16.0 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.3 is-core-module: 2.13.1 @@ -5514,61 +7659,27 @@ packages: - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true + eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-es-x@7.6.0(eslint@8.57.0): - resolution: {integrity: sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '>=8' + eslint-plugin-es-x@7.6.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 eslint: 8.57.0 eslint-compat-utils: 0.5.0(eslint@8.57.0) - dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true + eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 @@ -5577,7 +7688,7 @@ packages: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -5587,17 +7698,14 @@ packages: object.values: 1.2.0 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): dependencies: '@babel/runtime': 7.24.1 aria-query: 5.3.0 @@ -5616,13 +7724,8 @@ packages: minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 - dev: true - /eslint-plugin-n@16.6.2(eslint@8.57.0): - resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - eslint: '>=7.0.0' + eslint-plugin-n@16.6.2(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) builtins: 5.0.1 @@ -5636,52 +7739,25 @@ packages: minimatch: 3.1.2 resolve: 1.22.8 semver: 7.6.0 - dev: true - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true + eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5): dependencies: eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 - dev: true + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@8.57.0) - /eslint-plugin-promise@6.1.1(eslint@8.57.0): - resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint-plugin-promise@6.1.1(eslint@8.57.0): dependencies: eslint: 8.57.0 - dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - dev: true - /eslint-plugin-react@7.34.1(eslint@8.57.0): - resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-react@7.34.1(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -5702,33 +7778,19 @@ packages: resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.11 - dev: true - /eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.0): - resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} - peerDependencies: - eslint: '>=5.0.0' + eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - dev: true - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /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} - dev: true + eslint-visitor-keys@3.4.3: {} - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 @@ -5770,99 +7832,58 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} + esniff@2.0.1: dependencies: d: 1.0.2 es5-ext: 0.10.64 event-emitter: 0.3.5 type: 2.7.2 - dev: true - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.6.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 - dev: true - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + esquery@1.5.0: dependencies: estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - dev: true - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true + estraverse@5.3.0: {} - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: false + estree-walker@2.0.2: {} - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.5 - dev: false - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + esutils@2.0.3: {} - /event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + event-emitter@0.3.5: dependencies: d: 1.0.2 es5-ext: 0.10.64 - dev: true - /eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: false + eventemitter3@4.0.7: {} - /eventsource-parser@1.0.0: - resolution: {integrity: sha512-9jgfSCa3dmEme2ES3mPByGXfgZ87VbP97tng1G2nWwWx6bV2nYxm2AWCrbQjXToSe+yYlqaZNtxffR9IeQr95g==} - engines: {node: '>=14.18'} - dev: false + eventsource-parser@1.0.0: {} - /ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + ext@1.7.0: dependencies: type: 2.7.2 - dev: true - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true + fast-deep-equal@3.1.3: {} - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true + fast-diff@1.3.0: {} - /fast-equals@5.0.1: - resolution: {integrity: sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==} - engines: {node: '>=6.0.0'} - dev: false + fast-equals@5.0.1: {} - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -5870,187 +7891,113 @@ packages: merge2: 1.4.1 micromatch: 4.0.5 - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + fast-json-stable-stringify@2.1.0: {} - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + fast-levenshtein@2.0.6: {} - /fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} - hasBin: true + fast-xml-parser@4.2.5: dependencies: strnum: 1.0.5 - dev: false - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fastq@1.17.1: dependencies: reusify: 1.0.4 - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 - dev: true - /file-selector@0.6.0: - resolution: {integrity: sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==} - engines: {node: '>= 12'} + file-selector@0.6.0: dependencies: tslib: 2.6.2 - dev: false - /file-type@16.5.4: - resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==} - engines: {node: '>=10'} + file-type@16.5.4: dependencies: readable-web-to-node-stream: 3.0.2 strtok3: 6.3.0 token-types: 4.2.1 - dev: false - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.2.0: dependencies: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - dev: true - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true + flatted@3.3.1: {} - /follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: false + follow-redirects@1.15.6: {} - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: is-callable: 1.2.7 - dev: true - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + form-data@4.0.0: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: false - /fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - dev: true + fraction.js@4.3.7: {} - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true + fs.realpath@1.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] - requiresBuild: true + fsevents@2.3.3: optional: true - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-bind@1.1.2: {} - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + function.prototype.name@1.1.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.2 functions-have-names: 1.2.3 - dev: true - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true + functions-have-names@1.2.3: {} - /get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} + get-intrinsic@1.2.4: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.2 - dev: true - /get-nonce@1.0.1: - resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} - engines: {node: '>=6'} - dev: false + get-nonce@1.0.1: {} - /get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} + get-symbol-description@1.0.2: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - dev: true - /get-tsconfig@4.7.3: - resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + get-tsconfig@4.7.3: dependencies: resolve-pkg-maps: 1.0.0 - dev: true - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + glob@10.3.10: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 @@ -6058,8 +8005,7 @@ packages: minipass: 7.0.4 path-scurry: 1.10.1 - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -6067,36 +8013,24 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + glob@8.1.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 - dev: true - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - dev: true - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} + globalthis@1.0.3: dependencies: define-properties: 1.2.1 - dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -6104,531 +8038,304 @@ packages: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 - dev: true - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.4 - dev: true - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graceful-fs@4.2.11: {} - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graphemer@1.4.0: {} - /hanji@0.0.5: - resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==} + hanji@0.0.5: dependencies: lodash.throttle: 4.1.1 sisteransi: 1.0.5 - dev: true - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true + has-bigints@1.0.2: {} - /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 - dev: true - /has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - dev: true + has-proto@1.0.3: {} - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true + has-symbols@1.0.3: {} - /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: dependencies: has-symbols: 1.0.3 - dev: true - /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + hasown@2.0.2: dependencies: function-bind: 1.1.2 - /heap@0.2.7: - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - dev: true + heap@0.2.7: {} - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false + ieee754@1.2.1: {} - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true + ignore@5.3.1: {} - /immer@10.0.3: - resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==} - dev: false + immer@10.0.3: {} - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true + imurmurhash@0.1.4: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inherits@2.0.4: {} - /internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} + internal-slot@1.0.7: dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 - dev: true - /internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - dev: false + internmap@2.0.3: {} - /invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + invariant@2.2.4: dependencies: loose-envify: 1.4.0 - dev: false - /is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} + is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - dev: true - /is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} + is-async-function@2.0.0: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 - dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 - dev: true - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true + is-callable@1.2.7: {} - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.13.1: dependencies: hasown: 2.0.2 - /is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} + is-data-view@1.0.1: dependencies: is-typed-array: 1.1.13 - dev: true - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + is-extglob@2.1.1: {} - /is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + is-finalizationregistry@1.0.2: dependencies: call-bind: 1.0.7 - dev: true - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + is-fullwidth-code-point@3.0.0: {} - /is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} + is-generator-function@1.0.10: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - /is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - dev: true + is-map@2.0.3: {} - /is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - dev: true + is-negative-zero@2.0.3: {} - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + is-number@7.0.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true + is-path-inside@3.0.3: {} - /is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: true + is-promise@2.2.2: {} - /is-reference@3.0.2: - resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + is-reference@3.0.2: dependencies: '@types/estree': 1.0.5 - dev: false - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + is-regex@1.1.4: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - dev: true + is-set@2.0.3: {} - /is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} + is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 - dev: true - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 - dev: true - /is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.13: dependencies: which-typed-array: 1.1.15 - dev: true - /is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - dev: true + is-weakmap@2.0.2: {} - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-weakref@1.0.2: dependencies: call-bind: 1.0.7 - dev: true - /is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} + is-weakset@2.0.3: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - dev: true - /is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} + is-what@4.1.16: {} - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true + isarray@2.0.5: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@2.0.0: {} - /iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + iterator.prototype@1.1.2: dependencies: define-properties: 1.2.1 get-intrinsic: 1.2.4 has-symbols: 1.0.3 reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 - dev: true - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true + jiti@1.21.0: {} - /jose@5.2.3: - resolution: {integrity: sha512-KUXdbctm1uHVL8BYhnyHkgp3zDX5KW8ZhAKVFEfUbU2P8Alpzjb+48hHvjOdQIyPshoblhzsuqOwEEAbtHVirA==} - dev: false + jose@5.2.3: {} - /jotai-immer@0.2.0(immer@10.0.3)(jotai@2.6.3)(react@18.2.0): - resolution: {integrity: sha512-hahK8EPiROS9RoNWmX/Z8rY9WkAijspX4BZ1O7umpcwI4kPNkbcCpu/PhiQ8FMcpEcF6KmbpbMpSSj/GFmo8NA==} - peerDependencies: - immer: '*' - jotai: '>=1.11.0' - react: '>=17.0.0' + jotai-immer@0.2.0(immer@10.0.3)(jotai@2.6.3(@types/react@18.2.55)(react@18.2.0))(react@18.2.0): dependencies: immer: 10.0.3 jotai: 2.6.3(@types/react@18.2.55)(react@18.2.0) react: 18.2.0 - dev: false - /jotai@2.6.3(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-0htSJ2d6426ZdSEYHncJHXY6Lkgde1Hc2HE/ADIRi9d2L3hQL+jLKY1LkWBMeCNyOSlKH8+1u/Gc33Ox0uq21Q==} - engines: {node: '>=12.20.0'} - peerDependencies: - '@types/react': '>=17.0.0' - react: '>=17.0.0' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true - dependencies: + jotai@2.6.3(@types/react@18.2.55)(react@18.2.0): + optionalDependencies: '@types/react': 18.2.55 react: 18.2.0 - dev: false - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@4.0.0: {} - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - dev: true - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true + json-buffer@3.0.1: {} - /json-diff@0.9.0: - resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==} - hasBin: true + json-diff@0.9.0: dependencies: cli-color: 2.0.4 difflib: 0.2.4 dreamopt: 0.8.0 - dev: true - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-schema-traverse@0.4.1: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true + json5@1.0.2: dependencies: minimist: 1.2.8 - dev: true - /jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} + jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 array.prototype.flat: 1.3.2 object.assign: 4.1.5 object.values: 1.2.0 - dev: true - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - dev: true - /language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} - dev: true + language-subtag-registry@0.3.22: {} - /language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} + language-tags@1.0.9: dependencies: language-subtag-registry: 0.3.22 - dev: true - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} + lilconfig@2.1.0: {} - /lilconfig@3.1.1: - resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} - engines: {node: '>=14'} + lilconfig@3.1.1: {} - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lines-and-columns@1.2.4: {} - /locate-character@3.0.0: - resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} - dev: false + locate-character@3.0.0: {} - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - dev: true - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + lodash.merge@4.6.2: {} - /lodash.throttle@4.1.1: - resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} - dev: true + lodash.throttle@4.1.1: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: false + lodash@4.17.21: {} - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} + lru-cache@10.2.0: {} - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - dev: true - /lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + lru-queue@0.1.0: dependencies: es5-ext: 0.10.64 - dev: true - /lucide-react@0.319.0(react@18.2.0): - resolution: {integrity: sha512-IIbu4TfVI3yPI3ba/Li53mKeOd+WwcWI6+WcyoVdFLtrBfH88m2uQ/uTmtzBWt523HyxCFjWy3RFs0OxDFYm8w==} - peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 + lucide-react@0.319.0(react@18.2.0): dependencies: react: 18.2.0 - dev: false - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} + magic-string@0.30.8: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: false - /mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - dev: false + mdn-data@2.0.30: {} - /memoizee@0.4.15: - resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} + memoizee@0.4.15: dependencies: d: 1.0.2 es5-ext: 0.10.64 @@ -6638,139 +8345,76 @@ packages: lru-queue: 0.1.0 next-tick: 1.1.0 timers-ext: 0.1.7 - dev: true - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + merge2@1.4.1: {} - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.5: dependencies: braces: 3.0.2 picomatch: 2.3.1 - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: false + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - dev: false - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} + minimatch@7.4.6: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minimist@1.2.8: {} - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} + minipass@7.0.4: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true + ms@2.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true + ms@2.1.3: {} - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + mz@2.7.0: dependencies: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + nanoid@3.3.7: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + natural-compare@1.4.0: {} - /next-auth@5.0.0-beta.16(next@14.1.0)(react@18.2.0): - resolution: {integrity: sha512-dX2snB+ezN23tFzSes3n3uosT9iBf0eILPYWH/R2fd9n3ZzdMQlRzq7JIOPeS1aLc84IuRlyuyXyx9XmmZB6og==} - peerDependencies: - '@simplewebauthn/browser': ^9.0.1 - '@simplewebauthn/server': ^9.0.2 - next: ^14 - nodemailer: ^6.6.5 - react: ^18.2.0 - peerDependenciesMeta: - '@simplewebauthn/browser': - optional: true - '@simplewebauthn/server': - optional: true - nodemailer: - optional: true + negotiator@0.6.3: {} + + next-auth@5.0.0-beta.16(next@14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0): dependencies: '@auth/core': 0.28.1 - next: 14.1.0(react-dom@18.2.0)(react@18.2.0) + next: 14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 - dev: false - /next-themes@0.2.1(next@14.1.0)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} - peerDependencies: - next: '*' - react: '*' - react-dom: '*' + next-i18n-router@5.4.2: + dependencies: + '@formatjs/intl-localematcher': 0.5.4 + negotiator: 0.6.3 + + next-themes@0.2.1(next@14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - next: 14.1.0(react-dom@18.2.0)(react@18.2.0) + next: 14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - dev: true + next-tick@1.1.0: {} - /next@14.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==} - engines: {node: '>=18.17.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - sass: - optional: true + next@14.1.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@next/env': 14.1.0 '@swc/helpers': 0.5.2 @@ -6794,120 +8438,72 @@ packages: transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - dev: false - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - dev: true + node-releases@2.0.14: {} - /node-webvtt@1.9.4: - resolution: {integrity: sha512-EjrJdKdxSyd8j4LMLW6s2Ah4yNoeVXp18Ob04CQl1In18xcUmKzEE8pcsxxnFVqanTyjbGYph2VnvtwIXR4EjA==} - engines: {node: '>= 8.16.0'} - hasBin: true + node-webvtt@1.9.4: dependencies: commander: 7.2.0 - dev: false - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + normalize-path@3.0.0: {} - /normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - dev: true + normalize-range@0.1.2: {} - /oauth4webapi@2.10.3: - resolution: {integrity: sha512-9FkXEXfzVKzH63GUOZz1zMr3wBaICSzk6DLXx+CGdrQ10ItNk2ePWzYYc1fdmKq1ayGFb2aX97sRCoZ2s0mkDw==} - dev: false + oauth4webapi@2.10.3: {} - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + object-assign@4.1.1: {} - /object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} + object-hash@3.0.0: {} - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - dev: true + object-inspect@1.13.1: {} - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true + object-keys@1.1.1: {} - /object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /object.entries@1.1.8: - resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} - engines: {node: '>= 0.4'} + object.entries@1.1.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} + object.fromentries@2.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.2 es-object-atoms: 1.0.0 - dev: true - /object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} + object.groupby@1.0.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.2 - dev: true - /object.hasown@1.1.4: - resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} - engines: {node: '>= 0.4'} + object.hasown@1.1.4: dependencies: define-properties: 1.2.1 es-abstract: 1.23.2 es-object-atoms: 1.0.0 - dev: true - /object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} + object.values@1.2.0: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - dev: true - /openai-edge@1.2.2: - resolution: {integrity: sha512-C3/Ao9Hkx5uBPv9YFBpX/x59XMPgPUU4dyGg/0J2sOJ7O9D98kD+lfdOc7v/60oYo5xzMGct80uFkYLH+X2qgw==} - engines: {node: '>=18'} - dev: false + openai-edge@1.2.2: {} - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -6915,99 +8511,58 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - dev: true - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + packet-reader@1.0.0: {} - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-exists@4.0.0: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + path-is-absolute@1.0.1: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-key@3.1.1: {} - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + path-parse@1.0.7: {} + + path-scurry@1.10.1: dependencies: lru-cache: 10.2.0 minipass: 7.0.4 - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true + path-type@4.0.0: {} - /peek-readable@4.1.0: - resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} - engines: {node: '>=8'} - dev: false + peek-readable@4.1.0: {} - /periscopic@3.1.0: - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + periscopic@3.1.0: dependencies: '@types/estree': 1.0.5 estree-walker: 3.0.3 is-reference: 3.0.2 - dev: false - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true + pg-cloudflare@1.1.1: optional: true - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + pg-connection-string@2.6.2: {} - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} + pg-int8@1.0.1: {} - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} - peerDependencies: - pg: '>=8.0' + pg-pool@3.6.1(pg@8.11.3): dependencies: pg: 8.11.3 - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + pg-protocol@1.6.0: {} - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} + pg-types@2.2.0: dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 @@ -7015,14 +8570,7 @@ packages: postgres-date: 1.0.7 postgres-interval: 1.2.0 - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: - optional: true + pg@8.11.3: dependencies: buffer-writer: 2.0.0 packet-reader: 1.0.0 @@ -7034,388 +8582,192 @@ packages: optionalDependencies: pg-cloudflare: 1.1.1 - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + pgpass@1.0.5: dependencies: split2: 4.2.0 - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.0: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + picomatch@2.3.1: {} - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} + pify@2.3.0: {} - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} + pirates@4.0.6: {} - /possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - dev: true + possible-typed-array-names@1.0.0: {} - /postcss-import@15.1.0(postcss@8.4.33): - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 + postcss-import@15.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - /postcss-js@4.0.1(postcss@8.4.33): - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 + postcss-js@4.0.1(postcss@8.4.33): dependencies: camelcase-css: 2.0.1 postcss: 8.4.33 - /postcss-load-config@4.0.2(postcss@8.4.33): - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true + postcss-load-config@4.0.2(postcss@8.4.33): dependencies: lilconfig: 3.1.1 - postcss: 8.4.33 yaml: 2.4.1 + optionalDependencies: + postcss: 8.4.33 - /postcss-nested@6.0.1(postcss@8.4.33): - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 + postcss-nested@6.0.1(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.16 - /postcss-selector-parser@6.0.16: - resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} - engines: {node: '>=4'} + postcss-selector-parser@6.0.16: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss-value-parser@4.2.0: {} - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.31: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 - dev: false - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.33: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.38: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 - dev: false - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} + postgres-array@2.0.0: {} - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} + postgres-bytea@1.0.0: {} - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} + postgres-date@1.0.7: {} - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} + postgres-interval@1.2.0: dependencies: xtend: 4.0.2 - /preact-render-to-string@5.2.3(preact@10.11.3): - resolution: {integrity: sha512-aPDxUn5o3GhWdtJtW0svRC2SS/l8D9MAgo2+AWml+BhDImb27ALf04Q2d+AHqUUOc6RdSXFIBVa2gxzgMKgtZA==} - peerDependencies: - preact: '>=10' + preact-render-to-string@5.2.3(preact@10.11.3): dependencies: preact: 10.11.3 pretty-format: 3.8.0 - dev: false - /preact@10.11.3: - resolution: {integrity: sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==} - dev: false + preact@10.11.3: {} - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} + prettier-linter-helpers@1.0.0: dependencies: fast-diff: 1.3.0 - dev: true - /prettier-plugin-tailwindcss@0.5.12(prettier@3.2.5): - resolution: {integrity: sha512-o74kiDBVE73oHW+pdkFSluHBL3cYEvru5YgEqNkBMFF7Cjv+w1vI565lTlfoJT4VLWDe0FMtZ7FkE/7a4pMXSQ==} - engines: {node: '>=14.21.3'} - peerDependencies: - '@ianvs/prettier-plugin-sort-imports': '*' - '@prettier/plugin-pug': '*' - '@shopify/prettier-plugin-liquid': '*' - '@trivago/prettier-plugin-sort-imports': '*' - prettier: ^3.0 - prettier-plugin-astro: '*' - prettier-plugin-css-order: '*' - prettier-plugin-import-sort: '*' - prettier-plugin-jsdoc: '*' - prettier-plugin-marko: '*' - prettier-plugin-organize-attributes: '*' - prettier-plugin-organize-imports: '*' - prettier-plugin-sort-imports: '*' - prettier-plugin-style-order: '*' - prettier-plugin-svelte: '*' - prettier-plugin-twig-melody: '*' - peerDependenciesMeta: - '@ianvs/prettier-plugin-sort-imports': - optional: true - '@prettier/plugin-pug': - optional: true - '@shopify/prettier-plugin-liquid': - optional: true - '@trivago/prettier-plugin-sort-imports': - optional: true - prettier-plugin-astro: - optional: true - prettier-plugin-css-order: - optional: true - prettier-plugin-import-sort: - optional: true - prettier-plugin-jsdoc: - optional: true - prettier-plugin-marko: - optional: true - prettier-plugin-organize-attributes: - optional: true - prettier-plugin-organize-imports: - optional: true - prettier-plugin-sort-imports: - optional: true - prettier-plugin-style-order: - optional: true - prettier-plugin-svelte: - optional: true - prettier-plugin-twig-melody: - optional: true + prettier-plugin-tailwindcss@0.5.12(prettier@3.2.5): dependencies: prettier: 3.2.5 - dev: true - /prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - dev: true + prettier@3.2.5: {} - /pretty-format@3.8.0: - resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} - dev: false + pretty-format@3.8.0: {} - /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false + proxy-from-env@1.1.0: {} - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - dev: true + punycode@2.3.1: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + queue-microtask@1.2.3: {} - /react-apexcharts@1.4.1(apexcharts@3.48.0)(react@18.2.0): - resolution: {integrity: sha512-G14nVaD64Bnbgy8tYxkjuXEUp/7h30Q0U33xc3AwtGFijJB9nHqOt1a6eG0WBn055RgRg+NwqbKGtqPxy15d0Q==} - peerDependencies: - apexcharts: ^3.41.0 - react: '>=0.13' + react-apexcharts@1.4.1(apexcharts@3.48.0)(react@18.2.0): dependencies: apexcharts: 3.48.0 prop-types: 15.8.1 react: 18.2.0 - dev: false - /react-day-picker@8.10.0(date-fns@3.6.0)(react@18.2.0): - resolution: {integrity: sha512-mz+qeyrOM7++1NCb1ARXmkjMkzWVh2GL9YiPbRjKe0zHccvekk4HE+0MPOZOrosn8r8zTHIIeOUXTmXRqmkRmg==} - peerDependencies: - date-fns: ^2.28.0 || ^3.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-day-picker@8.10.0(date-fns@3.6.0)(react@18.2.0): dependencies: date-fns: 3.6.0 react: 18.2.0 - dev: false - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} - peerDependencies: - react: ^18.2.0 + react-dom@18.2.0(react@18.2.0): dependencies: loose-envify: 1.4.0 react: 18.2.0 scheduler: 0.23.0 - dev: false - /react-dropzone@14.2.3(react@18.2.0): - resolution: {integrity: sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==} - engines: {node: '>= 10.13'} - peerDependencies: - react: '>= 16.8 || 18.0.0' + react-dropzone@14.2.3(react@18.2.0): dependencies: attr-accept: 2.2.2 file-selector: 0.6.0 prop-types: 15.8.1 react: 18.2.0 - dev: false - /react-hook-form@7.49.3(react@18.2.0): - resolution: {integrity: sha512-foD6r3juidAT1cOZzpmD/gOKt7fRsDhXXZ0y28+Al1CHgX+AY1qIN9VSIIItXRq1dN68QrRwl1ORFlwjBaAqeQ==} - engines: {node: '>=18', pnpm: '8'} - peerDependencies: - react: ^16.8.0 || ^17 || ^18 + react-hook-form@7.49.3(react@18.2.0): dependencies: react: 18.2.0 - dev: false - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-is@16.13.1: {} - /react-lifecycles-compat@3.0.4: - resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - dev: false + react-lifecycles-compat@3.0.4: {} - /react-remove-scroll-bar@2.3.6(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + react-remove-scroll-bar@2.3.6(@types/react@18.2.55)(react@18.2.0): dependencies: - '@types/react': 18.2.55 react: 18.2.0 react-style-singleton: 2.2.1(@types/react@18.2.55)(react@18.2.0) tslib: 2.6.2 - dev: false + optionalDependencies: + '@types/react': 18.2.55 - /react-remove-scroll@2.5.4(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + react-remove-scroll@2.5.4(@types/react@18.2.55)(react@18.2.0): dependencies: - '@types/react': 18.2.55 react: 18.2.0 react-remove-scroll-bar: 2.3.6(@types/react@18.2.55)(react@18.2.0) react-style-singleton: 2.2.1(@types/react@18.2.55)(react@18.2.0) tslib: 2.6.2 use-callback-ref: 1.3.2(@types/react@18.2.55)(react@18.2.0) use-sidecar: 1.1.2(@types/react@18.2.55)(react@18.2.0) - dev: false + optionalDependencies: + '@types/react': 18.2.55 - /react-remove-scroll@2.5.5(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + react-remove-scroll@2.5.5(@types/react@18.2.55)(react@18.2.0): dependencies: - '@types/react': 18.2.55 react: 18.2.0 react-remove-scroll-bar: 2.3.6(@types/react@18.2.55)(react@18.2.0) react-style-singleton: 2.2.1(@types/react@18.2.55)(react@18.2.0) tslib: 2.6.2 use-callback-ref: 1.3.2(@types/react@18.2.55)(react@18.2.0) use-sidecar: 1.1.2(@types/react@18.2.55)(react@18.2.0) - dev: false + optionalDependencies: + '@types/react': 18.2.55 - /react-smooth@2.0.5(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-BMP2Ad42tD60h0JW6BFaib+RJuV5dsXJK9Baxiv/HlNFjvRLqA9xrNKxVWnUIZPQfzUwGXIlU/dSYLU+54YGQA==} - peerDependencies: - prop-types: ^15.6.0 - react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react-smooth@2.0.5(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: fast-equals: 5.0.1 prop-types: 15.8.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-transition-group: 2.9.0(react-dom@18.2.0)(react@18.2.0) - dev: false + react-transition-group: 2.9.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - /react-style-singleton@2.2.1(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + react-style-singleton@2.2.1(@types/react@18.2.55)(react@18.2.0): dependencies: - '@types/react': 18.2.55 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 tslib: 2.6.2 - dev: false + optionalDependencies: + '@types/react': 18.2.55 - /react-transition-group@2.9.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==} - peerDependencies: - react: '>=15.0.0' - react-dom: '>=15.0.0' + react-transition-group@2.9.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: dom-helpers: 3.4.0 loose-envify: 1.4.0 @@ -7423,55 +8775,34 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-lifecycles-compat: 3.0.4 - dev: false - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} + react@18.2.0: dependencies: loose-envify: 1.4.0 - dev: false - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-cache@1.0.0: dependencies: pify: 2.3.0 - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: false - /readable-web-to-node-stream@3.0.2: - resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==} - engines: {node: '>=8'} + readable-web-to-node-stream@3.0.2: dependencies: readable-stream: 3.6.2 - dev: false - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - /recharts-scale@0.4.5: - resolution: {integrity: sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==} + recharts-scale@0.4.5: dependencies: decimal.js-light: 2.5.1 - dev: false - /recharts@2.11.0(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-5s+u1m5Hwxb2nh0LABkE3TS/lFqFHyWl7FnPbQhHobbQQia4ih1t3o3+ikPYr31Ns+kYe4FASIthKeKi/YYvMg==} - engines: {node: '>=14'} - peerDependencies: - prop-types: ^15.6.0 - react: ^16.0.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 + recharts@2.11.0(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: clsx: 2.1.0 eventemitter3: 4.0.7 @@ -7480,15 +8811,12 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-is: 16.13.1 - react-smooth: 2.0.5(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) + react-smooth: 2.0.5(prop-types@15.8.1)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) recharts-scale: 0.4.5 tiny-invariant: 1.3.3 victory-vendor: 36.9.2 - dev: false - /reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} + reflect.getprototypeof@1.0.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -7497,112 +8825,74 @@ packages: get-intrinsic: 1.2.4 globalthis: 1.0.3 which-builtin-type: 1.1.3 - dev: true - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regenerator-runtime@0.14.1: {} - /regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 - dev: true - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + resolve-from@4.0.0: {} - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true + resolve-pkg-maps@1.0.0: {} - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true + resolve@1.22.8: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true + resolve@2.0.0-next.5: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + reusify@1.0.4: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - /safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} + safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 - dev: true - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false + safe-buffer@5.2.1: {} - /safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} + safe-regex-test@1.0.3: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-regex: 1.1.4 - dev: true - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + scheduler@0.23.0: dependencies: loose-envify: 1.4.0 - dev: false - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true + semver@6.3.1: {} - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true + semver@7.6.0: dependencies: lru-cache: 6.0.0 - dev: true - /server-only@0.0.1: - resolution: {integrity: sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==} - dev: false + server-only-context@0.1.0(react@18.2.0): + dependencies: + react: 18.2.0 - /set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + server-only@0.0.1: {} + + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -7610,120 +8900,73 @@ packages: get-intrinsic: 1.2.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 - dev: true - /set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} + set-function-name@2.0.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - dev: true - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + shebang-regex@3.0.0: {} - /shiki@1.2.1: - resolution: {integrity: sha512-u+XW6o0vCkUNlneZb914dLO+AayEIwK5tI62WeS//R5HIXBFiYaj/Hc5xcq27Yh83Grr4JbNtUBV8W6zyK4hWg==} + shiki@1.2.1: dependencies: '@shikijs/core': 1.2.1 - dev: false - /side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} + side-channel@1.0.6: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 object-inspect: 1.13.1 - dev: true - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + signal-exit@4.1.0: {} - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true + sisteransi@1.0.5: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /sonner@1.4.41(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-uG511ggnnsw6gcn/X+YKkWPo5ep9il9wYi3QJxHsYe7yTZ4+cOd1wuodOUmOpFuXL+/RE3R04LczdNCDygTDgQ==} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 + sonner@1.4.41(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} + source-map-js@1.2.0: {} - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true + source-map@0.6.1: {} - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} + split2@4.2.0: {} - /sswr@1.11.0(svelte@4.2.12): - resolution: {integrity: sha512-D7nEdEH0A1TKZjA1wRP6frxw/dtTCuV70EK5/pELP+FrcPmyaP8jLC49mrg86Ez5cb5z3NQb2MPx2M7ZZlSupQ==} - peerDependencies: - svelte: ^4.0.0 + sswr@1.11.0(svelte@4.2.12): dependencies: svelte: 4.2.12 swrev: 3.0.0 - dev: false - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: false + streamsearch@1.1.0: {} - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} + string.prototype.matchall@4.0.11: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -7737,96 +8980,55 @@ packages: regexp.prototype.flags: 1.5.2 set-function-name: 2.0.2 side-channel: 1.0.6 - dev: true - /string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} + string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.2 es-object-atoms: 1.0.0 - dev: true - /string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + string.prototype.trimend@1.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} + string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: false - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true + strip-bom@3.0.0: {} - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strip-json-comments@3.1.1: {} - /strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - dev: false + strnum@1.0.5: {} - /strtok3@6.3.0: - resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==} - engines: {node: '>=10'} + strtok3@6.3.0: dependencies: '@tokenizer/token': 0.3.0 peek-readable: 4.1.0 - dev: false - /styled-jsx@5.1.1(react@18.2.0): - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true + styled-jsx@5.1.1(react@18.2.0): dependencies: client-only: 0.0.1 react: 18.2.0 - dev: false - /sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 @@ -7836,26 +9038,17 @@ packages: pirates: 4.0.6 ts-interface-checker: 0.1.13 - /superjson@2.2.1: - resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} - engines: {node: '>=16'} + superjson@2.2.1: dependencies: copy-anything: 3.0.5 - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + supports-preserve-symlinks-flag@1.0.0: {} - /svelte@4.2.12: - resolution: {integrity: sha512-d8+wsh5TfPwqVzbm4/HCXC783/KPHV60NvwitJnyTA5lWn1elhXMNWhXGCJ7PwPa8qFUnyJNIyuIRt2mT0WMug==} - engines: {node: '>=16'} + svelte@4.2.12: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.4.15 @@ -7871,123 +9064,70 @@ packages: locate-character: 3.0.0 magic-string: 0.30.8 periscopic: 3.1.0 - dev: false - /svg.draggable.js@2.2.2: - resolution: {integrity: sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==} - engines: {node: '>= 0.8.0'} + svg.draggable.js@2.2.2: dependencies: svg.js: 2.7.1 - dev: false - /svg.easing.js@2.0.0: - resolution: {integrity: sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==} - engines: {node: '>= 0.8.0'} + svg.easing.js@2.0.0: dependencies: svg.js: 2.7.1 - dev: false - /svg.filter.js@2.0.2: - resolution: {integrity: sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==} - engines: {node: '>= 0.8.0'} + svg.filter.js@2.0.2: dependencies: svg.js: 2.7.1 - dev: false - /svg.js@2.7.1: - resolution: {integrity: sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==} - dev: false + svg.js@2.7.1: {} - /svg.pathmorphing.js@0.1.3: - resolution: {integrity: sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==} - engines: {node: '>= 0.8.0'} + svg.pathmorphing.js@0.1.3: dependencies: svg.js: 2.7.1 - dev: false - /svg.resize.js@1.4.3: - resolution: {integrity: sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==} - engines: {node: '>= 0.8.0'} + svg.resize.js@1.4.3: dependencies: svg.js: 2.7.1 svg.select.js: 2.1.2 - dev: false - /svg.select.js@2.1.2: - resolution: {integrity: sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==} - engines: {node: '>= 0.8.0'} + svg.select.js@2.1.2: dependencies: svg.js: 2.7.1 - dev: false - /svg.select.js@3.0.1: - resolution: {integrity: sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==} - engines: {node: '>= 0.8.0'} + svg.select.js@3.0.1: dependencies: svg.js: 2.7.1 - dev: false - /swr@2.1.5(react@18.2.0): - resolution: {integrity: sha512-/OhfZMcEpuz77KavXST5q6XE9nrOBOVcBLWjMT+oAE/kQHyE3PASrevXCtQDZ8aamntOfFkbVJp7Il9tNBQWrw==} - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 + swr@2.1.5(react@18.2.0): dependencies: react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) - dev: false - /swrev@3.0.0: - resolution: {integrity: sha512-QJuZiptdOmbDY45pECBRVEgnoBlOKjeT2MWVz04wKHpWX15hM3P7EjcIbHDg5yLoPCMQ7to3349MEE+l9QF5HA==} - dev: false + swrev@3.0.0: {} - /swrv@1.0.3(vue@3.4.21): - resolution: {integrity: sha512-sl+eLEE+aPPjhP1E8gQ75q3RPRyw5Gd/kROnrTFo3+LkCeLskv7F+uAl5W97wgJkzitobL6FLsRPVm0DgIgN8A==} - peerDependencies: - vue: '>=3.2.26 < 4' + swrv@1.0.3(vue@3.4.21(typescript@5.3.3)): dependencies: vue: 3.4.21(typescript@5.3.3) - dev: false - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} + synckit@0.8.8: dependencies: '@pkgr/core': 0.1.1 tslib: 2.6.2 - dev: true - /tailwind-merge@1.14.0: - resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==} - dev: false + tailwind-merge@1.14.0: {} - /tailwind-merge@2.2.1: - resolution: {integrity: sha512-o+2GTLkthfa5YUt4JxPfzMIpQzZ3adD1vLVkvKE1Twl9UAhGsEbIZhHHZVRttyW177S8PDJI3bTQNaebyofK3Q==} + tailwind-merge@2.2.1: dependencies: '@babel/runtime': 7.24.1 - dev: false - /tailwind-variants@0.1.20(tailwindcss@3.4.1): - resolution: {integrity: sha512-AMh7x313t/V+eTySKB0Dal08RHY7ggYK0MSn/ad8wKWOrDUIzyiWNayRUm2PIJ4VRkvRnfNuyRuKbLV3EN+ewQ==} - engines: {node: '>=16.x', pnpm: '>=7.x'} - peerDependencies: - tailwindcss: '*' + tailwind-variants@0.1.20(tailwindcss@3.4.1): dependencies: tailwind-merge: 1.14.0 tailwindcss: 3.4.1 - dev: false - /tailwindcss-animate@1.0.6(tailwindcss@3.4.1): - resolution: {integrity: sha512-4WigSGMvbl3gCCact62ZvOngA+PRqhAn7si3TQ3/ZuPuQZcIEtVap+ENSXbzWhpojKB8CpvnIsrwBu8/RnHtuw==} - peerDependencies: - tailwindcss: '>=3.0.0 || insiders' + tailwindcss-animate@1.0.6(tailwindcss@3.4.1): dependencies: tailwindcss: 3.4.1 - dev: true - /tailwindcss@3.4.1: - resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} - engines: {node: '>=14.0.0'} - hasBin: true + tailwindcss@3.4.1: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -8014,146 +9154,79 @@ packages: transitivePeerDependencies: - ts-node - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true + tapable@2.2.1: {} - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-table@0.2.0: {} - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} + thenify-all@1.6.0: dependencies: thenify: 3.3.1 - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thenify@3.3.1: dependencies: any-promise: 1.3.0 - /timers-ext@0.1.7: - resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + timers-ext@0.1.7: dependencies: es5-ext: 0.10.64 next-tick: 1.1.0 - dev: true - /tiny-invariant@1.3.3: - resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} - dev: false + tiny-invariant@1.3.3: {} - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: false + to-fast-properties@2.0.0: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - /token-types@4.2.1: - resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==} - engines: {node: '>=10'} + token-types@4.2.1: dependencies: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - dev: false - /ts-api-utils@1.3.0(typescript@5.3.3): - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.3.0(typescript@5.3.3): dependencies: typescript: 5.3.3 - dev: true - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-interface-checker@0.1.13: {} - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: false + tslib@1.14.1: {} - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.2: {} - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} - engines: {node: '>=18.0.0'} - hasBin: true + tsx@4.7.1: dependencies: esbuild: 0.19.12 get-tsconfig: 4.7.3 optionalDependencies: fsevents: 2.3.3 - dev: true - /turbo-darwin-64@1.13.0: - resolution: {integrity: sha512-ctHeJXtQgBcgxnCXwrJTGiq57HtwF7zWz5NTuSv//5yeU01BtQIt62ArKfjudOhRefWJbX3Z5srn88XTb9hfww==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false + turbo-darwin-64@1.13.0: optional: true - /turbo-darwin-arm64@1.13.0: - resolution: {integrity: sha512-/Q9/pNFkF9w83tNxwMpgapwLYdQ12p8mpty2YQRoUiS9ClWkcqe136jR0mtuMqzlNlpREOFZaoyIthjt6Sdo0g==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false + turbo-darwin-arm64@1.13.0: optional: true - /turbo-linux-64@1.13.0: - resolution: {integrity: sha512-hgbT7o020BGV4L7Sd8hhFTd5zVKPKxbsr0dPfel/9NkdTmptz2aGZ0Vb2MAa18SY3XaCQpDxmdYuOzvvRpo5ZA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false + turbo-linux-64@1.13.0: optional: true - /turbo-linux-arm64@1.13.0: - resolution: {integrity: sha512-WK01i2wDZARrV+HEs495A3hNeGMwQR5suYk7G+ceqqW7b+dOTlQdvUjnI3sg7wAnZPgjafFs/hoBaZdJjVa/nw==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false + turbo-linux-arm64@1.13.0: optional: true - /turbo-windows-64@1.13.0: - resolution: {integrity: sha512-hJgSZJZwlWHNwLEthaqJqJWGm4NqF5X/I7vE0sPE4i/jeDl8f0n1hcOkgJkJiNXVxhj+qy/9+4dzbPLKT9imaQ==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false + turbo-windows-64@1.13.0: optional: true - /turbo-windows-arm64@1.13.0: - resolution: {integrity: sha512-L/ErxYoXeq8tmjU/AIGicC9VyBN1zdYw8JlM4yPmMI0pJdY8E4GaYK1IiIazqq7M72lmQhU/WW7fV9FqEktwrw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false + turbo-windows-arm64@1.13.0: optional: true - /turbo@1.13.0: - resolution: {integrity: sha512-r02GtNmkOPcQvUzVE6lg474QVLyU02r3yh3lUGqrFHf5h5ZEjgDGWILsAUqplVqjri1Y/oOkTssks4CObTAaiw==} - hasBin: true + turbo@1.13.0: optionalDependencies: turbo-darwin-64: 1.13.0 turbo-darwin-arm64: 1.13.0 @@ -8161,47 +9234,30 @@ packages: turbo-linux-arm64: 1.13.0 turbo-windows-64: 1.13.0 turbo-windows-arm64: 1.13.0 - dev: false - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /type@2.7.2: - resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} - dev: true + type@2.7.2: {} - /typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} + typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-typed-array: 1.1.13 - dev: true - /typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.1: dependencies: call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 - dev: true - /typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.2: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 @@ -8209,11 +9265,8 @@ packages: gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 - dev: true - /typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} + typed-array-length@1.0.6: dependencies: call-bind: 1.0.7 for-each: 0.3.3 @@ -8221,88 +9274,50 @@ packages: has-proto: 1.0.3 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - dev: true - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true + typescript@5.3.3: {} - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - dev: true - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + update-browserslist-db@1.0.13(browserslist@4.23.0): dependencies: browserslist: 4.23.0 escalade: 3.1.2 picocolors: 1.0.0 - dev: true - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.1 - dev: true - /use-callback-ref@1.3.2(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + use-callback-ref@1.3.2(@types/react@18.2.55)(react@18.2.0): dependencies: - '@types/react': 18.2.55 react: 18.2.0 tslib: 2.6.2 - dev: false + optionalDependencies: + '@types/react': 18.2.55 - /use-sidecar@1.1.2(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} - engines: {node: '>=10'} - peerDependencies: - '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true + use-sidecar@1.1.2(@types/react@18.2.55)(react@18.2.0): dependencies: - '@types/react': 18.2.55 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 - dev: false + optionalDependencies: + '@types/react': 18.2.55 - /use-sync-external-store@1.2.0(react@18.2.0): - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + use-sync-external-store@1.2.0(react@18.2.0): dependencies: react: 18.2.0 - dev: false - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util-deprecate@1.0.2: {} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: false + uuid@8.3.2: {} - /victory-vendor@36.9.2: - resolution: {integrity: sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==} + victory-vendor@36.9.2: dependencies: '@types/d3-array': 3.2.1 '@types/d3-ease': 3.0.2 @@ -8318,37 +9333,26 @@ packages: d3-shape: 3.2.0 d3-time: 3.1.0 d3-timer: 3.0.1 - dev: false - /vue@3.4.21(typescript@5.3.3): - resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + vue@3.4.21(typescript@5.3.3): dependencies: '@vue/compiler-dom': 3.4.21 '@vue/compiler-sfc': 3.4.21 '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.3.3)) '@vue/shared': 3.4.21 + optionalDependencies: typescript: 5.3.3 - dev: false - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 - dev: true - /which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} - engines: {node: '>= 0.4'} + which-builtin-type@1.1.3: dependencies: function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 @@ -8362,77 +9366,48 @@ packages: which-boxed-primitive: 1.0.2 which-collection: 1.0.2 which-typed-array: 1.1.15 - dev: true - /which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} + which-collection@1.0.2: dependencies: is-map: 2.0.3 is-set: 2.0.3 is-weakmap: 2.0.2 is-weakset: 2.0.3 - dev: true - /which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 - dev: true - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true + wordwrap@1.0.0: {} - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true + wrappy@1.0.2: {} - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + xtend@4.0.2: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true + yallist@4.0.0: {} - /yaml@2.4.1: - resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} - engines: {node: '>= 14'} - hasBin: true + yaml@2.4.1: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@0.1.0: {} - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zod@3.22.4: {}