From 38890de7f14549eb4815a2560692cf474a389a6c Mon Sep 17 00:00:00 2001 From: Keith Williams Date: Wed, 31 Dec 2025 09:44:52 -0300 Subject: [PATCH 01/10] chore: Use 8 shards for main E2E tests (#26342) * chore: Use 6 shards for main E2E tests * Update .github/workflows/e2e.yml --- .github/workflows/e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 1141ad407b9366..9498cd5515303d 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -74,7 +74,7 @@ jobs: strategy: fail-fast: false matrix: - shard: [1, 2, 3, 4] + shard: [1, 2, 3, 4, 5, 6, 7, 8] steps: - uses: docker/login-action@v3 with: From c47c6f29098571d9c1318110e682dc7891b9ee9a Mon Sep 17 00:00:00 2001 From: Keith Williams Date: Wed, 31 Dec 2025 09:54:56 -0300 Subject: [PATCH 02/10] perf: optimize postgres health check in all CI workflows (#26343) * perf: optimize postgres health check in e2e workflow Co-Authored-By: keith@cal.com * perf: optimize postgres health check in all e2e workflows Co-Authored-By: keith@cal.com --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .github/workflows/api-v1-production-build.yml | 9 +++++---- .github/workflows/e2e-api-v2.yml | 9 +++++---- .github/workflows/e2e-app-store.yml | 9 +++++---- .github/workflows/e2e-embed-react.yml | 9 +++++---- .github/workflows/e2e-embed.yml | 9 +++++---- .github/workflows/e2e.yml | 9 +++++---- 6 files changed, 30 insertions(+), 24 deletions(-) diff --git a/.github/workflows/api-v1-production-build.yml b/.github/workflows/api-v1-production-build.yml index d3a35bc8f4374b..8f59aa5480f2c8 100644 --- a/.github/workflows/api-v1-production-build.yml +++ b/.github/workflows/api-v1-production-build.yml @@ -56,10 +56,11 @@ jobs: POSTGRES_PASSWORD: postgres POSTGRES_DB: calendso options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 + --health-cmd "pg_isready -h 127.0.0.1 -U postgres" + --health-interval 2s + --health-timeout 3s + --health-retries 15 + --health-start-period 2s ports: - 5432:5432 steps: diff --git a/.github/workflows/e2e-api-v2.yml b/.github/workflows/e2e-api-v2.yml index 1eb94959711fad..d080eb8e298224 100644 --- a/.github/workflows/e2e-api-v2.yml +++ b/.github/workflows/e2e-api-v2.yml @@ -43,10 +43,11 @@ jobs: POSTGRES_PASSWORD: postgres POSTGRES_DB: calendso options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 + --health-cmd "pg_isready -h 127.0.0.1 -U postgres" + --health-interval 2s + --health-timeout 3s + --health-retries 15 + --health-start-period 2s ports: - 5432:5432 redis: diff --git a/.github/workflows/e2e-app-store.yml b/.github/workflows/e2e-app-store.yml index 01952477b345ab..8a4ca30454f3ec 100644 --- a/.github/workflows/e2e-app-store.yml +++ b/.github/workflows/e2e-app-store.yml @@ -57,10 +57,11 @@ jobs: POSTGRES_PASSWORD: postgres POSTGRES_DB: calendso options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 + --health-cmd "pg_isready -h 127.0.0.1 -U postgres" + --health-interval 2s + --health-timeout 3s + --health-retries 15 + --health-start-period 2s ports: - 5432:5432 mailhog: diff --git a/.github/workflows/e2e-embed-react.yml b/.github/workflows/e2e-embed-react.yml index d82982fadb84af..80112c3e4b4dd1 100644 --- a/.github/workflows/e2e-embed-react.yml +++ b/.github/workflows/e2e-embed-react.yml @@ -57,10 +57,11 @@ jobs: POSTGRES_PASSWORD: postgres POSTGRES_DB: calendso options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 + --health-cmd "pg_isready -h 127.0.0.1 -U postgres" + --health-interval 2s + --health-timeout 3s + --health-retries 15 + --health-start-period 2s ports: - 5432:5432 strategy: diff --git a/.github/workflows/e2e-embed.yml b/.github/workflows/e2e-embed.yml index 170270fb11386a..614b098d935010 100644 --- a/.github/workflows/e2e-embed.yml +++ b/.github/workflows/e2e-embed.yml @@ -57,10 +57,11 @@ jobs: POSTGRES_PASSWORD: postgres POSTGRES_DB: calendso options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 + --health-cmd "pg_isready -h 127.0.0.1 -U postgres" + --health-interval 2s + --health-timeout 3s + --health-retries 15 + --health-start-period 2s ports: - 5432:5432 mailhog: diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 9498cd5515303d..a5132a89d11419 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -57,10 +57,11 @@ jobs: POSTGRES_PASSWORD: postgres POSTGRES_DB: calendso options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 + --health-cmd "pg_isready -h 127.0.0.1 -U postgres" + --health-interval 2s + --health-timeout 3s + --health-retries 15 + --health-start-period 2s ports: - 5432:5432 mailhog: From 17224d9df36b12af6183dc6e6357fc549332d0c5 Mon Sep 17 00:00:00 2001 From: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> Date: Wed, 31 Dec 2025 18:49:09 +0530 Subject: [PATCH 03/10] ci: reduce e2e-api-v2 test overhead with caching and Jest optimizations (#26331) * perf: increase E2E test shards from 4 to 6 for faster CI Increase the number of parallel E2E test shards from 4 to 6 to reduce overall CI wall-clock time. Each shard runs on a separate 4-vCPU runner with 4 workers, so adding more shards increases total parallelism. This should reduce E2E test time from ~3 minutes per shard to ~2 minutes per shard by distributing tests across more parallel jobs. Co-Authored-By: anik@cal.com * update * fix * update * readd * final update * fix flake --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .github/workflows/api-v2-production-build.yml | 30 +++++-------------- .github/workflows/e2e-api-v2.yml | 15 ++++++++-- apps/api/v2/jest-e2e.ts | 11 +++++-- apps/api/v2/package.json | 1 + .../index/organizations-teams.controller.ts | 2 +- 5 files changed, 31 insertions(+), 28 deletions(-) diff --git a/.github/workflows/api-v2-production-build.yml b/.github/workflows/api-v2-production-build.yml index a4336b19cb21e8..177199661f6c32 100644 --- a/.github/workflows/api-v2-production-build.yml +++ b/.github/workflows/api-v2-production-build.yml @@ -6,6 +6,8 @@ on: env: DATABASE_URL: ${{ secrets.CI_DATABASE_URL }} DATABASE_DIRECT_URL: ${{ secrets.CI_DATABASE_URL }} + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ secrets.TURBO_TEAM }} jobs: build: @@ -35,29 +37,11 @@ jobs: - uses: actions/checkout@v4 - uses: ./.github/actions/dangerous-git-checkout - uses: ./.github/actions/yarn-install - - name: Cache API v2 production build - uses: actions/cache@v4 - id: cache-api-v2-build - env: - cache-name: api-v2-build - key-1: ${{ hashFiles('yarn.lock') }} - key-2: ${{ hashFiles('apps/api/v2/**.[jt]s', 'apps/api/v2/**.[jt]sx', '!**/node_modules') }} - key-3: ${{ github.event.pull_request.number || github.ref }} - # Ensures production-build.yml will always be fresh - key-4: ${{ github.sha }} - with: - path: | - **/dist/** - key: ${{ runner.os }}-${{ env.cache-name }}-${{ env.key-1 }}-${{ env.key-2 }}-${{ env.key-3 }}-${{ env.key-4 }} - - name: Log Cache Hit - if: steps.cache-api-v2-build.outputs.cache-hit == 'true' - run: echo "Cache hit for API v2 build. Skipping build." - - name: Run build - if: steps.cache-api-v2-build.outputs.cache-hit != 'true' + - name: Generate Prisma schemas + working-directory: apps/api/v2 + run: yarn workspace @calcom/api-v2 run generate-schemas + - name: Build API v2 with Turbo run: | export NODE_OPTIONS="--max_old_space_size=8192" - yarn workspace @calcom/api-v2 run generate-schemas && - rm -rf apps/api/v2/node_modules && - yarn install && - yarn workspace @calcom/api-v2 run build + yarn turbo run build --filter=@calcom/api-v2 shell: bash diff --git a/.github/workflows/e2e-api-v2.yml b/.github/workflows/e2e-api-v2.yml index d080eb8e298224..267c6baf958f49 100644 --- a/.github/workflows/e2e-api-v2.yml +++ b/.github/workflows/e2e-api-v2.yml @@ -27,6 +27,8 @@ env: VAPID_PRIVATE_KEY: ${{ secrets.VAPID_PRIVATE_KEY }} JWT_SECRET: ${{ secrets.CI_JWT_SECRET }} NODE_ENV: ${{ vars.CI_NODE_ENV }} + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ secrets.TURBO_TEAM }} jobs: e2e: timeout-minutes: 20 @@ -75,13 +77,22 @@ jobs: - uses: ./.github/actions/dangerous-git-checkout - uses: ./.github/actions/yarn-install - uses: ./.github/actions/cache-db + - name: Build platform packages with Turbo + run: | + yarn turbo run build \ + --filter=@calcom/platform-constants \ + --filter=@calcom/platform-enums \ + --filter=@calcom/platform-utils \ + --filter=@calcom/platform-types \ + --filter=@calcom/platform-libraries \ + --filter=@calcom/trpc - name: Run Tests working-directory: apps/api/v2 run: | - yarn test:e2e --shard=${{ matrix.shard }}/${{ strategy.job-total }} + yarn test:e2e:ci --shard=${{ matrix.shard }}/${{ strategy.job-total }} EXIT_CODE=$? - echo "yarn test:e2e --shard=${{ matrix.shard }}/${{ strategy.job-total }} command exit code: $EXIT_CODE" + echo "yarn test:e2e:ci --shard=${{ matrix.shard }}/${{ strategy.job-total }} command exit code: $EXIT_CODE" exit $EXIT_CODE - name: Upload Test Results diff --git a/apps/api/v2/jest-e2e.ts b/apps/api/v2/jest-e2e.ts index 2112133a39f65b..59125eebdc683d 100644 --- a/apps/api/v2/jest-e2e.ts +++ b/apps/api/v2/jest-e2e.ts @@ -18,7 +18,6 @@ const getMaxWorkers = () => { const maxWorkers = getMaxWorkers(); const config: Config = { - preset: "ts-jest", moduleFileExtensions: ["js", "json", "ts"], rootDir: ".", moduleNameMapper: { @@ -28,7 +27,15 @@ const config: Config = { testEnvironment: "node", testRegex: ".e2e-spec.ts$", transform: { - "^.+\\.ts$": "ts-jest", + "^.+\\.ts$": [ + "ts-jest", + process.env.CI + ? { + isolatedModules: true, + diagnostics: false, + } + : {}, + ], }, setupFiles: ["/test/setEnvVars.ts", "jest-date-mock"], setupFilesAfterEnv: ["/test/jest.setup-e2e.ts"], diff --git a/apps/api/v2/package.json b/apps/api/v2/package.json index e73c3c82178dc7..5c3734cf0331cd 100644 --- a/apps/api/v2/package.json +++ b/apps/api/v2/package.json @@ -26,6 +26,7 @@ "test:cov": "yarn dev:build && jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:e2e": "yarn dev:build && NODE_OPTIONS='--max_old_space_size=8192 --experimental-vm-modules' jest --ci --forceExit --config ./jest-e2e.ts", + "test:e2e:ci": "NODE_OPTIONS='--max_old_space_size=8192 --experimental-vm-modules' jest --ci --forceExit --config ./jest-e2e.ts", "test:e2e:local": "yarn test:e2e --maxWorkers=4", "test:e2e:watch": "yarn dev:build && jest --runInBand --detectOpenHandles --forceExit --config ./jest-e2e.ts --watch", "prisma": "yarn workspace @calcom/prisma prisma", diff --git a/apps/api/v2/src/modules/organizations/teams/index/organizations-teams.controller.ts b/apps/api/v2/src/modules/organizations/teams/index/organizations-teams.controller.ts index 9d8a1e208326d1..479a422d5a2849 100644 --- a/apps/api/v2/src/modules/organizations/teams/index/organizations-teams.controller.ts +++ b/apps/api/v2/src/modules/organizations/teams/index/organizations-teams.controller.ts @@ -43,7 +43,7 @@ import { plainToClass } from "class-transformer"; import { Request } from "express"; import { SUCCESS_STATUS, X_CAL_CLIENT_ID } from "@calcom/platform-constants"; -import { OrgTeamOutputDto, type SkipTakePagination } from "@calcom/platform-types"; +import { OrgTeamOutputDto, SkipTakePagination } from "@calcom/platform-types"; import type { Team } from "@calcom/prisma/client"; @Controller({ From 3704324474703d5f3a1ad05e99c6c473f3839852 Mon Sep 17 00:00:00 2001 From: "cal-com-ci[bot]" <247290566+cal-com-ci[bot]@users.noreply.github.com> Date: Wed, 31 Dec 2025 13:31:47 +0000 Subject: [PATCH 04/10] feat: update translations via @LingoDotDev (#26340) Co-authored-by: Lingo.dev Co-authored-by: Keith Williams --- apps/web/public/static/locales/ar/common.json | 1 + apps/web/public/static/locales/az/common.json | 1 + apps/web/public/static/locales/bg/common.json | 1 + apps/web/public/static/locales/bn/common.json | 1 + apps/web/public/static/locales/ca/common.json | 1 + apps/web/public/static/locales/cs/common.json | 1 + apps/web/public/static/locales/da/common.json | 1 + apps/web/public/static/locales/de/common.json | 1 + apps/web/public/static/locales/el/common.json | 1 + apps/web/public/static/locales/es-419/common.json | 1 + apps/web/public/static/locales/es/common.json | 1 + apps/web/public/static/locales/et/common.json | 1 + apps/web/public/static/locales/eu/common.json | 1 + apps/web/public/static/locales/fi/common.json | 1 + apps/web/public/static/locales/fr/common.json | 1 + apps/web/public/static/locales/he/common.json | 1 + apps/web/public/static/locales/hu/common.json | 1 + apps/web/public/static/locales/it/common.json | 1 + apps/web/public/static/locales/ja/common.json | 1 + apps/web/public/static/locales/km/common.json | 1 + apps/web/public/static/locales/ko/common.json | 1 + apps/web/public/static/locales/nl/common.json | 1 + apps/web/public/static/locales/no/common.json | 1 + apps/web/public/static/locales/pl/common.json | 1 + apps/web/public/static/locales/pt-BR/common.json | 1 + apps/web/public/static/locales/pt/common.json | 1 + apps/web/public/static/locales/ro/common.json | 1 + apps/web/public/static/locales/ru/common.json | 1 + apps/web/public/static/locales/sk-SK/common.json | 1 + apps/web/public/static/locales/sr/common.json | 1 + apps/web/public/static/locales/sv/common.json | 1 + apps/web/public/static/locales/tr/common.json | 1 + apps/web/public/static/locales/uk/common.json | 1 + apps/web/public/static/locales/vi/common.json | 1 + apps/web/public/static/locales/zh-CN/common.json | 1 + apps/web/public/static/locales/zh-TW/common.json | 1 + i18n.lock | 1 + 37 files changed, 37 insertions(+) diff --git a/apps/web/public/static/locales/ar/common.json b/apps/web/public/static/locales/ar/common.json index 6689db8b6dd5ba..6a8aef3e31297a 100644 --- a/apps/web/public/static/locales/ar/common.json +++ b/apps/web/public/static/locales/ar/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "سيؤدي حذف الجدول الزمني إلى إزالته من جميع أنواع الأحداث، ولا يمكن التراجع عن هذا الإجراء.", "schedule_created_successfully": "تم إنشاء جدول {{scheduleName}} بنجاح", "availability_updated_successfully": "تم تحديث جدول {{scheduleName}} بنجاح", + "bulk_updated_schedule_successfully": "تم تحديث أنواع الأحداث المحددة بشكل جماعي باستخدام الجدول الافتراضي", "schedule_deleted_successfully": "تم حذف الجدول بنجاح", "default_schedule_name": "ساعات العمل", "new_schedule_heading": "إنشاء جدول الأوقات المتاحة", diff --git a/apps/web/public/static/locales/az/common.json b/apps/web/public/static/locales/az/common.json index 001afb8e2afbe2..d3f034349d583e 100644 --- a/apps/web/public/static/locales/az/common.json +++ b/apps/web/public/static/locales/az/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Cədvəli silmək onu bütün tədbir növlərindən çıxaracaq. Bu əməliyyat geri alına bilməz.", "schedule_created_successfully": "{{scheduleName}} cədvəli uğurla yaradıldı", "availability_updated_successfully": "{{scheduleName}} cədvəli uğurla yeniləndi", + "bulk_updated_schedule_successfully": "Seçilmiş tədbir növləri standart cədvəl ilə kütləvi şəkildə yeniləndi", "schedule_deleted_successfully": "Cədvəl uğurla silindi", "default_schedule_name": "İş Saatları", "new_schedule_heading": "Mövcudluq cədvəli yaradın", diff --git a/apps/web/public/static/locales/bg/common.json b/apps/web/public/static/locales/bg/common.json index dfa976315c4ecc..5df6df5b37d704 100644 --- a/apps/web/public/static/locales/bg/common.json +++ b/apps/web/public/static/locales/bg/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Изтриването на график ще го премахне от всички типове събития. Това действие не може да бъде отменено.", "schedule_created_successfully": "График {{scheduleName}} е създаден успешно", "availability_updated_successfully": "График {{scheduleName}} е актуализиран успешно", + "bulk_updated_schedule_successfully": "Масово актуализирани избрани типове събития с график по подразбиране", "schedule_deleted_successfully": "Графикът е изтрит успешно", "default_schedule_name": "Работно време", "new_schedule_heading": "Създай график за достъпност", diff --git a/apps/web/public/static/locales/bn/common.json b/apps/web/public/static/locales/bn/common.json index 90ea99fbfbda9d..cd326e4cd99ba2 100644 --- a/apps/web/public/static/locales/bn/common.json +++ b/apps/web/public/static/locales/bn/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "একটি সময়সূচী মুছে ফেলা এটি সমস্ত ইভেন্টের প্রকার থেকে সরিয়ে ফেলবে। ", "schedule_created_successfully": "{{scheduleName}} সময়সূচী সফলভাবে তৈরি", "availability_updated_successfully": "{{scheduleName}} শিডিউল সফলভাবে আপডেট হয়েছে", + "bulk_updated_schedule_successfully": "নির্বাচিত ইভেন্ট টাইপগুলি ডিফল্ট শিডিউল দিয়ে বাল্ক আপডেট করা হয়েছে", "schedule_deleted_successfully": "শিডিউল সফলভাবে মুছে ফেলা", "default_schedule_name": "কাজের সময়", "new_schedule_heading": "একটি প্রাপ্যতা সময়সূচী তৈরি করুন", diff --git a/apps/web/public/static/locales/ca/common.json b/apps/web/public/static/locales/ca/common.json index 5dfee2581cd540..48f301fc088c03 100644 --- a/apps/web/public/static/locales/ca/common.json +++ b/apps/web/public/static/locales/ca/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "En eliminar un horari, s'eliminarà de tots els tipus d'esdeveniments. Aquesta acció no es pot desfer.", "schedule_created_successfully": "L'horari {{scheduleName}} s'ha creat correctament", "availability_updated_successfully": "L'horari {{scheduleName}} s'ha actualitzat correctament", + "bulk_updated_schedule_successfully": "S'han actualitzat en bloc els tipus d'esdeveniments seleccionats amb l'horari per defecte", "schedule_deleted_successfully": "L'horari s'ha eliminat correctament", "default_schedule_name": "Horari laboral", "new_schedule_heading": "Crea un horari de disponibilitat", diff --git a/apps/web/public/static/locales/cs/common.json b/apps/web/public/static/locales/cs/common.json index f5d6384ca4a752..b5b39aa77b4067 100644 --- a/apps/web/public/static/locales/cs/common.json +++ b/apps/web/public/static/locales/cs/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Odstraněný plán bude odstraněn ze všech typů událostí. Tuto akci nelze vrátit zpět.", "schedule_created_successfully": "Plán {{scheduleName}} byl úspěšně vytvořen", "availability_updated_successfully": "Plán {{scheduleName}} byl úspěšně aktualizován", + "bulk_updated_schedule_successfully": "Hromadně aktualizované vybrané typy událostí s výchozím rozvrhem", "schedule_deleted_successfully": "Plán byl úspěšně odstraněn", "default_schedule_name": "Pracovní doba", "new_schedule_heading": "Vytvořit plán dostupnosti", diff --git a/apps/web/public/static/locales/da/common.json b/apps/web/public/static/locales/da/common.json index ae90aeccce9edf..59ec675579bf95 100644 --- a/apps/web/public/static/locales/da/common.json +++ b/apps/web/public/static/locales/da/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Sletning af en tidsplan vil fjerne den fra alle begivenhedstyper. Denne handling kan ikke fortrydes.", "schedule_created_successfully": "{{scheduleName}} tidsplan blev oprettet", "availability_updated_successfully": "{{scheduleName}} tidsplan blev opdateret", + "bulk_updated_schedule_successfully": "Opdaterede de valgte begivenhedstyper med standardskemaet i bulk", "schedule_deleted_successfully": "Tidsplanen blev slettet", "default_schedule_name": "Arbejdstider", "new_schedule_heading": "Opret en tilgængelighedsplan", diff --git a/apps/web/public/static/locales/de/common.json b/apps/web/public/static/locales/de/common.json index 5091b98f96b388..fd38f858bbb09a 100644 --- a/apps/web/public/static/locales/de/common.json +++ b/apps/web/public/static/locales/de/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Das Löschen eines Verfügbarkeitsplanes entfernt ihn von allen Termintypen. Diese Aktion kann nicht rückgängig gemacht werden.", "schedule_created_successfully": "{{scheduleName}} -Verfügbarkeitsplan erfolgreich erstellt", "availability_updated_successfully": "{{scheduleName}} Zeitplan erfolgreich aktualisiert", + "bulk_updated_schedule_successfully": "Ausgewählte Termintypen wurden erfolgreich mit dem Standardzeitplan aktualisiert", "schedule_deleted_successfully": "Verfügbarkeitsplan erfolgreich gelöscht", "default_schedule_name": "Arbeitszeiten", "new_schedule_heading": "Erstelle einen Verfügbarkeitsplan", diff --git a/apps/web/public/static/locales/el/common.json b/apps/web/public/static/locales/el/common.json index b737fb63e8259d..1e4ffd36a0698c 100644 --- a/apps/web/public/static/locales/el/common.json +++ b/apps/web/public/static/locales/el/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Η διαγραφή ενός προγράμματος θα το αφαιρέσει από όλους τους τύπους συμβάντων. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί", "schedule_created_successfully": "Το πρόγραμμα {{scheduleName}} δημιουργήθηκε με επιτυχία", "availability_updated_successfully": "Το πρόγραμμα {{scheduleName}} ενημερώθηκε με επιτυχία", + "bulk_updated_schedule_successfully": "Μαζική ενημέρωση των επιλεγμένων τύπων συμβάντων με το προεπιλεγμένο πρόγραμμα", "schedule_deleted_successfully": "Το πρόγραμμα διαγράφηκε με επιτυχία", "default_schedule_name": "Ωράριο Εργασίας", "new_schedule_heading": "Δημιουργία προγράμματος διαθεσιμότητας", diff --git a/apps/web/public/static/locales/es-419/common.json b/apps/web/public/static/locales/es-419/common.json index d3d650f5b171ce..204eadd1ea2e1c 100644 --- a/apps/web/public/static/locales/es-419/common.json +++ b/apps/web/public/static/locales/es-419/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Eliminar un horario lo eliminará de todos los tipos de eventos. Esta acción no se puede deshacer.", "schedule_created_successfully": "Horario {{scheduleName}} creado con éxito", "availability_updated_successfully": "Horario {{scheduleName}} actualizado con éxito", + "bulk_updated_schedule_successfully": "Se actualizaron masivamente los tipos de eventos seleccionados con el horario predeterminado", "schedule_deleted_successfully": "Horario eliminado con éxito", "default_schedule_name": "Horas Laborales", "new_schedule_heading": "Crear un horario de disponibilidad", diff --git a/apps/web/public/static/locales/es/common.json b/apps/web/public/static/locales/es/common.json index 78a0a63b8e746b..91291ab228109d 100644 --- a/apps/web/public/static/locales/es/common.json +++ b/apps/web/public/static/locales/es/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Al borrar un horario se eliminará de todos los tipos de eventos. Esta acción no se puede deshacer.", "schedule_created_successfully": "Horario {{scheduleName}} creado con éxito", "availability_updated_successfully": "El horario de {{scheduleName}} se actualizó correctamente", + "bulk_updated_schedule_successfully": "Se actualizaron masivamente los tipos de eventos seleccionados con el horario predeterminado", "schedule_deleted_successfully": "Programación eliminada exitosamente", "default_schedule_name": "Horas laborables", "new_schedule_heading": "Crear un horario de disponibilidad", diff --git a/apps/web/public/static/locales/et/common.json b/apps/web/public/static/locales/et/common.json index c98fddb8dcfff4..d6bcd8f921b95e 100644 --- a/apps/web/public/static/locales/et/common.json +++ b/apps/web/public/static/locales/et/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Ajakava kustutamine eemaldab selle kõikidest sündmuste tüüpidest. Seda toimingut ei saa tagasi võtta.", "schedule_created_successfully": "{{scheduleName}} ajakava on edukalt loodud", "availability_updated_successfully": "{{scheduleName}} ajakava värskendamine õnnestus", + "bulk_updated_schedule_successfully": "Valitud sündmuste tüübid uuendati vaikimisi ajakavaga hulgi", "schedule_deleted_successfully": "Ajakava kustutati edukalt", "default_schedule_name": "Töötunnid", "new_schedule_heading": "Loo saadavuse ajakava", diff --git a/apps/web/public/static/locales/eu/common.json b/apps/web/public/static/locales/eu/common.json index f0549773616584..51d7d264da84a0 100644 --- a/apps/web/public/static/locales/eu/common.json +++ b/apps/web/public/static/locales/eu/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Ordutegi bat ezabatzeak gertaera mota guztietatik kenduko du. Ekintza hau ezin da desegin.", "schedule_created_successfully": "{{scheduleName}} ordutegia ongi sortu da", "availability_updated_successfully": "{{scheduleName}} ordutegia ongi eguneratu da", + "bulk_updated_schedule_successfully": "Hautatutako ekitaldi motak lehenetsitako egutegiarekin eguneratu dira masiboki", "schedule_deleted_successfully": "Ordutegia ongi ezabatu da", "default_schedule_name": "Lanorduak", "new_schedule_heading": "Sortu eskuragarritasun ordutegi bat", diff --git a/apps/web/public/static/locales/fi/common.json b/apps/web/public/static/locales/fi/common.json index 39d27d3f79c4d1..148aeaea634a40 100644 --- a/apps/web/public/static/locales/fi/common.json +++ b/apps/web/public/static/locales/fi/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Aikataulun poistaminen poistaa sen kaikista tapahtumatyypeistä. Tätä toimintoa ei voi kumota.", "schedule_created_successfully": "Aikataulu {{scheduleName}} luotu onnistuneesti", "availability_updated_successfully": "Aikataulu {{scheduleName}} päivitetty onnistuneesti", + "bulk_updated_schedule_successfully": "Valitut tapahtumatyypit päivitettiin joukkotoimintona oletusaikataululla", "schedule_deleted_successfully": "Aikataulu poistettu onnistuneesti", "default_schedule_name": "Työajat", "new_schedule_heading": "Luo saatavuusaikataulu", diff --git a/apps/web/public/static/locales/fr/common.json b/apps/web/public/static/locales/fr/common.json index c836e702288093..ebc375351bfa16 100644 --- a/apps/web/public/static/locales/fr/common.json +++ b/apps/web/public/static/locales/fr/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "La suppression d'un planning l'enlèvera de tous les types d'événements. Cette action ne peut pas être annulée.", "schedule_created_successfully": "Planning {{scheduleName}} créé avec succès", "availability_updated_successfully": "Planning {{scheduleName}} mis à jour avec succès", + "bulk_updated_schedule_successfully": "Mise à jour groupée des types d'événements sélectionnés avec le planning par défaut effectuée", "schedule_deleted_successfully": "Planning supprimé avec succès", "default_schedule_name": "Heures de travail", "new_schedule_heading": "Créer un planning de disponibilité", diff --git a/apps/web/public/static/locales/he/common.json b/apps/web/public/static/locales/he/common.json index 734a8a9aa2be22..efe9334e136a39 100644 --- a/apps/web/public/static/locales/he/common.json +++ b/apps/web/public/static/locales/he/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "מחיקת תזמון תמחק אותו מכל סוגי הארועים. לא ניתן לבטל פעולה זו.", "schedule_created_successfully": "יצירת התזמון {{scheduleName}} בוצעה בהצלחה", "availability_updated_successfully": "עדכון התזמון {{scheduleName}} בוצע בהצלחה", + "bulk_updated_schedule_successfully": "סוגי האירועים שנבחרו עודכנו בהצלחה עם לוח הזמנים ברירת המחדל", "schedule_deleted_successfully": "מחיקת התזמון בוצעה בהצלחה", "default_schedule_name": "שעות עבודה", "new_schedule_heading": "יצירת לוח זמנים של מועדים פנויים", diff --git a/apps/web/public/static/locales/hu/common.json b/apps/web/public/static/locales/hu/common.json index 80e4d1d8fbdd1d..4bd9247b84ee35 100644 --- a/apps/web/public/static/locales/hu/common.json +++ b/apps/web/public/static/locales/hu/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Az ütemezés törlésével eltávolítja az összes eseménytípusból. Ez a művelet nem visszavonható.", "schedule_created_successfully": "{{scheduleName}} ütemezés sikeresen létrehozva", "availability_updated_successfully": "{{scheduleName}} ütemezése sikeresen frissítve", + "bulk_updated_schedule_successfully": "A kiválasztott eseménytípusok sikeresen frissítve az alapértelmezett ütemezéssel", "schedule_deleted_successfully": "Az ütemezés sikeresen törölve", "default_schedule_name": "Munkaórák", "new_schedule_heading": "Készítsen elérhetőségi ütemtervet", diff --git a/apps/web/public/static/locales/it/common.json b/apps/web/public/static/locales/it/common.json index f319a50ab4f7a1..cc8075f9222af4 100644 --- a/apps/web/public/static/locales/it/common.json +++ b/apps/web/public/static/locales/it/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "L'eliminazione di una pianificazione comporterà la sua rimozione da tutti i tipi di eventi. L'azione non può essere annullata.", "schedule_created_successfully": "Programma {{scheduleName}} creato", "availability_updated_successfully": "Disponibilità aggiornata con successo", + "bulk_updated_schedule_successfully": "Aggiornamento di massa completato per i tipi di evento selezionati con la pianificazione predefinita", "schedule_deleted_successfully": "Programma eliminato", "default_schedule_name": "Orario lavorativo", "new_schedule_heading": "Crea un programma di disponibilità", diff --git a/apps/web/public/static/locales/ja/common.json b/apps/web/public/static/locales/ja/common.json index dc762198451d04..df29adf8918742 100644 --- a/apps/web/public/static/locales/ja/common.json +++ b/apps/web/public/static/locales/ja/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "スケジュールを削除すると、すべてのイベントの種類から削除されます。この操作は元に戻せません。", "schedule_created_successfully": "{{scheduleName}} のスケジュールが正常に作成されました", "availability_updated_successfully": "{{scheduleName}} スケジュールが正常に更新されました", + "bulk_updated_schedule_successfully": "選択したイベントタイプにデフォルトのスケジュールを一括適用しました", "schedule_deleted_successfully": "スケジュールが正常に削除されました", "default_schedule_name": "作業時間", "new_schedule_heading": "空き状況のスケジュールを作成する", diff --git a/apps/web/public/static/locales/km/common.json b/apps/web/public/static/locales/km/common.json index 27cad0f9b03529..6555daa3f6d953 100644 --- a/apps/web/public/static/locales/km/common.json +++ b/apps/web/public/static/locales/km/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "ការលុបកាលវិភាគនឹងយកវាចេញពីប្រភេទព្រឹត្តិការណ៍ទាំងអស់។ សកម្មភាពនេះមិនអាចត្រឡប់វិញបានទេ។", "schedule_created_successfully": "កាលវិភាគ {{scheduleName}} ត្រូវបានបង្កើតដោយជោគជ័យ", "availability_updated_successfully": "កាលវិភាគ {{scheduleName}} ត្រូវបានធ្វើបច្ចុប្បន្នភាពដោយជោគជ័យ", + "bulk_updated_schedule_successfully": "បានធ្វើបច្ចុប្បន្នភាពប្រភេទព្រឹត្តិការណ៍ដែលបានជ្រើសរើសជាមួយកាលវិភាគលំនាំដើមដោយជោគជ័យ", "schedule_deleted_successfully": "កាលវិភាគត្រូវបានលុបដោយជោគជ័យ", "default_schedule_name": "ម៉ោងធ្វើការ", "new_schedule_heading": "បង្កើតកាលវិភាគភាពអាចប្រើបាន", diff --git a/apps/web/public/static/locales/ko/common.json b/apps/web/public/static/locales/ko/common.json index 4d8b1b154890d8..30d7443b419685 100644 --- a/apps/web/public/static/locales/ko/common.json +++ b/apps/web/public/static/locales/ko/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "일정을 삭제하면 모든 이벤트 유형에서 제거됩니다. 이 작업은 취소할 수 없습니다.", "schedule_created_successfully": "{{scheduleName}} 일정이 성공적으로 생성되었습니다", "availability_updated_successfully": "{{scheduleName}} 일정이 성공적으로 업데이트되었습니다.", + "bulk_updated_schedule_successfully": "선택한 이벤트 유형에 기본 일정이 일괄 업데이트되었습니다", "schedule_deleted_successfully": "일정이 성공적으로 삭제되었습니다", "default_schedule_name": "작업 시간", "new_schedule_heading": "가용성 일정 생성", diff --git a/apps/web/public/static/locales/nl/common.json b/apps/web/public/static/locales/nl/common.json index cf4c51ceb510b1..e5f4a73fab79c8 100644 --- a/apps/web/public/static/locales/nl/common.json +++ b/apps/web/public/static/locales/nl/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Het verwijderen van een planning verwijdert deze uit alle gebeurtenistypen. Deze actie kan niet ongedaan worden gemaakt.", "schedule_created_successfully": "Planning {{scheduleName}} aangemaakt", "availability_updated_successfully": "Beschikbaarheid bijgewerkt", + "bulk_updated_schedule_successfully": "Geselecteerde evenementtypen zijn bulksgewijs bijgewerkt met standaardschema", "schedule_deleted_successfully": "Planning verwijderd", "default_schedule_name": "Werktijden", "new_schedule_heading": "Beschikbaarheidsschema aanmaken", diff --git a/apps/web/public/static/locales/no/common.json b/apps/web/public/static/locales/no/common.json index 4cbbda06c98e60..53faed28d2cf8f 100644 --- a/apps/web/public/static/locales/no/common.json +++ b/apps/web/public/static/locales/no/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Sletting av en tidsplan vil fjerne den fra alle hendelsestyper. Denne handlingen kan ikke angres.", "schedule_created_successfully": "{{scheduleName}} tidsplan opprettet", "availability_updated_successfully": "{{scheduleName}} tidsplan er oppdatert", + "bulk_updated_schedule_successfully": "Masseoppdaterte valgte hendelsestyper med standardtidsplan", "schedule_deleted_successfully": "Tidsplanen ble slettet", "default_schedule_name": "Arbeidstid", "new_schedule_heading": "Opprett en tidsplan for tilgjengelighet", diff --git a/apps/web/public/static/locales/pl/common.json b/apps/web/public/static/locales/pl/common.json index d23094810abb9a..319c2f82ebb6fa 100644 --- a/apps/web/public/static/locales/pl/common.json +++ b/apps/web/public/static/locales/pl/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Usunięcie harmonogramu spowoduje usunięcie go ze wszystkich typów wydarzeń. Tego działania nie można cofnąć.", "schedule_created_successfully": "Utworzono {{scheduleName}} typ wydarzenia pomyślnie", "availability_updated_successfully": "Pomyślnie zaktualizowano harmonogram {{scheduleName}}", + "bulk_updated_schedule_successfully": "Zaktualizowano zbiorczo wybrane typy wydarzeń domyślnym harmonogramem", "schedule_deleted_successfully": "Typ wydarzenia usunięty pomyślnie", "default_schedule_name": "Godziny pracy", "new_schedule_heading": "Utwórz harmonogram dostępności", diff --git a/apps/web/public/static/locales/pt-BR/common.json b/apps/web/public/static/locales/pt-BR/common.json index 3d6f64408d75a2..7bb0ea4742ac85 100644 --- a/apps/web/public/static/locales/pt-BR/common.json +++ b/apps/web/public/static/locales/pt-BR/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "A exclusão da agenda vai removê-la de todos os tipos de evento. Essa ação não pode ser desfeita.", "schedule_created_successfully": "Agenda {{scheduleName}} criada com êxito", "availability_updated_successfully": "Agenda {{scheduleName}} criada com êxito", + "bulk_updated_schedule_successfully": "Tipos de evento selecionados atualizados em massa com agenda padrão", "schedule_deleted_successfully": "Agenda removida com êxito", "default_schedule_name": "Horas de trabalho", "new_schedule_heading": "Criar agenda de disponibilidade", diff --git a/apps/web/public/static/locales/pt/common.json b/apps/web/public/static/locales/pt/common.json index 961a9d07cf1503..fcd81f797866af 100644 --- a/apps/web/public/static/locales/pt/common.json +++ b/apps/web/public/static/locales/pt/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "A eliminação de um agendamento irá removê-lo de todos os tipos de eventos. Esta ação não poderá ser revertida.", "schedule_created_successfully": "Horário {{scheduleName}} criado com sucesso", "availability_updated_successfully": "Horário {{scheduleName}} actualizado com sucesso", + "bulk_updated_schedule_successfully": "Tipos de evento selecionados atualizados em massa com agenda padrão", "schedule_deleted_successfully": "Horário eliminado com sucesso", "default_schedule_name": "Horário de trabalho", "new_schedule_heading": "Criar um horário de disponibilidade", diff --git a/apps/web/public/static/locales/ro/common.json b/apps/web/public/static/locales/ro/common.json index d04fa56c70ce3d..d7e4da2724d743 100644 --- a/apps/web/public/static/locales/ro/common.json +++ b/apps/web/public/static/locales/ro/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Ștergerea unei programări o va elimina din toate tipurile de evenimente. Această acțiune nu poate fi anulată.", "schedule_created_successfully": "Programul {{scheduleName}} a fost creat cu succes", "availability_updated_successfully": "Disponibilitatea actualizată cu succes", + "bulk_updated_schedule_successfully": "Tipurile de evenimente selectate au fost actualizate în bloc cu programul implicit", "schedule_deleted_successfully": "Program șters cu succes", "default_schedule_name": "Program de lucru", "new_schedule_heading": "Creați un program de disponibilitate", diff --git a/apps/web/public/static/locales/ru/common.json b/apps/web/public/static/locales/ru/common.json index 435703b615bc6a..432730f2004ac5 100644 --- a/apps/web/public/static/locales/ru/common.json +++ b/apps/web/public/static/locales/ru/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Если вы удалите расписание, оно удалится из всех типов событий. Это действие нельзя отменить.", "schedule_created_successfully": "Расписание {{scheduleName}} успешно создано", "availability_updated_successfully": "Расписание {{scheduleName}} успешно обновлено", + "bulk_updated_schedule_successfully": "Выбранные типы событий были массово обновлены с использованием расписания по умолчанию", "schedule_deleted_successfully": "Расписание успешно удалено", "default_schedule_name": "Часы работы", "new_schedule_heading": "Создать расписание доступности", diff --git a/apps/web/public/static/locales/sk-SK/common.json b/apps/web/public/static/locales/sk-SK/common.json index 0a986f842cf7c8..50edbaa58c85c6 100644 --- a/apps/web/public/static/locales/sk-SK/common.json +++ b/apps/web/public/static/locales/sk-SK/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Odstránením rozvrhu ho odstránite zo všetkých typov udalostí. Táto akcia sa nedá vrátiť späť.", "schedule_created_successfully": "Rozvrh {{scheduleName}} bol úspešne vytvorený", "availability_updated_successfully": "Rozvrh {{scheduleName}} bol úspešne aktualizovaný", + "bulk_updated_schedule_successfully": "Hromadne aktualizované vybraté typy udalostí s predvoleným rozpisom", "schedule_deleted_successfully": "Rozvrh bol úspešne odstránený", "default_schedule_name": "Pracovné hodiny", "new_schedule_heading": "Vytvoriť rozvrh dostupnosti", diff --git a/apps/web/public/static/locales/sr/common.json b/apps/web/public/static/locales/sr/common.json index db54bb4d601706..258d2322131744 100644 --- a/apps/web/public/static/locales/sr/common.json +++ b/apps/web/public/static/locales/sr/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Brisanje rasporeda će ga ukloniti iz svih tipova događaja. Ova radnja ne može da se opozove.", "schedule_created_successfully": "Raspored {{scheduleName}} je uspešno izbrisan", "availability_updated_successfully": "Распоред {{scheduleName}} је успешно ажуриран", + "bulk_updated_schedule_successfully": "Масовно ажурирани изабрани типови догађаја са подразумеваним распоредом", "schedule_deleted_successfully": "Raspored uspešno izbrisan", "default_schedule_name": "Radno vreme", "new_schedule_heading": "Napravi raspored dostupnosti", diff --git a/apps/web/public/static/locales/sv/common.json b/apps/web/public/static/locales/sv/common.json index 05593d26bc0966..2362412ca1c351 100644 --- a/apps/web/public/static/locales/sv/common.json +++ b/apps/web/public/static/locales/sv/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Om du tar bort ett schema, tas det bort från alla händelsetyper. Åtgärden kan inte ångras.", "schedule_created_successfully": "{{scheduleName}}-schemat har skapats", "availability_updated_successfully": "Schemat för {{scheduleName}} har uppdaterats", + "bulk_updated_schedule_successfully": "Valda eventtyper har massuppdaterats med standardschema", "schedule_deleted_successfully": "Schemat har tagits bort", "default_schedule_name": "Arbetstider", "new_schedule_heading": "Skapa ett tillgänglighetsschema", diff --git a/apps/web/public/static/locales/tr/common.json b/apps/web/public/static/locales/tr/common.json index b167ba03eea1f2..c2e5b646d1ff70 100644 --- a/apps/web/public/static/locales/tr/common.json +++ b/apps/web/public/static/locales/tr/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Plan silindiğinde tüm etkinlik türlerinden kaldırılır. Bu işlem geri alınamaz.", "schedule_created_successfully": "{{scheduleName}} planı başarıyla oluşturuldu", "availability_updated_successfully": "{{scheduleName}} planı başarıyla güncellendi", + "bulk_updated_schedule_successfully": "Seçili etkinlik türleri varsayılan programla toplu olarak güncellendi", "schedule_deleted_successfully": "Plan başarıyla silindi", "default_schedule_name": "Çalışma Saatleri", "new_schedule_heading": "Müsaitlik planı oluşturun", diff --git a/apps/web/public/static/locales/uk/common.json b/apps/web/public/static/locales/uk/common.json index 502bede445b188..8c5987005663f6 100644 --- a/apps/web/public/static/locales/uk/common.json +++ b/apps/web/public/static/locales/uk/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Видалений розклад буде вилучено з усіх типів заходів. Цю дію неможливо скасувати.", "schedule_created_successfully": "Розклад «{{scheduleName}}» створено", "availability_updated_successfully": "Розклад «{{scheduleName}}» оновлено", + "bulk_updated_schedule_successfully": "Масово оновлено вибрані типи подій із розкладом за замовчуванням", "schedule_deleted_successfully": "Розклад видалено", "default_schedule_name": "Робочі години", "new_schedule_heading": "Створення розкладу доступності", diff --git a/apps/web/public/static/locales/vi/common.json b/apps/web/public/static/locales/vi/common.json index 820a46832011c5..0db5bbb52e21f8 100644 --- a/apps/web/public/static/locales/vi/common.json +++ b/apps/web/public/static/locales/vi/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "Theo tác xóa một lịch hẹn sẽ xóa bỏ đi lịch hẹn đó ra khỏi tất cả các loại sự kiện. Thao tác này không thể hồi lại được.", "schedule_created_successfully": "Đã tạo thành công lịch {{scheduleName}}", "availability_updated_successfully": "Đã cập nhật thành công lịch {{scheduleName}}", + "bulk_updated_schedule_successfully": "Đã cập nhật hàng loạt các loại sự kiện đã chọn với lịch trình mặc định", "schedule_deleted_successfully": "Đã xóa lịch thành công", "default_schedule_name": "Giờ làm việc", "new_schedule_heading": "Tạo lịch khả dụng", diff --git a/apps/web/public/static/locales/zh-CN/common.json b/apps/web/public/static/locales/zh-CN/common.json index 6185505c0a4f56..a86f007ea073cf 100644 --- a/apps/web/public/static/locales/zh-CN/common.json +++ b/apps/web/public/static/locales/zh-CN/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "删除日程安排会将其从所有活动类型中删除。此操作无法撤消。", "schedule_created_successfully": "{{scheduleName}} 时间表已成功创建", "availability_updated_successfully": "{{scheduleName}} 日程更新成功", + "bulk_updated_schedule_successfully": "已批量将所选事件类型更新为默认日程", "schedule_deleted_successfully": "已成功删除时间表", "default_schedule_name": "工作时间", "new_schedule_heading": "创建可预约时间表", diff --git a/apps/web/public/static/locales/zh-TW/common.json b/apps/web/public/static/locales/zh-TW/common.json index c9f41537875122..004762eeacff09 100644 --- a/apps/web/public/static/locales/zh-TW/common.json +++ b/apps/web/public/static/locales/zh-TW/common.json @@ -1294,6 +1294,7 @@ "delete_schedule_description": "若刪除行程,該行程將從所有活動類型中移除。此操作無法復原。", "schedule_created_successfully": "成功新增行程表 {{scheduleName}}", "availability_updated_successfully": "{{scheduleName}} 日程更新成功", + "bulk_updated_schedule_successfully": "已批次更新所選事件類型為預設排程", "schedule_deleted_successfully": "成功刪除行程表", "default_schedule_name": "工作時間", "new_schedule_heading": "新增開放時間行程表", diff --git a/i18n.lock b/i18n.lock index 0e8a3582a82715..02acc4c971c070 100644 --- a/i18n.lock +++ b/i18n.lock @@ -1296,6 +1296,7 @@ checksums: delete_schedule_description: fa1613734f70a118ce68cb6ec922a6ad schedule_created_successfully: aa2f4ecee93fb44baa2fcebe66d1d212 availability_updated_successfully: cad652a630c3b1cc4dcfb2aaa60043f3 + bulk_updated_schedule_successfully: 1964d60cc976fad5b66d489b113f9b89 schedule_deleted_successfully: fe6e460999c4dd4a9b60a3f4d9578737 default_schedule_name: ba5a9d4aeb2115431906be1fa91f14d3 new_schedule_heading: c3d0781d91be1cf6cab5241f7445628f From 6451b7e0130feb4bf9253e6a97acc2fd6e4c7636 Mon Sep 17 00:00:00 2001 From: Tamal Chakraborty <134912393+Tamalckb531@users.noreply.github.com> Date: Wed, 31 Dec 2025 19:57:39 +0600 Subject: [PATCH 05/10] fix: removed weird scrollbar from apps/intalled/ navigation (#26336) * fix: removed weird scrollbar from apps/intalled navigation * revert accidental changes to ./yarn.lock --------- Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> --- packages/app-store/_components/AppCategoryNavigation.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/app-store/_components/AppCategoryNavigation.tsx b/packages/app-store/_components/AppCategoryNavigation.tsx index 6b4260de7cc385..b894d648a0d26d 100644 --- a/packages/app-store/_components/AppCategoryNavigation.tsx +++ b/packages/app-store/_components/AppCategoryNavigation.tsx @@ -35,7 +35,7 @@ const AppCategoryNavigation = ({
-
+
From 16f6099e46ef92530e7561fbcdc8287f2df489dd Mon Sep 17 00:00:00 2001 From: Keith Williams Date: Wed, 31 Dec 2025 11:17:31 -0300 Subject: [PATCH 06/10] ci: simplify DB cache key and skip yarn-install on cache hit (#26344) * ci: skip yarn-install in setup-db when DB cache exists Co-Authored-By: keith@cal.com * ci: skip entire setup-db job when DB cache exists This saves ~35-40s per workflow run by: 1. Adding DB cache lookup to prepare job (lookup-only mode) 2. Skipping the entire setup-db job when cache exists (avoids postgres container startup) 3. Keeping the yarn-install skip in setup-db.yml as a fallback Co-Authored-By: keith@cal.com * ci: simplify DB cache key and skip yarn-install on cache hit - Remove commit SHA and PR number from cache key for better reuse - Cache key now only depends on prisma schema/migrations hash - Skip yarn-install in setup-db when DB cache exists (saves ~17s) - Revert changes to pr.yml required job logic Co-Authored-By: keith@cal.com * ci: move DB cache lookup to prepare step and skip cache-db on hit - Move cache lookup to pr.yml prepare step for early detection - Pass db-cache-hit output to setup-db.yml as input - Skip yarn-install and cache-db action when cache exists - setup-db job still runs and reports success (no required job changes) Co-Authored-By: keith@cal.com * ci: skip container initialization when DB cache exists - Rename setup-db to setup-db-seed (only runs on cache miss) - Add lightweight setup-db wrapper job that always returns success - When cache exists: setup-db-seed is skipped, setup-db returns success - When cache miss: setup-db-seed runs with postgres, setup-db checks result - This avoids postgres container startup (~17-20s) when cache exists Co-Authored-By: keith@cal.com * ci: add cache-db-key action for consistent cache key generation - Create cache-db-key action to generate DB cache key in one place - Update cache-db action to use cache-db-key for consistency - Update pr.yml prepare step to use cache-db-key for lookup - This ensures the lookup key always matches the actual cache key Co-Authored-By: keith@cal.com * ci: remove runner.os from cache-db-key Co-Authored-By: keith@cal.com * ci: simplify setup-db by removing wrapper job - Remove setup-db wrapper job and rename setup-db-seed back to setup-db - setup-db is now skipped when cache exists (no container startup) - Update required check to allow skipped for setup-db when cache hit Co-Authored-By: keith@cal.com * ci: revert to two-job pattern for setup-db - setup-db-seed: only runs on cache miss (has postgres container) - setup-db: wrapper that always runs and reports success - This ensures downstream jobs (Tests, Production builds) are not skipped - Reverts required check to simple setup-db.result != 'success' Co-Authored-By: keith@cal.com * ci: single setup-db job with conditional steps on cache hit - Removed two-job pattern (setup-db-seed + wrapper) - Single setup-db job calls setup-db.yml reusable workflow - Pass DB_CACHE_HIT input from prepare job's db-cache-hit output - Skip yarn-install and cache-db steps when cache hit (~17s savings) - Container still starts (will optimize in follow-up) Co-Authored-By: keith@cal.com --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .github/actions/cache-db-key/action.yml | 23 +++++++++++++++++++++++ .github/actions/cache-db/action.yml | 15 ++++++--------- .github/workflows/pr.yml | 13 ++++++++++++- .github/workflows/setup-db.yml | 10 +++++----- 4 files changed, 46 insertions(+), 15 deletions(-) create mode 100644 .github/actions/cache-db-key/action.yml diff --git a/.github/actions/cache-db-key/action.yml b/.github/actions/cache-db-key/action.yml new file mode 100644 index 00000000000000..f8bd9211bca2f7 --- /dev/null +++ b/.github/actions/cache-db-key/action.yml @@ -0,0 +1,23 @@ +name: Generate cache-db key +description: "Generate the cache key for database caching" +inputs: + path: + required: false + default: "backups/backup.sql" + description: "Path to the backup file" +outputs: + key: + description: "The generated cache key" + value: ${{ steps.generate-key.outputs.key }} +runs: + using: "composite" + steps: + - name: Generate cache key + id: generate-key + shell: bash + env: + CACHE_NAME: cache-db + PATH_KEY: ${{ inputs.path }} + PRISMA_HASH: ${{ hashFiles('packages/prisma/schema.prisma', 'packages/prisma/migrations/**/**.sql', 'packages/prisma/*.ts') }} + run: | + echo "key=${CACHE_NAME}-${PATH_KEY}-${PRISMA_HASH}" >> $GITHUB_OUTPUT diff --git a/.github/actions/cache-db/action.yml b/.github/actions/cache-db/action.yml index 876bebd2a16287..ec5738e42675ab 100644 --- a/.github/actions/cache-db/action.yml +++ b/.github/actions/cache-db/action.yml @@ -7,21 +7,18 @@ inputs: path: required: false default: "backups/backup.sql" - COMMIT_SHA: - required: false - default: "" - description: "Commit SHA to include in cache key (passed from workflow)" runs: using: "composite" steps: + - name: Generate cache key + id: cache-key + uses: ./.github/actions/cache-db-key + with: + path: ${{ inputs.path }} - name: Cache database id: cache-db uses: actions/cache@v4 env: - cache-name: cache-db - key-1: ${{ hashFiles('packages/prisma/schema.prisma', 'packages/prisma/migrations/**/**.sql', 'packages/prisma/*.ts') }} - key-2: ${{ github.event.pull_request.number || github.ref }} - key-3: ${{ inputs.COMMIT_SHA || github.event.pull_request.head.sha || github.sha }} DATABASE_URL: ${{ inputs.DATABASE_URL }} DATABASE_DIRECT_URL: ${{ inputs.DATABASE_URL }} E2E_TEST_CALCOM_QA_EMAIL: ${{ inputs.E2E_TEST_CALCOM_QA_EMAIL }} @@ -29,7 +26,7 @@ runs: E2E_TEST_CALCOM_QA_GCAL_CREDENTIALS: ${{ inputs.E2E_TEST_CALCOM_QA_GCAL_CREDENTIALS }} with: path: ${{ inputs.path }} - key: ${{ runner.os }}-${{ env.cache-name }}-${{ inputs.path }}-${{ env.key-1 }}-${{ env.key-2 }}-${{ env.key-3 }} + key: ${{ steps.cache-key.outputs.key }} - run: yarn db-seed if: steps.cache-db.outputs.cache-hit != 'true' shell: bash diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index d15fcc6c45c4b7..d0df09ea1ad619 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -161,9 +161,20 @@ jobs: has_companion: ${{ steps.filter.outputs.has_companion }} commit-sha: ${{ steps.get_sha.outputs.commit-sha }} run-e2e: ${{ steps.check-if-pr-has-label.outputs.run-e2e == 'true' }} + db-cache-hit: ${{ steps.cache-db-check.outputs.cache-hit }} steps: - uses: actions/checkout@v4 - uses: ./.github/actions/dangerous-git-checkout + - name: Generate DB cache key + id: cache-db-key + uses: ./.github/actions/cache-db-key + - name: Check DB cache (lookup-only) + id: cache-db-check + uses: actions/cache/restore@v4 + with: + path: backups/backup.sql + key: ${{ steps.cache-db-key.outputs.key }} + lookup-only: true - uses: dorny/paths-filter@v3 id: filter with: @@ -288,7 +299,7 @@ jobs: if: ${{ needs.prepare.outputs.run-e2e == 'true' && needs.prepare.outputs.has-files-requiring-all-checks == 'true' }} uses: ./.github/workflows/setup-db.yml with: - COMMIT_SHA: ${{ needs.prepare.outputs.commit-sha }} + DB_CACHE_HIT: ${{ needs.prepare.outputs.db-cache-hit }} secrets: inherit build-api-v1: diff --git a/.github/workflows/setup-db.yml b/.github/workflows/setup-db.yml index 468dbbabbd7d2b..a4618d1fb92141 100644 --- a/.github/workflows/setup-db.yml +++ b/.github/workflows/setup-db.yml @@ -3,11 +3,11 @@ name: Setup Database on: workflow_call: inputs: - COMMIT_SHA: + DB_CACHE_HIT: required: false type: string - default: "" - description: "Commit SHA to include in cache key" + default: "false" + description: "Whether the DB cache was hit (skip yarn-install and cache-db if true)" permissions: contents: read @@ -49,6 +49,6 @@ jobs: - uses: actions/checkout@v4 - uses: ./.github/actions/dangerous-git-checkout - uses: ./.github/actions/yarn-install + if: inputs.DB_CACHE_HIT != 'true' - uses: ./.github/actions/cache-db - with: - COMMIT_SHA: ${{ inputs.COMMIT_SHA || github.sha }} + if: inputs.DB_CACHE_HIT != 'true' From 59ba1754fe0daa0f9779be13e509284fc2323970 Mon Sep 17 00:00:00 2001 From: Keith Williams Date: Wed, 31 Dec 2025 13:05:11 -0300 Subject: [PATCH 07/10] fix: use stable test dates in duplicate API calls E2E tests (#26349) The tests were failing on December 31 because they used new Date() which caused month boundary issues with the prefetch logic. This change uses a fixed future date (July 2030) to ensure consistent test behavior regardless of when the tests are run. Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../booking-duplicate-api-calls.e2e.ts | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/apps/web/playwright/booking-duplicate-api-calls.e2e.ts b/apps/web/playwright/booking-duplicate-api-calls.e2e.ts index 41ce78aa489f38..4003f5bcb7b249 100644 --- a/apps/web/playwright/booking-duplicate-api-calls.e2e.ts +++ b/apps/web/playwright/booking-duplicate-api-calls.e2e.ts @@ -36,6 +36,18 @@ async function testDuplicateAPICalls( }; } +/** + * Creates a stable test date that avoids month boundary issues. + * Uses a fixed date in the middle of a month to ensure consistent behavior + * regardless of when the test is run. + * @param dayOfMonth - The day of the month to use (5 for beginning, 20 for end) + */ +function getStableTestDate(dayOfMonth: number): Date { + // Use a fixed future date to avoid any issues with past dates or month boundaries + // July 2030 is chosen as it's far in the future and has no special calendar quirks + return new Date(2030, 6, dayOfMonth, 12, 0, 0); +} + test.describe("Duplicate API Calls Prevention", () => { test.afterEach(({ users }) => users.deleteAll()); @@ -45,8 +57,7 @@ test.describe("Duplicate API Calls Prevention", () => { }) => { const user = await users.create(); const eventType = user.eventTypes.find((e) => e.slug === "30-min"); - const beginningOfMonth = new Date(); - beginningOfMonth.setDate(5); + const beginningOfMonth = getStableTestDate(5); const { totalCalls, trpcCalls, apiV2Calls } = await testDuplicateAPICalls( page, @@ -66,8 +77,7 @@ test.describe("Duplicate API Calls Prevention", () => { }) => { const user = await users.create(); const eventType = user.eventTypes.find((e) => e.slug === "30-min"); - const endOfMonth = new Date(); - endOfMonth.setDate(20); + const endOfMonth = getStableTestDate(20); const { totalCalls, trpcCalls, apiV2Calls } = await testDuplicateAPICalls( page, @@ -92,8 +102,7 @@ test.describe("Duplicate API Calls Prevention", () => { teammates: [{ name: "teammate-1" }], } ); - const beginningOfMonth = new Date(); - beginningOfMonth.setDate(5); + const beginningOfMonth = getStableTestDate(5); const { team } = await teamOwner.getFirstTeamMembership(); const teamEvent = await createTeamEventType( @@ -132,8 +141,7 @@ test.describe("Duplicate API Calls Prevention", () => { { id: team.id }, { teamEventSlug: "team-event-test", teamEventTitle: "Team Event Test" } ); - const endOfMonth = new Date(); - endOfMonth.setDate(20); + const endOfMonth = getStableTestDate(20); const { totalCalls, trpcCalls, apiV2Calls } = await testDuplicateAPICalls( page, @@ -169,8 +177,7 @@ test.describe("Duplicate API Calls Prevention", () => { { id: team.id }, { teamEventSlug: "org-team-event", teamEventTitle: "Org Team Event" } ); - const beginningOfMonth = new Date(); - beginningOfMonth.setDate(5); + const beginningOfMonth = getStableTestDate(5); const { totalCalls, trpcCalls, apiV2Calls } = await testDuplicateAPICalls( page, @@ -206,8 +213,7 @@ test.describe("Duplicate API Calls Prevention", () => { { id: team.id }, { teamEventSlug: "org-team-event", teamEventTitle: "Org Team Event" } ); - const endOfMonth = new Date(); - endOfMonth.setDate(20); + const endOfMonth = getStableTestDate(20); const { totalCalls, trpcCalls, apiV2Calls } = await testDuplicateAPICalls( page, From ed14219e448befe9429c81703c044638dc2227f0 Mon Sep 17 00:00:00 2001 From: Volnei Munhoz Date: Wed, 31 Dec 2025 13:32:55 -0300 Subject: [PATCH 08/10] upgrade typescript (#26347) --- apps/api/v1/package.json | 2 +- apps/api/v2/package.json | 2 +- apps/web/package.json | 2 +- example-apps/credential-sync/package.json | 2 +- package.json | 2 +- packages/app-store-cli/package.json | 2 +- packages/config/package.json | 2 +- packages/coss-ui/package.json | 2 +- packages/embeds/embed-core/package.json | 2 +- packages/embeds/embed-react/package.json | 2 +- packages/embeds/embed-snippet/package.json | 2 +- packages/lib/package.json | 2 +- packages/platform/atoms/package.json | 5 +- packages/platform/examples/base/package.json | 2 +- packages/platform/libraries/package.json | 2 +- packages/trpc/package.json | 2 +- packages/ui/package.json | 2 +- yarn.lock | 76 +++++++------------- 18 files changed, 45 insertions(+), 68 deletions(-) diff --git a/apps/api/v1/package.json b/apps/api/v1/package.json index 16e2179b0d83d2..42de9c995ab708 100644 --- a/apps/api/v1/package.json +++ b/apps/api/v1/package.json @@ -21,7 +21,7 @@ "@calcom/tsconfig": "workspace:*", "@calcom/types": "workspace:*", "node-mocks-http": "1.16.2", - "typescript": "5.9.2" + "typescript": "5.9.3" }, "dependencies": { "@calcom/app-store": "workspace:*", diff --git a/apps/api/v2/package.json b/apps/api/v2/package.json index 5c3734cf0331cd..81077807818690 100644 --- a/apps/api/v2/package.json +++ b/apps/api/v2/package.json @@ -110,7 +110,7 @@ "ts-loader": "9.5.1", "ts-node": "10.9.2", "tsconfig-paths": "4.2.0", - "typescript": "5.9.2" + "typescript": "5.9.3" }, "prisma": { "schema": "../../../packages/prisma/schema.prisma" diff --git a/apps/web/package.json b/apps/web/package.json index 5ff666a3317e9d..e1dec8cf8a6d40 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -193,7 +193,7 @@ "tailwindcss": "4.1.17", "ts-node": "10.9.2", "turbo": "2.5.5", - "typescript": "5.9.2" + "typescript": "5.9.3" }, "nextBundleAnalysis": { "budget": 358400, diff --git a/example-apps/credential-sync/package.json b/example-apps/credential-sync/package.json index cadaad94f2ffdb..a950e9b45b99c0 100644 --- a/example-apps/credential-sync/package.json +++ b/example-apps/credential-sync/package.json @@ -23,6 +23,6 @@ "dotenv": "16.6.1", "postcss": "8.5.6", "tailwindcss": "3.4.1", - "typescript": "4.9.5" + "typescript": "5.9.3" } } diff --git a/package.json b/package.json index 039bc9cf0e9e98..a2d6dcd4fae38f 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "resize-observer-polyfill": "1.5.1", "tsc-absolute": "1.0.0", "turbo": "2.7.1", - "typescript": "5.9.0-beta", + "typescript": "5.9.3", "vitest": "2.1.9", "vitest-fetch-mock": "0.3.0", "vitest-mock-extended": "2.0.2" diff --git a/packages/app-store-cli/package.json b/packages/app-store-cli/package.json index d9f74446ad593c..b3337c61cdee1a 100644 --- a/packages/app-store-cli/package.json +++ b/packages/app-store-cli/package.json @@ -30,6 +30,6 @@ "@types/react": "18.0.26", "chokidar": "3.6.0", "ts-node": "10.9.2", - "typescript": "5.9.2" + "typescript": "5.9.3" } } diff --git a/packages/config/package.json b/packages/config/package.json index 4bdc7de8de40fa..fe20f2d925a6af 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@tailwindcss/typography": "0.5.4", - "typescript": "5.9.2" + "typescript": "5.9.3" } } diff --git a/packages/coss-ui/package.json b/packages/coss-ui/package.json index dde1846e31847b..235af2d5997ab4 100644 --- a/packages/coss-ui/package.json +++ b/packages/coss-ui/package.json @@ -30,6 +30,6 @@ "@biomejs/biome": "2.3.10", "ts-node": "10.9.2", "tsc-absolute": "1.0.0", - "typescript": "5.9.0-beta" + "typescript": "5.9.3" } } diff --git a/packages/embeds/embed-core/package.json b/packages/embeds/embed-core/package.json index 7bf5cb155004fa..a4f282a58864bf 100644 --- a/packages/embeds/embed-core/package.json +++ b/packages/embeds/embed-core/package.json @@ -50,7 +50,7 @@ "npm-run-all": "4.1.5", "postcss": "8.5.6", "tailwindcss": "4.1.17", - "typescript": "5.9.2", + "typescript": "5.9.3", "vite": "4.5.14", "vite-plugin-environment": "1.1.3" } diff --git a/packages/embeds/embed-react/package.json b/packages/embeds/embed-react/package.json index f1dc00dd43f023..03bf6c7ce0da68 100644 --- a/packages/embeds/embed-react/package.json +++ b/packages/embeds/embed-react/package.json @@ -49,7 +49,7 @@ "@types/react-dom": "18.2.6", "@vitejs/plugin-react": "2.2.0", "npm-run-all": "4.1.5", - "typescript": "5.9.2", + "typescript": "5.9.3", "vite": "4.5.14" }, "dependencies": { diff --git a/packages/embeds/embed-snippet/package.json b/packages/embeds/embed-snippet/package.json index e61c0918d9af97..24dd1bebdf8210 100644 --- a/packages/embeds/embed-snippet/package.json +++ b/packages/embeds/embed-snippet/package.json @@ -25,7 +25,7 @@ ], "types": "./dist/index.d.ts", "devDependencies": { - "typescript": "5.9.2", + "typescript": "5.9.3", "vite": "4.5.14" }, "dependencies": { diff --git a/packages/lib/package.json b/packages/lib/package.json index 231b91cfbdd81a..cec4e5c11ee79d 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -34,6 +34,6 @@ "@calcom/tsconfig": "workspace:*", "@calcom/types": "workspace:*", "@faker-js/faker": "7.6.0", - "typescript": "5.9.2" + "typescript": "5.9.3" } } diff --git a/packages/platform/atoms/package.json b/packages/platform/atoms/package.json index f37878acfa83de..8b24e05c171fdc 100644 --- a/packages/platform/atoms/package.json +++ b/packages/platform/atoms/package.json @@ -36,7 +36,7 @@ "postcss-prefixer": "3.0.0", "postcss-prefixwrap": "1.46.0", "ts-jest": "29.1.4", - "typescript": "5.9.2", + "typescript": "5.9.3", "vite": "5.4.21", "vite-plugin-dts": "3.7.3", "vite-plugin-inspect": "0.8.4" @@ -90,8 +90,7 @@ }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0", - "react-dom": "^18.0.0 || ^19.0.0", - "typescript": "^5.0.0" + "react-dom": "^18.0.0 || ^19.0.0" }, "main": "./dist/cal-atoms.umd.cjs" } diff --git a/packages/platform/examples/base/package.json b/packages/platform/examples/base/package.json index 1ebb7e027f97ec..329697d285a020 100644 --- a/packages/platform/examples/base/package.json +++ b/packages/platform/examples/base/package.json @@ -28,6 +28,6 @@ "dotenv": "17.2.2", "postcss": "8.5.6", "tailwindcss": "4.1.17", - "typescript": "5.9.2" + "typescript": "5.9.3" } } diff --git a/packages/platform/libraries/package.json b/packages/platform/libraries/package.json index 110ea7a29c6312..f50b29f740cac5 100644 --- a/packages/platform/libraries/package.json +++ b/packages/platform/libraries/package.json @@ -29,7 +29,7 @@ "devDependencies": { "@types/node": "20.17.23", "@vitejs/plugin-react": "4.2.1", - "typescript": "5.9.2", + "typescript": "5.9.3", "vite": "5.4.21", "vite-plugin-dts": "3.7.3", "vite-plugin-environment": "1.1.3" diff --git a/packages/trpc/package.json b/packages/trpc/package.json index 8d1aa7664fea10..8c79917bdfbae9 100644 --- a/packages/trpc/package.json +++ b/packages/trpc/package.json @@ -34,6 +34,6 @@ "@tanstack/react-query": "5.17.19", "@types/cookie": "0.6.0", "@types/uuid": "8.3.4", - "typescript": "5.9.2" + "typescript": "5.9.3" } } diff --git a/packages/ui/package.json b/packages/ui/package.json index 8bc76b614d2cfe..69c509241b2663 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -131,6 +131,6 @@ "fs-extra": "11.3.2", "lucide-static": "0.424.0", "node-html-parser": "6.1.13", - "typescript": "5.9.2" + "typescript": "5.9.3" } } diff --git a/yarn.lock b/yarn.lock index 268751c61d3124..292bcb2e71b787 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1942,7 +1942,7 @@ __metadata: ts-loader: "npm:9.5.1" ts-node: "npm:10.9.2" tsconfig-paths: "npm:4.2.0" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" uuid: "npm:8.3.2" winston: "npm:3.17.0" winston-transport: "npm:4.9.0" @@ -1973,7 +1973,7 @@ __metadata: next-swagger-doc: "npm:0.3.6" next-validations: "npm:0.2.1" node-mocks-http: "npm:1.16.2" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" tzdata: "npm:1.0.40" uuid: "npm:8.3.2" zod: "npm:3.25.76" @@ -1994,7 +1994,7 @@ __metadata: meow: "npm:9.0.0" react: "npm:18.2.0" ts-node: "npm:10.9.2" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" bin: app-store-cli: dist/cli.js languageName: unknown @@ -2068,14 +2068,13 @@ __metadata: tailwind-merge: "npm:1.13.2" tailwindcss: "npm:4.1.17" ts-jest: "npm:29.1.4" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" vite: "npm:5.4.21" vite-plugin-dts: "npm:3.7.3" vite-plugin-inspect: "npm:0.8.4" peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 - typescript: ^5.0.0 languageName: unknown linkType: soft @@ -2125,7 +2124,7 @@ __metadata: react-dom: "npm:18.2.0" react-select: "npm:5.8.0" tailwindcss: "npm:4.1.17" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" languageName: unknown linkType: soft @@ -2217,7 +2216,7 @@ __metadata: tailwind-scrollbar: "npm:4.0.2" tailwindcss-radix: "npm:4.0.2" tw-animate-css: "npm:1.4.0" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" languageName: unknown linkType: soft @@ -2385,7 +2384,7 @@ __metadata: npm-run-all: "npm:4.1.5" postcss: "npm:8.5.6" tailwindcss: "npm:4.1.17" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" vite: "npm:4.5.14" vite-plugin-environment: "npm:1.1.3" languageName: unknown @@ -2402,7 +2401,7 @@ __metadata: "@types/react-dom": "npm:18.2.6" "@vitejs/plugin-react": "npm:2.2.0" npm-run-all: "npm:4.1.5" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" vite: "npm:4.5.14" peerDependencies: react: ^18.2.0 || ^19.0.0 @@ -2415,7 +2414,7 @@ __metadata: resolution: "@calcom/embed-snippet@workspace:packages/embeds/embed-snippet" dependencies: "@calcom/embed-core": "workspace:*" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" vite: "npm:4.5.14" languageName: unknown linkType: soft @@ -2437,7 +2436,7 @@ __metadata: react: "npm:18.2.0" react-dom: "npm:18.2.0" tailwindcss: "npm:3.4.1" - typescript: "npm:4.9.5" + typescript: "npm:5.9.3" languageName: unknown linkType: soft @@ -2557,7 +2556,6 @@ __metadata: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 react-is: ^18.2.0 - stripe: ^9.0.0 || ^15.0.0 zod: ^3.0.0 languageName: unknown linkType: soft @@ -2789,7 +2787,7 @@ __metadata: sharp: "npm:0.33.5" tsdav: "npm:2.0.3" tslog: "npm:4.9.2" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" uuid: "npm:8.3.2" languageName: unknown linkType: soft @@ -2974,7 +2972,7 @@ __metadata: "@calcom/lib": "workspace:*" "@types/node": "npm:20.17.23" "@vitejs/plugin-react": "npm:4.2.1" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" vite: "npm:5.4.21" vite-plugin-dts: "npm:3.7.3" vite-plugin-environment: "npm:1.1.3" @@ -3263,7 +3261,7 @@ __metadata: "@types/uuid": "npm:8.3.4" cookie: "npm:0.7.2" superjson: "npm:1.9.1" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" uuid: "npm:8.3.2" zod: "npm:3.25.76" peerDependencies: @@ -3353,7 +3351,7 @@ __metadata: react-select: "npm:5.8.0" sonner: "npm:1.7.4" tailwind-merge: "npm:1.13.2" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" uuid: "npm:11.1.0" zod: "npm:3.25.76" peerDependencies: @@ -3563,7 +3561,7 @@ __metadata: ts-node: "npm:10.9.2" turbo: "npm:2.5.5" turndown: "npm:7.2.0" - typescript: "npm:5.9.2" + typescript: "npm:5.9.3" uuid: "npm:8.3.2" zod: "npm:3.25.76" languageName: unknown @@ -3991,7 +3989,7 @@ __metadata: tailwind-merge: "npm:3.4.0" ts-node: "npm:10.9.2" tsc-absolute: "npm:1.0.0" - typescript: "npm:5.9.0-beta" + typescript: "npm:5.9.3" peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 @@ -18790,7 +18788,7 @@ __metadata: resize-observer-polyfill: "npm:1.5.1" tsc-absolute: "npm:1.0.0" turbo: "npm:2.7.1" - typescript: "npm:5.9.0-beta" + typescript: "npm:5.9.3" vitest: "npm:2.1.9" vitest-fetch-mock: "npm:0.3.0" vitest-mock-extended: "npm:2.0.2" @@ -38547,16 +38545,6 @@ __metadata: languageName: node linkType: hard -"typescript@npm:4.9.5": - version: 4.9.5 - resolution: "typescript@npm:4.9.5" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/458f7220ab11e0fc191514cc41be1707645ec9a8c2d609448a448e18c522cef9646f58728f6811185a4c35613dacdf6c98cf8965c88b3541d0288c47291e4300 - languageName: node - linkType: hard - "typescript@npm:5.3.3": version: 5.3.3 resolution: "typescript@npm:5.3.3" @@ -38567,17 +38555,17 @@ __metadata: languageName: node linkType: hard -"typescript@npm:5.9.0-beta": - version: 5.9.0-beta - resolution: "typescript@npm:5.9.0-beta" +"typescript@npm:5.9.3": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/99aba53166272fa0cdf3f228682106f666ad9ac8373b58892046c42b931b58d0e3125bafbb5320a835cc50bba7b389079309aae958677e6aa1d3f136d24dc715 + checksum: 10/c089d9d3da2729fd4ac517f9b0e0485914c4b3c26f80dc0cffcb5de1719a17951e92425d55db59515c1a7ddab65808466debb864d0d56dcf43f27007d0709594 languageName: node linkType: hard -"typescript@npm:5.9.2, typescript@npm:^5.9.2": +"typescript@npm:^5.9.2": version: 5.9.2 resolution: "typescript@npm:5.9.2" bin: @@ -38587,16 +38575,6 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A4.9.5#optional!builtin": - version: 4.9.5 - resolution: "typescript@patch:typescript@npm%3A4.9.5#optional!builtin::version=4.9.5&hash=289587" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10/5659316360b5cc2d6f5931b346401fa534107b68b60179cf14970e27978f0936c1d5c46f4b5b8175f8cba0430f522b3ce355b4b724c0ea36ce6c0347fab25afd - languageName: node - linkType: hard - "typescript@patch:typescript@npm%3A5.3.3#optional!builtin": version: 5.3.3 resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" @@ -38607,17 +38585,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.9.0-beta#optional!builtin": - version: 5.9.0-beta - resolution: "typescript@patch:typescript@npm%3A5.9.0-beta#optional!builtin::version=5.9.0-beta&hash=5786d5" +"typescript@patch:typescript@npm%3A5.9.3#optional!builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/edf141cd7fa0a404faf7b1e74f02178e7b657ff51c8a5e13caef309daff09715b5cbb982300054634ab6f3a2234b9543cfd0b6ba674247bcc767f457ccf89260 + checksum: 10/696e1b017bc2635f4e0c94eb4435357701008e2f272f553d06e35b494b8ddc60aa221145e286c28ace0c89ee32827a28c2040e3a69bdc108b1a5dc8fb40b72e3 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A5.9.2#optional!builtin, typescript@patch:typescript@npm%3A^5.9.2#optional!builtin": +"typescript@patch:typescript@npm%3A^5.9.2#optional!builtin": version: 5.9.2 resolution: "typescript@patch:typescript@npm%3A5.9.2#optional!builtin::version=5.9.2&hash=5786d5" bin: From c959fffb1268a3dbfb53f13b5f611368d3919b5d Mon Sep 17 00:00:00 2001 From: Keith Williams Date: Wed, 31 Dec 2025 13:33:13 -0300 Subject: [PATCH 09/10] fix: reduce default Playwright test timeout from 60s to 30s in CI (#26345) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- playwright.config.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/playwright.config.ts b/playwright.config.ts index c08e00231ecbce..1326d04fdbe877 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -13,12 +13,12 @@ const outputDir = path.join(__dirname, "test-results"); // Dev Server on local can be slow to start up and process requests. So, keep timeouts really high on local, so that tests run reliably locally // So, if not in CI, keep the timers high, if the test is stuck somewhere and there is unnecessary wait developer can see in browser that it's stuck -const DEFAULT_NAVIGATION_TIMEOUT = process.env.CI ? 30000 : 120000; -const DEFAULT_EXPECT_TIMEOUT = process.env.CI ? 30000 : 120000; +const DEFAULT_NAVIGATION_TIMEOUT = process.env.CI ? 10000 : 120000; +const DEFAULT_EXPECT_TIMEOUT = process.env.CI ? 10000 : 120000; // Test Timeout can hit due to slow expect, slow navigation. // So, it should me much higher than sum of expect and navigation timeouts as there can be many async expects and navigations in a single test -const DEFAULT_TEST_TIMEOUT = process.env.CI ? 60000 : 240000; +const DEFAULT_TEST_TIMEOUT = process.env.CI ? 30000 : 240000; const headless = !!process.env.CI || !!process.env.PLAYWRIGHT_HEADLESS; From 4563194fcf94973b08481fd4423fab98d0bff9a5 Mon Sep 17 00:00:00 2001 From: Beto <43630417+betomoedano@users.noreply.github.com> Date: Wed, 31 Dec 2025 10:38:15 -0600 Subject: [PATCH 10/10] feat(companion): update deps to sdk 55 canary (#26348) * update deps * chore: remove companion biome configuration and update main biome.json ignore patterns * chore: update expo and react dependencies in bun.lock --------- Co-authored-by: Volnei Munhoz --- biome.json | 1 - companion/app.json | 2 +- companion/biome.json | 83 -------- companion/bun.lock | 445 ++++++++++++----------------------------- companion/package.json | 68 +++---- 5 files changed, 158 insertions(+), 441 deletions(-) delete mode 100644 companion/biome.json diff --git a/biome.json b/biome.json index e12691bf428d36..a2d3ced80c34b1 100644 --- a/biome.json +++ b/biome.json @@ -27,7 +27,6 @@ "!!**/dist", "!!**/build", "!!**/public", - "!!companion", "!!public", "!!apps/web/public/embed", "!!packages/prisma/zod", diff --git a/companion/app.json b/companion/app.json index 07beee1266e89b..a5303ae54b72b2 100644 --- a/companion/app.json +++ b/companion/app.json @@ -44,7 +44,7 @@ } }, "owner": "calcoms-organization", - "plugins": ["expo-router", "expo-secure-store", "expo-web-browser"], + "plugins": ["expo-router", "expo-secure-store", "expo-web-browser", "expo-image"], "experiments": { "typedRoutes": true, "reactCompiler": true diff --git a/companion/biome.json b/companion/biome.json deleted file mode 100644 index 75163f8b39115f..00000000000000 --- a/companion/biome.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "$schema": "https://biomejs.dev/schemas/2.3.10/schema.json", - "root": false, - "vcs": { - "enabled": true, - "clientKind": "git", - "useIgnoreFile": true - }, - "files": { - "ignoreUnknown": true, - "includes": [ - "**/*.js", - "**/*.jsx", - "**/*.ts", - "**/*.tsx", - "**/*.json", - "!**/node_modules", - "!**/.expo", - "!**/dist", - "!**/.output", - "!**/*.d.ts", - "!**/bun.lock" - ] - }, - "formatter": { - "enabled": true, - "indentStyle": "space", - "indentWidth": 2, - "lineWidth": 100 - }, - "linter": { - "enabled": true, - "rules": { - "recommended": true, - "suspicious": { - "noExplicitAny": "error", - "noArrayIndexKey": "error", - "useIterableCallbackReturn": "error", - "noImplicitAnyLet": "off" - }, - "correctness": { - "useExhaustiveDependencies": "error", - "useHookAtTopLevel": "error", - "noInvalidUseBeforeDeclaration": "off", - "noUnusedFunctionParameters": "error", - "noUnusedVariables": "error" - }, - "complexity": { - "noStaticOnlyClass": "error" - }, - "style": { - "noNonNullAssertion": "error" - }, - "a11y": { - "noStaticElementInteractions": "error" - } - } - }, - "javascript": { - "formatter": { - "quoteStyle": "double", - "trailingCommas": "es5", - "semicolons": "always", - "arrowParentheses": "always" - } - }, - "assist": { - "enabled": true, - "actions": { - "source": { - "organizeImports": "on" - } - } - }, - "overrides": [ - { - "includes": ["extension/**/*.ts", "extension/**/*.tsx"], - "javascript": { - "globals": ["chrome", "browser"] - } - } - ] -} diff --git a/companion/bun.lock b/companion/bun.lock index 94e90c881c49f9..497f9789032b31 100644 --- a/companion/bun.lock +++ b/companion/bun.lock @@ -1,37 +1,36 @@ { "lockfileVersion": 1, - "configVersion": 0, "workspaces": { "": { "name": "cal-companion", "dependencies": { - "@expo/ui": "0.2.0-canary-20251216-3f01dbf", + "@expo/ui": "0.2.0-canary-20251230-fc48ddc", "@expo/vector-icons": "15.0.3", - "@react-native-async-storage/async-storage": "2.1.0", + "@react-native-async-storage/async-storage": "2.2.0", "@react-native-community/netinfo": "11.4.1", "@react-native-segmented-control/segmented-control": "2.5.7", "@tanstack/react-query": "5.62.0", "@tanstack/react-query-persist-client": "5.62.0", "base64-js": "1.5.1", - "expo": "54.0.7", - "expo-auth-session": "7.0.11-canary-20251216-3f01dbf", - "expo-clipboard": "8.0.9-canary-20251216-3f01dbf", - "expo-constants": "18.1.0-canary-20251216-3f01dbf", - "expo-crypto": "15.0.9-canary-20251216-3f01dbf", - "expo-dev-client": "6.1.0-canary-20251216-3f01dbf", - "expo-device": "8.0.11-canary-20251216-3f01dbf", - "expo-glass-effect": "0.2.0-canary-20251216-3f01dbf", - "expo-haptics": "15.0.8", - "expo-image": "3.0.11", - "expo-linking": "8.0.11-canary-20251216-3f01dbf", - "expo-router": "7.0.0-canary-20251216-3f01dbf", - "expo-secure-store": "15.0.9-canary-20251216-3f01dbf", - "expo-status-bar": "3.0.10-canary-20251216-3f01dbf", - "expo-web-browser": "15.0.11-canary-20251216-3f01dbf", + "expo": "55.0.0-canary-20251230-fc48ddc", + "expo-auth-session": "7.0.11-canary-20251230-fc48ddc", + "expo-clipboard": "9.0.0-canary-20251230-fc48ddc", + "expo-constants": "18.1.0-canary-20251230-fc48ddc", + "expo-crypto": "15.0.9-canary-20251230-fc48ddc", + "expo-dev-client": "6.1.0-canary-20251230-fc48ddc", + "expo-device": "8.0.11-canary-20251230-fc48ddc", + "expo-glass-effect": "0.2.0-canary-20251230-fc48ddc", + "expo-haptics": "15.0.9-canary-20251230-fc48ddc", + "expo-image": "3.1.0-canary-20251230-fc48ddc", + "expo-linking": "8.0.12-canary-20251230-fc48ddc", + "expo-router": "7.0.0-canary-20251230-fc48ddc", + "expo-secure-store": "15.0.9-canary-20251230-fc48ddc", + "expo-status-bar": "3.0.10-canary-20251230-fc48ddc", + "expo-web-browser": "15.0.11-canary-20251230-fc48ddc", "nativewind": "4.2.1", "react": "19.2.3", "react-dom": "19.2.3", - "react-native": "0.83.0", + "react-native": "0.83.1", "react-native-context-menu-view": "1.20.0", "react-native-gesture-handler": "2.28.0", "react-native-reanimated": "4.2.0", @@ -356,57 +355,59 @@ "@expo-google-fonts/material-symbols": ["@expo-google-fonts/material-symbols@0.4.15", "", {}, "sha512-EA+HoleZdmUtefeY8a/M8LFK7VapTUyXRIIzP9IkI8Z7DM9r4mVA1omWgoEZp+Tft1jo8dbdnZu38lGOjLohsg=="], - "@expo/cli": ["@expo/cli@54.0.5", "", { "dependencies": { "@0no-co/graphql.web": "^1.0.8", "@expo/code-signing-certificates": "^0.0.5", "@expo/config": "~12.0.9", "@expo/config-plugins": "~54.0.1", "@expo/devcert": "^1.1.2", "@expo/env": "~2.0.7", "@expo/image-utils": "^0.8.7", "@expo/json-file": "^10.0.7", "@expo/metro": "~0.1.1", "@expo/metro-config": "~54.0.3", "@expo/osascript": "^2.3.7", "@expo/package-manager": "^1.9.7", "@expo/plist": "^0.4.7", "@expo/prebuild-config": "^54.0.3", "@expo/schema-utils": "^0.1.7", "@expo/server": "^0.7.4", "@expo/spawn-async": "^1.7.2", "@expo/ws-tunnel": "^1.0.1", "@expo/xcpretty": "^4.3.0", "@react-native/dev-middleware": "0.81.4", "@urql/core": "^5.0.6", "@urql/exchange-retry": "^1.3.0", "accepts": "^1.3.8", "arg": "^5.0.2", "better-opn": "~3.0.2", "bplist-creator": "0.1.0", "bplist-parser": "^0.3.1", "chalk": "^4.0.0", "ci-info": "^3.3.0", "compression": "^1.7.4", "connect": "^3.7.0", "debug": "^4.3.4", "env-editor": "^0.4.1", "freeport-async": "^2.0.0", "getenv": "^2.0.0", "glob": "^10.4.2", "lan-network": "^0.1.6", "minimatch": "^9.0.0", "node-forge": "^1.3.1", "npm-package-arg": "^11.0.0", "ora": "^3.4.0", "picomatch": "^3.0.1", "pretty-bytes": "^5.6.0", "pretty-format": "^29.7.0", "progress": "^2.0.3", "prompts": "^2.3.2", "qrcode-terminal": "0.11.0", "require-from-string": "^2.0.2", "requireg": "^0.2.2", "resolve": "^1.22.2", "resolve-from": "^5.0.0", "resolve.exports": "^2.0.3", "semver": "^7.6.0", "send": "^0.19.0", "slugify": "^1.3.4", "source-map-support": "~0.5.21", "stacktrace-parser": "^0.1.10", "structured-headers": "^0.4.1", "tar": "^7.4.3", "terminal-link": "^2.1.1", "undici": "^6.18.2", "wrap-ansi": "^7.0.0", "ws": "^8.12.1" }, "peerDependencies": { "expo": "*", "expo-router": "*", "react-native": "*" }, "optionalPeers": ["expo-router", "react-native"], "bin": { "expo-internal": "build/bin/cli" } }, "sha512-8MZOZKHfHRHTBQu2/PXBi7eCKc2aF1i1JsZweL/P7aX8nivhrP6KV6An5PtO1/rrdnS9z7pmX2KwMygvvaFNhg=="], + "@expo/cli": ["@expo/cli@55.0.0-canary-20251230-fc48ddc", "", { "dependencies": { "@0no-co/graphql.web": "^1.0.8", "@expo/code-signing-certificates": "^0.0.5", "@expo/config": "12.0.14-canary-20251230-fc48ddc", "@expo/config-plugins": "54.0.5-canary-20251230-fc48ddc", "@expo/devcert": "^1.2.1", "@expo/env": "2.0.9-canary-20251230-fc48ddc", "@expo/image-utils": "0.8.9-canary-20251230-fc48ddc", "@expo/json-file": "10.0.9-canary-20251230-fc48ddc", "@expo/log-box": "0.0.13-canary-20251230-fc48ddc", "@expo/metro": "~54.2.0", "@expo/metro-config": "54.1.0-canary-20251230-fc48ddc", "@expo/osascript": "2.3.9-canary-20251230-fc48ddc", "@expo/package-manager": "1.9.10-canary-20251230-fc48ddc", "@expo/plist": "0.4.9-canary-20251230-fc48ddc", "@expo/prebuild-config": "54.0.9-canary-20251230-fc48ddc", "@expo/router-server": "0.2.0-canary-20251230-fc48ddc", "@expo/schema-utils": "0.1.9-canary-20251230-fc48ddc", "@expo/spawn-async": "^1.7.2", "@expo/ws-tunnel": "^1.0.1", "@expo/xcpretty": "^4.3.0", "@react-native/dev-middleware": "0.83.1", "@urql/core": "^5.0.6", "@urql/exchange-retry": "^1.3.0", "accepts": "^1.3.8", "arg": "^5.0.2", "better-opn": "~3.0.2", "bplist-creator": "0.1.0", "bplist-parser": "^0.3.1", "chalk": "^4.0.0", "ci-info": "^3.3.0", "compression": "^1.7.4", "connect": "^3.7.0", "debug": "^4.3.4", "env-editor": "^0.4.1", "expo-server": "1.0.6-canary-20251230-fc48ddc", "freeport-async": "^2.0.0", "getenv": "^2.0.0", "glob": "^13.0.0", "lan-network": "^0.1.6", "minimatch": "^9.0.0", "node-forge": "^1.3.1", "npm-package-arg": "^11.0.0", "ora": "^3.4.0", "picomatch": "^3.0.1", "pretty-bytes": "^5.6.0", "pretty-format": "^29.7.0", "progress": "^2.0.3", "prompts": "^2.3.2", "qrcode-terminal": "0.11.0", "require-from-string": "^2.0.2", "requireg": "^0.2.2", "resolve-from": "^5.0.0", "semver": "^7.6.0", "send": "^0.19.0", "slugify": "^1.3.4", "source-map-support": "~0.5.21", "stacktrace-parser": "^0.1.10", "structured-headers": "^0.4.1", "tar": "^7.5.2", "terminal-link": "^2.1.1", "undici": "^6.18.2", "wrap-ansi": "^7.0.0", "ws": "^8.12.1", "zod": "^3.25.76" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "expo-router": "7.0.0-canary-20251230-fc48ddc", "react-native": "*" }, "optionalPeers": ["expo-router", "react-native"], "bin": { "expo-internal": "build/bin/cli" } }, "sha512-AF2OhXEejxOAC4zcsLMFboDFi9SdEUhzRJxdr/BUCBBguE4789Ugs/LswrOgZqg4qpcp8gz70R4kbqRfkkyHwQ=="], "@expo/code-signing-certificates": ["@expo/code-signing-certificates@0.0.5", "", { "dependencies": { "node-forge": "^1.2.1", "nullthrows": "^1.1.1" } }, "sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw=="], - "@expo/config": ["@expo/config@12.0.13", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "@expo/config-plugins": "~54.0.4", "@expo/config-types": "^54.0.10", "@expo/json-file": "^10.0.8", "deepmerge": "^4.3.1", "getenv": "^2.0.0", "glob": "^13.0.0", "require-from-string": "^2.0.2", "resolve-from": "^5.0.0", "resolve-workspace-root": "^2.0.0", "semver": "^7.6.0", "slugify": "^1.3.4", "sucrase": "~3.35.1" } }, "sha512-Cu52arBa4vSaupIWsF0h7F/Cg//N374nYb7HAxV0I4KceKA7x2UXpYaHOL7EEYYvp7tZdThBjvGpVmr8ScIvaQ=="], + "@expo/config": ["@expo/config@12.0.14-canary-20251230-fc48ddc", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "@expo/config-plugins": "54.0.5-canary-20251230-fc48ddc", "@expo/config-types": "55.0.0-canary-20251230-fc48ddc", "@expo/json-file": "10.0.9-canary-20251230-fc48ddc", "deepmerge": "^4.3.1", "getenv": "^2.0.0", "glob": "^13.0.0", "require-from-string": "^2.0.2", "resolve-from": "^5.0.0", "resolve-workspace-root": "^2.0.0", "semver": "^7.6.0", "slugify": "^1.3.4", "sucrase": "~3.35.1" } }, "sha512-M50hGICoIA974u/Rxdejzc8ZHOWzBUVH/m5DJZFFj2W2LoZ70IJ3pW/XqqtH45+fuERL6vuQbS/9XdgD2F4Djg=="], - "@expo/config-plugins": ["@expo/config-plugins@54.0.4", "", { "dependencies": { "@expo/config-types": "^54.0.10", "@expo/json-file": "~10.0.8", "@expo/plist": "^0.4.8", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", "getenv": "^2.0.0", "glob": "^13.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.4", "slash": "^3.0.0", "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "sha512-g2yXGICdoOw5i3LkQSDxl2Q5AlQCrG7oniu0pCPPO+UxGb7He4AFqSvPSy8HpRUj55io17hT62FTjYRD+d6j3Q=="], + "@expo/config-plugins": ["@expo/config-plugins@54.0.5-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/config-types": "55.0.0-canary-20251230-fc48ddc", "@expo/json-file": "10.0.9-canary-20251230-fc48ddc", "@expo/plist": "0.4.9-canary-20251230-fc48ddc", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", "getenv": "^2.0.0", "glob": "^13.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.4", "slash": "^3.0.0", "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "sha512-xFUuvg+KNufhjiKRH6T1WOMz3XVGulFI1Kr8gDUD/H1FfG+YhlkbL1sOEU+B2eZGSCGmJyGsjVXRYe6H2+UuSQ=="], - "@expo/config-types": ["@expo/config-types@54.0.10", "", {}, "sha512-/J16SC2an1LdtCZ67xhSkGXpALYUVUNyZws7v+PVsFZxClYehDSoKLqyRaGkpHlYrCc08bS0RF5E0JV6g50psA=="], + "@expo/config-types": ["@expo/config-types@55.0.0-canary-20251230-fc48ddc", "", {}, "sha512-tFdYULhz0H9FT4+pqHhaQh+jqH1dLrPpU95sF4XIIWkn+KDVEJLVSijc2E8NRHJwahPrtXJjcE+OES2IfCydnQ=="], "@expo/devcert": ["@expo/devcert@1.2.1", "", { "dependencies": { "@expo/sudo-prompt": "^9.3.1", "debug": "^3.1.0" } }, "sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA=="], - "@expo/devtools": ["@expo/devtools@0.1.7", "", { "dependencies": { "chalk": "^4.1.2" }, "peerDependencies": { "react": "*", "react-native": "*" }, "optionalPeers": ["react", "react-native"] }, "sha512-dfIa9qMyXN+0RfU6SN4rKeXZyzKWsnz6xBSDccjL4IRiE+fQ0t84zg0yxgN4t/WK2JU5v6v4fby7W7Crv9gJvA=="], + "@expo/devtools": ["@expo/devtools@0.1.9-canary-20251230-fc48ddc", "", { "dependencies": { "chalk": "^4.1.2" }, "peerDependencies": { "react": "*", "react-native": "*" }, "optionalPeers": ["react", "react-native"] }, "sha512-FxazHlZb0Wc67n8aALyaNif8io4/VD3w7YHqPDaYttH849JIL9pZfl7eJw1pyW757I7XCZi1uLBZzM6UQ1FhCQ=="], - "@expo/dom-webview": ["@expo/dom-webview@0.2.9-canary-20251216-3f01dbf", "", { "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf", "react": "*", "react-native": "*" } }, "sha512-S7OPcDu+X1XFTaOUVu5lFum8ZUvtySvu46MNnymNuN3+pNQjrpb/5ATnHbS5FLh72OW04WJdZcHOb7ZMlMmmZg=="], + "@expo/dom-webview": ["@expo/dom-webview@0.2.9-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*", "react-native": "*" } }, "sha512-/cVu8YLOVxnLNqQohtumBDeVSLUjky4+szcnwqK5wGbnEaC+xIFryv0EzgEGubC8WGNXDFjC7xGBuvtYrfOlNQ=="], - "@expo/env": ["@expo/env@2.0.9-canary-20251216-3f01dbf", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-izz94KNFkqnFX7OSGpVbjkNVFzi8L39a0iGryW772lJzECRRUdaH3bHzliJK2R0/nKOczte2U6fbIi88HeBrFw=="], + "@expo/env": ["@expo/env@2.0.9-canary-20251230-fc48ddc", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-g4dU6KQbAlwcEiLkdwWSze6hKQjHkdmAMlu6oiQn30p2eqOWbf9a89h2Wh/AVvnq0r1hY87zOroOU1qaDTZJXg=="], - "@expo/fingerprint": ["@expo/fingerprint@0.15.0", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "arg": "^5.0.2", "chalk": "^4.1.2", "debug": "^4.3.4", "getenv": "^2.0.0", "glob": "^10.4.2", "ignore": "^5.3.1", "minimatch": "^9.0.0", "p-limit": "^3.1.0", "resolve-from": "^5.0.0", "semver": "^7.6.0" }, "bin": { "fingerprint": "bin/cli.js" } }, "sha512-PrLA6fxScZfnLy7OHZ2GHXsDG9YbE7L5DbNhion6j/U/O+FQgz4VbxJarW5C00kMg1ll2u6EghB7ENAvL1T4qg=="], + "@expo/fingerprint": ["@expo/fingerprint@0.15.5-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "arg": "^5.0.2", "chalk": "^4.1.2", "debug": "^4.3.4", "getenv": "^2.0.0", "glob": "^13.0.0", "ignore": "^5.3.1", "minimatch": "^9.0.0", "p-limit": "^3.1.0", "resolve-from": "^5.0.0", "semver": "^7.6.0" }, "bin": { "fingerprint": "bin/cli.js" } }, "sha512-TPAdlyIJnqbMK4r8rPSqGgB1IticnBi630HHtjCyEiO25hyuJn2hq8TyNJdfZ3EgcCwELWeIsKWiBMPLPPF8vw=="], - "@expo/image-utils": ["@expo/image-utils@0.8.8", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "getenv": "^2.0.0", "jimp-compact": "0.16.1", "parse-png": "^2.1.0", "resolve-from": "^5.0.0", "resolve-global": "^1.0.0", "semver": "^7.6.0", "temp-dir": "~2.0.0", "unique-string": "~2.0.0" } }, "sha512-HHHaG4J4nKjTtVa1GG9PCh763xlETScfEyNxxOvfTRr8IKPJckjTyqSLEtdJoFNJ1vqiABEjW7tqGhqGibZLeA=="], + "@expo/image-utils": ["@expo/image-utils@0.8.9-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "getenv": "^2.0.0", "jimp-compact": "0.16.1", "parse-png": "^2.1.0", "resolve-from": "^5.0.0", "resolve-global": "^1.0.0", "semver": "^7.6.0", "temp-dir": "~2.0.0", "unique-string": "~2.0.0" } }, "sha512-QNXW9i2a2dW1yEGyPHfvIGefuqXi3eqp8E+IkYIdpP2YVqBfGXVlrm2DPv67aUEx6JuYe/050bsazScDZM7TkQ=="], - "@expo/json-file": ["@expo/json-file@10.0.8", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-9LOTh1PgKizD1VXfGQ88LtDH0lRwq9lsTb4aichWTWSWqy3Ugfkhfm3BhzBIkJJfQQ5iJu3m/BoRlEIjoCGcnQ=="], + "@expo/json-file": ["@expo/json-file@10.0.9-canary-20251230-fc48ddc", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-KE1XtrIdxcSL32nV5Oo0x9EEVS5PAbmdHYgn8BiZ1xMVlqtLuMRctXpEo2ubNk9NCVTOSrO1GRIzN0IdJZBxHg=="], - "@expo/log-box": ["@expo/log-box@0.0.13-canary-20251216-3f01dbf", "", { "dependencies": { "@expo/dom-webview": "0.2.9-canary-20251216-3f01dbf", "anser": "^1.4.9", "stacktrace-parser": "^0.1.10" }, "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf", "react": "*", "react-dom": "*", "react-native": "*", "react-native-web": "*" } }, "sha512-7h/9nw26xmhqQyD5Tl4uZvl/iO3ITb58ic8YsL0qZlKCn8oBCRLBOqLpq+9CZMH0Bd3ZU8z0XvbqoAvw0CJHPA=="], + "@expo/local-build-cache-provider": ["@expo/local-build-cache-provider@0.0.1-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/config": "12.0.14-canary-20251230-fc48ddc", "chalk": "^4.1.2" } }, "sha512-5f3Mry6hUp/Bvxqd9S5LS0bp5a4/W9qg0a6nzztosqwIdkFBg9wfwxcnpKiqpQgKTdeYlmvdAg+3JEmaTBzcGw=="], - "@expo/metro": ["@expo/metro@0.1.1", "", { "dependencies": { "metro": "0.83.1", "metro-babel-transformer": "0.83.1", "metro-cache": "0.83.1", "metro-cache-key": "0.83.1", "metro-config": "0.83.1", "metro-core": "0.83.1", "metro-file-map": "0.83.1", "metro-resolver": "0.83.1", "metro-runtime": "0.83.1", "metro-source-map": "0.83.1", "metro-transform-plugins": "0.83.1", "metro-transform-worker": "0.83.1" } }, "sha512-zvA9BE6myFoCxeiw/q3uE/kVkIwLTy27a+fDoEl7WQ7EvKfFeiXnRVhUplDMLGZIHH8VC38Gay6RBtVhnmOm5w=="], + "@expo/log-box": ["@expo/log-box@0.0.13-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/dom-webview": "0.2.9-canary-20251230-fc48ddc", "anser": "^1.4.9", "stacktrace-parser": "^0.1.10" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*", "react-dom": "*", "react-native": "*", "react-native-web": "*" } }, "sha512-7QQmkEohmHFr9lF821+fAlwda9GZjlz3hxrVTlIzICN2nyH1ItaGPEGuDKv9wXfsItRU4Lxs7SyXuz7gQi1RhA=="], - "@expo/metro-config": ["@expo/metro-config@54.0.3", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "@babel/core": "^7.20.0", "@babel/generator": "^7.20.5", "@expo/config": "~12.0.9", "@expo/env": "~2.0.7", "@expo/json-file": "~10.0.7", "@expo/metro": "~0.1.1", "@expo/spawn-async": "^1.7.2", "browserslist": "^4.25.0", "chalk": "^4.1.0", "debug": "^4.3.2", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0", "glob": "^10.4.2", "hermes-parser": "^0.29.1", "jsc-safe-url": "^0.2.4", "lightningcss": "^1.30.1", "minimatch": "^9.0.0", "postcss": "~8.4.32", "resolve-from": "^5.0.0" }, "peerDependencies": { "expo": "*" }, "optionalPeers": ["expo"] }, "sha512-TQ5MKSGFB6zJxi+Yr8VYXQFHzRXgvSJzNsHX1otTqnxjXbptwYiXhljAqGSjr3pByq4+sHX/GifMk6fGgAANmA=="], + "@expo/metro": ["@expo/metro@54.2.0", "", { "dependencies": { "metro": "0.83.3", "metro-babel-transformer": "0.83.3", "metro-cache": "0.83.3", "metro-cache-key": "0.83.3", "metro-config": "0.83.3", "metro-core": "0.83.3", "metro-file-map": "0.83.3", "metro-minify-terser": "0.83.3", "metro-resolver": "0.83.3", "metro-runtime": "0.83.3", "metro-source-map": "0.83.3", "metro-symbolicate": "0.83.3", "metro-transform-plugins": "0.83.3", "metro-transform-worker": "0.83.3" } }, "sha512-h68TNZPGsk6swMmLm9nRSnE2UXm48rWwgcbtAHVMikXvbxdS41NDHHeqg1rcQ9AbznDRp6SQVC2MVpDnsRKU1w=="], + + "@expo/metro-config": ["@expo/metro-config@54.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "@babel/code-frame": "^7.20.0", "@babel/core": "^7.20.0", "@babel/generator": "^7.20.5", "@expo/config": "12.0.14-canary-20251230-fc48ddc", "@expo/env": "2.0.9-canary-20251230-fc48ddc", "@expo/json-file": "10.0.9-canary-20251230-fc48ddc", "@expo/metro": "~54.2.0", "@expo/spawn-async": "^1.7.2", "browserslist": "^4.25.0", "chalk": "^4.1.0", "debug": "^4.3.2", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0", "glob": "^13.0.0", "hermes-parser": "^0.29.1", "jsc-safe-url": "^0.2.4", "lightningcss": "^1.30.1", "minimatch": "^9.0.0", "postcss": "~8.4.32", "resolve-from": "^5.0.0" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" }, "optionalPeers": ["expo"] }, "sha512-zd+MAFgRUu6SMR4mseAt9nf2xTOB0kIfWXIl02aesJJZcUrbuCniq9QkdQh92mSa/XF9Ztsivq/ZPkmlHYSvBQ=="], "@expo/metro-runtime": ["@expo/metro-runtime@6.2.0-canary-20251216-3f01dbf", "", { "dependencies": { "@expo/log-box": "0.0.13-canary-20251216-3f01dbf", "anser": "^1.4.9", "pretty-format": "^29.7.0", "stacktrace-parser": "^0.1.10", "whatwg-fetch": "^3.0.0" }, "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf", "react": "*", "react-dom": "*", "react-native": "*" }, "optionalPeers": ["react-dom"] }, "sha512-H5aG4/fhqdwA/1oypRWrwFlShzhE3xSoXCIOC4enpGlcHAty0dx1shSKh2KhZrISAxmcKnIfGWJs0FLXBmPINA=="], - "@expo/osascript": ["@expo/osascript@2.3.8", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "exec-async": "^2.2.0" } }, "sha512-/TuOZvSG7Nn0I8c+FcEaoHeBO07yu6vwDgk7rZVvAXoeAK5rkA09jRyjYsZo+0tMEFaToBeywA6pj50Mb3ny9w=="], + "@expo/osascript": ["@expo/osascript@2.3.9-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "exec-async": "^2.2.0" } }, "sha512-moInQk/wi7HpVOc5HG5ZNbY7LpVa4IHnaw1j3SiYAhprs33XqphRpe80Y7EtN5HzBxdOcGpC0xurj+0WEbvZmg=="], - "@expo/package-manager": ["@expo/package-manager@1.9.9", "", { "dependencies": { "@expo/json-file": "^10.0.8", "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "npm-package-arg": "^11.0.0", "ora": "^3.4.0", "resolve-workspace-root": "^2.0.0" } }, "sha512-Nv5THOwXzPprMJwbnXU01iXSrCp3vJqly9M4EJ2GkKko9Ifer2ucpg7x6OUsE09/lw+npaoUnHMXwkw7gcKxlg=="], + "@expo/package-manager": ["@expo/package-manager@1.9.10-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/json-file": "10.0.9-canary-20251230-fc48ddc", "@expo/spawn-async": "^1.7.2", "chalk": "^4.0.0", "npm-package-arg": "^11.0.0", "ora": "^3.4.0", "resolve-workspace-root": "^2.0.0" } }, "sha512-Yy74eMzqJKlk1H3B7w1geOyXOz15aOvjgUeRdgBikMj9lgBA6iPGER+cRObGiI5e2nE5eZYQxFOecV0kJawntg=="], - "@expo/plist": ["@expo/plist@0.4.8", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.2.3", "xmlbuilder": "^15.1.1" } }, "sha512-pfNtErGGzzRwHP+5+RqswzPDKkZrx+Cli0mzjQaus1ZWFsog5ibL+nVT3NcporW51o8ggnt7x813vtRbPiyOrQ=="], + "@expo/plist": ["@expo/plist@0.4.9-canary-20251230-fc48ddc", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", "xmlbuilder": "^15.1.1" } }, "sha512-I/x0ULbAtHRHgfW5oZ+rx5+qe9/Y6vA7yQZYZ3ip9e31g1kxpwxhcmHDhFBS62jJLrZ/PWIJ5N5LWQOlL66uYw=="], - "@expo/prebuild-config": ["@expo/prebuild-config@54.0.8", "", { "dependencies": { "@expo/config": "~12.0.13", "@expo/config-plugins": "~54.0.4", "@expo/config-types": "^54.0.10", "@expo/image-utils": "^0.8.8", "@expo/json-file": "^10.0.8", "@react-native/normalize-colors": "0.81.5", "debug": "^4.3.1", "resolve-from": "^5.0.0", "semver": "^7.6.0", "xml2js": "0.6.0" }, "peerDependencies": { "expo": "*" } }, "sha512-EA7N4dloty2t5Rde+HP0IEE+nkAQiu4A/+QGZGT9mFnZ5KKjPPkqSyYcRvP5bhQE10D+tvz6X0ngZpulbMdbsg=="], + "@expo/prebuild-config": ["@expo/prebuild-config@54.0.9-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/config": "12.0.14-canary-20251230-fc48ddc", "@expo/config-plugins": "54.0.5-canary-20251230-fc48ddc", "@expo/config-types": "55.0.0-canary-20251230-fc48ddc", "@expo/image-utils": "0.8.9-canary-20251230-fc48ddc", "@expo/json-file": "10.0.9-canary-20251230-fc48ddc", "@react-native/normalize-colors": "0.83.1", "debug": "^4.3.1", "resolve-from": "^5.0.0", "semver": "^7.6.0", "xml2js": "0.6.0" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-fQTz858QMQqlx7v9rf75FOS+nJJ5EgFIVJVFfn4TVPYi9wPlLtOieEKVh3RK8ZKg9VTt81kp/dFpgcLS12AiGA=="], - "@expo/schema-utils": ["@expo/schema-utils@0.1.9-canary-20251216-3f01dbf", "", {}, "sha512-kJiFn5NEAx1QsfVFlVyK2RlCvAWYYUb9AhjF17DHuTGLPAuixkeC4O3yB8/x/JX8nvj+e5vTTkq73MzLSfMiKg=="], + "@expo/router-server": ["@expo/router-server@0.2.0-canary-20251230-fc48ddc", "", { "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { "@expo/metro-runtime": "6.2.0-canary-20251230-fc48ddc", "expo": "55.0.0-canary-20251230-fc48ddc", "expo-constants": "18.1.0-canary-20251230-fc48ddc", "expo-font": "14.1.0-canary-20251230-fc48ddc", "expo-router": "7.0.0-canary-20251230-fc48ddc", "expo-server": "1.0.6-canary-20251230-fc48ddc", "react": "*", "react-dom": "*", "react-server-dom-webpack": "~19.0.1 || ~19.1.2 || ~19.2.1" }, "optionalPeers": ["react-dom", "react-server-dom-webpack"] }, "sha512-zquBf5dYjJuSIRPgPchl7z+sSAv5t+EIduHaaVoJZzvB1d4GcYs3KtlN09IPnjXtKVf7Dz3BX+brOKyxxA2wJA=="], - "@expo/sdk-runtime-versions": ["@expo/sdk-runtime-versions@1.0.0", "", {}, "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ=="], + "@expo/schema-utils": ["@expo/schema-utils@0.1.9-canary-20251230-fc48ddc", "", {}, "sha512-67k1lwEOjpFLMVk5p/utD98UOWqtAU6xJ5L8Wb8+T8HVUz9X6SHL9LE6eOCOnBzB80XTMaKwrhjriI0nadtRRQ=="], - "@expo/server": ["@expo/server@0.7.5", "", { "dependencies": { "abort-controller": "^3.0.0", "debug": "^4.3.4" } }, "sha512-aNVcerBSJEcUspvXRWChEgFhix1gTNIcgFDevaU/A1+TkfbejNIjGX4rfLEpfyRzzdLIRuOkBNjD+uTYMzohyg=="], + "@expo/sdk-runtime-versions": ["@expo/sdk-runtime-versions@1.0.0", "", {}, "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ=="], "@expo/spawn-async": ["@expo/spawn-async@1.7.2", "", { "dependencies": { "cross-spawn": "^7.0.3" } }, "sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew=="], "@expo/sudo-prompt": ["@expo/sudo-prompt@9.3.2", "", {}, "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw=="], - "@expo/ui": ["@expo/ui@0.2.0-canary-20251216-3f01dbf", "", { "dependencies": { "sf-symbols-typescript": "^2.1.0" }, "peerDependencies": { "expo": "*", "react": "*", "react-native": "*" } }, "sha512-UnNNmeKdxK32mJkFf/lPcsbeTzC87b7NQJuBIctcTeCZk3F2R+XeIREQ54166b2hI0GwwBDq90tAT98y0yJ3oQ=="], + "@expo/ui": ["@expo/ui@0.2.0-canary-20251230-fc48ddc", "", { "dependencies": { "sf-symbols-typescript": "^2.1.0" }, "peerDependencies": { "expo": "*", "react": "*", "react-native": "*" } }, "sha512-WcLr0oUc0qpJrrWykfWB8qqWwJm3QvNN3Pvm3MbEJZGtPLjWM0ZfihhFkoi2lIMXr1/7SYDhKPYbTSYmjJ9Qvg=="], "@expo/vector-icons": ["@expo/vector-icons@15.0.3", "", { "peerDependencies": { "expo-font": ">=14.0.4", "react": "*", "react-native": "*" } }, "sha512-SBUyYKphmlfUBqxSfDdJ3jAdEVSALS2VUPOUyqn48oZmb2TL/O7t7/PQm5v4NQujYEPLPMTLn9KVw6H7twwbTA=="], @@ -426,8 +427,6 @@ "@isaacs/brace-expansion": ["@isaacs/brace-expansion@5.0.0", "", { "dependencies": { "@isaacs/balanced-match": "^4.0.1" } }, "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA=="], - "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], - "@isaacs/fs-minipass": ["@isaacs/fs-minipass@4.0.1", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="], "@isaacs/ttlcache": ["@isaacs/ttlcache@1.4.1", "", {}, "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA=="], @@ -466,8 +465,6 @@ "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], - "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], - "@pnpm/config.env-replace": ["@pnpm/config.env-replace@1.1.0", "", {}, "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w=="], "@pnpm/network.ca-file": ["@pnpm/network.ca-file@1.0.2", "", { "dependencies": { "graceful-fs": "4.2.10" } }, "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA=="], @@ -516,35 +513,35 @@ "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], - "@react-native-async-storage/async-storage": ["@react-native-async-storage/async-storage@2.1.0", "", { "dependencies": { "merge-options": "^3.0.4" }, "peerDependencies": { "react-native": "^0.0.0-0 || >=0.65 <1.0" } }, "sha512-eAGQGPTAuFNEoIQSB5j2Jh1zm5NPyBRTfjRMfCN0W1OakC5WIB5vsDyIQhUweKN9XOE2/V07lqTMGsL0dGXNkA=="], + "@react-native-async-storage/async-storage": ["@react-native-async-storage/async-storage@2.2.0", "", { "dependencies": { "merge-options": "^3.0.4" }, "peerDependencies": { "react-native": "^0.0.0-0 || >=0.65 <1.0" } }, "sha512-gvRvjR5JAaUZF8tv2Kcq/Gbt3JHwbKFYfmb445rhOj6NUMx3qPLixmDx5pZAyb9at1bYvJ4/eTUipU5aki45xw=="], "@react-native-community/netinfo": ["@react-native-community/netinfo@11.4.1", "", { "peerDependencies": { "react-native": ">=0.59" } }, "sha512-B0BYAkghz3Q2V09BF88RA601XursIEA111tnc2JOaN7axJWmNefmfjZqw/KdSxKZp7CZUuPpjBmz/WCR9uaHYg=="], "@react-native-segmented-control/segmented-control": ["@react-native-segmented-control/segmented-control@2.5.7", "", { "peerDependencies": { "react": ">=16.0", "react-native": ">=0.62" } }, "sha512-l84YeVX8xAU3lvOJSvV4nK/NbGhIm2gBfveYolwaoCbRp+/SLXtc6mYrQmM9ScXNwU14mnzjQTpTHWl5YPnkzQ=="], - "@react-native/assets-registry": ["@react-native/assets-registry@0.83.0", "", {}, "sha512-EmGSKDvmnEnBrTK75T+0Syt6gy/HACOTfziw5+392Kr1Bb28Rv26GyOIkvptnT+bb2VDHU0hx9G0vSy5/S3rmQ=="], + "@react-native/assets-registry": ["@react-native/assets-registry@0.83.1", "", {}, "sha512-AT7/T6UwQqO39bt/4UL5EXvidmrddXrt0yJa7ENXndAv+8yBzMsZn6fyiax6+ERMt9GLzAECikv3lj22cn2wJA=="], "@react-native/babel-plugin-codegen": ["@react-native/babel-plugin-codegen@0.81.5", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@react-native/codegen": "0.81.5" } }, "sha512-oF71cIH6je3fSLi6VPjjC3Sgyyn57JLHXs+mHWc9MoCiJJcM4nqsS5J38zv1XQ8d3zOW2JtHro+LF0tagj2bfQ=="], "@react-native/babel-preset": ["@react-native/babel-preset@0.81.5", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/plugin-proposal-export-default-from": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-default-from": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-transform-arrow-functions": "^7.24.7", "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-for-of": "^7.24.7", "@babel/plugin-transform-function-name": "^7.25.1", "@babel/plugin-transform-literals": "^7.25.2", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", "@babel/plugin-transform-numeric-separator": "^7.24.7", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-react-display-name": "^7.24.7", "@babel/plugin-transform-react-jsx": "^7.25.2", "@babel/plugin-transform-react-jsx-self": "^7.24.7", "@babel/plugin-transform-react-jsx-source": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/plugin-transform-shorthand-properties": "^7.24.7", "@babel/plugin-transform-spread": "^7.24.7", "@babel/plugin-transform-sticky-regex": "^7.24.7", "@babel/plugin-transform-typescript": "^7.25.2", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@babel/template": "^7.25.0", "@react-native/babel-plugin-codegen": "0.81.5", "babel-plugin-syntax-hermes-parser": "0.29.1", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" } }, "sha512-UoI/x/5tCmi+pZ3c1+Ypr1DaRMDLI3y+Q70pVLLVgrnC3DHsHRIbHcCHIeG/IJvoeFqFM2sTdhSOLJrf8lOPrA=="], - "@react-native/codegen": ["@react-native/codegen@0.83.0", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/parser": "^7.25.3", "glob": "^7.1.1", "hermes-parser": "0.32.0", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "yargs": "^17.6.2" } }, "sha512-3fvMi/pSJHhikjwMZQplU4Ar9ANoR2GSBxotbkKIMI6iNduh+ln1FTvB2me69FA68aHtVZOO+cO+QpGCcvgaMA=="], + "@react-native/codegen": ["@react-native/codegen@0.83.1", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/parser": "^7.25.3", "glob": "^7.1.1", "hermes-parser": "0.32.0", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "yargs": "^17.6.2" } }, "sha512-FpRxenonwH+c2a5X5DZMKUD7sCudHxB3eSQPgV9R+uxd28QWslyAWrpnJM/Az96AEksHnymDzEmzq2HLX5nb+g=="], - "@react-native/community-cli-plugin": ["@react-native/community-cli-plugin@0.83.0", "", { "dependencies": { "@react-native/dev-middleware": "0.83.0", "debug": "^4.4.0", "invariant": "^2.2.4", "metro": "^0.83.3", "metro-config": "^0.83.3", "metro-core": "^0.83.3", "semver": "^7.1.3" }, "peerDependencies": { "@react-native-community/cli": "*", "@react-native/metro-config": "*" }, "optionalPeers": ["@react-native-community/cli", "@react-native/metro-config"] }, "sha512-bJD5pLURgKY2YK0R6gUsFWHiblSAFt1Xyc2fsyCL8XBnB7kJfVhLAKGItk6j1QZbwm1Io41ekZxBmZdyQqIDrg=="], + "@react-native/community-cli-plugin": ["@react-native/community-cli-plugin@0.83.1", "", { "dependencies": { "@react-native/dev-middleware": "0.83.1", "debug": "^4.4.0", "invariant": "^2.2.4", "metro": "^0.83.3", "metro-config": "^0.83.3", "metro-core": "^0.83.3", "semver": "^7.1.3" }, "peerDependencies": { "@react-native-community/cli": "*", "@react-native/metro-config": "*" }, "optionalPeers": ["@react-native-community/cli", "@react-native/metro-config"] }, "sha512-FqR1ftydr08PYlRbrDF06eRiiiGOK/hNmz5husv19sK6iN5nHj1SMaCIVjkH/a5vryxEddyFhU6PzO/uf4kOHg=="], - "@react-native/debugger-frontend": ["@react-native/debugger-frontend@0.81.4", "", {}, "sha512-SU05w1wD0nKdQFcuNC9D6De0ITnINCi8MEnx9RsTD2e4wN83ukoC7FpXaPCYyP6+VjFt5tUKDPgP1O7iaNXCqg=="], + "@react-native/debugger-frontend": ["@react-native/debugger-frontend@0.83.1", "", {}, "sha512-01Rn3goubFvPjHXONooLmsW0FLxJDKIUJNOlOS0cPtmmTIx9YIjxhe/DxwHXGk7OnULd7yl3aYy7WlBsEd5Xmg=="], - "@react-native/debugger-shell": ["@react-native/debugger-shell@0.83.0", "", { "dependencies": { "cross-spawn": "^7.0.6", "fb-dotslash": "0.5.8" } }, "sha512-rJJxRRLLsKW+cqd0ALSBoqwL5SQTmwpd5SGl6rq9sY+fInCUKfkLEIc5HWQ0ppqoPyDteQVWbQ3a5VN84aJaNg=="], + "@react-native/debugger-shell": ["@react-native/debugger-shell@0.83.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "fb-dotslash": "0.5.8" } }, "sha512-d+0w446Hxth5OP/cBHSSxOEpbj13p2zToUy6e5e3tTERNJ8ueGlW7iGwGTrSymNDgXXFjErX+dY4P4/3WokPIQ=="], - "@react-native/dev-middleware": ["@react-native/dev-middleware@0.81.4", "", { "dependencies": { "@isaacs/ttlcache": "^1.4.1", "@react-native/debugger-frontend": "0.81.4", "chrome-launcher": "^0.15.2", "chromium-edge-launcher": "^0.2.0", "connect": "^3.6.5", "debug": "^4.4.0", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "open": "^7.0.3", "serve-static": "^1.16.2", "ws": "^6.2.3" } }, "sha512-hu1Wu5R28FT7nHXs2wWXvQ++7W7zq5GPY83llajgPlYKznyPLAY/7bArc5rAzNB7b0kwnlaoPQKlvD/VP9LZug=="], + "@react-native/dev-middleware": ["@react-native/dev-middleware@0.83.1", "", { "dependencies": { "@isaacs/ttlcache": "^1.4.1", "@react-native/debugger-frontend": "0.83.1", "@react-native/debugger-shell": "0.83.1", "chrome-launcher": "^0.15.2", "chromium-edge-launcher": "^0.2.0", "connect": "^3.6.5", "debug": "^4.4.0", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "open": "^7.0.3", "serve-static": "^1.16.2", "ws": "^7.5.10" } }, "sha512-QJaSfNRzj3Lp7MmlCRgSBlt1XZ38xaBNXypXAp/3H3OdFifnTZOeYOpFmcpjcXYnDqkxetuwZg8VL65SQhB8dg=="], - "@react-native/gradle-plugin": ["@react-native/gradle-plugin@0.83.0", "", {}, "sha512-BXZRmfsbgPhEPkrRPjk2njA2AzhSelBqhuoklnv3DdLTdxaRjKYW+LW0zpKo1k3qPKj7kG1YGI3miol6l1GB5g=="], + "@react-native/gradle-plugin": ["@react-native/gradle-plugin@0.83.1", "", {}, "sha512-6ESDnwevp1CdvvxHNgXluil5OkqbjkJAkVy7SlpFsMGmVhrSxNAgD09SSRxMNdKsnLtzIvMsFCzyHLsU/S4PtQ=="], - "@react-native/js-polyfills": ["@react-native/js-polyfills@0.83.0", "", {}, "sha512-cVB9BMqlfbQR0v4Wxi5M2yDhZoKiNqWgiEXpp7ChdZIXI0SEnj8WwLwE3bDkyOfF8tCHdytpInXyg/al2O+dLQ=="], + "@react-native/js-polyfills": ["@react-native/js-polyfills@0.83.1", "", {}, "sha512-qgPpdWn/c5laA+3WoJ6Fak8uOm7CG50nBsLlPsF8kbT7rUHIVB9WaP6+GPsoKV/H15koW7jKuLRoNVT7c3Ht3w=="], - "@react-native/normalize-colors": ["@react-native/normalize-colors@0.83.0", "", {}, "sha512-DG1ELOqQ6RS82R1zEUGTWa/pfSPOf+vwAnQB7Ao1vRuhW/xdd2OPQJyqx5a5QWMYpGrlkCb7ERxEVX6p2QODCA=="], + "@react-native/normalize-colors": ["@react-native/normalize-colors@0.83.1", "", {}, "sha512-84feABbmeWo1kg81726UOlMKAhcQyFXYz2SjRKYkS78QmfhVDhJ2o/ps1VjhFfBz0i/scDwT1XNv9GwmRIghkg=="], - "@react-native/virtualized-lists": ["@react-native/virtualized-lists@0.83.0", "", { "dependencies": { "invariant": "^2.2.4", "nullthrows": "^1.1.1" }, "peerDependencies": { "@types/react": "^19.2.0", "react": "*", "react-native": "*" }, "optionalPeers": ["@types/react"] }, "sha512-AVnDppwPidQrPrzA4ETr4o9W+40yuijg3EVgFt2hnMldMZkqwPRrgJL2GSreQjCYe1NfM5Yn4Egyy4Kd0yp4Lw=="], + "@react-native/virtualized-lists": ["@react-native/virtualized-lists@0.83.1", "", { "dependencies": { "invariant": "^2.2.4", "nullthrows": "^1.1.1" }, "peerDependencies": { "@types/react": "^19.2.0", "react": "*", "react-native": "*" }, "optionalPeers": ["@types/react"] }, "sha512-MdmoAbQUTOdicCocm5XAFDJWsswxk7hxa6ALnm6Y88p01HFML0W593hAn6qOt9q6IM1KbAcebtH6oOd4gcQy8w=="], "@react-navigation/bottom-tabs": ["@react-navigation/bottom-tabs@7.8.12", "", { "dependencies": { "@react-navigation/elements": "^2.9.2", "color": "^4.2.3", "sf-symbols-typescript": "^2.1.0" }, "peerDependencies": { "@react-navigation/native": "^7.1.25", "react": ">= 18.2.0", "react-native": "*", "react-native-safe-area-context": ">= 4.0.0", "react-native-screens": ">= 4.0.0" } }, "sha512-efVt5ydHK+b4ZtjmN81iduaO5dPCmzhLBFwjCR8pV4x4VzUfJmtUJizLqTXpT3WatHdeon2gDPwhhoelsvu/JA=="], @@ -742,8 +739,6 @@ "async": ["async@3.2.6", "", {}, "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA=="], - "async-limiter": ["async-limiter@1.0.1", "", {}, "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="], - "async-mutex": ["async-mutex@0.5.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA=="], "atomic-sleep": ["atomic-sleep@1.0.0", "", {}, "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ=="], @@ -818,10 +813,6 @@ "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], - "caller-callsite": ["caller-callsite@2.0.0", "", { "dependencies": { "callsites": "^2.0.0" } }, "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ=="], - - "caller-path": ["caller-path@2.0.0", "", { "dependencies": { "caller-callsite": "^2.0.0" } }, "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A=="], - "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], "camelcase": ["camelcase@8.0.0", "", {}, "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA=="], @@ -896,8 +887,6 @@ "core-util-is": ["core-util-is@1.0.3", "", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="], - "cosmiconfig": ["cosmiconfig@5.2.1", "", { "dependencies": { "import-fresh": "^2.0.0", "is-directory": "^0.3.1", "js-yaml": "^3.13.1", "parse-json": "^4.0.0" } }, "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA=="], - "cross-fetch": ["cross-fetch@3.2.0", "", { "dependencies": { "node-fetch": "^2.7.0" } }, "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q=="], "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], @@ -970,8 +959,6 @@ "dotenv-expand": ["dotenv-expand@12.0.3", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA=="], - "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], - "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], "electron-to-chromium": ["electron-to-chromium@1.5.267", "", {}, "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw=="], @@ -1036,65 +1023,65 @@ "execa": ["execa@8.0.1", "", { "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" } }, "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg=="], - "expo": ["expo@54.0.7", "", { "dependencies": { "@babel/runtime": "^7.20.0", "@expo/cli": "54.0.5", "@expo/config": "~12.0.9", "@expo/config-plugins": "~54.0.1", "@expo/devtools": "0.1.7", "@expo/fingerprint": "0.15.0", "@expo/metro": "~0.1.1", "@expo/metro-config": "54.0.3", "@expo/vector-icons": "^15.0.2", "@ungap/structured-clone": "^1.3.0", "babel-preset-expo": "~54.0.1", "expo-asset": "~12.0.8", "expo-constants": "~18.0.8", "expo-file-system": "~19.0.14", "expo-font": "~14.0.8", "expo-keep-awake": "~15.0.7", "expo-modules-autolinking": "3.0.10", "expo-modules-core": "3.0.15", "pretty-format": "^29.7.0", "react-refresh": "^0.14.2", "whatwg-url-without-unicode": "8.0.0-3" }, "peerDependencies": { "@expo/dom-webview": "*", "@expo/metro-runtime": "*", "react": "*", "react-native": "*", "react-native-webview": "*" }, "optionalPeers": ["@expo/dom-webview", "@expo/metro-runtime", "react-native-webview"], "bin": { "expo": "bin/cli", "fingerprint": "bin/fingerprint", "expo-modules-autolinking": "bin/autolinking" } }, "sha512-DftN6nMdpHYUCw5Xnh7+h7wnusjtly4JzQknvuD7MzIvqoyJL9uffQyMQrmZkXrUbgm+cKBm47vtooIz4qj0Qg=="], + "expo": ["expo@55.0.0-canary-20251230-fc48ddc", "", { "dependencies": { "@babel/runtime": "^7.20.0", "@expo/cli": "55.0.0-canary-20251230-fc48ddc", "@expo/config": "12.0.14-canary-20251230-fc48ddc", "@expo/config-plugins": "54.0.5-canary-20251230-fc48ddc", "@expo/devtools": "0.1.9-canary-20251230-fc48ddc", "@expo/fingerprint": "0.15.5-canary-20251230-fc48ddc", "@expo/local-build-cache-provider": "0.0.1-canary-20251230-fc48ddc", "@expo/log-box": "0.0.13-canary-20251230-fc48ddc", "@expo/metro": "~54.2.0", "@expo/metro-config": "54.1.0-canary-20251230-fc48ddc", "@expo/vector-icons": "^15.0.2", "@ungap/structured-clone": "^1.3.0", "babel-preset-expo": "54.1.0-canary-20251230-fc48ddc", "expo-asset": "12.0.13-canary-20251230-fc48ddc", "expo-constants": "18.1.0-canary-20251230-fc48ddc", "expo-file-system": "19.0.22-canary-20251230-fc48ddc", "expo-font": "14.1.0-canary-20251230-fc48ddc", "expo-keep-awake": "15.0.9-canary-20251230-fc48ddc", "expo-modules-autolinking": "3.1.0-canary-20251230-fc48ddc", "expo-modules-core": "4.0.0-canary-20251230-fc48ddc", "pretty-format": "^29.7.0", "react-refresh": "^0.14.2", "whatwg-url-without-unicode": "8.0.0-3" }, "peerDependencies": { "@expo/dom-webview": "0.2.9-canary-20251230-fc48ddc", "@expo/metro-runtime": "6.2.0-canary-20251230-fc48ddc", "react": "*", "react-native": "*", "react-native-webview": "*" }, "optionalPeers": ["@expo/dom-webview", "@expo/metro-runtime", "react-native-webview"], "bin": { "expo": "bin/cli", "expo-modules-autolinking": "bin/autolinking", "fingerprint": "bin/fingerprint" } }, "sha512-NPj83TmylfKtcb47CetlJuTWB9bsHEYS6z8dFG0HjwsZJo9xg4LYMLGf0HRImK0TwFmohKkXQHdZ0DM6D3Q1+w=="], - "expo-application": ["expo-application@7.0.9-canary-20251216-3f01dbf", "", { "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf" } }, "sha512-vLJ2wLdhdbR+hJgJV36PDB/2EYgazLDPZCQrrd4IxaAq4dgW6Aaa9LH7430KKx2FW7RdIBYjQP4DOk3G/AGT+w=="], + "expo-application": ["expo-application@7.0.9-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-QMv5XMHgTV2uq3oNfXGOVaBDEwRzpVkwGALu7WkE9NmJsFgFAnLS5+EXV0gY52AJDL3IYFX2vi8WdW4uWS7PMA=="], - "expo-asset": ["expo-asset@12.0.12", "", { "dependencies": { "@expo/image-utils": "^0.8.8", "expo-constants": "~18.0.12" }, "peerDependencies": { "expo": "*", "react": "*", "react-native": "*" } }, "sha512-CsXFCQbx2fElSMn0lyTdRIyKlSXOal6ilLJd+yeZ6xaC7I9AICQgscY5nj0QcwgA+KYYCCEQEBndMsmj7drOWQ=="], + "expo-asset": ["expo-asset@12.0.13-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/image-utils": "0.8.9-canary-20251230-fc48ddc", "expo-constants": "18.1.0-canary-20251230-fc48ddc" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*", "react-native": "*" } }, "sha512-FBZzN9f0JSSbW/GbdEtBbr6RjfiOp/FqdqaCIGajYQjikK/pfXjOKJur1NdKBvCRrR55WLxrfj78Ql2p3UviMg=="], - "expo-auth-session": ["expo-auth-session@7.0.11-canary-20251216-3f01dbf", "", { "dependencies": { "expo-application": "7.0.9-canary-20251216-3f01dbf", "expo-constants": "18.1.0-canary-20251216-3f01dbf", "expo-crypto": "15.0.9-canary-20251216-3f01dbf", "expo-linking": "8.0.11-canary-20251216-3f01dbf", "expo-web-browser": "15.0.11-canary-20251216-3f01dbf", "invariant": "^2.2.4" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-MkZfeKhjBUQFcb3jHNcGSHN7xRh7F/RWlk3PvKmTQBMaxU0RH4O3LkCQkLvKovQfLg26Ph1jh2iMBMQPo0p16Q=="], + "expo-auth-session": ["expo-auth-session@7.0.11-canary-20251230-fc48ddc", "", { "dependencies": { "expo-application": "7.0.9-canary-20251230-fc48ddc", "expo-constants": "18.1.0-canary-20251230-fc48ddc", "expo-crypto": "15.0.9-canary-20251230-fc48ddc", "expo-linking": "8.0.12-canary-20251230-fc48ddc", "expo-web-browser": "15.0.11-canary-20251230-fc48ddc", "invariant": "^2.2.4" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-wXb6bPFaiTB2QuZiYNoR2TReuWvFozWindIXpLeTtWaRvx7nR7gWAwxUm+xmYNXLlWA7QXhvrxZ9Ufp+5NpJ9g=="], - "expo-clipboard": ["expo-clipboard@8.0.9-canary-20251216-3f01dbf", "", { "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf", "react": "*", "react-native": "*" } }, "sha512-pJjxlHrfw1JGvtf9uoU48jdePLtQX5+ry1LZ5g/kViAai5PdKzRl+QC9WxRs8z9MCjbPEhH3tk4vqelAS1Htrg=="], + "expo-clipboard": ["expo-clipboard@9.0.0-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*", "react-native": "*" } }, "sha512-xCvGGc7d5FMqqVGvdImTDGkxkAJlQHQPdhBqX2gmhPtRGlqIleGgJBrOFQPoCpfrVOW840MVSLI8p0c0updpjQ=="], - "expo-constants": ["expo-constants@18.1.0-canary-20251216-3f01dbf", "", { "dependencies": { "@expo/config": "12.0.13-canary-20251216-3f01dbf", "@expo/env": "2.0.9-canary-20251216-3f01dbf" }, "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf", "react-native": "*" } }, "sha512-T541g4ZN59nrr6Z4zaEhQbg0Q8wUNBiw8tCwxFrVJduIGm2OxIskQrvNyKJ8Ea7ZA6qNRaaKrwRM8wf9ZRRJeg=="], + "expo-constants": ["expo-constants@18.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/config": "12.0.14-canary-20251230-fc48ddc", "@expo/env": "2.0.9-canary-20251230-fc48ddc" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react-native": "*" } }, "sha512-iyMYWluY4vXeRJxwYSyGpJcrjkt+YdtFI9Fj/UNHaylsHfMRVKEVIn/yr0VW7PgIqGSydASQJSQZekP1gifYog=="], - "expo-crypto": ["expo-crypto@15.0.9-canary-20251216-3f01dbf", "", { "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf" } }, "sha512-vaAZ1JRedJfOkfniCQ1ADpJTGGX21IKWdgfsGa4oRDIolBaPAtoejdm3vgAJKlZJeY1d67CNvoi1yzrOLU1aBA=="], + "expo-crypto": ["expo-crypto@15.0.9-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-CgBkIrPJeEgEVjVIQCFEG0B7TBpagacpa/doTQ2u3roQHqjCzNlb4e3YWMScEimFCn7T3MTiJmMuS+g4vMlbmQ=="], - "expo-dev-client": ["expo-dev-client@6.1.0-canary-20251216-3f01dbf", "", { "dependencies": { "expo-dev-launcher": "6.1.0-canary-20251216-3f01dbf", "expo-dev-menu": "7.1.0-canary-20251216-3f01dbf", "expo-dev-menu-interface": "2.0.1-canary-20251216-3f01dbf", "expo-manifests": "1.0.11-canary-20251216-3f01dbf", "expo-updates-interface": "2.0.1-canary-20251216-3f01dbf" }, "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf" } }, "sha512-Quof/+SlRitQLjvLI+aOXw0jjaY/UBvTFjRGfpFYYcDrwa1aVUYDckxHVYvQfELYAoekdAmxCdBah0wqFI5lhA=="], + "expo-dev-client": ["expo-dev-client@6.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "expo-dev-launcher": "6.1.0-canary-20251230-fc48ddc", "expo-dev-menu": "7.1.0-canary-20251230-fc48ddc", "expo-dev-menu-interface": "2.0.1-canary-20251230-fc48ddc", "expo-manifests": "1.0.11-canary-20251230-fc48ddc", "expo-updates-interface": "2.0.1-canary-20251230-fc48ddc" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-+Vc4hUHak9nzZGAKzYQCIBwmlBj7KFlYSZnb6s+VjhO1ldDGh3B2CGS+sIwMhqQC5XlFQhcu0CSsWxl8WspYxw=="], - "expo-dev-launcher": ["expo-dev-launcher@6.1.0-canary-20251216-3f01dbf", "", { "dependencies": { "ajv": "^8.11.0", "expo-dev-menu": "7.1.0-canary-20251216-3f01dbf", "expo-manifests": "1.0.11-canary-20251216-3f01dbf" }, "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf" } }, "sha512-wapEZb0sEw+dEMBPE5P7+ZwY4rQfFP0L3bzraZHlQTB71xtO5ab9Mq4ISuuaLqy/VO/jw4vAPlMyFpaWjhE9XQ=="], + "expo-dev-launcher": ["expo-dev-launcher@6.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "ajv": "^8.11.0", "expo-dev-menu": "7.1.0-canary-20251230-fc48ddc", "expo-manifests": "1.0.11-canary-20251230-fc48ddc" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-wI2AQ9YXn5gFQOxc19v0FwWb/292q8FvaQX9sxkeTu06KUAgTfZWbOFFYaKWIu3oM8ER0hPHwnP5vpssM/BJVw=="], - "expo-dev-menu": ["expo-dev-menu@7.1.0-canary-20251216-3f01dbf", "", { "dependencies": { "expo-dev-menu-interface": "2.0.1-canary-20251216-3f01dbf" }, "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf" } }, "sha512-Yro9rwI1iUZXEQG7+bU6z7MZn2/tlIw0J9sjqUaHyVM+jSRb/paPOYHaSz4jqoYDVt/eeskCounyy6F3tep2Ug=="], + "expo-dev-menu": ["expo-dev-menu@7.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "expo-dev-menu-interface": "2.0.1-canary-20251230-fc48ddc" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-IpkBeaRS7xaa1zJqZ0ZoHhHiQ58o/DCTjNo2l6ePai02jO9SA3/RAOI9Q29hYODTBbX6XYShum/oVm1GhncHvg=="], - "expo-dev-menu-interface": ["expo-dev-menu-interface@2.0.1-canary-20251216-3f01dbf", "", { "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf" } }, "sha512-xM59jYREp6y8IO9R9Wdz09GH0G2PmNOmLKZdwulPhKb9r3ja5DVFIk3Xa/3wFw3wWo8dvD03dPgyvQi0GZ6PPg=="], + "expo-dev-menu-interface": ["expo-dev-menu-interface@2.0.1-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-m3Ciz1xNXMovbawlWatRMWPzb0Eg6HMcnqdbLhK25GNJaSgbIyaMc3LVnmY+ecsrgHbeHLjJh/38otZ+WL63Jg=="], - "expo-device": ["expo-device@8.0.11-canary-20251216-3f01dbf", "", { "dependencies": { "ua-parser-js": "^0.7.33" }, "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf" } }, "sha512-0xX7cbLPIjepAjX7um+bEbsHzYAth5B9jRQt68KQtDcmrlPoafVNGeqKhI8XchS2MSuc8ZeaDfzs1NZD92gJKQ=="], + "expo-device": ["expo-device@8.0.11-canary-20251230-fc48ddc", "", { "dependencies": { "ua-parser-js": "^0.7.33" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-80Ufafh/YvDzAc5EavplbHJYz67m+EExuR8eVxaBVtOMPPe8O3osxx5qdpCqUmYSNhLPoXX/UcJvYj6pRsgUmw=="], - "expo-file-system": ["expo-file-system@19.0.21", "", { "peerDependencies": { "expo": "*", "react-native": "*" } }, "sha512-s3DlrDdiscBHtab/6W1osrjGL+C2bvoInPJD7sOwmxfJ5Woynv2oc+Fz1/xVXaE/V7HE/+xrHC/H45tu6lZzzg=="], + "expo-file-system": ["expo-file-system@19.0.22-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react-native": "*" } }, "sha512-AIfJVVi90QrScIZVJS9RTvcMcidMeOf2CPbB9StdUmc+5ob9DXkYcWzNQ366JqPdLwkHpMIO2uPwA+EevFiOhg=="], "expo-font": ["expo-font@14.0.10", "", { "dependencies": { "fontfaceobserver": "^2.1.0" }, "peerDependencies": { "expo": "*", "react": "*", "react-native": "*" } }, "sha512-UqyNaaLKRpj4pKAP4HZSLnuDQqueaO5tB1c/NWu5vh1/LF9ulItyyg2kF/IpeOp0DeOLk0GY0HrIXaKUMrwB+Q=="], - "expo-glass-effect": ["expo-glass-effect@0.2.0-canary-20251216-3f01dbf", "", { "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf", "react": "*", "react-native": "*" } }, "sha512-n1L+Y8Gr0ZjuIu+NYZuoggBaSi7djXLbVfGxjebbe6OJczHCni06vnmDo2Zz/N2g7vqzBxZZeV/5OXo2v3YBYA=="], + "expo-glass-effect": ["expo-glass-effect@0.2.0-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*", "react-native": "*" } }, "sha512-0HiFsPzY+tEO6wOGWhmst87WaSbILM4dUlH3r0NFv+tM6LJVTnx6xBxzZZvMEOErM1dV2B5oiiGpDzCO3WT21g=="], - "expo-haptics": ["expo-haptics@15.0.8", "", { "peerDependencies": { "expo": "*" } }, "sha512-lftutojy8Qs8zaDzzjwM3gKHFZ8bOOEZDCkmh2Ddpe95Ra6kt2izeOfOfKuP/QEh0MZ1j9TfqippyHdRd1ZM9g=="], + "expo-haptics": ["expo-haptics@15.0.9-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-yzY1/OVDWUUcU33Dj/vumo23Tds250vpaMxaPB0dejGHlBKXM2Q8E72E/iFYl29iVcZ9AHyOsn0o8YqfzYuBDw=="], - "expo-image": ["expo-image@3.0.11", "", { "peerDependencies": { "expo": "*", "react": "*", "react-native": "*", "react-native-web": "*" }, "optionalPeers": ["react-native-web"] }, "sha512-4TudfUCLgYgENv+f48omnU8tjS2S0Pd9EaON5/s1ZUBRwZ7K8acEr4NfvLPSaeXvxW24iLAiyQ7sV7BXQH3RoA=="], + "expo-image": ["expo-image@3.1.0-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*", "react-native": "*", "react-native-web": "*" }, "optionalPeers": ["react-native-web"] }, "sha512-avrbbOzdBgiBGjKsZ8BwGbC/nfLpBtFCZ9E38DAQc8dCMbsgyajJ/SLG0Xc+3XHCkSi2iKsJ/lZ118cKm8nddg=="], - "expo-json-utils": ["expo-json-utils@0.15.1-canary-20251216-3f01dbf", "", {}, "sha512-4pU8mIFJSXZq0jOdTEUz68SKZCKYreISzqRyFVQ5AflWyGDmZhVFgAN5jbwuzNTMhcG7+mRnWkkrOemr1aSpbg=="], + "expo-json-utils": ["expo-json-utils@0.15.1-canary-20251230-fc48ddc", "", {}, "sha512-hjZo3ARJHR/WjrKUlW61tX347dMNP5yVyvR7EQ4y1CboaNnmj33Ehkhn8lzzTqmz3XD0xIU5lCdLDj4hh4p89w=="], - "expo-keep-awake": ["expo-keep-awake@15.0.8", "", { "peerDependencies": { "expo": "*", "react": "*" } }, "sha512-YK9M1VrnoH1vLJiQzChZgzDvVimVoriibiDIFLbQMpjYBnvyfUeHJcin/Gx1a+XgupNXy92EQJLgI/9ZuXajYQ=="], + "expo-keep-awake": ["expo-keep-awake@15.0.9-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*" } }, "sha512-MDsUnVbE5bpF0pWl2NJUyq1Esjndal/baXVINQz7dyi4P2B4NYDg4M3q/oF0A65bqfU+nMZjvjhoVh8ToJfMig=="], - "expo-linking": ["expo-linking@8.0.11-canary-20251216-3f01dbf", "", { "dependencies": { "expo-constants": "18.1.0-canary-20251216-3f01dbf", "invariant": "^2.2.4" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-pjG8QoWjezdlHMOWwO7jhpD8c3oMzAR7Dvjca9plSLspDZKnx4XUQzmrPINrnFB8E85E+X31lUxkOmHKqZMn3A=="], + "expo-linking": ["expo-linking@8.0.12-canary-20251230-fc48ddc", "", { "dependencies": { "expo-constants": "18.1.0-canary-20251230-fc48ddc", "invariant": "^2.2.4" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-Hm6ihRxuEIVg9mRuAcVJG9bYOpC6LIynvsz6Lc0HF7aOcFurYx3Cfidw8FOZa52ftmtLmdLjw/wJpkXjHHHViA=="], - "expo-manifests": ["expo-manifests@1.0.11-canary-20251216-3f01dbf", "", { "dependencies": { "@expo/config": "12.0.13-canary-20251216-3f01dbf", "expo-json-utils": "0.15.1-canary-20251216-3f01dbf" }, "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf" } }, "sha512-eE9JPX9oRBXMTOWFKREoKt002BpV+UPI7iQkdQHjeg1+K/vZPBtcB5CvZrfNIb9mGyiLdXR28nw5Svc2Vk3SXQ=="], + "expo-manifests": ["expo-manifests@1.0.11-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/config": "12.0.14-canary-20251230-fc48ddc", "expo-json-utils": "0.15.1-canary-20251230-fc48ddc" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-Zpw1hnThSwL5SsXlZbKuNG2x0wIZHiTI7bSu1bsXlvrQ5KxzP095ItoLpjrR6MSGqxkWSQaFjjRnWjALii22BA=="], - "expo-modules-autolinking": ["expo-modules-autolinking@3.0.10", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.1.0", "commander": "^7.2.0", "glob": "^10.4.2", "require-from-string": "^2.0.2", "resolve-from": "^5.0.0" }, "bin": { "expo-modules-autolinking": "bin/expo-modules-autolinking.js" } }, "sha512-6pwaz9H7aK/iYraHbX7zjg8QFTUuMfGEs8Vyc6bAoBd8Rovtb91WX955Kq5sazwNrQjs3WePwQ23LEAmls3u5g=="], + "expo-modules-autolinking": ["expo-modules-autolinking@3.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/spawn-async": "^1.7.2", "chalk": "^4.1.0", "commander": "^7.2.0", "require-from-string": "^2.0.2", "resolve-from": "^5.0.0" }, "bin": { "expo-modules-autolinking": "bin/expo-modules-autolinking.js" } }, "sha512-cMHct3mUNWueHmjS0VLRKfrwoy5D8ooAXESetbu7lQMKY373kVQkYoiND5XRyLyclIop2NNnVE8hU2Myc2aDIg=="], - "expo-modules-core": ["expo-modules-core@3.0.15", "", { "dependencies": { "invariant": "^2.2.4" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-vGI7osd0/IjprldD08k4bckWSu7ID4HhZNP68l/UtilONQ8XZig8mWJd/Fm7i7KGvE3HyuF+HOXE9l671no42Q=="], + "expo-modules-core": ["expo-modules-core@4.0.0-canary-20251230-fc48ddc", "", { "dependencies": { "invariant": "^2.2.4" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-diupjWkV0cQGo6A2Lr6ug4WejH+3o2tQZShVgI6A51Wes3754yIRoBvEP9PWr8ZBnUE61aO77MpjzZjX7mu1ig=="], - "expo-router": ["expo-router@7.0.0-canary-20251216-3f01dbf", "", { "dependencies": { "@expo/metro-runtime": "6.2.0-canary-20251216-3f01dbf", "@expo/schema-utils": "0.1.9-canary-20251216-3f01dbf", "@radix-ui/react-slot": "1.2.0", "@radix-ui/react-tabs": "^1.1.12", "@react-navigation/bottom-tabs": "^7.7.3", "@react-navigation/native": "^7.1.21", "@react-navigation/native-stack": "^7.8.0", "client-only": "^0.0.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "expo-server": "1.0.6-canary-20251216-3f01dbf", "fast-deep-equal": "^3.1.3", "invariant": "^2.2.4", "nanoid": "^3.3.8", "query-string": "^7.1.3", "react-fast-compare": "^3.2.2", "react-native-is-edge-to-edge": "^1.1.6", "semver": "~7.6.3", "server-only": "^0.0.1", "sf-symbols-typescript": "^2.1.0", "shallowequal": "^1.1.0", "use-latest-callback": "^0.2.1", "vaul": "^1.1.2" }, "peerDependencies": { "@expo/log-box": "0.0.13-canary-20251216-3f01dbf", "@react-navigation/drawer": "^7.7.2", "@testing-library/react-native": ">= 12.0.0", "expo": "55.0.0-canary-20251216-3f01dbf", "expo-constants": "18.1.0-canary-20251216-3f01dbf", "expo-linking": "8.0.11-canary-20251216-3f01dbf", "expo-symbols": "1.1.0-canary-20251216-3f01dbf", "react": "*", "react-dom": "*", "react-native": "*", "react-native-gesture-handler": "*", "react-native-reanimated": "*", "react-native-safe-area-context": ">= 5.4.0", "react-native-screens": "*", "react-native-web": "*", "react-server-dom-webpack": "~19.0.3 || ~19.1.4 || ~19.2.3" }, "optionalPeers": ["@react-navigation/drawer", "@testing-library/react-native", "react-dom", "react-native-gesture-handler", "react-native-reanimated", "react-native-web", "react-server-dom-webpack"] }, "sha512-Gp4RBPYrdwqh4styqCcYZJiv6zXCMNJmyhFSOjl/J+KcAKutjRUYiedo/tU3X5Pm152w1RbDwbF9q9UH5Tlzrw=="], + "expo-router": ["expo-router@7.0.0-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/metro-runtime": "6.2.0-canary-20251230-fc48ddc", "@expo/schema-utils": "0.1.9-canary-20251230-fc48ddc", "@radix-ui/react-slot": "1.2.0", "@radix-ui/react-tabs": "^1.1.12", "@react-navigation/bottom-tabs": "^7.7.3", "@react-navigation/native": "^7.1.21", "@react-navigation/native-stack": "^7.8.0", "client-only": "^0.0.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "expo-server": "1.0.6-canary-20251230-fc48ddc", "expo-symbols": "1.1.0-canary-20251230-fc48ddc", "fast-deep-equal": "^3.1.3", "invariant": "^2.2.4", "nanoid": "^3.3.8", "query-string": "^7.1.3", "react-fast-compare": "^3.2.2", "react-native-is-edge-to-edge": "^1.1.6", "semver": "~7.6.3", "server-only": "^0.0.1", "sf-symbols-typescript": "^2.1.0", "shallowequal": "^1.1.0", "use-latest-callback": "^0.2.1", "vaul": "^1.1.2" }, "peerDependencies": { "@expo/log-box": "0.0.13-canary-20251230-fc48ddc", "@react-navigation/drawer": "^7.7.2", "@testing-library/react-native": ">= 12.0.0", "expo": "55.0.0-canary-20251230-fc48ddc", "expo-constants": "18.1.0-canary-20251230-fc48ddc", "expo-linking": "8.0.12-canary-20251230-fc48ddc", "react": "*", "react-dom": "*", "react-native": "*", "react-native-gesture-handler": "*", "react-native-reanimated": "*", "react-native-safe-area-context": ">= 5.4.0", "react-native-screens": "*", "react-native-web": "*", "react-server-dom-webpack": "~19.0.3 || ~19.1.4 || ~19.2.3" }, "optionalPeers": ["@react-navigation/drawer", "@testing-library/react-native", "react-dom", "react-native-gesture-handler", "react-native-reanimated", "react-native-web", "react-server-dom-webpack"] }, "sha512-KbjVc2+eTBSA2E1cIzb0RD+gpIe0Nok+Qibk9Wp1s1Sa8HVm5jIhKjEG5fvIQDTov+0cA3Vb/nVi3FrhQih4FA=="], - "expo-secure-store": ["expo-secure-store@15.0.9-canary-20251216-3f01dbf", "", { "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf" } }, "sha512-BdXHr1vzIzpUbkXGh9RL2KlXkHlomCkAQTfhRGAFSM4eUSx5cembp/E87lDVHtMqJbVdi9e6jRSEldEVFRmMcw=="], + "expo-secure-store": ["expo-secure-store@15.0.9-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-1TYC2LU5eypfXD9C32IXYiMpwssGXcBVVAyKluDY3iGUSfW7SbZAoEk4bwLgES0Fvwt3t8O6fgfKOsaW+cmD5A=="], - "expo-server": ["expo-server@1.0.6-canary-20251216-3f01dbf", "", {}, "sha512-fyWlObUiBQ301joqEqAJPAyqrEiBNxEVLUFdXm1l3Wzg5rJnhGGMpyM8I+YRrfuiY7cmZxI8aAHPWhIDnm0W5w=="], + "expo-server": ["expo-server@1.0.6-canary-20251230-fc48ddc", "", {}, "sha512-YW0GxVbpfupc455TH/lfX9FRgnS+ZpTi9ydENYQ0EaB/2dbmnruD5w/FzixKk/zBNGipZp0ix0OYRo0SPEvaPQ=="], - "expo-status-bar": ["expo-status-bar@3.0.10-canary-20251216-3f01dbf", "", { "dependencies": { "react-native-is-edge-to-edge": "^1.2.1" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-gItzWp4VSJmTiYVNhrp8W680unYgP4QhmuuFPXn2C3qYtTJ4MiOaV2CUd9jElNR8YMKW4X2DIkJzeOY6gZrwmw=="], + "expo-status-bar": ["expo-status-bar@3.0.10-canary-20251230-fc48ddc", "", { "dependencies": { "react-native-is-edge-to-edge": "^1.2.1" }, "peerDependencies": { "react": "*", "react-native": "*" } }, "sha512-Lkbb3e6yyRtkmjpTfwIYbO9XDmhPeSipyJLBa5nADq8eiGf7kXZ1pmaLEelPl05azCPY3109bJzhvbonz86sIg=="], - "expo-symbols": ["expo-symbols@1.1.0-canary-20251211-7da85ea", "", { "dependencies": { "sf-symbols-typescript": "^2.0.0" }, "peerDependencies": { "@expo-google-fonts/material-symbols": "^0.4.1", "expo": "55.0.0-canary-20251211-7da85ea", "expo-font": "14.1.0-canary-20251211-7da85ea", "react": "*", "react-native": "*" } }, "sha512-E1YiwLl/ZUYF4OibsJeboyOJ7c+vWmDOKodtNp4maustSfooSN2INw0iv2NSWGqIsHP7p4NTtd4Hmkv8V3VKow=="], + "expo-symbols": ["expo-symbols@1.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "@expo-google-fonts/material-symbols": "^0.4.1", "sf-symbols-typescript": "^2.0.0" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "expo-font": "14.1.0-canary-20251230-fc48ddc", "react": "*", "react-native": "*" } }, "sha512-3cDn97a5NP6bBBHhN/U9/QKZrvqoSUOYtaTPbfH/WBDJC/kM6hzD8/BQBNe7Vt9ygcAh2iFx3w5DcFlxsMyKAw=="], - "expo-updates-interface": ["expo-updates-interface@2.0.1-canary-20251216-3f01dbf", "", { "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf" } }, "sha512-PnhHrfApULDWEaeYAjwiicquSpS97NPp+NEDImUK/LjZbOU6vSmKNenxR81Qwi5V719TOv/OmdoPj5upNC4nxQ=="], + "expo-updates-interface": ["expo-updates-interface@2.0.1-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc" } }, "sha512-ERfTb7zR5lAknBGkMs0devAlyFrD3he4SQJtGItIrov99JQRVYoEfCImLYIhzaancLXnHJLpuQtaK0c3mK41FA=="], - "expo-web-browser": ["expo-web-browser@15.0.11-canary-20251216-3f01dbf", "", { "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf", "react-native": "*" } }, "sha512-UI2yqq9FpWdNEMzWCKzX8dEkyoMLR2W57aDROAaC/MY7L40DujjovxCpmb0CyUsulQPfBMwS+f+hhjG2wdYx2w=="], + "expo-web-browser": ["expo-web-browser@15.0.11-canary-20251230-fc48ddc", "", { "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react-native": "*" } }, "sha512-MS2Ni67uaZmz+rleU2/NwAQPQd11wVpk8HgRudP16fry15Qc2/v4duwHf5JMomxMOOIA5d6Z8QMAT5fDi4OsdA=="], "exponential-backoff": ["exponential-backoff@3.1.3", "", {}, "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA=="], @@ -1146,8 +1133,6 @@ "fontfaceobserver": ["fontfaceobserver@2.3.0", "", {}, "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg=="], - "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], - "form-data-encoder": ["form-data-encoder@4.1.0", "", {}, "sha512-G6NsmEW15s0Uw9XnCg+33H3ViYRyiM0hMrMhhqQOR8NFc5GhYrI+6I3u7OTw7b91J2g8rtvMBZJDbcGb2YUniw=="], "formdata-node": ["formdata-node@6.0.3", "", {}, "sha512-8e1++BCiTzUno9v5IZ2J6bv4RU+3UKDmqWUQD0MIMVCd9AdhWkO1gw57oo1mNEX1dMq2EGI+FbWz4B92pscSQg=="], @@ -1264,8 +1249,6 @@ "is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="], - "is-directory": ["is-directory@0.3.1", "", {}, "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw=="], - "is-docker": ["is-docker@2.2.1", "", { "bin": { "is-docker": "cli.js" } }, "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="], "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], @@ -1314,8 +1297,6 @@ "istanbul-lib-instrument": ["istanbul-lib-instrument@5.2.1", "", { "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" } }, "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg=="], - "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], - "jest-environment-node": ["jest-environment-node@29.7.0", "", { "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", "@types/node": "*", "jest-mock": "^29.7.0", "jest-util": "^29.7.0" } }, "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw=="], "jest-get-type": ["jest-get-type@29.6.3", "", {}, "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw=="], @@ -1348,8 +1329,6 @@ "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], - "json-parse-better-errors": ["json-parse-better-errors@1.0.2", "", {}, "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="], - "json-parse-even-better-errors": ["json-parse-even-better-errors@3.0.2", "", {}, "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ=="], "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], @@ -1454,23 +1433,23 @@ "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], - "metro": ["metro@0.83.1", "", { "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/parser": "^7.25.3", "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.3", "@babel/types": "^7.25.2", "accepts": "^1.3.7", "chalk": "^4.0.0", "ci-info": "^2.0.0", "connect": "^3.6.5", "debug": "^4.4.0", "error-stack-parser": "^2.0.6", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "hermes-parser": "0.29.1", "image-size": "^1.0.2", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", "metro-babel-transformer": "0.83.1", "metro-cache": "0.83.1", "metro-cache-key": "0.83.1", "metro-config": "0.83.1", "metro-core": "0.83.1", "metro-file-map": "0.83.1", "metro-resolver": "0.83.1", "metro-runtime": "0.83.1", "metro-source-map": "0.83.1", "metro-symbolicate": "0.83.1", "metro-transform-plugins": "0.83.1", "metro-transform-worker": "0.83.1", "mime-types": "^2.1.27", "nullthrows": "^1.1.1", "serialize-error": "^2.1.0", "source-map": "^0.5.6", "throat": "^5.0.0", "ws": "^7.5.10", "yargs": "^17.6.2" }, "bin": { "metro": "src/cli.js" } }, "sha512-UGKepmTxoGD4HkQV8YWvpvwef7fUujNtTgG4Ygf7m/M0qjvb9VuDmAsEU+UdriRX7F61pnVK/opz89hjKlYTXA=="], + "metro": ["metro@0.83.3", "", { "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/parser": "^7.25.3", "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.3", "@babel/types": "^7.25.2", "accepts": "^1.3.7", "chalk": "^4.0.0", "ci-info": "^2.0.0", "connect": "^3.6.5", "debug": "^4.4.0", "error-stack-parser": "^2.0.6", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "hermes-parser": "0.32.0", "image-size": "^1.0.2", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", "metro-babel-transformer": "0.83.3", "metro-cache": "0.83.3", "metro-cache-key": "0.83.3", "metro-config": "0.83.3", "metro-core": "0.83.3", "metro-file-map": "0.83.3", "metro-resolver": "0.83.3", "metro-runtime": "0.83.3", "metro-source-map": "0.83.3", "metro-symbolicate": "0.83.3", "metro-transform-plugins": "0.83.3", "metro-transform-worker": "0.83.3", "mime-types": "^2.1.27", "nullthrows": "^1.1.1", "serialize-error": "^2.1.0", "source-map": "^0.5.6", "throat": "^5.0.0", "ws": "^7.5.10", "yargs": "^17.6.2" }, "bin": { "metro": "src/cli.js" } }, "sha512-+rP+/GieOzkt97hSJ0MrPOuAH/jpaS21ZDvL9DJ35QYRDlQcwzcvUlGUf79AnQxq/2NPiS/AULhhM4TKutIt8Q=="], - "metro-babel-transformer": ["metro-babel-transformer@0.83.1", "", { "dependencies": { "@babel/core": "^7.25.2", "flow-enums-runtime": "^0.0.6", "hermes-parser": "0.29.1", "nullthrows": "^1.1.1" } }, "sha512-r3xAD3964E8dwDBaZNSO2aIIvWXjIK80uO2xo0/pi3WI8XWT9h5SCjtGWtMtE5PRWw+t20TN0q1WMRsjvhC1rQ=="], + "metro-babel-transformer": ["metro-babel-transformer@0.83.3", "", { "dependencies": { "@babel/core": "^7.25.2", "flow-enums-runtime": "^0.0.6", "hermes-parser": "0.32.0", "nullthrows": "^1.1.1" } }, "sha512-1vxlvj2yY24ES1O5RsSIvg4a4WeL7PFXgKOHvXTXiW0deLvQr28ExXj6LjwCCDZ4YZLhq6HddLpZnX4dEdSq5g=="], - "metro-cache": ["metro-cache@0.83.1", "", { "dependencies": { "exponential-backoff": "^3.1.1", "flow-enums-runtime": "^0.0.6", "https-proxy-agent": "^7.0.5", "metro-core": "0.83.1" } }, "sha512-7N/Ad1PHa1YMWDNiyynTPq34Op2qIE68NWryGEQ4TSE3Zy6a8GpsYnEEZE4Qi6aHgsE+yZHKkRczeBgxhnFIxQ=="], + "metro-cache": ["metro-cache@0.83.3", "", { "dependencies": { "exponential-backoff": "^3.1.1", "flow-enums-runtime": "^0.0.6", "https-proxy-agent": "^7.0.5", "metro-core": "0.83.3" } }, "sha512-3jo65X515mQJvKqK3vWRblxDEcgY55Sk3w4xa6LlfEXgQ9g1WgMh9m4qVZVwgcHoLy0a2HENTPCCX4Pk6s8c8Q=="], - "metro-cache-key": ["metro-cache-key@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-ZUs+GD5CNeDLxx5UUWmfg26IL+Dnbryd+TLqTlZnDEgehkIa11kUSvgF92OFfJhONeXzV4rZDRGNXoo6JT+8Gg=="], + "metro-cache-key": ["metro-cache-key@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-59ZO049jKzSmvBmG/B5bZ6/dztP0ilp0o988nc6dpaDsU05Cl1c/lRf+yx8m9WW/JVgbmfO5MziBU559XjI5Zw=="], - "metro-config": ["metro-config@0.83.1", "", { "dependencies": { "connect": "^3.6.5", "cosmiconfig": "^5.0.5", "flow-enums-runtime": "^0.0.6", "jest-validate": "^29.7.0", "metro": "0.83.1", "metro-cache": "0.83.1", "metro-core": "0.83.1", "metro-runtime": "0.83.1" } }, "sha512-HJhpZx3wyOkux/jeF1o7akFJzZFdbn6Zf7UQqWrvp7gqFqNulQ8Mju09raBgPmmSxKDl4LbbNeigkX0/nKY1QA=="], + "metro-config": ["metro-config@0.83.3", "", { "dependencies": { "connect": "^3.6.5", "flow-enums-runtime": "^0.0.6", "jest-validate": "^29.7.0", "metro": "0.83.3", "metro-cache": "0.83.3", "metro-core": "0.83.3", "metro-runtime": "0.83.3", "yaml": "^2.6.1" } }, "sha512-mTel7ipT0yNjKILIan04bkJkuCzUUkm2SeEaTads8VfEecCh+ltXchdq6DovXJqzQAXuR2P9cxZB47Lg4klriA=="], - "metro-core": ["metro-core@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "lodash.throttle": "^4.1.1", "metro-resolver": "0.83.1" } }, "sha512-uVL1eAJcMFd2o2Q7dsbpg8COaxjZBBGaXqO2OHnivpCdfanraVL8dPmY6It9ZeqWLOihUKZ2yHW4b6soVCzH/Q=="], + "metro-core": ["metro-core@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "lodash.throttle": "^4.1.1", "metro-resolver": "0.83.3" } }, "sha512-M+X59lm7oBmJZamc96usuF1kusd5YimqG/q97g4Ac7slnJ3YiGglW5CsOlicTR5EWf8MQFxxjDoB6ytTqRe8Hw=="], - "metro-file-map": ["metro-file-map@0.83.1", "", { "dependencies": { "debug": "^4.4.0", "fb-watchman": "^2.0.0", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "nullthrows": "^1.1.1", "walker": "^1.0.7" } }, "sha512-Yu429lnexKl44PttKw3nhqgmpBR+6UQ/tRaYcxPeEShtcza9DWakCn7cjqDTQZtWR2A8xSNv139izJMyQ4CG+w=="], + "metro-file-map": ["metro-file-map@0.83.3", "", { "dependencies": { "debug": "^4.4.0", "fb-watchman": "^2.0.0", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "nullthrows": "^1.1.1", "walker": "^1.0.7" } }, "sha512-jg5AcyE0Q9Xbbu/4NAwwZkmQn7doJCKGW0SLeSJmzNB9Z24jBe0AL2PHNMy4eu0JiKtNWHz9IiONGZWq7hjVTA=="], - "metro-minify-terser": ["metro-minify-terser@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "terser": "^5.15.0" } }, "sha512-kmooOxXLvKVxkh80IVSYO4weBdJDhCpg5NSPkjzzAnPJP43u6+usGXobkTWxxrAlq900bhzqKek4pBsUchlX6A=="], + "metro-minify-terser": ["metro-minify-terser@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "terser": "^5.15.0" } }, "sha512-O2BmfWj6FSfzBLrNCXt/rr2VYZdX5i6444QJU0fFoc7Ljg+Q+iqebwE3K0eTvkI6TRjELsXk1cjU+fXwAR4OjQ=="], - "metro-resolver": ["metro-resolver@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-t8j46kiILAqqFS5RNa+xpQyVjULxRxlvMidqUswPEk5nQVNdlJslqizDm/Et3v/JKwOtQGkYAQCHxP1zGStR/g=="], + "metro-resolver": ["metro-resolver@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-0js+zwI5flFxb1ktmR///bxHYg7OLpRpWZlBBruYG8OKYxeMP7SV0xQ/o/hUelrEMdK4LJzqVtHAhBm25LVfAQ=="], "metro-runtime": ["metro-runtime@0.83.3", "", { "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" } }, "sha512-JHCJb9ebr9rfJ+LcssFYA2x1qPYuSD/bbePupIGhpMrsla7RCwC/VL3yJ9cSU+nUhU4c9Ixxy8tBta+JbDeZWw=="], @@ -1478,9 +1457,9 @@ "metro-symbolicate": ["metro-symbolicate@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-source-map": "0.83.3", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "bin": { "metro-symbolicate": "src/index.js" } }, "sha512-F/YChgKd6KbFK3eUR5HdUsfBqVsanf5lNTwFd4Ca7uuxnHgBC3kR/Hba/RGkenR3pZaGNp5Bu9ZqqP52Wyhomw=="], - "metro-transform-plugins": ["metro-transform-plugins@0.83.1", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.3", "flow-enums-runtime": "^0.0.6", "nullthrows": "^1.1.1" } }, "sha512-1Y+I8oozXwhuS0qwC+ezaHXBf0jXW4oeYn4X39XWbZt9X2HfjodqY9bH9r6RUTsoiK7S4j8Ni2C91bUC+sktJQ=="], + "metro-transform-plugins": ["metro-transform-plugins@0.83.3", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.3", "flow-enums-runtime": "^0.0.6", "nullthrows": "^1.1.1" } }, "sha512-eRGoKJU6jmqOakBMH5kUB7VitEWiNrDzBHpYbkBXW7C5fUGeOd2CyqrosEzbMK5VMiZYyOcNFEphvxk3OXey2A=="], - "metro-transform-worker": ["metro-transform-worker@0.83.1", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/parser": "^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "metro": "0.83.1", "metro-babel-transformer": "0.83.1", "metro-cache": "0.83.1", "metro-cache-key": "0.83.1", "metro-minify-terser": "0.83.1", "metro-source-map": "0.83.1", "metro-transform-plugins": "0.83.1", "nullthrows": "^1.1.1" } }, "sha512-owCrhPyUxdLgXEEEAL2b14GWTPZ2zYuab1VQXcfEy0sJE71iciD7fuMcrngoufh7e7UHDZ56q4ktXg8wgiYA1Q=="], + "metro-transform-worker": ["metro-transform-worker@0.83.3", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/parser": "^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "metro": "0.83.3", "metro-babel-transformer": "0.83.3", "metro-cache": "0.83.3", "metro-cache-key": "0.83.3", "metro-minify-terser": "0.83.3", "metro-source-map": "0.83.3", "metro-transform-plugins": "0.83.3", "nullthrows": "^1.1.1" } }, "sha512-Ztekew9t/gOIMZX1tvJOgX7KlSLL5kWykl0Iwu2cL2vKMKVALRl1hysyhUw0vjpAvLFx+Kfq9VLjnHIkW32fPA=="], "micromatch": ["micromatch@4.0.5", "", { "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" } }, "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA=="], @@ -1584,8 +1563,6 @@ "package-json": ["package-json@10.0.1", "", { "dependencies": { "ky": "^1.2.0", "registry-auth-token": "^5.0.2", "registry-url": "^6.0.1", "semver": "^7.6.0" } }, "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg=="], - "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], - "pako": ["pako@1.0.11", "", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="], "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], @@ -1604,7 +1581,7 @@ "path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="], - "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + "path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], @@ -1704,7 +1681,7 @@ "react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], - "react-native": ["react-native@0.83.0", "", { "dependencies": { "@jest/create-cache-key-function": "^29.7.0", "@react-native/assets-registry": "0.83.0", "@react-native/codegen": "0.83.0", "@react-native/community-cli-plugin": "0.83.0", "@react-native/gradle-plugin": "0.83.0", "@react-native/js-polyfills": "0.83.0", "@react-native/normalize-colors": "0.83.0", "@react-native/virtualized-lists": "0.83.0", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", "babel-jest": "^29.7.0", "babel-plugin-syntax-hermes-parser": "0.32.0", "base64-js": "^1.5.1", "commander": "^12.0.0", "flow-enums-runtime": "^0.0.6", "glob": "^7.1.1", "hermes-compiler": "0.14.0", "invariant": "^2.2.4", "jest-environment-node": "^29.7.0", "memoize-one": "^5.0.0", "metro-runtime": "^0.83.3", "metro-source-map": "^0.83.3", "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", "promise": "^8.3.0", "react-devtools-core": "^6.1.5", "react-refresh": "^0.14.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.27.0", "semver": "^7.1.3", "stacktrace-parser": "^0.1.10", "whatwg-fetch": "^3.0.0", "ws": "^7.5.10", "yargs": "^17.6.2" }, "peerDependencies": { "@types/react": "^19.1.1", "react": "^19.2.0" }, "optionalPeers": ["@types/react"], "bin": { "react-native": "cli.js" } }, "sha512-a8wPjGfkktb1+Mjvzkky3d0u6j6zdWAzftZ2LdQtgRgqkMMfgQxD9S+ri3RNlfAFQpuCAOYUIyrNHiVkUQChxA=="], + "react-native": ["react-native@0.83.1", "", { "dependencies": { "@jest/create-cache-key-function": "^29.7.0", "@react-native/assets-registry": "0.83.1", "@react-native/codegen": "0.83.1", "@react-native/community-cli-plugin": "0.83.1", "@react-native/gradle-plugin": "0.83.1", "@react-native/js-polyfills": "0.83.1", "@react-native/normalize-colors": "0.83.1", "@react-native/virtualized-lists": "0.83.1", "abort-controller": "^3.0.0", "anser": "^1.4.9", "ansi-regex": "^5.0.0", "babel-jest": "^29.7.0", "babel-plugin-syntax-hermes-parser": "0.32.0", "base64-js": "^1.5.1", "commander": "^12.0.0", "flow-enums-runtime": "^0.0.6", "glob": "^7.1.1", "hermes-compiler": "0.14.0", "invariant": "^2.2.4", "jest-environment-node": "^29.7.0", "memoize-one": "^5.0.0", "metro-runtime": "^0.83.3", "metro-source-map": "^0.83.3", "nullthrows": "^1.1.1", "pretty-format": "^29.7.0", "promise": "^8.3.0", "react-devtools-core": "^6.1.5", "react-refresh": "^0.14.0", "regenerator-runtime": "^0.13.2", "scheduler": "0.27.0", "semver": "^7.1.3", "stacktrace-parser": "^0.1.10", "whatwg-fetch": "^3.0.0", "ws": "^7.5.10", "yargs": "^17.6.2" }, "peerDependencies": { "@types/react": "^19.1.1", "react": "^19.2.0" }, "optionalPeers": ["@types/react"], "bin": { "react-native": "cli.js" } }, "sha512-mL1q5HPq5cWseVhWRLl+Fwvi5z1UO+3vGOpjr+sHFwcUletPRZ5Kv+d0tUfqHmvi73/53NjlQqX1Pyn4GguUfA=="], "react-native-context-menu-view": ["react-native-context-menu-view@1.20.0", "", { "peerDependencies": { "react": "^16.8.1 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-native": ">=0.60.0-rc.0 <1.0.x" } }, "sha512-g1EYZiPaJWjeq7GWeL9TaYSnKmL9/hiDE7Arvj8r8fLip/l+BvS+BRtblX9qk9VpQdDWyd6L6A4yL2sz6+ohQw=="], @@ -1772,8 +1749,6 @@ "resolve-workspace-root": ["resolve-workspace-root@2.0.0", "", {}, "sha512-IsaBUZETJD5WsI11Wt8PKHwaIe45or6pwNc8yflvLJ4DWtImK9kuLoH5kUva/2Mmx/RdIyr4aONNSa2v9LTJsw=="], - "resolve.exports": ["resolve.exports@2.0.3", "", {}, "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A=="], - "restore-cursor": ["restore-cursor@5.1.0", "", { "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" } }, "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA=="], "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], @@ -1876,14 +1851,10 @@ "string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], - "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - "string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], "strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], - "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "strip-bom": ["strip-bom@5.0.0", "", {}, "sha512-p+byADHF7SzEcVnLvc/r3uognM1hUhObuHXxJcgLCfD194XAkaLbjq3Wzb0N5G2tgIjH0dgT708Z51QxMeu60A=="], "strip-final-newline": ["strip-final-newline@3.0.0", "", {}, "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw=="], @@ -2060,8 +2031,6 @@ "wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="], - "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], "write-file-atomic": ["write-file-atomic@4.0.2", "", { "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" } }, "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg=="], @@ -2120,13 +2089,9 @@ "@eslint/plugin-kit/@eslint/core": ["@eslint/core@0.15.2", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg=="], - "@expo/cli/@expo/env": ["@expo/env@2.0.8", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-5VQD6GT8HIMRaSaB5JFtOXuvfDVU80YtZIuUT/GDhUF782usIXY13Tn3IdDz1Tm/lqA9qnRZQ1BF4t7LlvdJPA=="], - - "@expo/cli/@expo/schema-utils": ["@expo/schema-utils@0.1.8", "", {}, "sha512-9I6ZqvnAvKKDiO+ZF8BpQQFYWXOJvTAL5L/227RUbWG1OVZDInFifzCBiqAZ3b67NRfeAgpgvbA7rejsqhY62A=="], - "@expo/cli/ci-info": ["ci-info@3.9.0", "", {}, "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ=="], - "@expo/cli/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], + "@expo/cli/glob": ["glob@13.0.0", "", { "dependencies": { "minimatch": "^10.1.1", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA=="], "@expo/cli/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], @@ -2156,7 +2121,7 @@ "@expo/env/dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA=="], - "@expo/fingerprint/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], + "@expo/fingerprint/glob": ["glob@13.0.0", "", { "dependencies": { "minimatch": "^10.1.1", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA=="], "@expo/fingerprint/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], @@ -2166,17 +2131,11 @@ "@expo/json-file/@babel/code-frame": ["@babel/code-frame@7.10.4", "", { "dependencies": { "@babel/highlight": "^7.10.4" } }, "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg=="], - "@expo/metro/metro-runtime": ["metro-runtime@0.83.1", "", { "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" } }, "sha512-3Ag8ZS4IwafL/JUKlaeM6/CbkooY+WcVeqdNlBG0m4S0Qz0om3rdFdy1y6fYBpl6AwXJwWeMuXrvZdMuByTcRA=="], - - "@expo/metro/metro-source-map": ["metro-source-map@0.83.1", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.83.1", "nullthrows": "^1.1.1", "ob1": "0.83.1", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "sha512-De7Vbeo96fFZ2cqmI0fWwVJbtHIwPZv++LYlWSwzTiCzxBDJORncN0LcT48Vi2UlQLzXJg+/CuTAcy7NBVh69A=="], - - "@expo/metro-config/@expo/env": ["@expo/env@2.0.8", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-5VQD6GT8HIMRaSaB5JFtOXuvfDVU80YtZIuUT/GDhUF782usIXY13Tn3IdDz1Tm/lqA9qnRZQ1BF4t7LlvdJPA=="], - "@expo/metro-config/dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], "@expo/metro-config/dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA=="], - "@expo/metro-config/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], + "@expo/metro-config/glob": ["glob@13.0.0", "", { "dependencies": { "minimatch": "^10.1.1", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA=="], "@expo/metro-config/hermes-parser": ["hermes-parser@0.29.1", "", { "dependencies": { "hermes-estree": "0.29.1" } }, "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA=="], @@ -2184,17 +2143,15 @@ "@expo/metro-config/postcss": ["postcss@8.4.49", "", { "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA=="], - "@expo/package-manager/ora": ["ora@3.4.0", "", { "dependencies": { "chalk": "^2.4.2", "cli-cursor": "^2.1.0", "cli-spinners": "^2.0.0", "log-symbols": "^2.2.0", "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" } }, "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg=="], + "@expo/metro-runtime/@expo/log-box": ["@expo/log-box@0.0.13-canary-20251216-3f01dbf", "", { "dependencies": { "@expo/dom-webview": "0.2.9-canary-20251216-3f01dbf", "anser": "^1.4.9", "stacktrace-parser": "^0.1.10" }, "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf", "react": "*", "react-dom": "*", "react-native": "*", "react-native-web": "*" } }, "sha512-7h/9nw26xmhqQyD5Tl4uZvl/iO3ITb58ic8YsL0qZlKCn8oBCRLBOqLpq+9CZMH0Bd3ZU8z0XvbqoAvw0CJHPA=="], - "@expo/prebuild-config/@react-native/normalize-colors": ["@react-native/normalize-colors@0.81.5", "", {}, "sha512-0HuJ8YtqlTVRXGZuGeBejLE04wSQsibpTI+RGOyVqxZvgtlLLC/Ssw0UmbHhT4lYMp2fhdtvKZSs5emWB1zR/g=="], + "@expo/package-manager/ora": ["ora@3.4.0", "", { "dependencies": { "chalk": "^2.4.2", "cli-cursor": "^2.1.0", "cli-spinners": "^2.0.0", "log-symbols": "^2.2.0", "strip-ansi": "^5.2.0", "wcwidth": "^1.0.1" } }, "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg=="], "@expo/prebuild-config/semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], - "@expo/xcpretty/@babel/code-frame": ["@babel/code-frame@7.10.4", "", { "dependencies": { "@babel/highlight": "^7.10.4" } }, "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg=="], - - "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + "@expo/router-server/expo-font": ["expo-font@14.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "fontfaceobserver": "^2.1.0" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*", "react-native": "*" } }, "sha512-OQdE9hB4y1N/Aub5S9c8GOlWGaxB6FIIbwxiCg74yMr5c61QlV9RN7a5QAWdIB8ghHlJMZ8HDH/R6taR5AOA2g=="], - "@isaacs/cliui/wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], + "@expo/xcpretty/@babel/code-frame": ["@babel/code-frame@7.10.4", "", { "dependencies": { "@babel/highlight": "^7.10.4" } }, "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg=="], "@istanbuljs/load-nyc-config/camelcase": ["camelcase@5.3.1", "", {}, "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="], @@ -2218,22 +2175,12 @@ "@react-native/codegen/hermes-parser": ["hermes-parser@0.32.0", "", { "dependencies": { "hermes-estree": "0.32.0" } }, "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw=="], - "@react-native/community-cli-plugin/@react-native/dev-middleware": ["@react-native/dev-middleware@0.83.0", "", { "dependencies": { "@isaacs/ttlcache": "^1.4.1", "@react-native/debugger-frontend": "0.83.0", "@react-native/debugger-shell": "0.83.0", "chrome-launcher": "^0.15.2", "chromium-edge-launcher": "^0.2.0", "connect": "^3.6.5", "debug": "^4.4.0", "invariant": "^2.2.4", "nullthrows": "^1.1.1", "open": "^7.0.3", "serve-static": "^1.16.2", "ws": "^7.5.10" } }, "sha512-HWn42tbp0h8RWttua6d6PjseaSr3IdwkaoqVxhiM9kVDY7Ro00eO7tdlVgSzZzhIibdVS2b2C3x+sFoWhag1fA=="], - - "@react-native/community-cli-plugin/metro": ["metro@0.83.3", "", { "dependencies": { "@babel/code-frame": "^7.24.7", "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/parser": "^7.25.3", "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.3", "@babel/types": "^7.25.2", "accepts": "^1.3.7", "chalk": "^4.0.0", "ci-info": "^2.0.0", "connect": "^3.6.5", "debug": "^4.4.0", "error-stack-parser": "^2.0.6", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "hermes-parser": "0.32.0", "image-size": "^1.0.2", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "jsc-safe-url": "^0.2.2", "lodash.throttle": "^4.1.1", "metro-babel-transformer": "0.83.3", "metro-cache": "0.83.3", "metro-cache-key": "0.83.3", "metro-config": "0.83.3", "metro-core": "0.83.3", "metro-file-map": "0.83.3", "metro-resolver": "0.83.3", "metro-runtime": "0.83.3", "metro-source-map": "0.83.3", "metro-symbolicate": "0.83.3", "metro-transform-plugins": "0.83.3", "metro-transform-worker": "0.83.3", "mime-types": "^2.1.27", "nullthrows": "^1.1.1", "serialize-error": "^2.1.0", "source-map": "^0.5.6", "throat": "^5.0.0", "ws": "^7.5.10", "yargs": "^17.6.2" }, "bin": { "metro": "src/cli.js" } }, "sha512-+rP+/GieOzkt97hSJ0MrPOuAH/jpaS21ZDvL9DJ35QYRDlQcwzcvUlGUf79AnQxq/2NPiS/AULhhM4TKutIt8Q=="], - - "@react-native/community-cli-plugin/metro-config": ["metro-config@0.83.3", "", { "dependencies": { "connect": "^3.6.5", "flow-enums-runtime": "^0.0.6", "jest-validate": "^29.7.0", "metro": "0.83.3", "metro-cache": "0.83.3", "metro-core": "0.83.3", "metro-runtime": "0.83.3", "yaml": "^2.6.1" } }, "sha512-mTel7ipT0yNjKILIan04bkJkuCzUUkm2SeEaTads8VfEecCh+ltXchdq6DovXJqzQAXuR2P9cxZB47Lg4klriA=="], - - "@react-native/community-cli-plugin/metro-core": ["metro-core@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "lodash.throttle": "^4.1.1", "metro-resolver": "0.83.3" } }, "sha512-M+X59lm7oBmJZamc96usuF1kusd5YimqG/q97g4Ac7slnJ3YiGglW5CsOlicTR5EWf8MQFxxjDoB6ytTqRe8Hw=="], - "@react-native/community-cli-plugin/semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], "@react-native/dev-middleware/chrome-launcher": ["chrome-launcher@0.15.2", "", { "dependencies": { "@types/node": "*", "escape-string-regexp": "^4.0.0", "is-wsl": "^2.2.0", "lighthouse-logger": "^1.0.0" }, "bin": { "print-chrome-path": "bin/print-chrome-path.js" } }, "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ=="], "@react-native/dev-middleware/open": ["open@7.4.2", "", { "dependencies": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" } }, "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q=="], - "@react-native/dev-middleware/ws": ["ws@6.2.3", "", { "dependencies": { "async-limiter": "~1.0.0" } }, "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA=="], - "@react-navigation/core/react-is": ["react-is@19.2.3", "", {}, "sha512-qJNJfu81ByyabuG7hPFEbXqNcWSU3+eVus+KJs+0ncpGfMyYdvSmxiJxbWR65lYi1I+/0HBcliO029gc4F+PnA=="], "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], @@ -2260,8 +2207,6 @@ "c12/jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], - "caller-callsite/callsites": ["callsites@2.0.0", "", {}, "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ=="], - "chokidar/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], "chrome-launcher/is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], @@ -2286,12 +2231,6 @@ "connect/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "cosmiconfig/import-fresh": ["import-fresh@2.0.0", "", { "dependencies": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" } }, "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg=="], - - "cosmiconfig/js-yaml": ["js-yaml@3.14.2", "", { "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg=="], - - "cosmiconfig/parse-json": ["parse-json@4.0.0", "", { "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" } }, "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw=="], - "css-tree/source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], "dom-serializer/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], @@ -2300,21 +2239,17 @@ "dotenv-expand/dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], - "expo/expo-constants": ["expo-constants@18.0.12", "", { "dependencies": { "@expo/config": "~12.0.12", "@expo/env": "~2.0.8" }, "peerDependencies": { "expo": "*", "react-native": "*" } }, "sha512-WzcKYMVNRRu4NcSzfIVRD5aUQFnSpTZgXFrlWmm19xJoDa4S3/PQNi6PNTBRc49xz9h8FT7HMxRKaC8lr0gflA=="], - - "expo-asset/expo-constants": ["expo-constants@18.0.12", "", { "dependencies": { "@expo/config": "~12.0.12", "@expo/env": "~2.0.8" }, "peerDependencies": { "expo": "*", "react-native": "*" } }, "sha512-WzcKYMVNRRu4NcSzfIVRD5aUQFnSpTZgXFrlWmm19xJoDa4S3/PQNi6PNTBRc49xz9h8FT7HMxRKaC8lr0gflA=="], + "expo/babel-preset-expo": ["babel-preset-expo@54.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/plugin-proposal-decorators": "^7.12.9", "@babel/plugin-proposal-export-default-from": "^7.24.7", "@babel/plugin-syntax-export-default-from": "^7.24.7", "@babel/plugin-transform-class-static-block": "^7.27.1", "@babel/plugin-transform-export-namespace-from": "^7.25.9", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/preset-react": "^7.22.15", "@babel/preset-typescript": "^7.23.0", "@react-native/babel-preset": "0.83.1", "babel-plugin-react-compiler": "^1.0.0", "babel-plugin-react-native-web": "~0.21.0", "babel-plugin-syntax-hermes-parser": "^0.29.1", "babel-plugin-transform-flow-enums": "^0.0.2", "debug": "^4.3.4", "resolve-from": "^5.0.0" }, "peerDependencies": { "@babel/runtime": "^7.20.0", "expo": "55.0.0-canary-20251230-fc48ddc", "react-refresh": ">=0.14.0 <1.0.0" }, "optionalPeers": ["@babel/runtime", "expo"] }, "sha512-2SMoySepYnhskzwMSjZplBE77FPp0GwjuEgioFgIWLKJ7Lw2P84zoEcQ7uGtiz1W0snVmqfAQtSuLi894BK9Sg=="], - "expo-constants/@expo/config": ["@expo/config@12.0.13-canary-20251216-3f01dbf", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "@expo/config-plugins": "54.0.5-canary-20251216-3f01dbf", "@expo/config-types": "55.0.0-canary-20251216-3f01dbf", "@expo/json-file": "10.0.9-canary-20251216-3f01dbf", "deepmerge": "^4.3.1", "getenv": "^2.0.0", "glob": "^13.0.0", "require-from-string": "^2.0.2", "resolve-from": "^5.0.0", "resolve-workspace-root": "^2.0.0", "semver": "^7.6.0", "slugify": "^1.3.4", "sucrase": "~3.35.1" } }, "sha512-c//gL86gImxYqbSMRDyKUPvCWBWGB63JOV0JUtj5LhuKOhlgbo07X2tQPhqAAbzm520EFuAmrUP/HPNe9AS/IQ=="], + "expo/expo-font": ["expo-font@14.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "fontfaceobserver": "^2.1.0" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*", "react-native": "*" } }, "sha512-OQdE9hB4y1N/Aub5S9c8GOlWGaxB6FIIbwxiCg74yMr5c61QlV9RN7a5QAWdIB8ghHlJMZ8HDH/R6taR5AOA2g=="], "expo-dev-launcher/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], - "expo-manifests/@expo/config": ["@expo/config@12.0.13-canary-20251216-3f01dbf", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "@expo/config-plugins": "54.0.5-canary-20251216-3f01dbf", "@expo/config-types": "55.0.0-canary-20251216-3f01dbf", "@expo/json-file": "10.0.9-canary-20251216-3f01dbf", "deepmerge": "^4.3.1", "getenv": "^2.0.0", "glob": "^13.0.0", "require-from-string": "^2.0.2", "resolve-from": "^5.0.0", "resolve-workspace-root": "^2.0.0", "semver": "^7.6.0", "slugify": "^1.3.4", "sucrase": "~3.35.1" } }, "sha512-c//gL86gImxYqbSMRDyKUPvCWBWGB63JOV0JUtj5LhuKOhlgbo07X2tQPhqAAbzm520EFuAmrUP/HPNe9AS/IQ=="], - "expo-modules-autolinking/commander": ["commander@7.2.0", "", {}, "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="], - "expo-modules-autolinking/glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], + "expo-router/@expo/metro-runtime": ["@expo/metro-runtime@6.2.0-canary-20251230-fc48ddc", "", { "dependencies": { "@expo/log-box": "0.0.13-canary-20251230-fc48ddc", "anser": "^1.4.9", "pretty-format": "^29.7.0", "stacktrace-parser": "^0.1.10", "whatwg-fetch": "^3.0.0" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*", "react-dom": "*", "react-native": "*" }, "optionalPeers": ["react-dom"] }, "sha512-KEMwM5lp1QQw59aS06HLTyPi8SFwkIBRfGQx9U+Vv3U1oP6ylAJLvITSFM+2OBHqEqBHydv3JyZiu4clKiv/Ww=="], - "expo-symbols/expo-font": ["expo-font@14.1.0-canary-20251211-7da85ea", "", { "dependencies": { "fontfaceobserver": "^2.1.0" }, "peerDependencies": { "expo": "55.0.0-canary-20251211-7da85ea", "react": "*", "react-native": "*" } }, "sha512-KWfFyZU6tCTYU9xiJ73vtfAz73UMFFzTDAL11Y44T7sygx8vgoUvSEr6AyWgw/2WNc/xhutDc3eNtOdDtnkrbA=="], + "expo-symbols/expo-font": ["expo-font@14.1.0-canary-20251230-fc48ddc", "", { "dependencies": { "fontfaceobserver": "^2.1.0" }, "peerDependencies": { "expo": "55.0.0-canary-20251230-fc48ddc", "react": "*", "react-native": "*" } }, "sha512-OQdE9hB4y1N/Aub5S9c8GOlWGaxB6FIIbwxiCg74yMr5c61QlV9RN7a5QAWdIB8ghHlJMZ8HDH/R6taR5AOA2g=="], "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], @@ -2378,19 +2313,13 @@ "metro/ci-info": ["ci-info@2.0.0", "", {}, "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="], - "metro/hermes-parser": ["hermes-parser@0.29.1", "", { "dependencies": { "hermes-estree": "0.29.1" } }, "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA=="], - - "metro/metro-runtime": ["metro-runtime@0.83.1", "", { "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" } }, "sha512-3Ag8ZS4IwafL/JUKlaeM6/CbkooY+WcVeqdNlBG0m4S0Qz0om3rdFdy1y6fYBpl6AwXJwWeMuXrvZdMuByTcRA=="], - - "metro/metro-source-map": ["metro-source-map@0.83.1", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.83.1", "nullthrows": "^1.1.1", "ob1": "0.83.1", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "sha512-De7Vbeo96fFZ2cqmI0fWwVJbtHIwPZv++LYlWSwzTiCzxBDJORncN0LcT48Vi2UlQLzXJg+/CuTAcy7NBVh69A=="], - - "metro/metro-symbolicate": ["metro-symbolicate@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-source-map": "0.83.1", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "bin": { "metro-symbolicate": "src/index.js" } }, "sha512-wPxYkONlq/Sv8Ji7vHEx5OzFouXAMQJjpcPW41ySKMLP/Ir18SsiJK2h4YkdKpYrTS1+0xf8oqF6nxCsT3uWtg=="], + "metro/hermes-parser": ["hermes-parser@0.32.0", "", { "dependencies": { "hermes-estree": "0.32.0" } }, "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw=="], "metro/source-map": ["source-map@0.5.7", "", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], - "metro-babel-transformer/hermes-parser": ["hermes-parser@0.29.1", "", { "dependencies": { "hermes-estree": "0.29.1" } }, "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA=="], + "metro-babel-transformer/hermes-parser": ["hermes-parser@0.32.0", "", { "dependencies": { "hermes-estree": "0.32.0" } }, "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw=="], - "metro-config/metro-runtime": ["metro-runtime@0.83.1", "", { "dependencies": { "@babel/runtime": "^7.25.0", "flow-enums-runtime": "^0.0.6" } }, "sha512-3Ag8ZS4IwafL/JUKlaeM6/CbkooY+WcVeqdNlBG0m4S0Qz0om3rdFdy1y6fYBpl6AwXJwWeMuXrvZdMuByTcRA=="], + "metro-config/yaml": ["yaml@2.8.2", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A=="], "metro-file-map/micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], @@ -2398,8 +2327,6 @@ "metro-symbolicate/source-map": ["source-map@0.5.7", "", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], - "metro-transform-worker/metro-source-map": ["metro-source-map@0.83.1", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-symbolicate": "0.83.1", "nullthrows": "^1.1.1", "ob1": "0.83.1", "source-map": "^0.5.6", "vlq": "^1.0.0" } }, "sha512-De7Vbeo96fFZ2cqmI0fWwVJbtHIwPZv++LYlWSwzTiCzxBDJORncN0LcT48Vi2UlQLzXJg+/CuTAcy7NBVh69A=="], - "mlly/pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], "node-notifier/is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], @@ -2418,7 +2345,7 @@ "parse-json/type-fest": ["type-fest@3.13.1", "", {}, "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g=="], - "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + "path-scurry/lru-cache": ["lru-cache@11.2.4", "", {}, "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg=="], "postcss-load-config/lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], @@ -2474,10 +2401,6 @@ "stack-utils/escape-string-regexp": ["escape-string-regexp@2.0.0", "", {}, "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="], - "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - - "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "strip-ansi/ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], "strip-literal/js-tokens": ["js-tokens@9.0.1", "", {}, "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ=="], @@ -2518,10 +2441,6 @@ "wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], - "wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], - - "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "write-file-atomic/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], "wxt/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], @@ -2544,9 +2463,7 @@ "@babel/highlight/chalk/supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="], - "@expo/cli/@expo/env/dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], - - "@expo/cli/@expo/env/dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA=="], + "@expo/cli/glob/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], "@expo/cli/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], @@ -2564,23 +2481,19 @@ "@expo/config-plugins/glob/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], - "@expo/config-plugins/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], - "@expo/config/glob/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], - "@expo/config/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "@expo/fingerprint/glob/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], "@expo/fingerprint/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + "@expo/metro-config/glob/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], + "@expo/metro-config/hermes-parser/hermes-estree": ["hermes-estree@0.29.1", "", {}, "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ=="], "@expo/metro-config/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], - "@expo/metro/metro-source-map/metro-symbolicate": ["metro-symbolicate@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-source-map": "0.83.1", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "bin": { "metro-symbolicate": "src/index.js" } }, "sha512-wPxYkONlq/Sv8Ji7vHEx5OzFouXAMQJjpcPW41ySKMLP/Ir18SsiJK2h4YkdKpYrTS1+0xf8oqF6nxCsT3uWtg=="], - - "@expo/metro/metro-source-map/ob1": ["ob1@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-ngwqewtdUzFyycomdbdIhFLjePPSOt1awKMUXQ0L7iLHgWEPF3DsCerblzjzfAUHaXuvE9ccJymWQ/4PNNqvnQ=="], - - "@expo/metro/metro-source-map/source-map": ["source-map@0.5.7", "", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], + "@expo/metro-runtime/@expo/log-box/@expo/dom-webview": ["@expo/dom-webview@0.2.9-canary-20251216-3f01dbf", "", { "peerDependencies": { "expo": "55.0.0-canary-20251216-3f01dbf", "react": "*", "react-native": "*" } }, "sha512-S7OPcDu+X1XFTaOUVu5lFum8ZUvtySvu46MNnymNuN3+pNQjrpb/5ATnHbS5FLh72OW04WJdZcHOb7ZMlMmmZg=="], "@expo/package-manager/ora/chalk": ["chalk@2.4.2", "", { "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" } }, "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="], @@ -2590,10 +2503,6 @@ "@expo/package-manager/ora/strip-ansi": ["strip-ansi@5.2.0", "", { "dependencies": { "ansi-regex": "^4.1.0" } }, "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="], - "@isaacs/cliui/string-width/emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], - - "@isaacs/cliui/wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], - "@istanbuljs/load-nyc-config/find-up/locate-path": ["locate-path@5.0.0", "", { "dependencies": { "p-locate": "^4.1.0" } }, "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="], "@istanbuljs/load-nyc-config/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], @@ -2602,38 +2511,6 @@ "@react-native/codegen/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], - "@react-native/community-cli-plugin/@react-native/dev-middleware/@react-native/debugger-frontend": ["@react-native/debugger-frontend@0.83.0", "", {}, "sha512-7XVbkH8nCjLKLe8z5DS37LNP62/QNNya/YuLlVoLfsiB54nR/kNZij5UU7rS0npAZ3WN7LR0anqLlYnzDd0JHA=="], - - "@react-native/community-cli-plugin/@react-native/dev-middleware/chrome-launcher": ["chrome-launcher@0.15.2", "", { "dependencies": { "@types/node": "*", "escape-string-regexp": "^4.0.0", "is-wsl": "^2.2.0", "lighthouse-logger": "^1.0.0" }, "bin": { "print-chrome-path": "bin/print-chrome-path.js" } }, "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ=="], - - "@react-native/community-cli-plugin/@react-native/dev-middleware/open": ["open@7.4.2", "", { "dependencies": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" } }, "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q=="], - - "@react-native/community-cli-plugin/metro/ci-info": ["ci-info@2.0.0", "", {}, "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="], - - "@react-native/community-cli-plugin/metro/hermes-parser": ["hermes-parser@0.32.0", "", { "dependencies": { "hermes-estree": "0.32.0" } }, "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw=="], - - "@react-native/community-cli-plugin/metro/metro-babel-transformer": ["metro-babel-transformer@0.83.3", "", { "dependencies": { "@babel/core": "^7.25.2", "flow-enums-runtime": "^0.0.6", "hermes-parser": "0.32.0", "nullthrows": "^1.1.1" } }, "sha512-1vxlvj2yY24ES1O5RsSIvg4a4WeL7PFXgKOHvXTXiW0deLvQr28ExXj6LjwCCDZ4YZLhq6HddLpZnX4dEdSq5g=="], - - "@react-native/community-cli-plugin/metro/metro-cache": ["metro-cache@0.83.3", "", { "dependencies": { "exponential-backoff": "^3.1.1", "flow-enums-runtime": "^0.0.6", "https-proxy-agent": "^7.0.5", "metro-core": "0.83.3" } }, "sha512-3jo65X515mQJvKqK3vWRblxDEcgY55Sk3w4xa6LlfEXgQ9g1WgMh9m4qVZVwgcHoLy0a2HENTPCCX4Pk6s8c8Q=="], - - "@react-native/community-cli-plugin/metro/metro-cache-key": ["metro-cache-key@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-59ZO049jKzSmvBmG/B5bZ6/dztP0ilp0o988nc6dpaDsU05Cl1c/lRf+yx8m9WW/JVgbmfO5MziBU559XjI5Zw=="], - - "@react-native/community-cli-plugin/metro/metro-file-map": ["metro-file-map@0.83.3", "", { "dependencies": { "debug": "^4.4.0", "fb-watchman": "^2.0.0", "flow-enums-runtime": "^0.0.6", "graceful-fs": "^4.2.4", "invariant": "^2.2.4", "jest-worker": "^29.7.0", "micromatch": "^4.0.4", "nullthrows": "^1.1.1", "walker": "^1.0.7" } }, "sha512-jg5AcyE0Q9Xbbu/4NAwwZkmQn7doJCKGW0SLeSJmzNB9Z24jBe0AL2PHNMy4eu0JiKtNWHz9IiONGZWq7hjVTA=="], - - "@react-native/community-cli-plugin/metro/metro-resolver": ["metro-resolver@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-0js+zwI5flFxb1ktmR///bxHYg7OLpRpWZlBBruYG8OKYxeMP7SV0xQ/o/hUelrEMdK4LJzqVtHAhBm25LVfAQ=="], - - "@react-native/community-cli-plugin/metro/metro-transform-plugins": ["metro-transform-plugins@0.83.3", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/template": "^7.25.0", "@babel/traverse": "^7.25.3", "flow-enums-runtime": "^0.0.6", "nullthrows": "^1.1.1" } }, "sha512-eRGoKJU6jmqOakBMH5kUB7VitEWiNrDzBHpYbkBXW7C5fUGeOd2CyqrosEzbMK5VMiZYyOcNFEphvxk3OXey2A=="], - - "@react-native/community-cli-plugin/metro/metro-transform-worker": ["metro-transform-worker@0.83.3", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/generator": "^7.25.0", "@babel/parser": "^7.25.3", "@babel/types": "^7.25.2", "flow-enums-runtime": "^0.0.6", "metro": "0.83.3", "metro-babel-transformer": "0.83.3", "metro-cache": "0.83.3", "metro-cache-key": "0.83.3", "metro-minify-terser": "0.83.3", "metro-source-map": "0.83.3", "metro-transform-plugins": "0.83.3", "nullthrows": "^1.1.1" } }, "sha512-Ztekew9t/gOIMZX1tvJOgX7KlSLL5kWykl0Iwu2cL2vKMKVALRl1hysyhUw0vjpAvLFx+Kfq9VLjnHIkW32fPA=="], - - "@react-native/community-cli-plugin/metro/source-map": ["source-map@0.5.7", "", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], - - "@react-native/community-cli-plugin/metro-config/metro-cache": ["metro-cache@0.83.3", "", { "dependencies": { "exponential-backoff": "^3.1.1", "flow-enums-runtime": "^0.0.6", "https-proxy-agent": "^7.0.5", "metro-core": "0.83.3" } }, "sha512-3jo65X515mQJvKqK3vWRblxDEcgY55Sk3w4xa6LlfEXgQ9g1WgMh9m4qVZVwgcHoLy0a2HENTPCCX4Pk6s8c8Q=="], - - "@react-native/community-cli-plugin/metro-config/yaml": ["yaml@2.8.2", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A=="], - - "@react-native/community-cli-plugin/metro-core/metro-resolver": ["metro-resolver@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-0js+zwI5flFxb1ktmR///bxHYg7OLpRpWZlBBruYG8OKYxeMP7SV0xQ/o/hUelrEMdK4LJzqVtHAhBm25LVfAQ=="], - "@react-native/dev-middleware/chrome-launcher/is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], "@react-native/dev-middleware/chrome-launcher/lighthouse-logger": ["lighthouse-logger@1.4.2", "", { "dependencies": { "debug": "^2.6.9", "marky": "^1.2.2" } }, "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g=="], @@ -2662,41 +2539,11 @@ "connect/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "cosmiconfig/import-fresh/resolve-from": ["resolve-from@3.0.0", "", {}, "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw=="], - - "cosmiconfig/js-yaml/argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], - - "expo-asset/expo-constants/@expo/env": ["@expo/env@2.0.8", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-5VQD6GT8HIMRaSaB5JFtOXuvfDVU80YtZIuUT/GDhUF782usIXY13Tn3IdDz1Tm/lqA9qnRZQ1BF4t7LlvdJPA=="], - - "expo-constants/@expo/config/@babel/code-frame": ["@babel/code-frame@7.10.4", "", { "dependencies": { "@babel/highlight": "^7.10.4" } }, "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg=="], - - "expo-constants/@expo/config/@expo/config-plugins": ["@expo/config-plugins@54.0.5-canary-20251216-3f01dbf", "", { "dependencies": { "@expo/config-types": "55.0.0-canary-20251216-3f01dbf", "@expo/json-file": "10.0.9-canary-20251216-3f01dbf", "@expo/plist": "0.4.9-canary-20251216-3f01dbf", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", "getenv": "^2.0.0", "glob": "^13.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.4", "slash": "^3.0.0", "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "sha512-lsE9UoBVb2couRNFRin1iy7phwjPSPEkqx0ftLE7LPeDjW80Js0CfSvGbvQ+L0qEYwEUl8GNYwzpLpLqesNdjw=="], - - "expo-constants/@expo/config/@expo/config-types": ["@expo/config-types@55.0.0-canary-20251216-3f01dbf", "", {}, "sha512-BcP8G9UMKSkXkKakv4Lhb9j77nH6ERs/QwRQRMAqIw+ql09SDlSaiNSogOdLNvqTGDuZtkYVL5eKQ7a8+dkDkg=="], - - "expo-constants/@expo/config/@expo/json-file": ["@expo/json-file@10.0.9-canary-20251216-3f01dbf", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-dlzgDi7ocTWvePwPCG8LRJCyNwL5PmfuN9BDPC93Ha3zKLtfTIGdb1BWnYxWhGz5uIosCKsWcO+pW1f+624EGQ=="], - - "expo-constants/@expo/config/glob": ["glob@13.0.0", "", { "dependencies": { "minimatch": "^10.1.1", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA=="], - - "expo-constants/@expo/config/semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], - "expo-dev-launcher/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - "expo-manifests/@expo/config/@babel/code-frame": ["@babel/code-frame@7.10.4", "", { "dependencies": { "@babel/highlight": "^7.10.4" } }, "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg=="], - - "expo-manifests/@expo/config/@expo/config-plugins": ["@expo/config-plugins@54.0.5-canary-20251216-3f01dbf", "", { "dependencies": { "@expo/config-types": "55.0.0-canary-20251216-3f01dbf", "@expo/json-file": "10.0.9-canary-20251216-3f01dbf", "@expo/plist": "0.4.9-canary-20251216-3f01dbf", "@expo/sdk-runtime-versions": "^1.0.0", "chalk": "^4.1.2", "debug": "^4.3.5", "getenv": "^2.0.0", "glob": "^13.0.0", "resolve-from": "^5.0.0", "semver": "^7.5.4", "slash": "^3.0.0", "slugify": "^1.6.6", "xcode": "^3.0.1", "xml2js": "0.6.0" } }, "sha512-lsE9UoBVb2couRNFRin1iy7phwjPSPEkqx0ftLE7LPeDjW80Js0CfSvGbvQ+L0qEYwEUl8GNYwzpLpLqesNdjw=="], - - "expo-manifests/@expo/config/@expo/config-types": ["@expo/config-types@55.0.0-canary-20251216-3f01dbf", "", {}, "sha512-BcP8G9UMKSkXkKakv4Lhb9j77nH6ERs/QwRQRMAqIw+ql09SDlSaiNSogOdLNvqTGDuZtkYVL5eKQ7a8+dkDkg=="], + "expo/babel-preset-expo/@react-native/babel-preset": ["@react-native/babel-preset@0.83.1", "", { "dependencies": { "@babel/core": "^7.25.2", "@babel/plugin-proposal-export-default-from": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-default-from": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-transform-arrow-functions": "^7.24.7", "@babel/plugin-transform-async-generator-functions": "^7.25.4", "@babel/plugin-transform-async-to-generator": "^7.24.7", "@babel/plugin-transform-block-scoping": "^7.25.0", "@babel/plugin-transform-class-properties": "^7.25.4", "@babel/plugin-transform-classes": "^7.25.4", "@babel/plugin-transform-computed-properties": "^7.24.7", "@babel/plugin-transform-destructuring": "^7.24.8", "@babel/plugin-transform-flow-strip-types": "^7.25.2", "@babel/plugin-transform-for-of": "^7.24.7", "@babel/plugin-transform-function-name": "^7.25.1", "@babel/plugin-transform-literals": "^7.25.2", "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", "@babel/plugin-transform-modules-commonjs": "^7.24.8", "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", "@babel/plugin-transform-numeric-separator": "^7.24.7", "@babel/plugin-transform-object-rest-spread": "^7.24.7", "@babel/plugin-transform-optional-catch-binding": "^7.24.7", "@babel/plugin-transform-optional-chaining": "^7.24.8", "@babel/plugin-transform-parameters": "^7.24.7", "@babel/plugin-transform-private-methods": "^7.24.7", "@babel/plugin-transform-private-property-in-object": "^7.24.7", "@babel/plugin-transform-react-display-name": "^7.24.7", "@babel/plugin-transform-react-jsx": "^7.25.2", "@babel/plugin-transform-react-jsx-self": "^7.24.7", "@babel/plugin-transform-react-jsx-source": "^7.24.7", "@babel/plugin-transform-regenerator": "^7.24.7", "@babel/plugin-transform-runtime": "^7.24.7", "@babel/plugin-transform-shorthand-properties": "^7.24.7", "@babel/plugin-transform-spread": "^7.24.7", "@babel/plugin-transform-sticky-regex": "^7.24.7", "@babel/plugin-transform-typescript": "^7.25.2", "@babel/plugin-transform-unicode-regex": "^7.24.7", "@babel/template": "^7.25.0", "@react-native/babel-plugin-codegen": "0.83.1", "babel-plugin-syntax-hermes-parser": "0.32.0", "babel-plugin-transform-flow-enums": "^0.0.2", "react-refresh": "^0.14.0" } }, "sha512-xI+tbsD4fXcI6PVU4sauRCh0a5fuLQC849SINmU2J5wP8kzKu4Ye0YkGjUW3mfGrjaZcjkWmF6s33jpyd3gdTw=="], - "expo-manifests/@expo/config/@expo/json-file": ["@expo/json-file@10.0.9-canary-20251216-3f01dbf", "", { "dependencies": { "@babel/code-frame": "~7.10.4", "json5": "^2.2.3" } }, "sha512-dlzgDi7ocTWvePwPCG8LRJCyNwL5PmfuN9BDPC93Ha3zKLtfTIGdb1BWnYxWhGz5uIosCKsWcO+pW1f+624EGQ=="], - - "expo-manifests/@expo/config/glob": ["glob@13.0.0", "", { "dependencies": { "minimatch": "^10.1.1", "minipass": "^7.1.2", "path-scurry": "^2.0.0" } }, "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA=="], - - "expo-manifests/@expo/config/semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], - - "expo-modules-autolinking/glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], - - "expo/expo-constants/@expo/env": ["@expo/env@2.0.8", "", { "dependencies": { "chalk": "^4.0.0", "debug": "^4.3.4", "dotenv": "~16.4.5", "dotenv-expand": "~11.0.6", "getenv": "^2.0.0" } }, "sha512-5VQD6GT8HIMRaSaB5JFtOXuvfDVU80YtZIuUT/GDhUF782usIXY13Tn3IdDz1Tm/lqA9qnRZQ1BF4t7LlvdJPA=="], + "expo/babel-preset-expo/babel-plugin-react-compiler": ["babel-plugin-react-compiler@1.0.0", "", { "dependencies": { "@babel/types": "^7.26.0" } }, "sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw=="], "finalhandler/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], @@ -2710,17 +2557,9 @@ "log-update/slice-ansi/is-fullwidth-code-point": ["is-fullwidth-code-point@5.1.0", "", { "dependencies": { "get-east-asian-width": "^1.3.1" } }, "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ=="], - "metro-babel-transformer/hermes-parser/hermes-estree": ["hermes-estree@0.29.1", "", {}, "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ=="], - - "metro-transform-worker/metro-source-map/metro-symbolicate": ["metro-symbolicate@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "invariant": "^2.2.4", "metro-source-map": "0.83.1", "nullthrows": "^1.1.1", "source-map": "^0.5.6", "vlq": "^1.0.0" }, "bin": { "metro-symbolicate": "src/index.js" } }, "sha512-wPxYkONlq/Sv8Ji7vHEx5OzFouXAMQJjpcPW41ySKMLP/Ir18SsiJK2h4YkdKpYrTS1+0xf8oqF6nxCsT3uWtg=="], - - "metro-transform-worker/metro-source-map/ob1": ["ob1@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-ngwqewtdUzFyycomdbdIhFLjePPSOt1awKMUXQ0L7iLHgWEPF3DsCerblzjzfAUHaXuvE9ccJymWQ/4PNNqvnQ=="], - - "metro-transform-worker/metro-source-map/source-map": ["source-map@0.5.7", "", {}, "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="], + "metro-babel-transformer/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], - "metro/hermes-parser/hermes-estree": ["hermes-estree@0.29.1", "", {}, "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ=="], - - "metro/metro-source-map/ob1": ["ob1@0.83.1", "", { "dependencies": { "flow-enums-runtime": "^0.0.6" } }, "sha512-ngwqewtdUzFyycomdbdIhFLjePPSOt1awKMUXQ0L7iLHgWEPF3DsCerblzjzfAUHaXuvE9ccJymWQ/4PNNqvnQ=="], + "metro/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], "mlly/pkg-types/confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], @@ -2756,8 +2595,6 @@ "terminal-link/ansi-escapes/type-fest": ["type-fest@0.21.3", "", {}, "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="], - "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - "wxt/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], "yargs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], @@ -2780,10 +2617,6 @@ "@expo/cli/wrap-ansi/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], - "@expo/config-plugins/glob/path-scurry/lru-cache": ["lru-cache@11.2.4", "", {}, "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg=="], - - "@expo/config/glob/path-scurry/lru-cache": ["lru-cache@11.2.4", "", {}, "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg=="], - "@expo/package-manager/ora/chalk/ansi-styles": ["ansi-styles@3.2.1", "", { "dependencies": { "color-convert": "^1.9.0" } }, "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="], "@expo/package-manager/ora/chalk/escape-string-regexp": ["escape-string-regexp@1.0.5", "", {}, "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="], @@ -2798,43 +2631,15 @@ "@react-native/babel-plugin-codegen/@react-native/codegen/hermes-parser/hermes-estree": ["hermes-estree@0.29.1", "", {}, "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ=="], - "@react-native/community-cli-plugin/@react-native/dev-middleware/chrome-launcher/is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], - - "@react-native/community-cli-plugin/@react-native/dev-middleware/chrome-launcher/lighthouse-logger": ["lighthouse-logger@1.4.2", "", { "dependencies": { "debug": "^2.6.9", "marky": "^1.2.2" } }, "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g=="], - - "@react-native/community-cli-plugin/@react-native/dev-middleware/open/is-wsl": ["is-wsl@2.2.0", "", { "dependencies": { "is-docker": "^2.0.0" } }, "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww=="], - - "@react-native/community-cli-plugin/metro/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], - - "@react-native/community-cli-plugin/metro/metro-file-map/micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], - - "@react-native/community-cli-plugin/metro/metro-transform-worker/metro-minify-terser": ["metro-minify-terser@0.83.3", "", { "dependencies": { "flow-enums-runtime": "^0.0.6", "terser": "^5.15.0" } }, "sha512-O2BmfWj6FSfzBLrNCXt/rr2VYZdX5i6444QJU0fFoc7Ljg+Q+iqebwE3K0eTvkI6TRjELsXk1cjU+fXwAR4OjQ=="], - "@react-native/dev-middleware/chrome-launcher/lighthouse-logger/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], "chromium-edge-launcher/lighthouse-logger/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "expo-asset/expo-constants/@expo/env/dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], - - "expo-asset/expo-constants/@expo/env/dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA=="], - - "expo-constants/@expo/config/@expo/config-plugins/@expo/plist": ["@expo/plist@0.4.9-canary-20251216-3f01dbf", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", "xmlbuilder": "^15.1.1" } }, "sha512-3/kYP08yrjXhpClr7tau8oSeimDZv0SNl6WxurUWhVgzH3pyA5gU0h1WwH5A0LUiyPUHcP9Osf20dZzfpB82Jg=="], - - "expo-constants/@expo/config/glob/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], - - "expo-constants/@expo/config/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], + "expo/babel-preset-expo/@react-native/babel-preset/@babel/plugin-transform-optional-chaining": ["@babel/plugin-transform-optional-chaining@7.28.5", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ=="], - "expo-manifests/@expo/config/@expo/config-plugins/@expo/plist": ["@expo/plist@0.4.9-canary-20251216-3f01dbf", "", { "dependencies": { "@xmldom/xmldom": "^0.8.8", "base64-js": "^1.5.1", "xmlbuilder": "^15.1.1" } }, "sha512-3/kYP08yrjXhpClr7tau8oSeimDZv0SNl6WxurUWhVgzH3pyA5gU0h1WwH5A0LUiyPUHcP9Osf20dZzfpB82Jg=="], + "expo/babel-preset-expo/@react-native/babel-preset/@react-native/babel-plugin-codegen": ["@react-native/babel-plugin-codegen@0.83.1", "", { "dependencies": { "@babel/traverse": "^7.25.3", "@react-native/codegen": "0.83.1" } }, "sha512-VPj8O3pG1ESjZho9WVKxqiuryrotAECPHGF5mx46zLUYNTWR5u9OMUXYk7LeLy+JLWdGEZ2Gn3KoXeFZbuqE+g=="], - "expo-manifests/@expo/config/glob/minimatch": ["minimatch@10.1.1", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ=="], - - "expo-manifests/@expo/config/glob/path-scurry": ["path-scurry@2.0.1", "", { "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" } }, "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA=="], - - "expo-modules-autolinking/glob/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], - - "expo/expo-constants/@expo/env/dotenv": ["dotenv@16.4.7", "", {}, "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ=="], - - "expo/expo-constants/@expo/env/dotenv-expand": ["dotenv-expand@11.0.7", "", { "dependencies": { "dotenv": "^16.4.5" } }, "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA=="], + "expo/babel-preset-expo/@react-native/babel-preset/babel-plugin-syntax-hermes-parser": ["babel-plugin-syntax-hermes-parser@0.32.0", "", { "dependencies": { "hermes-parser": "0.32.0" } }, "sha512-m5HthL++AbyeEA2FcdwOLfVFvWYECOBObLHNqdR8ceY4TsEdn4LdX2oTvbB2QJSSElE2AWA/b2MXZ/PF/CqLZg=="], "react-native/babel-plugin-syntax-hermes-parser/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], @@ -2860,13 +2665,9 @@ "@istanbuljs/load-nyc-config/find-up/locate-path/p-locate/p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="], - "@react-native/community-cli-plugin/@react-native/dev-middleware/chrome-launcher/lighthouse-logger/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], - "@react-native/dev-middleware/chrome-launcher/lighthouse-logger/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], - "expo-constants/@expo/config/glob/path-scurry/lru-cache": ["lru-cache@11.2.4", "", {}, "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg=="], - - "expo-manifests/@expo/config/glob/path-scurry/lru-cache": ["lru-cache@11.2.4", "", {}, "sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg=="], + "expo/babel-preset-expo/@react-native/babel-preset/babel-plugin-syntax-hermes-parser/hermes-parser": ["hermes-parser@0.32.0", "", { "dependencies": { "hermes-estree": "0.32.0" } }, "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw=="], "@expo/cli/ora/chalk/ansi-styles/color-convert/color-name": ["color-name@1.1.3", "", {}, "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="], @@ -2876,6 +2677,6 @@ "@expo/package-manager/ora/cli-cursor/restore-cursor/onetime/mimic-fn": ["mimic-fn@1.2.0", "", {}, "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="], - "@react-native/community-cli-plugin/@react-native/dev-middleware/chrome-launcher/lighthouse-logger/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], + "expo/babel-preset-expo/@react-native/babel-preset/babel-plugin-syntax-hermes-parser/hermes-parser/hermes-estree": ["hermes-estree@0.32.0", "", {}, "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ=="], } } diff --git a/companion/package.json b/companion/package.json index fe55c0e52f0924..66d9a6d55ed8cc 100644 --- a/companion/package.json +++ b/companion/package.json @@ -50,33 +50,33 @@ "prepare": "cd .. && husky companion/.husky" }, "dependencies": { - "@expo/ui": "0.2.0-canary-20251216-3f01dbf", + "@expo/ui": "0.2.0-canary-20251230-fc48ddc", "@expo/vector-icons": "15.0.3", - "@react-native-async-storage/async-storage": "2.1.0", + "@react-native-async-storage/async-storage": "2.2.0", "@react-native-community/netinfo": "11.4.1", "@react-native-segmented-control/segmented-control": "2.5.7", "@tanstack/react-query": "5.62.0", "@tanstack/react-query-persist-client": "5.62.0", "base64-js": "1.5.1", - "expo": "54.0.7", - "expo-auth-session": "7.0.11-canary-20251216-3f01dbf", - "expo-clipboard": "8.0.9-canary-20251216-3f01dbf", - "expo-constants": "18.1.0-canary-20251216-3f01dbf", - "expo-crypto": "15.0.9-canary-20251216-3f01dbf", - "expo-dev-client": "6.1.0-canary-20251216-3f01dbf", - "expo-device": "8.0.11-canary-20251216-3f01dbf", - "expo-glass-effect": "0.2.0-canary-20251216-3f01dbf", - "expo-haptics": "15.0.8", - "expo-image": "3.0.11", - "expo-linking": "8.0.11-canary-20251216-3f01dbf", - "expo-router": "7.0.0-canary-20251216-3f01dbf", - "expo-secure-store": "15.0.9-canary-20251216-3f01dbf", - "expo-status-bar": "3.0.10-canary-20251216-3f01dbf", - "expo-web-browser": "15.0.11-canary-20251216-3f01dbf", + "expo": "55.0.0-canary-20251230-fc48ddc", + "expo-auth-session": "7.0.11-canary-20251230-fc48ddc", + "expo-clipboard": "9.0.0-canary-20251230-fc48ddc", + "expo-constants": "18.1.0-canary-20251230-fc48ddc", + "expo-crypto": "15.0.9-canary-20251230-fc48ddc", + "expo-dev-client": "6.1.0-canary-20251230-fc48ddc", + "expo-device": "8.0.11-canary-20251230-fc48ddc", + "expo-glass-effect": "0.2.0-canary-20251230-fc48ddc", + "expo-haptics": "15.0.9-canary-20251230-fc48ddc", + "expo-image": "3.1.0-canary-20251230-fc48ddc", + "expo-linking": "8.0.12-canary-20251230-fc48ddc", + "expo-router": "7.0.0-canary-20251230-fc48ddc", + "expo-secure-store": "15.0.9-canary-20251230-fc48ddc", + "expo-status-bar": "3.0.10-canary-20251230-fc48ddc", + "expo-web-browser": "15.0.11-canary-20251230-fc48ddc", "nativewind": "4.2.1", "react": "19.2.3", "react-dom": "19.2.3", - "react-native": "0.83.0", + "react-native": "0.83.1", "react-native-context-menu-view": "1.20.0", "react-native-gesture-handler": "2.28.0", "react-native-reanimated": "4.2.0", @@ -87,22 +87,22 @@ "react-native-worklets": "0.7.1" }, "private": true, - "devDependencies": { - "@biomejs/biome": "2.3.10", - "@types/chrome": "0.1.31", - "@types/react": "19.2.3", - "@types/react-dom": "19.2.3", - "babel-plugin-react-compiler": "19.0.0-beta-af1b7da-20250417", - "babel-preset-expo": "54.0.7", - "eslint": "9.28.0", - "eslint-plugin-react-compiler": "19.0.0-beta-af1b7da-20250417", - "husky": "9.0.11", - "lint-staged": "15.2.0", - "tailwindcss": "3.4.17", - "typescript": "5.9.3", - "typescript-eslint": "8.50.1", - "wxt": "0.20.11" - }, + "devDependencies": { + "@biomejs/biome": "2.3.10", + "@types/chrome": "0.1.31", + "@types/react": "19.2.3", + "@types/react-dom": "19.2.3", + "babel-plugin-react-compiler": "19.0.0-beta-af1b7da-20250417", + "babel-preset-expo": "54.0.7", + "eslint": "9.28.0", + "eslint-plugin-react-compiler": "19.0.0-beta-af1b7da-20250417", + "husky": "9.0.11", + "lint-staged": "15.2.0", + "tailwindcss": "3.4.17", + "typescript": "5.9.3", + "typescript-eslint": "8.50.1", + "wxt": "0.20.11" + }, "lint-staged": { "**/*.{js,jsx,ts,tsx,json,css,md}": [ "biome format --write"