Bluesky app fork with some witchin' additions 💫

bump it bop it upgrade it (rn 79/expo 53) (#8281)

* basic bumps

* more tweaking

* fix rn patch

* fix crop picker patch

* fix media library patch

* rm unnecessary patch

* fix notifications patch

* update bottomsheet

* Update withAppDelegateReferrer.js

* Delete withNoBundleCompression.js

* rm withNoBundleCompression plugin

* rm findLast shim

* metro package exports is enabled by default

* update react/react-dom/react-compiler

* fix reanimated issue

* vendor expo-ized emoji popup

* fix types

* hackfix view full thread

* Update EmojiPickerModule.podspec

* more upgrades

* fix multiformats package version

* add baseurl

* bump mmkv

* bumps

* update react-keyed-flatten-children

* bump locale packages

* fix emoji picker dark mode

* rn upgrades

* Revert "bump locale packages"

This reverts commit fc82f0f173032127dd7c18ed0316ae26f53db51d.

* upgrade testing-library

* rm test renderer

* update patch name minors

* rm findNodeHandle from tabbar

* only do scrollview tag thing on ios

* disable package exports

* update expo notifications handler

* memoize emoji picker styles

* fix tests, mock multiformats

* bump some dev deps with RC versions

* completely rearchitect toasts

* rm logs

* layout animation config for composer footer

* disable autolinking for patched libs

* undo lingui changes

* version bump from release candidate to 0.1

* update atproto deps

* rm @did-plc/server

* fix key issue (maybe)

* move URL polyfill to the polyfill file

* fix yarn lock

* upgrade to 53.0.3

* reanimated layout anim bug patch

* workletize a function that wasn't getting autoworkletized anymore (#8309)

* bump to expo 53.0.4

* bump RN to 0.79.2

* fix yarn lock ci

* Revert "completely rearchitect toasts"

This reverts commit 2e2fcaeeed527580a6c485718544b85e8b4f52b9.

* final upgrades

* chore: cleanup yarn lock

* prettier

---------

Co-authored-by: Samuel Newman <mozzius@protonmail.com>

authored by hailey.at Samuel Newman and committed by GitHub 544f7bef 46ea3fdb

Changed files
+3003 -2877
__mocks__
multiformats
hashes
__tests__
docs
modules
patches
plugins
src
+3
__mocks__/multiformats/cid.js
···
··· 1 + export const CID = jest.fn().mockImplementation(() => { 2 + return {} 3 + })
+7
__mocks__/multiformats/hashes/hasher.js
···
··· 1 + export const from = jest.fn().mockImplementation(() => { 2 + return { 3 + digest: jest.fn().mockImplementation(() => { 4 + return Promise.resolve('') 5 + }), 6 + } 7 + })
+2 -2
__tests__/lib/string.test.ts
··· 1 import {RichText} from '@atproto/api' 2 3 - import {parseEmbedPlayerFromUrl} from 'lib/strings/embed-player' 4 import { 5 createStarterPackGooglePlayUri, 6 createStarterPackLinkFromAndroidReferrer, 7 parseStarterPackUri, 8 - } from 'lib/strings/starter-pack' 9 import {cleanError} from '../../src/lib/strings/errors' 10 import {createFullHandle, makeValidHandle} from '../../src/lib/strings/handles' 11 import {enforceLen} from '../../src/lib/strings/helpers'
··· 1 import {RichText} from '@atproto/api' 2 3 + import {parseEmbedPlayerFromUrl} from '#/lib/strings/embed-player' 4 import { 5 createStarterPackGooglePlayUri, 6 createStarterPackLinkFromAndroidReferrer, 7 parseStarterPackUri, 8 + } from '#/lib/strings/starter-pack' 9 import {cleanError} from '../../src/lib/strings/errors' 10 import {createFullHandle, makeValidHandle} from '../../src/lib/strings/handles' 11 import {enforceLen} from '../../src/lib/strings/helpers'
+1 -2
app.config.js
··· 193 plugins: [ 194 'expo-video', 195 'expo-localization', 196 [ 197 'react-native-edge-to-edge', 198 {android: {enforceNavigationBarContrast: false}}, ··· 242 './plugins/withAndroidStylesAccentColorPlugin.js', 243 './plugins/withAndroidDayNightThemePlugin.js', 244 './plugins/withAndroidNoJitpackPlugin.js', 245 - './plugins/withNoBundleCompression.js', 246 './plugins/shareExtension/withShareExtensions.js', 247 './plugins/notificationsExtension/withNotificationsExtension.js', 248 - './plugins/withAppDelegateReferrer.js', 249 [ 250 'expo-font', 251 {
··· 193 plugins: [ 194 'expo-video', 195 'expo-localization', 196 + 'expo-web-browser', 197 [ 198 'react-native-edge-to-edge', 199 {android: {enforceNavigationBarContrast: false}}, ··· 243 './plugins/withAndroidStylesAccentColorPlugin.js', 244 './plugins/withAndroidDayNightThemePlugin.js', 245 './plugins/withAndroidNoJitpackPlugin.js', 246 './plugins/shareExtension/withShareExtensions.js', 247 './plugins/notificationsExtension/withNotificationsExtension.js', 248 [ 249 'expo-font', 250 {
+1 -5
babel.config.js
··· 17 ], 18 plugins: [ 19 'macros', 20 - ['babel-plugin-react-compiler', {target: '18'}], 21 [ 22 'module:react-native-dotenv', 23 { ··· 37 alias: { 38 // This needs to be mirrored in tsconfig.json 39 '#': './src', 40 - lib: './src/lib', 41 - platform: './src/platform', 42 - state: './src/state', 43 - view: './src/view', 44 crypto: './src/platform/crypto.ts', 45 }, 46 },
··· 17 ], 18 plugins: [ 19 'macros', 20 + ['babel-plugin-react-compiler', {target: '19'}], 21 [ 22 'module:react-native-dotenv', 23 { ··· 37 alias: { 38 // This needs to be mirrored in tsconfig.json 39 '#': './src', 40 crypto: './src/platform/crypto.ts', 41 }, 42 },
+5 -2
docs/build.md
··· 15 16 - Set up your environment [using the expo instructions](https://docs.expo.dev/guides/local-app-development/). 17 - make sure that the JAVA_HOME points to the zulu-17 directory in your `.zshrc` or `.bashrc` file: `export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home`. DO NOT use another JDK or you will encounter build errors. 18 - - If you're running macOS, make sure you are running the correct versions of Ruby and Cocoapods:- 19 - If you are using Apple Silicon and this is the first time you are building for RN 0.74+, you may need to run: 20 - `arch -arm64 brew install llvm` 21 - `sudo gem install ffi` ··· 33 - After initial setup: 34 - Copy `google-services.json.example` to `google-services.json` or provide your own `google-services.json`. (A real firebase project is NOT required) 35 - `npx expo prebuild` -> you will also need to run this anytime `app.json` or native `package.json` deps change 36 - 37 ### Running the Native App 38 39 - iOS: `yarn ios` ··· 162 `./platform/polyfills.*.ts` adds polyfills to the environment. Currently, this includes: 163 164 - TextEncoder / TextDecoder 165 166 ### Sentry sourcemaps 167
··· 15 16 - Set up your environment [using the expo instructions](https://docs.expo.dev/guides/local-app-development/). 17 - make sure that the JAVA_HOME points to the zulu-17 directory in your `.zshrc` or `.bashrc` file: `export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home`. DO NOT use another JDK or you will encounter build errors. 18 + - If you're running macOS, make sure you are running the correct versions of Ruby and Cocoapods:- 19 - If you are using Apple Silicon and this is the first time you are building for RN 0.74+, you may need to run: 20 - `arch -arm64 brew install llvm` 21 - `sudo gem install ffi` ··· 33 - After initial setup: 34 - Copy `google-services.json.example` to `google-services.json` or provide your own `google-services.json`. (A real firebase project is NOT required) 35 - `npx expo prebuild` -> you will also need to run this anytime `app.json` or native `package.json` deps change 36 + 37 ### Running the Native App 38 39 - iOS: `yarn ios` ··· 162 `./platform/polyfills.*.ts` adds polyfills to the environment. Currently, this includes: 163 164 - TextEncoder / TextDecoder 165 + - react-native-url-polyfill 166 + - Array#findLast (on web) 167 + - atob (on native) 168 169 ### Sentry sourcemaps 170
+5 -6
metro.config.js
··· 16 17 cfg.resolver.assetExts = [...cfg.resolver.assetExts, 'woff2'] 18 19 cfg.resolver.resolveRequest = (context, moduleName, platform) => { 20 // HACK: manually resolve a few packages that use `exports` in `package.json`. 21 // A proper solution is to enable `unstable_enablePackageExports` but this needs careful testing. 22 if (moduleName.startsWith('multiformats/hashes/hasher')) { 23 return context.resolveRequest( 24 context, 25 - 'multiformats/dist/src/hashes/hasher', 26 platform, 27 ) 28 } 29 if (moduleName.startsWith('multiformats/cid')) { 30 - return context.resolveRequest( 31 - context, 32 - 'multiformats/dist/src/cid', 33 - platform, 34 - ) 35 } 36 if (moduleName === '@ipld/dag-cbor') { 37 return context.resolveRequest(context, '@ipld/dag-cbor/src', platform)
··· 16 17 cfg.resolver.assetExts = [...cfg.resolver.assetExts, 'woff2'] 18 19 + // Enabled by default in RN 0.79+, but this breaks Lingui + others 20 + cfg.resolver.unstable_enablePackageExports = false 21 + 22 cfg.resolver.resolveRequest = (context, moduleName, platform) => { 23 // HACK: manually resolve a few packages that use `exports` in `package.json`. 24 // A proper solution is to enable `unstable_enablePackageExports` but this needs careful testing. 25 if (moduleName.startsWith('multiformats/hashes/hasher')) { 26 return context.resolveRequest( 27 context, 28 + 'multiformats/cjs/src/hashes/hasher', 29 platform, 30 ) 31 } 32 if (moduleName.startsWith('multiformats/cid')) { 33 + return context.resolveRequest(context, 'multiformats/cjs/src/cid', platform) 34 } 35 if (moduleName === '@ipld/dag-cbor') { 36 return context.resolveRequest(context, '@ipld/dag-cbor/src', platform)
+3
modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/BottomSheetView.kt
··· 317 // View overrides to pass to DialogRootViewGroup instead 318 319 override fun dispatchProvideStructure(structure: ViewStructure?) { 320 dialogRootViewGroup.dispatchProvideStructure(structure) 321 } 322
··· 317 // View overrides to pass to DialogRootViewGroup instead 318 319 override fun dispatchProvideStructure(structure: ViewStructure?) { 320 + if (structure == null) { 321 + return 322 + } 323 dialogRootViewGroup.dispatchProvideStructure(structure) 324 } 325
+1 -13
modules/bottom-sheet/android/src/main/java/expo/modules/bottomsheet/DialogRootViewGroup.kt
··· 139 return super.onHoverEvent(event) 140 } 141 142 - @Deprecated("Deprecated in Java") 143 - override fun onChildStartedNativeGesture(ev: MotionEvent?) { 144 - eventDispatcher?.let { 145 - if (ev != null) { 146 - jSTouchDispatcher.onChildStartedNativeGesture(ev, it) 147 - } 148 - } 149 - } 150 - 151 - override fun onChildStartedNativeGesture( 152 - childView: View, 153 - ev: MotionEvent, 154 - ) { 155 eventDispatcher?.let { jSTouchDispatcher.onChildStartedNativeGesture(ev, it) } 156 jSPointerDispatcher?.onChildStartedNativeGesture(childView, ev, eventDispatcher) 157 }
··· 139 return super.onHoverEvent(event) 140 } 141 142 + override fun onChildStartedNativeGesture(childView: View?, ev: MotionEvent) { 143 eventDispatcher?.let { jSTouchDispatcher.onChildStartedNativeGesture(ev, it) } 144 jSPointerDispatcher?.onChildStartedNativeGesture(childView, ev, eventDispatcher) 145 }
+1 -1
modules/expo-bluesky-gif-view/ios/ExpoBlueskyGifView.podspec
··· 10 s.static_framework = true 11 12 s.dependency 'ExpoModulesCore' 13 - s.dependency 'SDWebImage', '~> 5.19.1' 14 s.dependency 'SDWebImageWebPCoder', '~> 0.14.6' 15 16 # Swift/Objective-C compatibility
··· 10 s.static_framework = true 11 12 s.dependency 'ExpoModulesCore' 13 + s.dependency 'SDWebImage', '~> 5.21.0' 14 s.dependency 'SDWebImageWebPCoder', '~> 0.14.6' 15 16 # Swift/Objective-C compatibility
+9
modules/expo-emoji-picker/LICENSE
···
··· 1 + MIT License 2 + 3 + Copyright (c) 2025 Alan Hughes 4 + 5 + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 + 7 + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 + 9 + THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+3
modules/expo-emoji-picker/README.md
···
··· 1 + # expo-emoji-picker 2 + 3 + Based on [react-native-emoji-popup](https://github.com/okwasniewski/react-native-emoji-popup) and [expo-emoji-picker](https://github.com/alanjhughes/expo-emoji-picker)
+46
modules/expo-emoji-picker/android/build.gradle
···
··· 1 + apply plugin: 'com.android.library' 2 + 3 + group = 'expo.community.modules.emojipicker' 4 + version = '0.1.0' 5 + 6 + def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle") 7 + apply from: expoModulesCorePlugin 8 + applyKotlinExpoModulesCorePlugin() 9 + useCoreDependencies() 10 + useExpoPublishing() 11 + 12 + // If you want to use the managed Android SDK versions from expo-modules-core, set this to true. 13 + // The Android SDK versions will be bumped from time to time in SDK releases and may introduce breaking changes in your module code. 14 + // Most of the time, you may like to manage the Android SDK versions yourself. 15 + def useManagedAndroidSdkVersions = false 16 + if (useManagedAndroidSdkVersions) { 17 + useDefaultAndroidSdkVersions() 18 + } else { 19 + buildscript { 20 + // Simple helper that allows the root project to override versions declared by this library. 21 + ext.safeExtGet = { prop, fallback -> 22 + rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback 23 + } 24 + } 25 + project.android { 26 + compileSdkVersion safeExtGet("compileSdkVersion", 34) 27 + defaultConfig { 28 + minSdkVersion safeExtGet("minSdkVersion", 21) 29 + targetSdkVersion safeExtGet("targetSdkVersion", 34) 30 + } 31 + } 32 + } 33 + 34 + android { 35 + namespace "expo.community.modules.emojipicker" 36 + defaultConfig { 37 + versionCode 1 38 + versionName "0.1.0" 39 + } 40 + lintOptions { 41 + abortOnError false 42 + } 43 + dependencies { 44 + implementation "androidx.emoji2:emoji2-emojipicker:1.5.0" 45 + } 46 + }
+2
modules/expo-emoji-picker/android/src/main/AndroidManifest.xml
···
··· 1 + <manifest> 2 + </manifest>
+15
modules/expo-emoji-picker/android/src/main/java/expo/community/modules/emojipicker/EmojiPickerModule.kt
···
··· 1 + package expo.community.modules.emojipicker 2 + 3 + import expo.modules.kotlin.modules.Module 4 + import expo.modules.kotlin.modules.ModuleDefinition 5 + import java.net.URL 6 + 7 + class EmojiPickerModule : Module() { 8 + override fun definition() = ModuleDefinition { 9 + Name("EmojiPicker") 10 + 11 + View(EmojiPickerModuleView::class) { 12 + Events("onEmojiSelected") 13 + } 14 + } 15 + }
+40
modules/expo-emoji-picker/android/src/main/java/expo/community/modules/emojipicker/EmojiPickerModuleView.kt
···
··· 1 + package expo.community.modules.emojipicker 2 + 3 + import android.annotation.SuppressLint 4 + import android.content.Context 5 + import android.content.res.Configuration 6 + import androidx.emoji2.emojipicker.EmojiPickerView 7 + import expo.modules.kotlin.AppContext 8 + import expo.modules.kotlin.viewevent.EventDispatcher 9 + import expo.modules.kotlin.views.ExpoView 10 + 11 + 12 + @SuppressLint("ViewConstructor") 13 + class EmojiPickerModuleView(context: Context, appContext: AppContext) : 14 + ExpoView(context, appContext) { 15 + private var emojiView: EmojiPickerView = EmojiPickerView(context) 16 + private val onEmojiSelected by EventDispatcher() 17 + 18 + init { 19 + setupView() 20 + } 21 + 22 + private fun setupView() { 23 + addView( 24 + emojiView, LayoutParams( 25 + LayoutParams.MATCH_PARENT, 26 + LayoutParams.MATCH_PARENT 27 + ) 28 + ) 29 + 30 + emojiView.setOnEmojiPickedListener { emoji -> 31 + onEmojiSelected(mapOf("emoji" to emoji.emoji)) 32 + } 33 + } 34 + 35 + override fun onConfigurationChanged(newConfig: Configuration?) { 36 + super.onConfigurationChanged(newConfig) 37 + removeView(emojiView) 38 + setupView() 39 + } 40 + }
+9
modules/expo-emoji-picker/expo-module.config.json
···
··· 1 + { 2 + "platforms": ["apple", "android"], 3 + "apple": { 4 + "modules": ["EmojiPickerModule"] 5 + }, 6 + "android": { 7 + "modules": ["expo.community.modules.emojipicker.EmojiPickerModule"] 8 + } 9 + }
+3
modules/expo-emoji-picker/index.ts
···
··· 1 + export {default as EmojiPicker} from './src/EmojiPicker' 2 + export {default} from './src/EmojiPickerModule' 3 + export * from './src/EmojiPickerModule.types'
+25
modules/expo-emoji-picker/ios/EmojiPickerModule.podspec
···
··· 1 + Pod::Spec.new do |s| 2 + s.name = 'EmojiPickerModule' 3 + s.version = '1.0.0' 4 + s.summary = 'An emoji picker for use in Bluesky' 5 + s.description = 'An emoji picker for use in Bluesky' 6 + s.author = 'alanjhughes' 7 + s.homepage = 'https://github.com/bluesky-social/social-app' 8 + s.platforms = { 9 + :ios => '15.1', 10 + :tvos => '15.1' 11 + } 12 + s.source = { git: '' } 13 + s.swift_version = '5.4' 14 + s.static_framework = true 15 + 16 + s.dependency 'ExpoModulesCore' 17 + s.dependency 'MCEmojiPicker' 18 + 19 + # Swift/Objective-C compatibility 20 + s.pod_target_xcconfig = { 21 + 'DEFINES_MODULE' => 'YES', 22 + } 23 + 24 + s.source_files = "**/*.{h,m,mm,swift,hpp,cpp}" 25 + end
+11
modules/expo-emoji-picker/ios/EmojiPickerModule.swift
···
··· 1 + import ExpoModulesCore 2 + 3 + public class EmojiPickerModule: Module { 4 + public func definition() -> ModuleDefinition { 5 + Name("EmojiPicker") 6 + 7 + View(EmojiPickerView.self) { 8 + Events("onEmojiSelected") 9 + } 10 + } 11 + }
+30
modules/expo-emoji-picker/ios/EmojiPickerView.swift
···
··· 1 + import ExpoModulesCore 2 + import WebKit 3 + import MCEmojiPicker 4 + 5 + class EmojiPickerView: ExpoView, MCEmojiPickerDelegate { 6 + let onEmojiSelected = EventDispatcher() 7 + 8 + override func layoutSubviews() { 9 + let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:))) 10 + self.addGestureRecognizer(tapGesture) 11 + } 12 + 13 + @objc func handleTap(_ gesture: UITapGestureRecognizer) { 14 + presentEmojiPicker() 15 + } 16 + 17 + func presentEmojiPicker() { 18 + let emojiPicker = MCEmojiPickerViewController() 19 + let reactRootVC = reactViewController() 20 + emojiPicker.sourceView = self 21 + emojiPicker.delegate = self 22 + reactRootVC?.present(emojiPicker, animated: true) 23 + } 24 + 25 + func didGetEmoji(emoji: String) { 26 + onEmojiSelected([ 27 + "emoji": emoji 28 + ]) 29 + } 30 + }
+28
modules/expo-emoji-picker/src/EmojiPicker.android.tsx
···
··· 1 + import {useMemo} from 'react' 2 + import {useColorScheme} from 'react-native' 3 + 4 + import {type EmojiPickerViewProps} from './EmojiPickerModule.types' 5 + import EmojiPickerNativeView from './EmojiPickerView' 6 + 7 + const EmojiPicker = ({onEmojiSelected}: EmojiPickerViewProps) => { 8 + const scheme = useColorScheme() 9 + const styles = useMemo( 10 + () => 11 + ({ 12 + flex: 1, 13 + width: '100%', 14 + backgroundColor: scheme === 'dark' ? '#000' : '#fff', 15 + } as const), 16 + [scheme], 17 + ) 18 + 19 + return ( 20 + <EmojiPickerNativeView 21 + onEmojiSelected={emoji => { 22 + onEmojiSelected(emoji) 23 + }} 24 + style={styles} 25 + /> 26 + ) 27 + } 28 + export default EmojiPicker
+15
modules/expo-emoji-picker/src/EmojiPicker.tsx
···
··· 1 + import {type EmojiPickerViewProps} from './EmojiPickerModule.types' 2 + import EmojiPickerNativeView from './EmojiPickerView' 3 + 4 + const EmojiPicker = ({children, onEmojiSelected}: EmojiPickerViewProps) => { 5 + return ( 6 + <EmojiPickerNativeView 7 + onEmojiSelected={emoji => { 8 + onEmojiSelected(emoji) 9 + }}> 10 + {children} 11 + </EmojiPickerNativeView> 12 + ) 13 + } 14 + 15 + export default EmojiPicker
+5
modules/expo-emoji-picker/src/EmojiPickerModule.ts
···
··· 1 + import {NativeModule, requireNativeModule} from 'expo' 2 + 3 + declare class EmojiPickerModule extends NativeModule {} 4 + 5 + export default requireNativeModule<EmojiPickerModule>('EmojiPicker')
+20
modules/expo-emoji-picker/src/EmojiPickerModule.types.ts
···
··· 1 + import {type ViewProps} from 'react-native' 2 + 3 + export type EmojiSelectionListener = (event: { 4 + nativeEvent: SelectionEvent 5 + }) => void 6 + 7 + export type SelectionEvent = { 8 + emoji: string 9 + } 10 + 11 + export type EmojiPickerViewProps = ViewProps & { 12 + /* 13 + * Callback that will be called when an emoji is selected. 14 + */ 15 + onEmojiSelected: (emoji: string) => void 16 + } 17 + 18 + export type EmojiPickerNativeViewProps = ViewProps & { 19 + onEmojiSelected: EmojiSelectionListener 20 + }
+21
modules/expo-emoji-picker/src/EmojiPickerView.tsx
···
··· 1 + import {requireNativeView} from 'expo' 2 + import type * as React from 'react' 3 + 4 + import { 5 + type EmojiPickerNativeViewProps, 6 + type EmojiPickerViewProps, 7 + } from './EmojiPickerModule.types' 8 + 9 + const NativeView: React.ComponentType<EmojiPickerNativeViewProps> = 10 + requireNativeView('EmojiPicker') 11 + 12 + export default function EmojiPicker(props: EmojiPickerViewProps) { 13 + return ( 14 + <NativeView 15 + {...props} 16 + onEmojiSelected={({nativeEvent}) => { 17 + props.onEmojiSelected(nativeEvent.emoji) 18 + }} 19 + /> 20 + ) 21 + }
+30 -13
modules/expo-scroll-forwarder/ios/ExpoScrollForwarderView.swift
··· 9 } 10 } 11 12 - private var rctScrollView: RCTScrollView? 13 private var rctRefreshCtrl: RCTRefreshControl? 14 private var cancelGestureRecognizers: [UIGestureRecognizer]? 15 private var animTimer: Timer? ··· 68 } 69 70 @IBAction func callOnPan(_ sender: UIPanGestureRecognizer) { 71 - guard let rctsv = self.rctScrollView, let sv = rctsv.scrollView else { 72 return 73 } 74 ··· 113 } 114 115 func startDecayAnimation(_ translation: CGFloat, _ velocity: CGFloat) { 116 - guard let sv = self.rctScrollView?.scrollView else { 117 return 118 } 119 ··· 160 161 return offset 162 } 163 164 func tryFindScrollView() { 165 - guard let scrollViewTag = scrollViewTag else { 166 - return 167 - } 168 - 169 // Before we switch to a different scrollview, we always want to remove the cancel gesture recognizer. 170 // Otherwise we might end up with duplicates when we switch back to that scrollview. 171 self.removeCancelGestureRecognizers() 172 173 - self.rctScrollView = self.appContext? 174 - .findView(withTag: scrollViewTag, ofType: RCTScrollView.self) 175 - self.rctRefreshCtrl = self.rctScrollView?.scrollView.refreshControl as? RCTRefreshControl 176 177 self.addCancelGestureRecognizers() 178 } 179 180 func addCancelGestureRecognizers() { 181 self.cancelGestureRecognizers?.forEach { r in 182 - self.rctScrollView?.scrollView?.addGestureRecognizer(r) 183 } 184 } 185 186 func removeCancelGestureRecognizers() { 187 self.cancelGestureRecognizers?.forEach { r in 188 - self.rctScrollView?.scrollView?.removeGestureRecognizer(r) 189 } 190 } 191 ··· 202 } 203 204 func scrollToOffset(_ offset: Int, animated: Bool = true) { 205 - self.rctScrollView?.scroll(toOffset: CGPoint(x: 0, y: offset), animated: animated) 206 } 207 208 func stopTimer() {
··· 9 } 10 } 11 12 + private var scrollView: UIScrollView? 13 private var rctRefreshCtrl: RCTRefreshControl? 14 private var cancelGestureRecognizers: [UIGestureRecognizer]? 15 private var animTimer: Timer? ··· 68 } 69 70 @IBAction func callOnPan(_ sender: UIPanGestureRecognizer) { 71 + guard let sv = self.scrollView else { 72 return 73 } 74 ··· 113 } 114 115 func startDecayAnimation(_ translation: CGFloat, _ velocity: CGFloat) { 116 + guard let sv = self.scrollView else { 117 return 118 } 119 ··· 160 161 return offset 162 } 163 + 164 + private func findScrollView(in view: UIView, foundCount: Int) -> UIScrollView? { 165 + var foundCount = foundCount 166 + if let sv = view as? UIScrollView { return sv } 167 + for child in view.subviews { 168 + if let found = findScrollView(in: child, foundCount: foundCount) { 169 + if foundCount == 1 { 170 + print("found sv: \(found)") 171 + // return found 172 + } else { 173 + print("found sv: \(found)") 174 + foundCount += 1 175 + } 176 + } 177 + } 178 + return nil 179 + } 180 181 func tryFindScrollView() { 182 // Before we switch to a different scrollview, we always want to remove the cancel gesture recognizer. 183 // Otherwise we might end up with duplicates when we switch back to that scrollview. 184 self.removeCancelGestureRecognizers() 185 + 186 + guard let sv = self.findScrollView(in: self.superview!.superview!.superview!, foundCount: 0) else { 187 + print("⚠️ ExpoScrollForwarder: couldn’t find UIScrollView under tag \(tag)") 188 + return 189 + } 190 191 + self.scrollView = sv 192 + self.rctRefreshCtrl = sv.refreshControl as? RCTRefreshControl 193 194 self.addCancelGestureRecognizers() 195 } 196 197 func addCancelGestureRecognizers() { 198 self.cancelGestureRecognizers?.forEach { r in 199 + self.scrollView?.addGestureRecognizer(r) 200 } 201 } 202 203 func removeCancelGestureRecognizers() { 204 self.cancelGestureRecognizers?.forEach { r in 205 + self.scrollView?.removeGestureRecognizer(r) 206 } 207 } 208 ··· 219 } 220 221 func scrollToOffset(_ offset: Int, animated: Bool = true) { 222 + self.scrollView?.scrollRectToVisible(CGRect(x: 0, y: offset, width: 0, height: 0), animated: animated) 223 } 224 225 func stopTimer() {
-2
modules/expo-scroll-forwarder/src/ExpoScrollForwarder.types.ts
··· 1 - import React from 'react' 2 - 3 export interface ExpoScrollForwarderViewProps { 4 scrollViewTag: number | null 5 children: React.ReactNode
··· 1 export interface ExpoScrollForwarderViewProps { 2 scrollViewTag: number | null 3 children: React.ReactNode
+1 -2
modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.ios.tsx
··· 1 - import * as React from 'react' 2 import {requireNativeViewManager} from 'expo-modules-core' 3 4 - import {ExpoScrollForwarderViewProps} from './ExpoScrollForwarder.types' 5 6 const NativeView: React.ComponentType<ExpoScrollForwarderViewProps> = 7 requireNativeViewManager('ExpoScrollForwarder')
··· 1 import {requireNativeViewManager} from 'expo-modules-core' 2 3 + import {type ExpoScrollForwarderViewProps} from './ExpoScrollForwarder.types' 4 5 const NativeView: React.ComponentType<ExpoScrollForwarderViewProps> = 6 requireNativeViewManager('ExpoScrollForwarder')
+1 -3
modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.tsx
··· 1 - import React from 'react' 2 - 3 - import {ExpoScrollForwarderViewProps} from './ExpoScrollForwarder.types' 4 5 export function ExpoScrollForwarderView({ 6 children,
··· 1 + import {type ExpoScrollForwarderViewProps} from './ExpoScrollForwarder.types' 2 3 export function ExpoScrollForwarderView({ 4 children,
+82 -74
package.json
··· 6 "node": ">=20" 7 }, 8 "packageManager": "yarn@1.22.22", 9 "scripts": { 10 "prepare": "is-ci || husky install", 11 "postinstall": "patch-package && yarn intl:compile", ··· 58 "icons:optimize": "svgo -f ./assets/icons" 59 }, 60 "dependencies": { 61 - "@atproto/api": "^0.15.3", 62 "@bitdrift/react-native": "^0.6.8", 63 "@braintree/sanitize-url": "^6.0.2", 64 "@discord/bottom-sheet": "bluesky-social/react-native-bottom-sheet", 65 "@emoji-mart/react": "^1.1.1", 66 - "@expo/html-elements": "^0.4.2", 67 - "@expo/webpack-config": "^19.0.0", 68 "@floating-ui/dom": "^1.6.3", 69 "@floating-ui/react-dom": "^2.0.8", 70 "@formatjs/intl-locale": "^4.2.8", ··· 80 "@mattermost/react-native-paste-input": "^0.7.1", 81 "@miblanchard/react-native-slider": "^2.3.1", 82 "@mozzius/expo-dynamic-app-icon": "^1.5.0", 83 - "@react-native-async-storage/async-storage": "1.23.1", 84 - "@react-native-menu/menu": "^1.1.7", 85 - "@react-native-picker/picker": "2.10.3", 86 "@react-navigation/bottom-tabs": "^6.5.20", 87 "@react-navigation/drawer": "^6.6.15", 88 "@react-navigation/native": "^6.1.17", ··· 119 "emoji-mart": "^5.5.2", 120 "emoji-regex": "^10.4.0", 121 "eventemitter3": "^5.0.1", 122 - "expo": "~52.0.42", 123 - "expo-application": "~6.0.2", 124 - "expo-blur": "^14.0.3", 125 - "expo-build-properties": "~0.13.2", 126 - "expo-camera": "~16.0.18", 127 - "expo-clipboard": "~7.0.1", 128 - "expo-dev-client": "~5.0.19", 129 - "expo-device": "~7.0.3", 130 - "expo-file-system": "~18.0.12", 131 - "expo-font": "~13.0.4", 132 - "expo-haptics": "~14.0.1", 133 - "expo-image": "~2.0.7", 134 - "expo-image-manipulator": "~13.0.6", 135 - "expo-image-picker": "~16.0.6", 136 - "expo-linear-gradient": "~14.0.2", 137 - "expo-linking": "~7.0.5", 138 - "expo-localization": "~16.0.1", 139 - "expo-media-library": "~17.0.6", 140 - "expo-notifications": "~0.29.14", 141 - "expo-screen-orientation": "~8.0.4", 142 - "expo-sharing": "~13.0.1", 143 - "expo-splash-screen": "~0.29.22", 144 - "expo-system-ui": "~4.0.9", 145 - "expo-task-manager": "~12.0.6", 146 - "expo-updates": "~0.27.4", 147 - "expo-video": "~2.0.6", 148 - "expo-web-browser": "~14.0.2", 149 "fast-text-encoding": "^1.0.6", 150 "history": "^5.3.0", 151 "hls.js": "^1.5.11", ··· 157 "lodash.isequal": "^4.5.0", 158 "lodash.shuffle": "^4.2.0", 159 "lodash.throttle": "^4.1.1", 160 - "multiformats": "^13.1.0", 161 "nanoid": "^5.0.5", 162 "normalize-url": "^8.0.0", 163 "patch-package": "^6.5.1", 164 "postinstall-postinstall": "^2.1.0", 165 "psl": "^1.9.0", 166 "radix-ui": "^1.2.0", 167 - "react": "18.3.1", 168 - "react-compiler-runtime": "19.0.0-beta-a7bf2bd-20241110", 169 - "react-dom": "18.3.1", 170 "react-image-crop": "^11.0.7", 171 - "react-keyed-flatten-children": "^3.0.0", 172 - "react-native": "0.76.9", 173 - "react-native-compressor": "1.10.3", 174 - "react-native-date-picker": "^5.0.7", 175 - "react-native-drawer-layout": "^4.1.1", 176 "react-native-edge-to-edge": "^1.6.0", 177 - "react-native-emoji-popup": "^0.1.2", 178 - "react-native-gesture-handler": "2.20.2", 179 "react-native-get-random-values": "~1.11.0", 180 - "react-native-image-crop-picker": "^0.41.6", 181 "react-native-ios-context-menu": "^1.15.3", 182 "react-native-keyboard-controller": "^1.17.1", 183 "react-native-mmkv": "^2.12.2", 184 - "react-native-pager-view": "6.5.1", 185 "react-native-picker-select": "^9.3.1", 186 "react-native-progress": "bluesky-social/react-native-progress", 187 "react-native-qrcode-styled": "^0.3.3", 188 - "react-native-reanimated": "~3.16.1", 189 "react-native-root-siblings": "^4.1.1", 190 - "react-native-safe-area-context": "4.12.0", 191 - "react-native-screens": "~4.4.0", 192 - "react-native-svg": "15.8.0", 193 "react-native-uitextview": "^1.4.0", 194 "react-native-url-polyfill": "^1.3.0", 195 - "react-native-uuid": "^2.0.2", 196 "react-native-view-shot": "^4.0.3", 197 - "react-native-web": "~0.19.13", 198 "react-native-web-webview": "^1.0.2", 199 - "react-native-webview": "13.12.5", 200 - "react-remove-scroll-bar": "^2.3.6", 201 "react-responsive": "^9.0.2", 202 "react-textarea-autosize": "^8.5.3", 203 "rn-fetch-blob": "^0.12.0", ··· 209 "zod": "^3.20.2" 210 }, 211 "devDependencies": { 212 - "@atproto/dev-env": "^0.3.87", 213 "@babel/core": "^7.26.0", 214 "@babel/preset-env": "^7.26.0", 215 "@babel/runtime": "^7.26.0", 216 - "@did-plc/server": "^0.0.1", 217 - "@expo/config-plugins": "9.0.10", 218 "@lingui/cli": "^4.14.1", 219 "@lingui/macro": "^4.14.1", 220 "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", 221 - "@react-native/eslint-config": "^0.76.9", 222 - "@react-native/typescript-config": "^0.76.9", 223 "@sentry/webpack-plugin": "^3.2.2", 224 "@testing-library/jest-native": "^5.4.3", 225 - "@testing-library/react-native": "^12.8.1", 226 "@types/jest": "^29.4.0", 227 "@types/lodash.chunk": "^4.2.7", 228 "@types/lodash.debounce": "^4.0.7", 229 "@types/lodash.isequal": "^4.5.6", 230 "@types/lodash.shuffle": "^4.2.7", 231 "@types/psl": "^1.1.1", 232 - "@types/react-dom": "^18.3.1", 233 "@types/react-responsive": "^8.0.5", 234 - "@types/react-test-renderer": "^17.0.1", 235 "@typescript-eslint/eslint-plugin": "^7.18.0", 236 "@typescript-eslint/parser": "^7.18.0", 237 "babel-jest": "^29.7.0", 238 "babel-plugin-macros": "^3.1.0", 239 "babel-plugin-module-resolver": "^5.0.2", 240 - "babel-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110", 241 - "babel-preset-expo": "^12.0.2", 242 "eslint": "^8.19.0", 243 "eslint-plugin-bsky-internal": "link:./eslint", 244 "eslint-plugin-ft-flow": "^2.0.3", 245 "eslint-plugin-import": "^2.31.0", 246 "eslint-plugin-lingui": "^0.2.0", 247 "eslint-plugin-react": "^7.33.2", 248 - "eslint-plugin-react-compiler": "19.0.0-beta-a7bf2bd-20241110", 249 "eslint-plugin-react-native-a11y": "^3.3.0", 250 "eslint-plugin-simple-import-sort": "^12.0.0", 251 "file-loader": "6.2.0", 252 "husky": "^8.0.3", 253 "is-ci": "^3.0.1", 254 "jest": "^29.7.0", 255 - "jest-expo": "~52.0.6", 256 "jest-junit": "^16.0.0", 257 "lint-staged": "^13.2.3", 258 "lockfile-lint": "^4.14.0", 259 - "metro-react-native-babel-preset": "^0.76.9", 260 "prettier": "^2.8.3", 261 "react-native-dotenv": "^3.4.11", 262 "react-refresh": "^0.14.0", 263 - "react-test-renderer": "18.2.0", 264 "svgo": "^3.3.2", 265 "ts-node": "^10.9.1", 266 - "typescript": "^5.7.2", 267 "webpack-bundle-analyzer": "^4.10.1" 268 }, 269 "resolutions": { 270 "@expo/image-utils": "0.6.3", 271 - "@react-native/babel-preset": "0.76.9", 272 - "@react-native/normalize-colors": "0.76.1", 273 "@types/react": "^18", 274 "**/expo-constants": "17.0.3", 275 "**/expo-device": "7.0.1", 276 - "**/zod": "3.23.8" 277 }, 278 "jest": { 279 "preset": "jest-expo/ios", 280 "setupFilesAfterEnv": [ 281 - "./jest/jestSetup.js", 282 - "@testing-library/jest-native/extend-expect" 283 ], 284 "moduleFileExtensions": [ 285 "ts",
··· 6 "node": ">=20" 7 }, 8 "packageManager": "yarn@1.22.22", 9 + "expo": { 10 + "autolinking": { 11 + "android": { 12 + "buildFromSource": [ 13 + "expo-notifications", 14 + "expo-haptics", 15 + "expo-media-library" 16 + ] 17 + } 18 + } 19 + }, 20 "scripts": { 21 "prepare": "is-ci || husky install", 22 "postinstall": "patch-package && yarn intl:compile", ··· 69 "icons:optimize": "svgo -f ./assets/icons" 70 }, 71 "dependencies": { 72 + "@atproto/api": "^0.15.5", 73 "@bitdrift/react-native": "^0.6.8", 74 "@braintree/sanitize-url": "^6.0.2", 75 "@discord/bottom-sheet": "bluesky-social/react-native-bottom-sheet", 76 "@emoji-mart/react": "^1.1.1", 77 + "@expo/html-elements": "^0.12.4", 78 + "@expo/webpack-config": "^19.0.1", 79 "@floating-ui/dom": "^1.6.3", 80 "@floating-ui/react-dom": "^2.0.8", 81 "@formatjs/intl-locale": "^4.2.8", ··· 91 "@mattermost/react-native-paste-input": "^0.7.1", 92 "@miblanchard/react-native-slider": "^2.3.1", 93 "@mozzius/expo-dynamic-app-icon": "^1.5.0", 94 + "@react-native-async-storage/async-storage": "2.1.2", 95 + "@react-native-menu/menu": "^1.2.3", 96 + "@react-native-picker/picker": "2.11.0", 97 "@react-navigation/bottom-tabs": "^6.5.20", 98 "@react-navigation/drawer": "^6.6.15", 99 "@react-navigation/native": "^6.1.17", ··· 130 "emoji-mart": "^5.5.2", 131 "emoji-regex": "^10.4.0", 132 "eventemitter3": "^5.0.1", 133 + "expo": "^53.0.5", 134 + "expo-application": "~6.1.4", 135 + "expo-blur": "~14.1.4", 136 + "expo-build-properties": "~0.14.6", 137 + "expo-camera": "~16.1.6", 138 + "expo-clipboard": "~7.1.4", 139 + "expo-dev-client": "~5.1.7", 140 + "expo-device": "~7.1.4", 141 + "expo-file-system": "~18.1.8", 142 + "expo-font": "~13.3.0", 143 + "expo-haptics": "~14.1.4", 144 + "expo-image": "~2.1.6", 145 + "expo-image-manipulator": "~13.1.5", 146 + "expo-image-picker": "~16.1.4", 147 + "expo-linear-gradient": "~14.1.4", 148 + "expo-linking": "~7.1.4", 149 + "expo-localization": "~16.1.5", 150 + "expo-media-library": "~17.1.6", 151 + "expo-notifications": "~0.31.1", 152 + "expo-screen-orientation": "~8.1.5", 153 + "expo-sharing": "~13.1.5", 154 + "expo-splash-screen": "~0.30.8", 155 + "expo-system-ui": "~5.0.7", 156 + "expo-task-manager": "~13.1.5", 157 + "expo-updates": "~0.28.12", 158 + "expo-video": "~2.1.8", 159 + "expo-web-browser": "~14.1.6", 160 "fast-text-encoding": "^1.0.6", 161 "history": "^5.3.0", 162 "hls.js": "^1.5.11", ··· 168 "lodash.isequal": "^4.5.0", 169 "lodash.shuffle": "^4.2.0", 170 "lodash.throttle": "^4.1.1", 171 + "multiformats": "9.9.0", 172 "nanoid": "^5.0.5", 173 "normalize-url": "^8.0.0", 174 "patch-package": "^6.5.1", 175 "postinstall-postinstall": "^2.1.0", 176 "psl": "^1.9.0", 177 "radix-ui": "^1.2.0", 178 + "react": "19.0.0", 179 + "react-compiler-runtime": "^19.1.0-rc.1", 180 + "react-dom": "19.0.0", 181 "react-image-crop": "^11.0.7", 182 + "react-is": "19", 183 + "react-keyed-flatten-children": "^5.0.0", 184 + "react-native": "0.79.2", 185 + "react-native-compressor": "1.11.0", 186 + "react-native-date-picker": "^5.0.12", 187 + "react-native-drawer-layout": "^4.1.6", 188 "react-native-edge-to-edge": "^1.6.0", 189 + "react-native-gesture-handler": "2.25.0", 190 "react-native-get-random-values": "~1.11.0", 191 + "react-native-image-crop-picker": "^0.42.0", 192 "react-native-ios-context-menu": "^1.15.3", 193 "react-native-keyboard-controller": "^1.17.1", 194 "react-native-mmkv": "^2.12.2", 195 + "react-native-pager-view": "6.7.1", 196 "react-native-picker-select": "^9.3.1", 197 "react-native-progress": "bluesky-social/react-native-progress", 198 "react-native-qrcode-styled": "^0.3.3", 199 + "react-native-reanimated": "~3.17.5", 200 "react-native-root-siblings": "^4.1.1", 201 + "react-native-safe-area-context": "5.4.0", 202 + "react-native-screens": "~4.10.0", 203 + "react-native-svg": "15.11.2", 204 "react-native-uitextview": "^1.4.0", 205 "react-native-url-polyfill": "^1.3.0", 206 + "react-native-uuid": "^2.0.3", 207 "react-native-view-shot": "^4.0.3", 208 + "react-native-web": "~0.20.0", 209 "react-native-web-webview": "^1.0.2", 210 + "react-native-webview": "13.13.5", 211 + "react-remove-scroll-bar": "^2.3.8", 212 "react-responsive": "^9.0.2", 213 "react-textarea-autosize": "^8.5.3", 214 "rn-fetch-blob": "^0.12.0", ··· 220 "zod": "^3.20.2" 221 }, 222 "devDependencies": { 223 + "@atproto/dev-env": "^0.3.128", 224 "@babel/core": "^7.26.0", 225 "@babel/preset-env": "^7.26.0", 226 "@babel/runtime": "^7.26.0", 227 + "@expo/config-plugins": "~10.0.2", 228 "@lingui/cli": "^4.14.1", 229 "@lingui/macro": "^4.14.1", 230 "@pmmmwh/react-refresh-webpack-plugin": "^0.5.15", 231 + "@react-native/eslint-config": "^0.79.2", 232 + "@react-native/typescript-config": "^0.79.2", 233 "@sentry/webpack-plugin": "^3.2.2", 234 "@testing-library/jest-native": "^5.4.3", 235 + "@testing-library/react-native": "^13.2.0", 236 "@types/jest": "^29.4.0", 237 "@types/lodash.chunk": "^4.2.7", 238 "@types/lodash.debounce": "^4.0.7", 239 "@types/lodash.isequal": "^4.5.6", 240 "@types/lodash.shuffle": "^4.2.7", 241 "@types/psl": "^1.1.1", 242 + "@types/react-dom": "^19.1.2", 243 "@types/react-responsive": "^8.0.5", 244 "@typescript-eslint/eslint-plugin": "^7.18.0", 245 "@typescript-eslint/parser": "^7.18.0", 246 "babel-jest": "^29.7.0", 247 "babel-plugin-macros": "^3.1.0", 248 "babel-plugin-module-resolver": "^5.0.2", 249 + "babel-plugin-react-compiler": "^19.1.0-rc.1", 250 + "babel-preset-expo": "~13.1.11", 251 "eslint": "^8.19.0", 252 "eslint-plugin-bsky-internal": "link:./eslint", 253 "eslint-plugin-ft-flow": "^2.0.3", 254 "eslint-plugin-import": "^2.31.0", 255 "eslint-plugin-lingui": "^0.2.0", 256 "eslint-plugin-react": "^7.33.2", 257 + "eslint-plugin-react-compiler": "^19.1.0-rc.1", 258 "eslint-plugin-react-native-a11y": "^3.3.0", 259 "eslint-plugin-simple-import-sort": "^12.0.0", 260 "file-loader": "6.2.0", 261 "husky": "^8.0.3", 262 "is-ci": "^3.0.1", 263 "jest": "^29.7.0", 264 + "jest-expo": "~53.0.3", 265 "jest-junit": "^16.0.0", 266 "lint-staged": "^13.2.3", 267 "lockfile-lint": "^4.14.0", 268 + "metro-react-native-babel-preset": "^0.77.0", 269 "prettier": "^2.8.3", 270 "react-native-dotenv": "^3.4.11", 271 "react-refresh": "^0.14.0", 272 "svgo": "^3.3.2", 273 "ts-node": "^10.9.1", 274 + "typescript": "~5.8.3", 275 "webpack-bundle-analyzer": "^4.10.1" 276 }, 277 "resolutions": { 278 "@expo/image-utils": "0.6.3", 279 + "@react-native/babel-preset": "0.79.2", 280 + "@react-native/normalize-colors": "0.79.2", 281 "@types/react": "^18", 282 "**/expo-constants": "17.0.3", 283 "**/expo-device": "7.0.1", 284 + "**/zod": "3.23.8", 285 + "**/multiformats": "9.9.0" 286 }, 287 "jest": { 288 "preset": "jest-expo/ios", 289 "setupFilesAfterEnv": [ 290 + "./jest/jestSetup.js" 291 ], 292 "moduleFileExtensions": [ 293 "ts",
patches/expo-haptics+14.0.0.md patches/expo-haptics+14.1.4.patch.md
patches/expo-haptics+14.0.1.patch patches/expo-haptics+14.1.4.patch
-101
patches/expo-image-manipulator+13.0.6.patch
··· 1 - diff --git a/node_modules/expo-image-manipulator/src/ImageManipulator.web.ts b/node_modules/expo-image-manipulator/src/ImageManipulator.web.ts 2 - new file mode 100644 3 - index 0000000..babbb3b 4 - --- /dev/null 5 - +++ b/node_modules/expo-image-manipulator/src/ImageManipulator.web.ts 6 - @@ -0,0 +1,60 @@ 7 - +import { useReleasingSharedObject } from 'expo-modules-core'; 8 - +import { SharedRef } from 'expo-modules-core/types'; 9 - + 10 - +import { Action, ImageResult, SaveFormat, SaveOptions } from './ImageManipulator.types'; 11 - +import { ImageManipulatorContext } from './ImageManipulatorContext'; 12 - +import ExpoImageManipulator from './NativeImageManipulatorModule'; 13 - +import { validateArguments } from './validators'; 14 - + 15 - +// @needsAudit 16 - +/** 17 - + * Manipulate the image provided via `uri`. Available modifications are rotating, flipping (mirroring), 18 - + * resizing and cropping. Each invocation results in a new file. With one invocation you can provide 19 - + * a set of actions to perform over the image. Overwriting the source file would not have an effect 20 - + * in displaying the result as images are cached. 21 - + * @param uri URI of the file to manipulate. Should be on the local file system or a base64 data URI. 22 - + * @param actions An array of objects representing manipulation options. Each object should have 23 - + * __only one__ of the keys that corresponds to specific transformation. 24 - + * @param saveOptions A map defining how modified image should be saved. 25 - + * @return Promise which fulfils with [`ImageResult`](#imageresult) object. 26 - + * @deprecated It has been replaced by the new, contextual and object-oriented API. 27 - + * Use [`ImageManipulator.manipulate`](#manipulateuri) or [`useImageManipulator`](#useimagemanipulatoruri) instead. 28 - + */ 29 - +export async function manipulateAsync( 30 - + uri: string, 31 - + actions: Action[] = [], 32 - + saveOptions: SaveOptions = {} 33 - +): Promise<ImageResult> { 34 - + validateArguments(uri, actions, saveOptions); 35 - + 36 - + const { format = SaveFormat.JPEG, ...rest } = saveOptions; 37 - + const context = ExpoImageManipulator.manipulate(uri); 38 - + 39 - + for (const action of actions) { 40 - + if ('resize' in action) { 41 - + context.resize(action.resize); 42 - + } else if ('rotate' in action) { 43 - + context.rotate(action.rotate); 44 - + } else if ('flip' in action) { 45 - + context.flip(action.flip); 46 - + } else if ('crop' in action) { 47 - + context.crop(action.crop); 48 - + } else if ('extent' in action && context.extent) { 49 - + context.extent(action.extent); 50 - + } 51 - + } 52 - + const image = await context.renderAsync(saveOptions.compress); 53 - + const result = await image.saveAsync({ format, ...rest }); 54 - + 55 - + // These shared objects will not be used anymore, so free up some memory. 56 - + context.release(); 57 - + image.release(); 58 - + 59 - + return result; 60 - +} 61 - + 62 - +export function useImageManipulator(source: string | SharedRef<'image'>): ImageManipulatorContext { 63 - + return useReleasingSharedObject(() => ExpoImageManipulator.manipulate(source), [source]); 64 - +} 65 - + 66 - +export { ExpoImageManipulator as ImageManipulator }; 67 - diff --git a/node_modules/expo-image-manipulator/src/ImageManipulatorContext.ts b/node_modules/expo-image-manipulator/src/ImageManipulatorContext.ts 68 - index 120d8d3..f8aa49c 100644 69 - --- a/node_modules/expo-image-manipulator/src/ImageManipulatorContext.ts 70 - +++ b/node_modules/expo-image-manipulator/src/ImageManipulatorContext.ts 71 - @@ -52,7 +52,7 @@ export declare class ImageManipulatorContext extends SharedObject { 72 - /** 73 - * Awaits for all manipulation tasks to finish and resolves with a reference to the resulted native image. 74 - */ 75 - - renderAsync(): Promise<ImageRef>; 76 - + renderAsync(compress?: number): Promise<ImageRef>; 77 - } 78 - 79 - export default ExpoImageManipulator.Context as typeof ImageManipulatorContext; 80 - diff --git a/node_modules/expo-image-manipulator/src/web/ImageManipulatorContext.web.ts b/node_modules/expo-image-manipulator/src/web/ImageManipulatorContext.web.ts 81 - index 428848c..363a57a 100644 82 - --- a/node_modules/expo-image-manipulator/src/web/ImageManipulatorContext.web.ts 83 - +++ b/node_modules/expo-image-manipulator/src/web/ImageManipulatorContext.web.ts 84 - @@ -41,7 +41,7 @@ export default class ImageManipulatorContext extends SharedObject { 85 - return this; 86 - } 87 - 88 - - async renderAsync(): Promise<ImageManipulatorImageRef> { 89 - + async renderAsync(compress?: number): Promise<ImageManipulatorImageRef> { 90 - const canvas = await this.currentTask; 91 - 92 - return new Promise((resolve) => { 93 - @@ -49,7 +49,7 @@ export default class ImageManipulatorContext extends SharedObject { 94 - const url = blob ? URL.createObjectURL(blob) : canvas.toDataURL(); 95 - 96 - resolve(new ImageManipulatorImageRef(url, canvas.width, canvas.height)); 97 - - }); 98 - + }, typeof compress === 'number' ? 'image/jpeg' : undefined, compress); 99 - }); 100 - } 101 -
···
-19
patches/expo-media-library+17.0.6.patch
··· 1 - diff --git a/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt b/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt 2 - index 64e6efe..e61485e 100644 3 - --- a/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt 4 - +++ b/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt 5 - @@ -111,12 +111,12 @@ class MediaLibraryModule : Module() { 6 - } 7 - 8 - AsyncFunction("createAssetAsync") { localUri: String, promise: Promise -> 9 - - throwUnlessPermissionsGranted { 10 - + //throwUnlessPermissionsGranted { 11 - withModuleScope(promise) { 12 - CreateAsset(context, localUri, promise) 13 - .execute() 14 - } 15 - - } 16 - + //} 17 - } 18 - 19 - AsyncFunction("addAssetsToAlbumAsync") { assetsId: List<String>, albumId: String, copyToAlbum: Boolean, promise: Promise ->
···
+19
patches/expo-media-library+17.1.6.patch
···
··· 1 + diff --git a/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt b/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt 2 + index f1255e8..a9b49e5 100644 3 + --- a/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt 4 + +++ b/node_modules/expo-media-library/android/src/main/java/expo/modules/medialibrary/MediaLibraryModule.kt 5 + @@ -112,11 +112,9 @@ class MediaLibraryModule : Module() { 6 + } 7 + 8 + AsyncFunction("createAssetAsync") { localUri: String, albumId: String?, promise: Promise -> 9 + - throwUnlessPermissionsGranted { 10 + - withModuleScope(promise) { 11 + - CreateAssetWithAlbumId(context, localUri, promise, true, albumId) 12 + - .execute() 13 + - } 14 + + withModuleScope(promise) { 15 + + CreateAssetWithAlbumId(context, localUri, promise, true, albumId) 16 + + .execute() 17 + } 18 + } 19 +
patches/expo-modules-core+2.1.2.md patches/expo-modules-core+2.3.12.patch.md
patches/expo-modules-core+2.2.3.patch patches/expo-modules-core+2.3.12.patch
patches/expo-notifications+0.29.11.patch.md patches/expo-notifications+0.31.1.patch.md
-169
patches/expo-notifications+0.29.14.patch
··· 1 - diff --git a/node_modules/expo-notifications/android/build.gradle b/node_modules/expo-notifications/android/build.gradle 2 - index 13bffbb..5ebbede 100644 3 - --- a/node_modules/expo-notifications/android/build.gradle 4 - +++ b/node_modules/expo-notifications/android/build.gradle 5 - @@ -46,6 +46,7 @@ dependencies { 6 - implementation 'com.google.firebase:firebase-messaging:24.0.1' 7 - 8 - implementation 'me.leolin:ShortcutBadger:1.1.22@aar' 9 - + implementation project(':expo-background-notification-handler') 10 - 11 - if (project.findProject(':expo-modules-test-core')) { 12 - testImplementation project(':expo-modules-test-core') 13 - diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/interfaces/INotificationContent.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/interfaces/INotificationContent.kt 14 - index 7b99e6c..45a450d 100644 15 - --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/interfaces/INotificationContent.kt 16 - +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/interfaces/INotificationContent.kt 17 - @@ -15,6 +15,7 @@ import org.json.JSONObject 18 - * This interface exists to provide a common API for both classes. 19 - * */ 20 - interface INotificationContent : Parcelable { 21 - + val channelId: String? 22 - val title: String? 23 - val text: String? 24 - val subText: String? 25 - diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java 26 - index 191b64e..fe8b3c5 100644 27 - --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java 28 - +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java 29 - @@ -35,6 +35,7 @@ import kotlin.coroutines.Continuation; 30 - * Refactoring this class may require a migration strategy for the data stored in SharedPreferences. 31 - */ 32 - public class NotificationContent implements Parcelable, Serializable, INotificationContent { 33 - + private String mChannelId; 34 - private String mTitle; 35 - private String mText; 36 - private String mSubtitle; 37 - @@ -65,6 +66,11 @@ public class NotificationContent implements Parcelable, Serializable, INotificat 38 - } 39 - }; 40 - 41 - + @Nullable 42 - + public String getChannelId() { 43 - + return mChannelId; 44 - + } 45 - + 46 - @Nullable 47 - public String getTitle() { 48 - return mTitle; 49 - @@ -158,6 +164,7 @@ public class NotificationContent implements Parcelable, Serializable, INotificat 50 - } 51 - 52 - protected NotificationContent(Parcel in) { 53 - + mChannelId = in.readString(); 54 - mTitle = in.readString(); 55 - mText = in.readString(); 56 - mSubtitle = in.readString(); 57 - @@ -183,6 +190,7 @@ public class NotificationContent implements Parcelable, Serializable, INotificat 58 - 59 - @Override 60 - public void writeToParcel(Parcel dest, int flags) { 61 - + dest.writeString(mChannelId); 62 - dest.writeString(mTitle); 63 - dest.writeString(mText); 64 - dest.writeString(mSubtitle); 65 - @@ -203,6 +211,7 @@ public class NotificationContent implements Parcelable, Serializable, INotificat 66 - private static final long serialVersionUID = 397666843266836802L; 67 - 68 - private void writeObject(java.io.ObjectOutputStream out) throws IOException { 69 - + out.writeObject(mChannelId); 70 - out.writeObject(mTitle); 71 - out.writeObject(mText); 72 - out.writeObject(mSubtitle); 73 - @@ -285,6 +294,11 @@ public class NotificationContent implements Parcelable, Serializable, INotificat 74 - useDefaultVibrationPattern(); 75 - } 76 - 77 - + public Builder setChannelId(String channelId) { 78 - + content.mChannelId = channelId; 79 - + return this; 80 - + } 81 - + 82 - public Builder setTitle(String title) { 83 - content.mTitle = title; 84 - return this; 85 - diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationData.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationData.kt 86 - index 39b5aad..e50797d 100644 87 - --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationData.kt 88 - +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationData.kt 89 - @@ -11,6 +11,9 @@ import org.json.JSONObject 90 - * */ 91 - @JvmInline 92 - value class NotificationData(private val data: Map<String, String>) { 93 - + val channelId: String? 94 - + get() = data["channelId"] 95 - + 96 - val title: String? 97 - get() = data["title"] 98 - 99 - diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/RemoteNotificationContent.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/RemoteNotificationContent.kt 100 - index d2cc6cf..6a48ff2 100644 101 - --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/RemoteNotificationContent.kt 102 - +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/RemoteNotificationContent.kt 103 - @@ -31,6 +31,8 @@ class RemoteNotificationContent(private val remoteMessage: RemoteMessage) : INot 104 - return remoteMessage.notification?.imageUrl != null 105 - } 106 - 107 - + override val channelId = remoteMessage.notification?.channelId ?: notificationData.channelId 108 - + 109 - override val title = remoteMessage.notification?.title ?: notificationData.title 110 - 111 - override val text = remoteMessage.notification?.body ?: notificationData.message 112 - diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.kt 113 - index 8ca6ec5..57c3599 100644 114 - --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.kt 115 - +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.kt 116 - @@ -101,6 +101,9 @@ open class ExpoNotificationBuilder( 117 - builder.setOngoing(content.isSticky) 118 - 119 - // see "Notification anatomy" https://developer.android.com/develop/ui/views/notifications#Templates 120 - + content.channelId?.let { 121 - + builder.setChannelId(it) 122 - + } 123 - builder.setContentTitle(content.title) 124 - builder.setContentText(content.text) 125 - builder.setSubText(content.subText) 126 - diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt 127 - index 9f22441..5f92f80 100644 128 - --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt 129 - +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt 130 - @@ -2,6 +2,9 @@ package expo.modules.notifications.service.delegates 131 - 132 - import android.content.Context 133 - import com.google.firebase.messaging.RemoteMessage 134 - +import expo.modules.backgroundnotificationhandler.BackgroundNotificationHandler 135 - +import expo.modules.backgroundnotificationhandler.BackgroundNotificationHandlerInterface 136 - +import expo.modules.backgroundnotificationhandler.ExpoBackgroundNotificationHandlerModule 137 - import expo.modules.interfaces.taskManager.TaskServiceProviderHelper 138 - import expo.modules.notifications.notifications.RemoteMessageSerializer 139 - import expo.modules.notifications.notifications.background.BackgroundRemoteNotificationTaskConsumer 140 - @@ -17,7 +20,8 @@ import expo.modules.notifications.tokens.interfaces.FirebaseTokenListener 141 - import java.lang.ref.WeakReference 142 - import java.util.* 143 - 144 - -open class FirebaseMessagingDelegate(protected val context: Context) : FirebaseMessagingDelegate { 145 - +open class FirebaseMessagingDelegate(protected val context: Context) : FirebaseMessagingDelegate, 146 - + BackgroundNotificationHandlerInterface { 147 - companion object { 148 - // Unfortunately we cannot save state between instances of a service other way 149 - // than by static properties. Fortunately, using weak references we can 150 - @@ -94,8 +98,17 @@ open class FirebaseMessagingDelegate(protected val context: Context) : FirebaseM 151 - DebugLogging.logRemoteMessage("FirebaseMessagingDelegate.onMessageReceived: message", remoteMessage) 152 - val notification = createNotification(remoteMessage) 153 - DebugLogging.logNotification("FirebaseMessagingDelegate.onMessageReceived: notification", notification) 154 - - NotificationsService.receive(context, notification) 155 - - runTaskManagerTasks(remoteMessage) 156 - + 157 - + if (!ExpoBackgroundNotificationHandlerModule.isForegrounded) { 158 - + BackgroundNotificationHandler(context, this).handleMessage(remoteMessage) 159 - + } else { 160 - + showMessage(remoteMessage) 161 - + runTaskManagerTasks(remoteMessage) 162 - + } 163 - + } 164 - + 165 - + override fun showMessage(remoteMessage: RemoteMessage) { 166 - + NotificationsService.receive(context, createNotification(remoteMessage)) 167 - } 168 - 169 - private fun runTaskManagerTasks(remoteMessage: RemoteMessage) {
···
+992
patches/expo-notifications+0.31.1.patch
···
··· 1 + diff --git a/node_modules/expo-notifications/android/.gradle/8.10/checksums/checksums.lock b/node_modules/expo-notifications/android/.gradle/8.10/checksums/checksums.lock 2 + new file mode 100644 3 + index 0000000..883ef6a 4 + Binary files /dev/null and b/node_modules/expo-notifications/android/.gradle/8.10/checksums/checksums.lock differ 5 + diff --git a/node_modules/expo-notifications/android/.gradle/8.10/dependencies-accessors/gc.properties b/node_modules/expo-notifications/android/.gradle/8.10/dependencies-accessors/gc.properties 6 + new file mode 100644 7 + index 0000000..e69de29 8 + diff --git a/node_modules/expo-notifications/android/.gradle/8.10/fileChanges/last-build.bin b/node_modules/expo-notifications/android/.gradle/8.10/fileChanges/last-build.bin 9 + new file mode 100644 10 + index 0000000..f76dd23 11 + Binary files /dev/null and b/node_modules/expo-notifications/android/.gradle/8.10/fileChanges/last-build.bin differ 12 + diff --git a/node_modules/expo-notifications/android/.gradle/8.10/fileHashes/fileHashes.lock b/node_modules/expo-notifications/android/.gradle/8.10/fileHashes/fileHashes.lock 13 + new file mode 100644 14 + index 0000000..774caf7 15 + Binary files /dev/null and b/node_modules/expo-notifications/android/.gradle/8.10/fileHashes/fileHashes.lock differ 16 + diff --git a/node_modules/expo-notifications/android/.gradle/8.10/gc.properties b/node_modules/expo-notifications/android/.gradle/8.10/gc.properties 17 + new file mode 100644 18 + index 0000000..e69de29 19 + diff --git a/node_modules/expo-notifications/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/node_modules/expo-notifications/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock 20 + new file mode 100644 21 + index 0000000..a3c1514 22 + Binary files /dev/null and b/node_modules/expo-notifications/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ 23 + diff --git a/node_modules/expo-notifications/android/.gradle/buildOutputCleanup/cache.properties b/node_modules/expo-notifications/android/.gradle/buildOutputCleanup/cache.properties 24 + new file mode 100644 25 + index 0000000..0e5b4da 26 + --- /dev/null 27 + +++ b/node_modules/expo-notifications/android/.gradle/buildOutputCleanup/cache.properties 28 + @@ -0,0 +1,2 @@ 29 + +#Thu Apr 24 20:44:36 PDT 2025 30 + +gradle.version=8.10 31 + diff --git a/node_modules/expo-notifications/android/.gradle/config.properties b/node_modules/expo-notifications/android/.gradle/config.properties 32 + new file mode 100644 33 + index 0000000..0bd71c6 34 + --- /dev/null 35 + +++ b/node_modules/expo-notifications/android/.gradle/config.properties 36 + @@ -0,0 +1,2 @@ 37 + +#Thu Apr 24 20:44:32 PDT 2025 38 + +java.home=/Applications/Android Studio.app/Contents/jbr/Contents/Home 39 + diff --git a/node_modules/expo-notifications/android/.gradle/vcs-1/gc.properties b/node_modules/expo-notifications/android/.gradle/vcs-1/gc.properties 40 + new file mode 100644 41 + index 0000000..e69de29 42 + diff --git a/node_modules/expo-notifications/android/.idea/.gitignore b/node_modules/expo-notifications/android/.idea/.gitignore 43 + new file mode 100644 44 + index 0000000..26d3352 45 + --- /dev/null 46 + +++ b/node_modules/expo-notifications/android/.idea/.gitignore 47 + @@ -0,0 +1,3 @@ 48 + +# Default ignored files 49 + +/shelf/ 50 + +/workspace.xml 51 + diff --git a/node_modules/expo-notifications/android/.idea/AndroidProjectSystem.xml b/node_modules/expo-notifications/android/.idea/AndroidProjectSystem.xml 52 + new file mode 100644 53 + index 0000000..4a53bee 54 + --- /dev/null 55 + +++ b/node_modules/expo-notifications/android/.idea/AndroidProjectSystem.xml 56 + @@ -0,0 +1,6 @@ 57 + +<?xml version="1.0" encoding="UTF-8"?> 58 + +<project version="4"> 59 + + <component name="AndroidProjectSystem"> 60 + + <option name="providerId" value="com.android.tools.idea.GradleProjectSystem" /> 61 + + </component> 62 + +</project> 63 + \ No newline at end of file 64 + diff --git a/node_modules/expo-notifications/android/.idea/caches/deviceStreaming.xml b/node_modules/expo-notifications/android/.idea/caches/deviceStreaming.xml 65 + new file mode 100644 66 + index 0000000..9e9ba09 67 + --- /dev/null 68 + +++ b/node_modules/expo-notifications/android/.idea/caches/deviceStreaming.xml 69 + @@ -0,0 +1,607 @@ 70 + +<?xml version="1.0" encoding="UTF-8"?> 71 + +<project version="4"> 72 + + <component name="DeviceStreaming"> 73 + + <option name="deviceSelectionList"> 74 + + <list> 75 + + <PersistentDeviceSelectionData> 76 + + <option name="api" value="27" /> 77 + + <option name="brand" value="DOCOMO" /> 78 + + <option name="codename" value="F01L" /> 79 + + <option name="id" value="F01L" /> 80 + + <option name="labId" value="google" /> 81 + + <option name="manufacturer" value="FUJITSU" /> 82 + + <option name="name" value="F-01L" /> 83 + + <option name="screenDensity" value="360" /> 84 + + <option name="screenX" value="720" /> 85 + + <option name="screenY" value="1280" /> 86 + + </PersistentDeviceSelectionData> 87 + + <PersistentDeviceSelectionData> 88 + + <option name="api" value="34" /> 89 + + <option name="brand" value="OnePlus" /> 90 + + <option name="codename" value="OP5552L1" /> 91 + + <option name="id" value="OP5552L1" /> 92 + + <option name="labId" value="google" /> 93 + + <option name="manufacturer" value="OnePlus" /> 94 + + <option name="name" value="CPH2415" /> 95 + + <option name="screenDensity" value="480" /> 96 + + <option name="screenX" value="1080" /> 97 + + <option name="screenY" value="2412" /> 98 + + </PersistentDeviceSelectionData> 99 + + <PersistentDeviceSelectionData> 100 + + <option name="api" value="34" /> 101 + + <option name="brand" value="OPPO" /> 102 + + <option name="codename" value="OP573DL1" /> 103 + + <option name="id" value="OP573DL1" /> 104 + + <option name="labId" value="google" /> 105 + + <option name="manufacturer" value="OPPO" /> 106 + + <option name="name" value="CPH2557" /> 107 + + <option name="screenDensity" value="480" /> 108 + + <option name="screenX" value="1080" /> 109 + + <option name="screenY" value="2400" /> 110 + + </PersistentDeviceSelectionData> 111 + + <PersistentDeviceSelectionData> 112 + + <option name="api" value="28" /> 113 + + <option name="brand" value="DOCOMO" /> 114 + + <option name="codename" value="SH-01L" /> 115 + + <option name="id" value="SH-01L" /> 116 + + <option name="labId" value="google" /> 117 + + <option name="manufacturer" value="SHARP" /> 118 + + <option name="name" value="AQUOS sense2 SH-01L" /> 119 + + <option name="screenDensity" value="480" /> 120 + + <option name="screenX" value="1080" /> 121 + + <option name="screenY" value="2160" /> 122 + + </PersistentDeviceSelectionData> 123 + + <PersistentDeviceSelectionData> 124 + + <option name="api" value="34" /> 125 + + <option name="brand" value="Lenovo" /> 126 + + <option name="codename" value="TB370FU" /> 127 + + <option name="formFactor" value="Tablet" /> 128 + + <option name="id" value="TB370FU" /> 129 + + <option name="labId" value="google" /> 130 + + <option name="manufacturer" value="Lenovo" /> 131 + + <option name="name" value="Tab P12" /> 132 + + <option name="screenDensity" value="340" /> 133 + + <option name="screenX" value="1840" /> 134 + + <option name="screenY" value="2944" /> 135 + + </PersistentDeviceSelectionData> 136 + + <PersistentDeviceSelectionData> 137 + + <option name="api" value="34" /> 138 + + <option name="brand" value="samsung" /> 139 + + <option name="codename" value="a15" /> 140 + + <option name="id" value="a15" /> 141 + + <option name="labId" value="google" /> 142 + + <option name="manufacturer" value="Samsung" /> 143 + + <option name="name" value="A15" /> 144 + + <option name="screenDensity" value="450" /> 145 + + <option name="screenX" value="1080" /> 146 + + <option name="screenY" value="2340" /> 147 + + </PersistentDeviceSelectionData> 148 + + <PersistentDeviceSelectionData> 149 + + <option name="api" value="34" /> 150 + + <option name="brand" value="samsung" /> 151 + + <option name="codename" value="a35x" /> 152 + + <option name="id" value="a35x" /> 153 + + <option name="labId" value="google" /> 154 + + <option name="manufacturer" value="Samsung" /> 155 + + <option name="name" value="A35" /> 156 + + <option name="screenDensity" value="450" /> 157 + + <option name="screenX" value="1080" /> 158 + + <option name="screenY" value="2340" /> 159 + + </PersistentDeviceSelectionData> 160 + + <PersistentDeviceSelectionData> 161 + + <option name="api" value="31" /> 162 + + <option name="brand" value="samsung" /> 163 + + <option name="codename" value="a51" /> 164 + + <option name="id" value="a51" /> 165 + + <option name="labId" value="google" /> 166 + + <option name="manufacturer" value="Samsung" /> 167 + + <option name="name" value="Galaxy A51" /> 168 + + <option name="screenDensity" value="420" /> 169 + + <option name="screenX" value="1080" /> 170 + + <option name="screenY" value="2400" /> 171 + + </PersistentDeviceSelectionData> 172 + + <PersistentDeviceSelectionData> 173 + + <option name="api" value="34" /> 174 + + <option name="brand" value="google" /> 175 + + <option name="codename" value="akita" /> 176 + + <option name="id" value="akita" /> 177 + + <option name="labId" value="google" /> 178 + + <option name="manufacturer" value="Google" /> 179 + + <option name="name" value="Pixel 8a" /> 180 + + <option name="screenDensity" value="420" /> 181 + + <option name="screenX" value="1080" /> 182 + + <option name="screenY" value="2400" /> 183 + + </PersistentDeviceSelectionData> 184 + + <PersistentDeviceSelectionData> 185 + + <option name="api" value="34" /> 186 + + <option name="brand" value="motorola" /> 187 + + <option name="codename" value="arcfox" /> 188 + + <option name="id" value="arcfox" /> 189 + + <option name="labId" value="google" /> 190 + + <option name="manufacturer" value="Motorola" /> 191 + + <option name="name" value="razr plus 2024" /> 192 + + <option name="screenDensity" value="360" /> 193 + + <option name="screenX" value="1080" /> 194 + + <option name="screenY" value="1272" /> 195 + + </PersistentDeviceSelectionData> 196 + + <PersistentDeviceSelectionData> 197 + + <option name="api" value="33" /> 198 + + <option name="brand" value="motorola" /> 199 + + <option name="codename" value="austin" /> 200 + + <option name="id" value="austin" /> 201 + + <option name="labId" value="google" /> 202 + + <option name="manufacturer" value="Motorola" /> 203 + + <option name="name" value="moto g 5G (2022)" /> 204 + + <option name="screenDensity" value="280" /> 205 + + <option name="screenX" value="720" /> 206 + + <option name="screenY" value="1600" /> 207 + + </PersistentDeviceSelectionData> 208 + + <PersistentDeviceSelectionData> 209 + + <option name="api" value="33" /> 210 + + <option name="brand" value="samsung" /> 211 + + <option name="codename" value="b0q" /> 212 + + <option name="id" value="b0q" /> 213 + + <option name="labId" value="google" /> 214 + + <option name="manufacturer" value="Samsung" /> 215 + + <option name="name" value="Galaxy S22 Ultra" /> 216 + + <option name="screenDensity" value="600" /> 217 + + <option name="screenX" value="1440" /> 218 + + <option name="screenY" value="3088" /> 219 + + </PersistentDeviceSelectionData> 220 + + <PersistentDeviceSelectionData> 221 + + <option name="api" value="32" /> 222 + + <option name="brand" value="google" /> 223 + + <option name="codename" value="bluejay" /> 224 + + <option name="id" value="bluejay" /> 225 + + <option name="labId" value="google" /> 226 + + <option name="manufacturer" value="Google" /> 227 + + <option name="name" value="Pixel 6a" /> 228 + + <option name="screenDensity" value="420" /> 229 + + <option name="screenX" value="1080" /> 230 + + <option name="screenY" value="2400" /> 231 + + </PersistentDeviceSelectionData> 232 + + <PersistentDeviceSelectionData> 233 + + <option name="api" value="34" /> 234 + + <option name="brand" value="google" /> 235 + + <option name="codename" value="caiman" /> 236 + + <option name="id" value="caiman" /> 237 + + <option name="labId" value="google" /> 238 + + <option name="manufacturer" value="Google" /> 239 + + <option name="name" value="Pixel 9 Pro" /> 240 + + <option name="screenDensity" value="360" /> 241 + + <option name="screenX" value="960" /> 242 + + <option name="screenY" value="2142" /> 243 + + </PersistentDeviceSelectionData> 244 + + <PersistentDeviceSelectionData> 245 + + <option name="api" value="34" /> 246 + + <option name="brand" value="google" /> 247 + + <option name="codename" value="comet" /> 248 + + <option name="default" value="true" /> 249 + + <option name="id" value="comet" /> 250 + + <option name="labId" value="google" /> 251 + + <option name="manufacturer" value="Google" /> 252 + + <option name="name" value="Pixel 9 Pro Fold" /> 253 + + <option name="screenDensity" value="390" /> 254 + + <option name="screenX" value="2076" /> 255 + + <option name="screenY" value="2152" /> 256 + + </PersistentDeviceSelectionData> 257 + + <PersistentDeviceSelectionData> 258 + + <option name="api" value="29" /> 259 + + <option name="brand" value="samsung" /> 260 + + <option name="codename" value="crownqlteue" /> 261 + + <option name="id" value="crownqlteue" /> 262 + + <option name="labId" value="google" /> 263 + + <option name="manufacturer" value="Samsung" /> 264 + + <option name="name" value="Galaxy Note9" /> 265 + + <option name="screenDensity" value="420" /> 266 + + <option name="screenX" value="2220" /> 267 + + <option name="screenY" value="1080" /> 268 + + </PersistentDeviceSelectionData> 269 + + <PersistentDeviceSelectionData> 270 + + <option name="api" value="34" /> 271 + + <option name="brand" value="samsung" /> 272 + + <option name="codename" value="dm2q" /> 273 + + <option name="id" value="dm2q" /> 274 + + <option name="labId" value="google" /> 275 + + <option name="manufacturer" value="Samsung" /> 276 + + <option name="name" value="S23 Plus" /> 277 + + <option name="screenDensity" value="450" /> 278 + + <option name="screenX" value="1080" /> 279 + + <option name="screenY" value="2340" /> 280 + + </PersistentDeviceSelectionData> 281 + + <PersistentDeviceSelectionData> 282 + + <option name="api" value="34" /> 283 + + <option name="brand" value="samsung" /> 284 + + <option name="codename" value="dm3q" /> 285 + + <option name="id" value="dm3q" /> 286 + + <option name="labId" value="google" /> 287 + + <option name="manufacturer" value="Samsung" /> 288 + + <option name="name" value="Galaxy S23 Ultra" /> 289 + + <option name="screenDensity" value="600" /> 290 + + <option name="screenX" value="1440" /> 291 + + <option name="screenY" value="3088" /> 292 + + </PersistentDeviceSelectionData> 293 + + <PersistentDeviceSelectionData> 294 + + <option name="api" value="34" /> 295 + + <option name="brand" value="samsung" /> 296 + + <option name="codename" value="e1q" /> 297 + + <option name="default" value="true" /> 298 + + <option name="id" value="e1q" /> 299 + + <option name="labId" value="google" /> 300 + + <option name="manufacturer" value="Samsung" /> 301 + + <option name="name" value="Galaxy S24" /> 302 + + <option name="screenDensity" value="480" /> 303 + + <option name="screenX" value="1080" /> 304 + + <option name="screenY" value="2340" /> 305 + + </PersistentDeviceSelectionData> 306 + + <PersistentDeviceSelectionData> 307 + + <option name="api" value="34" /> 308 + + <option name="brand" value="samsung" /> 309 + + <option name="codename" value="e3q" /> 310 + + <option name="id" value="e3q" /> 311 + + <option name="labId" value="google" /> 312 + + <option name="manufacturer" value="Samsung" /> 313 + + <option name="name" value="Galaxy S24 Ultra" /> 314 + + <option name="screenDensity" value="450" /> 315 + + <option name="screenX" value="1440" /> 316 + + <option name="screenY" value="3120" /> 317 + + </PersistentDeviceSelectionData> 318 + + <PersistentDeviceSelectionData> 319 + + <option name="api" value="33" /> 320 + + <option name="brand" value="google" /> 321 + + <option name="codename" value="eos" /> 322 + + <option name="id" value="eos" /> 323 + + <option name="labId" value="google" /> 324 + + <option name="manufacturer" value="Google" /> 325 + + <option name="name" value="Eos" /> 326 + + <option name="screenDensity" value="320" /> 327 + + <option name="screenX" value="384" /> 328 + + <option name="screenY" value="384" /> 329 + + </PersistentDeviceSelectionData> 330 + + <PersistentDeviceSelectionData> 331 + + <option name="api" value="33" /> 332 + + <option name="brand" value="google" /> 333 + + <option name="codename" value="felix" /> 334 + + <option name="id" value="felix" /> 335 + + <option name="labId" value="google" /> 336 + + <option name="manufacturer" value="Google" /> 337 + + <option name="name" value="Pixel Fold" /> 338 + + <option name="screenDensity" value="420" /> 339 + + <option name="screenX" value="2208" /> 340 + + <option name="screenY" value="1840" /> 341 + + </PersistentDeviceSelectionData> 342 + + <PersistentDeviceSelectionData> 343 + + <option name="api" value="34" /> 344 + + <option name="brand" value="google" /> 345 + + <option name="codename" value="felix" /> 346 + + <option name="id" value="felix" /> 347 + + <option name="labId" value="google" /> 348 + + <option name="manufacturer" value="Google" /> 349 + + <option name="name" value="Pixel Fold" /> 350 + + <option name="screenDensity" value="420" /> 351 + + <option name="screenX" value="2208" /> 352 + + <option name="screenY" value="1840" /> 353 + + </PersistentDeviceSelectionData> 354 + + <PersistentDeviceSelectionData> 355 + + <option name="api" value="33" /> 356 + + <option name="brand" value="google" /> 357 + + <option name="codename" value="felix_camera" /> 358 + + <option name="id" value="felix_camera" /> 359 + + <option name="labId" value="google" /> 360 + + <option name="manufacturer" value="Google" /> 361 + + <option name="name" value="Pixel Fold (Camera-enabled)" /> 362 + + <option name="screenDensity" value="420" /> 363 + + <option name="screenX" value="2208" /> 364 + + <option name="screenY" value="1840" /> 365 + + </PersistentDeviceSelectionData> 366 + + <PersistentDeviceSelectionData> 367 + + <option name="api" value="34" /> 368 + + <option name="brand" value="motorola" /> 369 + + <option name="codename" value="fogona" /> 370 + + <option name="id" value="fogona" /> 371 + + <option name="labId" value="google" /> 372 + + <option name="manufacturer" value="Motorola" /> 373 + + <option name="name" value="moto g play - 2024" /> 374 + + <option name="screenDensity" value="280" /> 375 + + <option name="screenX" value="720" /> 376 + + <option name="screenY" value="1600" /> 377 + + </PersistentDeviceSelectionData> 378 + + <PersistentDeviceSelectionData> 379 + + <option name="api" value="34" /> 380 + + <option name="brand" value="samsung" /> 381 + + <option name="codename" value="g0q" /> 382 + + <option name="id" value="g0q" /> 383 + + <option name="labId" value="google" /> 384 + + <option name="manufacturer" value="Samsung" /> 385 + + <option name="name" value="SM-S906U1" /> 386 + + <option name="screenDensity" value="450" /> 387 + + <option name="screenX" value="1080" /> 388 + + <option name="screenY" value="2340" /> 389 + + </PersistentDeviceSelectionData> 390 + + <PersistentDeviceSelectionData> 391 + + <option name="api" value="34" /> 392 + + <option name="brand" value="samsung" /> 393 + + <option name="codename" value="gta9pwifi" /> 394 + + <option name="id" value="gta9pwifi" /> 395 + + <option name="labId" value="google" /> 396 + + <option name="manufacturer" value="Samsung" /> 397 + + <option name="name" value="SM-X210" /> 398 + + <option name="screenDensity" value="240" /> 399 + + <option name="screenX" value="1200" /> 400 + + <option name="screenY" value="1920" /> 401 + + </PersistentDeviceSelectionData> 402 + + <PersistentDeviceSelectionData> 403 + + <option name="api" value="34" /> 404 + + <option name="brand" value="samsung" /> 405 + + <option name="codename" value="gts7xllite" /> 406 + + <option name="id" value="gts7xllite" /> 407 + + <option name="labId" value="google" /> 408 + + <option name="manufacturer" value="Samsung" /> 409 + + <option name="name" value="SM-T738U" /> 410 + + <option name="screenDensity" value="340" /> 411 + + <option name="screenX" value="1600" /> 412 + + <option name="screenY" value="2560" /> 413 + + </PersistentDeviceSelectionData> 414 + + <PersistentDeviceSelectionData> 415 + + <option name="api" value="33" /> 416 + + <option name="brand" value="samsung" /> 417 + + <option name="codename" value="gts8uwifi" /> 418 + + <option name="formFactor" value="Tablet" /> 419 + + <option name="id" value="gts8uwifi" /> 420 + + <option name="labId" value="google" /> 421 + + <option name="manufacturer" value="Samsung" /> 422 + + <option name="name" value="Galaxy Tab S8 Ultra" /> 423 + + <option name="screenDensity" value="320" /> 424 + + <option name="screenX" value="1848" /> 425 + + <option name="screenY" value="2960" /> 426 + + </PersistentDeviceSelectionData> 427 + + <PersistentDeviceSelectionData> 428 + + <option name="api" value="34" /> 429 + + <option name="brand" value="samsung" /> 430 + + <option name="codename" value="gts8wifi" /> 431 + + <option name="formFactor" value="Tablet" /> 432 + + <option name="id" value="gts8wifi" /> 433 + + <option name="labId" value="google" /> 434 + + <option name="manufacturer" value="Samsung" /> 435 + + <option name="name" value="Galaxy Tab S8" /> 436 + + <option name="screenDensity" value="274" /> 437 + + <option name="screenX" value="1600" /> 438 + + <option name="screenY" value="2560" /> 439 + + </PersistentDeviceSelectionData> 440 + + <PersistentDeviceSelectionData> 441 + + <option name="api" value="34" /> 442 + + <option name="brand" value="samsung" /> 443 + + <option name="codename" value="gts9fe" /> 444 + + <option name="id" value="gts9fe" /> 445 + + <option name="labId" value="google" /> 446 + + <option name="manufacturer" value="Samsung" /> 447 + + <option name="name" value="Galaxy Tab S9 FE 5G" /> 448 + + <option name="screenDensity" value="280" /> 449 + + <option name="screenX" value="1440" /> 450 + + <option name="screenY" value="2304" /> 451 + + </PersistentDeviceSelectionData> 452 + + <PersistentDeviceSelectionData> 453 + + <option name="api" value="34" /> 454 + + <option name="brand" value="google" /> 455 + + <option name="codename" value="husky" /> 456 + + <option name="id" value="husky" /> 457 + + <option name="labId" value="google" /> 458 + + <option name="manufacturer" value="Google" /> 459 + + <option name="name" value="Pixel 8 Pro" /> 460 + + <option name="screenDensity" value="390" /> 461 + + <option name="screenX" value="1008" /> 462 + + <option name="screenY" value="2244" /> 463 + + </PersistentDeviceSelectionData> 464 + + <PersistentDeviceSelectionData> 465 + + <option name="api" value="30" /> 466 + + <option name="brand" value="motorola" /> 467 + + <option name="codename" value="java" /> 468 + + <option name="id" value="java" /> 469 + + <option name="labId" value="google" /> 470 + + <option name="manufacturer" value="Motorola" /> 471 + + <option name="name" value="G20" /> 472 + + <option name="screenDensity" value="280" /> 473 + + <option name="screenX" value="720" /> 474 + + <option name="screenY" value="1600" /> 475 + + </PersistentDeviceSelectionData> 476 + + <PersistentDeviceSelectionData> 477 + + <option name="api" value="34" /> 478 + + <option name="brand" value="google" /> 479 + + <option name="codename" value="komodo" /> 480 + + <option name="id" value="komodo" /> 481 + + <option name="labId" value="google" /> 482 + + <option name="manufacturer" value="Google" /> 483 + + <option name="name" value="Pixel 9 Pro XL" /> 484 + + <option name="screenDensity" value="360" /> 485 + + <option name="screenX" value="1008" /> 486 + + <option name="screenY" value="2244" /> 487 + + </PersistentDeviceSelectionData> 488 + + <PersistentDeviceSelectionData> 489 + + <option name="api" value="33" /> 490 + + <option name="brand" value="google" /> 491 + + <option name="codename" value="lynx" /> 492 + + <option name="id" value="lynx" /> 493 + + <option name="labId" value="google" /> 494 + + <option name="manufacturer" value="Google" /> 495 + + <option name="name" value="Pixel 7a" /> 496 + + <option name="screenDensity" value="420" /> 497 + + <option name="screenX" value="1080" /> 498 + + <option name="screenY" value="2400" /> 499 + + </PersistentDeviceSelectionData> 500 + + <PersistentDeviceSelectionData> 501 + + <option name="api" value="33" /> 502 + + <option name="brand" value="motorola" /> 503 + + <option name="codename" value="maui" /> 504 + + <option name="id" value="maui" /> 505 + + <option name="labId" value="google" /> 506 + + <option name="manufacturer" value="Motorola" /> 507 + + <option name="name" value="moto g play - 2023" /> 508 + + <option name="screenDensity" value="280" /> 509 + + <option name="screenX" value="720" /> 510 + + <option name="screenY" value="1600" /> 511 + + </PersistentDeviceSelectionData> 512 + + <PersistentDeviceSelectionData> 513 + + <option name="api" value="34" /> 514 + + <option name="brand" value="samsung" /> 515 + + <option name="codename" value="o1q" /> 516 + + <option name="id" value="o1q" /> 517 + + <option name="labId" value="google" /> 518 + + <option name="manufacturer" value="Samsung" /> 519 + + <option name="name" value="Galaxy S21" /> 520 + + <option name="screenDensity" value="421" /> 521 + + <option name="screenX" value="1080" /> 522 + + <option name="screenY" value="2400" /> 523 + + </PersistentDeviceSelectionData> 524 + + <PersistentDeviceSelectionData> 525 + + <option name="api" value="31" /> 526 + + <option name="brand" value="google" /> 527 + + <option name="codename" value="oriole" /> 528 + + <option name="id" value="oriole" /> 529 + + <option name="labId" value="google" /> 530 + + <option name="manufacturer" value="Google" /> 531 + + <option name="name" value="Pixel 6" /> 532 + + <option name="screenDensity" value="420" /> 533 + + <option name="screenX" value="1080" /> 534 + + <option name="screenY" value="2400" /> 535 + + </PersistentDeviceSelectionData> 536 + + <PersistentDeviceSelectionData> 537 + + <option name="api" value="33" /> 538 + + <option name="brand" value="google" /> 539 + + <option name="codename" value="panther" /> 540 + + <option name="id" value="panther" /> 541 + + <option name="labId" value="google" /> 542 + + <option name="manufacturer" value="Google" /> 543 + + <option name="name" value="Pixel 7" /> 544 + + <option name="screenDensity" value="420" /> 545 + + <option name="screenX" value="1080" /> 546 + + <option name="screenY" value="2400" /> 547 + + </PersistentDeviceSelectionData> 548 + + <PersistentDeviceSelectionData> 549 + + <option name="api" value="34" /> 550 + + <option name="brand" value="samsung" /> 551 + + <option name="codename" value="q5q" /> 552 + + <option name="id" value="q5q" /> 553 + + <option name="labId" value="google" /> 554 + + <option name="manufacturer" value="Samsung" /> 555 + + <option name="name" value="Galaxy Z Fold5" /> 556 + + <option name="screenDensity" value="420" /> 557 + + <option name="screenX" value="1812" /> 558 + + <option name="screenY" value="2176" /> 559 + + </PersistentDeviceSelectionData> 560 + + <PersistentDeviceSelectionData> 561 + + <option name="api" value="34" /> 562 + + <option name="brand" value="samsung" /> 563 + + <option name="codename" value="q6q" /> 564 + + <option name="id" value="q6q" /> 565 + + <option name="labId" value="google" /> 566 + + <option name="manufacturer" value="Samsung" /> 567 + + <option name="name" value="Galaxy Z Fold6" /> 568 + + <option name="screenDensity" value="420" /> 569 + + <option name="screenX" value="1856" /> 570 + + <option name="screenY" value="2160" /> 571 + + </PersistentDeviceSelectionData> 572 + + <PersistentDeviceSelectionData> 573 + + <option name="api" value="30" /> 574 + + <option name="brand" value="google" /> 575 + + <option name="codename" value="r11" /> 576 + + <option name="formFactor" value="Wear OS" /> 577 + + <option name="id" value="r11" /> 578 + + <option name="labId" value="google" /> 579 + + <option name="manufacturer" value="Google" /> 580 + + <option name="name" value="Pixel Watch" /> 581 + + <option name="screenDensity" value="320" /> 582 + + <option name="screenX" value="384" /> 583 + + <option name="screenY" value="384" /> 584 + + <option name="type" value="WEAR_OS" /> 585 + + </PersistentDeviceSelectionData> 586 + + <PersistentDeviceSelectionData> 587 + + <option name="api" value="34" /> 588 + + <option name="brand" value="samsung" /> 589 + + <option name="codename" value="r11q" /> 590 + + <option name="id" value="r11q" /> 591 + + <option name="labId" value="google" /> 592 + + <option name="manufacturer" value="Samsung" /> 593 + + <option name="name" value="SM-S711U" /> 594 + + <option name="screenDensity" value="450" /> 595 + + <option name="screenX" value="1080" /> 596 + + <option name="screenY" value="2340" /> 597 + + </PersistentDeviceSelectionData> 598 + + <PersistentDeviceSelectionData> 599 + + <option name="api" value="30" /> 600 + + <option name="brand" value="google" /> 601 + + <option name="codename" value="redfin" /> 602 + + <option name="id" value="redfin" /> 603 + + <option name="labId" value="google" /> 604 + + <option name="manufacturer" value="Google" /> 605 + + <option name="name" value="Pixel 5" /> 606 + + <option name="screenDensity" value="440" /> 607 + + <option name="screenX" value="1080" /> 608 + + <option name="screenY" value="2340" /> 609 + + </PersistentDeviceSelectionData> 610 + + <PersistentDeviceSelectionData> 611 + + <option name="api" value="34" /> 612 + + <option name="brand" value="google" /> 613 + + <option name="codename" value="shiba" /> 614 + + <option name="id" value="shiba" /> 615 + + <option name="labId" value="google" /> 616 + + <option name="manufacturer" value="Google" /> 617 + + <option name="name" value="Pixel 8" /> 618 + + <option name="screenDensity" value="420" /> 619 + + <option name="screenX" value="1080" /> 620 + + <option name="screenY" value="2400" /> 621 + + </PersistentDeviceSelectionData> 622 + + <PersistentDeviceSelectionData> 623 + + <option name="api" value="34" /> 624 + + <option name="brand" value="samsung" /> 625 + + <option name="codename" value="t2q" /> 626 + + <option name="id" value="t2q" /> 627 + + <option name="labId" value="google" /> 628 + + <option name="manufacturer" value="Samsung" /> 629 + + <option name="name" value="Galaxy S21 Plus" /> 630 + + <option name="screenDensity" value="394" /> 631 + + <option name="screenX" value="1080" /> 632 + + <option name="screenY" value="2400" /> 633 + + </PersistentDeviceSelectionData> 634 + + <PersistentDeviceSelectionData> 635 + + <option name="api" value="33" /> 636 + + <option name="brand" value="google" /> 637 + + <option name="codename" value="tangorpro" /> 638 + + <option name="formFactor" value="Tablet" /> 639 + + <option name="id" value="tangorpro" /> 640 + + <option name="labId" value="google" /> 641 + + <option name="manufacturer" value="Google" /> 642 + + <option name="name" value="Pixel Tablet" /> 643 + + <option name="screenDensity" value="320" /> 644 + + <option name="screenX" value="1600" /> 645 + + <option name="screenY" value="2560" /> 646 + + </PersistentDeviceSelectionData> 647 + + <PersistentDeviceSelectionData> 648 + + <option name="api" value="34" /> 649 + + <option name="brand" value="google" /> 650 + + <option name="codename" value="tokay" /> 651 + + <option name="default" value="true" /> 652 + + <option name="id" value="tokay" /> 653 + + <option name="labId" value="google" /> 654 + + <option name="manufacturer" value="Google" /> 655 + + <option name="name" value="Pixel 9" /> 656 + + <option name="screenDensity" value="420" /> 657 + + <option name="screenX" value="1080" /> 658 + + <option name="screenY" value="2424" /> 659 + + </PersistentDeviceSelectionData> 660 + + <PersistentDeviceSelectionData> 661 + + <option name="api" value="35" /> 662 + + <option name="brand" value="google" /> 663 + + <option name="codename" value="tokay" /> 664 + + <option name="default" value="true" /> 665 + + <option name="id" value="tokay" /> 666 + + <option name="labId" value="google" /> 667 + + <option name="manufacturer" value="Google" /> 668 + + <option name="name" value="Pixel 9" /> 669 + + <option name="screenDensity" value="420" /> 670 + + <option name="screenX" value="1080" /> 671 + + <option name="screenY" value="2424" /> 672 + + </PersistentDeviceSelectionData> 673 + + </list> 674 + + </option> 675 + + </component> 676 + +</project> 677 + \ No newline at end of file 678 + diff --git a/node_modules/expo-notifications/android/.idea/gradle.xml b/node_modules/expo-notifications/android/.idea/gradle.xml 679 + new file mode 100644 680 + index 0000000..b838237 681 + --- /dev/null 682 + +++ b/node_modules/expo-notifications/android/.idea/gradle.xml 683 + @@ -0,0 +1,12 @@ 684 + +<?xml version="1.0" encoding="UTF-8"?> 685 + +<project version="4"> 686 + + <component name="GradleSettings"> 687 + + <option name="linkedExternalProjectsSettings"> 688 + + <GradleProjectSettings> 689 + + <option name="testRunner" value="CHOOSE_PER_TEST" /> 690 + + <option name="externalProjectPath" value="$PROJECT_DIR$" /> 691 + + <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" /> 692 + + </GradleProjectSettings> 693 + + </option> 694 + + </component> 695 + +</project> 696 + \ No newline at end of file 697 + diff --git a/node_modules/expo-notifications/android/.idea/migrations.xml b/node_modules/expo-notifications/android/.idea/migrations.xml 698 + new file mode 100644 699 + index 0000000..f8051a6 700 + --- /dev/null 701 + +++ b/node_modules/expo-notifications/android/.idea/migrations.xml 702 + @@ -0,0 +1,10 @@ 703 + +<?xml version="1.0" encoding="UTF-8"?> 704 + +<project version="4"> 705 + + <component name="ProjectMigrations"> 706 + + <option name="MigrateToGradleLocalJavaHome"> 707 + + <set> 708 + + <option value="$PROJECT_DIR$" /> 709 + + </set> 710 + + </option> 711 + + </component> 712 + +</project> 713 + \ No newline at end of file 714 + diff --git a/node_modules/expo-notifications/android/.idea/misc.xml b/node_modules/expo-notifications/android/.idea/misc.xml 715 + new file mode 100644 716 + index 0000000..3040d03 717 + --- /dev/null 718 + +++ b/node_modules/expo-notifications/android/.idea/misc.xml 719 + @@ -0,0 +1,10 @@ 720 + +<?xml version="1.0" encoding="UTF-8"?> 721 + +<project version="4"> 722 + + <component name="ExternalStorageConfigurationManager" enabled="true" /> 723 + + <component name="ProjectRootManager"> 724 + + <output url="file://$PROJECT_DIR$/build/classes" /> 725 + + </component> 726 + + <component name="ProjectType"> 727 + + <option name="id" value="Android" /> 728 + + </component> 729 + +</project> 730 + \ No newline at end of file 731 + diff --git a/node_modules/expo-notifications/android/.idea/runConfigurations.xml b/node_modules/expo-notifications/android/.idea/runConfigurations.xml 732 + new file mode 100644 733 + index 0000000..16660f1 734 + --- /dev/null 735 + +++ b/node_modules/expo-notifications/android/.idea/runConfigurations.xml 736 + @@ -0,0 +1,17 @@ 737 + +<?xml version="1.0" encoding="UTF-8"?> 738 + +<project version="4"> 739 + + <component name="RunConfigurationProducerService"> 740 + + <option name="ignoredProducers"> 741 + + <set> 742 + + <option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" /> 743 + + <option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" /> 744 + + <option value="com.intellij.execution.junit.PatternConfigurationProducer" /> 745 + + <option value="com.intellij.execution.junit.TestInClassConfigurationProducer" /> 746 + + <option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" /> 747 + + <option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" /> 748 + + <option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" /> 749 + + <option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" /> 750 + + </set> 751 + + </option> 752 + + </component> 753 + +</project> 754 + \ No newline at end of file 755 + diff --git a/node_modules/expo-notifications/android/.idea/workspace.xml b/node_modules/expo-notifications/android/.idea/workspace.xml 756 + new file mode 100644 757 + index 0000000..df26928 758 + --- /dev/null 759 + +++ b/node_modules/expo-notifications/android/.idea/workspace.xml 760 + @@ -0,0 +1,47 @@ 761 + +<?xml version="1.0" encoding="UTF-8"?> 762 + +<project version="4"> 763 + + <component name="AutoImportSettings"> 764 + + <option name="autoReloadType" value="NONE" /> 765 + + </component> 766 + + <component name="ChangeListManager"> 767 + + <list default="true" id="fed6a9c0-2e93-4b6e-953a-d1cd1e93b59f" name="Changes" comment="" /> 768 + + <option name="SHOW_DIALOG" value="false" /> 769 + + <option name="HIGHLIGHT_CONFLICTS" value="true" /> 770 + + <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> 771 + + <option name="LAST_RESOLUTION" value="IGNORE" /> 772 + + </component> 773 + + <component name="ClangdSettings"> 774 + + <option name="formatViaClangd" value="false" /> 775 + + </component> 776 + + <component name="ProjectColorInfo"><![CDATA[{ 777 + + "associatedIndex": 4 778 + +}]]></component> 779 + + <component name="ProjectId" id="2wCjuanPzVGKP91vdmftQVgUlaM" /> 780 + + <component name="ProjectViewState"> 781 + + <option name="hideEmptyMiddlePackages" value="true" /> 782 + + <option name="showLibraryContents" value="true" /> 783 + + </component> 784 + + <component name="PropertiesComponent"><![CDATA[{ 785 + + "keyToString": { 786 + + "RunOnceActivity.ShowReadmeOnStart": "true", 787 + + "RunOnceActivity.cidr.known.project.marker": "true", 788 + + "RunOnceActivity.readMode.enableVisualFormatting": "true", 789 + + "android.gradle.sync.needed": "true", 790 + + "cf.first.check.clang-format": "false", 791 + + "cidr.known.project.marker": "true", 792 + + "kotlin-language-version-configured": "true", 793 + + "last_opened_file_path": "/Users/hailey/bsky/social-app/node_modules/expo-notifications/android" 794 + + } 795 + +}]]></component> 796 + + <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" /> 797 + + <component name="TaskManager"> 798 + + <task active="true" id="Default" summary="Default task"> 799 + + <changelist id="fed6a9c0-2e93-4b6e-953a-d1cd1e93b59f" name="Changes" comment="" /> 800 + + <created>1745552672693</created> 801 + + <option name="number" value="Default" /> 802 + + <option name="presentableId" value="Default" /> 803 + + <updated>1745552672693</updated> 804 + + </task> 805 + + <servers /> 806 + + </component> 807 + +</project> 808 + \ No newline at end of file 809 + diff --git a/node_modules/expo-notifications/android/build.gradle b/node_modules/expo-notifications/android/build.gradle 810 + index bc479ee..1ebfa00 100644 811 + --- a/node_modules/expo-notifications/android/build.gradle 812 + +++ b/node_modules/expo-notifications/android/build.gradle 813 + @@ -42,6 +42,7 @@ dependencies { 814 + implementation 'com.google.firebase:firebase-messaging:24.0.1' 815 + 816 + implementation 'me.leolin:ShortcutBadger:1.1.22@aar' 817 + + implementation project(':expo-background-notification-handler') 818 + 819 + if (project.findProject(':expo-modules-test-core')) { 820 + testImplementation project(':expo-modules-test-core') 821 + diff --git a/node_modules/expo-notifications/android/local.properties b/node_modules/expo-notifications/android/local.properties 822 + new file mode 100644 823 + index 0000000..ab4c86d 824 + --- /dev/null 825 + +++ b/node_modules/expo-notifications/android/local.properties 826 + @@ -0,0 +1,8 @@ 827 + +## This file must *NOT* be checked into Version Control Systems, 828 + +# as it contains information specific to your local configuration. 829 + +# 830 + +# Location of the SDK. This is only used by Gradle. 831 + +# For customization when using a Version Control System, please read the 832 + +# header note. 833 + +#Thu Apr 24 20:44:32 PDT 2025 834 + +sdk.dir=/Users/hailey/Library/Android/sdk 835 + diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/interfaces/INotificationContent.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/interfaces/INotificationContent.kt 836 + index 7b99e6c..45a450d 100644 837 + --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/interfaces/INotificationContent.kt 838 + +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/interfaces/INotificationContent.kt 839 + @@ -15,6 +15,7 @@ import org.json.JSONObject 840 + * This interface exists to provide a common API for both classes. 841 + * */ 842 + interface INotificationContent : Parcelable { 843 + + val channelId: String? 844 + val title: String? 845 + val text: String? 846 + val subText: String? 847 + diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java 848 + index 191b64e..fe8b3c5 100644 849 + --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java 850 + +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationContent.java 851 + @@ -35,6 +35,7 @@ import kotlin.coroutines.Continuation; 852 + * Refactoring this class may require a migration strategy for the data stored in SharedPreferences. 853 + */ 854 + public class NotificationContent implements Parcelable, Serializable, INotificationContent { 855 + + private String mChannelId; 856 + private String mTitle; 857 + private String mText; 858 + private String mSubtitle; 859 + @@ -65,6 +66,11 @@ public class NotificationContent implements Parcelable, Serializable, INotificat 860 + } 861 + }; 862 + 863 + + @Nullable 864 + + public String getChannelId() { 865 + + return mChannelId; 866 + + } 867 + + 868 + @Nullable 869 + public String getTitle() { 870 + return mTitle; 871 + @@ -158,6 +164,7 @@ public class NotificationContent implements Parcelable, Serializable, INotificat 872 + } 873 + 874 + protected NotificationContent(Parcel in) { 875 + + mChannelId = in.readString(); 876 + mTitle = in.readString(); 877 + mText = in.readString(); 878 + mSubtitle = in.readString(); 879 + @@ -183,6 +190,7 @@ public class NotificationContent implements Parcelable, Serializable, INotificat 880 + 881 + @Override 882 + public void writeToParcel(Parcel dest, int flags) { 883 + + dest.writeString(mChannelId); 884 + dest.writeString(mTitle); 885 + dest.writeString(mText); 886 + dest.writeString(mSubtitle); 887 + @@ -203,6 +211,7 @@ public class NotificationContent implements Parcelable, Serializable, INotificat 888 + private static final long serialVersionUID = 397666843266836802L; 889 + 890 + private void writeObject(java.io.ObjectOutputStream out) throws IOException { 891 + + out.writeObject(mChannelId); 892 + out.writeObject(mTitle); 893 + out.writeObject(mText); 894 + out.writeObject(mSubtitle); 895 + @@ -285,6 +294,11 @@ public class NotificationContent implements Parcelable, Serializable, INotificat 896 + useDefaultVibrationPattern(); 897 + } 898 + 899 + + public Builder setChannelId(String channelId) { 900 + + content.mChannelId = channelId; 901 + + return this; 902 + + } 903 + + 904 + public Builder setTitle(String title) { 905 + content.mTitle = title; 906 + return this; 907 + diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationData.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationData.kt 908 + index 3af254c..3c77e9d 100644 909 + --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationData.kt 910 + +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/NotificationData.kt 911 + @@ -11,6 +11,9 @@ import org.json.JSONObject 912 + * */ 913 + @JvmInline 914 + value class NotificationData(private val data: Map<String, String>) { 915 + + val channelId: String? 916 + + get() = data["channelId"] 917 + + 918 + val title: String? 919 + get() = data["title"] 920 + 921 + diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/RemoteNotificationContent.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/RemoteNotificationContent.kt 922 + index d2cc6cf..6a48ff2 100644 923 + --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/RemoteNotificationContent.kt 924 + +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/model/RemoteNotificationContent.kt 925 + @@ -31,6 +31,8 @@ class RemoteNotificationContent(private val remoteMessage: RemoteMessage) : INot 926 + return remoteMessage.notification?.imageUrl != null 927 + } 928 + 929 + + override val channelId = remoteMessage.notification?.channelId ?: notificationData.channelId 930 + + 931 + override val title = remoteMessage.notification?.title ?: notificationData.title 932 + 933 + override val text = remoteMessage.notification?.body ?: notificationData.message 934 + diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.kt 935 + index 98f003f..2f745e8 100644 936 + --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.kt 937 + +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/notifications/presentation/builders/ExpoNotificationBuilder.kt 938 + @@ -101,6 +101,9 @@ open class ExpoNotificationBuilder( 939 + builder.setOngoing(content.isSticky) 940 + 941 + // see "Notification anatomy" https://developer.android.com/develop/ui/views/notifications#Templates 942 + + content.channelId?.let { 943 + + builder.setChannelId(it) 944 + + } 945 + builder.setContentTitle(content.title) 946 + builder.setContentText(content.text) 947 + builder.setSubText(content.subText) 948 + diff --git a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt 949 + index 90ca4ff..9d4cb09 100644 950 + --- a/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt 951 + +++ b/node_modules/expo-notifications/android/src/main/java/expo/modules/notifications/service/delegates/FirebaseMessagingDelegate.kt 952 + @@ -3,6 +3,9 @@ package expo.modules.notifications.service.delegates 953 + import android.content.Context 954 + import android.os.Bundle 955 + import com.google.firebase.messaging.RemoteMessage 956 + +import expo.modules.backgroundnotificationhandler.BackgroundNotificationHandler 957 + +import expo.modules.backgroundnotificationhandler.BackgroundNotificationHandlerInterface 958 + +import expo.modules.backgroundnotificationhandler.ExpoBackgroundNotificationHandlerModule 959 + import expo.modules.interfaces.taskManager.TaskServiceProviderHelper 960 + import expo.modules.notifications.notifications.RemoteMessageSerializer 961 + import expo.modules.notifications.notifications.background.BackgroundRemoteNotificationTaskConsumer 962 + @@ -18,7 +21,7 @@ import expo.modules.notifications.tokens.interfaces.FirebaseTokenListener 963 + import java.lang.ref.WeakReference 964 + import java.util.* 965 + 966 + -open class FirebaseMessagingDelegate(protected val context: Context) : FirebaseMessagingDelegate { 967 + +open class FirebaseMessagingDelegate(protected val context: Context) : FirebaseMessagingDelegate, BackgroundNotificationHandlerInterface{ 968 + companion object { 969 + // Unfortunately we cannot save state between instances of a service other way 970 + // than by static properties. Fortunately, using weak references we can 971 + @@ -105,8 +108,19 @@ open class FirebaseMessagingDelegate(protected val context: Context) : FirebaseM 972 + DebugLogging.logRemoteMessage("FirebaseMessagingDelegate.onMessageReceived: message", remoteMessage) 973 + val notification = createNotification(remoteMessage) 974 + DebugLogging.logNotification("FirebaseMessagingDelegate.onMessageReceived: notification", notification) 975 + - NotificationsService.receive(context, notification) 976 + - runTaskManagerTasks(context.applicationContext, RemoteMessageSerializer.toBundle(remoteMessage)) 977 + + if (!ExpoBackgroundNotificationHandlerModule.isForegrounded) { 978 + + BackgroundNotificationHandler(context, this).handleMessage(remoteMessage) 979 + + } else { 980 + + NotificationsService.receive(context, notification) 981 + + runTaskManagerTasks( 982 + + context.applicationContext, 983 + + RemoteMessageSerializer.toBundle(remoteMessage) 984 + + ) 985 + + } 986 + + } 987 + + 988 + + override fun showMessage(remoteMessage: RemoteMessage) { 989 + + NotificationsService.receive(context, createNotification(remoteMessage)) 990 + } 991 + 992 + protected fun createNotification(remoteMessage: RemoteMessage): Notification {
patches/expo-updates+0.26.10.patch.md patches/expo-updates+0.28.12.patch.md
patches/expo-updates+0.27.4.patch patches/expo-updates+0.28.12.patch
-4
patches/react-native+0.76.6.patch.md patches/react-native+0.79.2.patch.md
··· 11 Patching `RCTRefreshControl.m` and `RCTRefreshControl.h` to add a new `forwarderBeginRefreshing` method to the class. 12 This method is used by `ExpoScrollForwarder` to initiate a refresh of the underlying `UIScrollView` from inside that 13 module. 14 - 15 - ## ScrollView centerContent fix 16 - 17 - Includes https://github.com/facebook/react-native/pull/47591 early. Delete when it's in a release.
··· 11 Patching `RCTRefreshControl.m` and `RCTRefreshControl.h` to add a new `forwarderBeginRefreshing` method to the class. 12 This method is used by `ExpoScrollForwarder` to initiate a refresh of the underlying `UIScrollView` from inside that 13 module.
-366
patches/react-native+0.76.9.patch
··· 1 - diff --git a/node_modules/react-native/Libraries/StyleSheet/StyleSheetTypes.d.ts b/node_modules/react-native/Libraries/StyleSheet/StyleSheetTypes.d.ts 2 - index 62f52a7..ca30165 100644 3 - --- a/node_modules/react-native/Libraries/StyleSheet/StyleSheetTypes.d.ts 4 - +++ b/node_modules/react-native/Libraries/StyleSheet/StyleSheetTypes.d.ts 5 - @@ -426,9 +426,10 @@ export interface ViewStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle { 6 - */ 7 - pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto' | undefined; 8 - isolation?: 'auto' | 'isolate' | undefined; 9 - - cursor?: CursorValue | undefined; 10 - + cursor?: CursorValue | string | undefined; 11 - boxShadow?: ReadonlyArray<BoxShadowValue> | string | undefined; 12 - filter?: ReadonlyArray<FilterFunction> | string | undefined; 13 - + transformOrigin?: string | (string | number)[] | undefined; 14 - } 15 - 16 - export type FontVariant = 17 - @@ -536,7 +537,11 @@ export interface TextStyle extends TextStyleIOS, TextStyleAndroid, ViewStyle { 18 - textShadowOffset?: {width: number; height: number} | undefined; 19 - textShadowRadius?: number | undefined; 20 - textTransform?: 'none' | 'capitalize' | 'uppercase' | 'lowercase' | undefined; 21 - - userSelect?: 'auto' | 'none' | 'text' | 'contain' | 'all' | undefined; 22 - + userSelect?: 'auto' | 'none' | 'text' | 'contain' | 'all' | string | undefined; 23 - + cursor?: CursorValue | string | undefined; 24 - + boxShadow?: ReadonlyArray<BoxShadowValue> | string | undefined; 25 - + filter?: ReadonlyArray<FilterFunction> | string | undefined; 26 - + transformOrigin?: string | (string | number)[] | undefined; 27 - } 28 - 29 - /** 30 - @@ -558,5 +563,8 @@ export interface ImageStyle extends FlexStyle, ShadowStyleIOS, TransformsStyle { 31 - tintColor?: ColorValue | undefined; 32 - opacity?: AnimatableNumericValue | undefined; 33 - objectFit?: 'cover' | 'contain' | 'fill' | 'scale-down' | undefined; 34 - - cursor?: CursorValue | undefined; 35 - + cursor?: CursorValue | string | undefined; 36 - + boxShadow?: ReadonlyArray<BoxShadowValue> | string | undefined; 37 - + filter?: ReadonlyArray<FilterFunction> | string | undefined; 38 - + transformOrigin?: string | (string | number)[] | undefined; 39 - } 40 - diff --git a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm 41 - index 93af874..106f8ec 100644 42 - --- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm 43 - +++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm 44 - @@ -66,28 +66,51 @@ 45 - * ScrollView, we force it to be centered, but when you zoom or the content otherwise 46 - * becomes larger than the ScrollView, there is no padding around the content but it 47 - * can still fill the whole view. 48 - + * This implementation is based on https://petersteinberger.com/blog/2013/how-to-center-uiscrollview/. 49 - */ 50 - -- (void)setContentOffset:(CGPoint)contentOffset 51 - +-(void)centerContentIfNeeded 52 - { 53 - - if (_isSetContentOffsetDisabled) { 54 - + if (!_centerContent) { 55 - return; 56 - } 57 - 58 - - if (_centerContent && !CGSizeEqualToSize(self.contentSize, CGSizeZero)) { 59 - - CGSize scrollViewSize = self.bounds.size; 60 - - if (self.contentSize.width <= scrollViewSize.width) { 61 - - contentOffset.x = -(scrollViewSize.width - self.contentSize.width) / 2.0; 62 - - } 63 - - if (self.contentSize.height <= scrollViewSize.height) { 64 - - contentOffset.y = -(scrollViewSize.height - self.contentSize.height) / 2.0; 65 - - } 66 - + CGSize contentSize = self.contentSize; 67 - + CGSize boundsSize = self.bounds.size; 68 - + if (CGSizeEqualToSize(contentSize, CGSizeZero) || 69 - + CGSizeEqualToSize(boundsSize, CGSizeZero)) { 70 - + return; 71 - } 72 - 73 - + CGFloat top = 0, left = 0; 74 - + if (contentSize.width < boundsSize.width) { 75 - + left = (boundsSize.width - contentSize.width) * 0.5f; 76 - + } 77 - + if (contentSize.height < boundsSize.height) { 78 - + top = (boundsSize.height - contentSize.height) * 0.5f; 79 - + } 80 - + self.contentInset = UIEdgeInsetsMake(top, left, top, left); 81 - +} 82 - + 83 - +- (void)setContentOffset:(CGPoint)contentOffset 84 - +{ 85 - + if (_isSetContentOffsetDisabled) { 86 - + return; 87 - + } 88 - super.contentOffset = CGPointMake( 89 - RCTSanitizeNaNValue(contentOffset.x, @"scrollView.contentOffset.x"), 90 - RCTSanitizeNaNValue(contentOffset.y, @"scrollView.contentOffset.y")); 91 - } 92 - 93 - +- (void)setFrame:(CGRect)frame { 94 - + [super setFrame:frame]; 95 - + [self centerContentIfNeeded]; 96 - +} 97 - + 98 - +- (void)didAddSubview:(UIView *)subview { 99 - + [super didAddSubview:subview]; 100 - + [self centerContentIfNeeded]; 101 - +} 102 - + 103 - - (BOOL)touchesShouldCancelInContentView:(UIView *)view 104 - { 105 - if ([_overridingDelegate respondsToSelector:@selector(touchesShouldCancelInContentView:)]) { 106 - @@ -257,6 +280,10 @@ 107 - } 108 - } 109 - 110 - +- (void)scrollViewDidZoom:(__unused UIScrollView *)scrollView { 111 - + [self centerContentIfNeeded]; 112 - +} 113 - + 114 - #pragma mark - 115 - 116 - - (BOOL)isHorizontal:(UIScrollView *)scrollView 117 - diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 118 - index e9b330f..ec5f58c 100644 119 - --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 120 - +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 121 - @@ -15,5 +15,8 @@ 122 - @property (nonatomic, copy) NSString *title; 123 - @property (nonatomic, copy) RCTDirectEventBlock onRefresh; 124 - @property (nonatomic, weak) UIScrollView *scrollView; 125 - +@property (nonatomic, copy) UIColor *customTintColor; 126 - + 127 - +- (void)forwarderBeginRefreshing; 128 - 129 - @end 130 - diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 131 - index 53bfd04..ff1b1ed 100644 132 - --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 133 - +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 134 - @@ -23,6 +23,7 @@ 135 - UIColor *_titleColor; 136 - CGFloat _progressViewOffset; 137 - BOOL _hasMovedToWindow; 138 - + UIColor *_customTintColor; 139 - } 140 - 141 - - (instancetype)init 142 - @@ -58,6 +59,12 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : (NSCoder *)aDecoder) 143 - _isInitialRender = false; 144 - } 145 - 146 - +- (void)didMoveToSuperview 147 - +{ 148 - + [super didMoveToSuperview]; 149 - + [self setTintColor:_customTintColor]; 150 - +} 151 - + 152 - - (void)didMoveToWindow 153 - { 154 - [super didMoveToWindow]; 155 - @@ -221,4 +228,50 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : (NSCoder *)aDecoder) 156 - } 157 - } 158 - 159 - +// Fix for https://github.com/facebook/react-native/issues/43388 160 - +// A bug in iOS 17.4 causes the haptic to not play when refreshing if the tintColor 161 - +// is set before the refresh control gets added to the scrollview. We'll call this 162 - +// function whenever the superview changes. We'll also call it if the value of customTintColor 163 - +// changes. 164 - +- (void)setTintColor:(UIColor *)tintColor 165 - +{ 166 - + if ([self.superview isKindOfClass:[UIScrollView class]] && self.tintColor != tintColor) { 167 - + [super setTintColor:tintColor]; 168 - + } 169 - +} 170 - + 171 - +// This method is used by Bluesky's ExpoScrollForwarder. This allows other React Native 172 - +// libraries to perform a refresh of a scrollview and access the refresh control's onRefresh 173 - +// function. 174 - +- (void)forwarderBeginRefreshing 175 - +{ 176 - + _refreshingProgrammatically = NO; 177 - + 178 - + [self sizeToFit]; 179 - + 180 - + if (!self.scrollView) { 181 - + return; 182 - + } 183 - + 184 - + UIScrollView *scrollView = (UIScrollView *)self.scrollView; 185 - + 186 - + [UIView animateWithDuration:0.3 187 - + delay:0 188 - + options:UIViewAnimationOptionBeginFromCurrentState 189 - + animations:^(void) { 190 - + // Whenever we call this method, the scrollview will always be at a position of 191 - + // -130 or less. Scrolling back to -65 simulates the default behavior of RCTRefreshControl 192 - + [scrollView setContentOffset:CGPointMake(0, -65)]; 193 - + } 194 - + completion:^(__unused BOOL finished) { 195 - + [super beginRefreshing]; 196 - + [self setCurrentRefreshingState:super.refreshing]; 197 - + 198 - + if (self->_onRefresh) { 199 - + self->_onRefresh(nil); 200 - + } 201 - + } 202 - + ]; 203 - +} 204 - + 205 - @end 206 - diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 207 - index 40aaf9c..1c60164 100644 208 - --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 209 - +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 210 - @@ -22,11 +22,12 @@ RCT_EXPORT_MODULE() 211 - 212 - RCT_EXPORT_VIEW_PROPERTY(onRefresh, RCTDirectEventBlock) 213 - RCT_EXPORT_VIEW_PROPERTY(refreshing, BOOL) 214 - -RCT_EXPORT_VIEW_PROPERTY(tintColor, UIColor) 215 - RCT_EXPORT_VIEW_PROPERTY(title, NSString) 216 - RCT_EXPORT_VIEW_PROPERTY(titleColor, UIColor) 217 - RCT_EXPORT_VIEW_PROPERTY(progressViewOffset, CGFloat) 218 - 219 - +RCT_REMAP_VIEW_PROPERTY(tintColor, customTintColor, UIColor) 220 - + 221 - RCT_EXPORT_METHOD(setNativeRefreshing : (nonnull NSNumber *)viewTag toRefreshing : (BOOL)refreshing) 222 - { 223 - [self.bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) { 224 - diff --git a/node_modules/react-native/React/Views/ScrollView/RCTScrollView.m b/node_modules/react-native/React/Views/ScrollView/RCTScrollView.m 225 - index 6f41b5c..9b4f77f 100644 226 - --- a/node_modules/react-native/React/Views/ScrollView/RCTScrollView.m 227 - +++ b/node_modules/react-native/React/Views/ScrollView/RCTScrollView.m 228 - @@ -159,26 +159,8 @@ 229 - return !shouldDisableScrollInteraction; 230 - } 231 - 232 - -/* 233 - - * Automatically centers the content such that if the content is smaller than the 234 - - * ScrollView, we force it to be centered, but when you zoom or the content otherwise 235 - - * becomes larger than the ScrollView, there is no padding around the content but it 236 - - * can still fill the whole view. 237 - - */ 238 - - (void)setContentOffset:(CGPoint)contentOffset 239 - { 240 - - UIView *contentView = [self contentView]; 241 - - if (contentView && _centerContent && !CGSizeEqualToSize(contentView.frame.size, CGSizeZero)) { 242 - - CGSize subviewSize = contentView.frame.size; 243 - - CGSize scrollViewSize = self.bounds.size; 244 - - if (subviewSize.width <= scrollViewSize.width) { 245 - - contentOffset.x = -(scrollViewSize.width - subviewSize.width) / 2.0; 246 - - } 247 - - if (subviewSize.height <= scrollViewSize.height) { 248 - - contentOffset.y = -(scrollViewSize.height - subviewSize.height) / 2.0; 249 - - } 250 - - } 251 - - 252 - super.contentOffset = CGPointMake( 253 - RCTSanitizeNaNValue(contentOffset.x, @"scrollView.contentOffset.x"), 254 - RCTSanitizeNaNValue(contentOffset.y, @"scrollView.contentOffset.y")); 255 - @@ -433,6 +415,11 @@ static inline void RCTApplyTransformationAccordingLayoutDirection( 256 - // Does nothing 257 - } 258 - 259 - +- (void)setFrame:(CGRect)frame { 260 - + [super setFrame:frame]; 261 - + [self centerContentIfNeeded]; 262 - +} 263 - + 264 - - (void)insertReactSubview:(UIView *)view atIndex:(NSInteger)atIndex 265 - { 266 - [super insertReactSubview:view atIndex:atIndex]; 267 - @@ -449,6 +436,8 @@ static inline void RCTApplyTransformationAccordingLayoutDirection( 268 - _contentView = view; 269 - RCTApplyTransformationAccordingLayoutDirection(_contentView, self.reactLayoutDirection); 270 - [_scrollView addSubview:view]; 271 - + 272 - + [self centerContentIfNeeded]; 273 - } 274 - } 275 - 276 - @@ -658,9 +647,46 @@ static inline void RCTApplyTransformationAccordingLayoutDirection( 277 - } 278 - 279 - RCT_SCROLL_EVENT_HANDLER(scrollViewWillBeginDecelerating, onMomentumScrollBegin) 280 - -RCT_SCROLL_EVENT_HANDLER(scrollViewDidZoom, onScroll) 281 - RCT_SCROLL_EVENT_HANDLER(scrollViewDidScrollToTop, onScrollToTop) 282 - 283 - +-(void)scrollViewDidZoom : (UIScrollView *)scrollView 284 - +{ 285 - + [self centerContentIfNeeded]; 286 - + 287 - + RCT_SEND_SCROLL_EVENT(onScroll, nil); 288 - + RCT_FORWARD_SCROLL_EVENT(scrollViewDidZoom : scrollView); 289 - +} 290 - + 291 - +/* 292 - + * Automatically centers the content such that if the content is smaller than the 293 - + * ScrollView, we force it to be centered, but when you zoom or the content otherwise 294 - + * becomes larger than the ScrollView, there is no padding around the content but it 295 - + * can still fill the whole view. 296 - + * This implementation is based on https://petersteinberger.com/blog/2013/how-to-center-uiscrollview/. 297 - + */ 298 - +-(void)centerContentIfNeeded 299 - +{ 300 - + if (!_scrollView.centerContent) { 301 - + return; 302 - + } 303 - + 304 - + CGSize contentSize = self.contentSize; 305 - + CGSize boundsSize = self.bounds.size; 306 - + if (CGSizeEqualToSize(contentSize, CGSizeZero) || 307 - + CGSizeEqualToSize(boundsSize, CGSizeZero)) { 308 - + return; 309 - + } 310 - + 311 - + CGFloat top = 0, left = 0; 312 - + if (contentSize.width < boundsSize.width) { 313 - + left = (boundsSize.width - contentSize.width) * 0.5f; 314 - + } 315 - + if (contentSize.height < boundsSize.height) { 316 - + top = (boundsSize.height - contentSize.height) * 0.5f; 317 - + } 318 - + _scrollView.contentInset = UIEdgeInsetsMake(top, left, top, left); 319 - +} 320 - + 321 - - (void)addScrollListener:(NSObject<UIScrollViewDelegate> *)scrollListener 322 - { 323 - [_scrollListeners addObject:scrollListener]; 324 - @@ -939,6 +965,7 @@ RCT_SCROLL_EVENT_HANDLER(scrollViewDidScrollToTop, onScrollToTop) 325 - CGSize contentSize = self.contentSize; 326 - if (!CGSizeEqualToSize(_scrollView.contentSize, contentSize)) { 327 - _scrollView.contentSize = contentSize; 328 - + [self centerContentIfNeeded]; 329 - } 330 - } 331 - 332 - @@ -1061,6 +1088,22 @@ RCT_SET_AND_PRESERVE_OFFSET(setShowsHorizontalScrollIndicator, showsHorizontalSc 333 - RCT_SET_AND_PRESERVE_OFFSET(setShowsVerticalScrollIndicator, showsVerticalScrollIndicator, BOOL) 334 - RCT_SET_AND_PRESERVE_OFFSET(setZoomScale, zoomScale, CGFloat); 335 - 336 - +- (void)setScrollIndicatorInsets:(UIEdgeInsets)value 337 - +{ 338 - + [_scrollView setScrollIndicatorInsets:value]; 339 - +} 340 - + 341 - +- (UIEdgeInsets)scrollIndicatorInsets 342 - +{ 343 - + UIEdgeInsets verticalScrollIndicatorInsets = [_scrollView verticalScrollIndicatorInsets]; 344 - + UIEdgeInsets horizontalScrollIndicatorInsets = [_scrollView horizontalScrollIndicatorInsets]; 345 - + return UIEdgeInsetsMake( 346 - + verticalScrollIndicatorInsets.top, 347 - + horizontalScrollIndicatorInsets.left, 348 - + verticalScrollIndicatorInsets.bottom, 349 - + horizontalScrollIndicatorInsets.right); 350 - +} 351 - + 352 - - (void)setAutomaticallyAdjustsScrollIndicatorInsets:(BOOL)automaticallyAdjusts API_AVAILABLE(ios(13.0)) 353 - { 354 - // `automaticallyAdjustsScrollIndicatorInsets` is available since iOS 13. 355 - diff --git a/node_modules/react-native/React/Views/ScrollView/RCTScrollViewManager.m b/node_modules/react-native/React/Views/ScrollView/RCTScrollViewManager.m 356 - index cd1e7eb..c1d0172 100644 357 - --- a/node_modules/react-native/React/Views/ScrollView/RCTScrollViewManager.m 358 - +++ b/node_modules/react-native/React/Views/ScrollView/RCTScrollViewManager.m 359 - @@ -83,6 +83,7 @@ RCT_EXPORT_VIEW_PROPERTY(showsVerticalScrollIndicator, BOOL) 360 - RCT_EXPORT_VIEW_PROPERTY(scrollEventThrottle, NSTimeInterval) 361 - RCT_EXPORT_VIEW_PROPERTY(zoomScale, CGFloat) 362 - RCT_EXPORT_VIEW_PROPERTY(contentInset, UIEdgeInsets) 363 - +RCT_EXPORT_VIEW_PROPERTY(scrollIndicatorInsets, UIEdgeInsets) 364 - RCT_EXPORT_VIEW_PROPERTY(verticalScrollIndicatorInsets, UIEdgeInsets) 365 - RCT_EXPORT_VIEW_PROPERTY(scrollToOverflowEnabled, BOOL) 366 - RCT_EXPORT_VIEW_PROPERTY(snapToInterval, int)
···
+119
patches/react-native+0.79.2.patch
···
··· 1 + diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 2 + index e9b330f..ec5f58c 100644 3 + --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 4 + +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 5 + @@ -15,5 +15,8 @@ 6 + @property (nonatomic, copy) NSString *title; 7 + @property (nonatomic, copy) RCTDirectEventBlock onRefresh; 8 + @property (nonatomic, weak) UIScrollView *scrollView; 9 + +@property (nonatomic, copy) UIColor *customTintColor; 10 + + 11 + +- (void)forwarderBeginRefreshing; 12 + 13 + @end 14 + diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 15 + index 53bfd04..ff1b1ed 100644 16 + --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 17 + +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 18 + @@ -23,6 +23,7 @@ 19 + UIColor *_titleColor; 20 + CGFloat _progressViewOffset; 21 + BOOL _hasMovedToWindow; 22 + + UIColor *_customTintColor; 23 + } 24 + 25 + - (instancetype)init 26 + @@ -58,6 +59,12 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : (NSCoder *)aDecoder) 27 + _isInitialRender = false; 28 + } 29 + 30 + +- (void)didMoveToSuperview 31 + +{ 32 + + [super didMoveToSuperview]; 33 + + [self setTintColor:_customTintColor]; 34 + +} 35 + + 36 + - (void)didMoveToWindow 37 + { 38 + [super didMoveToWindow]; 39 + @@ -221,4 +228,50 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithCoder : (NSCoder *)aDecoder) 40 + } 41 + } 42 + 43 + +// Fix for https://github.com/facebook/react-native/issues/43388 44 + +// A bug in iOS 17.4 causes the haptic to not play when refreshing if the tintColor 45 + +// is set before the refresh control gets added to the scrollview. We'll call this 46 + +// function whenever the superview changes. We'll also call it if the value of customTintColor 47 + +// changes. 48 + +- (void)setTintColor:(UIColor *)tintColor 49 + +{ 50 + + if ([self.superview isKindOfClass:[UIScrollView class]] && self.tintColor != tintColor) { 51 + + [super setTintColor:tintColor]; 52 + + } 53 + +} 54 + + 55 + +// This method is used by Bluesky's ExpoScrollForwarder. This allows other React Native 56 + +// libraries to perform a refresh of a scrollview and access the refresh control's onRefresh 57 + +// function. 58 + +- (void)forwarderBeginRefreshing 59 + +{ 60 + + _refreshingProgrammatically = NO; 61 + + 62 + + [self sizeToFit]; 63 + + 64 + + if (!self.scrollView) { 65 + + return; 66 + + } 67 + + 68 + + UIScrollView *scrollView = (UIScrollView *)self.scrollView; 69 + + 70 + + [UIView animateWithDuration:0.3 71 + + delay:0 72 + + options:UIViewAnimationOptionBeginFromCurrentState 73 + + animations:^(void) { 74 + + // Whenever we call this method, the scrollview will always be at a position of 75 + + // -130 or less. Scrolling back to -65 simulates the default behavior of RCTRefreshControl 76 + + [scrollView setContentOffset:CGPointMake(0, -65)]; 77 + + } 78 + + completion:^(__unused BOOL finished) { 79 + + [super beginRefreshing]; 80 + + [self setCurrentRefreshingState:super.refreshing]; 81 + + 82 + + if (self->_onRefresh) { 83 + + self->_onRefresh(nil); 84 + + } 85 + + } 86 + + ]; 87 + +} 88 + + 89 + @end 90 + diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 91 + index 40aaf9c..1c60164 100644 92 + --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 93 + +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 94 + @@ -22,11 +22,12 @@ RCT_EXPORT_MODULE() 95 + 96 + RCT_EXPORT_VIEW_PROPERTY(onRefresh, RCTDirectEventBlock) 97 + RCT_EXPORT_VIEW_PROPERTY(refreshing, BOOL) 98 + -RCT_EXPORT_VIEW_PROPERTY(tintColor, UIColor) 99 + RCT_EXPORT_VIEW_PROPERTY(title, NSString) 100 + RCT_EXPORT_VIEW_PROPERTY(titleColor, UIColor) 101 + RCT_EXPORT_VIEW_PROPERTY(progressViewOffset, CGFloat) 102 + 103 + +RCT_REMAP_VIEW_PROPERTY(tintColor, customTintColor, UIColor) 104 + + 105 + RCT_EXPORT_METHOD(setNativeRefreshing : (nonnull NSNumber *)viewTag toRefreshing : (BOOL)refreshing) 106 + { 107 + [self.bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) { 108 + diff --git a/node_modules/react-native/React/Views/ScrollView/RCTScrollViewManager.m b/node_modules/react-native/React/Views/ScrollView/RCTScrollViewManager.m 109 + index cd1e7eb..c1d0172 100644 110 + --- a/node_modules/react-native/React/Views/ScrollView/RCTScrollViewManager.m 111 + +++ b/node_modules/react-native/React/Views/ScrollView/RCTScrollViewManager.m 112 + @@ -83,6 +83,7 @@ RCT_EXPORT_VIEW_PROPERTY(showsVerticalScrollIndicator, BOOL) 113 + RCT_EXPORT_VIEW_PROPERTY(scrollEventThrottle, NSTimeInterval) 114 + RCT_EXPORT_VIEW_PROPERTY(zoomScale, CGFloat) 115 + RCT_EXPORT_VIEW_PROPERTY(contentInset, UIEdgeInsets) 116 + +RCT_EXPORT_VIEW_PROPERTY(scrollIndicatorInsets, UIEdgeInsets) 117 + RCT_EXPORT_VIEW_PROPERTY(verticalScrollIndicatorInsets, UIEdgeInsets) 118 + RCT_EXPORT_VIEW_PROPERTY(scrollToOverflowEnabled, BOOL) 119 + RCT_EXPORT_VIEW_PROPERTY(snapToInterval, int)
patches/react-native-gesture-handler+2.20.2.patch patches/react-native-gesture-handler+2.25.0.patch
+10 -9
patches/react-native-image-crop-picker+0.41.6.patch patches/react-native-image-crop-picker+0.42.0.patch
··· 1 diff --git a/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml b/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml 2 - index 391f303..8e2c3db 100644 3 --- a/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml 4 +++ b/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml 5 @@ -24,7 +24,7 @@ ··· 8 android:name="com.yalantis.ucrop.UCropActivity" 9 - android:theme="@style/Theme.AppCompat.Light.NoActionBar" /> 10 + android:theme="@style/Theme.UCropNoEdgeToEdge" /> 11 - </application> 12 13 - </manifest> 14 diff --git a/node_modules/react-native-image-crop-picker/android/src/main/res/values-v35/styles.xml b/node_modules/react-native-image-crop-picker/android/src/main/res/values-v35/styles.xml 15 new file mode 100644 16 - index 0000000..396d5a8 17 --- /dev/null 18 +++ b/node_modules/react-native-image-crop-picker/android/src/main/res/values-v35/styles.xml 19 @@ -0,0 +1,5 @@ ··· 22 + <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item> 23 + </style> 24 +</resources> 25 diff --git a/node_modules/react-native-image-crop-picker/android/src/main/res/values/styles.xml b/node_modules/react-native-image-crop-picker/android/src/main/res/values/styles.xml 26 new file mode 100644 27 - index 0000000..50129b6 28 --- /dev/null 29 +++ b/node_modules/react-native-image-crop-picker/android/src/main/res/values/styles.xml 30 @@ -0,0 +1,3 @@ 31 +<resources> 32 + <style name="Theme.UCropNoEdgeToEdge" parent="Theme.AppCompat.Light.NoActionBar"/> 33 +</resources> 34 diff --git a/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m b/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m 35 - index 9f20973..68d4766 100644 36 --- a/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m 37 +++ b/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m 38 - @@ -126,7 +126,8 @@ - (void) setConfiguration:(NSDictionary *)options 39 40 - (UIViewController*) getRootVC { 41 UIViewController *root = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; 42 - while (root.presentedViewController != nil) { 43 - + while (root.presentedViewController != nil && 44 - + !root.presentedViewController.isBeingDismissed) { 45 root = root.presentedViewController; 46 } 47
··· 1 diff --git a/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml b/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml 2 + index a08629b..fab6299 100644 3 --- a/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml 4 +++ b/node_modules/react-native-image-crop-picker/android/src/main/AndroidManifest.xml 5 @@ -24,7 +24,7 @@ ··· 8 android:name="com.yalantis.ucrop.UCropActivity" 9 - android:theme="@style/Theme.AppCompat.Light.NoActionBar" /> 10 + android:theme="@style/Theme.UCropNoEdgeToEdge" /> 11 + 12 13 + <!-- Prompt Google Play services to install the backported photo picker module --> 14 diff --git a/node_modules/react-native-image-crop-picker/android/src/main/res/values-v35/styles.xml b/node_modules/react-native-image-crop-picker/android/src/main/res/values-v35/styles.xml 15 new file mode 100644 16 + index 0000000..5301f74 17 --- /dev/null 18 +++ b/node_modules/react-native-image-crop-picker/android/src/main/res/values-v35/styles.xml 19 @@ -0,0 +1,5 @@ ··· 22 + <item name="android:windowOptOutEdgeToEdgeEnforcement">true</item> 23 + </style> 24 +</resources> 25 + \ No newline at end of file 26 diff --git a/node_modules/react-native-image-crop-picker/android/src/main/res/values/styles.xml b/node_modules/react-native-image-crop-picker/android/src/main/res/values/styles.xml 27 new file mode 100644 28 + index 0000000..55569aa 29 --- /dev/null 30 +++ b/node_modules/react-native-image-crop-picker/android/src/main/res/values/styles.xml 31 @@ -0,0 +1,3 @@ 32 +<resources> 33 + <style name="Theme.UCropNoEdgeToEdge" parent="Theme.AppCompat.Light.NoActionBar"/> 34 +</resources> 35 + \ No newline at end of file 36 diff --git a/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m b/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m 37 + index 9f20973..c414a7a 100644 38 --- a/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m 39 +++ b/node_modules/react-native-image-crop-picker/ios/src/ImageCropPicker.m 40 + @@ -126,7 +126,7 @@ - (void) setConfiguration:(NSDictionary *)options 41 42 - (UIViewController*) getRootVC { 43 UIViewController *root = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; 44 - while (root.presentedViewController != nil) { 45 + + while (root.presentedViewController != nil && !root.presentedViewController.isBeingDismissed) { 46 root = root.presentedViewController; 47 } 48
+44
patches/react-native-reanimated+3.17.5.patch
···
··· 1 + diff --git a/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.cpp b/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.cpp 2 + index eae3989..432745a 100644 3 + --- a/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.cpp 4 + +++ b/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.cpp 5 + @@ -416,6 +416,10 @@ void NativeProxy::progressLayoutAnimation( 6 + tag, newPropsJNI, isSharedTransition); 7 + } 8 + 9 + +void NativeProxy::endLayoutAnimation(int tag, bool shouldRemove) { 10 + + layoutAnimations_->cthis()->endLayoutAnimation(tag, shouldRemove); 11 + +} 12 + + 13 + PlatformDepMethodsHolder NativeProxy::getPlatformDependentMethods() { 14 + #ifdef RCT_NEW_ARCH_ENABLED 15 + // nothing 16 + @@ -455,14 +459,7 @@ PlatformDepMethodsHolder NativeProxy::getPlatformDependentMethods() { 17 + auto progressLayoutAnimation = 18 + bindThis(&NativeProxy::progressLayoutAnimation); 19 + 20 + - auto endLayoutAnimation = [weakThis = weak_from_this()]( 21 + - int tag, bool removeView) { 22 + - auto strongThis = weakThis.lock(); 23 + - if (!strongThis) { 24 + - return; 25 + - } 26 + - strongThis->layoutAnimations_->cthis()->endLayoutAnimation(tag, removeView); 27 + - }; 28 + + auto endLayoutAnimation = bindThis(&NativeProxy::endLayoutAnimation); 29 + 30 + auto maybeFlushUiUpdatesQueueFunction = 31 + bindThis(&NativeProxy::maybeFlushUIUpdatesQueue); 32 + diff --git a/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.h b/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.h 33 + index 2ee2cc8..2edb5c9 100644 34 + --- a/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.h 35 + +++ b/node_modules/react-native-reanimated/android/src/main/cpp/reanimated/android/NativeProxy.h 36 + @@ -234,6 +234,8 @@ class NativeProxy : public jni::HybridClass<NativeProxy>, 37 + const jsi::Object &newProps, 38 + bool isSharedTransition); 39 + 40 + + void endLayoutAnimation(int tag, bool shouldRemove); 41 + + 42 + /*** 43 + * Wraps a method of `NativeProxy` in a function object capturing `this` 44 + * @tparam TReturn return type of passed method
patches/react-native-svg+15.8.0.patch patches/react-native-svg+15.11.2.patch
+23 -23
plugins/withAppDelegateReferrer.js
··· 1 const {withAppDelegate} = require('@expo/config-plugins') 2 const {mergeContents} = require('@expo/config-plugins/build/utils/generateCode') 3 - const path = require('path') 4 - const fs = require('fs') 5 6 - module.exports = config => { 7 - // eslint-disable-next-line no-shadow 8 - return withAppDelegate(config, async config => { 9 - const delegatePath = path.join( 10 - config.modRequest.platformProjectRoot, 11 - 'AppDelegate.mm', 12 - ) 13 14 - let newContents = config.modResults.contents 15 - newContents = mergeContents({ 16 - src: newContents, 17 anchor: '// Linking API', 18 newSrc: ` 19 - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 20 - [defaults setObject:options[UIApplicationOpenURLOptionsSourceApplicationKey] forKey:@"referrerApp"];\n`, 21 - offset: 2, 22 tag: 'referrer info - deep links', 23 comment: '//', 24 }).contents 25 26 - newContents = mergeContents({ 27 - src: newContents, 28 anchor: '// Universal Links', 29 newSrc: ` 30 - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 31 - [defaults setURL:userActivity.referrerURL forKey:@"referrer"];\n`, 32 - offset: 2, 33 tag: 'referrer info - universal links', 34 comment: '//', 35 }).contents 36 37 - config.modResults.contents = newContents 38 - 39 return config 40 }) 41 - }
··· 1 const {withAppDelegate} = require('@expo/config-plugins') 2 const {mergeContents} = require('@expo/config-plugins/build/utils/generateCode') 3 4 + module.exports = config => 5 + withAppDelegate(config, config => { 6 + let contents = config.modResults.contents 7 8 + contents = mergeContents({ 9 + src: contents, 10 anchor: '// Linking API', 11 newSrc: ` 12 + // @generated begin referrer info – deep links 13 + let defaults = UserDefaults.standard 14 + defaults.set( 15 + options[.sourceApplication] as? String, 16 + forKey: "referrerApp" 17 + ) 18 + // @generated end referrer info – deep links 19 + `, 20 + offset: 6, 21 tag: 'referrer info - deep links', 22 comment: '//', 23 }).contents 24 25 + contents = mergeContents({ 26 + src: contents, 27 anchor: '// Universal Links', 28 newSrc: ` 29 + // @generated begin referrer info – universal links 30 + let defaults = UserDefaults.standard 31 + defaults.set(userActivity.referrerURL, forKey: "referrer") 32 + // @generated end referrer info – universal links 33 + `, 34 + offset: 6, 35 tag: 'referrer info - universal links', 36 comment: '//', 37 }).contents 38 39 + config.modResults.contents = contents 40 return config 41 })
-70
plugins/withNoBundleCompression.js
··· 1 - const {withAppBuildGradle} = require('@expo/config-plugins') 2 - 3 - /** 4 - * A Config Plugin to disable bundle compression in Android build.gradle. 5 - * @param {import('@expo/config-plugins').ConfigPlugin} config 6 - * @returns {import('@expo/config-plugins').ConfigPlugin} 7 - */ 8 - module.exports = function withNoBundleCompression(config) { 9 - return withAppBuildGradle(config, androidConfig => { 10 - let buildGradle = androidConfig.modResults.contents 11 - 12 - const hasAndroidResources = buildGradle.includes('androidResources {') 13 - const hasNoCompress = buildGradle.includes('noCompress') 14 - 15 - if (hasAndroidResources) { 16 - if (hasNoCompress) { 17 - if ( 18 - buildGradle.includes('noCompress += ["bundle"]') || 19 - buildGradle.includes("noCompress += 'bundle'") || 20 - buildGradle.includes('noCompress += "bundle"') 21 - ) { 22 - return androidConfig 23 - } 24 - 25 - const lines = buildGradle.split('\n') 26 - const modifiedLines = lines.map(line => { 27 - if (line.trim().startsWith('noCompress')) { 28 - if (line.includes('+=')) { 29 - return line.replace(/\]/, ', "bundle"]') 30 - } else if (line.includes('=')) { 31 - return line.replace('=', '+= ["bundle",') + ']' 32 - } 33 - } 34 - return line 35 - }) 36 - androidConfig.modResults.contents = modifiedLines.join('\n') 37 - } else { 38 - const androidResources = buildGradle.indexOf('androidResources {') 39 - if (androidResources === -1) { 40 - throw new Error( 41 - `Cannot find androidResources { block in build.gradle!`, 42 - ) 43 - } 44 - const insertPosition = buildGradle.indexOf('\n', androidResources) + 1 45 - const newContent = 46 - buildGradle.slice(0, insertPosition) + 47 - ' noCompress += ["bundle"]\n' + 48 - buildGradle.slice(insertPosition) 49 - 50 - androidConfig.modResults.contents = newContent 51 - } 52 - } else { 53 - const androidBlock = buildGradle.indexOf('android {') 54 - if (androidBlock === -1) { 55 - throw new Error(`Cannot find android { block in build.gradle!`) 56 - } 57 - const insertPosition = buildGradle.indexOf('\n', androidBlock) + 1 58 - const newContent = 59 - buildGradle.slice(0, insertPosition) + 60 - ' androidResources {\n' + 61 - ' noCompress += ["bundle"]\n' + 62 - ' }\n' + 63 - buildGradle.slice(insertPosition) 64 - 65 - androidConfig.modResults.contents = newContent 66 - } 67 - 68 - return androidConfig 69 - }) 70 - }
···
-1
src/App.native.tsx
··· 1 - import 'react-native-url-polyfill/auto' 2 import '#/logger/sentry/setup' 3 import '#/logger/bitdrift/setup' 4 import '#/view/icons'
··· 1 import '#/logger/sentry/setup' 2 import '#/logger/bitdrift/setup' 3 import '#/view/icons'
+2 -2
src/alf/atoms.ts
··· 951 userSelect: 'all', 952 }, 953 outline_inset_1: { 954 - outlineOffset: '-1px', 955 - } as StyleProp<ViewStyle>, 956 957 /* 958 * Text decoration
··· 951 userSelect: 'all', 952 }, 953 outline_inset_1: { 954 + outlineOffset: -1, 955 + }, 956 957 /* 958 * Text decoration
+9 -5
src/alf/typography.tsx
··· 1 - import React, {Children} from 'react' 2 - import {TextProps as RNTextProps} from 'react-native' 3 - import {StyleProp, TextStyle} from 'react-native' 4 import {UITextView} from 'react-native-uitextview' 5 import createEmojiRegex from 'emoji-regex' 6 7 import {isNative} from '#/platform/detection' 8 import {isIOS} from '#/platform/detection' 9 - import {Alf, applyFonts, atoms, flatten} from '#/alf' 10 11 /** 12 * Util to calculate lineHeight from a text size atom and a leading atom ··· 110 return child.split(EMOJI).map((stringPart, index) => [ 111 stringPart, 112 emojis[index] ? ( 113 - <UITextView {...props} style={[props?.style, {fontFamily: 'System'}]}> 114 {emojis[index]} 115 </UITextView> 116 ) : null,
··· 1 + import {Children} from 'react' 2 + import {type TextProps as RNTextProps} from 'react-native' 3 + import {type StyleProp, type TextStyle} from 'react-native' 4 import {UITextView} from 'react-native-uitextview' 5 import createEmojiRegex from 'emoji-regex' 6 + import type React from 'react' 7 8 import {isNative} from '#/platform/detection' 9 import {isIOS} from '#/platform/detection' 10 + import {type Alf, applyFonts, atoms, flatten} from '#/alf' 11 12 /** 13 * Util to calculate lineHeight from a text size atom and a leading atom ··· 111 return child.split(EMOJI).map((stringPart, index) => [ 112 stringPart, 113 emojis[index] ? ( 114 + <UITextView 115 + {...props} 116 + style={[props?.style, {fontFamily: 'System'}]} 117 + key={index}> 118 {emojis[index]} 119 </UITextView> 120 ) : null,
+2 -1
src/components/StarterPack/ProfileStarterPacks.tsx
··· 23 import {type NavigationProp} from '#/lib/routes/types' 24 import {parseStarterPackUri} from '#/lib/strings/starter-pack' 25 import {logger} from '#/logger' 26 import {useActorStarterPacksQuery} from '#/state/queries/actor-starter-packs' 27 import {List, type ListRef} from '#/view/com/util/List' 28 import {FeedLoadingPlaceholder} from '#/view/com/util/LoadingPlaceholder' ··· 111 }, [isFetchingNextPage, hasNextPage, isError, fetchNextPage]) 112 113 useEffect(() => { 114 - if (enabled && scrollElRef.current) { 115 const nativeTag = findNodeHandle(scrollElRef.current) 116 setScrollViewTag(nativeTag) 117 }
··· 23 import {type NavigationProp} from '#/lib/routes/types' 24 import {parseStarterPackUri} from '#/lib/strings/starter-pack' 25 import {logger} from '#/logger' 26 + import {isIOS} from '#/platform/detection' 27 import {useActorStarterPacksQuery} from '#/state/queries/actor-starter-packs' 28 import {List, type ListRef} from '#/view/com/util/List' 29 import {FeedLoadingPlaceholder} from '#/view/com/util/LoadingPlaceholder' ··· 112 }, [isFetchingNextPage, hasNextPage, isError, fetchNextPage]) 113 114 useEffect(() => { 115 + if (isIOS && enabled && scrollElRef.current) { 116 const nativeTag = findNodeHandle(scrollElRef.current) 117 setScrollViewTag(nativeTag) 118 }
+12 -17
src/components/dms/EmojiPopup.android.tsx
··· 1 import {useState} from 'react' 2 import {Modal, Pressable, View} from 'react-native' 3 - // @ts-expect-error internal component, not supposed to be used directly 4 - // waiting on more customisability: https://github.com/okwasniewski/react-native-emoji-popup/issues/1#issuecomment-2737463753 5 - import EmojiPopupView from 'react-native-emoji-popup/src/EmojiPopupViewNativeComponent' 6 import {msg, Trans} from '@lingui/macro' 7 import {useLingui} from '@lingui/react' 8 9 import {atoms as a, useTheme} from '#/alf' 10 import {Button, ButtonIcon} from '#/components/Button' 11 - import {TimesLarge_Stroke2_Corner0_Rounded} from '#/components/icons/Times' 12 import {Text} from '#/components/Typography' 13 14 export function EmojiPopup({ 15 children, ··· 34 35 <Modal 36 animationType="slide" 37 - transparent={true} 38 visible={modalVisible} 39 - onRequestClose={() => setModalVisible(false)}> 40 - <View style={[a.flex_1, {backgroundColor: t.palette.white}]}> 41 <View 42 style={[ 43 - t.atoms.bg, 44 a.pl_lg, 45 a.pr_md, 46 a.py_sm, ··· 61 variant="ghost" 62 color="secondary" 63 shape="round"> 64 - <ButtonIcon icon={TimesLarge_Stroke2_Corner0_Rounded} /> 65 </Button> 66 </View> 67 - <EmojiPopupView 68 - onEmojiSelected={({ 69 - nativeEvent: {emoji}, 70 - }: { 71 - nativeEvent: {emoji: string} 72 - }) => { 73 setModalVisible(false) 74 onEmojiSelected(emoji) 75 }} 76 - style={[a.flex_1, a.w_full]} 77 /> 78 - </View> 79 </Modal> 80 </> 81 )
··· 1 import {useState} from 'react' 2 import {Modal, Pressable, View} from 'react-native' 3 + import {SafeAreaView} from 'react-native-safe-area-context' 4 import {msg, Trans} from '@lingui/macro' 5 import {useLingui} from '@lingui/react' 6 7 import {atoms as a, useTheme} from '#/alf' 8 import {Button, ButtonIcon} from '#/components/Button' 9 + import {TimesLarge_Stroke2_Corner0_Rounded as CloseIcon} from '#/components/icons/Times' 10 import {Text} from '#/components/Typography' 11 + import {EmojiPicker} from '../../../modules/expo-emoji-picker' 12 13 export function EmojiPopup({ 14 children, ··· 33 34 <Modal 35 animationType="slide" 36 visible={modalVisible} 37 + onRequestClose={() => setModalVisible(false)} 38 + transparent 39 + statusBarTranslucent 40 + navigationBarTranslucent> 41 + <SafeAreaView style={[a.flex_1, t.atoms.bg]}> 42 <View 43 style={[ 44 a.pl_lg, 45 a.pr_md, 46 a.py_sm, ··· 61 variant="ghost" 62 color="secondary" 63 shape="round"> 64 + <ButtonIcon icon={CloseIcon} /> 65 </Button> 66 </View> 67 + <EmojiPicker 68 + onEmojiSelected={emoji => { 69 setModalVisible(false) 70 onEmojiSelected(emoji) 71 }} 72 /> 73 + </SafeAreaView> 74 </Modal> 75 </> 76 )
+1 -1
src/components/dms/EmojiPopup.tsx
··· 1 - export {EmojiPopup} from 'react-native-emoji-popup'
··· 1 + export {EmojiPicker as EmojiPopup} from '../../../modules/expo-emoji-picker'
+15 -15
src/lib/api/index.ts
··· 1 import { 2 - $Typed, 3 - AppBskyEmbedExternal, 4 - AppBskyEmbedImages, 5 - AppBskyEmbedRecord, 6 - AppBskyEmbedRecordWithMedia, 7 - AppBskyEmbedVideo, 8 - AppBskyFeedPost, 9 AtUri, 10 BlobRef, 11 - BskyAgent, 12 - ComAtprotoLabelDefs, 13 - ComAtprotoRepoApplyWrites, 14 - ComAtprotoRepoStrongRef, 15 RichText, 16 } from '@atproto/api' 17 import {TID} from '@atproto/common-web' 18 import * as dcbor from '@ipld/dag-cbor' 19 import {t} from '@lingui/macro' 20 - import {QueryClient} from '@tanstack/react-query' 21 import {sha256} from 'js-sha256' 22 import {CID} from 'multiformats/cid' 23 import * as Hasher from 'multiformats/hashes/hasher' ··· 35 threadgateAllowUISettingToAllowRecordValue, 36 } from '#/state/queries/threadgate' 37 import { 38 - EmbedDraft, 39 - PostDraft, 40 - ThreadDraft, 41 } from '#/view/com/composer/state/composer' 42 import {createGIFDescription} from '../gif-alt-text' 43 import {uploadBlob} from './upload-blob'
··· 1 import { 2 + type $Typed, 3 + type AppBskyEmbedExternal, 4 + type AppBskyEmbedImages, 5 + type AppBskyEmbedRecord, 6 + type AppBskyEmbedRecordWithMedia, 7 + type AppBskyEmbedVideo, 8 + type AppBskyFeedPost, 9 AtUri, 10 BlobRef, 11 + type BskyAgent, 12 + type ComAtprotoLabelDefs, 13 + type ComAtprotoRepoApplyWrites, 14 + type ComAtprotoRepoStrongRef, 15 RichText, 16 } from '@atproto/api' 17 import {TID} from '@atproto/common-web' 18 import * as dcbor from '@ipld/dag-cbor' 19 import {t} from '@lingui/macro' 20 + import {type QueryClient} from '@tanstack/react-query' 21 import {sha256} from 'js-sha256' 22 import {CID} from 'multiformats/cid' 23 import * as Hasher from 'multiformats/hashes/hasher' ··· 35 threadgateAllowUISettingToAllowRecordValue, 36 } from '#/state/queries/threadgate' 37 import { 38 + type EmbedDraft, 39 + type PostDraft, 40 + type ThreadDraft, 41 } from '#/view/com/composer/state/composer' 42 import {createGIFDescription} from '../gif-alt-text' 43 import {uploadBlob} from './upload-blob'
+4 -4
src/lib/hooks/useDraggableScrollView.ts
··· 1 - import {ForwardedRef, useEffect, useMemo, useRef} from 'react' 2 - import type {ScrollView} from 'react-native' 3 - import {findNodeHandle, Platform} from 'react-native' 4 5 import {mergeRefs} from '#/lib/merge-refs' 6 ··· 19 if (Platform.OS !== 'web' || !ref.current) { 20 return 21 } 22 - const slider = findNodeHandle(ref.current) as unknown as HTMLDivElement 23 if (!slider) { 24 return 25 }
··· 1 + import {type ForwardedRef, useEffect, useMemo, useRef} from 'react' 2 + import {type ScrollView} from 'react-native' 3 + import {Platform} from 'react-native' 4 5 import {mergeRefs} from '#/lib/merge-refs' 6 ··· 19 if (Platform.OS !== 'web' || !ref.current) { 20 return 21 } 22 + const slider = ref.current as unknown as HTMLDivElement 23 if (!slider) { 24 return 25 }
+8 -5
src/lib/hooks/useNotificationHandler.ts
··· 4 import {useQueryClient} from '@tanstack/react-query' 5 6 import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher' 7 - import {NavigationProp} from '#/lib/routes/types' 8 import {logEvent} from '#/lib/statsig/statsig' 9 import {Logger} from '#/logger' 10 import {isAndroid} from '#/platform/detection' ··· 41 } 42 43 const DEFAULT_HANDLER_OPTIONS = { 44 - shouldShowAlert: false, 45 shouldPlaySound: false, 46 shouldSetBadge: true, 47 - } 48 49 // These need to stay outside the hook to persist between account switches 50 let storedPayload: NotificationPayload | undefined ··· 195 payload.reason === 'chat-message' && 196 payload.recipientDid === currentAccount?.did 197 ) { 198 return { 199 - shouldShowAlert: payload.convoId !== currentConvoId, 200 shouldPlaySound: false, 201 shouldSetBadge: false, 202 - } 203 } 204 205 // Any notification other than a chat message should invalidate the unread page
··· 4 import {useQueryClient} from '@tanstack/react-query' 5 6 import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher' 7 + import {type NavigationProp} from '#/lib/routes/types' 8 import {logEvent} from '#/lib/statsig/statsig' 9 import {Logger} from '#/logger' 10 import {isAndroid} from '#/platform/detection' ··· 41 } 42 43 const DEFAULT_HANDLER_OPTIONS = { 44 + shouldShowBanner: false, 45 + shouldShowList: false, 46 shouldPlaySound: false, 47 shouldSetBadge: true, 48 + } satisfies Notifications.NotificationBehavior 49 50 // These need to stay outside the hook to persist between account switches 51 let storedPayload: NotificationPayload | undefined ··· 196 payload.reason === 'chat-message' && 197 payload.recipientDid === currentAccount?.did 198 ) { 199 + const shouldAlert = payload.convoId !== currentConvoId 200 return { 201 + shouldShowList: shouldAlert, 202 + shouldShowBanner: shouldAlert, 203 shouldPlaySound: false, 204 shouldSetBadge: false, 205 + } satisfies Notifications.NotificationBehavior 206 } 207 208 // Any notification other than a chat message should invalidate the unread page
+1 -1
src/lib/strings/starter-pack.ts
··· 1 import {AtUri} from '@atproto/api' 2 3 - import * as bsky from '#/types/bsky' 4 5 export function createStarterPackLinkFromAndroidReferrer( 6 referrerQueryString: string,
··· 1 import {AtUri} from '@atproto/api' 2 3 + import type * as bsky from '#/types/bsky' 4 5 export function createStarterPackLinkFromAndroidReferrer( 6 referrerQueryString: string,
+1 -4
src/platform/polyfills.ts
··· 1 import 'fast-text-encoding' 2 - // @ts-ignore no decl -prf 3 - import findLast from 'array.prototype.findlast' 4 export {} 5 - 6 - findLast.shim() 7 8 /** 9 https://github.com/MaxArt2501/base64-js
··· 1 + import 'react-native-url-polyfill/auto' 2 import 'fast-text-encoding' 3 export {} 4 5 /** 6 https://github.com/MaxArt2501/base64-js
+1 -4
src/platform/polyfills.web.ts
··· 1 - // @ts-ignore no decl -prf 2 - import * as findLast from 'array.prototype.findlast' 3 /// <reference lib="dom" /> 4 - 5 - findLast.shim() 6 7 // @ts-ignore whatever typescript wants to complain about here, I dont care about -prf 8 window.setImmediate = (cb: () => void) => setTimeout(cb, 0)
··· 1 + import 'array.prototype.findlast/auto' 2 /// <reference lib="dom" /> 3 4 // @ts-ignore whatever typescript wants to complain about here, I dont care about -prf 5 window.setImmediate = (cb: () => void) => setTimeout(cb, 0)
+2 -2
src/screens/Profile/Sections/Feed.tsx
··· 5 import {useQueryClient} from '@tanstack/react-query' 6 7 import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender' 8 - import {isNative} from '#/platform/detection' 9 import {type FeedDescriptor} from '#/state/queries/post-feed' 10 import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed' 11 import {truncateAndInvalidate} from '#/state/queries/util' ··· 67 }, [_]) 68 69 React.useEffect(() => { 70 - if (isFocused && scrollElRef.current) { 71 const nativeTag = findNodeHandle(scrollElRef.current) 72 setScrollViewTag(nativeTag) 73 }
··· 5 import {useQueryClient} from '@tanstack/react-query' 6 7 import {useInitialNumToRender} from '#/lib/hooks/useInitialNumToRender' 8 + import {isIOS, isNative} from '#/platform/detection' 9 import {type FeedDescriptor} from '#/state/queries/post-feed' 10 import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed' 11 import {truncateAndInvalidate} from '#/state/queries/util' ··· 67 }, [_]) 68 69 React.useEffect(() => { 70 + if (isIOS && isFocused && scrollElRef.current) { 71 const nativeTag = findNodeHandle(scrollElRef.current) 72 setScrollViewTag(nativeTag) 73 }
+2 -2
src/screens/Profile/Sections/Labels.tsx
··· 14 import {useAnimatedScrollHandler} from '#/lib/hooks/useAnimatedScrollHandler_FIXED' 15 import {isLabelerSubscribed, lookupLabelValueDefinition} from '#/lib/moderation' 16 import {useScrollHandlers} from '#/lib/ScrollContext' 17 - import {isNative} from '#/platform/detection' 18 import {type ListRef} from '#/view/com/util/List' 19 import {atoms as a, useTheme} from '#/alf' 20 import {Divider} from '#/components/Divider' ··· 92 })) 93 94 React.useEffect(() => { 95 - if (isFocused && scrollElRef.current) { 96 const nativeTag = findNodeHandle(scrollElRef.current) 97 setScrollViewTag(nativeTag) 98 }
··· 14 import {useAnimatedScrollHandler} from '#/lib/hooks/useAnimatedScrollHandler_FIXED' 15 import {isLabelerSubscribed, lookupLabelValueDefinition} from '#/lib/moderation' 16 import {useScrollHandlers} from '#/lib/ScrollContext' 17 + import {isIOS, isNative} from '#/platform/detection' 18 import {type ListRef} from '#/view/com/util/List' 19 import {atoms as a, useTheme} from '#/alf' 20 import {Divider} from '#/components/Divider' ··· 92 })) 93 94 React.useEffect(() => { 95 + if (isIOS && isFocused && scrollElRef.current) { 96 const nativeTag = findNodeHandle(scrollElRef.current) 97 setScrollViewTag(nativeTag) 98 }
+38 -36
src/view/com/composer/Composer.tsx
··· 118 import {Text} from '#/view/com/util/text/Text' 119 import * as Toast from '#/view/com/util/Toast' 120 import {UserAvatar} from '#/view/com/util/UserAvatar' 121 - import {atoms as a, native, useTheme} from '#/alf' 122 import {Button, ButtonIcon, ButtonText} from '#/components/Button' 123 import {useDialogControl} from '#/components/Dialog' 124 import {VerifyEmailDialog} from '#/components/dialogs/VerifyEmailDialog' ··· 1266 a.justify_between, 1267 ]}> 1268 <View style={[a.flex_row, a.align_center]}> 1269 - {video && video.status !== 'done' ? ( 1270 - <VideoUploadToolbar state={video} /> 1271 - ) : ( 1272 - <ToolbarWrapper style={[a.flex_row, a.align_center, a.gap_xs]}> 1273 - <SelectPhotoBtn 1274 - size={images.length} 1275 - disabled={media?.type === 'images' ? isMaxImages : !!media} 1276 - onAdd={onImageAdd} 1277 - /> 1278 - <SelectVideoBtn 1279 - onSelectVideo={asset => onSelectVideo(post.id, asset)} 1280 - disabled={!!media} 1281 - setError={onError} 1282 - /> 1283 - <OpenCameraBtn 1284 - disabled={media?.type === 'images' ? isMaxImages : !!media} 1285 - onAdd={onImageAdd} 1286 - /> 1287 - <SelectGifBtn onSelectGif={onSelectGif} disabled={!!media} /> 1288 - {!isMobile ? ( 1289 - <Button 1290 - onPress={onEmojiButtonPress} 1291 - style={a.p_sm} 1292 - label={_(msg`Open emoji picker`)} 1293 - accessibilityHint={_(msg`Opens emoji picker`)} 1294 - variant="ghost" 1295 - shape="round" 1296 - color="primary"> 1297 - <EmojiSmile size="lg" /> 1298 - </Button> 1299 - ) : null} 1300 - </ToolbarWrapper> 1301 - )} 1302 </View> 1303 <View style={[a.flex_row, a.align_center, a.justify_between]}> 1304 {showAddButton && ( ··· 1515 paddingVertical: 6, 1516 marginLeft: 12, 1517 }, 1518 - stickyFooterWeb: { 1519 position: 'sticky', 1520 bottom: 0, 1521 - }, 1522 errorLine: { 1523 flexDirection: 'row', 1524 alignItems: 'center',
··· 118 import {Text} from '#/view/com/util/text/Text' 119 import * as Toast from '#/view/com/util/Toast' 120 import {UserAvatar} from '#/view/com/util/UserAvatar' 121 + import {atoms as a, native, useTheme, web} from '#/alf' 122 import {Button, ButtonIcon, ButtonText} from '#/components/Button' 123 import {useDialogControl} from '#/components/Dialog' 124 import {VerifyEmailDialog} from '#/components/dialogs/VerifyEmailDialog' ··· 1266 a.justify_between, 1267 ]}> 1268 <View style={[a.flex_row, a.align_center]}> 1269 + <LayoutAnimationConfig skipEntering skipExiting> 1270 + {video && video.status !== 'done' ? ( 1271 + <VideoUploadToolbar state={video} /> 1272 + ) : ( 1273 + <ToolbarWrapper style={[a.flex_row, a.align_center, a.gap_xs]}> 1274 + <SelectPhotoBtn 1275 + size={images.length} 1276 + disabled={media?.type === 'images' ? isMaxImages : !!media} 1277 + onAdd={onImageAdd} 1278 + /> 1279 + <SelectVideoBtn 1280 + onSelectVideo={asset => onSelectVideo(post.id, asset)} 1281 + disabled={!!media} 1282 + setError={onError} 1283 + /> 1284 + <OpenCameraBtn 1285 + disabled={media?.type === 'images' ? isMaxImages : !!media} 1286 + onAdd={onImageAdd} 1287 + /> 1288 + <SelectGifBtn onSelectGif={onSelectGif} disabled={!!media} /> 1289 + {!isMobile ? ( 1290 + <Button 1291 + onPress={onEmojiButtonPress} 1292 + style={a.p_sm} 1293 + label={_(msg`Open emoji picker`)} 1294 + accessibilityHint={_(msg`Opens emoji picker`)} 1295 + variant="ghost" 1296 + shape="round" 1297 + color="primary"> 1298 + <EmojiSmile size="lg" /> 1299 + </Button> 1300 + ) : null} 1301 + </ToolbarWrapper> 1302 + )} 1303 + </LayoutAnimationConfig> 1304 </View> 1305 <View style={[a.flex_row, a.align_center, a.justify_between]}> 1306 {showAddButton && ( ··· 1517 paddingVertical: 6, 1518 marginLeft: 12, 1519 }, 1520 + stickyFooterWeb: web({ 1521 position: 'sticky', 1522 bottom: 0, 1523 + }), 1524 errorLine: { 1525 flexDirection: 'row', 1526 alignItems: 'center',
+2 -2
src/view/com/composer/ComposerReplyTo.tsx
··· 15 import {type ComposerOptsPostRef} from '#/state/shell/composer' 16 import {MaybeQuoteEmbed} from '#/view/com/util/post-embeds/QuoteEmbed' 17 import {PreviewableUserAvatar} from '#/view/com/util/UserAvatar' 18 - import {atoms as a, useTheme} from '#/alf' 19 import {Text} from '#/components/Typography' 20 import {useSimpleVerificationState} from '#/components/verification' 21 import {VerificationCheck} from '#/components/verification/VerificationCheck' ··· 76 a.mx_lg, 77 a.border_b, 78 t.atoms.border_contrast_medium, 79 - a.user_select_text, 80 ]} 81 onPress={onPress} 82 accessibilityRole="button"
··· 15 import {type ComposerOptsPostRef} from '#/state/shell/composer' 16 import {MaybeQuoteEmbed} from '#/view/com/util/post-embeds/QuoteEmbed' 17 import {PreviewableUserAvatar} from '#/view/com/util/UserAvatar' 18 + import {atoms as a, useTheme, web} from '#/alf' 19 import {Text} from '#/components/Typography' 20 import {useSimpleVerificationState} from '#/components/verification' 21 import {VerificationCheck} from '#/components/verification/VerificationCheck' ··· 76 a.mx_lg, 77 a.border_b, 78 t.atoms.border_contrast_medium, 79 + web(a.user_select_text), 80 ]} 81 onPress={onPress} 82 accessibilityRole="button"
+2 -2
src/view/com/feeds/ProfileFeedgens.tsx
··· 12 13 import {cleanError} from '#/lib/strings/errors' 14 import {logger} from '#/logger' 15 - import {isNative, isWeb} from '#/platform/detection' 16 import {usePreferencesQuery} from '#/state/queries/preferences' 17 import {RQKEY, useProfileFeedgensQuery} from '#/state/queries/profile-feedgens' 18 import {EmptyState} from '#/view/com/util/EmptyState' ··· 175 ) 176 177 React.useEffect(() => { 178 - if (enabled && scrollElRef.current) { 179 const nativeTag = findNodeHandle(scrollElRef.current) 180 setScrollViewTag(nativeTag) 181 }
··· 12 13 import {cleanError} from '#/lib/strings/errors' 14 import {logger} from '#/logger' 15 + import {isIOS, isNative, isWeb} from '#/platform/detection' 16 import {usePreferencesQuery} from '#/state/queries/preferences' 17 import {RQKEY, useProfileFeedgensQuery} from '#/state/queries/profile-feedgens' 18 import {EmptyState} from '#/view/com/util/EmptyState' ··· 175 ) 176 177 React.useEffect(() => { 178 + if (isIOS && enabled && scrollElRef.current) { 179 const nativeTag = findNodeHandle(scrollElRef.current) 180 setScrollViewTag(nativeTag) 181 }
+10 -8
src/view/com/lightbox/ImageViewing/index.tsx
··· 510 // This is a bug in Reanimated, but for now we'll work around it like this. 511 dismissSwipeTranslateY.set(1) 512 } 513 - dismissSwipeTranslateY.set(() => 514 - withDecay({ 515 velocity: e.velocityY, 516 velocityFactor: Math.max(3500 / Math.abs(e.velocityY), 1), // Speed up if it's too slow. 517 deceleration: 1, // Danger! This relies on the reaction below stopping it. 518 - }), 519 - ) 520 } else { 521 - dismissSwipeTranslateY.set(() => 522 - withSpring(0, { 523 stiffness: 700, 524 damping: 50, 525 - }), 526 - ) 527 } 528 }) 529
··· 510 // This is a bug in Reanimated, but for now we'll work around it like this. 511 dismissSwipeTranslateY.set(1) 512 } 513 + dismissSwipeTranslateY.set(() => { 514 + 'worklet' 515 + return withDecay({ 516 velocity: e.velocityY, 517 velocityFactor: Math.max(3500 / Math.abs(e.velocityY), 1), // Speed up if it's too slow. 518 deceleration: 1, // Danger! This relies on the reaction below stopping it. 519 + }) 520 + }) 521 } else { 522 + dismissSwipeTranslateY.set(() => { 523 + 'worklet' 524 + return withSpring(0, { 525 stiffness: 700, 526 damping: 50, 527 + }) 528 + }) 529 } 530 }) 531
+2 -2
src/view/com/lists/ProfileLists.tsx
··· 12 13 import {cleanError} from '#/lib/strings/errors' 14 import {logger} from '#/logger' 15 - import {isNative, isWeb} from '#/platform/detection' 16 import {RQKEY, useProfileListsQuery} from '#/state/queries/profile-lists' 17 import {EmptyState} from '#/view/com/util/EmptyState' 18 import {ErrorMessage} from '#/view/com/util/error/ErrorMessage' ··· 171 ) 172 173 React.useEffect(() => { 174 - if (enabled && scrollElRef.current) { 175 const nativeTag = findNodeHandle(scrollElRef.current) 176 setScrollViewTag(nativeTag) 177 }
··· 12 13 import {cleanError} from '#/lib/strings/errors' 14 import {logger} from '#/logger' 15 + import {isIOS, isNative, isWeb} from '#/platform/detection' 16 import {RQKEY, useProfileListsQuery} from '#/state/queries/profile-lists' 17 import {EmptyState} from '#/view/com/util/EmptyState' 18 import {ErrorMessage} from '#/view/com/util/error/ErrorMessage' ··· 171 ) 172 173 React.useEffect(() => { 174 + if (isIOS && enabled && scrollElRef.current) { 175 const nativeTag = findNodeHandle(scrollElRef.current) 176 setScrollViewTag(nativeTag) 177 }
+16 -7
src/view/com/pager/DraggableScrollView.tsx
··· 1 - import React, {ComponentProps} from 'react' 2 import {ScrollView} from 'react-native' 3 4 import {useDraggableScroll} from '#/lib/hooks/useDraggableScrollView' 5 6 - export const DraggableScrollView = React.forwardRef< 7 - ScrollView, 8 - ComponentProps<typeof ScrollView> 9 - >(function DraggableScrollView(props, ref) { 10 const {refs} = useDraggableScroll<ScrollView>({ 11 outerRef: ref, 12 cursor: 'grab', // optional, default 13 }) 14 15 - return <ScrollView ref={refs} horizontal {...props} /> 16 - })
··· 1 + import {type ComponentPropsWithRef} from 'react' 2 import {ScrollView} from 'react-native' 3 4 import {useDraggableScroll} from '#/lib/hooks/useDraggableScrollView' 5 + import {atoms as a, web} from '#/alf' 6 7 + export function DraggableScrollView({ 8 + ref, 9 + style, 10 + ...props 11 + }: ComponentPropsWithRef<typeof ScrollView>) { 12 const {refs} = useDraggableScroll<ScrollView>({ 13 outerRef: ref, 14 cursor: 'grab', // optional, default 15 }) 16 17 + return ( 18 + <ScrollView 19 + ref={refs} 20 + style={[style, web(a.user_select_none)]} 21 + horizontal 22 + {...props} 23 + /> 24 + ) 25 + }
+23 -6
src/view/com/pager/TabBar.tsx
··· 1 import {useCallback} from 'react' 2 - import {LayoutChangeEvent, ScrollView, StyleSheet, View} from 'react-native' 3 import Animated, { 4 interpolate, 5 runOnJS, 6 runOnUI, 7 scrollTo, 8 - SharedValue, 9 useAnimatedReaction, 10 useAnimatedRef, 11 useAnimatedStyle, ··· 267 { 268 translateX: interpolate( 269 dragProgress.get(), 270 - layoutsValue.map((l, i) => i), 271 - layoutsValue.map(l => l.x + l.width / 2 - contentSize.get() / 2), 272 ), 273 }, 274 { 275 scaleX: interpolate( 276 dragProgress.get(), 277 - textLayoutsValue.map((l, i) => i), 278 - textLayoutsValue.map((l, i) => getScaleX(i)), 279 ), 280 }, 281 ],
··· 1 import {useCallback} from 'react' 2 + import { 3 + type LayoutChangeEvent, 4 + ScrollView, 5 + StyleSheet, 6 + View, 7 + } from 'react-native' 8 import Animated, { 9 interpolate, 10 runOnJS, 11 runOnUI, 12 scrollTo, 13 + type SharedValue, 14 useAnimatedReaction, 15 useAnimatedRef, 16 useAnimatedStyle, ··· 272 { 273 translateX: interpolate( 274 dragProgress.get(), 275 + layoutsValue.map((l, i) => { 276 + 'worklet' 277 + return i 278 + }), 279 + layoutsValue.map(l => { 280 + 'worklet' 281 + return l.x + l.width / 2 - contentSize.get() / 2 282 + }), 283 ), 284 }, 285 { 286 scaleX: interpolate( 287 dragProgress.get(), 288 + textLayoutsValue.map((l, i) => { 289 + 'worklet' 290 + return i 291 + }), 292 + textLayoutsValue.map((l, i) => { 293 + 'worklet' 294 + return getScaleX(i) 295 + }), 296 ), 297 }, 298 ],
+4 -4
src/view/com/pager/TabBar.web.tsx
··· 1 import {useCallback, useEffect, useRef} from 'react' 2 - import {ScrollView, StyleSheet, View} from 'react-native' 3 4 - import {atoms as a, useBreakpoints, useTheme} from '#/alf' 5 import {Text} from '#/components/Typography' 6 import {PressableWithHover} from '../util/PressableWithHover' 7 import {DraggableScrollView} from './DraggableScrollView' ··· 161 }, 162 itemInner: { 163 alignItems: 'center', 164 - overflowX: 'hidden', 165 }, 166 itemText: { 167 textAlign: 'center', ··· 204 itemInner: { 205 flexGrow: 1, 206 alignItems: 'center', 207 - overflowX: 'hidden', 208 }, 209 itemText: { 210 textAlign: 'center',
··· 1 import {useCallback, useEffect, useRef} from 'react' 2 + import {type ScrollView, StyleSheet, View} from 'react-native' 3 4 + import {atoms as a, useBreakpoints, useTheme, web} from '#/alf' 5 import {Text} from '#/components/Typography' 6 import {PressableWithHover} from '../util/PressableWithHover' 7 import {DraggableScrollView} from './DraggableScrollView' ··· 161 }, 162 itemInner: { 163 alignItems: 'center', 164 + ...web({overflowX: 'hidden'}), 165 }, 166 itemText: { 167 textAlign: 'center', ··· 204 itemInner: { 205 flexGrow: 1, 206 alignItems: 'center', 207 + ...web({overflowX: 'hidden'}), 208 }, 209 itemText: { 210 textAlign: 'center',
+5 -2
src/view/com/posts/ViewFullThread.tsx
··· 2 import {StyleSheet, View} from 'react-native' 3 import Svg, {Circle, Line} from 'react-native-svg' 4 import {AtUri} from '@atproto/api' 5 - import {Trans} from '@lingui/macro' 6 7 import {usePalette} from '#/lib/hooks/usePalette' 8 import {makeProfileLink} from '#/lib/routes/links' ··· 22 const urip = new AtUri(uri) 23 return makeProfileLink({did: urip.hostname, handle: ''}, 'post', urip.rkey) 24 }, [uri]) 25 26 return ( 27 <Link ··· 53 </View> 54 55 <Text type="md" style={[pal.link, {paddingTop: 18, paddingBottom: 4}]}> 56 - <Trans>View full thread</Trans> 57 </Text> 58 </Link> 59 )
··· 2 import {StyleSheet, View} from 'react-native' 3 import Svg, {Circle, Line} from 'react-native-svg' 4 import {AtUri} from '@atproto/api' 5 + import {msg} from '@lingui/macro' 6 + import {useLingui} from '@lingui/react' 7 8 import {usePalette} from '#/lib/hooks/usePalette' 9 import {makeProfileLink} from '#/lib/routes/links' ··· 23 const urip = new AtUri(uri) 24 return makeProfileLink({did: urip.hostname, handle: ''}, 'post', urip.rkey) 25 }, [uri]) 26 + const {_} = useLingui() 27 28 return ( 29 <Link ··· 55 </View> 56 57 <Text type="md" style={[pal.link, {paddingTop: 18, paddingBottom: 4}]}> 58 + {/* HACKFIX: Trans isn't working after SDK 53 upgrade -sfn */} 59 + {_(msg`View full thread`)} 60 </Text> 61 </Link> 62 )
+1 -1
src/view/com/util/Toast.tsx
··· 19 import {useSafeAreaInsets} from 'react-native-safe-area-context' 20 import { 21 FontAwesomeIcon, 22 - Props as FontAwesomeProps, 23 } from '@fortawesome/react-native-fontawesome' 24 25 import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
··· 19 import {useSafeAreaInsets} from 'react-native-safe-area-context' 20 import { 21 FontAwesomeIcon, 22 + type Props as FontAwesomeProps, 23 } from '@fortawesome/react-native-fontawesome' 24 25 import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
+4 -3
src/view/com/util/Toast.web.tsx
··· 2 * Note: the dataSet properties are used to leverage custom CSS in public/index.html 3 */ 4 5 - import React, {useEffect, useState} from 'react' 6 import {Pressable, StyleSheet, Text, View} from 'react-native' 7 import { 8 FontAwesomeIcon, 9 - FontAwesomeIconStyle, 10 - Props as FontAwesomeProps, 11 } from '@fortawesome/react-native-fontawesome' 12 13 const DURATION = 3500 14
··· 2 * Note: the dataSet properties are used to leverage custom CSS in public/index.html 3 */ 4 5 + import {useEffect, useState} from 'react' 6 import {Pressable, StyleSheet, Text, View} from 'react-native' 7 import { 8 FontAwesomeIcon, 9 + type FontAwesomeIconStyle, 10 + type Props as FontAwesomeProps, 11 } from '@fortawesome/react-native-fontawesome' 12 + import type React from 'react' 13 14 const DURATION = 3500 15
+1 -2
src/view/com/util/forms/NativeDropdown.web.tsx
··· 239 return `${label}_${index}` 240 } 241 242 - // @ts-expect-error - web only styles. the only style that should be broken here is `outline` 243 const styles = StyleSheet.create({ 244 separator: { 245 height: 1, ··· 264 justifyContent: 'space-between', 265 alignItems: 'center', 266 columnGap: 20, 267 - // @ts-ignore -web 268 cursor: 'pointer', 269 paddingTop: 8, 270 paddingBottom: 8, ··· 273 borderRadius: 8, 274 fontFamily: 275 '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Liberation Sans", Helvetica, Arial, sans-serif', 276 outline: 0, 277 border: 0, 278 },
··· 239 return `${label}_${index}` 240 } 241 242 const styles = StyleSheet.create({ 243 separator: { 244 height: 1, ··· 263 justifyContent: 'space-between', 264 alignItems: 'center', 265 columnGap: 20, 266 cursor: 'pointer', 267 paddingTop: 8, 268 paddingBottom: 8, ··· 271 borderRadius: 8, 272 fontFamily: 273 '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Liberation Sans", Helvetica, Arial, sans-serif', 274 + // @ts-expect-error web only 275 outline: 0, 276 border: 0, 277 },
+2 -3
src/view/com/util/load-latest/LoadLatestBtn.tsx
··· 12 import {clamp} from '#/lib/numbers' 13 import {useGate} from '#/lib/statsig/statsig' 14 import {colors} from '#/lib/styles' 15 - import {isWeb} from '#/platform/detection' 16 import {useSession} from '#/state/session' 17 - import {useLayoutBreakpoints} from '#/alf' 18 19 export function LoadLatestBtn({ 20 onPress, ··· 80 const styles = StyleSheet.create({ 81 loadLatest: { 82 zIndex: 20, 83 - position: isWeb ? 'fixed' : 'absolute', 84 left: 18, 85 borderWidth: StyleSheet.hairlineWidth, 86 width: 52,
··· 12 import {clamp} from '#/lib/numbers' 13 import {useGate} from '#/lib/statsig/statsig' 14 import {colors} from '#/lib/styles' 15 import {useSession} from '#/state/session' 16 + import {atoms as a, useLayoutBreakpoints} from '#/alf' 17 18 export function LoadLatestBtn({ 19 onPress, ··· 79 const styles = StyleSheet.create({ 80 loadLatest: { 81 zIndex: 20, 82 + ...a.fixed, 83 left: 18, 84 borderWidth: StyleSheet.hairlineWidth, 85 width: 52,
+2 -3
src/view/shell/bottom-bar/BottomBarStyles.tsx
··· 1 import {StyleSheet} from 'react-native' 2 3 import {colors} from '#/lib/styles' 4 5 export const styles = StyleSheet.create({ 6 bottomBar: { ··· 13 paddingLeft: 5, 14 paddingRight: 10, 15 }, 16 - bottomBarWeb: { 17 - position: 'fixed', 18 - }, 19 ctrl: { 20 flex: 1, 21 paddingTop: 13,
··· 1 import {StyleSheet} from 'react-native' 2 3 import {colors} from '#/lib/styles' 4 + import {atoms as a} from '#/alf' 5 6 export const styles = StyleSheet.create({ 7 bottomBar: { ··· 14 paddingLeft: 5, 15 paddingRight: 10, 16 }, 17 + bottomBarWeb: a.fixed, 18 ctrl: { 19 flex: 1, 20 paddingTop: 13,
+3 -3
src/view/shell/desktop/LeftNav.tsx
··· 32 import {PressableWithHover} from '#/view/com/util/PressableWithHover' 33 import {UserAvatar} from '#/view/com/util/UserAvatar' 34 import {NavSignupCard} from '#/view/shell/NavSignupCard' 35 - import {atoms as a, tokens, useLayoutBreakpoints, useTheme} from '#/alf' 36 import {Button, ButtonIcon, ButtonText} from '#/components/Button' 37 import {type DialogControlProps} from '#/components/Dialog' 38 import {ArrowBoxLeft_Stroke2_Corner0_Rounded as LeaveIcon} from '#/components/icons/ArrowBoxLeft' ··· 718 719 const styles = StyleSheet.create({ 720 leftNav: { 721 - position: 'fixed', 722 top: 0, 723 paddingTop: 10, 724 paddingBottom: 10, ··· 736 height: '100%', 737 width: 86, 738 alignItems: 'center', 739 - overflowX: 'hidden', 740 }, 741 backBtn: { 742 position: 'absolute',
··· 32 import {PressableWithHover} from '#/view/com/util/PressableWithHover' 33 import {UserAvatar} from '#/view/com/util/UserAvatar' 34 import {NavSignupCard} from '#/view/shell/NavSignupCard' 35 + import {atoms as a, tokens, useLayoutBreakpoints, useTheme, web} from '#/alf' 36 import {Button, ButtonIcon, ButtonText} from '#/components/Button' 37 import {type DialogControlProps} from '#/components/Dialog' 38 import {ArrowBoxLeft_Stroke2_Corner0_Rounded as LeaveIcon} from '#/components/icons/ArrowBoxLeft' ··· 718 719 const styles = StyleSheet.create({ 720 leftNav: { 721 + ...a.fixed, 722 top: 0, 723 paddingTop: 10, 724 paddingBottom: 10, ··· 736 height: '100%', 737 width: 86, 738 alignItems: 'center', 739 + ...web({overflowX: 'hidden'}), 740 }, 741 backBtn: { 742 position: 'absolute',
+3 -3
src/view/shell/index.web.tsx
··· 8 import {useColorSchemeStyle} from '#/lib/hooks/useColorSchemeStyle' 9 import {useIntentHandler} from '#/lib/hooks/useIntentHandler' 10 import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' 11 - import {NavigationProp} from '#/lib/routes/types' 12 import {colors} from '#/lib/styles' 13 import {useIsDrawerOpen, useSetDrawerOpen} from '#/state/shell' 14 import {useComposerKeyboardShortcut} from '#/state/shell/composer/useComposerKeyboardShortcut' ··· 130 backgroundColor: colors.black, // TODO 131 }, 132 drawerMask: { 133 - position: 'fixed', 134 width: '100%', 135 height: '100%', 136 top: 0, ··· 138 }, 139 drawerContainer: { 140 display: 'flex', 141 - position: 'fixed', 142 top: 0, 143 left: 0, 144 height: '100%',
··· 8 import {useColorSchemeStyle} from '#/lib/hooks/useColorSchemeStyle' 9 import {useIntentHandler} from '#/lib/hooks/useIntentHandler' 10 import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries' 11 + import {type NavigationProp} from '#/lib/routes/types' 12 import {colors} from '#/lib/styles' 13 import {useIsDrawerOpen, useSetDrawerOpen} from '#/state/shell' 14 import {useComposerKeyboardShortcut} from '#/state/shell/composer/useComposerKeyboardShortcut' ··· 130 backgroundColor: colors.black, // TODO 131 }, 132 drawerMask: { 133 + ...a.fixed, 134 width: '100%', 135 height: '100%', 136 top: 0, ··· 138 }, 139 drawerContainer: { 140 display: 'flex', 141 + ...a.fixed, 142 top: 0, 143 left: 0, 144 height: '100%',
+4 -5
tsconfig.json
··· 4 "jsx": "react-jsx", 5 "module": "esnext", 6 "types": ["node", "jest"], 7 "paths": { 8 "#/*": ["./src/*"], 9 - "lib/*": ["./src/lib/*"], 10 - "platform/*": ["./src/platform/*"], 11 - "state/*": ["./src/state/*"], 12 - "view/*": ["./src/view/*"], 13 - "crypto": ["./src/platform/crypto.ts"] 14 } 15 }, 16 "exclude": ["bskyweb", "bskyembed", "web-build"]
··· 4 "jsx": "react-jsx", 5 "module": "esnext", 6 "types": ["node", "jest"], 7 + "baseUrl": ".", 8 "paths": { 9 "#/*": ["./src/*"], 10 + "crypto": ["./src/platform/crypto.ts"], 11 + "multiformats/cid": ["node_modules/multiformats/types/src/cid.d.ts"], 12 + "multiformats/hashes/hasher": ["node_modules/multiformats/types/src/hashes/hasher.d.ts"] 13 } 14 }, 15 "exclude": ["bskyweb", "bskyembed", "web-build"]
+1189 -1835
yarn.lock
··· 20 "@jridgewell/gen-mapping" "^0.3.0" 21 "@jridgewell/trace-mapping" "^0.3.9" 22 23 - "@atproto-labs/fetch-node@0.1.7": 24 - version "0.1.7" 25 - resolved "https://registry.yarnpkg.com/@atproto-labs/fetch-node/-/fetch-node-0.1.7.tgz#b4538ee99bed6ca5843a9266004e1d7c1c0bf186" 26 - integrity sha512-vZ627PQqVGiBmPxulnviIGvvBPpTdzOcnfU1WcLeES3E0WjNxRGQqFaodBl5Zc4cj3QSPG/KC6wPcj/rjhbDrQ== 27 dependencies: 28 - "@atproto-labs/fetch" "0.2.1" 29 "@atproto-labs/pipe" "0.1.0" 30 ipaddr.js "^2.1.0" 31 psl "^1.9.0" 32 undici "^6.14.1" 33 34 - "@atproto-labs/fetch@0.2.1": 35 - version "0.2.1" 36 - resolved "https://registry.yarnpkg.com/@atproto-labs/fetch/-/fetch-0.2.1.tgz#7e82eb6998d9694614fbe6cc9a68f0c217898a13" 37 - integrity sha512-V22/7C7r+FfIDZA/BVn5UeuK5JccDp7nOiRfp5JITpVw2OXQbVfd8kywN7voWvPXw4sjd4cHoIPgQa0wvQGenQ== 38 dependencies: 39 "@atproto-labs/pipe" "0.1.0" 40 - optionalDependencies: 41 - zod "^3.23.8" 42 43 "@atproto-labs/pipe@0.1.0": 44 version "0.1.0" 45 resolved "https://registry.yarnpkg.com/@atproto-labs/pipe/-/pipe-0.1.0.tgz#c8d86923b6d8e900d39efe6fdcdf0d897c434086" 46 integrity sha512-ghOqHFyJlQVFPESzlVHjKroP0tPzbmG5Jms0dNI9yLDEfL8xp4OFPWLX4f6T8mRq69wWs4nIDM3sSsFbFqLa1w== 47 48 - "@atproto-labs/simple-store-memory@0.1.2": 49 - version "0.1.2" 50 - resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store-memory/-/simple-store-memory-0.1.2.tgz#234dbdb7162682795e09dfd7ea72cf448788ac8c" 51 - integrity sha512-q6wawjKKXuhUzr2MnkSlgr6zU6VimYkL8eNvLQvkroLnIDyMkoCKO4+EJ885ZD8lGwBo4pX9Lhrg9JJ+ncJI8g== 52 dependencies: 53 - "@atproto-labs/simple-store" "0.1.2" 54 lru-cache "^10.2.0" 55 56 - "@atproto-labs/simple-store@0.1.2": 57 - version "0.1.2" 58 - resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store/-/simple-store-0.1.2.tgz#39c1fa0326ae89204777e028886f79d6c22dc0ef" 59 - integrity sha512-9vTNvyPPBs44tKVFht16wGlilW8u4wpEtKwLkWbuNEh3h9TTQ8zjVhEoGZh/v73G4Otr9JUOSIq+/5+8OZD2mQ== 60 61 - "@atproto-labs/xrpc-utils@0.0.7": 62 - version "0.0.7" 63 - resolved "https://registry.yarnpkg.com/@atproto-labs/xrpc-utils/-/xrpc-utils-0.0.7.tgz#351ddce177f2731383b2b8c62e0afe1de8112903" 64 - integrity sha512-mNev88mtNo79h4bkEQYuLoTlejc1zMl9lLwKbpKYfFaaU0IS9VdhiPdRTEcQ6JGYK915OZ5Lv7OJQNF0g9qq9w== 65 dependencies: 66 - "@atproto/xrpc" "^0.6.9" 67 - "@atproto/xrpc-server" "^0.7.11" 68 69 - "@atproto/api@^0.14.0": 70 - version "0.14.0" 71 - resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.14.0.tgz#359debd4bc058fd24a2562dd674721e77a453d24" 72 - integrity sha512-KB+kMVdsDo7rW5S0vBpsPASepS717WPec8FAY04azhdCknlj7yh2FhMLYQu9dDb/uSJASAZGQEkDQUhumBk9fw== 73 - dependencies: 74 - "@atproto/common-web" "^0.4.0" 75 - "@atproto/lexicon" "^0.4.7" 76 - "@atproto/syntax" "^0.3.3" 77 - "@atproto/xrpc" "^0.6.9" 78 - await-lock "^2.2.2" 79 - multiformats "^9.9.0" 80 - tlds "^1.234.0" 81 - zod "^3.23.8" 82 - 83 - "@atproto/api@^0.15.3": 84 - version "0.15.3" 85 - resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.15.3.tgz#f69f32f5446bfa38ff41b12a98078a61a07f6b49" 86 - integrity sha512-HrNaKWHZoVv4pxrt5ITyqG/f1veEitm6Egrvs4ZaDS1FyYDLNVdgLDr4ccW76iFs8ja1xQuQtZNakHbgQUN92w== 87 dependencies: 88 "@atproto/common-web" "^0.4.1" 89 "@atproto/lexicon" "^0.4.10" ··· 94 tlds "^1.234.0" 95 zod "^3.23.8" 96 97 - "@atproto/aws@^0.2.15": 98 - version "0.2.15" 99 - resolved "https://registry.yarnpkg.com/@atproto/aws/-/aws-0.2.15.tgz#edc534a420b4da37e2f049d471bf40df93447a25" 100 - integrity sha512-4fR7wEnlGtkchfL7XdQ61yALNbIMpX1xL4H0XEq+o3LzM7/08lw2vhQCDFCqqjOJwWXxefQRsVXG5p7iyy3HPA== 101 dependencies: 102 - "@atproto/common" "^0.4.8" 103 "@atproto/crypto" "^0.4.4" 104 - "@atproto/repo" "^0.6.5" 105 "@aws-sdk/client-cloudfront" "^3.261.0" 106 "@aws-sdk/client-kms" "^3.196.0" 107 "@aws-sdk/client-s3" "^3.224.0" ··· 111 multiformats "^9.9.0" 112 uint8arrays "3.0.0" 113 114 - "@atproto/bsky@^0.0.117": 115 - version "0.0.117" 116 - resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.117.tgz#869ac8f853cf43d893cba46a5a79f0f6a4a9f3f0" 117 - integrity sha512-C+KKNROLUgSkt5J7IlWMvqUKFRbZAoCg1vyuLiY/jf5+7NFkQ5YYghaJguMrQdpqvF8KLmVLI3clhyPwvlDIOg== 118 dependencies: 119 - "@atproto-labs/fetch-node" "0.1.7" 120 - "@atproto-labs/xrpc-utils" "0.0.7" 121 - "@atproto/api" "^0.14.0" 122 - "@atproto/common" "^0.4.8" 123 "@atproto/crypto" "^0.4.4" 124 "@atproto/did" "^0.1.5" 125 - "@atproto/identity" "^0.4.6" 126 - "@atproto/lexicon" "^0.4.7" 127 - "@atproto/repo" "^0.6.5" 128 - "@atproto/sync" "^0.1.14" 129 - "@atproto/syntax" "^0.3.3" 130 - "@atproto/xrpc-server" "^0.7.11" 131 "@bufbuild/protobuf" "^1.5.0" 132 "@connectrpc/connect" "^1.1.4" 133 "@connectrpc/connect-express" "^1.1.4" ··· 136 "@types/http-errors" "^2.0.1" 137 compression "^1.7.4" 138 cors "^2.8.5" 139 express "^4.17.2" 140 http-errors "^2.0.0" 141 http-terminator "^3.2.0" ··· 156 uint8arrays "3.0.0" 157 undici "^6.19.8" 158 159 - "@atproto/bsync@^0.0.14": 160 - version "0.0.14" 161 - resolved "https://registry.yarnpkg.com/@atproto/bsync/-/bsync-0.0.14.tgz#ed25942e03e5c120cc89f3529143b2b197e4f3b1" 162 - integrity sha512-y6ioCJxmqnwQUc/MqBDCrNciJqrPanqSMjMneEU7mRSdbxXW27b1TblADSJeavkn8vbUGJUEmMWcqgWOrRClpw== 163 dependencies: 164 - "@atproto/common" "^0.4.8" 165 - "@atproto/syntax" "^0.3.3" 166 "@bufbuild/protobuf" "^1.5.0" 167 "@connectrpc/connect" "^1.1.4" 168 "@connectrpc/connect-node" "^1.1.4" ··· 171 pg "^8.10.0" 172 pino-http "^8.2.1" 173 typed-emitter "^2.1.0" 174 - 175 - "@atproto/common-web@^0.4.0": 176 - version "0.4.0" 177 - resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.4.0.tgz#b1407ae3f964f0ee23c2c3184f38041bac99d1f4" 178 - integrity sha512-ZYL0P9myHybNgwh/hBY0HaBzqiLR1B5/ie5bJpLQAg0whRzNA28t8/nU2vh99tbsWcAF0LOD29M8++LyENJLNQ== 179 - dependencies: 180 - graphemer "^1.4.0" 181 - multiformats "^9.9.0" 182 - uint8arrays "3.0.0" 183 - zod "^3.23.8" 184 185 "@atproto/common-web@^0.4.1": 186 version "0.4.1" ··· 212 pino "^8.6.1" 213 zod "^3.14.2" 214 215 - "@atproto/common@^0.4.8": 216 - version "0.4.8" 217 - resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.4.8.tgz#4ca61807448c672f19d17443b569fcdb81cc6df7" 218 - integrity sha512-/etCtnWQGLcfiGhIPwxAWrzgzoGB22nMWMeQcU6xZgRT4Cqrfg3A08jAMIHqve/AQpL+6D82lHYp36CG7a5G0w== 219 dependencies: 220 - "@atproto/common-web" "^0.4.0" 221 "@ipld/dag-cbor" "^7.0.3" 222 cbor-x "^1.5.1" 223 iso-datestring-validator "^2.2.2" ··· 244 "@noble/hashes" "^1.6.1" 245 uint8arrays "3.0.0" 246 247 - "@atproto/dev-env@^0.3.87": 248 - version "0.3.87" 249 - resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.3.87.tgz#dad1a7cdde1d38cbd5a88c75f5106261c6361b66" 250 - integrity sha512-xUeI94hqSnksjwdAi+Q0ML2qJlwRKYdqSD3kmR8LHIGeF6cWv+rjoSkK6+LVuV//LpC1EigoqkKQdX0UbDROOA== 251 dependencies: 252 - "@atproto/api" "^0.14.0" 253 - "@atproto/bsky" "^0.0.117" 254 - "@atproto/bsync" "^0.0.14" 255 - "@atproto/common-web" "^0.4.0" 256 "@atproto/crypto" "^0.4.4" 257 - "@atproto/identity" "^0.4.6" 258 - "@atproto/lexicon" "^0.4.7" 259 - "@atproto/ozone" "^0.1.78" 260 - "@atproto/pds" "^0.4.95" 261 - "@atproto/sync" "^0.1.14" 262 - "@atproto/syntax" "^0.3.3" 263 - "@atproto/xrpc-server" "^0.7.11" 264 "@did-plc/lib" "^0.0.1" 265 "@did-plc/server" "^0.0.1" 266 dotenv "^16.0.3" ··· 277 dependencies: 278 zod "^3.23.8" 279 280 - "@atproto/identity@^0.4.6": 281 - version "0.4.6" 282 - resolved "https://registry.yarnpkg.com/@atproto/identity/-/identity-0.4.6.tgz#d2e7e3cd9b2af9ee2a82b7ffd8f6e2fcbd813a86" 283 - integrity sha512-fJq/cIp9MOgHxZfxuyki6mobk0QxRnbts53DstRixlvb5mOoxwttb9Gp6A8u9q49zBsfOmXNTHmP97I9iMHmTQ== 284 dependencies: 285 - "@atproto/common-web" "^0.4.0" 286 "@atproto/crypto" "^0.4.4" 287 288 - "@atproto/jwk-jose@0.1.4": 289 - version "0.1.4" 290 - resolved "https://registry.yarnpkg.com/@atproto/jwk-jose/-/jwk-jose-0.1.4.tgz#c36c4332ce41d612a09492e9f6da479a6b7b2b9b" 291 - integrity sha512-JzLn1wUzuLfweznSECdTjSHTxQBEz7Q8oJ4XKjRNludqzyJW8etEH00l1WolLipFxoj1QCG9qy00JmlC59Y6Rw== 292 dependencies: 293 - "@atproto/jwk" "0.1.3" 294 jose "^5.2.0" 295 296 - "@atproto/jwk@0.1.3": 297 - version "0.1.3" 298 - resolved "https://registry.yarnpkg.com/@atproto/jwk/-/jwk-0.1.3.tgz#c42feb53a39573cf84eeec73c62776d1d2497a55" 299 - integrity sha512-5rBgA8Fk4fg6MfNyEQvUnwq1MRn5xZOXYj4oxLuZ549XeNp2Rm2v+psuEkICD+o6pfIoMX4Hw7UTlXDrpsKKlQ== 300 dependencies: 301 multiformats "^9.9.0" 302 zod "^3.23.8" ··· 312 multiformats "^9.9.0" 313 zod "^3.23.8" 314 315 - "@atproto/lexicon@^0.4.7": 316 - version "0.4.7" 317 - resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.4.7.tgz#f5d31615c21bcfd3e655f1e4f11a40a62fea9f86" 318 - integrity sha512-/x6h3tAiDNzSi4eXtC8ke65B7UzsagtlGRHmUD95698x5lBRpDnpizj0fZWTZVYed5qnOmz/ZEue+v3wDmO61g== 319 dependencies: 320 - "@atproto/common-web" "^0.4.0" 321 - "@atproto/syntax" "^0.3.3" 322 - iso-datestring-validator "^2.2.2" 323 - multiformats "^9.9.0" 324 - zod "^3.23.8" 325 326 - "@atproto/oauth-provider@^0.2.17": 327 - version "0.2.17" 328 - resolved "https://registry.yarnpkg.com/@atproto/oauth-provider/-/oauth-provider-0.2.17.tgz#4644d391eedbbbbe5825ecc0e8cc03f1c6433b95" 329 - integrity sha512-fvEbONJfjDRqQoIkB76n1cLz7y6f99Fhgs8h2u1LNZak1p95JZs3Tc5HsDhmUHo2Yk9h22CIwMRRjHImU/m1Nw== 330 dependencies: 331 - "@atproto-labs/fetch" "0.2.1" 332 - "@atproto-labs/fetch-node" "0.1.7" 333 "@atproto-labs/pipe" "0.1.0" 334 - "@atproto-labs/simple-store" "0.1.2" 335 - "@atproto-labs/simple-store-memory" "0.1.2" 336 - "@atproto/common" "^0.4.8" 337 - "@atproto/jwk" "0.1.3" 338 - "@atproto/jwk-jose" "0.1.4" 339 - "@atproto/oauth-types" "0.2.3" 340 "@hapi/accept" "^6.0.3" 341 "@hapi/bourne" "^3.0.0" 342 "@hapi/content" "^6.0.0" 343 cookie "^0.6.0" 344 http-errors "^2.0.0" 345 ioredis "^5.3.2" 346 jose "^5.2.0" 347 - keygrip "^1.1.0" 348 psl "^1.9.0" 349 zod "^3.23.8" 350 351 - "@atproto/oauth-types@0.2.3": 352 - version "0.2.3" 353 - resolved "https://registry.yarnpkg.com/@atproto/oauth-types/-/oauth-types-0.2.3.tgz#a2e9470cbf48c6e7663906f8b43045077945e1f2" 354 - integrity sha512-M+0WW/alS2BfhKtwvdU3rSaLoycw6kTH1kGKeyDdmb/xN/8QjU7T6dkJe+wX4NC7F23xdKfti9DZhBpEtn+/kg== 355 dependencies: 356 - "@atproto/jwk" "0.1.3" 357 zod "^3.23.8" 358 359 - "@atproto/ozone@^0.1.78": 360 - version "0.1.78" 361 - resolved "https://registry.yarnpkg.com/@atproto/ozone/-/ozone-0.1.78.tgz#9ed4535967b79ba291c15560b4b598f863c5ded0" 362 - integrity sha512-l7T6d4+gieVbxscZ3ou/PSE2VtO9w3/C30gAhVhRPvqbUzAAzpvPLkQGyP7cUSnuXrb32QCyuOy2QoAJ84lR8Q== 363 dependencies: 364 - "@atproto/api" "^0.14.0" 365 - "@atproto/common" "^0.4.8" 366 "@atproto/crypto" "^0.4.4" 367 - "@atproto/identity" "^0.4.6" 368 - "@atproto/lexicon" "^0.4.7" 369 - "@atproto/syntax" "^0.3.3" 370 - "@atproto/xrpc" "^0.6.9" 371 - "@atproto/xrpc-server" "^0.7.11" 372 "@did-plc/lib" "^0.0.1" 373 compression "^1.7.4" 374 cors "^2.8.5" ··· 384 typed-emitter "^2.1.0" 385 uint8arrays "3.0.0" 386 undici "^6.14.1" 387 388 - "@atproto/pds@^0.4.95": 389 - version "0.4.95" 390 - resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.4.95.tgz#a0881f7de2cfa900b82c3a465798a75c02302f2e" 391 - integrity sha512-HiOoWvBvU/hICgOslOddX6yIUN/e5um59Py0Ngl85xPkwt1TUb1/c57P2/wM1HGZt6wrORplDS4gzCP9wmGnRQ== 392 dependencies: 393 - "@atproto-labs/fetch-node" "0.1.7" 394 - "@atproto-labs/xrpc-utils" "0.0.7" 395 - "@atproto/api" "^0.14.0" 396 - "@atproto/aws" "^0.2.15" 397 - "@atproto/common" "^0.4.8" 398 "@atproto/crypto" "^0.4.4" 399 - "@atproto/identity" "^0.4.6" 400 - "@atproto/lexicon" "^0.4.7" 401 - "@atproto/oauth-provider" "^0.2.17" 402 - "@atproto/repo" "^0.6.5" 403 - "@atproto/syntax" "^0.3.3" 404 - "@atproto/xrpc" "^0.6.9" 405 - "@atproto/xrpc-server" "^0.7.11" 406 "@did-plc/lib" "^0.0.4" 407 "@hapi/address" "^5.1.1" 408 better-sqlite3 "^10.0.0" ··· 432 undici "^6.19.8" 433 zod "^3.23.8" 434 435 - "@atproto/repo@^0.6.5": 436 - version "0.6.5" 437 - resolved "https://registry.yarnpkg.com/@atproto/repo/-/repo-0.6.5.tgz#a45cb0df5b1e0ec078a535a4acb69e9364938020" 438 - integrity sha512-Sa95LaEMDtwL9M0kp3vuVQIcgEJI+6EssDLIiuPnJAi9SbEPESdUfEiIR5t2oFCkMwrS7OJQCLdCa7CMy+plUg== 439 dependencies: 440 - "@atproto/common" "^0.4.8" 441 - "@atproto/common-web" "^0.4.0" 442 "@atproto/crypto" "^0.4.4" 443 - "@atproto/lexicon" "^0.4.7" 444 - "@ipld/car" "^3.2.3" 445 "@ipld/dag-cbor" "^7.0.0" 446 multiformats "^9.9.0" 447 uint8arrays "3.0.0" 448 zod "^3.23.8" 449 450 - "@atproto/sync@^0.1.14": 451 - version "0.1.14" 452 - resolved "https://registry.yarnpkg.com/@atproto/sync/-/sync-0.1.14.tgz#e35ff18ab314eb26d3bc4d8f55e3c8530b8eed0a" 453 - integrity sha512-8+8o4aWnWVJiiNG63k9K/etFz7KZgwmYKIXgT13AO8hGRAKO4eZDTtM2GbEfKqja2Grs7iHSZ4EIKoTYaK4Daw== 454 dependencies: 455 - "@atproto/common" "^0.4.8" 456 - "@atproto/identity" "^0.4.6" 457 - "@atproto/lexicon" "^0.4.7" 458 - "@atproto/repo" "^0.6.5" 459 - "@atproto/syntax" "^0.3.3" 460 - "@atproto/xrpc-server" "^0.7.11" 461 multiformats "^9.9.0" 462 p-queue "^6.6.2" 463 ws "^8.12.0" 464 465 - "@atproto/syntax@^0.3.3": 466 - version "0.3.3" 467 - resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.3.3.tgz#6debe8983985378104822172a128e429931bf3f7" 468 - integrity sha512-F1LZweesNYdBbZBXVa72N/cSvchG8Q1tG4/209ZXbIuM3FwQtkgn+zgmmV4P4ORmhOeXPBNXvMBpcqiwx/gEQQ== 469 - 470 - "@atproto/syntax@^0.4.0": 471 version "0.4.0" 472 resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.4.0.tgz#bec71552087bb24c208a06ef418c0040b65542f2" 473 integrity sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA== 474 475 - "@atproto/xrpc-server@^0.7.11": 476 - version "0.7.11" 477 - resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.7.11.tgz#efadcfdaaaa0ff5576d1ee97e46dcbc6dafcb0b6" 478 - integrity sha512-kywMZMw2FbUFk0xBCtSI1mik+dc3uSvloNndI+N4X/+Qv1FGvoCRMi//9TqaSL13MFevTOynVoMVmaZbnaDG9A== 479 dependencies: 480 - "@atproto/common" "^0.4.8" 481 "@atproto/crypto" "^0.4.4" 482 - "@atproto/lexicon" "^0.4.7" 483 - "@atproto/xrpc" "^0.6.9" 484 cbor-x "^1.5.1" 485 express "^4.17.2" 486 http-errors "^2.0.0" ··· 496 integrity sha512-Ut3iISNLujlmY9Gu8sNU+SPDJDvqlVzWddU8qUr0Yae5oD4SguaUFjjhireMGhQ3M5E0KljQgDbTmnBo1kIZ3w== 497 dependencies: 498 "@atproto/lexicon" "^0.4.10" 499 - zod "^3.23.8" 500 - 501 - "@atproto/xrpc@^0.6.9": 502 - version "0.6.9" 503 - resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.6.9.tgz#6e1effc42cdab40741a73ead5c276183284887d2" 504 - integrity sha512-vQGA7++DYMNaHx3C7vEjT+2X6hYYLG7JNbBnDLWu0km1/1KYXgRkAz4h+FfYqg1mvzvIorHU7DAs5wevkJDDlw== 505 - dependencies: 506 - "@atproto/lexicon" "^0.4.7" 507 zod "^3.23.8" 508 509 "@aws-crypto/crc32@3.0.0": ··· 1235 resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" 1236 integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== 1237 1238 - "@babel/compat-data@^7.23.3": 1239 - version "7.23.5" 1240 - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" 1241 - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== 1242 - 1243 "@babel/compat-data@^7.23.5": 1244 version "7.24.4" 1245 resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" ··· 1255 resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" 1256 integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== 1257 1258 - "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.20.0", "@babel/core@^7.20.2": 1259 version "7.22.10" 1260 resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.10.tgz#aad442c7bcd1582252cb4576747ace35bc122f35" 1261 integrity sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw== ··· 1761 dependencies: 1762 "@babel/types" "^7.25.9" 1763 1764 - "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": 1765 version "7.22.5" 1766 resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" 1767 integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== ··· 2045 js-tokens "^4.0.0" 2046 picocolors "^1.0.0" 2047 2048 - "@babel/parser@^7.1.0", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.10", "@babel/parser@^7.22.5": 2049 version "7.22.10" 2050 resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.10.tgz#e37634f9a12a1716136c44624ef54283cabd3f55" 2051 integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== ··· 2123 "@babel/helper-remap-async-to-generator" "^7.18.9" 2124 "@babel/plugin-syntax-async-generators" "^7.8.4" 2125 2126 - "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.0": 2127 version "7.18.6" 2128 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" 2129 integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== ··· 2157 dependencies: 2158 "@babel/helper-plugin-utils" "^7.25.9" 2159 2160 - "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0": 2161 version "7.18.6" 2162 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" 2163 integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== ··· 2192 "@babel/helper-plugin-utils" "^7.18.6" 2193 "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 2194 2195 - "@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.20.0": 2196 version "7.21.0" 2197 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" 2198 integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== ··· 2263 dependencies: 2264 "@babel/helper-plugin-utils" "^7.25.9" 2265 2266 - "@babel/plugin-syntax-export-namespace-from@^7.8.3": 2267 - version "7.8.3" 2268 - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" 2269 - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== 2270 - dependencies: 2271 - "@babel/helper-plugin-utils" "^7.8.3" 2272 - 2273 "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.22.5": 2274 version "7.22.5" 2275 resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz#163b820b9e7696ce134df3ee716d9c0c98035859" ··· 2597 dependencies: 2598 "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.9" 2599 "@babel/helper-plugin-utils" "^7.25.9" 2600 - 2601 - "@babel/plugin-transform-export-namespace-from@^7.22.11": 2602 - version "7.23.4" 2603 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" 2604 - integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== 2605 - dependencies: 2606 - "@babel/helper-plugin-utils" "^7.22.5" 2607 - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" 2608 2609 "@babel/plugin-transform-export-namespace-from@^7.25.9": 2610 version "7.25.9" ··· 2613 dependencies: 2614 "@babel/helper-plugin-utils" "^7.25.9" 2615 2616 - "@babel/plugin-transform-flow-strip-types@^7.20.0", "@babel/plugin-transform-flow-strip-types@^7.22.5": 2617 version "7.22.5" 2618 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2" 2619 integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA== ··· 2698 "@babel/helper-module-transforms" "^7.25.9" 2699 "@babel/helper-plugin-utils" "^7.25.9" 2700 2701 - "@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.22.5": 2702 version "7.22.5" 2703 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz#7d9875908d19b8c0536085af7b053fd5bd651bfa" 2704 integrity sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA== ··· 2788 dependencies: 2789 "@babel/helper-plugin-utils" "^7.25.9" 2790 2791 - "@babel/plugin-transform-object-rest-spread@^7.12.13": 2792 - version "7.23.4" 2793 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" 2794 - integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== 2795 - dependencies: 2796 - "@babel/compat-data" "^7.23.3" 2797 - "@babel/helper-compilation-targets" "^7.22.15" 2798 - "@babel/helper-plugin-utils" "^7.22.5" 2799 - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 2800 - "@babel/plugin-transform-parameters" "^7.23.3" 2801 - 2802 "@babel/plugin-transform-object-rest-spread@^7.24.7", "@babel/plugin-transform-object-rest-spread@^7.25.9": 2803 version "7.25.9" 2804 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" ··· 2844 version "7.22.5" 2845 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz#c3542dd3c39b42c8069936e48717a8d179d63a18" 2846 integrity sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg== 2847 - dependencies: 2848 - "@babel/helper-plugin-utils" "^7.22.5" 2849 - 2850 - "@babel/plugin-transform-parameters@^7.22.15", "@babel/plugin-transform-parameters@^7.23.3": 2851 - version "7.23.3" 2852 - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" 2853 - integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== 2854 dependencies: 2855 "@babel/helper-plugin-utils" "^7.22.5" 2856 ··· 3246 core-js-compat "^3.38.1" 3247 semver "^6.3.1" 3248 3249 - "@babel/preset-flow@^7.13.13": 3250 - version "7.22.5" 3251 - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.22.5.tgz#876f24ab6b38bd79703a93f32020ca2162312784" 3252 - integrity sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q== 3253 - dependencies: 3254 - "@babel/helper-plugin-utils" "^7.22.5" 3255 - "@babel/helper-validator-option" "^7.22.5" 3256 - "@babel/plugin-transform-flow-strip-types" "^7.22.5" 3257 - 3258 "@babel/preset-modules@0.1.6-no-external-plugins": 3259 version "0.1.6-no-external-plugins" 3260 resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" ··· 3276 "@babel/plugin-transform-react-jsx-development" "^7.22.5" 3277 "@babel/plugin-transform-react-pure-annotations" "^7.23.3" 3278 3279 - "@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.16.7": 3280 version "7.22.5" 3281 resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz#16367d8b01d640e9a507577ed4ee54e0101e51c8" 3282 integrity sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ== ··· 3297 "@babel/plugin-syntax-jsx" "^7.24.1" 3298 "@babel/plugin-transform-modules-commonjs" "^7.24.1" 3299 "@babel/plugin-transform-typescript" "^7.24.1" 3300 - 3301 - "@babel/register@^7.13.16": 3302 - version "7.22.5" 3303 - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.22.5.tgz#e4d8d0f615ea3233a27b5c6ada6750ee59559939" 3304 - integrity sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ== 3305 - dependencies: 3306 - clone-deep "^4.0.1" 3307 - find-cache-dir "^2.0.0" 3308 - make-dir "^2.1.0" 3309 - pirates "^4.0.5" 3310 - source-map-support "^0.5.16" 3311 3312 "@babel/regjsgen@^0.8.0": 3313 version "0.8.0" ··· 3476 "@babel/helper-validator-identifier" "^7.22.5" 3477 to-fast-properties "^2.0.0" 3478 3479 - "@babel/types@^7.19.0", "@babel/types@^7.24.0", "@babel/types@^7.24.5": 3480 - version "7.24.5" 3481 - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" 3482 - integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== 3483 - dependencies: 3484 - "@babel/helper-string-parser" "^7.24.1" 3485 - "@babel/helper-validator-identifier" "^7.24.5" 3486 - to-fast-properties "^2.0.0" 3487 - 3488 "@babel/types@^7.21.2", "@babel/types@^7.22.15", "@babel/types@^7.23.0": 3489 version "7.23.0" 3490 resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" ··· 3501 dependencies: 3502 "@babel/helper-string-parser" "^7.23.4" 3503 "@babel/helper-validator-identifier" "^7.22.20" 3504 to-fast-properties "^2.0.0" 3505 3506 "@babel/types@^7.24.6": ··· 3842 resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d" 3843 integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og== 3844 3845 - "@expo/bunyan@^4.0.0": 3846 - version "4.0.0" 3847 - resolved "https://registry.yarnpkg.com/@expo/bunyan/-/bunyan-4.0.0.tgz#be0c1de943c7987a9fbd309ea0b1acd605890c7b" 3848 - integrity sha512-Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA== 3849 - dependencies: 3850 - uuid "^8.0.0" 3851 - optionalDependencies: 3852 - mv "~2" 3853 - safe-json-stringify "~1" 3854 - 3855 - "@expo/cli@0.22.24": 3856 - version "0.22.24" 3857 - resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-0.22.24.tgz#8fe2291e53a536869832e6700918175481936f88" 3858 - integrity sha512-lhdenxBC8/x/vL39j79eXE09mOaqNNLmiSDdY/PblnI+UNzGgsQ48hBTYa/MQhd0ioXXVKurZL2941dLKwcxJw== 3859 dependencies: 3860 "@0no-co/graphql.web" "^1.0.8" 3861 "@babel/runtime" "^7.20.0" 3862 "@expo/code-signing-certificates" "^0.0.5" 3863 - "@expo/config" "~10.0.11" 3864 - "@expo/config-plugins" "~9.0.17" 3865 "@expo/devcert" "^1.1.2" 3866 - "@expo/env" "~0.4.2" 3867 - "@expo/image-utils" "^0.6.5" 3868 - "@expo/json-file" "^9.0.2" 3869 - "@expo/metro-config" "~0.19.12" 3870 - "@expo/osascript" "^2.1.6" 3871 - "@expo/package-manager" "^1.7.2" 3872 - "@expo/plist" "^0.2.2" 3873 - "@expo/prebuild-config" "^8.0.31" 3874 - "@expo/rudder-sdk-node" "^1.1.1" 3875 "@expo/spawn-async" "^1.7.2" 3876 "@expo/ws-tunnel" "^1.0.1" 3877 "@expo/xcpretty" "^4.3.0" 3878 - "@react-native/dev-middleware" "0.76.9" 3879 "@urql/core" "^5.0.6" 3880 "@urql/exchange-retry" "^1.3.0" 3881 accepts "^1.3.8" 3882 arg "^5.0.2" 3883 better-opn "~3.0.2" 3884 - bplist-creator "0.0.7" 3885 bplist-parser "^0.3.1" 3886 - cacache "^18.0.2" 3887 chalk "^4.0.0" 3888 ci-info "^3.3.0" 3889 compression "^1.7.4" 3890 connect "^3.7.0" 3891 debug "^4.3.4" 3892 env-editor "^0.4.1" 3893 - fast-glob "^3.3.2" 3894 - form-data "^3.0.1" 3895 freeport-async "^2.0.0" 3896 - fs-extra "~8.1.0" 3897 getenv "^1.0.0" 3898 glob "^10.4.2" 3899 - internal-ip "^4.3.0" 3900 - is-docker "^2.0.0" 3901 - is-wsl "^2.1.1" 3902 - lodash.debounce "^4.0.8" 3903 - minimatch "^3.0.4" 3904 node-forge "^1.3.1" 3905 npm-package-arg "^11.0.0" 3906 ora "^3.4.0" ··· 3921 source-map-support "~0.5.21" 3922 stacktrace-parser "^0.1.10" 3923 structured-headers "^0.4.1" 3924 - tar "^6.2.1" 3925 - temp-dir "^2.0.0" 3926 - tempy "^0.7.1" 3927 terminal-link "^2.1.1" 3928 undici "^6.18.2" 3929 - unique-string "~2.0.0" 3930 wrap-ansi "^7.0.0" 3931 ws "^8.12.1" 3932 ··· 3938 node-forge "^1.2.1" 3939 nullthrows "^1.1.1" 3940 3941 - "@expo/config-plugins@9.0.10", "@expo/config-plugins@~9.0.10": 3942 - version "9.0.10" 3943 - resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-9.0.10.tgz#a25fd6061ea7f707213ff8344f562025f850fdc8" 3944 - integrity sha512-4piPSylJ8z3to+YZpl/6M2mLxASOdIFANA8FYihsTf9kWlyimV9L/+MGgPXJcieaHXYZZqOryf8hQFVeg/68+A== 3945 dependencies: 3946 - "@expo/config-types" "^52.0.0" 3947 - "@expo/json-file" "~9.0.0" 3948 - "@expo/plist" "^0.2.0" 3949 "@expo/sdk-runtime-versions" "^1.0.0" 3950 chalk "^4.1.2" 3951 debug "^4.3.5" ··· 3958 xcode "^3.0.1" 3959 xml2js "0.6.0" 3960 3961 - "@expo/config-plugins@^9.0.14": 3962 - version "9.0.14" 3963 - resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-9.0.14.tgz#c57cc86c238b276823ff66d96e4722366d57b12c" 3964 - integrity sha512-Lx1ebV95rTFKKQmbu4wMPLz65rKn7mqSpfANdCx+KwRxuLY2JQls8V4h3lQjG6dW8NWf9qV5QaEFAgNB6VMyOQ== 3965 dependencies: 3966 - "@expo/config-types" "^52.0.3" 3967 - "@expo/json-file" "~9.0.1" 3968 - "@expo/plist" "^0.2.1" 3969 "@expo/sdk-runtime-versions" "^1.0.0" 3970 chalk "^4.1.2" 3971 debug "^4.3.5" ··· 3978 xcode "^3.0.1" 3979 xml2js "0.6.0" 3980 3981 - "@expo/config-plugins@~9.0.17": 3982 - version "9.0.17" 3983 - resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-9.0.17.tgz#c997072209129b9f9616efa3533314b889cfd788" 3984 - integrity sha512-m24F1COquwOm7PBl5wRbkT9P9DviCXe0D7S7nQsolfbhdCWuvMkfXeoWmgjtdhy7sDlOyIgBrAdnB6MfsWKqIg== 3985 dependencies: 3986 - "@expo/config-types" "^52.0.5" 3987 - "@expo/json-file" "~9.0.2" 3988 - "@expo/plist" "^0.2.2" 3989 "@expo/sdk-runtime-versions" "^1.0.0" 3990 chalk "^4.1.2" 3991 debug "^4.3.5" ··· 4008 resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-52.0.3.tgz#511f2f868172c93abeac7183beeb921dc72d6e1e" 4009 integrity sha512-muxvuARmbysH5OGaiBRlh1Y6vfdmL56JtpXxB+y2Hfhu0ezG1U4FjZYBIacthckZPvnDCcP3xIu1R+eTo7/QFA== 4010 4011 - "@expo/config-types@^52.0.5": 4012 - version "52.0.5" 4013 - resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-52.0.5.tgz#e10a226990dd903a4e3db5992ffb3015adf13f38" 4014 - integrity sha512-AMDeuDLHXXqd8W+0zSjIt7f37vUd/BP8p43k68NHpyAvQO+z8mbQZm3cNQVAMySeayK2XoPigAFB1JF2NFajaA== 4015 4016 - "@expo/config@~10.0.11": 4017 - version "10.0.11" 4018 - resolved "https://registry.yarnpkg.com/@expo/config/-/config-10.0.11.tgz#5371ccb3b08ece4c174d5d7009d61e928e6925b0" 4019 - integrity sha512-nociJ4zr/NmbVfMNe9j/+zRlt7wz/siISu7PjdWE4WE+elEGxWWxsGzltdJG0llzrM+khx8qUiFK5aiVcdMBww== 4020 dependencies: 4021 "@babel/code-frame" "~7.10.4" 4022 - "@expo/config-plugins" "~9.0.17" 4023 - "@expo/config-types" "^52.0.5" 4024 - "@expo/json-file" "^9.0.2" 4025 deepmerge "^4.3.1" 4026 getenv "^1.0.0" 4027 glob "^10.4.2" ··· 4032 slugify "^1.3.4" 4033 sucrase "3.35.0" 4034 4035 - "@expo/config@~10.0.4": 4036 - version "10.0.5" 4037 - resolved "https://registry.yarnpkg.com/@expo/config/-/config-10.0.5.tgz#2de75e3f5d46a55f9f5140b73e0913265e6a41c6" 4038 - integrity sha512-wq48h3HlAPq5v/gMprarAiVY1aEXNBVJ+Em0vrHcYFO8UyxzR6oIao2E4Ed3VWHqhTzPXkMPH4hKCKlzFVBFwQ== 4039 dependencies: 4040 "@babel/code-frame" "~7.10.4" 4041 - "@expo/config-plugins" "~9.0.10" 4042 - "@expo/config-types" "^52.0.0" 4043 - "@expo/json-file" "^9.0.0" 4044 deepmerge "^4.3.1" 4045 getenv "^1.0.0" 4046 glob "^10.4.2" ··· 4081 dotenv-expand "~11.0.6" 4082 getenv "^1.0.0" 4083 4084 - "@expo/env@~0.4.2": 4085 - version "0.4.2" 4086 - resolved "https://registry.yarnpkg.com/@expo/env/-/env-0.4.2.tgz#911709933e6fc1b45b3d2efdb10ca2c52fac7e91" 4087 - integrity sha512-TgbCgvSk0Kq0e2fLoqHwEBL4M0ztFjnBEz0YCDm5boc1nvkV1VMuIMteVdeBwnTh8Z0oPJTwHCD49vhMEt1I6A== 4088 dependencies: 4089 chalk "^4.0.0" 4090 debug "^4.3.4" ··· 4092 dotenv-expand "~11.0.6" 4093 getenv "^1.0.0" 4094 4095 - "@expo/fingerprint@0.11.11": 4096 - version "0.11.11" 4097 - resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.11.11.tgz#ae644d4ff7dc26d1ffecce376a5209d001c49331" 4098 - integrity sha512-gNyn1KnAOpEa8gSNsYqXMTcq0fSwqU/vit6fP5863vLSKxHm/dNt/gm/uZJxrRZxKq71KUJWF6I7d3z8qIfq5g== 4099 dependencies: 4100 "@expo/spawn-async" "^1.7.2" 4101 arg "^5.0.2" ··· 4103 debug "^4.3.4" 4104 find-up "^5.0.0" 4105 getenv "^1.0.0" 4106 - minimatch "^3.0.4" 4107 p-limit "^3.1.0" 4108 resolve-from "^5.0.0" 4109 semver "^7.6.0" 4110 4111 - "@expo/html-elements@^0.4.2": 4112 - version "0.4.3" 4113 - resolved "https://registry.yarnpkg.com/@expo/html-elements/-/html-elements-0.4.3.tgz#32b4ca05dd13582164ed1be34ae87e22adfd1d5b" 4114 - integrity sha512-UwEEdnpyhUEIDe/AkFSBUmCuwcknjAuu73fd5L9Rm/BbHczYXCrtyZmzCNVBsAiHhwUjmhNWzFlr9cAkp/sxIA== 4115 4116 - "@expo/image-utils@0.3.23", "@expo/image-utils@0.6.3", "@expo/image-utils@^0.6.3", "@expo/image-utils@^0.6.5": 4117 version "0.6.3" 4118 resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.6.3.tgz#89c744460beefc686989b969121357bbd5520c8a" 4119 integrity sha512-v/JbCKBrHeudxn1gN1TgfPE/pWJSlLPrl29uXJBgrJFQVkViQvUHQNDhaS+UEa9wYI5HHh7XYmtzAehyG4L+GA== ··· 4138 json5 "^2.2.3" 4139 write-file-atomic "^2.3.0" 4140 4141 - "@expo/json-file@^9.0.2", "@expo/json-file@~9.0.2": 4142 - version "9.0.2" 4143 - resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-9.0.2.tgz#ec508c2ad17490e0c664c9d7e2ae0ce65915d3ed" 4144 - integrity sha512-yAznIUrybOIWp3Uax7yRflB0xsEpvIwIEqIjao9SGi2Gaa+N0OamWfe0fnXBSWF+2zzF4VvqwT4W5zwelchfgw== 4145 dependencies: 4146 "@babel/code-frame" "~7.10.4" 4147 json5 "^2.2.3" 4148 - write-file-atomic "^2.3.0" 4149 4150 "@expo/json-file@~9.0.1": 4151 version "9.0.1" ··· 4156 json5 "^2.2.3" 4157 write-file-atomic "^2.3.0" 4158 4159 - "@expo/metro-config@0.19.12", "@expo/metro-config@~0.19.12": 4160 - version "0.19.12" 4161 - resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.19.12.tgz#ce6d8dec9aab790874cd0299a64968f74267db1c" 4162 - integrity sha512-fhT3x1ikQWHpZgw7VrEghBdscFPz1laRYa8WcVRB18nTTqorF6S8qPYslkJu1faEziHZS7c2uyDzTYnrg/CKbg== 4163 dependencies: 4164 "@babel/core" "^7.20.0" 4165 "@babel/generator" "^7.20.5" 4166 "@babel/parser" "^7.20.0" 4167 "@babel/types" "^7.20.0" 4168 - "@expo/config" "~10.0.11" 4169 - "@expo/env" "~0.4.2" 4170 - "@expo/json-file" "~9.0.2" 4171 "@expo/spawn-async" "^1.7.2" 4172 chalk "^4.1.0" 4173 debug "^4.3.2" 4174 - fs-extra "^9.1.0" 4175 getenv "^1.0.0" 4176 glob "^10.4.2" 4177 jsc-safe-url "^0.2.4" 4178 lightningcss "~1.27.0" 4179 - minimatch "^3.0.4" 4180 postcss "~8.4.32" 4181 resolve-from "^5.0.0" 4182 4183 - "@expo/osascript@^2.1.6": 4184 - version "2.1.6" 4185 - resolved "https://registry.yarnpkg.com/@expo/osascript/-/osascript-2.1.6.tgz#d20e764526310b0d393275f904e20fbff13d18f9" 4186 - integrity sha512-SbMp4BUwDAKiFF4zZEJf32rRYMeNnLK9u4FaPo0lQRer60F+SKd20NTSys0wgssiVeQyQz2OhGLRx3cxYowAGw== 4187 dependencies: 4188 "@expo/spawn-async" "^1.7.2" 4189 exec-async "^2.2.0" 4190 4191 - "@expo/package-manager@^1.7.2": 4192 - version "1.7.2" 4193 - resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-1.7.2.tgz#67552fe03cb8e8575c29d6adf757fce009a7b2a6" 4194 - integrity sha512-wT/qh9ebNjl6xr00bYkSh93b6E/78J3JPlT6WzGbxbsnv5FIZKB/nr522oWqVe1E+ML7BpXs8WugErWDN9kOFg== 4195 dependencies: 4196 - "@expo/json-file" "^9.0.2" 4197 "@expo/spawn-async" "^1.7.2" 4198 - ansi-regex "^5.0.0" 4199 chalk "^4.0.0" 4200 - find-up "^5.0.0" 4201 - js-yaml "^3.13.1" 4202 - micromatch "^4.0.8" 4203 npm-package-arg "^11.0.0" 4204 ora "^3.4.0" 4205 resolve-workspace-root "^2.0.0" 4206 - split "^1.0.1" 4207 - sudo-prompt "9.1.1" 4208 4209 "@expo/plist@^0.2.0": 4210 version "0.2.0" ··· 4224 base64-js "^1.2.3" 4225 xmlbuilder "^14.0.0" 4226 4227 - "@expo/plist@^0.2.2": 4228 - version "0.2.2" 4229 - resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.2.2.tgz#2563b71b4aa78dc9dbc34cc3d2e1011e994bc9cd" 4230 - integrity sha512-ZZGvTO6vEWq02UAPs3LIdja+HRO18+LRI5QuDl6Hs3Ps7KX7xU6Y6kjahWKY37Rx2YjNpX07dGpBFzzC+vKa2g== 4231 dependencies: 4232 - "@xmldom/xmldom" "~0.7.7" 4233 base64-js "^1.2.3" 4234 - xmlbuilder "^14.0.0" 4235 4236 - "@expo/prebuild-config@^8.0.27", "@expo/prebuild-config@^8.0.31": 4237 - version "8.0.31" 4238 - resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-8.0.31.tgz#3612a46d56d41ecb60583faf9f5aec68cba6b93d" 4239 - integrity sha512-YTuS5ic9KolD/WA3GqgLcZytHQU1dpitlZ/cbDq8ZqkY+1ae5YWX+GkYEZf2VyECPaWnHYuDGddaTQVw5miTRg== 4240 dependencies: 4241 - "@expo/config" "~10.0.11" 4242 - "@expo/config-plugins" "~9.0.17" 4243 - "@expo/config-types" "^52.0.5" 4244 - "@expo/image-utils" "^0.6.5" 4245 - "@expo/json-file" "^9.0.2" 4246 - "@react-native/normalize-colors" "0.76.9" 4247 debug "^4.3.1" 4248 - fs-extra "^9.0.0" 4249 resolve-from "^5.0.0" 4250 semver "^7.6.0" 4251 xml2js "0.6.0" 4252 4253 - "@expo/rudder-sdk-node@^1.1.1": 4254 - version "1.1.1" 4255 - resolved "https://registry.yarnpkg.com/@expo/rudder-sdk-node/-/rudder-sdk-node-1.1.1.tgz#6aa575f346833eb6290282118766d4919c808c6a" 4256 - integrity sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ== 4257 - dependencies: 4258 - "@expo/bunyan" "^4.0.0" 4259 - "@segment/loosely-validate-event" "^2.0.0" 4260 - fetch-retry "^4.1.1" 4261 - md5 "^2.2.1" 4262 - node-fetch "^2.6.1" 4263 - remove-trailing-slash "^0.1.0" 4264 - uuid "^8.3.2" 4265 - 4266 "@expo/sdk-runtime-versions@^1.0.0": 4267 version "1.0.0" 4268 resolved "https://registry.yarnpkg.com/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz#d7ebd21b19f1c6b0395e50d78da4416941c57f7c" ··· 4280 resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-14.0.0.tgz#48ce0aa5c05873b07c0c78bfe16c870388f4de9a" 4281 integrity sha512-5orm59pdnBQlovhU9k4DbjMUZBHNlku7IRgFY56f7pcaaCnXq9yaLJoOQl9sMwNdFzf4gnkTyHmR5uN10mI9rA== 4282 4283 - "@expo/webpack-config@^19.0.0": 4284 - version "19.0.0" 4285 - resolved "https://registry.yarnpkg.com/@expo/webpack-config/-/webpack-config-19.0.0.tgz#d8ce69bdb9a99089bb0672a7dc01dc96bebad390" 4286 - integrity sha512-mX28BNyf4Cs0+4L44QQyhy5QMVfsYhOdB9Fpf3rp982KTKUsy01UFJ0irGI1jQ68jXrQn5/WU4u1pvN6DDao5Q== 4287 dependencies: 4288 "@babel/core" "^7.20.2" 4289 babel-loader "^8.3.0" ··· 4295 expo-pwa "0.0.127" 4296 find-up "^5.0.0" 4297 find-yarn-workspace-root "~2.0.0" 4298 getenv "^1.0.0" 4299 html-webpack-plugin "^5.5.0" 4300 is-wsl "^2.0.0" 4301 mini-css-extract-plugin "^2.5.2" 4302 node-html-parser "^5.2.0" 4303 - semver "~7.3.2" 4304 source-map-loader "^3.0.1" 4305 style-loader "^3.3.1" 4306 terser-webpack-plugin "^5.3.0" ··· 4503 integrity sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A== 4504 dependencies: 4505 nanoid "^3.3.1" 4506 4507 "@haileyok/bluesky-video@0.2.6": 4508 version "0.2.6" ··· 4690 resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" 4691 integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== 4692 4693 - "@ipld/car@^3.2.3": 4694 - version "3.2.4" 4695 - resolved "https://registry.yarnpkg.com/@ipld/car/-/car-3.2.4.tgz#115951ba2255ec51d865773a074e422c169fb01c" 4696 - integrity sha512-rezKd+jk8AsTGOoJKqzfjLJ3WVft7NZNH95f0pfPbicROvzTyvHCNy567HzSUd6gRXZ9im29z5ZEv9Hw49jSYw== 4697 - dependencies: 4698 - "@ipld/dag-cbor" "^7.0.0" 4699 - multiformats "^9.5.4" 4700 - varint "^6.0.0" 4701 - 4702 "@ipld/dag-cbor@^7.0.0", "@ipld/dag-cbor@^7.0.3": 4703 version "7.0.3" 4704 resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz#aa31b28afb11a807c3d627828a344e5521ac4a1e" ··· 4727 wrap-ansi "^8.1.0" 4728 wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" 4729 4730 "@isaacs/ttlcache@^1.4.1": 4731 version "1.4.1" 4732 resolved "https://registry.yarnpkg.com/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz#21fb23db34e9b6220c6ba023a0118a2dd3461ea2" ··· 4813 dependencies: 4814 "@jest/types" "^29.6.3" 4815 4816 - "@jest/create-cache-key-function@^29.6.3": 4817 version "29.7.0" 4818 resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" 4819 integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== ··· 5101 "@jridgewell/resolve-uri" "^3.1.0" 5102 "@jridgewell/sourcemap-codec" "^1.4.14" 5103 5104 "@leichtgewicht/ip-codec@^2.0.1": 5105 version "2.0.4" 5106 resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" ··· 5277 "@nodelib/fs.scandir" "2.1.5" 5278 fastq "^1.6.0" 5279 5280 - "@npmcli/fs@^3.1.0": 5281 - version "3.1.1" 5282 - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.1.tgz#59cdaa5adca95d135fc00f2bb53f5771575ce726" 5283 - integrity sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg== 5284 - dependencies: 5285 - semver "^7.3.5" 5286 - 5287 "@pkgjs/parseargs@^0.11.0": 5288 version "0.11.0" 5289 resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" ··· 5312 resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" 5313 integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== 5314 5315 "@radix-ui/number@1.1.1": 5316 version "1.1.1" 5317 resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.1.1.tgz#7b2c9225fbf1b126539551f5985769d0048d9090" ··· 6156 resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.1.1.tgz#78244efe12930c56fd255d7923865857c41ac8cb" 6157 integrity sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw== 6158 6159 - "@react-native-async-storage/async-storage@1.23.1": 6160 - version "1.23.1" 6161 - resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.23.1.tgz#cad3cd4fab7dacfe9838dce6ecb352f79150c883" 6162 - integrity sha512-Qd2kQ3yi6Y3+AcUlrHxSLlnBvpdCEMVGFlVBneVOjaFaPU61g1huc38g339ysXspwY1QZA2aNhrk/KlHGO+ewA== 6163 dependencies: 6164 merge-options "^3.0.4" 6165 ··· 6170 dependencies: 6171 merge-options "^3.0.4" 6172 6173 - "@react-native-menu/menu@^1.1.7": 6174 - version "1.1.7" 6175 - resolved "https://registry.yarnpkg.com/@react-native-menu/menu/-/menu-1.1.7.tgz#47c345038951712fd61f2bbb7d591c181c7e9742" 6176 - integrity sha512-TPu2iNrSK1Davw5BPhwzcSfMAI9NFggiISOgdlaeymA6L7aAjUGpsEaFVX+ZaHml/YtZUuC8U0zUJJc2/3VYAA== 6177 6178 - "@react-native-picker/picker@2.10.3": 6179 - version "2.10.3" 6180 - resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.10.3.tgz#6aa3604ec768f41484848025630c20346f353e54" 6181 - integrity sha512-dviSu+dgAMHBxB9vgXHUG6/mgU36bjcK7h5htYO8m2NrbUZnLXQIPIU3xqopW/eXkVHf2/QnYMMQtrxaTZXxhg== 6182 6183 - "@react-native/assets-registry@0.76.9": 6184 - version "0.76.9" 6185 - resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.76.9.tgz#ec63d32556c29bfa29e55b5e6e24c9d6e1ebbfac" 6186 - integrity sha512-pN0Ws5xsjWOZ8P37efh0jqHHQmq+oNGKT4AyAoKRpxBDDDmlAmpaYjer9Qz7PpDKF+IUyRjF/+rBsM50a8JcUg== 6187 6188 - "@react-native/babel-plugin-codegen@0.76.9": 6189 - version "0.76.9" 6190 - resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.76.9.tgz#56c4bc21d08ea522e7266ffcec7d5a52e9092a0e" 6191 - integrity sha512-vxL/vtDEIYHfWKm5oTaEmwcnNGsua/i9OjIxBDBFiJDu5i5RU3bpmDiXQm/bJxrJNPRp5lW0I0kpGihVhnMAIQ== 6192 dependencies: 6193 - "@react-native/codegen" "0.76.9" 6194 6195 - "@react-native/babel-preset@0.76.3", "@react-native/babel-preset@0.76.9": 6196 - version "0.76.9" 6197 - resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.76.9.tgz#08bc4198c67a0d07905dcc48cb4105b8d0f6ecd9" 6198 - integrity sha512-TbSeCplCM6WhL3hR2MjC/E1a9cRnMLz7i767T7mP90oWkklEjyPxWl+0GGoVGnJ8FC/jLUupg/HvREKjjif6lw== 6199 dependencies: 6200 "@babel/core" "^7.25.2" 6201 "@babel/plugin-proposal-export-default-from" "^7.24.7" ··· 6238 "@babel/plugin-transform-typescript" "^7.25.2" 6239 "@babel/plugin-transform-unicode-regex" "^7.24.7" 6240 "@babel/template" "^7.25.0" 6241 - "@react-native/babel-plugin-codegen" "0.76.9" 6242 - babel-plugin-syntax-hermes-parser "^0.25.1" 6243 babel-plugin-transform-flow-enums "^0.0.2" 6244 react-refresh "^0.14.0" 6245 6246 - "@react-native/codegen@0.76.9": 6247 - version "0.76.9" 6248 - resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.76.9.tgz#b386fae4d893e5e7ffba19833c7d31a330a2f559" 6249 - integrity sha512-AzlCHMTKrAVC2709V4ZGtBXmGVtWTpWm3Ruv5vXcd3/anH4mGucfJ4rjbWKdaYQJMpXa3ytGomQrsIsT/s8kgA== 6250 dependencies: 6251 - "@babel/parser" "^7.25.3" 6252 glob "^7.1.1" 6253 - hermes-parser "0.23.1" 6254 invariant "^2.2.4" 6255 - jscodeshift "^0.14.0" 6256 - mkdirp "^0.5.1" 6257 nullthrows "^1.1.1" 6258 yargs "^17.6.2" 6259 6260 - "@react-native/community-cli-plugin@0.76.9": 6261 - version "0.76.9" 6262 - resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.76.9.tgz#74f9f2dfe11aa5515522e006808b9aa2fd60afe3" 6263 - integrity sha512-08jx8ixCjjd4jNQwNpP8yqrjrDctN2qvPPlf6ebz1OJQk8e1sbUl3wVn1zhhMvWrYcaraDnatPb5uCPq+dn3NQ== 6264 dependencies: 6265 - "@react-native/dev-middleware" "0.76.9" 6266 - "@react-native/metro-babel-transformer" "0.76.9" 6267 chalk "^4.0.0" 6268 - execa "^5.1.1" 6269 invariant "^2.2.4" 6270 - metro "^0.81.0" 6271 - metro-config "^0.81.0" 6272 - metro-core "^0.81.0" 6273 - node-fetch "^2.2.0" 6274 - readline "^1.3.0" 6275 semver "^7.1.3" 6276 6277 - "@react-native/debugger-frontend@0.76.9": 6278 - version "0.76.9" 6279 - resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.76.9.tgz#b329b8e5dccda282a11a107a79fa65268b2e029c" 6280 - integrity sha512-0Ru72Bm066xmxFuOXhhvrryxvb57uI79yDSFf+hxRpktkC98NMuRenlJhslMrbJ6WjCu1vOe/9UjWNYyxXTRTA== 6281 6282 - "@react-native/dev-middleware@0.76.9": 6283 - version "0.76.9" 6284 - resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.76.9.tgz#2fdb716707d90b4d085cabb61cc466fabdd2500f" 6285 - integrity sha512-xkd3C3dRcmZLjFTEAOvC14q3apMLouIvJViCZY/p1EfCMrNND31dgE1dYrLTiI045WAWMt5bD15i6f7dE2/QWA== 6286 dependencies: 6287 "@isaacs/ttlcache" "^1.4.1" 6288 - "@react-native/debugger-frontend" "0.76.9" 6289 chrome-launcher "^0.15.2" 6290 chromium-edge-launcher "^0.2.0" 6291 connect "^3.6.5" ··· 6293 invariant "^2.2.4" 6294 nullthrows "^1.1.1" 6295 open "^7.0.3" 6296 - selfsigned "^2.4.1" 6297 - serve-static "^1.13.1" 6298 ws "^6.2.3" 6299 6300 - "@react-native/eslint-config@^0.76.9": 6301 - version "0.76.9" 6302 - resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.76.9.tgz#fb13b1642e8d24351caf304a34ad1d6dd5ab3c86" 6303 - integrity sha512-qPAF8o01NQBOfpr+oaVXRABC/GEqNs378cUBNsqQjXpVHJtF13cbMF+2YEpp4zKfv3JSWtdrHd3oAK0UF86O4Q== 6304 dependencies: 6305 "@babel/core" "^7.25.2" 6306 "@babel/eslint-parser" "^7.25.1" 6307 - "@react-native/eslint-plugin" "0.76.9" 6308 "@typescript-eslint/eslint-plugin" "^7.1.1" 6309 "@typescript-eslint/parser" "^7.1.1" 6310 eslint-config-prettier "^8.5.0" ··· 6315 eslint-plugin-react-hooks "^4.6.0" 6316 eslint-plugin-react-native "^4.0.0" 6317 6318 - "@react-native/eslint-plugin@0.76.9": 6319 - version "0.76.9" 6320 - resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.76.9.tgz#da1e329e27e3141a1060d5566b0981e6a4de9b90" 6321 - integrity sha512-8tIIbICmbsYBUy/Zxl7FF9O0OfQa2ycBUHOWiAN16l7fR9CEyfqM3wY5gcJFPTB9gafGfOR/44876S/vhzNdCQ== 6322 6323 - "@react-native/gradle-plugin@0.76.9": 6324 - version "0.76.9" 6325 - resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.76.9.tgz#b77ae6614c336a46d91ea61b8967d26848759eb1" 6326 - integrity sha512-uGzp3dL4GfNDz+jOb8Nik1Vrfq1LHm0zESizrGhHACFiFlUSflVAnWuUAjlZlz5XfLhzGVvunG4Vdrpw8CD2ng== 6327 6328 - "@react-native/js-polyfills@0.76.9": 6329 - version "0.76.9" 6330 - resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.76.9.tgz#91be7bc48926bc31ebb7e64fc98c86ccb616b1fb" 6331 - integrity sha512-s6z6m8cK4SMjIX1hm8LT187aQ6//ujLrjzDBogqDCYXRbfjbAYovw5as/v2a2rhUIyJbS3UjokZm3W0H+Oh/RQ== 6332 6333 - "@react-native/metro-babel-transformer@0.76.9": 6334 - version "0.76.9" 6335 - resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.76.9.tgz#898fcb39368b1a5b1e254ab51eb7840cc496da77" 6336 - integrity sha512-HGq11347UHNiO/NvVbAO35hQCmH8YZRs7in7nVq7SL99pnpZK4WXwLdAXmSuwz5uYqOuwnKYDlpadz8fkE94Mg== 6337 - dependencies: 6338 - "@babel/core" "^7.25.2" 6339 - "@react-native/babel-preset" "0.76.9" 6340 - hermes-parser "0.23.1" 6341 - nullthrows "^1.1.1" 6342 6343 - "@react-native/normalize-colors@0.76.1", "@react-native/normalize-colors@0.76.8", "@react-native/normalize-colors@0.76.9", "@react-native/normalize-colors@^0.73.0", "@react-native/normalize-colors@^0.74.1": 6344 - version "0.76.1" 6345 - resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.76.1.tgz#df8d54d78917a9f075283382fec834f5ccaecefd" 6346 - integrity sha512-/+CUk/wGWIdXbJYVLw/q6Fs8Z0x91zzfXIbNiZUdSW1TNEDmytkF371H8a1/Nx3nWa1RqCMVsaZHCG4zqxeDvg== 6347 6348 - "@react-native/typescript-config@^0.76.9": 6349 - version "0.76.9" 6350 - resolved "https://registry.yarnpkg.com/@react-native/typescript-config/-/typescript-config-0.76.9.tgz#0d567de7a5e250eada80536f950a8b6cbaf78b71" 6351 - integrity sha512-68xGswpZOrCvDd1Wu6H7ZdluIDmNbN0Uq8RVnm+IQMnYx90fVHL+iNW4hClgoY/TIcsWnQQL6shES4n/1kz/fg== 6352 - 6353 - "@react-native/virtualized-lists@0.76.9": 6354 - version "0.76.9" 6355 - resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.76.9.tgz#23b94fe2525d6b3b974604a14ee7810384420dcd" 6356 - integrity sha512-2neUfZKuqMK2LzfS8NyOWOyWUJOWgDym5fUph6fN9qF+LNPjAvnc4Zr9+o+59qjNu/yXwQgVMWNU4+8WJuPVWw== 6357 dependencies: 6358 invariant "^2.2.4" 6359 nullthrows "^1.1.1" ··· 6427 version "1.1.0" 6428 resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" 6429 integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== 6430 - 6431 - "@segment/loosely-validate-event@^2.0.0": 6432 - version "2.0.0" 6433 - resolved "https://registry.yarnpkg.com/@segment/loosely-validate-event/-/loosely-validate-event-2.0.0.tgz#87dfc979e5b4e7b82c5f1d8b722dfd5d77644681" 6434 - integrity sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw== 6435 - dependencies: 6436 - component-type "^1.2.1" 6437 - join-component "^1.1.0" 6438 6439 "@sentry-internal/browser-utils@8.54.0": 6440 version "8.54.0" ··· 7169 pretty-format "^29.0.3" 7170 redent "^3.0.0" 7171 7172 - "@testing-library/react-native@^12.8.1": 7173 - version "12.9.0" 7174 - resolved "https://registry.yarnpkg.com/@testing-library/react-native/-/react-native-12.9.0.tgz#9c727d9ffec91024be3288ed9376df3673154784" 7175 - integrity sha512-wIn/lB1FjV2N4Q7i9PWVRck3Ehwq5pkhAef5X5/bmQ78J/NoOsGbVY2/DG5Y9Lxw+RfE+GvSEh/fe5Tz6sKSvw== 7176 dependencies: 7177 jest-matcher-utils "^29.7.0" 7178 pretty-format "^29.7.0" 7179 redent "^3.0.0" ··· 7590 resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" 7591 integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== 7592 7593 - "@types/node-forge@^1.3.0": 7594 - version "1.3.11" 7595 - resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" 7596 - integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== 7597 - dependencies: 7598 - "@types/node" "*" 7599 - 7600 "@types/node@*": 7601 version "20.5.1" 7602 resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.1.tgz#178d58ee7e4834152b0e8b4d30cbfab578b9bb30" 7603 integrity sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg== 7604 7605 "@types/node@^20.14.3": 7606 version "20.17.6" ··· 7634 resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" 7635 integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== 7636 7637 - "@types/react-dom@^18.3.1": 7638 - version "18.3.1" 7639 - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.1.tgz#1e4654c08a9cdcfb6594c780ac59b55aad42fe07" 7640 - integrity sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ== 7641 - dependencies: 7642 - "@types/react" "*" 7643 7644 "@types/react-responsive@^8.0.5": 7645 version "8.0.5" ··· 7648 dependencies: 7649 "@types/react" "*" 7650 7651 - "@types/react-test-renderer@^17.0.1": 7652 - version "17.0.2" 7653 - resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-17.0.2.tgz#5f800a39b12ac8d2a2149e7e1885215bcf4edbbf" 7654 - integrity sha512-+F1KONQTBHDBBhbHuT2GNydeMpPuviduXIVJRB7Y4nma4NR5DrTJfMMZ+jbhEHbpwL+Uqhs1WXh4KHiyrtYTPg== 7655 - dependencies: 7656 - "@types/react" "^17" 7657 - 7658 - "@types/react@*", "@types/react@^17", "@types/react@^18": 7659 version "18.2.20" 7660 resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.20.tgz#1605557a83df5c8a2cc4eeb743b3dfc0eb6aaeb2" 7661 integrity sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw== ··· 8125 dependencies: 8126 debug "4" 8127 8128 - aggregate-error@^3.0.0: 8129 - version "3.1.0" 8130 - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" 8131 - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 8132 - dependencies: 8133 - clean-stack "^2.0.0" 8134 - indent-string "^4.0.0" 8135 8136 ajv-formats@^2.1.1: 8137 version "2.1.1" ··· 8547 resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" 8548 integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== 8549 8550 - ast-types@0.15.2: 8551 - version "0.15.2" 8552 - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.15.2.tgz#39ae4809393c4b16df751ee563411423e85fb49d" 8553 - integrity sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg== 8554 - dependencies: 8555 - tslib "^2.0.1" 8556 - 8557 async-limiter@~1.0.0: 8558 version "1.0.1" 8559 resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" ··· 8607 form-data "^4.0.0" 8608 proxy-from-env "^1.1.0" 8609 8610 - babel-core@^7.0.0-bridge.0: 8611 - version "7.0.0-bridge.0" 8612 - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" 8613 - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== 8614 - 8615 babel-jest@^29.2.1: 8616 version "29.6.3" 8617 resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.6.3.tgz#e62f6c38f3ec8c147244168ee18ef0b919f10348" ··· 8737 dependencies: 8738 "@babel/helper-define-polyfill-provider" "^0.6.3" 8739 8740 - babel-plugin-react-compiler@19.0.0-beta-a7bf2bd-20241110: 8741 - version "19.0.0-beta-a7bf2bd-20241110" 8742 - resolved "https://registry.yarnpkg.com/babel-plugin-react-compiler/-/babel-plugin-react-compiler-19.0.0-beta-a7bf2bd-20241110.tgz#9e7abf2d9b6d0908cca7df010695678b830b36ae" 8743 - integrity sha512-WdxXtLxsV4gh/GlEK4fuFDGkcED0Wb9UJEBB6Uc1SFqRFEmJNFKboW+Z4NUS5gYrPImqrjh4IwHAmgS6ZBg4Cg== 8744 dependencies: 8745 - "@babel/types" "^7.19.0" 8746 8747 babel-plugin-react-native-web@~0.19.13: 8748 version "0.19.13" 8749 resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.19.13.tgz#bf919bd6f18c4689dd1a528a82bda507363b953d" 8750 integrity sha512-4hHoto6xaN23LCyZgL9LJZc3olmAxd7b6jDzlZnKXAh4rRAbZRKNBJoOOdp46OBqgy+K0t0guTj5/mhA8inymQ== 8751 8752 - babel-plugin-syntax-hermes-parser@^0.23.1: 8753 - version "0.23.1" 8754 - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.23.1.tgz#470e9d1d30ad670d4c8a37138e22ae39c843d1ff" 8755 - integrity sha512-uNLD0tk2tLUjGFdmCk+u/3FEw2o+BAwW4g+z2QVlxJrzZYOOPADroEcNtTPt5lNiScctaUmnsTkVEnOwZUOLhA== 8756 - dependencies: 8757 - hermes-parser "0.23.1" 8758 - 8759 - babel-plugin-syntax-hermes-parser@^0.25.1: 8760 version "0.25.1" 8761 resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz#58b539df973427fcfbb5176a3aec7e5dee793cb0" 8762 integrity sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ== ··· 8793 "@babel/plugin-syntax-optional-chaining" "^7.8.3" 8794 "@babel/plugin-syntax-top-level-await" "^7.8.3" 8795 8796 - babel-preset-expo@^12.0.2: 8797 - version "12.0.2" 8798 - resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-12.0.2.tgz#1a5f2017332871eb976c3faf8f5f586f37b5f257" 8799 - integrity sha512-WLApoPw4sOnwwJY+tzp270ndUNfq6xXcZEQUjEQJr8YyDd6uacz7/4iyt2Wl4wEQTabm9DYIZ3GVuNkZzL0M1g== 8800 - dependencies: 8801 - "@babel/plugin-proposal-decorators" "^7.12.9" 8802 - "@babel/plugin-transform-export-namespace-from" "^7.22.11" 8803 - "@babel/plugin-transform-object-rest-spread" "^7.12.13" 8804 - "@babel/plugin-transform-parameters" "^7.22.15" 8805 - "@babel/preset-react" "^7.22.15" 8806 - "@babel/preset-typescript" "^7.23.0" 8807 - "@react-native/babel-preset" "0.76.3" 8808 - babel-plugin-react-native-web "~0.19.13" 8809 - react-refresh "^0.14.2" 8810 - 8811 - babel-preset-expo@~12.0.11: 8812 - version "12.0.11" 8813 - resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-12.0.11.tgz#3bbac54f269ae0cc94d198260e26d5020d146127" 8814 - integrity sha512-4m6D92nKEieg+7DXa8uSvpr0GjfuRfM/G0t0I/Q5hF8HleEv5ms3z4dJ+p52qXSJsm760tMqLdO93Ywuoi7cCQ== 8815 dependencies: 8816 "@babel/plugin-proposal-decorators" "^7.12.9" 8817 - "@babel/plugin-transform-export-namespace-from" "^7.22.11" 8818 - "@babel/plugin-transform-object-rest-spread" "^7.12.13" 8819 - "@babel/plugin-transform-parameters" "^7.22.15" 8820 "@babel/preset-react" "^7.22.15" 8821 "@babel/preset-typescript" "^7.23.0" 8822 - "@react-native/babel-preset" "0.76.9" 8823 babel-plugin-react-native-web "~0.19.13" 8824 react-refresh "^0.14.2" 8825 8826 babel-preset-jest@^29.6.3: 8827 version "29.6.3" ··· 8900 resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" 8901 integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== 8902 8903 binary-extensions@^2.0.0: 8904 version "2.2.0" 8905 resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" ··· 8969 resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" 8970 integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== 8971 8972 - bplist-creator@0.0.7: 8973 - version "0.0.7" 8974 - resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45" 8975 - integrity sha512-xp/tcaV3T5PCiaY04mXga7o/TE+t95gqeLmADeBI1CvZtdWTbgBt3uLpvh4UWtenKeBhCV6oVxGk38yZr2uYEA== 8976 - dependencies: 8977 - stream-buffers "~2.2.0" 8978 - 8979 bplist-creator@0.1.0: 8980 version "0.1.0" 8981 resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" ··· 9019 dependencies: 9020 fill-range "^7.0.1" 9021 9022 - braces@^3.0.3: 9023 - version "3.0.3" 9024 - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" 9025 - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== 9026 - dependencies: 9027 - fill-range "^7.1.1" 9028 - 9029 brorand@^1.1.0: 9030 version "1.1.0" 9031 resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" ··· 9068 dependencies: 9069 node-int64 "^0.4.0" 9070 9071 - buffer-alloc-unsafe@^1.1.0: 9072 - version "1.1.0" 9073 - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" 9074 - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== 9075 - 9076 - buffer-alloc@^1.1.0: 9077 - version "1.2.0" 9078 - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" 9079 - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== 9080 - dependencies: 9081 - buffer-alloc-unsafe "^1.1.0" 9082 - buffer-fill "^1.0.0" 9083 - 9084 - buffer-fill@^1.0.0: 9085 - version "1.0.0" 9086 - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" 9087 - integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== 9088 - 9089 buffer-from@^1.0.0: 9090 version "1.1.2" 9091 resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" ··· 9130 resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" 9131 integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 9132 9133 - cacache@^18.0.2: 9134 - version "18.0.3" 9135 - resolved "https://registry.yarnpkg.com/cacache/-/cacache-18.0.3.tgz#864e2c18414e1e141ae8763f31e46c2cb96d1b21" 9136 - integrity sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg== 9137 - dependencies: 9138 - "@npmcli/fs" "^3.1.0" 9139 - fs-minipass "^3.0.0" 9140 - glob "^10.2.2" 9141 - lru-cache "^10.0.1" 9142 - minipass "^7.0.3" 9143 - minipass-collect "^2.0.1" 9144 - minipass-flush "^1.0.5" 9145 - minipass-pipeline "^1.2.4" 9146 - p-map "^4.0.0" 9147 - ssri "^10.0.0" 9148 - tar "^6.1.11" 9149 - unique-filename "^3.0.0" 9150 - 9151 call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: 9152 version "1.0.2" 9153 resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" ··· 9315 resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 9316 integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 9317 9318 - charenc@0.0.2: 9319 - version "0.0.2" 9320 - resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" 9321 - integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== 9322 - 9323 chokidar@3.5.1: 9324 version "3.5.1" 9325 resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" ··· 9355 resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" 9356 integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== 9357 9358 - chownr@^2.0.0: 9359 - version "2.0.0" 9360 - resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" 9361 - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== 9362 9363 chrome-launcher@^0.15.2: 9364 version "0.15.2" ··· 9408 integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== 9409 dependencies: 9410 source-map "~0.6.0" 9411 - 9412 - clean-stack@^2.0.0: 9413 - version "2.2.0" 9414 - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 9415 - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 9416 9417 clean-webpack-plugin@^4.0.0: 9418 version "4.0.0" ··· 9485 strip-ansi "^6.0.1" 9486 wrap-ansi "^7.0.0" 9487 9488 - clone-deep@^4.0.1: 9489 - version "4.0.1" 9490 - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" 9491 - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== 9492 - dependencies: 9493 - is-plain-object "^2.0.4" 9494 - kind-of "^6.0.2" 9495 - shallow-clone "^3.0.0" 9496 - 9497 clone@^1.0.2: 9498 version "1.0.4" 9499 resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" ··· 9508 version "4.6.0" 9509 resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 9510 integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== 9511 9512 collect-v8-coverage@^1.0.0: 9513 version "1.0.2" ··· 9626 resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 9627 integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== 9628 9629 - component-type@^1.2.1: 9630 - version "1.2.1" 9631 - resolved "https://registry.yarnpkg.com/component-type/-/component-type-1.2.1.tgz#8a47901700238e4fc32269771230226f24b415a9" 9632 - integrity sha512-Kgy+2+Uwr75vAi6ChWXgHuLvd+QLD7ssgpaRq2zCvt80ptvAfMc/hijcJxXkBa2wMlEZcJvC2H8Ubo+A9ATHIg== 9633 - 9634 compressible@~2.0.16: 9635 version "2.0.18" 9636 resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" ··· 9823 dependencies: 9824 node-fetch "^2.6.12" 9825 9826 - cross-spawn@^6.0.0, cross-spawn@^6.0.5: 9827 version "6.0.5" 9828 resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 9829 integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== ··· 9842 path-key "^3.1.0" 9843 shebang-command "^2.0.0" 9844 which "^2.0.1" 9845 - 9846 - crypt@0.0.2: 9847 - version "0.0.2" 9848 - resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" 9849 - integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== 9850 9851 crypto-random-string@^2.0.0: 9852 version "2.0.0" ··· 10125 dependencies: 10126 ms "^2.1.3" 10127 10128 decamelize@^1.2.0: 10129 version "1.2.0" 10130 resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" ··· 10166 version "4.3.1" 10167 resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" 10168 integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== 10169 - 10170 - default-gateway@^4.2.0: 10171 - version "4.2.0" 10172 - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" 10173 - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== 10174 - dependencies: 10175 - execa "^1.0.0" 10176 - ip-regex "^2.1.0" 10177 10178 default-gateway@^6.0.3: 10179 version "6.0.3" ··· 10242 pify "^4.0.1" 10243 rimraf "^2.6.3" 10244 10245 - del@^6.0.0: 10246 - version "6.1.1" 10247 - resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" 10248 - integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== 10249 - dependencies: 10250 - globby "^11.0.1" 10251 - graceful-fs "^4.2.4" 10252 - is-glob "^4.0.1" 10253 - is-path-cwd "^2.2.0" 10254 - is-path-inside "^3.0.2" 10255 - p-map "^4.0.0" 10256 - rimraf "^3.0.2" 10257 - slash "^3.0.0" 10258 - 10259 delay@^5.0.0: 10260 version "5.0.0" 10261 resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" ··· 10265 version "1.0.0" 10266 resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 10267 integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 10268 - 10269 - denodeify@^1.2.1: 10270 - version "1.2.1" 10271 - resolved "https://registry.yarnpkg.com/denodeify/-/denodeify-1.2.1.tgz#3a36287f5034e699e7577901052c2e6c94251631" 10272 - integrity sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg== 10273 10274 denque@^2.1.0: 10275 version "2.1.0" ··· 11042 dependencies: 11043 "@typescript-eslint/utils" "^5.61.0" 11044 11045 - eslint-plugin-react-compiler@19.0.0-beta-a7bf2bd-20241110: 11046 - version "19.0.0-beta-a7bf2bd-20241110" 11047 - resolved "https://registry.yarnpkg.com/eslint-plugin-react-compiler/-/eslint-plugin-react-compiler-19.0.0-beta-a7bf2bd-20241110.tgz#b03c043cc70cc9297e4f79f3370900aacd013d13" 11048 - integrity sha512-b5/hRnOQlnH9CEnJQ6UrPoIAG4y/wIGv+OVEHTeAkbq+1uojfcuQyLToYvK1T9a6vz5WQHeMjQqFOZk3mtWorg== 11049 dependencies: 11050 "@babel/core" "^7.24.4" 11051 "@babel/parser" "^7.24.4" 11052 "@babel/plugin-proposal-private-methods" "^7.18.6" 11053 - hermes-parser "^0.20.1" 11054 zod "^3.22.4" 11055 zod-validation-error "^3.0.3" 11056 ··· 11186 acorn-jsx "^5.3.2" 11187 eslint-visitor-keys "^3.4.1" 11188 11189 - esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: 11190 version "4.0.1" 11191 resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 11192 integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== ··· 11225 resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 11226 integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 11227 11228 event-target-shim@^5.0.0, event-target-shim@^5.0.1: 11229 version "5.0.1" 11230 resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" ··· 11265 signal-exit "^3.0.7" 11266 strip-final-newline "^3.0.0" 11267 11268 - execa@^1.0.0: 11269 - version "1.0.0" 11270 - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 11271 - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== 11272 - dependencies: 11273 - cross-spawn "^6.0.0" 11274 - get-stream "^4.0.0" 11275 - is-stream "^1.1.0" 11276 - npm-run-path "^2.0.0" 11277 - p-finally "^1.0.0" 11278 - signal-exit "^3.0.0" 11279 - strip-eof "^1.0.0" 11280 - 11281 - execa@^5.0.0, execa@^5.1.1: 11282 version "5.1.1" 11283 resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 11284 integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== ··· 11325 jest-message-util "^29.7.0" 11326 jest-util "^29.7.0" 11327 11328 - expo-application@~6.0.2: 11329 - version "6.0.2" 11330 - resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-6.0.2.tgz#4384299f0518958e2fb18b8b029af5583c642479" 11331 - integrity sha512-qcj6kGq3mc7x5yIb5KxESurFTJCoEKwNEL34RdPEvTB/xhl7SeVZlu05sZBqxB1V4Ryzq/LsCb7NHNfBbb3L7A== 11332 11333 - expo-asset@~11.0.5: 11334 - version "11.0.5" 11335 - resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-11.0.5.tgz#9d0ad28da3af220d25c001cd6e4a80cc669ee18b" 11336 - integrity sha512-TL60LmMBGVzs3NQcO8ylWqBumMh4sx0lmeJsn7+9C88fylGDhyyVnKZ1PyTXo9CVDBkndutZx2JUEQWM9BaiXw== 11337 dependencies: 11338 - "@expo/image-utils" "^0.6.5" 11339 - expo-constants "~17.0.8" 11340 - invariant "^2.2.4" 11341 - md5-file "^3.2.3" 11342 11343 - expo-blur@^14.0.3: 11344 - version "14.0.3" 11345 - resolved "https://registry.yarnpkg.com/expo-blur/-/expo-blur-14.0.3.tgz#656d6b2442bfbbfb2a6608c6bc1151b29bce6698" 11346 - integrity sha512-BL3xnqBJbYm3Hg9t/HjNjdeY7N/q8eK5tsLYxswWG1yElISWZmMvrXYekl7XaVCPfyFyz8vQeaxd7q74ZY3Wrw== 11347 11348 - expo-build-properties@~0.13.2: 11349 - version "0.13.2" 11350 - resolved "https://registry.yarnpkg.com/expo-build-properties/-/expo-build-properties-0.13.2.tgz#c9cef927fc8236551d940da4fd8dc1332e2d052d" 11351 - integrity sha512-ML2GwBgn0Bo4yPgnSGb7h3XVxCigS/KFdid3xPC2HldEioTP3UewB/2Qa4WBsam9Fb7lAuRyVHAfRoA3swpDzg== 11352 dependencies: 11353 ajv "^8.11.0" 11354 semver "^7.6.0" 11355 11356 - expo-camera@~16.0.18: 11357 - version "16.0.18" 11358 - resolved "https://registry.yarnpkg.com/expo-camera/-/expo-camera-16.0.18.tgz#5b54dc1a929c12732c585b137b04cef2b01dee3b" 11359 - integrity sha512-NP5u2yyc+wZc9GdUXH+jcEytyXZwBnHxItMwXoZQQxi4wgltwvs4XfSWjBtRZe1LngnhpBfPyPJV0aShjWlLDg== 11360 dependencies: 11361 invariant "^2.2.4" 11362 11363 - expo-clipboard@~7.0.1: 11364 - version "7.0.1" 11365 - resolved "https://registry.yarnpkg.com/expo-clipboard/-/expo-clipboard-7.0.1.tgz#31d61270e77a37d2a6b7ae9abf79e060497ef43b" 11366 - integrity sha512-rqYk0+WoqitPcPKxmMxSpLonX1E5Ije3LBYfnYMbH3xU5Gr8EAH9QnOWOi4BgahUPvcot6nbFEnx+DqARrmxKQ== 11367 11368 - expo-constants@17.0.3, expo-constants@^13.0.2, expo-constants@~17.0.5, expo-constants@~17.0.8: 11369 version "17.0.3" 11370 resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-17.0.3.tgz#a05b38e0417d59759ece1642b4d483889e04dbda" 11371 integrity sha512-lnbcX2sAu8SucHXEXxSkhiEpqH+jGrf+TF+MO6sHWIESjwOUVVYlT8qYdjR9xbxWmqFtrI4KV44FkeJf2DaFjQ== ··· 11373 "@expo/config" "~10.0.4" 11374 "@expo/env" "~0.4.0" 11375 11376 - expo-dev-client@~5.0.19: 11377 - version "5.0.20" 11378 - resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-5.0.20.tgz#349a6251d1d63c3142ad5232be653038b5c6cf15" 11379 - integrity sha512-bLNkHdU7V3I4UefgJbJnIDUBUL0LxIal/xYEx9BbgDd3B7wgQKY//+BpPIxBOKCQ22lkyiHY8y9tLhO903sAgg== 11380 dependencies: 11381 - expo-dev-launcher "5.0.35" 11382 - expo-dev-menu "6.0.25" 11383 - expo-dev-menu-interface "1.9.3" 11384 - expo-manifests "~0.15.8" 11385 - expo-updates-interface "~1.0.0" 11386 11387 - expo-dev-launcher@5.0.35: 11388 - version "5.0.35" 11389 - resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-5.0.35.tgz#098004658ccb9a55f4170427eb1a35eaf42cea17" 11390 - integrity sha512-hEQr0ZREnUMxZ6wtQgfK1lzYnbb0zar3HqYZhmANzXmE6UEPbQ4GByLzhpfz/d+xxdBVQZsrHdtiV28KPG2sog== 11391 dependencies: 11392 ajv "8.11.0" 11393 - expo-dev-menu "6.0.25" 11394 - expo-manifests "~0.15.8" 11395 resolve-from "^5.0.0" 11396 11397 - expo-dev-menu-interface@1.9.3: 11398 - version "1.9.3" 11399 - resolved "https://registry.yarnpkg.com/expo-dev-menu-interface/-/expo-dev-menu-interface-1.9.3.tgz#5dc618e498b286a50a9272a8bc71969b6db54e23" 11400 - integrity sha512-KY/dWTBE1l47i9V366JN5rC6YIdOc9hz8yAmZzkl5DrPia5l3M2WIjtnpHC9zUkNjiSiG2urYoOAq4H/uLdmyg== 11401 11402 - expo-dev-menu@6.0.25: 11403 - version "6.0.25" 11404 - resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-6.0.25.tgz#72b4607b33d0d6a3823561b1dfe1759a02a86e4a" 11405 - integrity sha512-K2m4z/I+CPWbMtHlDzU68lHaQs52De0v5gbsjAmA5ig8FrYh4MKZvPxSVANaiKENzgmtglu8qaFh7ua9Gt2TfA== 11406 dependencies: 11407 - expo-dev-menu-interface "1.9.3" 11408 11409 expo-device@7.0.1, expo-device@~4.1.1: 11410 version "7.0.1" ··· 11413 dependencies: 11414 ua-parser-js "^0.7.33" 11415 11416 - expo-device@~7.0.3: 11417 - version "7.0.3" 11418 - resolved "https://registry.yarnpkg.com/expo-device/-/expo-device-7.0.3.tgz#e8d502ac5ff7644dd617fa38a71fe49e7508856b" 11419 - integrity sha512-uNGhDYmpDj/3GySWZmRiYSt52Phdim11p0pXfgpCq/nMks0+UPZwl3D0vin5N8/gpVe5yzb13GYuFxiVoDyniw== 11420 dependencies: 11421 ua-parser-js "^0.7.33" 11422 11423 - expo-eas-client@~0.13.3: 11424 - version "0.13.3" 11425 - resolved "https://registry.yarnpkg.com/expo-eas-client/-/expo-eas-client-0.13.3.tgz#1535a99a224e360581c6253b0a1ea767e19815b8" 11426 - integrity sha512-t+1F1tiDocSot8iSnrn/CjTUMvVvPV2DpafSVcticpbSzMGybEN7wcamO1t18fK7WxGXpZE9gxtd80qwv/LLqQ== 11427 11428 - expo-file-system@~18.0.12: 11429 - version "18.0.12" 11430 - resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-18.0.12.tgz#6ceeeb0725f6c5faaf58112f18c073c2acfb3027" 11431 - integrity sha512-HAkrd/mb8r+G3lJ9MzmGeuW2B+BxQR1joKfeCyY4deLl1zoZ48FrAWjgZjHK9aHUVhJ0ehzInu/NQtikKytaeg== 11432 - dependencies: 11433 - web-streams-polyfill "^3.3.2" 11434 11435 - expo-font@~13.0.4: 11436 - version "13.0.4" 11437 - resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-13.0.4.tgz#c60771446598ddfa98ac1d25244c916a089a99c9" 11438 - integrity sha512-eAP5hyBgC8gafFtprsz0HMaB795qZfgJWqTmU0NfbSin1wUuVySFMEPMOrTkTgmazU73v4Cb4x7p86jY1XXYUw== 11439 dependencies: 11440 fontfaceobserver "^2.1.0" 11441 11442 - expo-haptics@~14.0.1: 11443 - version "14.0.1" 11444 - resolved "https://registry.yarnpkg.com/expo-haptics/-/expo-haptics-14.0.1.tgz#ff4ead605e33f1917e615c9328af7ac1c34892dc" 11445 - integrity sha512-V81FZ7xRUfqM6uSI6FA1KnZ+QpEKnISqafob/xEfcx1ymwhm4V3snuLWWFjmAz+XaZQTqlYa8z3QbqEXz7G63w== 11446 11447 - expo-image-loader@~5.0.0: 11448 - version "5.0.0" 11449 - resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-5.0.0.tgz#4f58a21ab26e40d6fccc211b664fd9fe21a5dcb8" 11450 - integrity sha512-Eg+5FHtyzv3Jjw9dHwu2pWy4xjf8fu3V0Asyy42kO+t/FbvW/vjUixpTjPtgKQLQh+2/9Nk4JjFDV6FwCnF2ZA== 11451 11452 - expo-image-manipulator@~13.0.6: 11453 - version "13.0.6" 11454 - resolved "https://registry.yarnpkg.com/expo-image-manipulator/-/expo-image-manipulator-13.0.6.tgz#a6d5504ec0df34c8caa53a62eac7253b2267fab9" 11455 - integrity sha512-Rz8Kcfx1xYm0AsIDi6zfKYUDnwCP8edgYXWb00KAkzOF8bDxwzTrnvESWhCiveM4IB3fojjLpNeENME34p3bzA== 11456 dependencies: 11457 - expo-image-loader "~5.0.0" 11458 11459 - expo-image-picker@~16.0.6: 11460 - version "16.0.6" 11461 - resolved "https://registry.yarnpkg.com/expo-image-picker/-/expo-image-picker-16.0.6.tgz#ab1378711813a8c857ee577a97ce43e31ea84ab5" 11462 - integrity sha512-HN4xZirFjsFDIsWFb12AZh19fRzuvZjj2ll17cGr19VNRP06S/VPQU3Tdccn5vwUzQhOBlLu704CnNm278boiQ== 11463 dependencies: 11464 - expo-image-loader "~5.0.0" 11465 11466 - expo-image@~2.0.7: 11467 - version "2.0.7" 11468 - resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-2.0.7.tgz#087ca651e3dcd2e92efdda11a6c9e3ad6fddc127" 11469 - integrity sha512-kv40OIJOkItwznhdqFmKxTMC5O8GkpyTf8ng7Py4Hy6IBiH59dkeP6vUZQhzPhJOm5v1kZK4XldbskBosqzOug== 11470 11471 - expo-json-utils@~0.14.0: 11472 - version "0.14.0" 11473 - resolved "https://registry.yarnpkg.com/expo-json-utils/-/expo-json-utils-0.14.0.tgz#ad3cbbcb4fb22e4d23bf9fb19b611e36758861d2" 11474 - integrity sha512-xjGfK9dL0B1wLnOqNkX0jM9p48Y0I5xEPzHude28LY67UmamUyAACkqhZGaPClyPNfdzczk7Ej6WaRMT3HfXvw== 11475 11476 - expo-keep-awake@~14.0.3: 11477 - version "14.0.3" 11478 - resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-14.0.3.tgz#74c91b68effdb6969bc1e8371621aad90386cfbf" 11479 - integrity sha512-6Jh94G6NvTZfuLnm2vwIpKe3GdOiVBuISl7FI8GqN0/9UOg9E0WXXp5cDcfAG8bn80RfgLJS8P7EPUGTZyOvhg== 11480 11481 - expo-linear-gradient@~14.0.2: 11482 - version "14.0.2" 11483 - resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-14.0.2.tgz#51fb266d1c7a38349077d243e383cc3d69d4356b" 11484 - integrity sha512-nvac1sPUfFFJ4mY25UkvubpUV/olrBH+uQw5k+beqSvQaVQiUfFtYzfRr+6HhYBNb4AEsOtpsCRkpDww3M2iGQ== 11485 11486 - expo-linking@~7.0.5: 11487 - version "7.0.5" 11488 - resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-7.0.5.tgz#6f583c636a3cc29f02d67a1550b21f8e636fe2af" 11489 - integrity sha512-3KptlJtcYDPWohk0MfJU75MJFh2ybavbtcSd84zEPfw9s1q3hjimw3sXnH03ZxP54kiEWldvKmmnGcVffBDB1g== 11490 dependencies: 11491 - expo-constants "~17.0.5" 11492 invariant "^2.2.4" 11493 11494 - expo-localization@~16.0.1: 11495 - version "16.0.1" 11496 - resolved "https://registry.yarnpkg.com/expo-localization/-/expo-localization-16.0.1.tgz#a6016288f0e4a5acef143d2a39ac3e5b4ac8963e" 11497 - integrity sha512-kUrXiV/Pq9r7cG+TMt+Qa49IUQ9Y/czVwen4hmiboTclTopcWdIeCzYZv6JGtufoPpjEO9vVx1QJrXYl9V2u0Q== 11498 dependencies: 11499 rtl-detect "^1.0.2" 11500 11501 - expo-manifests@~0.15.7, expo-manifests@~0.15.8: 11502 - version "0.15.8" 11503 - resolved "https://registry.yarnpkg.com/expo-manifests/-/expo-manifests-0.15.8.tgz#15e7b7b99d764b40ca3e3f859a126c856e2d6206" 11504 - integrity sha512-VuIyaMfRfLZeETNsRohqhy1l7iZ7I+HKMPfZXVL2Yn17TT0WkOhZoq1DzYwPbOHPgp1Uk6phNa86EyaHrD2DLw== 11505 dependencies: 11506 - "@expo/config" "~10.0.11" 11507 - expo-json-utils "~0.14.0" 11508 11509 - expo-media-library@~17.0.6: 11510 - version "17.0.6" 11511 - resolved "https://registry.yarnpkg.com/expo-media-library/-/expo-media-library-17.0.6.tgz#355f5f5abf0b5b35cdf009f18567cbba12d8dc82" 11512 - integrity sha512-LUnfrddmee1xLOkyG2NN1l9xQbtvMX3fbM1brEGHg0SKSndvjod3FQdhTzZEYAariqW2RSxQR8v1IsheIoLQXg== 11513 11514 - expo-modules-autolinking@2.0.8: 11515 - version "2.0.8" 11516 - resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-2.0.8.tgz#b00c10ebb589ce2220548bbaee4865db1cf1f1f7" 11517 - integrity sha512-DezgnEYFQYic8hKGhkbztBA3QUmSftjaNDIKNAtS2iGJmzCcNIkatjN2slFDSWjSTNo8gOvPQyMKfyHWFvLpOQ== 11518 dependencies: 11519 "@expo/spawn-async" "^1.7.2" 11520 chalk "^4.1.0" 11521 commander "^7.2.0" 11522 - fast-glob "^3.2.5" 11523 find-up "^5.0.0" 11524 - fs-extra "^9.1.0" 11525 require-from-string "^2.0.2" 11526 resolve-from "^5.0.0" 11527 11528 - expo-modules-core@2.2.3: 11529 - version "2.2.3" 11530 - resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-2.2.3.tgz#438084d5386a95dc7327656072c4ff05dd101d99" 11531 - integrity sha512-01QqZzpP/wWlxnNly4G06MsOBUTbMDj02DQigZoXfDh80vd/rk3/uVXqnZgOdLSggTs6DnvOgAUy0H2q30XdUg== 11532 dependencies: 11533 invariant "^2.2.4" 11534 ··· 11539 dependencies: 11540 invariant "^2.2.4" 11541 11542 - expo-notifications@~0.29.14: 11543 - version "0.29.14" 11544 - resolved "https://registry.yarnpkg.com/expo-notifications/-/expo-notifications-0.29.14.tgz#77beb6bc74b1b1abfa3adcab77fb6c9ea5d7d1b0" 11545 - integrity sha512-AVduNx9mKOgcAqBfrXS1OHC9VAQZrDQLbVbcorMjPDGXW7m0Q5Q+BG6FYM/saVviF2eO8fhQRsTT40yYv5/bhQ== 11546 dependencies: 11547 - "@expo/image-utils" "^0.6.5" 11548 "@ide/backoff" "^1.0.0" 11549 abort-controller "^3.0.0" 11550 assert "^2.0.0" 11551 badgin "^1.1.5" 11552 - expo-application "~6.0.2" 11553 - expo-constants "~17.0.8" 11554 11555 expo-pwa@0.0.127: 11556 version "0.0.127" ··· 11562 commander "2.20.0" 11563 update-check "1.5.3" 11564 11565 - expo-screen-orientation@~8.0.4: 11566 - version "8.0.4" 11567 - resolved "https://registry.yarnpkg.com/expo-screen-orientation/-/expo-screen-orientation-8.0.4.tgz#f58fee14a150eada0638c6abf67b752e27d65ee4" 11568 - integrity sha512-kJrIZ/44+Gs5D5nyP6SXqTUbJEOsRgzk+nUcKeVZ0Vmx0szGrvSvhzdus7853xT/sqyAARsqBMlx626jAMu/Jg== 11569 11570 - expo-sharing@~13.0.1: 11571 - version "13.0.1" 11572 - resolved "https://registry.yarnpkg.com/expo-sharing/-/expo-sharing-13.0.1.tgz#f5221ce44190a12649a6639e619d83e318c768a1" 11573 - integrity sha512-qych3Nw65wlFcnzE/gRrsdtvmdV0uF4U4qVMZBJYPG90vYyWh2QM9rp1gVu0KWOBc7N8CC2dSVYn4/BXqJy6Xw== 11574 11575 - expo-splash-screen@~0.29.22: 11576 - version "0.29.22" 11577 - resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.29.22.tgz#fd75a19cbc2989e154c0293d8e782d3de03c3296" 11578 - integrity sha512-f+bPpF06bqiuW1Fbrd3nxeaSsmTVTBEKEYe3epYt4IE6y4Ulli3qEUamMLlRQiDGuIXPU6zQlscpy2mdBUI5cA== 11579 dependencies: 11580 - "@expo/prebuild-config" "^8.0.27" 11581 11582 - expo-structured-headers@~4.0.0: 11583 - version "4.0.0" 11584 - resolved "https://registry.yarnpkg.com/expo-structured-headers/-/expo-structured-headers-4.0.0.tgz#85537ae6daec61ebfb214ede4107c8841c6e16d0" 11585 - integrity sha512-uPiwZjWq3AdFGgY52+I2nGPrNa6izxAglymPXHUZLekZW290GqIUOk7MBNDD4sg4JwUbSi3gdxEurpEvuq+FSg== 11586 11587 - expo-system-ui@~4.0.9: 11588 - version "4.0.9" 11589 - resolved "https://registry.yarnpkg.com/expo-system-ui/-/expo-system-ui-4.0.9.tgz#a3dc4af52dab589dd433a28ed286360cea0e008d" 11590 - integrity sha512-hqBc0EWeK/BTB8i4H84vqNjje8GgxhapYrcWdg5qriaRA/u+bNNxhmpZXdAjFuhonOP4SmAbF+gjoJJWsTrhUg== 11591 dependencies: 11592 - "@react-native/normalize-colors" "0.76.8" 11593 debug "^4.3.2" 11594 11595 - expo-task-manager@~12.0.6: 11596 - version "12.0.6" 11597 - resolved "https://registry.yarnpkg.com/expo-task-manager/-/expo-task-manager-12.0.6.tgz#074cd10505d8866d43e8fe3a4c6520cd97332ff9" 11598 - integrity sha512-yGbS64OL95z7tAQAvryy0sGHuQgrcpvnJsdyuGL8MA9bcPtr+kytLZ4dOCDac7foQS7+FLDGgtiAR6v/64B5Pg== 11599 dependencies: 11600 - unimodules-app-loader "~5.0.1" 11601 11602 - expo-updates-interface@~1.0.0: 11603 - version "1.0.0" 11604 - resolved "https://registry.yarnpkg.com/expo-updates-interface/-/expo-updates-interface-1.0.0.tgz#b98c66b800d29561c62409556948b2af3d5316e5" 11605 - integrity sha512-93oWtvULJOj+Pp+N/lpTcFfuREX1wNeHtp7Lwn8EbzYYmdn37MvZU3TPW2tYYCZuhzmKEXnUblYcruYoDu7IrQ== 11606 11607 - expo-updates@~0.27.4: 11608 - version "0.27.4" 11609 - resolved "https://registry.yarnpkg.com/expo-updates/-/expo-updates-0.27.4.tgz#e1c017b285ae5eee1a82b38b10d05a19eef81aa4" 11610 - integrity sha512-0rg4L2fFPEjTR/qnZ9Te4Q4irVC8uvNcTZW1pWnWbadG1SLv2PKjS1MYX5BboKzC3ao0H7m++5TP3hWhNg9org== 11611 dependencies: 11612 "@expo/code-signing-certificates" "0.0.5" 11613 - "@expo/config" "~10.0.11" 11614 - "@expo/config-plugins" "~9.0.17" 11615 "@expo/spawn-async" "^1.7.2" 11616 arg "4.1.0" 11617 chalk "^4.1.2" 11618 - expo-eas-client "~0.13.3" 11619 - expo-manifests "~0.15.7" 11620 - expo-structured-headers "~4.0.0" 11621 - expo-updates-interface "~1.0.0" 11622 - fast-glob "^3.3.2" 11623 - fbemitter "^3.0.0" 11624 ignore "^5.3.1" 11625 resolve-from "^5.0.0" 11626 11627 - expo-video@~2.0.6: 11628 - version "2.0.6" 11629 - resolved "https://registry.yarnpkg.com/expo-video/-/expo-video-2.0.6.tgz#4da4e4d427ad42649881a5336697b5a7164aaab3" 11630 - integrity sha512-oDorKwjreHT596oY6ZfktbDa3VF+Sq7gVsTbnQ4QVqGYL13mIO0s+h4y9xMyG/cDWyFpiRc4UT8KkPdxL0wViQ== 11631 11632 - expo-web-browser@~14.0.2: 11633 - version "14.0.2" 11634 - resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-14.0.2.tgz#52d53947c42fdfb225e8c230418ffe508bcf98a7" 11635 - integrity sha512-Hncv2yojhTpHbP6SGWARBFdl7P6wBHc1O8IKaNsH0a/IEakq887o1eRhLxZ5IwztPQyRDhpqHdgJ+BjWolOnwA== 11636 11637 - expo@~52.0.42: 11638 - version "52.0.44" 11639 - resolved "https://registry.yarnpkg.com/expo/-/expo-52.0.44.tgz#3e7aa0e3d373c70a328b349852b4a35867ecc930" 11640 - integrity sha512-qj3+MWxmqLyBaYQ8jDOvVLEgSqNplH3cf+nDhxCo4C1cpTPD1u/HGh1foibtaeuCYLHsE5km1lrcOpRbFJ4luQ== 11641 dependencies: 11642 "@babel/runtime" "^7.20.0" 11643 - "@expo/cli" "0.22.24" 11644 - "@expo/config" "~10.0.11" 11645 - "@expo/config-plugins" "~9.0.17" 11646 - "@expo/fingerprint" "0.11.11" 11647 - "@expo/metro-config" "0.19.12" 11648 "@expo/vector-icons" "^14.0.0" 11649 - babel-preset-expo "~12.0.11" 11650 - expo-asset "~11.0.5" 11651 - expo-constants "~17.0.8" 11652 - expo-file-system "~18.0.12" 11653 - expo-font "~13.0.4" 11654 - expo-keep-awake "~14.0.3" 11655 - expo-modules-autolinking "2.0.8" 11656 - expo-modules-core "2.2.3" 11657 - fbemitter "^3.0.0" 11658 - web-streams-polyfill "^3.3.2" 11659 whatwg-url-without-unicode "8.0.0-3" 11660 11661 exponential-backoff@^3.1.1: ··· 11724 resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 11725 integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 11726 11727 - fast-glob@^3.2.5, fast-glob@^3.2.7, fast-glob@^3.2.9: 11728 version "3.3.1" 11729 resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" 11730 integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== ··· 11780 resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 11781 integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 11782 11783 - fast-loops@^1.1.3: 11784 - version "1.1.3" 11785 - resolved "https://registry.yarnpkg.com/fast-loops/-/fast-loops-1.1.3.tgz#ce96adb86d07e7bf9b4822ab9c6fac9964981f75" 11786 - integrity sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g== 11787 - 11788 fast-printf@^1.6.9: 11789 version "1.6.9" 11790 resolved "https://registry.yarnpkg.com/fast-printf/-/fast-printf-1.6.9.tgz#212f56570d2dc8ccdd057ee93d50dd414d07d676" ··· 11840 dependencies: 11841 bser "2.1.1" 11842 11843 - fbemitter@^3.0.0: 11844 - version "3.0.0" 11845 - resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" 11846 - integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== 11847 - dependencies: 11848 - fbjs "^3.0.0" 11849 - 11850 fbjs-css-vars@^1.0.0: 11851 version "1.0.2" 11852 resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" 11853 integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== 11854 11855 - fbjs@^3.0.0, fbjs@^3.0.4: 11856 version "3.0.5" 11857 resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" 11858 integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== ··· 11865 setimmediate "^1.0.5" 11866 ua-parser-js "^1.0.35" 11867 11868 - fetch-retry@^4.1.1: 11869 - version "4.1.1" 11870 - resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-4.1.1.tgz#fafe0bb22b54f4d0a9c788dff6dd7f8673ca63f3" 11871 - integrity sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA== 11872 - 11873 figures@^3.0.0: 11874 version "3.2.0" 11875 resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" ··· 11910 version "7.0.1" 11911 resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 11912 integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 11913 - dependencies: 11914 - to-regex-range "^5.0.1" 11915 - 11916 - fill-range@^7.1.1: 11917 - version "7.1.1" 11918 - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" 11919 - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== 11920 dependencies: 11921 to-regex-range "^5.0.1" 11922 ··· 11958 dependencies: 11959 json5 "^2.2.3" 11960 11961 - find-cache-dir@^2.0.0: 11962 - version "2.1.0" 11963 - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" 11964 - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== 11965 - dependencies: 11966 - commondir "^1.0.1" 11967 - make-dir "^2.0.0" 11968 - pkg-dir "^3.0.0" 11969 - 11970 find-cache-dir@^3.3.1: 11971 version "3.3.2" 11972 resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" ··· 12024 resolved "https://registry.yarnpkg.com/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz#5bb0cd1b0a3e471330f4d109039b7eba5cb3e787" 12025 integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== 12026 12027 - flow-parser@0.*: 12028 - version "0.215.0" 12029 - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.215.0.tgz#9b153fa27ab238bcc0bb1ff73b63bdb15d3f277d" 12030 - integrity sha512-8bjwzy8vi+fNDy8YoTBNtQUSZa53i7UWJJTunJojOtjab9cMNhOCwohionuMgDQUU0y21QTTtPOX6OQEOQT72A== 12031 - 12032 follow-redirects@^1.0.0, follow-redirects@^1.15.0: 12033 version "1.15.2" 12034 resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" ··· 12061 cross-spawn "^7.0.0" 12062 signal-exit "^4.0.1" 12063 12064 - form-data@^3.0.1: 12065 - version "3.0.1" 12066 - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" 12067 - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== 12068 - dependencies: 12069 - asynckit "^0.4.0" 12070 - combined-stream "^1.0.8" 12071 - mime-types "^2.1.12" 12072 - 12073 form-data@^4.0.0: 12074 version "4.0.0" 12075 resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" ··· 12079 combined-stream "^1.0.8" 12080 mime-types "^2.1.12" 12081 12082 - forwarded@0.2.0: 12083 version "0.2.0" 12084 resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 12085 integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== ··· 12109 jsonfile "^6.0.1" 12110 universalify "^1.0.0" 12111 12112 - fs-extra@^9.0.0, fs-extra@^9.1.0: 12113 version "9.1.0" 12114 resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" 12115 integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== ··· 12119 jsonfile "^6.0.1" 12120 universalify "^2.0.0" 12121 12122 - fs-extra@~8.1.0: 12123 - version "8.1.0" 12124 - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" 12125 - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== 12126 - dependencies: 12127 - graceful-fs "^4.2.0" 12128 - jsonfile "^4.0.0" 12129 - universalify "^0.1.0" 12130 - 12131 - fs-minipass@^2.0.0: 12132 - version "2.1.0" 12133 - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" 12134 - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== 12135 - dependencies: 12136 - minipass "^3.0.0" 12137 - 12138 - fs-minipass@^3.0.0: 12139 - version "3.0.3" 12140 - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-3.0.3.tgz#79a85981c4dc120065e96f62086bf6f9dc26cc54" 12141 - integrity sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw== 12142 - dependencies: 12143 - minipass "^7.0.3" 12144 - 12145 fs-monkey@^1.0.4: 12146 version "1.0.4" 12147 resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.4.tgz#ee8c1b53d3fe8bb7e5d2c5c5dfc0168afdd2f747" ··· 12268 dunder-proto "^1.0.1" 12269 es-object-atoms "^1.0.0" 12270 12271 - get-stream@^4.0.0: 12272 - version "4.1.0" 12273 - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 12274 - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 12275 - dependencies: 12276 - pump "^3.0.0" 12277 - 12278 get-stream@^6.0.0, get-stream@^6.0.1: 12279 version "6.0.1" 12280 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" ··· 12338 once "^1.3.0" 12339 path-is-absolute "^1.0.0" 12340 12341 - glob@^10.2.2: 12342 - version "10.4.1" 12343 - resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.1.tgz#0cfb01ab6a6b438177bfe6a58e2576f6efe909c2" 12344 - integrity sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw== 12345 - dependencies: 12346 - foreground-child "^3.1.0" 12347 - jackspeak "^3.1.2" 12348 - minimatch "^9.0.4" 12349 - minipass "^7.1.2" 12350 - path-scurry "^1.11.1" 12351 - 12352 glob@^10.3.10: 12353 version "10.3.12" 12354 resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b" ··· 12371 minipass "^7.1.2" 12372 package-json-from-dist "^1.0.0" 12373 path-scurry "^1.11.1" 12374 - 12375 - glob@^6.0.1: 12376 - version "6.0.4" 12377 - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" 12378 - integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== 12379 - dependencies: 12380 - inflight "^1.0.4" 12381 - inherits "2" 12382 - minimatch "2 || 3" 12383 - once "^1.3.0" 12384 - path-is-absolute "^1.0.0" 12385 12386 glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: 12387 version "7.2.3" ··· 12432 define-properties "^1.2.1" 12433 gopd "^1.0.1" 12434 12435 - globby@^11.0.1, globby@^11.1.0: 12436 version "11.1.0" 12437 resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 12438 integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== ··· 12605 resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 12606 integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 12607 12608 - hermes-estree@0.20.1: 12609 - version "0.20.1" 12610 - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.20.1.tgz#0b9a544cf883a779a8e1444b915fa365bef7f72d" 12611 - integrity sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg== 12612 - 12613 - hermes-estree@0.23.1: 12614 - version "0.23.1" 12615 - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.23.1.tgz#d0bac369a030188120ee7024926aabe5a9f84fdb" 12616 - integrity sha512-eT5MU3f5aVhTqsfIReZ6n41X5sYn4IdQL0nvz6yO+MMlPxw49aSARHLg/MSehQftyjnrE8X6bYregzSumqc6cg== 12617 - 12618 - hermes-estree@0.24.0: 12619 - version "0.24.0" 12620 - resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.24.0.tgz#487dc1ddc0bae698c2d79f34153ac9bf62d7b3c0" 12621 - integrity sha512-LyoXLB7IFzeZW0EvAbGZacbxBN7t6KKSDqFJPo3Ydow7wDlrDjXwsdiAHV6XOdvEN9MEuWXsSIFN4tzpyrXIHw== 12622 - 12623 hermes-estree@0.25.1: 12624 version "0.25.1" 12625 resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.25.1.tgz#6aeec17d1983b4eabf69721f3aa3eb705b17f480" 12626 integrity sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw== 12627 12628 - hermes-parser@0.23.1: 12629 - version "0.23.1" 12630 - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.23.1.tgz#e5de648e664f3b3d84d01b48fc7ab164f4b68205" 12631 - integrity sha512-oxl5h2DkFW83hT4DAUJorpah8ou4yvmweUzLJmmr6YV2cezduCdlil1AvU/a/xSsAFo4WUcNA4GoV5Bvq6JffA== 12632 - dependencies: 12633 - hermes-estree "0.23.1" 12634 - 12635 - hermes-parser@0.24.0: 12636 - version "0.24.0" 12637 - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.24.0.tgz#2ed19d079efc0848eb1f800f0c393a074c4696fb" 12638 - integrity sha512-IJooSvvu2qNRe7oo9Rb04sUT4omtZqZqf9uq9WM25Tb6v3usmvA93UqfnnoWs5V0uYjEl9Al6MNU10MCGKLwpg== 12639 - dependencies: 12640 - hermes-estree "0.24.0" 12641 12642 - hermes-parser@0.25.1: 12643 version "0.25.1" 12644 resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.25.1.tgz#5be0e487b2090886c62bd8a11724cd766d5f54d1" 12645 integrity sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA== 12646 dependencies: 12647 hermes-estree "0.25.1" 12648 12649 - hermes-parser@^0.20.1: 12650 - version "0.20.1" 12651 - resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.20.1.tgz#ad10597b99f718b91e283f81cbe636c50c3cff92" 12652 - integrity sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA== 12653 dependencies: 12654 - hermes-estree "0.20.1" 12655 12656 history@^5.3.0: 12657 version "5.3.0" ··· 12843 integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== 12844 dependencies: 12845 agent-base "6" 12846 debug "4" 12847 12848 human-signals@^2.1.0: ··· 12968 resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" 12969 integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 12970 12971 - inline-style-prefixer@^6.0.1: 12972 - version "6.0.4" 12973 - resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-6.0.4.tgz#4290ed453ab0e4441583284ad86e41ad88384f44" 12974 - integrity sha512-FwXmZC2zbeeS7NzGjJ6pAiqRhXR0ugUShSNb6GApMl6da0/XGc4MOJsoWAywia52EEWbXNSy0pzkwz/+Y+swSg== 12975 dependencies: 12976 css-in-js-utils "^3.1.0" 12977 - fast-loops "^1.1.3" 12978 12979 inquirer@^7.3.3: 12980 version "7.3.3" ··· 12995 strip-ansi "^6.0.0" 12996 through "^2.3.6" 12997 12998 - internal-ip@^4.3.0: 12999 - version "4.3.0" 13000 - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" 13001 - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== 13002 - dependencies: 13003 - default-gateway "^4.2.0" 13004 - ipaddr.js "^1.9.0" 13005 - 13006 internal-slot@^1.0.3, internal-slot@^1.0.5: 13007 version "1.0.5" 13008 resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" ··· 13043 redis-parser "^3.0.0" 13044 standard-as-callback "^2.1.0" 13045 13046 - ip-regex@^2.1.0: 13047 - version "2.1.0" 13048 - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" 13049 - integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== 13050 - 13051 ip3country@^5.0.0: 13052 version "5.0.0" 13053 resolved "https://registry.yarnpkg.com/ip3country/-/ip3country-5.0.0.tgz#f1394b050c51ba9c10cc691c8eb240bba3d7177a" 13054 integrity sha512-lcFLMFU4eO1Z7tIpbVFZkaZ5ltqpeaRx7L9NsAbA9uA7/O/rj3RF8+evE5gDitooaTTIqjdzZrenFO/OOxQ2ew== 13055 13056 - ipaddr.js@1.9.1, ipaddr.js@^1.9.0: 13057 version "1.9.1" 13058 resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 13059 integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== ··· 13161 call-bound "^1.0.3" 13162 has-tostringtag "^1.0.2" 13163 13164 - is-buffer@~1.1.6: 13165 - version "1.1.6" 13166 - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 13167 - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 13168 - 13169 is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: 13170 version "1.2.7" 13171 resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" ··· 13334 resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 13335 integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 13336 13337 - is-path-cwd@^2.0.0, is-path-cwd@^2.2.0: 13338 version "2.2.0" 13339 resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" 13340 integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== ··· 13353 dependencies: 13354 path-is-inside "^1.0.2" 13355 13356 - is-path-inside@^3.0.2, is-path-inside@^3.0.3: 13357 version "3.0.3" 13358 resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 13359 integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== ··· 13368 resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" 13369 integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== 13370 13371 - is-plain-object@^2.0.4: 13372 - version "2.0.4" 13373 - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 13374 - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 13375 - dependencies: 13376 - isobject "^3.0.1" 13377 - 13378 is-plain-object@^5.0.0: 13379 version "5.0.0" 13380 resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" ··· 13426 integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== 13427 dependencies: 13428 call-bound "^1.0.3" 13429 - 13430 - is-stream@^1.1.0: 13431 - version "1.1.0" 13432 - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 13433 - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== 13434 13435 is-stream@^2.0.0: 13436 version "2.0.1" ··· 13559 resolved "https://registry.yarnpkg.com/iso-datestring-validator/-/iso-datestring-validator-2.2.2.tgz#2daa80d2900b7a954f9f731d42f96ee0c19a6895" 13560 integrity sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA== 13561 13562 - isobject@^3.0.1: 13563 - version "3.0.1" 13564 - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 13565 - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== 13566 - 13567 istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: 13568 version "3.2.0" 13569 resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" ··· 13778 jest-util "^29.6.3" 13779 jsdom "^20.0.0" 13780 13781 - jest-environment-node@^29.6.3: 13782 - version "29.6.3" 13783 - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.6.3.tgz#72217a00db2c26755406241c70ad73c334917e28" 13784 - integrity sha512-PKl7upfPJXMYbWpD+60o4HP86KvFO2c9dZ+Zr6wUzsG5xcPx/65o3ArNgHW5M0RFvLYdW4/aieR4JSooD0a2ew== 13785 - dependencies: 13786 - "@jest/environment" "^29.6.3" 13787 - "@jest/fake-timers" "^29.6.3" 13788 - "@jest/types" "^29.6.3" 13789 - "@types/node" "*" 13790 - jest-mock "^29.6.3" 13791 - jest-util "^29.6.3" 13792 - 13793 jest-environment-node@^29.7.0: 13794 version "29.7.0" 13795 resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" ··· 13802 jest-mock "^29.7.0" 13803 jest-util "^29.7.0" 13804 13805 - jest-expo@~52.0.6: 13806 - version "52.0.6" 13807 - resolved "https://registry.yarnpkg.com/jest-expo/-/jest-expo-52.0.6.tgz#2df8145918116a5969e87a8ed3da1dd20376831d" 13808 - integrity sha512-Ql60mCy4cfwyNvCW2wpEXbw/3i5H+SmB1XP1z0SJUpafGBipq6xMjPcgQpe/7PzAHTc/ikD+dFA0sPnljDJmZQ== 13809 dependencies: 13810 - "@expo/config" "~10.0.11" 13811 - "@expo/json-file" "^9.0.2" 13812 "@jest/create-cache-key-function" "^29.2.1" 13813 "@jest/globals" "^29.2.1" 13814 babel-jest "^29.2.1" 13815 - fbemitter "^3.0.0" 13816 find-up "^5.0.0" 13817 jest-environment-jsdom "^29.2.1" 13818 jest-snapshot "^29.2.1" ··· 13820 jest-watch-typeahead "2.2.1" 13821 json5 "^2.2.3" 13822 lodash "^4.17.19" 13823 - react-server-dom-webpack "19.0.0-rc-6230622a1a-20240610" 13824 - react-test-renderer "18.3.1" 13825 server-only "^0.0.1" 13826 stacktrace-js "^2.0.2" 13827 ··· 14104 leven "^3.1.0" 14105 pretty-format "^29.7.0" 14106 14107 - jest-validate@^29.6.3: 14108 - version "29.6.3" 14109 - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.6.3.tgz#a75fca774cfb1c5758c70d035d30a1f9c2784b4d" 14110 - integrity sha512-e7KWZcAIX+2W1o3cHfnqpGajdCs1jSM3DkXjGeLSNmCazv1EeI1ggTeK5wdZhF+7N+g44JI2Od3veojoaumlfg== 14111 - dependencies: 14112 - "@jest/types" "^29.6.3" 14113 - camelcase "^6.2.0" 14114 - chalk "^4.0.0" 14115 - jest-get-type "^29.6.3" 14116 - leven "^3.1.0" 14117 - pretty-format "^29.6.3" 14118 - 14119 jest-watch-select-projects@^2.0.0: 14120 version "2.0.0" 14121 resolved "https://registry.yarnpkg.com/jest-watch-select-projects/-/jest-watch-select-projects-2.0.0.tgz#4373d7e4de862aae28b46e036b669a4c913ea867" ··· 14215 resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" 14216 integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== 14217 14218 - join-component@^1.1.0: 14219 - version "1.1.0" 14220 - resolved "https://registry.yarnpkg.com/join-component/-/join-component-1.1.0.tgz#b8417b750661a392bee2c2537c68b2a9d4977cd5" 14221 - integrity sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ== 14222 - 14223 jose@^5.0.1: 14224 version "5.1.3" 14225 resolved "https://registry.yarnpkg.com/jose/-/jose-5.1.3.tgz#303959d85c51b5cb14725f930270b72be56abdca" ··· 14260 dependencies: 14261 argparse "^2.0.1" 14262 14263 - jsc-android@^250231.0.0: 14264 - version "250231.0.0" 14265 - resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-250231.0.0.tgz#91720f8df382a108872fa4b3f558f33ba5e95262" 14266 - integrity sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw== 14267 - 14268 jsc-safe-url@^0.2.2, jsc-safe-url@^0.2.4: 14269 version "0.2.4" 14270 resolved "https://registry.yarnpkg.com/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz#141c14fbb43791e88d5dc64e85a374575a83477a" 14271 integrity sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q== 14272 14273 - jscodeshift@^0.14.0: 14274 - version "0.14.0" 14275 - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.14.0.tgz#7542e6715d6d2e8bde0b4e883f0ccea358b46881" 14276 - integrity sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA== 14277 - dependencies: 14278 - "@babel/core" "^7.13.16" 14279 - "@babel/parser" "^7.13.16" 14280 - "@babel/plugin-proposal-class-properties" "^7.13.0" 14281 - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" 14282 - "@babel/plugin-proposal-optional-chaining" "^7.13.12" 14283 - "@babel/plugin-transform-modules-commonjs" "^7.13.8" 14284 - "@babel/preset-flow" "^7.13.13" 14285 - "@babel/preset-typescript" "^7.13.0" 14286 - "@babel/register" "^7.13.16" 14287 - babel-core "^7.0.0-bridge.0" 14288 - chalk "^4.1.2" 14289 - flow-parser "0.*" 14290 - graceful-fs "^4.2.4" 14291 - micromatch "^4.0.4" 14292 - neo-async "^2.5.0" 14293 - node-dir "^0.1.17" 14294 - recast "^0.21.0" 14295 - temp "^0.8.4" 14296 - write-file-atomic "^2.3.0" 14297 - 14298 jsdom@^20.0.0: 14299 version "20.0.3" 14300 resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" ··· 14386 resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" 14387 integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 14388 14389 - jsonfile@^4.0.0: 14390 - version "4.0.0" 14391 - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 14392 - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== 14393 - optionalDependencies: 14394 - graceful-fs "^4.1.6" 14395 - 14396 jsonfile@^6.0.1: 14397 version "6.1.0" 14398 resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" ··· 14427 bn.js "^4.11.8" 14428 elliptic "^6.4.1" 14429 14430 - keygrip@^1.1.0: 14431 - version "1.1.0" 14432 - resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" 14433 - integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== 14434 - dependencies: 14435 - tsscmp "1.0.6" 14436 - 14437 - kind-of@^6.0.2: 14438 - version "6.0.3" 14439 - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 14440 - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 14441 - 14442 klaw-sync@^6.0.0: 14443 version "6.0.0" 14444 resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" ··· 14460 version "0.23.5" 14461 resolved "https://registry.yarnpkg.com/kysely/-/kysely-0.23.5.tgz#60c63d94e1c42cc0411be8aaa688a0f27405f514" 14462 integrity sha512-TH+b56pVXQq0tsyooYLeNfV11j6ih7D50dyN8tkM0e7ndiUH28Nziojiog3qRFlmEj9XePYdZUrNJ2079Qjdow== 14463 14464 lande@^1.0.10: 14465 version "1.0.10" ··· 14666 lockfile-lint-api "^5.9.1" 14667 yargs "^17.7.2" 14668 14669 lodash.chunk@^4.2.0: 14670 version "4.2.0" 14671 resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc" ··· 14762 strip-ansi "^7.0.1" 14763 wrap-ansi "^8.0.1" 14764 14765 - loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: 14766 version "1.4.0" 14767 resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 14768 integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== ··· 14807 dependencies: 14808 "@jridgewell/sourcemap-codec" "^1.4.15" 14809 14810 - make-dir@^2.0.0, make-dir@^2.1.0: 14811 - version "2.1.0" 14812 - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" 14813 - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== 14814 - dependencies: 14815 - pify "^4.0.1" 14816 - semver "^5.6.0" 14817 - 14818 make-dir@^3.0.2, make-dir@^3.1.0: 14819 version "3.1.0" 14820 resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" ··· 14870 resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" 14871 integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== 14872 14873 - md5-file@^3.2.3: 14874 - version "3.2.3" 14875 - resolved "https://registry.yarnpkg.com/md5-file/-/md5-file-3.2.3.tgz#f9bceb941eca2214a4c0727f5e700314e770f06f" 14876 - integrity sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw== 14877 - dependencies: 14878 - buffer-alloc "^1.1.0" 14879 - 14880 - md5@^2.2.1: 14881 - version "2.3.0" 14882 - resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" 14883 - integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== 14884 - dependencies: 14885 - charenc "0.0.2" 14886 - crypt "0.0.2" 14887 - is-buffer "~1.1.6" 14888 - 14889 mdn-data@2.0.14: 14890 version "2.0.14" 14891 resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" ··· 14955 resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 14956 integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== 14957 14958 - metro-babel-transformer@0.81.0: 14959 - version "0.81.0" 14960 - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.81.0.tgz#cf468eafea52e4d8a77844eb7257f8a76e9d9d94" 14961 - integrity sha512-Dc0QWK4wZIeHnyZ3sevWGTnnSkIDDn/SWyfrn99zbKbDOCoCYy71PAn9uCRrP/hduKLJQOy+tebd63Rr9D8tXg== 14962 dependencies: 14963 "@babel/core" "^7.25.2" 14964 flow-enums-runtime "^0.0.6" 14965 - hermes-parser "0.24.0" 14966 nullthrows "^1.1.1" 14967 14968 - metro-cache-key@0.81.0: 14969 - version "0.81.0" 14970 - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.81.0.tgz#5db34fa1a323a2310205bda7abd0df9614e36f45" 14971 - integrity sha512-qX/IwtknP9bQZL78OK9xeSvLM/xlGfrs6SlUGgHvrxtmGTRSsxcyqxR+c+7ch1xr05n62Gin/O44QKg5V70rNQ== 14972 dependencies: 14973 flow-enums-runtime "^0.0.6" 14974 14975 - metro-cache@0.81.0: 14976 - version "0.81.0" 14977 - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.81.0.tgz#90470d10d190ad708f04c6e337eec2c7cddb3db0" 14978 - integrity sha512-DyuqySicHXkHUDZFVJmh0ygxBSx6pCKUrTcSgb884oiscV/ROt1Vhye+x+OIHcsodyA10gzZtrVtxIFV4l9I4g== 14979 dependencies: 14980 exponential-backoff "^3.1.1" 14981 flow-enums-runtime "^0.0.6" 14982 - metro-core "0.81.0" 14983 14984 - metro-config@0.81.0, metro-config@^0.81.0: 14985 - version "0.81.0" 14986 - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.81.0.tgz#8f8074033cb7e9ddb5b0459642adf6880bc9fbc1" 14987 - integrity sha512-6CinEaBe3WLpRlKlYXXu8r1UblJhbwD6Gtnoib5U8j6Pjp7XxMG9h/DGMeNp9aGLDu1OieUqiXpFo7O0/rR5Kg== 14988 dependencies: 14989 connect "^3.6.5" 14990 cosmiconfig "^5.0.5" 14991 flow-enums-runtime "^0.0.6" 14992 - jest-validate "^29.6.3" 14993 - metro "0.81.0" 14994 - metro-cache "0.81.0" 14995 - metro-core "0.81.0" 14996 - metro-runtime "0.81.0" 14997 14998 - metro-core@0.81.0, metro-core@^0.81.0: 14999 - version "0.81.0" 15000 - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.81.0.tgz#d0b634f9cf97849b7730c59457ab7a439811d4c8" 15001 - integrity sha512-CVkM5YCOAFkNMvJai6KzA0RpztzfEKRX62/PFMOJ9J7K0uq/UkOFLxcgpcncMIrfy0PbfEj811b69tjULUQe1Q== 15002 dependencies: 15003 flow-enums-runtime "^0.0.6" 15004 lodash.throttle "^4.1.1" 15005 - metro-resolver "0.81.0" 15006 15007 - metro-file-map@0.81.0: 15008 - version "0.81.0" 15009 - resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.81.0.tgz#af0ccf4f8db4fd8429f78f231faa49dde2c402c3" 15010 - integrity sha512-zMDI5uYhQCyxbye/AuFx/pAbsz9K+vKL7h1ShUXdN2fz4VUPiyQYRsRqOoVG1DsiCgzd5B6LW0YW77NFpjDQeg== 15011 dependencies: 15012 - anymatch "^3.0.3" 15013 - debug "^2.2.0" 15014 fb-watchman "^2.0.0" 15015 flow-enums-runtime "^0.0.6" 15016 graceful-fs "^4.2.4" 15017 invariant "^2.2.4" 15018 - jest-worker "^29.6.3" 15019 micromatch "^4.0.4" 15020 - node-abort-controller "^3.1.1" 15021 nullthrows "^1.1.1" 15022 walker "^1.0.7" 15023 - optionalDependencies: 15024 - fsevents "^2.3.2" 15025 15026 - metro-minify-terser@0.81.0: 15027 - version "0.81.0" 15028 - resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.81.0.tgz#8b0abe977d63a99b99fa94d53678ef3170d5b659" 15029 - integrity sha512-U2ramh3W822ZR1nfXgIk+emxsf5eZSg10GbQrT0ZizImK8IZ5BmJY+BHRIkQgHzWFpExOVxC7kWbGL1bZALswA== 15030 dependencies: 15031 flow-enums-runtime "^0.0.6" 15032 terser "^5.15.0" 15033 15034 - metro-react-native-babel-preset@^0.76.9: 15035 - version "0.76.9" 15036 - resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.76.9.tgz#15868142122af14313429d7572c15cf01c16f077" 15037 - integrity sha512-eCBtW/UkJPDr6HlMgFEGF+964DZsUEF9RGeJdZLKWE7d/0nY3ABZ9ZAGxzu9efQ35EWRox5bDMXUGaOwUe5ikQ== 15038 dependencies: 15039 "@babel/core" "^7.20.0" 15040 "@babel/plugin-proposal-async-generator-functions" "^7.0.0" ··· 15076 babel-plugin-transform-flow-enums "^0.0.2" 15077 react-refresh "^0.4.0" 15078 15079 - metro-resolver@0.81.0: 15080 - version "0.81.0" 15081 - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.81.0.tgz#141f4837e1e0c5a1810ea02f2d9be3c9f6cf3766" 15082 - integrity sha512-Uu2Q+buHhm571cEwpPek8egMbdSTqmwT/5U7ZVNpK6Z2ElQBBCxd7HmFAslKXa7wgpTO2FAn6MqGeERbAtVDUA== 15083 dependencies: 15084 flow-enums-runtime "^0.0.6" 15085 15086 - metro-runtime@0.81.0, metro-runtime@^0.81.0: 15087 - version "0.81.0" 15088 - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.81.0.tgz#63af9b3fec15d1f307d89ef4881f5ba2c592291e" 15089 - integrity sha512-6oYB5HOt37RuGz2eV4A6yhcl+PUTwJYLDlY9vhT+aVjbUWI6MdBCf69vc4f5K5Vpt+yOkjy+2LDwLS0ykWFwYw== 15090 dependencies: 15091 "@babel/runtime" "^7.25.0" 15092 flow-enums-runtime "^0.0.6" 15093 15094 - metro-source-map@0.81.0, metro-source-map@^0.81.0: 15095 - version "0.81.0" 15096 - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.81.0.tgz#ca83964124bb227d5f0bdb1ee304dbfe635f869e" 15097 - integrity sha512-TzsVxhH83dyxg4A4+L1nzNO12I7ps5IHLjKGZH3Hrf549eiZivkdjYiq/S5lOB+p2HiQ+Ykcwtmcja95LIC62g== 15098 dependencies: 15099 "@babel/traverse" "^7.25.3" 15100 "@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3" 15101 "@babel/types" "^7.25.2" 15102 flow-enums-runtime "^0.0.6" 15103 invariant "^2.2.4" 15104 - metro-symbolicate "0.81.0" 15105 nullthrows "^1.1.1" 15106 - ob1 "0.81.0" 15107 source-map "^0.5.6" 15108 vlq "^1.0.0" 15109 15110 - metro-symbolicate@0.81.0: 15111 - version "0.81.0" 15112 - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.81.0.tgz#b7b1eae8bfd6ad2a922fa2bcb9f2144e464adafb" 15113 - integrity sha512-C/1rWbNTPYp6yzID8IPuQPpVGzJ2rbWYBATxlvQ9dfK5lVNoxcwz77hjcY8ISLsRRR15hyd/zbjCNKPKeNgE1Q== 15114 dependencies: 15115 flow-enums-runtime "^0.0.6" 15116 invariant "^2.2.4" 15117 - metro-source-map "0.81.0" 15118 nullthrows "^1.1.1" 15119 source-map "^0.5.6" 15120 - through2 "^2.0.1" 15121 vlq "^1.0.0" 15122 15123 - metro-transform-plugins@0.81.0: 15124 - version "0.81.0" 15125 - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.81.0.tgz#614c0e50593df545487b3f3383fed810c608fb32" 15126 - integrity sha512-uErLAPBvttGCrmGSCa0dNHlOTk3uJFVEVWa5WDg6tQ79PRmuYRwzUgLhVzn/9/kyr75eUX3QWXN79Jvu4txt6Q== 15127 dependencies: 15128 "@babel/core" "^7.25.2" 15129 "@babel/generator" "^7.25.0" ··· 15132 flow-enums-runtime "^0.0.6" 15133 nullthrows "^1.1.1" 15134 15135 - metro-transform-worker@0.81.0: 15136 - version "0.81.0" 15137 - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.81.0.tgz#43e63c95014f36786f0e1a132c778c6392950de7" 15138 - integrity sha512-HrQ0twiruhKy0yA+9nK5bIe3WQXZcC66PXTvRIos61/EASLAP2DzEmW7IxN/MGsfZegN2UzqL2CG38+mOB45vg== 15139 dependencies: 15140 "@babel/core" "^7.25.2" 15141 "@babel/generator" "^7.25.0" 15142 "@babel/parser" "^7.25.3" 15143 "@babel/types" "^7.25.2" 15144 flow-enums-runtime "^0.0.6" 15145 - metro "0.81.0" 15146 - metro-babel-transformer "0.81.0" 15147 - metro-cache "0.81.0" 15148 - metro-cache-key "0.81.0" 15149 - metro-minify-terser "0.81.0" 15150 - metro-source-map "0.81.0" 15151 - metro-transform-plugins "0.81.0" 15152 nullthrows "^1.1.1" 15153 15154 - metro@0.81.0, metro@^0.81.0: 15155 - version "0.81.0" 15156 - resolved "https://registry.yarnpkg.com/metro/-/metro-0.81.0.tgz#cffe9b7d597728dee8b57903ca155417b7c13a4f" 15157 - integrity sha512-kzdzmpL0gKhEthZ9aOV7sTqvg6NuTxDV8SIm9pf9sO8VVEbKrQk5DNcwupOUjgPPFAuKUc2NkT0suyT62hm2xg== 15158 dependencies: 15159 "@babel/code-frame" "^7.24.7" 15160 "@babel/core" "^7.25.2" ··· 15167 chalk "^4.0.0" 15168 ci-info "^2.0.0" 15169 connect "^3.6.5" 15170 - debug "^2.2.0" 15171 - denodeify "^1.2.1" 15172 error-stack-parser "^2.0.6" 15173 flow-enums-runtime "^0.0.6" 15174 graceful-fs "^4.2.4" 15175 - hermes-parser "0.24.0" 15176 image-size "^1.0.2" 15177 invariant "^2.2.4" 15178 - jest-worker "^29.6.3" 15179 jsc-safe-url "^0.2.2" 15180 lodash.throttle "^4.1.1" 15181 - metro-babel-transformer "0.81.0" 15182 - metro-cache "0.81.0" 15183 - metro-cache-key "0.81.0" 15184 - metro-config "0.81.0" 15185 - metro-core "0.81.0" 15186 - metro-file-map "0.81.0" 15187 - metro-resolver "0.81.0" 15188 - metro-runtime "0.81.0" 15189 - metro-source-map "0.81.0" 15190 - metro-symbolicate "0.81.0" 15191 - metro-transform-plugins "0.81.0" 15192 - metro-transform-worker "0.81.0" 15193 mime-types "^2.1.27" 15194 nullthrows "^1.1.1" 15195 serialize-error "^2.1.0" 15196 source-map "^0.5.6" 15197 - strip-ansi "^6.0.0" 15198 throat "^5.0.0" 15199 ws "^7.5.10" 15200 yargs "^17.6.2" ··· 15205 integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 15206 dependencies: 15207 braces "^3.0.2" 15208 - picomatch "^2.3.1" 15209 - 15210 - micromatch@^4.0.8: 15211 - version "4.0.8" 15212 - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" 15213 - integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== 15214 - dependencies: 15215 - braces "^3.0.3" 15216 picomatch "^2.3.1" 15217 15218 mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": ··· 15274 resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 15275 integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== 15276 15277 - "minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 15278 version "3.1.2" 15279 resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 15280 integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== ··· 15288 dependencies: 15289 brace-expansion "^2.0.1" 15290 15291 minimatch@^9.0.1, minimatch@^9.0.4: 15292 version "9.0.4" 15293 resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" ··· 15300 resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" 15301 integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== 15302 15303 - minipass-collect@^2.0.1: 15304 - version "2.0.1" 15305 - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-2.0.1.tgz#1621bc77e12258a12c60d34e2276ec5c20680863" 15306 - integrity sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw== 15307 - dependencies: 15308 - minipass "^7.0.3" 15309 - 15310 - minipass-flush@^1.0.5: 15311 - version "1.0.5" 15312 - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" 15313 - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== 15314 - dependencies: 15315 - minipass "^3.0.0" 15316 - 15317 - minipass-pipeline@^1.2.4: 15318 - version "1.2.4" 15319 - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" 15320 - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== 15321 - dependencies: 15322 - minipass "^3.0.0" 15323 - 15324 - minipass@^3.0.0: 15325 - version "3.3.6" 15326 - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" 15327 - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== 15328 - dependencies: 15329 - yallist "^4.0.0" 15330 - 15331 minipass@^4.2.4: 15332 version "4.2.8" 15333 resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" 15334 integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== 15335 15336 - minipass@^5.0.0: 15337 - version "5.0.0" 15338 - resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" 15339 - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== 15340 - 15341 "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: 15342 version "7.0.4" 15343 resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" 15344 integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== 15345 15346 - minipass@^7.0.3, minipass@^7.1.2: 15347 version "7.1.2" 15348 resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" 15349 integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== 15350 15351 - minizlib@^2.1.1: 15352 - version "2.1.2" 15353 - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" 15354 - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== 15355 dependencies: 15356 - minipass "^3.0.0" 15357 - yallist "^4.0.0" 15358 15359 mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: 15360 version "0.5.3" 15361 resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" 15362 integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== 15363 15364 - mkdirp@^0.5.1, mkdirp@~0.5.1: 15365 version "0.5.6" 15366 resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" 15367 integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== 15368 dependencies: 15369 minimist "^1.2.6" 15370 15371 - mkdirp@^1.0.3, mkdirp@^1.0.4: 15372 version "1.0.4" 15373 resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" 15374 integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== 15375 15376 moo@^0.5.1: 15377 version "0.5.2" ··· 15406 dns-packet "^5.2.2" 15407 thunky "^1.0.2" 15408 15409 - multiformats@^13.1.0: 15410 - version "13.3.0" 15411 - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-13.3.0.tgz#1f5188bc7c4fe08ff829ae1c18dc33409042fb71" 15412 - integrity sha512-CBiqvsufgmpo01VT5ze94O+uc+Pbf6f/sThlvWss0sBZmAOu6GQn5usrYV2sf2mr17FWYc0rO8c/CNe2T90QAA== 15413 - 15414 - multiformats@^9.4.2, multiformats@^9.5.4, multiformats@^9.6.4, multiformats@^9.9.0: 15415 version "9.9.0" 15416 resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" 15417 integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== ··· 15425 version "0.0.8" 15426 resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" 15427 integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== 15428 - 15429 - mv@~2: 15430 - version "2.1.1" 15431 - resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" 15432 - integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg== 15433 - dependencies: 15434 - mkdirp "~0.5.1" 15435 - ncp "~2.0.0" 15436 - rimraf "~2.4.0" 15437 15438 mz@^2.7.0: 15439 version "2.7.0" ··· 15469 resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 15470 integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 15471 15472 - ncp@~2.0.0: 15473 - version "2.0.0" 15474 - resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" 15475 - integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== 15476 - 15477 negotiator@0.6.3: 15478 version "0.6.3" 15479 resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 15480 integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 15481 15482 - neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2: 15483 version "2.6.2" 15484 resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" 15485 integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== ··· 15509 dependencies: 15510 semver "^7.3.5" 15511 15512 - node-abort-controller@^3.1.1: 15513 - version "3.1.1" 15514 - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" 15515 - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== 15516 - 15517 - node-dir@^0.1.17: 15518 - version "0.1.17" 15519 - resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" 15520 - integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg== 15521 - dependencies: 15522 - minimatch "^3.0.2" 15523 - 15524 - node-fetch@^2.2.0, node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: 15525 version "2.6.13" 15526 resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.13.tgz#a20acbbec73c2e09f9007de5cda17104122e0010" 15527 integrity sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA== ··· 15610 semver "^7.3.5" 15611 validate-npm-package-name "^5.0.0" 15612 15613 - npm-run-path@^2.0.0: 15614 - version "2.0.2" 15615 - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 15616 - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== 15617 - dependencies: 15618 - path-key "^2.0.0" 15619 - 15620 npm-run-path@^4.0.1: 15621 version "4.0.1" 15622 resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" ··· 15648 resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" 15649 integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== 15650 15651 - ob1@0.81.0: 15652 - version "0.81.0" 15653 - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.81.0.tgz#dc3154cca7aa9c2eb58f5ac63e9ee23ff4c6f520" 15654 - integrity sha512-6Cvrkxt1tqaRdWqTAMcVYEiO5i1xcF9y7t06nFdjFqkfPsEloCf8WwhXdwBpNUkVYSQlSGS7cDgVQR86miBfBQ== 15655 dependencies: 15656 flow-enums-runtime "^0.0.6" 15657 ··· 15961 resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" 15962 integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== 15963 15964 - p-map@^4.0.0: 15965 - version "4.0.0" 15966 - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" 15967 - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 15968 - dependencies: 15969 - aggregate-error "^3.0.0" 15970 - 15971 p-queue@^6.6.2: 15972 version "6.6.2" 15973 resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" ··· 16121 resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 16122 integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== 16123 16124 - path-key@^2.0.0, path-key@^2.0.1: 16125 version "2.0.1" 16126 resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 16127 integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== ··· 16352 sonic-boom "^3.7.0" 16353 thread-stream "^2.6.0" 16354 16355 - pirates@^4.0.1, pirates@^4.0.4, pirates@^4.0.5: 16356 version "4.0.6" 16357 resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" 16358 integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== 16359 16360 - pkg-dir@^3.0.0: 16361 - version "3.0.0" 16362 - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" 16363 - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== 16364 - dependencies: 16365 - find-up "^3.0.0" 16366 - 16367 pkg-dir@^4.1.0, pkg-dir@^4.2.0: 16368 version "4.2.0" 16369 resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" ··· 16988 prosemirror-state "^1.0.0" 16989 prosemirror-transform "^1.1.0" 16990 16991 proxy-addr@~2.0.7: 16992 version "2.0.7" 16993 resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" ··· 17194 minimist "^1.2.0" 17195 strip-json-comments "~2.0.1" 17196 17197 - react-compiler-runtime@19.0.0-beta-a7bf2bd-20241110: 17198 - version "19.0.0-beta-a7bf2bd-20241110" 17199 - resolved "https://registry.yarnpkg.com/react-compiler-runtime/-/react-compiler-runtime-19.0.0-beta-a7bf2bd-20241110.tgz#58587b1a05d50f78f0a72f5e857d541f5dcb5cd1" 17200 - integrity sha512-cSkrfz2eGcC9UZ/83mLf3aqKKDVjFkWJeA/kiYLwKTNp7B0Lq5M1FQ3vTfgSC027fK5ZutXU/JsCS5KxTwk8Mg== 17201 17202 - react-devtools-core@^5.3.1: 17203 - version "5.3.2" 17204 - resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-5.3.2.tgz#d5df92f8ef2a587986d094ef2c47d84cf4ae46ec" 17205 - integrity sha512-crr9HkVrDiJ0A4zot89oS0Cgv0Oa4OG1Em4jit3P3ZxZSKPMYyMjfwMqgcJna9o625g8oN87rBm8SWWrSTBZxg== 17206 dependencies: 17207 shell-quote "^1.6.1" 17208 ws "^7" 17209 17210 - react-dom@18.3.1: 17211 - version "18.3.1" 17212 - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" 17213 - integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== 17214 dependencies: 17215 - loose-envify "^1.1.0" 17216 - scheduler "^0.23.2" 17217 17218 react-fast-compare@^3.2.2: 17219 version "3.2.2" ··· 17230 resolved "https://registry.yarnpkg.com/react-image-crop/-/react-image-crop-11.0.7.tgz#25f3d37ccbb65a05d19d23b4740a5912835c741e" 17231 integrity sha512-ZciKWHDYzmm366JDL18CbrVyjnjH0ojufGDmScfS4ZUqLHg4nm6ATY+K62C75W4ZRNt4Ii+tX0bSjNk9LQ2xzQ== 17232 17233 - "react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0, react-is@^18.2.0: 17234 - version "18.2.0" 17235 - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" 17236 - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== 17237 17238 react-is@^16.13.0, react-is@^16.13.1, react-is@^16.7.0: 17239 version "16.13.1" 17240 resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 17241 integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 17242 17243 - react-is@^18.3.1: 17244 - version "18.3.1" 17245 - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" 17246 - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== 17247 17248 - react-keyed-flatten-children@^3.0.0: 17249 - version "3.0.0" 17250 - resolved "https://registry.yarnpkg.com/react-keyed-flatten-children/-/react-keyed-flatten-children-3.0.0.tgz#b6ad0bde437d3ab86c8af3a1902d164be2a29d67" 17251 - integrity sha512-tSH6gvOyQjt3qtjG+kU9sTypclL1672yjpVufcE3aHNM0FhvjBUQZqsb/awIux4zEuVC3k/DP4p0GdTT/QUt/Q== 17252 - dependencies: 17253 - react-is "^18.2.0" 17254 17255 - react-native-compressor@1.10.3: 17256 - version "1.10.3" 17257 - resolved "https://registry.yarnpkg.com/react-native-compressor/-/react-native-compressor-1.10.3.tgz#4e44fa8395de17fd6dc63c074e5a8c2ef06b80a1" 17258 - integrity sha512-i51DfTwfLcKorWbTXtnPOcQC4SQDuC+DqKkSl9wF9qAUmNS9PtipYZCXOvWShYFnX0mmcWw5vwEp2b2V73PaDQ== 17259 17260 - react-native-date-picker@^5.0.7: 17261 - version "5.0.7" 17262 - resolved "https://registry.yarnpkg.com/react-native-date-picker/-/react-native-date-picker-5.0.7.tgz#24161d30c6dca8627afe1aa5a55a389421fdfba4" 17263 - integrity sha512-/RodyCZWjb+f3f4YHqKbWFYczGm+tNngwbVSB6MLGgt5Kl7LQXpv4QE6ybnHW+DM4LteTP8A6lj8LEkQ7+usLQ== 17264 17265 react-native-dotenv@^3.4.11: 17266 version "3.4.11" ··· 17269 dependencies: 17270 dotenv "^16.4.5" 17271 17272 - react-native-drawer-layout@^4.1.1: 17273 - version "4.1.1" 17274 - resolved "https://registry.yarnpkg.com/react-native-drawer-layout/-/react-native-drawer-layout-4.1.1.tgz#7fce1b3d3ddd9fc5d781c73d13b814d022b90114" 17275 - integrity sha512-ob6O3ph7PZ3A2FpdlsSxHuMpHDXREZPR8A6S3q0dSxV7i6d+8Z6CPCTbegfN2QZyizSow9NLrKyXP93tlqZ3dA== 17276 dependencies: 17277 - use-latest-callback "^0.2.1" 17278 17279 - react-native-edge-to-edge@^1.6.0: 17280 version "1.6.0" 17281 resolved "https://registry.yarnpkg.com/react-native-edge-to-edge/-/react-native-edge-to-edge-1.6.0.tgz#2ba63b941704a7f713e298185c26cde4d9e4b973" 17282 integrity sha512-2WCNdE3Qd6Fwg9+4BpbATUxCLcouF6YRY7K+J36KJ4l3y+tWN6XCqAC4DuoGblAAbb2sLkhEDp4FOlbOIot2Og== 17283 17284 - react-native-emoji-popup@^0.1.2: 17285 - version "0.1.2" 17286 - resolved "https://registry.yarnpkg.com/react-native-emoji-popup/-/react-native-emoji-popup-0.1.2.tgz#7cd3874ba0496031e6f3e24de77e0df895168ce6" 17287 - integrity sha512-YxuAwubxe6VLNfTyMlpw9g2WQVUIuJb4flWVZjfR7r6fmVvXw4Sxo6ZD6m/fG9AQP3pHkZptzNUr4gdF23m3ZQ== 17288 - 17289 - react-native-gesture-handler@2.20.2: 17290 - version "2.20.2" 17291 - resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.20.2.tgz#73844c8e9c417459c2f2981bc4d8f66ba8a5ee66" 17292 - integrity sha512-HqzFpFczV4qCnwKlvSAvpzEXisL+Z9fsR08YV5LfJDkzuArMhBu2sOoSPUF/K62PCoAb+ObGlTC83TKHfUd0vg== 17293 dependencies: 17294 "@egjs/hammerjs" "^2.0.17" 17295 hoist-non-react-statics "^3.3.0" 17296 invariant "^2.2.4" 17297 - prop-types "^15.7.2" 17298 17299 react-native-get-random-values@^1.6.0: 17300 version "1.10.0" ··· 17310 dependencies: 17311 fast-base64-decode "^1.0.0" 17312 17313 - react-native-image-crop-picker@^0.41.6: 17314 - version "0.41.6" 17315 - resolved "https://registry.yarnpkg.com/react-native-image-crop-picker/-/react-native-image-crop-picker-0.41.6.tgz#de2c00102f4c934848fa11ff2335f29f5dc6b3e3" 17316 - integrity sha512-oyEVkiJX1cnjYJolQluOqXxz9xhLHrv+pyCs7+jA87yaa110/0jv1UCqxjVjxueKug7zk/UnjG7i9Ks1cGyLpA== 17317 17318 react-native-ios-context-menu@^1.15.3: 17319 version "1.15.3" ··· 17321 integrity sha512-UNkVl7ocvSpNaEpvBvE1aHOfDy/DFdZ5I+ElfnTXFsRxrVZmxLtST0b1q2wSWGWDmd2Ig2AYd7GRbYtcY222Ag== 17322 dependencies: 17323 "@dominicstop/ts-event-emitter" "^1.1.0" 17324 17325 react-native-is-edge-to-edge@^1.1.6: 17326 version "1.1.6" ··· 17339 resolved "https://registry.yarnpkg.com/react-native-mmkv/-/react-native-mmkv-2.12.2.tgz#4bba0f5f04e2cf222494cce3a9794ba6a4894dee" 17340 integrity sha512-6058Aq0p57chPrUutLGe9fYoiDVDNMU2PKV+lLFUJ3GhoHvUrLdsS1PDSCLr00yqzL4WJQ7TTzH+V8cpyrNcfg== 17341 17342 - react-native-pager-view@6.5.1: 17343 - version "6.5.1" 17344 - resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-6.5.1.tgz#e639e8c975f4c749aae1c3120dc4208265fce4cc" 17345 - integrity sha512-YdX7bP+rPYvATMU7HzlMq9JaG3ui/+cVRbFZFGW+QshDULANFg9ECR1BA7H7JTIcO/ZgWCwF+1aVmYG5yBA9Og== 17346 17347 react-native-picker-select@^9.3.1: 17348 version "9.3.1" ··· 17366 qrcode "^1.5.4" 17367 react-fast-compare "^3.2.2" 17368 17369 - react-native-reanimated@~3.16.1: 17370 - version "3.16.7" 17371 - resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.16.7.tgz#6c7fa516f62c6743c24d955dada00e3c5323d50d" 17372 - integrity sha512-qoUUQOwE1pHlmQ9cXTJ2MX9FQ9eHllopCLiWOkDkp6CER95ZWeXhJCP4cSm6AD4jigL5jHcZf/SkWrg8ttZUsw== 17373 dependencies: 17374 "@babel/plugin-transform-arrow-functions" "^7.0.0-0" 17375 "@babel/plugin-transform-class-properties" "^7.0.0-0" ··· 17382 "@babel/preset-typescript" "^7.16.7" 17383 convert-source-map "^2.0.0" 17384 invariant "^2.2.4" 17385 17386 react-native-root-siblings@^4.1.1: 17387 version "4.1.1" 17388 resolved "https://registry.yarnpkg.com/react-native-root-siblings/-/react-native-root-siblings-4.1.1.tgz#b7742db7634a87f507eb99a5fd699c4f10c46ab0" 17389 integrity sha512-sdmLElNs5PDWqmZmj4/aNH4anyxreaPm61c4ZkRiR8SO/GzLg6KjAbb0e17RmMdnBdD0AIQbS38h/l55YKN4ZA== 17390 17391 - react-native-safe-area-context@4.12.0: 17392 - version "4.12.0" 17393 - resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.12.0.tgz#17868522a55bbc6757418c94a1b4abdda6b045d9" 17394 - integrity sha512-ukk5PxcF4p3yu6qMZcmeiZgowhb5AsKRnil54YFUUAXVIS7PJcMHGGC+q44fCiBg44/1AJk5njGMez1m9H0BVQ== 17395 17396 - react-native-screens@~4.4.0: 17397 - version "4.4.0" 17398 - resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-4.4.0.tgz#3fcbcdf1bbb1be2736b10d43edc3d4e69c37b5aa" 17399 - integrity sha512-c7zc7Zwjty6/pGyuuvh9gK3YBYqHPOxrhXfG1lF4gHlojQSmIx2piNbNaV+Uykj+RDTmFXK0e/hA+fucw/Qozg== 17400 dependencies: 17401 react-freeze "^1.0.0" 17402 warn-once "^0.1.0" 17403 17404 - react-native-svg@15.8.0: 17405 - version "15.8.0" 17406 - resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-15.8.0.tgz#9b5fd4f5cf5675197b3f4cbfcc77c215de2b9502" 17407 - integrity sha512-KHJzKpgOjwj1qeZzsBjxNdoIgv2zNCO9fVcoq2TEhTRsVV5DGTZ9JzUZwybd7q4giT/H3RdtqC3u44dWdO0Ffw== 17408 dependencies: 17409 css-select "^5.1.0" 17410 css-tree "^1.1.3" ··· 17422 dependencies: 17423 whatwg-url-without-unicode "8.0.0-3" 17424 17425 - react-native-uuid@^2.0.2: 17426 - version "2.0.2" 17427 - resolved "https://registry.yarnpkg.com/react-native-uuid/-/react-native-uuid-2.0.2.tgz#3da192e342ef35ee95a7def676ab41c1256dfd66" 17428 - integrity sha512-5ypj/hV58P+6VREdjkW0EudSibsH3WdqDERoHKnD9syFWjF+NfRWWrJb2sa3LIwI5zpzMvUiabs+DX40WHpEMw== 17429 17430 react-native-view-shot@^4.0.3: 17431 version "4.0.3" ··· 17441 dependencies: 17442 qs "^6.5.1" 17443 17444 - react-native-web@~0.19.13: 17445 - version "0.19.13" 17446 - resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.19.13.tgz#2d84849bf0251ec0e3a8072fda7f9a7c29375331" 17447 - integrity sha512-etv3bN8rJglrRCp/uL4p7l8QvUNUC++QwDbdZ8CB7BvZiMvsxfFIRM1j04vxNldG3uo2puRd6OSWR3ibtmc29A== 17448 dependencies: 17449 "@babel/runtime" "^7.18.6" 17450 "@react-native/normalize-colors" "^0.74.1" 17451 fbjs "^3.0.4" 17452 - inline-style-prefixer "^6.0.1" 17453 memoize-one "^6.0.0" 17454 nullthrows "^1.1.1" 17455 postcss-value-parser "^4.2.0" 17456 styleq "^0.1.3" 17457 17458 - react-native-webview@13.12.5: 17459 - version "13.12.5" 17460 - resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-13.12.5.tgz#ed9eec1eda234d7cf18d329859b9bdebf7e258b6" 17461 - integrity sha512-INOKPom4dFyzkbxbkuQNfeRG9/iYnyRDzrDkJeyvSWgJAW2IDdJkWFJBS2v0RxIL4gqLgHkiIZDOfiLaNnw83Q== 17462 dependencies: 17463 escape-string-regexp "^4.0.0" 17464 invariant "2.2.4" 17465 17466 - react-native@0.76.9: 17467 - version "0.76.9" 17468 - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.76.9.tgz#68cdfbe75a5c02417ac0eefbb28894a1adc330a2" 17469 - integrity sha512-+LRwecWmTDco7OweGsrECIqJu0iyrREd6CTCgC/uLLYipiHvk+MH9nd6drFtCw/6Blz6eoKTcH9YTTJusNtrWg== 17470 dependencies: 17471 - "@jest/create-cache-key-function" "^29.6.3" 17472 - "@react-native/assets-registry" "0.76.9" 17473 - "@react-native/codegen" "0.76.9" 17474 - "@react-native/community-cli-plugin" "0.76.9" 17475 - "@react-native/gradle-plugin" "0.76.9" 17476 - "@react-native/js-polyfills" "0.76.9" 17477 - "@react-native/normalize-colors" "0.76.9" 17478 - "@react-native/virtualized-lists" "0.76.9" 17479 abort-controller "^3.0.0" 17480 anser "^1.4.9" 17481 ansi-regex "^5.0.0" 17482 babel-jest "^29.7.0" 17483 - babel-plugin-syntax-hermes-parser "^0.23.1" 17484 base64-js "^1.5.1" 17485 chalk "^4.0.0" 17486 commander "^12.0.0" ··· 17488 flow-enums-runtime "^0.0.6" 17489 glob "^7.1.1" 17490 invariant "^2.2.4" 17491 - jest-environment-node "^29.6.3" 17492 - jsc-android "^250231.0.0" 17493 memoize-one "^5.0.0" 17494 - metro-runtime "^0.81.0" 17495 - metro-source-map "^0.81.0" 17496 - mkdirp "^0.5.1" 17497 nullthrows "^1.1.1" 17498 pretty-format "^29.7.0" 17499 promise "^8.3.0" 17500 - react-devtools-core "^5.3.1" 17501 react-refresh "^0.14.0" 17502 regenerator-runtime "^0.13.2" 17503 - scheduler "0.24.0-canary-efb381bbf-20230505" 17504 semver "^7.1.3" 17505 stacktrace-parser "^0.1.10" 17506 whatwg-fetch "^3.0.0" ··· 17530 react-style-singleton "^2.2.1" 17531 tslib "^2.0.0" 17532 17533 - react-remove-scroll-bar@^2.3.7: 17534 version "2.3.8" 17535 resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz#99c20f908ee467b385b68a3469b4a3e750012223" 17536 integrity sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q== ··· 17570 prop-types "^15.6.1" 17571 shallow-equal "^1.2.1" 17572 17573 - react-server-dom-webpack@19.0.0-rc-6230622a1a-20240610: 17574 - version "19.0.0-rc-6230622a1a-20240610" 17575 - resolved "https://registry.yarnpkg.com/react-server-dom-webpack/-/react-server-dom-webpack-19.0.0-rc-6230622a1a-20240610.tgz#6c534fe7d376250fcc400e48f5402436b7961be0" 17576 - integrity sha512-nr+IsOVD07QdeCr4BLvR5TALfLaZLi9AIaoa6vXymBc051iDPWedJujYYrjRJy5+9jp9oCx3G8Tt/Bs//TckJw== 17577 dependencies: 17578 acorn-loose "^8.3.0" 17579 neo-async "^2.6.1" 17580 - 17581 - react-shallow-renderer@^16.15.0: 17582 - version "16.15.0" 17583 - resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" 17584 - integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== 17585 - dependencies: 17586 - object-assign "^4.1.1" 17587 - react-is "^16.12.0 || ^17.0.0 || ^18.0.0" 17588 17589 react-style-singleton@^2.2.1: 17590 version "2.2.1" ··· 17603 get-nonce "^1.0.0" 17604 tslib "^2.0.0" 17605 17606 - react-test-renderer@18.2.0: 17607 - version "18.2.0" 17608 - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.2.0.tgz#1dd912bd908ff26da5b9fca4fd1c489b9523d37e" 17609 - integrity sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA== 17610 dependencies: 17611 - react-is "^18.2.0" 17612 - react-shallow-renderer "^16.15.0" 17613 - scheduler "^0.23.0" 17614 - 17615 - react-test-renderer@18.3.1: 17616 - version "18.3.1" 17617 - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.3.1.tgz#e693608a1f96283400d4a3afead6893f958b80b4" 17618 - integrity sha512-KkAgygexHUkQqtvvx/otwxtuFu5cVjfzTCtjXLH9boS19/Nbtg84zS7wIQn39G8IlrhThBpQsMKkq5ZHZIYFXA== 17619 - dependencies: 17620 - react-is "^18.3.1" 17621 - react-shallow-renderer "^16.15.0" 17622 - scheduler "^0.23.2" 17623 17624 react-textarea-autosize@^8.5.3: 17625 version "8.5.3" ··· 17630 use-composed-ref "^1.3.0" 17631 use-latest "^1.2.1" 17632 17633 - react@18.3.1: 17634 - version "18.3.1" 17635 - resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" 17636 - integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== 17637 - dependencies: 17638 - loose-envify "^1.1.0" 17639 17640 - readable-stream@^2.0.1, readable-stream@~2.3.6: 17641 version "2.3.8" 17642 resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" 17643 integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== ··· 17691 dependencies: 17692 picomatch "^2.2.1" 17693 17694 - readline@^1.3.0: 17695 - version "1.3.0" 17696 - resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" 17697 - integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== 17698 - 17699 real-require@^0.2.0: 17700 version "0.2.0" 17701 resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.2.0.tgz#209632dea1810be2ae063a6ac084fee7e33fba78" 17702 integrity sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg== 17703 - 17704 - recast@^0.21.0: 17705 - version "0.21.5" 17706 - resolved "https://registry.yarnpkg.com/recast/-/recast-0.21.5.tgz#e8cd22bb51bcd6130e54f87955d33a2b2e57b495" 17707 - integrity sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg== 17708 - dependencies: 17709 - ast-types "0.15.2" 17710 - esprima "~4.0.0" 17711 - source-map "~0.6.1" 17712 - tslib "^2.0.1" 17713 17714 redent@^3.0.0: 17715 version "3.0.0" ··· 17886 resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" 17887 integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== 17888 17889 - remove-trailing-slash@^0.1.0: 17890 - version "0.1.1" 17891 - resolved "https://registry.yarnpkg.com/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz#be2285a59f39c74d1bce4f825950061915e3780d" 17892 - integrity sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA== 17893 - 17894 renderkid@^3.0.0: 17895 version "3.0.0" 17896 resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" ··· 18069 dependencies: 18070 glob "^7.1.3" 18071 18072 - rimraf@~2.4.0: 18073 - version "2.4.5" 18074 - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" 18075 - integrity sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ== 18076 - dependencies: 18077 - glob "^6.0.1" 18078 - 18079 - rimraf@~2.6.2: 18080 - version "2.6.3" 18081 - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 18082 - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 18083 - dependencies: 18084 - glob "^7.1.3" 18085 - 18086 rn-fetch-blob@^0.12.0: 18087 version "0.12.0" 18088 resolved "https://registry.yarnpkg.com/rn-fetch-blob/-/rn-fetch-blob-0.12.0.tgz#ec610d2f9b3f1065556b58ab9c106eeb256f3cba" ··· 18180 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 18181 integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 18182 18183 - safe-json-stringify@~1: 18184 - version "1.2.0" 18185 - resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" 18186 - integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== 18187 - 18188 safe-push-apply@^1.0.0: 18189 version "1.0.0" 18190 resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" ··· 18233 dependencies: 18234 xmlchars "^2.2.0" 18235 18236 - scheduler@0.24.0-canary-efb381bbf-20230505: 18237 - version "0.24.0-canary-efb381bbf-20230505" 18238 - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.24.0-canary-efb381bbf-20230505.tgz#5dddc60e29f91cd7f8b983d7ce4a99c2202d178f" 18239 - integrity sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA== 18240 - dependencies: 18241 - loose-envify "^1.1.0" 18242 - 18243 - scheduler@^0.23.0: 18244 - version "0.23.0" 18245 - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 18246 - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 18247 - dependencies: 18248 - loose-envify "^1.1.0" 18249 - 18250 - scheduler@^0.23.2: 18251 - version "0.23.2" 18252 - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" 18253 - integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== 18254 - dependencies: 18255 - loose-envify "^1.1.0" 18256 18257 schema-utils@^2.6.5: 18258 version "2.7.1" ··· 18294 dependencies: 18295 node-forge "^1" 18296 18297 - selfsigned@^2.4.1: 18298 - version "2.4.1" 18299 - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" 18300 - integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== 18301 - dependencies: 18302 - "@types/node-forge" "^1.3.0" 18303 - node-forge "^1" 18304 - 18305 semver-compare@^1.0.0: 18306 version "1.0.0" 18307 resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" ··· 18329 resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" 18330 integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== 18331 18332 - semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4: 18333 version "7.5.4" 18334 resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" 18335 integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== ··· 18341 resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" 18342 integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== 18343 18344 - semver@~7.3.2: 18345 - version "7.3.8" 18346 - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" 18347 - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== 18348 - dependencies: 18349 - lru-cache "^6.0.0" 18350 - 18351 send@0.18.0: 18352 version "0.18.0" 18353 resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" ··· 18367 range-parser "~1.2.1" 18368 statuses "2.0.1" 18369 18370 send@^0.19.0: 18371 version "0.19.1" 18372 resolved "https://registry.yarnpkg.com/send/-/send-0.19.1.tgz#1c2563b2ee4fe510b806b21ec46f355005a369f9" ··· 18411 mime-types "~2.1.17" 18412 parseurl "~1.3.2" 18413 18414 - serve-static@1.15.0, serve-static@^1.13.1: 18415 version "1.15.0" 18416 resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" 18417 integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== ··· 18420 escape-html "~1.0.3" 18421 parseurl "~1.3.3" 18422 send "0.18.0" 18423 18424 server-only@^0.0.1: 18425 version "0.0.1" ··· 18491 resolved "https://registry.yarnpkg.com/sf-symbols-typescript/-/sf-symbols-typescript-1.0.0.tgz#94e9210bf27e7583f9749a0d07bd4f4937ea488f" 18492 integrity sha512-DkS7q3nN68dEMb4E18HFPDAvyrjDZK9YAQQF2QxeFu9gp2xRDXFMF8qLJ1EmQ/qeEGQmop4lmMM1WtYJTIcCMw== 18493 18494 - shallow-clone@^3.0.0: 18495 - version "3.0.1" 18496 - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" 18497 - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== 18498 - dependencies: 18499 - kind-of "^6.0.2" 18500 - 18501 shallow-equal@^1.2.1: 18502 version "1.2.1" 18503 resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" ··· 18610 side-channel-map "^1.0.1" 18611 side-channel-weakmap "^1.0.2" 18612 18613 - signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: 18614 version "3.0.7" 18615 resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 18616 integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== ··· 18752 buffer-from "^1.0.0" 18753 source-map "^0.6.0" 18754 18755 - source-map-support@^0.5.16, source-map-support@~0.5.20, source-map-support@~0.5.21: 18756 version "0.5.21" 18757 resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 18758 integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== ··· 18820 resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" 18821 integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== 18822 18823 - split@^1.0.1: 18824 - version "1.0.1" 18825 - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" 18826 - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== 18827 - dependencies: 18828 - through "2" 18829 - 18830 sprintf-js@~1.0.2: 18831 version "1.0.3" 18832 resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 18833 integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 18834 18835 - ssri@^10.0.0: 18836 - version "10.0.6" 18837 - resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.6.tgz#a8aade2de60ba2bce8688e3fa349bad05c7dc1e5" 18838 - integrity sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ== 18839 - dependencies: 18840 - minipass "^7.0.3" 18841 - 18842 stable@^0.1.8: 18843 version "0.1.8" 18844 resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" ··· 18948 inherits "~2.0.4" 18949 readable-stream "^3.5.0" 18950 18951 - stream-buffers@2.2.x, stream-buffers@~2.2.0: 18952 version "2.2.0" 18953 resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" 18954 integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg== ··· 19163 resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 19164 integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 19165 19166 - strip-eof@^1.0.0: 19167 - version "1.0.0" 19168 - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 19169 - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== 19170 - 19171 strip-final-newline@^2.0.0: 19172 version "2.0.0" 19173 resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" ··· 19249 pirates "^4.0.1" 19250 ts-interface-checker "^0.1.9" 19251 19252 - sudo-prompt@9.1.1: 19253 - version "9.1.1" 19254 - resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.1.1.tgz#73853d729770392caec029e2470db9c221754db0" 19255 - integrity sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA== 19256 - 19257 sudo-prompt@^8.2.0: 19258 version "8.2.5" 19259 resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-8.2.5.tgz#cc5ef3769a134bb94b24a631cc09628d4d53603e" ··· 19350 inherits "^2.0.3" 19351 readable-stream "^3.1.1" 19352 19353 - tar@^6.1.11, tar@^6.2.1: 19354 - version "6.2.1" 19355 - resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" 19356 - integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== 19357 dependencies: 19358 - chownr "^2.0.0" 19359 - fs-minipass "^2.0.0" 19360 - minipass "^5.0.0" 19361 - minizlib "^2.1.1" 19362 - mkdirp "^1.0.3" 19363 - yallist "^4.0.0" 19364 19365 - temp-dir@^2.0.0, temp-dir@~2.0.0: 19366 version "2.0.0" 19367 resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" 19368 integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== 19369 19370 - temp@^0.8.4: 19371 - version "0.8.4" 19372 - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" 19373 - integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== 19374 - dependencies: 19375 - rimraf "~2.6.2" 19376 - 19377 - tempy@^0.7.1: 19378 - version "0.7.1" 19379 - resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.7.1.tgz#5a654e6dbd1747cdd561efb112350b55cd9c1d46" 19380 - integrity sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg== 19381 - dependencies: 19382 - del "^6.0.0" 19383 - is-stream "^2.0.0" 19384 - temp-dir "^2.0.0" 19385 - type-fest "^0.16.0" 19386 - unique-string "^2.0.0" 19387 - 19388 terminal-link@^2.1.1: 19389 version "2.1.1" 19390 resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" ··· 19468 resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" 19469 integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== 19470 19471 - through2@^2.0.1: 19472 - version "2.0.5" 19473 - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 19474 - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== 19475 - dependencies: 19476 - readable-stream "~2.3.6" 19477 - xtend "~4.0.1" 19478 - 19479 - through@2, through@^2.3.6: 19480 version "2.3.8" 19481 resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 19482 integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== ··· 19635 resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 19636 integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 19637 19638 - tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0: 19639 version "2.6.2" 19640 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" 19641 integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== 19642 - 19643 - tsscmp@1.0.6: 19644 - version "1.0.6" 19645 - resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" 19646 - integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== 19647 19648 tsutils@^3.21.0: 19649 version "3.21.0" ··· 19671 resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 19672 integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 19673 19674 - type-fest@^0.16.0: 19675 - version "0.16.0" 19676 - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" 19677 - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== 19678 - 19679 type-fest@^0.20.2: 19680 version "0.20.2" 19681 resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" ··· 19805 optionalDependencies: 19806 rxjs "^7.5.2" 19807 19808 - typescript@^5.7.2: 19809 - version "5.7.2" 19810 - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.2.tgz#3169cf8c4c8a828cde53ba9ecb3d2b1d5dd67be6" 19811 - integrity sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg== 19812 19813 ua-parser-js@^0.7.33: 19814 version "0.7.35" ··· 19867 resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" 19868 integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== 19869 19870 undici@^5.28.2: 19871 version "5.28.2" 19872 resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.2.tgz#fea200eac65fc7ecaff80a023d1a0543423b4c91" ··· 19912 resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" 19913 integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== 19914 19915 - unimodules-app-loader@~5.0.1: 19916 - version "5.0.1" 19917 - resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-5.0.1.tgz#4c5ac10b1043607441a171b8b6658b57a1e1e9f2" 19918 - integrity sha512-JI4dUMOovvLrZ1U/mrQrR73cxGH26H7NpfBxwE0hk59CBOyHO4YYpliI3hPSGgZzt+YEy2VZR6nrspSUXY8jyw== 19919 - 19920 - unique-filename@^3.0.0: 19921 - version "3.0.0" 19922 - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea" 19923 - integrity sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g== 19924 - dependencies: 19925 - unique-slug "^4.0.0" 19926 19927 - unique-slug@^4.0.0: 19928 - version "4.0.0" 19929 - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3" 19930 - integrity sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ== 19931 - dependencies: 19932 - imurmurhash "^0.1.4" 19933 - 19934 - unique-string@^2.0.0, unique-string@~2.0.0: 19935 version "2.0.0" 19936 resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" 19937 integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== 19938 dependencies: 19939 crypto-random-string "^2.0.0" 19940 - 19941 - universalify@^0.1.0: 19942 - version "0.1.2" 19943 - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 19944 - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 19945 19946 universalify@^0.2.0: 19947 version "0.2.0" ··· 20054 resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.9.tgz#10191dc54257e65a8e52322127643a8940271e2a" 20055 integrity sha512-CL/29uS74AwreI/f2oz2hLTW7ZqVeV5+gxFeGudzQrgkCytrHw33G4KbnQOrRlAEzzAFXi7dDLMC9zhWcVpzmw== 20056 20057 - use-latest-callback@^0.2.1: 20058 - version "0.2.1" 20059 - resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.2.1.tgz#4d4e6a9e4817b13142834850dcfa8d24ca4569cf" 20060 - integrity sha512-QWlq8Is8BGWBf883QOEQP5HWYX/kMI+JTbJ5rdtvJLmXTIh9XoHIO3PQcmQl8BU44VKxow1kbQUHa6mQSMALDQ== 20061 20062 use-latest@^1.2.1: 20063 version "1.2.1" ··· 20125 resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" 20126 integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== 20127 20128 - uuid@^8.0.0, uuid@^8.3.2: 20129 version "8.3.2" 20130 resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 20131 integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== ··· 20214 integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== 20215 dependencies: 20216 defaults "^1.0.3" 20217 - 20218 - web-streams-polyfill@^3.3.2: 20219 - version "3.3.3" 20220 - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b" 20221 - integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw== 20222 20223 webidl-conversions@^3.0.0: 20224 version "3.0.1" ··· 20322 source-list-map "^2.0.1" 20323 source-map "^0.6.1" 20324 20325 - webpack-sources@^3.2.3: 20326 version "3.2.3" 20327 resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" 20328 integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== ··· 20697 resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 20698 integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 20699 20700 - xtend@^4.0.0, xtend@~4.0.1: 20701 version "4.0.2" 20702 resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 20703 integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== ··· 20721 version "4.0.0" 20722 resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 20723 integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 20724 20725 yaml@2.3.1: 20726 version "2.3.1"
··· 20 "@jridgewell/gen-mapping" "^0.3.0" 21 "@jridgewell/trace-mapping" "^0.3.9" 22 23 + "@atproto-labs/fetch-node@0.1.8": 24 + version "0.1.8" 25 + resolved "https://registry.yarnpkg.com/@atproto-labs/fetch-node/-/fetch-node-0.1.8.tgz#687fc8be6107f10a4247c17989792862affd838b" 26 + integrity sha512-OOTIhZNPEDDm7kaYU8iYRgzM+D5n3mP2iiBSyKuLakKTaZBL5WwYlUsJVsqX26SnUXtGEroOJEVJ6f66OcG80w== 27 dependencies: 28 + "@atproto-labs/fetch" "0.2.2" 29 "@atproto-labs/pipe" "0.1.0" 30 ipaddr.js "^2.1.0" 31 psl "^1.9.0" 32 undici "^6.14.1" 33 34 + "@atproto-labs/fetch@0.2.2": 35 + version "0.2.2" 36 + resolved "https://registry.yarnpkg.com/@atproto-labs/fetch/-/fetch-0.2.2.tgz#c65acfd7b2265a8fe7d4ba3997126cce07bafe26" 37 + integrity sha512-QyafkedbFeVaN20DYUpnY2hcArYxjdThPXbYMqOSoZhcvkrUqaw4xDND4wZB5TBD9cq2yqe9V6mcw9P4XQKQuQ== 38 dependencies: 39 "@atproto-labs/pipe" "0.1.0" 40 41 "@atproto-labs/pipe@0.1.0": 42 version "0.1.0" 43 resolved "https://registry.yarnpkg.com/@atproto-labs/pipe/-/pipe-0.1.0.tgz#c8d86923b6d8e900d39efe6fdcdf0d897c434086" 44 integrity sha512-ghOqHFyJlQVFPESzlVHjKroP0tPzbmG5Jms0dNI9yLDEfL8xp4OFPWLX4f6T8mRq69wWs4nIDM3sSsFbFqLa1w== 45 46 + "@atproto-labs/simple-store-memory@0.1.3": 47 + version "0.1.3" 48 + resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store-memory/-/simple-store-memory-0.1.3.tgz#fa13f2f07a5e1488e7005c43dfc0cd69deb5e44e" 49 + integrity sha512-jkitT9+AtU+0b28DoN92iURLaCt/q/q4yX8q6V+9LSwYlUTqKoj/5NFKvF7x6EBuG+gpUdlcycbH7e60gjOhRQ== 50 dependencies: 51 + "@atproto-labs/simple-store" "0.2.0" 52 lru-cache "^10.2.0" 53 54 + "@atproto-labs/simple-store@0.2.0": 55 + version "0.2.0" 56 + resolved "https://registry.yarnpkg.com/@atproto-labs/simple-store/-/simple-store-0.2.0.tgz#f39098747dabf8a245d0ed6edc50f362aa4d95f8" 57 + integrity sha512-0bRbAlI8Ayh03wRwncAMEAyUKtZ+AuTS1jgPrfym1WVOAOiottI/ZmgccqLl6w5MbxVcClNQF7WYGKvGwGoIhA== 58 59 + "@atproto-labs/xrpc-utils@0.0.13": 60 + version "0.0.13" 61 + resolved "https://registry.yarnpkg.com/@atproto-labs/xrpc-utils/-/xrpc-utils-0.0.13.tgz#5d684bc574537066d3c3404b4d69c03b8672f9a4" 62 + integrity sha512-uQnZhpHFa3EDHct+/slPl5+q2myMBTr6stZbdb6O877wtjEwN4C/7A0eMKaIqETmtxULYpZGapYJ7PG34aa7uQ== 63 dependencies: 64 + "@atproto/xrpc" "^0.6.12" 65 + "@atproto/xrpc-server" "^0.7.17" 66 67 + "@atproto/api@^0.15.5": 68 + version "0.15.5" 69 + resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.15.5.tgz#cd7e12fd4d4546a73a8e0ea4e7737f883ac3d2a2" 70 + integrity sha512-GiKOrjSXMm8OSpc+pfjFTBYQGX62jmorECkTx2VZbS6KtFKFY0cRQAI+JnQoOLF/8TvzpaAZB7+it73uIqDM7A== 71 dependencies: 72 "@atproto/common-web" "^0.4.1" 73 "@atproto/lexicon" "^0.4.10" ··· 78 tlds "^1.234.0" 79 zod "^3.23.8" 80 81 + "@atproto/aws@^0.2.20": 82 + version "0.2.20" 83 + resolved "https://registry.yarnpkg.com/@atproto/aws/-/aws-0.2.20.tgz#2b29c12738c8fb2c94f1e1775762319d859c8232" 84 + integrity sha512-lTVkux1gqJuwub1GnyMqWtCc4OSCNKOG2MR+2QUx+qu0Jicqeda7J/7rs6nem+6ngsO7JWm2pfCc6GEUqTiHLQ== 85 dependencies: 86 + "@atproto/common" "^0.4.10" 87 "@atproto/crypto" "^0.4.4" 88 + "@atproto/repo" "^0.8.0" 89 "@aws-sdk/client-cloudfront" "^3.261.0" 90 "@aws-sdk/client-kms" "^3.196.0" 91 "@aws-sdk/client-s3" "^3.224.0" ··· 95 multiformats "^9.9.0" 96 uint8arrays "3.0.0" 97 98 + "@atproto/bsky@^0.0.147": 99 + version "0.0.147" 100 + resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.147.tgz#4a35d80a9659703d1811f3d395e15b3d4d07ad0f" 101 + integrity sha512-sMwzY8qsthlSY8NJRyQaO6dX6p6p9BuzU7pIbw8bhKlFwtdPpjSusIBVDp5XImJGs4Rm2eYqBWQUy3egS8Uytw== 102 dependencies: 103 + "@atproto-labs/fetch-node" "0.1.8" 104 + "@atproto-labs/xrpc-utils" "0.0.13" 105 + "@atproto/api" "^0.15.5" 106 + "@atproto/common" "^0.4.10" 107 "@atproto/crypto" "^0.4.4" 108 "@atproto/did" "^0.1.5" 109 + "@atproto/identity" "^0.4.7" 110 + "@atproto/lexicon" "^0.4.10" 111 + "@atproto/repo" "^0.8.0" 112 + "@atproto/sync" "^0.1.22" 113 + "@atproto/syntax" "^0.4.0" 114 + "@atproto/xrpc-server" "^0.7.17" 115 "@bufbuild/protobuf" "^1.5.0" 116 "@connectrpc/connect" "^1.1.4" 117 "@connectrpc/connect-express" "^1.1.4" ··· 120 "@types/http-errors" "^2.0.1" 121 compression "^1.7.4" 122 cors "^2.8.5" 123 + etcd3 "^1.1.2" 124 express "^4.17.2" 125 http-errors "^2.0.0" 126 http-terminator "^3.2.0" ··· 141 uint8arrays "3.0.0" 142 undici "^6.19.8" 143 144 + "@atproto/bsync@^0.0.18": 145 + version "0.0.18" 146 + resolved "https://registry.yarnpkg.com/@atproto/bsync/-/bsync-0.0.18.tgz#83c7f061a057f6878b5f65e1b431237f512de072" 147 + integrity sha512-MslGplA3HN9D+L1Ywj0QPmEmg9QyDWjlGSTpqGA+D+GNZ7kjRnf5/XYdQMyUqzD127EqjrbzgCBY82D/GonWoA== 148 dependencies: 149 + "@atproto/common" "^0.4.10" 150 + "@atproto/syntax" "^0.4.0" 151 "@bufbuild/protobuf" "^1.5.0" 152 "@connectrpc/connect" "^1.1.4" 153 "@connectrpc/connect-node" "^1.1.4" ··· 156 pg "^8.10.0" 157 pino-http "^8.2.1" 158 typed-emitter "^2.1.0" 159 160 "@atproto/common-web@^0.4.1": 161 version "0.4.1" ··· 187 pino "^8.6.1" 188 zod "^3.14.2" 189 190 + "@atproto/common@^0.4.10": 191 + version "0.4.10" 192 + resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.4.10.tgz#9dc49364ad856f2833ce24afb5e5c7a07b57f888" 193 + integrity sha512-/Yxnax3XOhf46jYpe8/6O3ORjTNMB4YCaxx3V1f+FKy6meTm3GNrJwo8d1CBs0UiTiheRiNATOV3u0s3C7Ydaw== 194 dependencies: 195 + "@atproto/common-web" "^0.4.1" 196 "@ipld/dag-cbor" "^7.0.3" 197 cbor-x "^1.5.1" 198 iso-datestring-validator "^2.2.2" ··· 219 "@noble/hashes" "^1.6.1" 220 uint8arrays "3.0.0" 221 222 + "@atproto/dev-env@^0.3.128": 223 + version "0.3.128" 224 + resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.3.128.tgz#0a06dc71be671eaa09464b15c65f2b27b9e60cfd" 225 + integrity sha512-1qxPLQLaAUH6SOQJoje9O7LaZ0dp+P/oS/4OQ3I9hYJAZn78dDrFZ7YIC5n1yMTr1iSjHeXvFA9wt0Czcl/uUA== 226 dependencies: 227 + "@atproto/api" "^0.15.5" 228 + "@atproto/bsky" "^0.0.147" 229 + "@atproto/bsync" "^0.0.18" 230 + "@atproto/common-web" "^0.4.1" 231 "@atproto/crypto" "^0.4.4" 232 + "@atproto/identity" "^0.4.7" 233 + "@atproto/lexicon" "^0.4.10" 234 + "@atproto/ozone" "^0.1.108" 235 + "@atproto/pds" "^0.4.134" 236 + "@atproto/sync" "^0.1.22" 237 + "@atproto/syntax" "^0.4.0" 238 + "@atproto/xrpc-server" "^0.7.17" 239 "@did-plc/lib" "^0.0.1" 240 "@did-plc/server" "^0.0.1" 241 dotenv "^16.0.3" ··· 252 dependencies: 253 zod "^3.23.8" 254 255 + "@atproto/identity@^0.4.7": 256 + version "0.4.7" 257 + resolved "https://registry.yarnpkg.com/@atproto/identity/-/identity-0.4.7.tgz#1f8958e49f6046f3412463269e1fc961c0936ff2" 258 + integrity sha512-A61OT9yc74dEFi1elODt/tzQNSwV3ZGZCY5cRl6NYO9t/0AVdaD+fyt81yh3mRxyI8HeVOecvXl3cPX5knz9rQ== 259 dependencies: 260 + "@atproto/common-web" "^0.4.1" 261 "@atproto/crypto" "^0.4.4" 262 263 + "@atproto/jwk-jose@0.1.6": 264 + version "0.1.6" 265 + resolved "https://registry.yarnpkg.com/@atproto/jwk-jose/-/jwk-jose-0.1.6.tgz#e9fc5a714cd9fe0589f931f3b406585716b5ac03" 266 + integrity sha512-r4DGMvvmazy6CxqAcnplpUxvp6Vd8UwKxQBZRpmm1aNsVonf5qj1yeDkECTiwoe/FPbvtdamlzClB3UZc7Yb5w== 267 dependencies: 268 + "@atproto/jwk" "0.1.5" 269 jose "^5.2.0" 270 271 + "@atproto/jwk@0.1.5": 272 + version "0.1.5" 273 + resolved "https://registry.yarnpkg.com/@atproto/jwk/-/jwk-0.1.5.tgz#d1e2650431f7f09ed80be48f05908bcd136c2606" 274 + integrity sha512-OzZFLhX41TOcMeanP3aZlL5bLeaUIZT15MI4aU5cwflNq/rwpGOpz3uwDjZc8ytgUjuTQ8LabSz5jMmwoTSWFg== 275 dependencies: 276 multiformats "^9.9.0" 277 zod "^3.23.8" ··· 287 multiformats "^9.9.0" 288 zod "^3.23.8" 289 290 + "@atproto/oauth-provider-api@0.1.1": 291 + version "0.1.1" 292 + resolved "https://registry.yarnpkg.com/@atproto/oauth-provider-api/-/oauth-provider-api-0.1.1.tgz#ccca589757cd652015db58dee645463290eddacc" 293 + integrity sha512-Ry7viVoMHzzyohK0UKX/7gJgkWndCchydzAfVV1lmP+84sw7Foci+rXN/laE5EnpVB8QIUW3GmQ93jecbBiyeg== 294 dependencies: 295 + "@atproto/jwk" "0.1.5" 296 + "@atproto/oauth-types" "0.2.6" 297 298 + "@atproto/oauth-provider-frontend@0.1.3": 299 + version "0.1.3" 300 + resolved "https://registry.yarnpkg.com/@atproto/oauth-provider-frontend/-/oauth-provider-frontend-0.1.3.tgz#3cd724bf3dfae99f2b3b152c96963762ff188b89" 301 + integrity sha512-dN/WRMOmj1Bd32i6diX/J+zZ5bZWX+NbQ0BAMjMANpii2gFrgc/pk/zmutYwUhyQeIl7rLkag+nQC4Jhg1I6BQ== 302 + optionalDependencies: 303 + "@atproto/oauth-provider-api" "0.1.1" 304 + 305 + "@atproto/oauth-provider-ui@0.1.3": 306 + version "0.1.3" 307 + resolved "https://registry.yarnpkg.com/@atproto/oauth-provider-ui/-/oauth-provider-ui-0.1.3.tgz#dc130c308fe3a422a498abc7284e68a722d17ebb" 308 + integrity sha512-Zxxm9nhGMS1ByvaA79zqalpBU2ub4+3gLPkRVQjp/F8jHOedxrocUAKM61B3KTtDdFGvfzvPZ28pxunwy/Rw4g== 309 + optionalDependencies: 310 + "@atproto/oauth-provider-api" "0.1.1" 311 + 312 + "@atproto/oauth-provider@^0.7.5": 313 + version "0.7.5" 314 + resolved "https://registry.yarnpkg.com/@atproto/oauth-provider/-/oauth-provider-0.7.5.tgz#f645800bc76b51ff000a92d67a83c4313db6316d" 315 + integrity sha512-vBRxX7mUDRVbe2rKzRmC3OfyoqAs8N7OA+MdSD+6b154UFp3+blF5phz5NgtxZzNyKSSeZnXy6xSh27YT8QfRg== 316 dependencies: 317 + "@atproto-labs/fetch" "0.2.2" 318 + "@atproto-labs/fetch-node" "0.1.8" 319 "@atproto-labs/pipe" "0.1.0" 320 + "@atproto-labs/simple-store" "0.2.0" 321 + "@atproto-labs/simple-store-memory" "0.1.3" 322 + "@atproto/common" "^0.4.10" 323 + "@atproto/jwk" "0.1.5" 324 + "@atproto/jwk-jose" "0.1.6" 325 + "@atproto/oauth-provider-api" "0.1.1" 326 + "@atproto/oauth-provider-frontend" "0.1.3" 327 + "@atproto/oauth-provider-ui" "0.1.3" 328 + "@atproto/oauth-types" "0.2.6" 329 + "@atproto/syntax" "0.4.0" 330 "@hapi/accept" "^6.0.3" 331 + "@hapi/address" "^5.1.1" 332 "@hapi/bourne" "^3.0.0" 333 "@hapi/content" "^6.0.0" 334 cookie "^0.6.0" 335 + disposable-email-domains-js "^1.5.0" 336 + forwarded "^0.2.0" 337 http-errors "^2.0.0" 338 ioredis "^5.3.2" 339 jose "^5.2.0" 340 psl "^1.9.0" 341 zod "^3.23.8" 342 343 + "@atproto/oauth-types@0.2.6": 344 + version "0.2.6" 345 + resolved "https://registry.yarnpkg.com/@atproto/oauth-types/-/oauth-types-0.2.6.tgz#3cea27b72a6ee274864bd5c791b0c7f369954b03" 346 + integrity sha512-6rUmV7T1YKCgVYLLjm+FGv+dYC8S0+0AHji/azVGDEhTsiadSrlC0H9Pgxix1y89zI1FIf0piBqecBcPewdrJg== 347 dependencies: 348 + "@atproto/jwk" "0.1.5" 349 zod "^3.23.8" 350 351 + "@atproto/ozone@^0.1.108": 352 + version "0.1.108" 353 + resolved "https://registry.yarnpkg.com/@atproto/ozone/-/ozone-0.1.108.tgz#cac673301cebd159a13a8a72281bc917806f3694" 354 + integrity sha512-AuMH/PYmtro8cVnseESRooAerz2EIPwnS4HZgBsSebwBf4HLEGE93yeX26jLAfr57XYgVyYChkXr71LX4t9Erg== 355 dependencies: 356 + "@atproto/api" "^0.15.5" 357 + "@atproto/common" "^0.4.10" 358 "@atproto/crypto" "^0.4.4" 359 + "@atproto/identity" "^0.4.7" 360 + "@atproto/lexicon" "^0.4.10" 361 + "@atproto/syntax" "^0.4.0" 362 + "@atproto/xrpc" "^0.6.12" 363 + "@atproto/xrpc-server" "^0.7.17" 364 "@did-plc/lib" "^0.0.1" 365 compression "^1.7.4" 366 cors "^2.8.5" ··· 376 typed-emitter "^2.1.0" 377 uint8arrays "3.0.0" 378 undici "^6.14.1" 379 + ws "^8.12.0" 380 381 + "@atproto/pds@^0.4.134": 382 + version "0.4.134" 383 + resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.4.134.tgz#0b9065f4ab6493cce4df7faf1167d2689b12c8b3" 384 + integrity sha512-dS/OOspAv7L9kWqXVizCF64Af87DWF8bzu1QrclqaI29MTTnaaK/PPKd/kAELhBPBi5CVPirvySSqLj0W4Q93A== 385 dependencies: 386 + "@atproto-labs/fetch-node" "0.1.8" 387 + "@atproto-labs/xrpc-utils" "0.0.13" 388 + "@atproto/api" "^0.15.5" 389 + "@atproto/aws" "^0.2.20" 390 + "@atproto/common" "^0.4.10" 391 "@atproto/crypto" "^0.4.4" 392 + "@atproto/identity" "^0.4.7" 393 + "@atproto/lexicon" "^0.4.10" 394 + "@atproto/oauth-provider" "^0.7.5" 395 + "@atproto/repo" "^0.8.0" 396 + "@atproto/syntax" "^0.4.0" 397 + "@atproto/xrpc" "^0.6.12" 398 + "@atproto/xrpc-server" "^0.7.17" 399 "@did-plc/lib" "^0.0.4" 400 "@hapi/address" "^5.1.1" 401 better-sqlite3 "^10.0.0" ··· 425 undici "^6.19.8" 426 zod "^3.23.8" 427 428 + "@atproto/repo@^0.8.0": 429 + version "0.8.0" 430 + resolved "https://registry.yarnpkg.com/@atproto/repo/-/repo-0.8.0.tgz#14261421e2c5fe95b6a8af0b1296fca50b216618" 431 + integrity sha512-Er4Mpd8XWPwVLcUlKFxUpnyBC+J+oBxARoUGXMTLjdQyg0FmWtZzeYnse8FV/L36DeWV0+v/tqYYggJcOOe1HA== 432 dependencies: 433 + "@atproto/common" "^0.4.10" 434 + "@atproto/common-web" "^0.4.1" 435 "@atproto/crypto" "^0.4.4" 436 + "@atproto/lexicon" "^0.4.10" 437 "@ipld/dag-cbor" "^7.0.0" 438 multiformats "^9.9.0" 439 uint8arrays "3.0.0" 440 + varint "^6.0.0" 441 zod "^3.23.8" 442 443 + "@atproto/sync@^0.1.22": 444 + version "0.1.22" 445 + resolved "https://registry.yarnpkg.com/@atproto/sync/-/sync-0.1.22.tgz#3ba82a3c5f76cee372adc00ba162b65eaf7dadf9" 446 + integrity sha512-FdBHDkNRqWmfUUG52EhkeHH13LdaZ6V5z8978fGMFxXPsTXDE6RSr/vNRt4FUDS5j7+9csKgNV3AyIFUmSYmOg== 447 dependencies: 448 + "@atproto/common" "^0.4.10" 449 + "@atproto/identity" "^0.4.7" 450 + "@atproto/lexicon" "^0.4.10" 451 + "@atproto/repo" "^0.8.0" 452 + "@atproto/syntax" "^0.4.0" 453 + "@atproto/xrpc-server" "^0.7.17" 454 multiformats "^9.9.0" 455 p-queue "^6.6.2" 456 ws "^8.12.0" 457 458 + "@atproto/syntax@0.4.0", "@atproto/syntax@^0.4.0": 459 version "0.4.0" 460 resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.4.0.tgz#bec71552087bb24c208a06ef418c0040b65542f2" 461 integrity sha512-b9y5ceHS8YKOfP3mdKmwAx5yVj9294UN7FG2XzP6V5aKUdFazEYRnR9m5n5ZQFKa3GNvz7de9guZCJ/sUTcOAA== 462 463 + "@atproto/xrpc-server@^0.7.17": 464 + version "0.7.17" 465 + resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.7.17.tgz#39083754dbefd93a89a02e8f64334cb079a90c69" 466 + integrity sha512-il32raoUc/5eqKMtlHMb+ndCx2nx0Fecjd8Fqw6KNTeS6HB6MYSZvIg3blwV/KdUehmOS6rMy6YrgtFK6GbSQQ== 467 dependencies: 468 + "@atproto/common" "^0.4.10" 469 "@atproto/crypto" "^0.4.4" 470 + "@atproto/lexicon" "^0.4.10" 471 + "@atproto/xrpc" "^0.6.12" 472 cbor-x "^1.5.1" 473 express "^4.17.2" 474 http-errors "^2.0.0" ··· 484 integrity sha512-Ut3iISNLujlmY9Gu8sNU+SPDJDvqlVzWddU8qUr0Yae5oD4SguaUFjjhireMGhQ3M5E0KljQgDbTmnBo1kIZ3w== 485 dependencies: 486 "@atproto/lexicon" "^0.4.10" 487 zod "^3.23.8" 488 489 "@aws-crypto/crc32@3.0.0": ··· 1215 resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" 1216 integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== 1217 1218 "@babel/compat-data@^7.23.5": 1219 version "7.24.4" 1220 resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" ··· 1230 resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" 1231 integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== 1232 1233 + "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.20.0", "@babel/core@^7.20.2": 1234 version "7.22.10" 1235 resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.10.tgz#aad442c7bcd1582252cb4576747ace35bc122f35" 1236 integrity sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw== ··· 1736 dependencies: 1737 "@babel/types" "^7.25.9" 1738 1739 + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": 1740 version "7.22.5" 1741 resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" 1742 integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== ··· 2020 js-tokens "^4.0.0" 2021 picocolors "^1.0.0" 2022 2023 + "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.0", "@babel/parser@^7.20.7", "@babel/parser@^7.22.10", "@babel/parser@^7.22.5": 2024 version "7.22.10" 2025 resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.10.tgz#e37634f9a12a1716136c44624ef54283cabd3f55" 2026 integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ== ··· 2098 "@babel/helper-remap-async-to-generator" "^7.18.9" 2099 "@babel/plugin-syntax-async-generators" "^7.8.4" 2100 2101 + "@babel/plugin-proposal-class-properties@^7.18.0": 2102 version "7.18.6" 2103 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" 2104 integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== ··· 2132 dependencies: 2133 "@babel/helper-plugin-utils" "^7.25.9" 2134 2135 + "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.0": 2136 version "7.18.6" 2137 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" 2138 integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== ··· 2167 "@babel/helper-plugin-utils" "^7.18.6" 2168 "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 2169 2170 + "@babel/plugin-proposal-optional-chaining@^7.20.0": 2171 version "7.21.0" 2172 resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" 2173 integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== ··· 2238 dependencies: 2239 "@babel/helper-plugin-utils" "^7.25.9" 2240 2241 "@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.18.0", "@babel/plugin-syntax-flow@^7.22.5": 2242 version "7.22.5" 2243 resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz#163b820b9e7696ce134df3ee716d9c0c98035859" ··· 2565 dependencies: 2566 "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.9" 2567 "@babel/helper-plugin-utils" "^7.25.9" 2568 2569 "@babel/plugin-transform-export-namespace-from@^7.25.9": 2570 version "7.25.9" ··· 2573 dependencies: 2574 "@babel/helper-plugin-utils" "^7.25.9" 2575 2576 + "@babel/plugin-transform-flow-strip-types@^7.20.0": 2577 version "7.22.5" 2578 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz#0bb17110c7bf5b35a60754b2f00c58302381dee2" 2579 integrity sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA== ··· 2658 "@babel/helper-module-transforms" "^7.25.9" 2659 "@babel/helper-plugin-utils" "^7.25.9" 2660 2661 + "@babel/plugin-transform-modules-commonjs@^7.0.0", "@babel/plugin-transform-modules-commonjs@^7.22.5": 2662 version "7.22.5" 2663 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz#7d9875908d19b8c0536085af7b053fd5bd651bfa" 2664 integrity sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA== ··· 2748 dependencies: 2749 "@babel/helper-plugin-utils" "^7.25.9" 2750 2751 "@babel/plugin-transform-object-rest-spread@^7.24.7", "@babel/plugin-transform-object-rest-spread@^7.25.9": 2752 version "7.25.9" 2753 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" ··· 2793 version "7.22.5" 2794 resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz#c3542dd3c39b42c8069936e48717a8d179d63a18" 2795 integrity sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg== 2796 dependencies: 2797 "@babel/helper-plugin-utils" "^7.22.5" 2798 ··· 3188 core-js-compat "^3.38.1" 3189 semver "^6.3.1" 3190 3191 "@babel/preset-modules@0.1.6-no-external-plugins": 3192 version "0.1.6-no-external-plugins" 3193 resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" ··· 3209 "@babel/plugin-transform-react-jsx-development" "^7.22.5" 3210 "@babel/plugin-transform-react-pure-annotations" "^7.23.3" 3211 3212 + "@babel/preset-typescript@^7.16.7": 3213 version "7.22.5" 3214 resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz#16367d8b01d640e9a507577ed4ee54e0101e51c8" 3215 integrity sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ== ··· 3230 "@babel/plugin-syntax-jsx" "^7.24.1" 3231 "@babel/plugin-transform-modules-commonjs" "^7.24.1" 3232 "@babel/plugin-transform-typescript" "^7.24.1" 3233 3234 "@babel/regjsgen@^0.8.0": 3235 version "0.8.0" ··· 3398 "@babel/helper-validator-identifier" "^7.22.5" 3399 to-fast-properties "^2.0.0" 3400 3401 "@babel/types@^7.21.2", "@babel/types@^7.22.15", "@babel/types@^7.23.0": 3402 version "7.23.0" 3403 resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" ··· 3414 dependencies: 3415 "@babel/helper-string-parser" "^7.23.4" 3416 "@babel/helper-validator-identifier" "^7.22.20" 3417 + to-fast-properties "^2.0.0" 3418 + 3419 + "@babel/types@^7.24.0", "@babel/types@^7.24.5": 3420 + version "7.24.5" 3421 + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" 3422 + integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== 3423 + dependencies: 3424 + "@babel/helper-string-parser" "^7.24.1" 3425 + "@babel/helper-validator-identifier" "^7.24.5" 3426 to-fast-properties "^2.0.0" 3427 3428 "@babel/types@^7.24.6": ··· 3764 resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d" 3765 integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og== 3766 3767 + "@expo/cli@0.24.10": 3768 + version "0.24.10" 3769 + resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-0.24.10.tgz#f23d150f011cdebd6f503343d9be3c6283fb4096" 3770 + integrity sha512-auPE4MSRdkJkHsWJk935VoqX/BGMKARgXOLtJybTFUi64K3MkvdUoBrujcn/QzXl5DTGhacFd9qxUeQss6/qwg== 3771 dependencies: 3772 "@0no-co/graphql.web" "^1.0.8" 3773 "@babel/runtime" "^7.20.0" 3774 "@expo/code-signing-certificates" "^0.0.5" 3775 + "@expo/config" "~11.0.7" 3776 + "@expo/config-plugins" "~10.0.2" 3777 "@expo/devcert" "^1.1.2" 3778 + "@expo/env" "~1.0.5" 3779 + "@expo/image-utils" "^0.7.4" 3780 + "@expo/json-file" "^9.1.4" 3781 + "@expo/metro-config" "~0.20.12" 3782 + "@expo/osascript" "^2.2.4" 3783 + "@expo/package-manager" "^1.8.4" 3784 + "@expo/plist" "^0.3.4" 3785 + "@expo/prebuild-config" "^9.0.5" 3786 "@expo/spawn-async" "^1.7.2" 3787 "@expo/ws-tunnel" "^1.0.1" 3788 "@expo/xcpretty" "^4.3.0" 3789 + "@react-native/dev-middleware" "0.79.2" 3790 "@urql/core" "^5.0.6" 3791 "@urql/exchange-retry" "^1.3.0" 3792 accepts "^1.3.8" 3793 arg "^5.0.2" 3794 better-opn "~3.0.2" 3795 + bplist-creator "0.1.0" 3796 bplist-parser "^0.3.1" 3797 chalk "^4.0.0" 3798 ci-info "^3.3.0" 3799 compression "^1.7.4" 3800 connect "^3.7.0" 3801 debug "^4.3.4" 3802 env-editor "^0.4.1" 3803 freeport-async "^2.0.0" 3804 getenv "^1.0.0" 3805 glob "^10.4.2" 3806 + lan-network "^0.1.4" 3807 + minimatch "^9.0.0" 3808 node-forge "^1.3.1" 3809 npm-package-arg "^11.0.0" 3810 ora "^3.4.0" ··· 3825 source-map-support "~0.5.21" 3826 stacktrace-parser "^0.1.10" 3827 structured-headers "^0.4.1" 3828 + tar "^7.4.3" 3829 terminal-link "^2.1.1" 3830 undici "^6.18.2" 3831 wrap-ansi "^7.0.0" 3832 ws "^8.12.1" 3833 ··· 3839 node-forge "^1.2.1" 3840 nullthrows "^1.1.1" 3841 3842 + "@expo/config-plugins@^9.0.14": 3843 + version "9.0.14" 3844 + resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-9.0.14.tgz#c57cc86c238b276823ff66d96e4722366d57b12c" 3845 + integrity sha512-Lx1ebV95rTFKKQmbu4wMPLz65rKn7mqSpfANdCx+KwRxuLY2JQls8V4h3lQjG6dW8NWf9qV5QaEFAgNB6VMyOQ== 3846 dependencies: 3847 + "@expo/config-types" "^52.0.3" 3848 + "@expo/json-file" "~9.0.1" 3849 + "@expo/plist" "^0.2.1" 3850 "@expo/sdk-runtime-versions" "^1.0.0" 3851 chalk "^4.1.2" 3852 debug "^4.3.5" ··· 3859 xcode "^3.0.1" 3860 xml2js "0.6.0" 3861 3862 + "@expo/config-plugins@~10.0.1", "@expo/config-plugins@~10.0.2": 3863 + version "10.0.2" 3864 + resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-10.0.2.tgz#040867991e9c8c527b4f5c13a47bcf040a7479fe" 3865 + integrity sha512-TzUn3pPdpwCS0yYaSlZOClgDmCX8N4I2lfgitX5oStqmvpPtB+vqtdyqsVM02fQ2tlJIAqwBW+NHaHqqy8Jv7g== 3866 dependencies: 3867 + "@expo/config-types" "^53.0.3" 3868 + "@expo/json-file" "~9.1.4" 3869 + "@expo/plist" "^0.3.4" 3870 "@expo/sdk-runtime-versions" "^1.0.0" 3871 chalk "^4.1.2" 3872 debug "^4.3.5" ··· 3879 xcode "^3.0.1" 3880 xml2js "0.6.0" 3881 3882 + "@expo/config-plugins@~9.0.10": 3883 + version "9.0.10" 3884 + resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-9.0.10.tgz#a25fd6061ea7f707213ff8344f562025f850fdc8" 3885 + integrity sha512-4piPSylJ8z3to+YZpl/6M2mLxASOdIFANA8FYihsTf9kWlyimV9L/+MGgPXJcieaHXYZZqOryf8hQFVeg/68+A== 3886 dependencies: 3887 + "@expo/config-types" "^52.0.0" 3888 + "@expo/json-file" "~9.0.0" 3889 + "@expo/plist" "^0.2.0" 3890 "@expo/sdk-runtime-versions" "^1.0.0" 3891 chalk "^4.1.2" 3892 debug "^4.3.5" ··· 3909 resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-52.0.3.tgz#511f2f868172c93abeac7183beeb921dc72d6e1e" 3910 integrity sha512-muxvuARmbysH5OGaiBRlh1Y6vfdmL56JtpXxB+y2Hfhu0ezG1U4FjZYBIacthckZPvnDCcP3xIu1R+eTo7/QFA== 3911 3912 + "@expo/config-types@^53.0.3": 3913 + version "53.0.3" 3914 + resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-53.0.3.tgz#d083d9b095972e89eee96c41d085feb5b92d2749" 3915 + integrity sha512-V1e6CiM4TXtGxG/W2Msjp/QOx/vikLo5IUGMvEMjgAglBfGYx3PXfqsUb5aZDt6kqA3bDDwFuZoS5vNm/SYwSg== 3916 3917 + "@expo/config@~10.0.4": 3918 + version "10.0.5" 3919 + resolved "https://registry.yarnpkg.com/@expo/config/-/config-10.0.5.tgz#2de75e3f5d46a55f9f5140b73e0913265e6a41c6" 3920 + integrity sha512-wq48h3HlAPq5v/gMprarAiVY1aEXNBVJ+Em0vrHcYFO8UyxzR6oIao2E4Ed3VWHqhTzPXkMPH4hKCKlzFVBFwQ== 3921 dependencies: 3922 "@babel/code-frame" "~7.10.4" 3923 + "@expo/config-plugins" "~9.0.10" 3924 + "@expo/config-types" "^52.0.0" 3925 + "@expo/json-file" "^9.0.0" 3926 deepmerge "^4.3.1" 3927 getenv "^1.0.0" 3928 glob "^10.4.2" ··· 3933 slugify "^1.3.4" 3934 sucrase "3.35.0" 3935 3936 + "@expo/config@~11.0.6", "@expo/config@~11.0.7": 3937 + version "11.0.7" 3938 + resolved "https://registry.yarnpkg.com/@expo/config/-/config-11.0.7.tgz#e6a6071942854269825e2450c3a115c963a4fd56" 3939 + integrity sha512-pppH3Cy2IfituiYACMeW7cWYezcjmHKq7lDLfH1gMHT+zZ1QaYNs3EN6Kcc/QAXV//KFFhU0Qq4H/UrLuPp/yg== 3940 dependencies: 3941 "@babel/code-frame" "~7.10.4" 3942 + "@expo/config-plugins" "~10.0.1" 3943 + "@expo/config-types" "^53.0.3" 3944 + "@expo/json-file" "^9.1.4" 3945 deepmerge "^4.3.1" 3946 getenv "^1.0.0" 3947 glob "^10.4.2" ··· 3982 dotenv-expand "~11.0.6" 3983 getenv "^1.0.0" 3984 3985 + "@expo/env@~1.0.5": 3986 + version "1.0.5" 3987 + resolved "https://registry.yarnpkg.com/@expo/env/-/env-1.0.5.tgz#b3b1aa18ab9838d8f40468e0321affc4c54377a2" 3988 + integrity sha512-dtEZ4CAMaVrFu2+tezhU3FoGWtbzQl50xV+rNJE5lYVRjUflWiZkVHlHkWUlPAwDPifLy4TuissVfScGGPWR5g== 3989 dependencies: 3990 chalk "^4.0.0" 3991 debug "^4.3.4" ··· 3993 dotenv-expand "~11.0.6" 3994 getenv "^1.0.0" 3995 3996 + "@expo/fingerprint@0.12.4": 3997 + version "0.12.4" 3998 + resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.12.4.tgz#d4cc4de50e7b6d4e03b0d38850d1e4a136b74c8c" 3999 + integrity sha512-HOJVvjiQYVHIouCOfFf4JRrQvBDIV/12GVG2iwbw1iGwmpQVkPgEXa9lN0f2yuS4J3QXHs73wr9jvuCjMmJlfw== 4000 dependencies: 4001 "@expo/spawn-async" "^1.7.2" 4002 arg "^5.0.2" ··· 4004 debug "^4.3.4" 4005 find-up "^5.0.0" 4006 getenv "^1.0.0" 4007 + minimatch "^9.0.0" 4008 p-limit "^3.1.0" 4009 resolve-from "^5.0.0" 4010 semver "^7.6.0" 4011 4012 + "@expo/html-elements@^0.12.4": 4013 + version "0.12.5" 4014 + resolved "https://registry.yarnpkg.com/@expo/html-elements/-/html-elements-0.12.5.tgz#be7e7af9f2be6d3f1aa3ec2e7ae1c121c91a9aa1" 4015 + integrity sha512-28KWO88YKykKU7ke5sEQs5TivFRMs1Aktz13xxgqAf5rTgb+lka0VKVt3W2fG7ksbUQ407rtUqz7SEAq298NvQ== 4016 4017 + "@expo/image-utils@0.3.23", "@expo/image-utils@0.6.3", "@expo/image-utils@^0.6.3", "@expo/image-utils@^0.7.4": 4018 version "0.6.3" 4019 resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.6.3.tgz#89c744460beefc686989b969121357bbd5520c8a" 4020 integrity sha512-v/JbCKBrHeudxn1gN1TgfPE/pWJSlLPrl29uXJBgrJFQVkViQvUHQNDhaS+UEa9wYI5HHh7XYmtzAehyG4L+GA== ··· 4039 json5 "^2.2.3" 4040 write-file-atomic "^2.3.0" 4041 4042 + "@expo/json-file@^9.1.4", "@expo/json-file@~9.1.4": 4043 + version "9.1.4" 4044 + resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-9.1.4.tgz#e719d092c08afb3234643f9285e57c6a24989327" 4045 + integrity sha512-7Bv86X27fPERGhw8aJEZvRcH9sk+9BenDnEmrI3ZpywKodYSBgc8lX9Y32faNVQ/p0YbDK9zdJ0BfAKNAOyi0A== 4046 dependencies: 4047 "@babel/code-frame" "~7.10.4" 4048 json5 "^2.2.3" 4049 4050 "@expo/json-file@~9.0.1": 4051 version "9.0.1" ··· 4056 json5 "^2.2.3" 4057 write-file-atomic "^2.3.0" 4058 4059 + "@expo/metro-config@0.20.12", "@expo/metro-config@~0.20.12": 4060 + version "0.20.12" 4061 + resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.20.12.tgz#f6e2c33a305cb0ab8b0aa0dadafd6adf09058b9c" 4062 + integrity sha512-O9zaAF3gH76EXkwuQCpXLKC5dBy344/pqoszWmtOloKo4gJy74aNPUy2LRS57pDHyjZe1HjrxVkMcr7lZCIsag== 4063 dependencies: 4064 "@babel/core" "^7.20.0" 4065 "@babel/generator" "^7.20.5" 4066 "@babel/parser" "^7.20.0" 4067 "@babel/types" "^7.20.0" 4068 + "@expo/config" "~11.0.7" 4069 + "@expo/env" "~1.0.5" 4070 + "@expo/json-file" "~9.1.4" 4071 "@expo/spawn-async" "^1.7.2" 4072 chalk "^4.1.0" 4073 debug "^4.3.2" 4074 + dotenv "~16.4.5" 4075 + dotenv-expand "~11.0.6" 4076 getenv "^1.0.0" 4077 glob "^10.4.2" 4078 jsc-safe-url "^0.2.4" 4079 lightningcss "~1.27.0" 4080 + minimatch "^9.0.0" 4081 postcss "~8.4.32" 4082 resolve-from "^5.0.0" 4083 4084 + "@expo/osascript@^2.2.4": 4085 + version "2.2.4" 4086 + resolved "https://registry.yarnpkg.com/@expo/osascript/-/osascript-2.2.4.tgz#4414d97f91e29260a9b361529d20875430dc0af5" 4087 + integrity sha512-Q+Oyj+1pdRiHHpev9YjqfMZzByFH8UhKvSszxa0acTveijjDhQgWrq4e9T/cchBHi0GWZpGczWyiyJkk1wM1dg== 4088 dependencies: 4089 "@expo/spawn-async" "^1.7.2" 4090 exec-async "^2.2.0" 4091 4092 + "@expo/package-manager@^1.8.4": 4093 + version "1.8.4" 4094 + resolved "https://registry.yarnpkg.com/@expo/package-manager/-/package-manager-1.8.4.tgz#6126d93b25bbfec515436833e6f6ca5677b7e8bd" 4095 + integrity sha512-8H8tLga/NS3iS7QaX/NneRPqbObnHvVCfMCo0ShudreOFmvmgqhYjRlkZTRstSyFqefai8ONaT4VmnLHneRYYg== 4096 dependencies: 4097 + "@expo/json-file" "^9.1.4" 4098 "@expo/spawn-async" "^1.7.2" 4099 chalk "^4.0.0" 4100 npm-package-arg "^11.0.0" 4101 ora "^3.4.0" 4102 resolve-workspace-root "^2.0.0" 4103 4104 "@expo/plist@^0.2.0": 4105 version "0.2.0" ··· 4119 base64-js "^1.2.3" 4120 xmlbuilder "^14.0.0" 4121 4122 + "@expo/plist@^0.3.4": 4123 + version "0.3.4" 4124 + resolved "https://registry.yarnpkg.com/@expo/plist/-/plist-0.3.4.tgz#0c48eeff2158cf26c5c9ed4f681d24997ccfbeca" 4125 + integrity sha512-MhBLaUJNe9FQDDU2xhSNS4SAolr6K2wuyi4+A79vYuXLkAoICsbTwcGEQJN5jPY6D9izO/jsXh5k0h+mIWQMdw== 4126 dependencies: 4127 + "@xmldom/xmldom" "^0.8.8" 4128 base64-js "^1.2.3" 4129 + xmlbuilder "^15.1.1" 4130 4131 + "@expo/prebuild-config@^9.0.5": 4132 + version "9.0.5" 4133 + resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-9.0.5.tgz#b8b864b5e19489a1f66442ae30d5d7295f658297" 4134 + integrity sha512-oiSVU5ePu9lsOvn5p4xplqjzPlcZHzKYwzuonTa9GCH1GxcOEIBsvMVQiHBXHtqvgV2dztjm34kdXV//+9jtCA== 4135 dependencies: 4136 + "@expo/config" "~11.0.7" 4137 + "@expo/config-plugins" "~10.0.2" 4138 + "@expo/config-types" "^53.0.3" 4139 + "@expo/image-utils" "^0.7.4" 4140 + "@expo/json-file" "^9.1.4" 4141 + "@react-native/normalize-colors" "0.79.2" 4142 debug "^4.3.1" 4143 resolve-from "^5.0.0" 4144 semver "^7.6.0" 4145 xml2js "0.6.0" 4146 4147 "@expo/sdk-runtime-versions@^1.0.0": 4148 version "1.0.0" 4149 resolved "https://registry.yarnpkg.com/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz#d7ebd21b19f1c6b0395e50d78da4416941c57f7c" ··· 4161 resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-14.0.0.tgz#48ce0aa5c05873b07c0c78bfe16c870388f4de9a" 4162 integrity sha512-5orm59pdnBQlovhU9k4DbjMUZBHNlku7IRgFY56f7pcaaCnXq9yaLJoOQl9sMwNdFzf4gnkTyHmR5uN10mI9rA== 4163 4164 + "@expo/webpack-config@^19.0.1": 4165 + version "19.0.1" 4166 + resolved "https://registry.yarnpkg.com/@expo/webpack-config/-/webpack-config-19.0.1.tgz#c54db7ecbe37cc8ae3d8cc4a7d8184ab4633827e" 4167 + integrity sha512-5bSxXTUd/DCF44+1dSyU23YKLOOYCr9pMJ+C5Vw7PAi6v6OEyNp4uOVMk2x5DAEpXtvOsJCxvNZdmtY/IqmO/A== 4168 dependencies: 4169 "@babel/core" "^7.20.2" 4170 babel-loader "^8.3.0" ··· 4176 expo-pwa "0.0.127" 4177 find-up "^5.0.0" 4178 find-yarn-workspace-root "~2.0.0" 4179 + fs-extra "^11.2.0" 4180 getenv "^1.0.0" 4181 html-webpack-plugin "^5.5.0" 4182 is-wsl "^2.0.0" 4183 mini-css-extract-plugin "^2.5.2" 4184 node-html-parser "^5.2.0" 4185 + semver "~7.5.4" 4186 source-map-loader "^3.0.1" 4187 style-loader "^3.3.1" 4188 terser-webpack-plugin "^5.3.0" ··· 4385 integrity sha512-MXyL4xvCjmgaORr/rtryDNFy3kU4qUbKlwtQqqsygd0xX3mhKjOLn6mQK8wfu0RkoE0pBE0nAasRoHua+/QZ7A== 4386 dependencies: 4387 nanoid "^3.3.1" 4388 + 4389 + "@grpc/grpc-js@^1.8.20": 4390 + version "1.13.3" 4391 + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.13.3.tgz#6ad08d186c2a8651697085f790c5c68eaca45904" 4392 + integrity sha512-FTXHdOoPbZrBjlVLHuKbDZnsTxXv2BlHF57xw6LuThXacXvtkahEPED0CKMk6obZDf65Hv4k3z62eyPNpvinIg== 4393 + dependencies: 4394 + "@grpc/proto-loader" "^0.7.13" 4395 + "@js-sdsl/ordered-map" "^4.4.2" 4396 + 4397 + "@grpc/proto-loader@^0.7.13", "@grpc/proto-loader@^0.7.8": 4398 + version "0.7.15" 4399 + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.15.tgz#4cdfbf35a35461fc843abe8b9e2c0770b5095e60" 4400 + integrity sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ== 4401 + dependencies: 4402 + lodash.camelcase "^4.3.0" 4403 + long "^5.0.0" 4404 + protobufjs "^7.2.5" 4405 + yargs "^17.7.2" 4406 4407 "@haileyok/bluesky-video@0.2.6": 4408 version "0.2.6" ··· 4590 resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" 4591 integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== 4592 4593 "@ipld/dag-cbor@^7.0.0", "@ipld/dag-cbor@^7.0.3": 4594 version "7.0.3" 4595 resolved "https://registry.yarnpkg.com/@ipld/dag-cbor/-/dag-cbor-7.0.3.tgz#aa31b28afb11a807c3d627828a344e5521ac4a1e" ··· 4618 wrap-ansi "^8.1.0" 4619 wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" 4620 4621 + "@isaacs/fs-minipass@^4.0.0": 4622 + version "4.0.1" 4623 + resolved "https://registry.yarnpkg.com/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz#2d59ae3ab4b38fb4270bfa23d30f8e2e86c7fe32" 4624 + integrity sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w== 4625 + dependencies: 4626 + minipass "^7.0.4" 4627 + 4628 "@isaacs/ttlcache@^1.4.1": 4629 version "1.4.1" 4630 resolved "https://registry.yarnpkg.com/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz#21fb23db34e9b6220c6ba023a0118a2dd3461ea2" ··· 4711 dependencies: 4712 "@jest/types" "^29.6.3" 4713 4714 + "@jest/create-cache-key-function@^29.7.0": 4715 version "29.7.0" 4716 resolved "https://registry.yarnpkg.com/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz#793be38148fab78e65f40ae30c36785f4ad859f0" 4717 integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA== ··· 4999 "@jridgewell/resolve-uri" "^3.1.0" 5000 "@jridgewell/sourcemap-codec" "^1.4.14" 5001 5002 + "@js-sdsl/ordered-map@^4.4.2": 5003 + version "4.4.2" 5004 + resolved "https://registry.yarnpkg.com/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz#9299f82874bab9e4c7f9c48d865becbfe8d6907c" 5005 + integrity sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== 5006 + 5007 "@leichtgewicht/ip-codec@^2.0.1": 5008 version "2.0.4" 5009 resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" ··· 5180 "@nodelib/fs.scandir" "2.1.5" 5181 fastq "^1.6.0" 5182 5183 "@pkgjs/parseargs@^0.11.0": 5184 version "0.11.0" 5185 resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" ··· 5208 resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" 5209 integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== 5210 5211 + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": 5212 + version "1.1.2" 5213 + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" 5214 + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== 5215 + 5216 + "@protobufjs/base64@^1.1.2": 5217 + version "1.1.2" 5218 + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" 5219 + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== 5220 + 5221 + "@protobufjs/codegen@^2.0.4": 5222 + version "2.0.4" 5223 + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" 5224 + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== 5225 + 5226 + "@protobufjs/eventemitter@^1.1.0": 5227 + version "1.1.0" 5228 + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" 5229 + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== 5230 + 5231 + "@protobufjs/fetch@^1.1.0": 5232 + version "1.1.0" 5233 + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" 5234 + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== 5235 + dependencies: 5236 + "@protobufjs/aspromise" "^1.1.1" 5237 + "@protobufjs/inquire" "^1.1.0" 5238 + 5239 + "@protobufjs/float@^1.0.2": 5240 + version "1.0.2" 5241 + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" 5242 + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== 5243 + 5244 + "@protobufjs/inquire@^1.1.0": 5245 + version "1.1.0" 5246 + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" 5247 + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== 5248 + 5249 + "@protobufjs/path@^1.1.2": 5250 + version "1.1.2" 5251 + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" 5252 + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== 5253 + 5254 + "@protobufjs/pool@^1.1.0": 5255 + version "1.1.0" 5256 + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" 5257 + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== 5258 + 5259 + "@protobufjs/utf8@^1.1.0": 5260 + version "1.1.0" 5261 + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" 5262 + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== 5263 + 5264 "@radix-ui/number@1.1.1": 5265 version "1.1.1" 5266 resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.1.1.tgz#7b2c9225fbf1b126539551f5985769d0048d9090" ··· 6105 resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.1.1.tgz#78244efe12930c56fd255d7923865857c41ac8cb" 6106 integrity sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw== 6107 6108 + "@react-native-async-storage/async-storage@2.1.2": 6109 + version "2.1.2" 6110 + resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-2.1.2.tgz#8aae432adfc20800308e2ef3ce380864f0f9def8" 6111 + integrity sha512-dvlNq4AlGWC+ehtH12p65+17V0Dx7IecOWl6WanF2ja38O1Dcjjvn7jVzkUHJ5oWkQBlyASurTPlTHgKXyYiow== 6112 dependencies: 6113 merge-options "^3.0.4" 6114 ··· 6119 dependencies: 6120 merge-options "^3.0.4" 6121 6122 + "@react-native-menu/menu@^1.2.3": 6123 + version "1.2.3" 6124 + resolved "https://registry.yarnpkg.com/@react-native-menu/menu/-/menu-1.2.3.tgz#7a6a6748d610ab0d14aa65e1414520a5254aeff6" 6125 + integrity sha512-sEfiVIivsa0lSelFm9Wbm/RAi+XoEHc75GGhjwvSrj9KSCVvNNXwr9F8l42e1t/lzYvVYzmkYxLG6VKxrDYJiw== 6126 6127 + "@react-native-picker/picker@2.11.0": 6128 + version "2.11.0" 6129 + resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.11.0.tgz#4587fbce6a382adedad74311e96ee10bb2b2d63a" 6130 + integrity sha512-QuZU6gbxmOID5zZgd/H90NgBnbJ3VV6qVzp6c7/dDrmWdX8S0X5YFYgDcQFjE3dRen9wB9FWnj2VVdPU64adSg== 6131 6132 + "@react-native/assets-registry@0.79.2": 6133 + version "0.79.2" 6134 + resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.79.2.tgz#731963e664c8543f5b277e56c058bde612b69f50" 6135 + integrity sha512-5h2Z7/+/HL/0h88s0JHOdRCW4CXMCJoROxqzHqxdrjGL6EBD1DdaB4ZqkCOEVSW4Vjhir5Qb97C8i/MPWEYPtg== 6136 6137 + "@react-native/babel-plugin-codegen@0.79.2": 6138 + version "0.79.2" 6139 + resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.79.2.tgz#f3f86766a01487aaaa623ec62514af4c84400953" 6140 + integrity sha512-d+NB7Uosn2ZWd4O4+7ZkB6q1a+0z2opD/4+Bzhk/Tv6fc5FrSftK2Noqxvo3/bhbdGFVPxf0yvLE8et4W17x/Q== 6141 dependencies: 6142 + "@babel/traverse" "^7.25.3" 6143 + "@react-native/codegen" "0.79.2" 6144 6145 + "@react-native/babel-preset@0.79.2": 6146 + version "0.79.2" 6147 + resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.79.2.tgz#5a683a6efeea357a326f70c84a881be2bafbeae3" 6148 + integrity sha512-/HNu869oUq4FUXizpiNWrIhucsYZqu0/0spudJEzk9SEKar0EjVDP7zkg/sKK+KccNypDQGW7nFXT8onzvQ3og== 6149 dependencies: 6150 "@babel/core" "^7.25.2" 6151 "@babel/plugin-proposal-export-default-from" "^7.24.7" ··· 6188 "@babel/plugin-transform-typescript" "^7.25.2" 6189 "@babel/plugin-transform-unicode-regex" "^7.24.7" 6190 "@babel/template" "^7.25.0" 6191 + "@react-native/babel-plugin-codegen" "0.79.2" 6192 + babel-plugin-syntax-hermes-parser "0.25.1" 6193 babel-plugin-transform-flow-enums "^0.0.2" 6194 react-refresh "^0.14.0" 6195 6196 + "@react-native/codegen@0.79.2": 6197 + version "0.79.2" 6198 + resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.79.2.tgz#75270d8162e78c02b0272396a3c6942e39e8703d" 6199 + integrity sha512-8JTlGLuLi1p8Jx2N/enwwEd7/2CfrqJpv90Cp77QLRX3VHF2hdyavRIxAmXMwN95k+Me7CUuPtqn2X3IBXOWYg== 6200 dependencies: 6201 glob "^7.1.1" 6202 + hermes-parser "0.25.1" 6203 invariant "^2.2.4" 6204 nullthrows "^1.1.1" 6205 yargs "^17.6.2" 6206 6207 + "@react-native/community-cli-plugin@0.79.2": 6208 + version "0.79.2" 6209 + resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.79.2.tgz#d3a0efbdfb554cf3a7e9bfb27865a7caeeeaa1b3" 6210 + integrity sha512-E+YEY2dL+68HyR2iahsZdyBKBUi9QyPyaN9vsnda1jNgCjNpSPk2yAF5cXsho+zKK5ZQna3JSeE1Kbi2IfGJbw== 6211 dependencies: 6212 + "@react-native/dev-middleware" "0.79.2" 6213 chalk "^4.0.0" 6214 + debug "^2.2.0" 6215 invariant "^2.2.4" 6216 + metro "^0.82.0" 6217 + metro-config "^0.82.0" 6218 + metro-core "^0.82.0" 6219 semver "^7.1.3" 6220 6221 + "@react-native/debugger-frontend@0.79.2": 6222 + version "0.79.2" 6223 + resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.79.2.tgz#1377de6d9cabe5455bf332e06408167da5f60c19" 6224 + integrity sha512-cGmC7X6kju76DopSBNc+PRAEetbd7TWF9J9o84hOp/xL3ahxR2kuxJy0oJX8Eg8oehhGGEXTuMKHzNa3rDBeSg== 6225 6226 + "@react-native/dev-middleware@0.79.2": 6227 + version "0.79.2" 6228 + resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.79.2.tgz#f09f1a75b4cd0b56dfd82a07bf41157a9c45619c" 6229 + integrity sha512-9q4CpkklsAs1L0Bw8XYCoqqyBSrfRALGEw4/r0EkR38Y/6fVfNfdsjSns0pTLO6h0VpxswK34L/hm4uK3MoLHw== 6230 dependencies: 6231 "@isaacs/ttlcache" "^1.4.1" 6232 + "@react-native/debugger-frontend" "0.79.2" 6233 chrome-launcher "^0.15.2" 6234 chromium-edge-launcher "^0.2.0" 6235 connect "^3.6.5" ··· 6237 invariant "^2.2.4" 6238 nullthrows "^1.1.1" 6239 open "^7.0.3" 6240 + serve-static "^1.16.2" 6241 ws "^6.2.3" 6242 6243 + "@react-native/eslint-config@^0.79.2": 6244 + version "0.79.2" 6245 + resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.79.2.tgz#b42c95fe2399aae84209356b0971dd68c4149e4e" 6246 + integrity sha512-ukb9qGvrFC/3YVlWVy/GGM+auKdGIsbbumCyfOYPfUdhHFWA/twz1zK4bJQmCZ38iINuTENYedRzoE+U57GclA== 6247 dependencies: 6248 "@babel/core" "^7.25.2" 6249 "@babel/eslint-parser" "^7.25.1" 6250 + "@react-native/eslint-plugin" "0.79.2" 6251 "@typescript-eslint/eslint-plugin" "^7.1.1" 6252 "@typescript-eslint/parser" "^7.1.1" 6253 eslint-config-prettier "^8.5.0" ··· 6258 eslint-plugin-react-hooks "^4.6.0" 6259 eslint-plugin-react-native "^4.0.0" 6260 6261 + "@react-native/eslint-plugin@0.79.2": 6262 + version "0.79.2" 6263 + resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.79.2.tgz#23d18226bb4335404e6db561bf1a47ac7d1380ed" 6264 + integrity sha512-Abu+0OuwTje9E5eQOvYpTUuXvDgGjHeFhnfNVY9BXalBK8OrX20EFlonWvIbFqii136eS5KLEBm2Wjqk2V5XJg== 6265 6266 + "@react-native/gradle-plugin@0.79.2": 6267 + version "0.79.2" 6268 + resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.79.2.tgz#d41d4e2c63baf688a2b47652c6260f2a2f1ec091" 6269 + integrity sha512-6MJFemrwR0bOT0QM+2BxX9k3/pvZQNmJ3Js5pF/6owsA0cUDiCO57otiEU8Fz+UywWEzn1FoQfOfQ8vt2GYmoA== 6270 6271 + "@react-native/js-polyfills@0.79.2": 6272 + version "0.79.2" 6273 + resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.79.2.tgz#15eb4da0fe9e8d61d2980d08fd06b5f49e133b0f" 6274 + integrity sha512-IaY87Ckd4GTPMkO1/Fe8fC1IgIx3vc3q9Tyt/6qS3Mtk9nC0x9q4kSR5t+HHq0/MuvGtu8HpdxXGy5wLaM+zUw== 6275 6276 + "@react-native/normalize-colors@0.79.2", "@react-native/normalize-colors@^0.73.0", "@react-native/normalize-colors@^0.74.1": 6277 + version "0.79.2" 6278 + resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.79.2.tgz#9ab70ca257c7411e4ab74cf7f91332c27d39cc6f" 6279 + integrity sha512-+b+GNrupWrWw1okHnEENz63j7NSMqhKeFMOyzYLBwKcprG8fqJQhDIGXfizKdxeIa5NnGSAevKL1Ev1zJ56X8w== 6280 6281 + "@react-native/typescript-config@^0.79.2": 6282 + version "0.79.2" 6283 + resolved "https://registry.yarnpkg.com/@react-native/typescript-config/-/typescript-config-0.79.2.tgz#02cb07db89ef80159b3c1b3e82e81b0c0d5ce908" 6284 + integrity sha512-krHAkkPRCOEhuqN3iwRUwIyE1rAnUQ9//huzUc1ukcoQ7Y4qFxM6amhNloAmYn4QH1Ay6o5At00VbEh2xoHISA== 6285 6286 + "@react-native/virtualized-lists@0.79.2": 6287 + version "0.79.2" 6288 + resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.79.2.tgz#ed5a419a30b7ddec978b7816ff698a9d85507e15" 6289 + integrity sha512-9G6ROJeP+rdw9Bvr5ruOlag11ET7j1z/En1riFFNo6W3xZvJY+alCuH1ttm12y9+zBm4n8jwCk4lGhjYaV4dKw== 6290 dependencies: 6291 invariant "^2.2.4" 6292 nullthrows "^1.1.1" ··· 6360 version "1.1.0" 6361 resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" 6362 integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== 6363 6364 "@sentry-internal/browser-utils@8.54.0": 6365 version "8.54.0" ··· 7094 pretty-format "^29.0.3" 7095 redent "^3.0.0" 7096 7097 + "@testing-library/react-native@^13.2.0": 7098 + version "13.2.0" 7099 + resolved "https://registry.yarnpkg.com/@testing-library/react-native/-/react-native-13.2.0.tgz#b4f53c69a889728abe8bc3115ba803824bcafe10" 7100 + integrity sha512-3FX+vW/JScXkoH8VSCRTYF4KCHC56y4AI6TMDISfLna6r+z8kaSEmxH1I6NVaFOxoWX9yaHDyI26xh7BykmqKw== 7101 dependencies: 7102 + chalk "^4.1.2" 7103 jest-matcher-utils "^29.7.0" 7104 pretty-format "^29.7.0" 7105 redent "^3.0.0" ··· 7516 resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" 7517 integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== 7518 7519 "@types/node@*": 7520 version "20.5.1" 7521 resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.1.tgz#178d58ee7e4834152b0e8b4d30cbfab578b9bb30" 7522 integrity sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg== 7523 + 7524 + "@types/node@>=13.7.0": 7525 + version "22.15.3" 7526 + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.3.tgz#b7fb9396a8ec5b5dfb1345d8ac2502060e9af68b" 7527 + integrity sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw== 7528 + dependencies: 7529 + undici-types "~6.21.0" 7530 7531 "@types/node@^20.14.3": 7532 version "20.17.6" ··· 7560 resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" 7561 integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== 7562 7563 + "@types/react-dom@^19.1.2": 7564 + version "19.1.3" 7565 + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-19.1.3.tgz#3f0c60804441bf34d19f8dd0d44405c0c0e21bfa" 7566 + integrity sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg== 7567 7568 "@types/react-responsive@^8.0.5": 7569 version "8.0.5" ··· 7572 dependencies: 7573 "@types/react" "*" 7574 7575 + "@types/react@*", "@types/react@^18": 7576 version "18.2.20" 7577 resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.20.tgz#1605557a83df5c8a2cc4eeb743b3dfc0eb6aaeb2" 7578 integrity sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw== ··· 8042 dependencies: 8043 debug "4" 8044 8045 + agent-base@^7.1.2: 8046 + version "7.1.3" 8047 + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.3.tgz#29435eb821bc4194633a5b89e5bc4703bafc25a1" 8048 + integrity sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw== 8049 8050 ajv-formats@^2.1.1: 8051 version "2.1.1" ··· 8461 resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" 8462 integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== 8463 8464 async-limiter@~1.0.0: 8465 version "1.0.1" 8466 resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" ··· 8514 form-data "^4.0.0" 8515 proxy-from-env "^1.1.0" 8516 8517 babel-jest@^29.2.1: 8518 version "29.6.3" 8519 resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.6.3.tgz#e62f6c38f3ec8c147244168ee18ef0b919f10348" ··· 8639 dependencies: 8640 "@babel/helper-define-polyfill-provider" "^0.6.3" 8641 8642 + babel-plugin-react-compiler@^19.1.0-rc.1: 8643 + version "19.1.0-rc.1" 8644 + resolved "https://registry.yarnpkg.com/babel-plugin-react-compiler/-/babel-plugin-react-compiler-19.1.0-rc.1.tgz#99d131be61017e40abbaedd98321069bf8b7e54a" 8645 + integrity sha512-M4fpG+Hfq5gWzsJeeMErdRokzg0fdJ8IAk+JDhfB/WLT+U3WwJWR8edphypJrk447/JEvYu6DBFwsTn10bMW4Q== 8646 dependencies: 8647 + "@babel/types" "^7.26.0" 8648 8649 babel-plugin-react-native-web@~0.19.13: 8650 version "0.19.13" 8651 resolved "https://registry.yarnpkg.com/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.19.13.tgz#bf919bd6f18c4689dd1a528a82bda507363b953d" 8652 integrity sha512-4hHoto6xaN23LCyZgL9LJZc3olmAxd7b6jDzlZnKXAh4rRAbZRKNBJoOOdp46OBqgy+K0t0guTj5/mhA8inymQ== 8653 8654 + babel-plugin-syntax-hermes-parser@0.25.1, babel-plugin-syntax-hermes-parser@^0.25.1: 8655 version "0.25.1" 8656 resolved "https://registry.yarnpkg.com/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz#58b539df973427fcfbb5176a3aec7e5dee793cb0" 8657 integrity sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ== ··· 8688 "@babel/plugin-syntax-optional-chaining" "^7.8.3" 8689 "@babel/plugin-syntax-top-level-await" "^7.8.3" 8690 8691 + babel-preset-expo@~13.1.11: 8692 + version "13.1.11" 8693 + resolved "https://registry.yarnpkg.com/babel-preset-expo/-/babel-preset-expo-13.1.11.tgz#de81e6a621c9f40dcb1e0bf5f1fe111f82c10496" 8694 + integrity sha512-jigWjvhRVdm9UTPJ1wjLYJ0OJvD5vLZ8YYkEknEl6+9S1JWORO/y3xtHr/hNj5n34nOilZqdXrmNFcqKc8YTsg== 8695 dependencies: 8696 + "@babel/helper-module-imports" "^7.25.9" 8697 "@babel/plugin-proposal-decorators" "^7.12.9" 8698 + "@babel/plugin-proposal-export-default-from" "^7.24.7" 8699 + "@babel/plugin-syntax-export-default-from" "^7.24.7" 8700 + "@babel/plugin-transform-export-namespace-from" "^7.25.9" 8701 + "@babel/plugin-transform-flow-strip-types" "^7.25.2" 8702 + "@babel/plugin-transform-modules-commonjs" "^7.24.8" 8703 + "@babel/plugin-transform-object-rest-spread" "^7.24.7" 8704 + "@babel/plugin-transform-parameters" "^7.24.7" 8705 + "@babel/plugin-transform-private-methods" "^7.24.7" 8706 + "@babel/plugin-transform-private-property-in-object" "^7.24.7" 8707 + "@babel/plugin-transform-runtime" "^7.24.7" 8708 "@babel/preset-react" "^7.22.15" 8709 "@babel/preset-typescript" "^7.23.0" 8710 + "@react-native/babel-preset" "0.79.2" 8711 babel-plugin-react-native-web "~0.19.13" 8712 + babel-plugin-syntax-hermes-parser "^0.25.1" 8713 + babel-plugin-transform-flow-enums "^0.0.2" 8714 + debug "^4.3.4" 8715 react-refresh "^0.14.2" 8716 + resolve-from "^5.0.0" 8717 8718 babel-preset-jest@^29.6.3: 8719 version "29.6.3" ··· 8792 resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" 8793 integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== 8794 8795 + bignumber.js@^9.1.1: 8796 + version "9.3.0" 8797 + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.3.0.tgz#bdba7e2a4c1a2eba08290e8dcad4f36393c92acd" 8798 + integrity sha512-EM7aMFTXbptt/wZdMlBv2t8IViwQL+h6SLHosp8Yf0dqJMTnY6iL32opnAB6kAdL0SZPuvcAzFr31o0c/R3/RA== 8799 + 8800 binary-extensions@^2.0.0: 8801 version "2.2.0" 8802 resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" ··· 8866 resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" 8867 integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== 8868 8869 bplist-creator@0.1.0: 8870 version "0.1.0" 8871 resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.1.0.tgz#018a2d1b587f769e379ef5519103730f8963ba1e" ··· 8909 dependencies: 8910 fill-range "^7.0.1" 8911 8912 brorand@^1.1.0: 8913 version "1.1.0" 8914 resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" ··· 8951 dependencies: 8952 node-int64 "^0.4.0" 8953 8954 buffer-from@^1.0.0: 8955 version "1.1.2" 8956 resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" ··· 8995 resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" 8996 integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 8997 8998 call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: 8999 version "1.0.2" 9000 resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" ··· 9162 resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" 9163 integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 9164 9165 chokidar@3.5.1: 9166 version "3.5.1" 9167 resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" ··· 9197 resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" 9198 integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== 9199 9200 + chownr@^3.0.0: 9201 + version "3.0.0" 9202 + resolved "https://registry.yarnpkg.com/chownr/-/chownr-3.0.0.tgz#9855e64ecd240a9cc4267ce8a4aa5d24a1da15e4" 9203 + integrity sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g== 9204 9205 chrome-launcher@^0.15.2: 9206 version "0.15.2" ··· 9250 integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== 9251 dependencies: 9252 source-map "~0.6.0" 9253 9254 clean-webpack-plugin@^4.0.0: 9255 version "4.0.0" ··· 9322 strip-ansi "^6.0.1" 9323 wrap-ansi "^7.0.0" 9324 9325 clone@^1.0.2: 9326 version "1.0.4" 9327 resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" ··· 9336 version "4.6.0" 9337 resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 9338 integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== 9339 + 9340 + cockatiel@^3.1.1: 9341 + version "3.2.1" 9342 + resolved "https://registry.yarnpkg.com/cockatiel/-/cockatiel-3.2.1.tgz#575f937bc4040a20ae27352a6d07c9c5a741981f" 9343 + integrity sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q== 9344 9345 collect-v8-coverage@^1.0.0: 9346 version "1.0.2" ··· 9459 resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 9460 integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== 9461 9462 compressible@~2.0.16: 9463 version "2.0.18" 9464 resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" ··· 9651 dependencies: 9652 node-fetch "^2.6.12" 9653 9654 + cross-spawn@^6.0.5: 9655 version "6.0.5" 9656 resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 9657 integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== ··· 9670 path-key "^3.1.0" 9671 shebang-command "^2.0.0" 9672 which "^2.0.1" 9673 9674 crypto-random-string@^2.0.0: 9675 version "2.0.0" ··· 9948 dependencies: 9949 ms "^2.1.3" 9950 9951 + debug@^4.4.0: 9952 + version "4.4.0" 9953 + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" 9954 + integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== 9955 + dependencies: 9956 + ms "^2.1.3" 9957 + 9958 decamelize@^1.2.0: 9959 version "1.2.0" 9960 resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" ··· 9996 version "4.3.1" 9997 resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" 9998 integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== 9999 10000 default-gateway@^6.0.3: 10001 version "6.0.3" ··· 10064 pify "^4.0.1" 10065 rimraf "^2.6.3" 10066 10067 delay@^5.0.0: 10068 version "5.0.0" 10069 resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" ··· 10073 version "1.0.0" 10074 resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 10075 integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 10076 10077 denque@^2.1.0: 10078 version "2.1.0" ··· 10845 dependencies: 10846 "@typescript-eslint/utils" "^5.61.0" 10847 10848 + eslint-plugin-react-compiler@^19.1.0-rc.1: 10849 + version "19.1.0-rc.1" 10850 + resolved "https://registry.yarnpkg.com/eslint-plugin-react-compiler/-/eslint-plugin-react-compiler-19.1.0-rc.1.tgz#e974ba9541c9a4464d77723e0505b5742bc22e56" 10851 + integrity sha512-3umw5eqZXapBl7aQGmvcjheKhUbsElb9jTETxRZg371e1LG4EPs/zCHt2JzP+wNcdaZWzjU/R730zPUJblY2zw== 10852 dependencies: 10853 "@babel/core" "^7.24.4" 10854 "@babel/parser" "^7.24.4" 10855 "@babel/plugin-proposal-private-methods" "^7.18.6" 10856 + hermes-parser "^0.25.1" 10857 zod "^3.22.4" 10858 zod-validation-error "^3.0.3" 10859 ··· 10989 acorn-jsx "^5.3.2" 10990 eslint-visitor-keys "^3.4.1" 10991 10992 + esprima@^4.0.0, esprima@^4.0.1: 10993 version "4.0.1" 10994 resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 10995 integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== ··· 11028 resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 11029 integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 11030 11031 + etcd3@^1.1.2: 11032 + version "1.1.2" 11033 + resolved "https://registry.yarnpkg.com/etcd3/-/etcd3-1.1.2.tgz#0cb0f101b8c9c14ba3a0ae5b9f1fc7de0f04b662" 11034 + integrity sha512-YIampCz1/OmrVo/tR3QltAVUtYCQQOSFoqmHKKeoHbalm+WdXe3l4rhLIylklu8EzR/I3PBiOF4dC847dDskKg== 11035 + dependencies: 11036 + "@grpc/grpc-js" "^1.8.20" 11037 + "@grpc/proto-loader" "^0.7.8" 11038 + bignumber.js "^9.1.1" 11039 + cockatiel "^3.1.1" 11040 + 11041 event-target-shim@^5.0.0, event-target-shim@^5.0.1: 11042 version "5.0.1" 11043 resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" ··· 11078 signal-exit "^3.0.7" 11079 strip-final-newline "^3.0.0" 11080 11081 + execa@^5.0.0: 11082 version "5.1.1" 11083 resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 11084 integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== ··· 11125 jest-message-util "^29.7.0" 11126 jest-util "^29.7.0" 11127 11128 + expo-application@~6.1.4: 11129 + version "6.1.4" 11130 + resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-6.1.4.tgz#34ee2f7a86e3689f15961b296e82934e0f85afd6" 11131 + integrity sha512-jXVZb3llTQ5j4C/I03GxKjujmhKex9Xo5JDZo/pRjScHSr4NoeMjPKWThyWVlWDM1v5YSEcsRJebVfTvq9SR5Q== 11132 11133 + expo-asset@~11.1.4: 11134 + version "11.1.4" 11135 + resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-11.1.4.tgz#0258156f76c306521eb2a0d27e98d26258d12ad9" 11136 + integrity sha512-e3210sF0YHKRTCjVUOVmDAJ0Dk4vepL9RocKe36S7S+VthoCZwsBGLAM2LLvBa1SdmODF92AS0Nrcfi/1/VlbQ== 11137 dependencies: 11138 + "@expo/image-utils" "^0.7.4" 11139 + expo-constants "~17.1.4" 11140 11141 + expo-blur@~14.1.4: 11142 + version "14.1.4" 11143 + resolved "https://registry.yarnpkg.com/expo-blur/-/expo-blur-14.1.4.tgz#d246c0a224ce63321d022edfc0e6a8c5fa2cc865" 11144 + integrity sha512-55P9tK/RjJZEcu2tU7BqX3wmIOrGMOOkmHztJMMws+ZGHzvtjnPmT7dsQxhOU9vPj77oHnKetYHU2sik3iBcCw== 11145 11146 + expo-build-properties@~0.14.6: 11147 + version "0.14.6" 11148 + resolved "https://registry.yarnpkg.com/expo-build-properties/-/expo-build-properties-0.14.6.tgz#bb1db4b53683c6064bea4e8625c5abaf934f6941" 11149 + integrity sha512-46+gcnFxb2Dz2TFEhFlEJ11qT85THlPtFgkRKQ3a11S3+stgDzDBC2WwbXS5/GMINLIDdBFbbZlajgVND0tMnQ== 11150 dependencies: 11151 ajv "^8.11.0" 11152 semver "^7.6.0" 11153 11154 + expo-camera@~16.1.6: 11155 + version "16.1.6" 11156 + resolved "https://registry.yarnpkg.com/expo-camera/-/expo-camera-16.1.6.tgz#9badbc3b93cab3386e3e70721d4f3c1983ab539c" 11157 + integrity sha512-caVSfoTUaayYhH5gicrXWCgBQIVrotPOH3jUDr4vhN5VQDB/+TWaY+le2nQtNXgQEz14Af+H/TNvYpvvNj5Ktg== 11158 dependencies: 11159 invariant "^2.2.4" 11160 11161 + expo-clipboard@~7.1.4: 11162 + version "7.1.4" 11163 + resolved "https://registry.yarnpkg.com/expo-clipboard/-/expo-clipboard-7.1.4.tgz#f2cda0d3cbfd2d307aa85dd7ba6843d6bbaf4227" 11164 + integrity sha512-NHhfKnrzb4o0PacUKD93ByadU0JmPBoFTFYbbFJZ9OAX6SImpSqG5gfrMUR3vVj4Qx9f1LpMcdAv5lBzv868ow== 11165 11166 + expo-constants@17.0.3, expo-constants@^13.0.2, expo-constants@~17.1.4, expo-constants@~17.1.5: 11167 version "17.0.3" 11168 resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-17.0.3.tgz#a05b38e0417d59759ece1642b4d483889e04dbda" 11169 integrity sha512-lnbcX2sAu8SucHXEXxSkhiEpqH+jGrf+TF+MO6sHWIESjwOUVVYlT8qYdjR9xbxWmqFtrI4KV44FkeJf2DaFjQ== ··· 11171 "@expo/config" "~10.0.4" 11172 "@expo/env" "~0.4.0" 11173 11174 + expo-dev-client@~5.1.7: 11175 + version "5.1.7" 11176 + resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-5.1.7.tgz#b75d5c4650a2b19e8d5c4666a798a4150a7fbd68" 11177 + integrity sha512-/xcwNIeZIBA/y6Io7jv1ZbEG8XRUuAynIJyIGJvpMxf6hm7eEw8rEzhO9rZNk6H8bMjTjASs0Vf1bqIV6v3j6A== 11178 dependencies: 11179 + expo-dev-launcher "5.1.10" 11180 + expo-dev-menu "6.1.9" 11181 + expo-dev-menu-interface "1.10.0" 11182 + expo-manifests "~0.16.4" 11183 + expo-updates-interface "~1.1.0" 11184 11185 + expo-dev-launcher@5.1.10: 11186 + version "5.1.10" 11187 + resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-5.1.10.tgz#eaa8a7a4edcab557e6623f176e60d964606651ff" 11188 + integrity sha512-OW4k0efB6cWigYj1GlJGObMuMpg6DIwsAZkECsGqNU3U80zE7pBMPB0sy1xehFuTplO6F+dCTLg0hPPuqkSsTg== 11189 dependencies: 11190 ajv "8.11.0" 11191 + expo-dev-menu "6.1.8" 11192 + expo-manifests "~0.16.4" 11193 resolve-from "^5.0.0" 11194 11195 + expo-dev-menu-interface@1.10.0: 11196 + version "1.10.0" 11197 + resolved "https://registry.yarnpkg.com/expo-dev-menu-interface/-/expo-dev-menu-interface-1.10.0.tgz#04671bda3c163d1d7b9438ce7095c3913a3f53f9" 11198 + integrity sha512-NxtM/qot5Rh2cY333iOE87dDg1S8CibW+Wu4WdLua3UMjy81pXYzAGCZGNOeY7k9GpNFqDPNDXWyBSlk9r2pBg== 11199 + 11200 + expo-dev-menu@6.1.8: 11201 + version "6.1.8" 11202 + resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-6.1.8.tgz#cec53379b76f5cb53e2e87a8c62555610a26e6bb" 11203 + integrity sha512-i8DW1OXvj4yxQuPP8p2AMGoYdnyhfTkoqWI/AiDYReh2viZv4kZlRloGAemV2bIQwswMq2GsvZehYrQPEK9QBw== 11204 + dependencies: 11205 + expo-dev-menu-interface "1.10.0" 11206 11207 + expo-dev-menu@6.1.9: 11208 + version "6.1.9" 11209 + resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-6.1.9.tgz#897dcb4c49aed9c1f871b13e1359079f23981050" 11210 + integrity sha512-Uz02Bsc1xsYzjW4Ld+PxWLRNkbsoJYSbQtw/pZDSrJk5Hj869M4KQSOI8JpZ7WVlKEKkIRA8kBLepjhdFhq+Dg== 11211 dependencies: 11212 + expo-dev-menu-interface "1.10.0" 11213 11214 expo-device@7.0.1, expo-device@~4.1.1: 11215 version "7.0.1" ··· 11218 dependencies: 11219 ua-parser-js "^0.7.33" 11220 11221 + expo-device@~7.1.4: 11222 + version "7.1.4" 11223 + resolved "https://registry.yarnpkg.com/expo-device/-/expo-device-7.1.4.tgz#84ae7c2520cc45f15a9cb0433ae1226c33f7a8ef" 11224 + integrity sha512-HS04IiE1Fy0FRjBLurr9e5A6yj3kbmQB+2jCZvbSGpsjBnCLdSk/LCii4f5VFhPIBWJLyYuN5QqJyEAw6BcS4Q== 11225 dependencies: 11226 ua-parser-js "^0.7.33" 11227 11228 + expo-eas-client@~0.14.3: 11229 + version "0.14.3" 11230 + resolved "https://registry.yarnpkg.com/expo-eas-client/-/expo-eas-client-0.14.3.tgz#3fc22378cc454953ecba88f70c16c20a74e0aa27" 11231 + integrity sha512-BW2mSNEjFRFC8/CbkMQ3mfVhBdeZIjZhNfncw7PP80xEptLWhVjGTqwG8Usi0/yPpIu/YNYgop+XGMfhXyh9uA== 11232 11233 + expo-file-system@~18.1.8: 11234 + version "18.1.8" 11235 + resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-18.1.8.tgz#caa0831b9826f568be36deb25aed835978e957b3" 11236 + integrity sha512-1HXpunpRMGnoIw0+f2urjUNaePAvac1X9wIwVRsGJTw7A2WHBFATRuFB7jUOhZac/qK1MDm0GZsggzoRi1oteQ== 11237 11238 + expo-font@~13.3.0: 11239 + version "13.3.0" 11240 + resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-13.3.0.tgz#139e6e1024e414afe1180ffed0add98aa8c8950b" 11241 + integrity sha512-TdbHoxCfLWN9Uvnqsrcak+5EkDCbNIWfgtNWx3JZ6sD9WYB7gvbS+Eu5YlZ85NvCOSJ9Khmw4mFQxEi2LUPZfQ== 11242 dependencies: 11243 fontfaceobserver "^2.1.0" 11244 11245 + expo-haptics@~14.1.4: 11246 + version "14.1.4" 11247 + resolved "https://registry.yarnpkg.com/expo-haptics/-/expo-haptics-14.1.4.tgz#442f48b1bdf83484d4fcadc653445aaae6049b70" 11248 + integrity sha512-QZdE3NMX74rTuIl82I+n12XGwpDWKb8zfs5EpwsnGi/D/n7O2Jd4tO5ivH+muEG/OCJOMq5aeaVDqqaQOhTkcA== 11249 11250 + expo-image-loader@~5.1.0: 11251 + version "5.1.0" 11252 + resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-5.1.0.tgz#f7d65f9b9a9714eaaf5d50a406cb34cb25262153" 11253 + integrity sha512-sEBx3zDQIODWbB5JwzE7ZL5FJD+DK3LVLWBVJy6VzsqIA6nDEnSFnsnWyCfCTSvbGigMATs1lgkC2nz3Jpve1Q== 11254 11255 + expo-image-manipulator@~13.1.5: 11256 + version "13.1.5" 11257 + resolved "https://registry.yarnpkg.com/expo-image-manipulator/-/expo-image-manipulator-13.1.5.tgz#d657dceeb8ce8da9345a1903f1327b0fedfd08c1" 11258 + integrity sha512-V9cGJp0zVwAvAyL3w9JsLH8UEQjQZfFmwJM1l9/oXjlDrSDynQrPFwJq4VI8dCOJ+/nhYZK37yytFNG14Sqt4Q== 11259 dependencies: 11260 + expo-image-loader "~5.1.0" 11261 11262 + expo-image-picker@~16.1.4: 11263 + version "16.1.4" 11264 + resolved "https://registry.yarnpkg.com/expo-image-picker/-/expo-image-picker-16.1.4.tgz#d4ac2d1f64f6ec9347c3f64f8435b40e6e4dcc40" 11265 + integrity sha512-bTmmxtw1AohUT+HxEBn2vYwdeOrj1CLpMXKjvi9FKSoSbpcarT4xxI0z7YyGwDGHbrJqyyic3I9TTdP2J2b4YA== 11266 dependencies: 11267 + expo-image-loader "~5.1.0" 11268 11269 + expo-image@~2.1.6: 11270 + version "2.1.6" 11271 + resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-2.1.6.tgz#f046fa631768e37326cc14c49de9113ceffa9e8b" 11272 + integrity sha512-AFQxeAI1iTXFZ4dMxUB+SOACGMQxEk+t7PvT3j4mrvffRFoOLfHZ4uJc8SAdDFJak7ByqKhCIPIEhL+1Deq4Sg== 11273 11274 + expo-json-utils@~0.15.0: 11275 + version "0.15.0" 11276 + resolved "https://registry.yarnpkg.com/expo-json-utils/-/expo-json-utils-0.15.0.tgz#6723574814b9e6b0a90e4e23662be76123ab6ae9" 11277 + integrity sha512-duRT6oGl80IDzH2LD2yEFWNwGIC2WkozsB6HF3cDYNoNNdUvFk6uN3YiwsTsqVM/D0z6LEAQ01/SlYvN+Fw0JQ== 11278 11279 + expo-keep-awake@~14.1.4: 11280 + version "14.1.4" 11281 + resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-14.1.4.tgz#80197728563e0e17523e5a606fbd6fbed9639503" 11282 + integrity sha512-wU9qOnosy4+U4z/o4h8W9PjPvcFMfZXrlUoKTMBW7F4pLqhkkP/5G4EviPZixv4XWFMjn1ExQ5rV6BX8GwJsWA== 11283 11284 + expo-linear-gradient@~14.1.4: 11285 + version "14.1.4" 11286 + resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-14.1.4.tgz#fcb2b586cfd21dd5f3076de467f92b55d9c47cb2" 11287 + integrity sha512-bImj2qqIjnl+VHYGnIwan9LxmGvb8e4hFqHpxsPzUiK7Ady7uERrXPhJcyTKTxRf4RL2sQRDpoOKzBYNdQDmuw== 11288 11289 + expo-linking@~7.1.4: 11290 + version "7.1.4" 11291 + resolved "https://registry.yarnpkg.com/expo-linking/-/expo-linking-7.1.4.tgz#7d398d99788d8d95b67d1ae463d24686cbeb1c1b" 11292 + integrity sha512-zLAbUzTB3+KGjqqLeIdhhkXayyN0qulHGjRI24X7W/0Mq/4oPbPZklKtCP0k7XOn/k4553m8OgJ7GPC03PlV9g== 11293 dependencies: 11294 + expo-constants "~17.1.4" 11295 invariant "^2.2.4" 11296 11297 + expo-localization@~16.1.5: 11298 + version "16.1.5" 11299 + resolved "https://registry.yarnpkg.com/expo-localization/-/expo-localization-16.1.5.tgz#b2877f514669924b2a99d7f85d90e2378bee9e10" 11300 + integrity sha512-dymvf0S11afyMeRbnoXd2iWWzFYwg21jHTnLBO/7ObNO1rKlYpus0ghVDnh+sJFV2u7s518e/JTcAqNR69EZkw== 11301 dependencies: 11302 rtl-detect "^1.0.2" 11303 11304 + expo-manifests@~0.16.4: 11305 + version "0.16.4" 11306 + resolved "https://registry.yarnpkg.com/expo-manifests/-/expo-manifests-0.16.4.tgz#d1a648bab0068a2712cf49009a5f26377a585849" 11307 + integrity sha512-zB6ohgnsNbJDaLI/KRZQXxEHadhMJt+gA4LCqbiZQNa3P4FJq4JFRXPV6QQjgjJ998g9vY7eDCTduxTJYBqUaA== 11308 dependencies: 11309 + "@expo/config" "~11.0.6" 11310 + expo-json-utils "~0.15.0" 11311 11312 + expo-media-library@~17.1.6: 11313 + version "17.1.6" 11314 + resolved "https://registry.yarnpkg.com/expo-media-library/-/expo-media-library-17.1.6.tgz#118ada2d28139d540861b338acf1d088bc03d51f" 11315 + integrity sha512-Py8Y9wJlNXBZkhtJYy9acj0oRoUV09WXsZnjcvy6xZjpniPQIq0wkIkgS2DLhlYmMdjBrSux2TGp7Omi2WHp1g== 11316 11317 + expo-modules-autolinking@2.1.9: 11318 + version "2.1.9" 11319 + resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-2.1.9.tgz#7bf8338d4b7a1b6e8eccab51634de9b339e90c04" 11320 + integrity sha512-54InfnWy1BR54IDZoawqdFAaF2lyLHe9J+2dZ7y91/36jVpBtAval39ZKt2IISFJZ7TVglsojl4P5BDcDGcvjQ== 11321 dependencies: 11322 "@expo/spawn-async" "^1.7.2" 11323 chalk "^4.1.0" 11324 commander "^7.2.0" 11325 find-up "^5.0.0" 11326 + glob "^10.4.2" 11327 require-from-string "^2.0.2" 11328 resolve-from "^5.0.0" 11329 11330 + expo-modules-core@2.3.12: 11331 + version "2.3.12" 11332 + resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-2.3.12.tgz#1c06402564c02b32f192adfe6946e671d8a95e79" 11333 + integrity sha512-bOm83mskw1S7xuDX50DlLdx68u0doQ6BZHSU2qTv8P1/5QYeAae3pCgFLq2hoptUNeMF7W+68ShJFTOHAe68BQ== 11334 dependencies: 11335 invariant "^2.2.4" 11336 ··· 11341 dependencies: 11342 invariant "^2.2.4" 11343 11344 + expo-notifications@~0.31.1: 11345 + version "0.31.1" 11346 + resolved "https://registry.yarnpkg.com/expo-notifications/-/expo-notifications-0.31.1.tgz#3be669ab78c6099d82f4fc3607f77f7d9e1805b6" 11347 + integrity sha512-g1CMi+3wUaMuX+tAU+Fhnfs5bJtJ3JVRXihO415aOInQkox+Mh79n38RlT6snLWCHjfSojQIxmydzUHt6ywTIQ== 11348 dependencies: 11349 + "@expo/image-utils" "^0.7.4" 11350 "@ide/backoff" "^1.0.0" 11351 abort-controller "^3.0.0" 11352 assert "^2.0.0" 11353 badgin "^1.1.5" 11354 + expo-application "~6.1.4" 11355 + expo-constants "~17.1.4" 11356 11357 expo-pwa@0.0.127: 11358 version "0.0.127" ··· 11364 commander "2.20.0" 11365 update-check "1.5.3" 11366 11367 + expo-screen-orientation@~8.1.5: 11368 + version "8.1.5" 11369 + resolved "https://registry.yarnpkg.com/expo-screen-orientation/-/expo-screen-orientation-8.1.5.tgz#447c19b8ad59d1d2cf0894900ee273836367ca0d" 11370 + integrity sha512-t2ss7a52f1VNrugmIYj1wlnGICUgrkqu2+J3Csew8ixczI8s6r6EXT4E4EeyQ/9WvcEUOOyh8TWC9EbbswPhUw== 11371 11372 + expo-sharing@~13.1.5: 11373 + version "13.1.5" 11374 + resolved "https://registry.yarnpkg.com/expo-sharing/-/expo-sharing-13.1.5.tgz#73d86cdcc037b46ddc82be224dfd3d6bceec497c" 11375 + integrity sha512-X/5sAEiWXL2kdoGE3NO5KmbfcmaCWuWVZXHu8OQef7Yig4ZgHFkGD11HKJ5KqDrDg+SRZe4ISd6MxE7vGUgm4w== 11376 11377 + expo-splash-screen@~0.30.8: 11378 + version "0.30.8" 11379 + resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.30.8.tgz#2e960ccff053bc8ace85eb56f7d6745e4ddfc6b6" 11380 + integrity sha512-2eh+uA543brfeG5HILXmtNKA7E2/pfywKzNumzy3Ef6OtDjYy6zJUGNSbhnZRbVEjUZo3/QNRs0JRBfY80okZg== 11381 dependencies: 11382 + "@expo/prebuild-config" "^9.0.5" 11383 11384 + expo-structured-headers@~4.1.0: 11385 + version "4.1.0" 11386 + resolved "https://registry.yarnpkg.com/expo-structured-headers/-/expo-structured-headers-4.1.0.tgz#5475fc3f9559701cc755fd2d50605f8817d42ad0" 11387 + integrity sha512-2X+aUNzC/qaw7/WyUhrVHNDB0uQ5rE12XA2H/rJXaAiYQSuOeU90ladaN0IJYV9I2XlhYrjXLktLXWbO7zgbag== 11388 11389 + expo-system-ui@~5.0.7: 11390 + version "5.0.7" 11391 + resolved "https://registry.yarnpkg.com/expo-system-ui/-/expo-system-ui-5.0.7.tgz#ccf047a689ab488d9bcda375afd063419578f494" 11392 + integrity sha512-ijSnSFA4VfuQc84N6WyCUNsKKTIyQb6QuC8q2zGvYC/sBXTMrOtZg0zrisQGzCRW+WhritQTiVqHlp3Ix9xDmQ== 11393 dependencies: 11394 + "@react-native/normalize-colors" "0.79.2" 11395 debug "^4.3.2" 11396 11397 + expo-task-manager@~13.1.5: 11398 + version "13.1.5" 11399 + resolved "https://registry.yarnpkg.com/expo-task-manager/-/expo-task-manager-13.1.5.tgz#fc09bdc9562339aa71de4ed2e7ff17491e6b6ee2" 11400 + integrity sha512-9jspZZ6y6hwo6QBwmfsUUX6sY4Mnrw8170LnOqrVfRuClkGaMrqDeBa9YUFTDt/BNYZ/3/QlZZ5QUHT9ziROfQ== 11401 dependencies: 11402 + unimodules-app-loader "~5.1.3" 11403 11404 + expo-updates-interface@~1.1.0: 11405 + version "1.1.0" 11406 + resolved "https://registry.yarnpkg.com/expo-updates-interface/-/expo-updates-interface-1.1.0.tgz#62497d4647b381da9fdb68868ed180203ae737ef" 11407 + integrity sha512-DeB+fRe0hUDPZhpJ4X4bFMAItatFBUPjw/TVSbJsaf3Exeami+2qbbJhWkcTMoYHOB73nOIcaYcWXYJnCJXO0w== 11408 11409 + expo-updates@~0.28.12: 11410 + version "0.28.12" 11411 + resolved "https://registry.yarnpkg.com/expo-updates/-/expo-updates-0.28.12.tgz#abf6e0c593837b20af64feee31aa018e1a85b332" 11412 + integrity sha512-GUQNI7apaQa8mVLGyeUQZsSaY75lq3yIp2OO+gX0BZIeD5hr8ADZ0Gw2+9+uRSB70B7AWQklUCMBxvOsA2DVfg== 11413 dependencies: 11414 "@expo/code-signing-certificates" "0.0.5" 11415 + "@expo/config" "~11.0.7" 11416 + "@expo/config-plugins" "~10.0.2" 11417 "@expo/spawn-async" "^1.7.2" 11418 arg "4.1.0" 11419 chalk "^4.1.2" 11420 + expo-eas-client "~0.14.3" 11421 + expo-manifests "~0.16.4" 11422 + expo-structured-headers "~4.1.0" 11423 + expo-updates-interface "~1.1.0" 11424 + glob "^10.4.2" 11425 ignore "^5.3.1" 11426 resolve-from "^5.0.0" 11427 11428 + expo-video@~2.1.8: 11429 + version "2.1.8" 11430 + resolved "https://registry.yarnpkg.com/expo-video/-/expo-video-2.1.8.tgz#507305ae2ea18f435a51ababd6b2dec21291d328" 11431 + integrity sha512-OEToLVEGLvfTq7ypjgOf1DUNGHLGxUiL/1K6WHwdew5tgFxiLBZesGQhKToyrSVPVmWaxMBSP4sQuwtTjWUpHg== 11432 11433 + expo-web-browser@~14.1.6: 11434 + version "14.1.6" 11435 + resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-14.1.6.tgz#26d66e641e6e96d155be6fa513e7e667a719a0b0" 11436 + integrity sha512-/4P8eWqRyfXIMZna3acg320LXNA+P2cwyEVbjDX8vHnWU+UnOtyRKWy3XaAIyMPQ9hVjBNUQTh4MPvtnPRzakw== 11437 11438 + expo@^53.0.5: 11439 + version "53.0.5" 11440 + resolved "https://registry.yarnpkg.com/expo/-/expo-53.0.5.tgz#f8c30643c4e45d769934415ea9196531612cb657" 11441 + integrity sha512-A9nh7ojGcdsv05TCH39q/7RRQsTfgcQ3qD2CFzlADVW8jIIFNiIg80shE8DQiXHkeCKWT78Iy7iog2yIu4sq3Q== 11442 dependencies: 11443 "@babel/runtime" "^7.20.0" 11444 + "@expo/cli" "0.24.10" 11445 + "@expo/config" "~11.0.7" 11446 + "@expo/config-plugins" "~10.0.2" 11447 + "@expo/fingerprint" "0.12.4" 11448 + "@expo/metro-config" "0.20.12" 11449 "@expo/vector-icons" "^14.0.0" 11450 + babel-preset-expo "~13.1.11" 11451 + expo-asset "~11.1.4" 11452 + expo-constants "~17.1.5" 11453 + expo-file-system "~18.1.8" 11454 + expo-font "~13.3.0" 11455 + expo-keep-awake "~14.1.4" 11456 + expo-modules-autolinking "2.1.9" 11457 + expo-modules-core "2.3.12" 11458 + react-native-edge-to-edge "1.6.0" 11459 whatwg-url-without-unicode "8.0.0-3" 11460 11461 exponential-backoff@^3.1.1: ··· 11524 resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 11525 integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 11526 11527 + fast-glob@^3.2.7, fast-glob@^3.2.9: 11528 version "3.3.1" 11529 resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" 11530 integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== ··· 11580 resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 11581 integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 11582 11583 fast-printf@^1.6.9: 11584 version "1.6.9" 11585 resolved "https://registry.yarnpkg.com/fast-printf/-/fast-printf-1.6.9.tgz#212f56570d2dc8ccdd057ee93d50dd414d07d676" ··· 11635 dependencies: 11636 bser "2.1.1" 11637 11638 fbjs-css-vars@^1.0.0: 11639 version "1.0.2" 11640 resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" 11641 integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== 11642 11643 + fbjs@^3.0.4: 11644 version "3.0.5" 11645 resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" 11646 integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== ··· 11653 setimmediate "^1.0.5" 11654 ua-parser-js "^1.0.35" 11655 11656 figures@^3.0.0: 11657 version "3.2.0" 11658 resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" ··· 11693 version "7.0.1" 11694 resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 11695 integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 11696 dependencies: 11697 to-regex-range "^5.0.1" 11698 ··· 11734 dependencies: 11735 json5 "^2.2.3" 11736 11737 find-cache-dir@^3.3.1: 11738 version "3.3.2" 11739 resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" ··· 11791 resolved "https://registry.yarnpkg.com/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz#5bb0cd1b0a3e471330f4d109039b7eba5cb3e787" 11792 integrity sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw== 11793 11794 follow-redirects@^1.0.0, follow-redirects@^1.15.0: 11795 version "1.15.2" 11796 resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" ··· 11823 cross-spawn "^7.0.0" 11824 signal-exit "^4.0.1" 11825 11826 form-data@^4.0.0: 11827 version "4.0.0" 11828 resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" ··· 11832 combined-stream "^1.0.8" 11833 mime-types "^2.1.12" 11834 11835 + forwarded@0.2.0, forwarded@^0.2.0: 11836 version "0.2.0" 11837 resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 11838 integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== ··· 11862 jsonfile "^6.0.1" 11863 universalify "^1.0.0" 11864 11865 + fs-extra@^11.2.0: 11866 + version "11.3.0" 11867 + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" 11868 + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== 11869 + dependencies: 11870 + graceful-fs "^4.2.0" 11871 + jsonfile "^6.0.1" 11872 + universalify "^2.0.0" 11873 + 11874 + fs-extra@^9.0.0: 11875 version "9.1.0" 11876 resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" 11877 integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== ··· 11881 jsonfile "^6.0.1" 11882 universalify "^2.0.0" 11883 11884 fs-monkey@^1.0.4: 11885 version "1.0.4" 11886 resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.4.tgz#ee8c1b53d3fe8bb7e5d2c5c5dfc0168afdd2f747" ··· 12007 dunder-proto "^1.0.1" 12008 es-object-atoms "^1.0.0" 12009 12010 get-stream@^6.0.0, get-stream@^6.0.1: 12011 version "6.0.1" 12012 resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" ··· 12070 once "^1.3.0" 12071 path-is-absolute "^1.0.0" 12072 12073 glob@^10.3.10: 12074 version "10.3.12" 12075 resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b" ··· 12092 minipass "^7.1.2" 12093 package-json-from-dist "^1.0.0" 12094 path-scurry "^1.11.1" 12095 12096 glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: 12097 version "7.2.3" ··· 12142 define-properties "^1.2.1" 12143 gopd "^1.0.1" 12144 12145 + globby@^11.1.0: 12146 version "11.1.0" 12147 resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 12148 integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== ··· 12315 resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 12316 integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 12317 12318 hermes-estree@0.25.1: 12319 version "0.25.1" 12320 resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.25.1.tgz#6aeec17d1983b4eabf69721f3aa3eb705b17f480" 12321 integrity sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw== 12322 12323 + hermes-estree@0.28.1: 12324 + version "0.28.1" 12325 + resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.28.1.tgz#631e6db146b06e62fc1c630939acf4a3c77d1b24" 12326 + integrity sha512-w3nxl/RGM7LBae0v8LH2o36+8VqwOZGv9rX1wyoWT6YaKZLqpJZ0YQ5P0LVr3tuRpf7vCx0iIG4i/VmBJejxTQ== 12327 12328 + hermes-parser@0.25.1, hermes-parser@^0.25.1: 12329 version "0.25.1" 12330 resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.25.1.tgz#5be0e487b2090886c62bd8a11724cd766d5f54d1" 12331 integrity sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA== 12332 dependencies: 12333 hermes-estree "0.25.1" 12334 12335 + hermes-parser@0.28.1: 12336 + version "0.28.1" 12337 + resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.28.1.tgz#17b9e6377f334b6870a1f6da2e123fdcd0b605ac" 12338 + integrity sha512-nf8o+hE8g7UJWParnccljHumE9Vlq8F7MqIdeahl+4x0tvCUJYRrT0L7h0MMg/X9YJmkNwsfbaNNrzPtFXOscg== 12339 dependencies: 12340 + hermes-estree "0.28.1" 12341 12342 history@^5.3.0: 12343 version "5.3.0" ··· 12529 integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== 12530 dependencies: 12531 agent-base "6" 12532 + debug "4" 12533 + 12534 + https-proxy-agent@^7.0.5: 12535 + version "7.0.6" 12536 + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" 12537 + integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== 12538 + dependencies: 12539 + agent-base "^7.1.2" 12540 debug "4" 12541 12542 human-signals@^2.1.0: ··· 12662 resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" 12663 integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== 12664 12665 + inline-style-prefixer@^7.0.1: 12666 + version "7.0.1" 12667 + resolved "https://registry.yarnpkg.com/inline-style-prefixer/-/inline-style-prefixer-7.0.1.tgz#9310f3cfa2c6f3901d1480f373981c02691781e8" 12668 + integrity sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw== 12669 dependencies: 12670 css-in-js-utils "^3.1.0" 12671 12672 inquirer@^7.3.3: 12673 version "7.3.3" ··· 12688 strip-ansi "^6.0.0" 12689 through "^2.3.6" 12690 12691 internal-slot@^1.0.3, internal-slot@^1.0.5: 12692 version "1.0.5" 12693 resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" ··· 12728 redis-parser "^3.0.0" 12729 standard-as-callback "^2.1.0" 12730 12731 ip3country@^5.0.0: 12732 version "5.0.0" 12733 resolved "https://registry.yarnpkg.com/ip3country/-/ip3country-5.0.0.tgz#f1394b050c51ba9c10cc691c8eb240bba3d7177a" 12734 integrity sha512-lcFLMFU4eO1Z7tIpbVFZkaZ5ltqpeaRx7L9NsAbA9uA7/O/rj3RF8+evE5gDitooaTTIqjdzZrenFO/OOxQ2ew== 12735 12736 + ipaddr.js@1.9.1: 12737 version "1.9.1" 12738 resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 12739 integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== ··· 12841 call-bound "^1.0.3" 12842 has-tostringtag "^1.0.2" 12843 12844 is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: 12845 version "1.2.7" 12846 resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" ··· 13009 resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 13010 integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 13011 13012 + is-path-cwd@^2.0.0: 13013 version "2.2.0" 13014 resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" 13015 integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== ··· 13028 dependencies: 13029 path-is-inside "^1.0.2" 13030 13031 + is-path-inside@^3.0.3: 13032 version "3.0.3" 13033 resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 13034 integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== ··· 13043 resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" 13044 integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== 13045 13046 is-plain-object@^5.0.0: 13047 version "5.0.0" 13048 resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" ··· 13094 integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== 13095 dependencies: 13096 call-bound "^1.0.3" 13097 13098 is-stream@^2.0.0: 13099 version "2.0.1" ··· 13222 resolved "https://registry.yarnpkg.com/iso-datestring-validator/-/iso-datestring-validator-2.2.2.tgz#2daa80d2900b7a954f9f731d42f96ee0c19a6895" 13223 integrity sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA== 13224 13225 istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: 13226 version "3.2.0" 13227 resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" ··· 13436 jest-util "^29.6.3" 13437 jsdom "^20.0.0" 13438 13439 jest-environment-node@^29.7.0: 13440 version "29.7.0" 13441 resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" ··· 13448 jest-mock "^29.7.0" 13449 jest-util "^29.7.0" 13450 13451 + jest-expo@~53.0.3: 13452 + version "53.0.3" 13453 + resolved "https://registry.yarnpkg.com/jest-expo/-/jest-expo-53.0.3.tgz#094da673d5b7953565c4cc6c41af4337465ddfc9" 13454 + integrity sha512-aOJyy/i0wPAWrQpSVNTTFWjcNTbUE/0eXr2cpdM3WW57K3EB1sueuKj8j2tWlzeKz4bk3+DVRy8K44V/XMoy3Q== 13455 dependencies: 13456 + "@expo/config" "~11.0.7" 13457 + "@expo/json-file" "^9.1.4" 13458 "@jest/create-cache-key-function" "^29.2.1" 13459 "@jest/globals" "^29.2.1" 13460 babel-jest "^29.2.1" 13461 find-up "^5.0.0" 13462 jest-environment-jsdom "^29.2.1" 13463 jest-snapshot "^29.2.1" ··· 13465 jest-watch-typeahead "2.2.1" 13466 json5 "^2.2.3" 13467 lodash "^4.17.19" 13468 + react-server-dom-webpack "~19.0.0" 13469 + react-test-renderer "19.0.0" 13470 server-only "^0.0.1" 13471 stacktrace-js "^2.0.2" 13472 ··· 13749 leven "^3.1.0" 13750 pretty-format "^29.7.0" 13751 13752 jest-watch-select-projects@^2.0.0: 13753 version "2.0.0" 13754 resolved "https://registry.yarnpkg.com/jest-watch-select-projects/-/jest-watch-select-projects-2.0.0.tgz#4373d7e4de862aae28b46e036b669a4c913ea867" ··· 13848 resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" 13849 integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== 13850 13851 jose@^5.0.1: 13852 version "5.1.3" 13853 resolved "https://registry.yarnpkg.com/jose/-/jose-5.1.3.tgz#303959d85c51b5cb14725f930270b72be56abdca" ··· 13888 dependencies: 13889 argparse "^2.0.1" 13890 13891 jsc-safe-url@^0.2.2, jsc-safe-url@^0.2.4: 13892 version "0.2.4" 13893 resolved "https://registry.yarnpkg.com/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz#141c14fbb43791e88d5dc64e85a374575a83477a" 13894 integrity sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q== 13895 13896 jsdom@^20.0.0: 13897 version "20.0.3" 13898 resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" ··· 13984 resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" 13985 integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 13986 13987 jsonfile@^6.0.1: 13988 version "6.1.0" 13989 resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" ··· 14018 bn.js "^4.11.8" 14019 elliptic "^6.4.1" 14020 14021 klaw-sync@^6.0.0: 14022 version "6.0.0" 14023 resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" ··· 14039 version "0.23.5" 14040 resolved "https://registry.yarnpkg.com/kysely/-/kysely-0.23.5.tgz#60c63d94e1c42cc0411be8aaa688a0f27405f514" 14041 integrity sha512-TH+b56pVXQq0tsyooYLeNfV11j6ih7D50dyN8tkM0e7ndiUH28Nziojiog3qRFlmEj9XePYdZUrNJ2079Qjdow== 14042 + 14043 + lan-network@^0.1.4: 14044 + version "0.1.5" 14045 + resolved "https://registry.yarnpkg.com/lan-network/-/lan-network-0.1.5.tgz#e781889b7bd4dbedd9126fff3ceddd809a83c3ff" 14046 + integrity sha512-CV3k7l8jW0Z1b+G41tB7JInVyJEKQzh/YPl2v9uXpZMusp0aa+rh3OqG77xWuX7+eVBa8PsdTuMznTAssF4qwg== 14047 14048 lande@^1.0.10: 14049 version "1.0.10" ··· 14250 lockfile-lint-api "^5.9.1" 14251 yargs "^17.7.2" 14252 14253 + lodash.camelcase@^4.3.0: 14254 + version "4.3.0" 14255 + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" 14256 + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== 14257 + 14258 lodash.chunk@^4.2.0: 14259 version "4.2.0" 14260 resolved "https://registry.yarnpkg.com/lodash.chunk/-/lodash.chunk-4.2.0.tgz#66e5ce1f76ed27b4303d8c6512e8d1216e8106bc" ··· 14351 strip-ansi "^7.0.1" 14352 wrap-ansi "^8.0.1" 14353 14354 + long@^5.0.0: 14355 + version "5.3.2" 14356 + resolved "https://registry.yarnpkg.com/long/-/long-5.3.2.tgz#1d84463095999262d7d7b7f8bfd4a8cc55167f83" 14357 + integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA== 14358 + 14359 + loose-envify@^1.0.0, loose-envify@^1.4.0: 14360 version "1.4.0" 14361 resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 14362 integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== ··· 14401 dependencies: 14402 "@jridgewell/sourcemap-codec" "^1.4.15" 14403 14404 make-dir@^3.0.2, make-dir@^3.1.0: 14405 version "3.1.0" 14406 resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" ··· 14456 resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" 14457 integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== 14458 14459 mdn-data@2.0.14: 14460 version "2.0.14" 14461 resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" ··· 14525 resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 14526 integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== 14527 14528 + metro-babel-transformer@0.82.2: 14529 + version "0.82.2" 14530 + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.82.2.tgz#acb89a300a070b685cadbfdc3aa3f809b52de9fc" 14531 + integrity sha512-c2gesA7/B4dovPmmYC2HziNXb4XFG3YkQ9FjEzwRnR6KH2hT7nJn6mkcri1h85r3sMttpnmoBuZ8WDz980Zhlw== 14532 dependencies: 14533 "@babel/core" "^7.25.2" 14534 flow-enums-runtime "^0.0.6" 14535 + hermes-parser "0.28.1" 14536 nullthrows "^1.1.1" 14537 14538 + metro-cache-key@0.82.2: 14539 + version "0.82.2" 14540 + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.82.2.tgz#d1b73cd4849e9ed3984aeb2386e5b198f8f59fad" 14541 + integrity sha512-lfjC9zzSri+rS7lkoCh04LniFga8JQVUqSuscD9KraIm9zRzwIwvaMx8V6Oogiezs+FAJUOSnVNhHcHc9l8H2Q== 14542 dependencies: 14543 flow-enums-runtime "^0.0.6" 14544 14545 + metro-cache@0.82.2: 14546 + version "0.82.2" 14547 + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.82.2.tgz#2d5427164a8bf9f15c6fb96484666cd1187eda6b" 14548 + integrity sha512-MxY4xvPKuE68NYpKJjH8YvVVugDL2QcuTracHsV5/30ZIaRr0v1QuAX5vt45OCQDQQWeh1rDv3E4JB6AbIvnZQ== 14549 dependencies: 14550 exponential-backoff "^3.1.1" 14551 flow-enums-runtime "^0.0.6" 14552 + https-proxy-agent "^7.0.5" 14553 + metro-core "0.82.2" 14554 14555 + metro-config@0.82.2, metro-config@^0.82.0: 14556 + version "0.82.2" 14557 + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.82.2.tgz#0766d13f9707d60367a824f506fdd5144f7cb53b" 14558 + integrity sha512-0dG3qCFLoE3ddNexAxSLJ7FbGjEbwUjDNOgYeCLoPSkKB01k5itvvr2HFfl2HisOCfLcpjpVzF5NtB/O71lxfA== 14559 dependencies: 14560 connect "^3.6.5" 14561 cosmiconfig "^5.0.5" 14562 flow-enums-runtime "^0.0.6" 14563 + jest-validate "^29.7.0" 14564 + metro "0.82.2" 14565 + metro-cache "0.82.2" 14566 + metro-core "0.82.2" 14567 + metro-runtime "0.82.2" 14568 14569 + metro-core@0.82.2, metro-core@^0.82.0: 14570 + version "0.82.2" 14571 + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.82.2.tgz#8c95128a247848f750835c184c29ca23905892ab" 14572 + integrity sha512-d2XMkWbRh6PdPV1OZ8OyUyDWrtEbQ1m5ASpKtemLPbujfoE4RlwFZdl4ljfBNVVZ1s0z7tgsSFwKMyTeXgjtSg== 14573 dependencies: 14574 flow-enums-runtime "^0.0.6" 14575 lodash.throttle "^4.1.1" 14576 + metro-resolver "0.82.2" 14577 14578 + metro-file-map@0.82.2: 14579 + version "0.82.2" 14580 + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.82.2.tgz#acb98d73701373e12f1294f1998b983749e4c7cb" 14581 + integrity sha512-pax0WA80eRH096YO0kwox+ZD5im3V0Vswr2x1YqdMcZVWlr6uwXgQdo9q+mpcvJ1k77J+hmY5HIg71bqrUptVg== 14582 dependencies: 14583 + debug "^4.4.0" 14584 fb-watchman "^2.0.0" 14585 flow-enums-runtime "^0.0.6" 14586 graceful-fs "^4.2.4" 14587 invariant "^2.2.4" 14588 + jest-worker "^29.7.0" 14589 micromatch "^4.0.4" 14590 nullthrows "^1.1.1" 14591 walker "^1.0.7" 14592 14593 + metro-minify-terser@0.82.2: 14594 + version "0.82.2" 14595 + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.82.2.tgz#9afd1d486357065edfd01b5e9a9f1e18a93018e9" 14596 + integrity sha512-+nveaEdQUvsoi0OSr4Cp+btevZsg2DKsu8kUJsvyLIcRRFPUw9CwzF3V2cA5b55DY5LcIJyAcZf4D9ARKfoilQ== 14597 dependencies: 14598 flow-enums-runtime "^0.0.6" 14599 terser "^5.15.0" 14600 14601 + metro-react-native-babel-preset@^0.77.0: 14602 + version "0.77.0" 14603 + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.77.0.tgz#47457eca8e36b77156afbe790247a70dbb40faaa" 14604 + integrity sha512-HPPD+bTxADtoE4y/4t1txgTQ1LVR6imOBy7RMHUsqMVTbekoi8Ph5YI9vKX2VMPtVWeFt0w9YnCSLPa76GcXsA== 14605 dependencies: 14606 "@babel/core" "^7.20.0" 14607 "@babel/plugin-proposal-async-generator-functions" "^7.0.0" ··· 14643 babel-plugin-transform-flow-enums "^0.0.2" 14644 react-refresh "^0.4.0" 14645 14646 + metro-resolver@0.82.2: 14647 + version "0.82.2" 14648 + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.82.2.tgz#994ebdbf23970fc460c50e47d39bf74db3b87e57" 14649 + integrity sha512-Who2hGzq2aCGSsBaQBU0L3SADiy/kj/gv0coujNWziRY4SKq7ECKzWqtVk1JlEF7IGXDDRDxEgFuLmPV6mZGVQ== 14650 dependencies: 14651 flow-enums-runtime "^0.0.6" 14652 14653 + metro-runtime@0.82.2, metro-runtime@^0.82.0: 14654 + version "0.82.2" 14655 + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.82.2.tgz#4a86e48cdb124dd5f53fa42befadfd0838c58fdb" 14656 + integrity sha512-gEcb2AfDs3GRs2SFjtEmG0k61B/cZEVCbh6cSmkjJpyHr+VRjw77MnDpX9AUcJYa4bCT63E7IEySOMM0Z8p87g== 14657 dependencies: 14658 "@babel/runtime" "^7.25.0" 14659 flow-enums-runtime "^0.0.6" 14660 14661 + metro-source-map@0.82.2, metro-source-map@^0.82.0: 14662 + version "0.82.2" 14663 + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.82.2.tgz#19c1cb06e462a9f19ff76dfc3827c2561cbebf63" 14664 + integrity sha512-S26xPdz1/EeAY0HqaPXfny8CeiY0Dvl4sBLQiXGXhoES4gUDAuMhA1tioKrv5F+x68Sod8cp8Js6EGqbMXeqMA== 14665 dependencies: 14666 "@babel/traverse" "^7.25.3" 14667 "@babel/traverse--for-generate-function-map" "npm:@babel/traverse@^7.25.3" 14668 "@babel/types" "^7.25.2" 14669 flow-enums-runtime "^0.0.6" 14670 invariant "^2.2.4" 14671 + metro-symbolicate "0.82.2" 14672 nullthrows "^1.1.1" 14673 + ob1 "0.82.2" 14674 source-map "^0.5.6" 14675 vlq "^1.0.0" 14676 14677 + metro-symbolicate@0.82.2: 14678 + version "0.82.2" 14679 + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.82.2.tgz#1e16d60fb9b96e7067527cfb2257f2b46406a4f6" 14680 + integrity sha512-iheanMnOMned6gjt6sKSfU5AoNyV6pJyQAWydwuHcjhGpa/kiAM0kKmw23qHejELK89Yw8HDZ3Fd/5l1jxpFVA== 14681 dependencies: 14682 flow-enums-runtime "^0.0.6" 14683 invariant "^2.2.4" 14684 + metro-source-map "0.82.2" 14685 nullthrows "^1.1.1" 14686 source-map "^0.5.6" 14687 vlq "^1.0.0" 14688 14689 + metro-transform-plugins@0.82.2: 14690 + version "0.82.2" 14691 + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.82.2.tgz#2948a012ef40b36ad272fc986920fd7e9b552be4" 14692 + integrity sha512-kEveuEVxghTEXkDiyY0MT5QRqei092KJG46nduo0VghFgI6QFodbAjFit1ULyWsn2VOTGSUDJ3VgHBMy7MaccA== 14693 dependencies: 14694 "@babel/core" "^7.25.2" 14695 "@babel/generator" "^7.25.0" ··· 14698 flow-enums-runtime "^0.0.6" 14699 nullthrows "^1.1.1" 14700 14701 + metro-transform-worker@0.82.2: 14702 + version "0.82.2" 14703 + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.82.2.tgz#4eb09c95c2d9cda1cf0e8e201bd899c0da5b0a0c" 14704 + integrity sha512-MJQNz6cGjqewCRqFmPrsHu6Oe93v2B6zgHkrNxQ6XdPMJz5VHD33m8q+8UsNJOH8wUMoRu5JmYtuUTIVIFxh2A== 14705 dependencies: 14706 "@babel/core" "^7.25.2" 14707 "@babel/generator" "^7.25.0" 14708 "@babel/parser" "^7.25.3" 14709 "@babel/types" "^7.25.2" 14710 flow-enums-runtime "^0.0.6" 14711 + metro "0.82.2" 14712 + metro-babel-transformer "0.82.2" 14713 + metro-cache "0.82.2" 14714 + metro-cache-key "0.82.2" 14715 + metro-minify-terser "0.82.2" 14716 + metro-source-map "0.82.2" 14717 + metro-transform-plugins "0.82.2" 14718 nullthrows "^1.1.1" 14719 14720 + metro@0.82.2, metro@^0.82.0: 14721 + version "0.82.2" 14722 + resolved "https://registry.yarnpkg.com/metro/-/metro-0.82.2.tgz#3fdf2eb2558d930ba9f156967e861dee8b026081" 14723 + integrity sha512-hOBd4O4Cn/tLf3jz7IjSgD/A66MqMzgZuyF1I/pmNwYcY3q3j2vbh7Fa09KIbvUq5Yz7BewU356XboaEtEXPgA== 14724 dependencies: 14725 "@babel/code-frame" "^7.24.7" 14726 "@babel/core" "^7.25.2" ··· 14733 chalk "^4.0.0" 14734 ci-info "^2.0.0" 14735 connect "^3.6.5" 14736 + debug "^4.4.0" 14737 error-stack-parser "^2.0.6" 14738 flow-enums-runtime "^0.0.6" 14739 graceful-fs "^4.2.4" 14740 + hermes-parser "0.28.1" 14741 image-size "^1.0.2" 14742 invariant "^2.2.4" 14743 + jest-worker "^29.7.0" 14744 jsc-safe-url "^0.2.2" 14745 lodash.throttle "^4.1.1" 14746 + metro-babel-transformer "0.82.2" 14747 + metro-cache "0.82.2" 14748 + metro-cache-key "0.82.2" 14749 + metro-config "0.82.2" 14750 + metro-core "0.82.2" 14751 + metro-file-map "0.82.2" 14752 + metro-resolver "0.82.2" 14753 + metro-runtime "0.82.2" 14754 + metro-source-map "0.82.2" 14755 + metro-symbolicate "0.82.2" 14756 + metro-transform-plugins "0.82.2" 14757 + metro-transform-worker "0.82.2" 14758 mime-types "^2.1.27" 14759 nullthrows "^1.1.1" 14760 serialize-error "^2.1.0" 14761 source-map "^0.5.6" 14762 throat "^5.0.0" 14763 ws "^7.5.10" 14764 yargs "^17.6.2" ··· 14769 integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 14770 dependencies: 14771 braces "^3.0.2" 14772 picomatch "^2.3.1" 14773 14774 mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": ··· 14830 resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 14831 integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== 14832 14833 + minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 14834 version "3.1.2" 14835 resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 14836 integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== ··· 14844 dependencies: 14845 brace-expansion "^2.0.1" 14846 14847 + minimatch@^9.0.0: 14848 + version "9.0.5" 14849 + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" 14850 + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== 14851 + dependencies: 14852 + brace-expansion "^2.0.1" 14853 + 14854 minimatch@^9.0.1, minimatch@^9.0.4: 14855 version "9.0.4" 14856 resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" ··· 14863 resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" 14864 integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== 14865 14866 minipass@^4.2.4: 14867 version "4.2.8" 14868 resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" 14869 integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== 14870 14871 "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: 14872 version "7.0.4" 14873 resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" 14874 integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== 14875 14876 + minipass@^7.1.2: 14877 version "7.1.2" 14878 resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" 14879 integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== 14880 14881 + minizlib@^3.0.1: 14882 + version "3.0.2" 14883 + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-3.0.2.tgz#f33d638eb279f664439aa38dc5f91607468cb574" 14884 + integrity sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA== 14885 dependencies: 14886 + minipass "^7.1.2" 14887 14888 mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: 14889 version "0.5.3" 14890 resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" 14891 integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== 14892 14893 + mkdirp@^0.5.1: 14894 version "0.5.6" 14895 resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" 14896 integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== 14897 dependencies: 14898 minimist "^1.2.6" 14899 14900 + mkdirp@^1.0.4: 14901 version "1.0.4" 14902 resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" 14903 integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== 14904 + 14905 + mkdirp@^3.0.1: 14906 + version "3.0.1" 14907 + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" 14908 + integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg== 14909 14910 moo@^0.5.1: 14911 version "0.5.2" ··· 14940 dns-packet "^5.2.2" 14941 thunky "^1.0.2" 14942 14943 + multiformats@9.9.0, multiformats@^13.1.0, multiformats@^9.4.2, multiformats@^9.5.4, multiformats@^9.6.4, multiformats@^9.9.0: 14944 version "9.9.0" 14945 resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" 14946 integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== ··· 14954 version "0.0.8" 14955 resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" 14956 integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== 14957 14958 mz@^2.7.0: 14959 version "2.7.0" ··· 14989 resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 14990 integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 14991 14992 negotiator@0.6.3: 14993 version "0.6.3" 14994 resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 14995 integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 14996 14997 + neo-async@^2.6.1, neo-async@^2.6.2: 14998 version "2.6.2" 14999 resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" 15000 integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== ··· 15024 dependencies: 15025 semver "^7.3.5" 15026 15027 + node-fetch@^2.6.12, node-fetch@^2.6.7: 15028 version "2.6.13" 15029 resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.13.tgz#a20acbbec73c2e09f9007de5cda17104122e0010" 15030 integrity sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA== ··· 15113 semver "^7.3.5" 15114 validate-npm-package-name "^5.0.0" 15115 15116 npm-run-path@^4.0.1: 15117 version "4.0.1" 15118 resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" ··· 15144 resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" 15145 integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== 15146 15147 + ob1@0.82.2: 15148 + version "0.82.2" 15149 + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.82.2.tgz#ca2478f9cd904a4a91381fbfa729996c40ed567b" 15150 + integrity sha512-sfUaYpjkAdHgu8cXLAyWXO98jW1EUOStTDNslfC9eb3tBLExe67PRqh09J0xdD6AlFKHFGTvXPbuHGvlrZNJNA== 15151 dependencies: 15152 flow-enums-runtime "^0.0.6" 15153 ··· 15457 resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" 15458 integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== 15459 15460 p-queue@^6.6.2: 15461 version "6.6.2" 15462 resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" ··· 15610 resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 15611 integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== 15612 15613 + path-key@^2.0.1: 15614 version "2.0.1" 15615 resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 15616 integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== ··· 15841 sonic-boom "^3.7.0" 15842 thread-stream "^2.6.0" 15843 15844 + pirates@^4.0.1, pirates@^4.0.4: 15845 version "4.0.6" 15846 resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" 15847 integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== 15848 15849 pkg-dir@^4.1.0, pkg-dir@^4.2.0: 15850 version "4.2.0" 15851 resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" ··· 16470 prosemirror-state "^1.0.0" 16471 prosemirror-transform "^1.1.0" 16472 16473 + protobufjs@^7.2.5: 16474 + version "7.5.0" 16475 + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.5.0.tgz#a317ad80713e9db43c8e55afa8636a9aa76bb630" 16476 + integrity sha512-Z2E/kOY1QjoMlCytmexzYfDm/w5fKAiRwpSzGtdnXW1zC88Z2yXazHHrOtwCzn+7wSxyE8PYM4rvVcMphF9sOA== 16477 + dependencies: 16478 + "@protobufjs/aspromise" "^1.1.2" 16479 + "@protobufjs/base64" "^1.1.2" 16480 + "@protobufjs/codegen" "^2.0.4" 16481 + "@protobufjs/eventemitter" "^1.1.0" 16482 + "@protobufjs/fetch" "^1.1.0" 16483 + "@protobufjs/float" "^1.0.2" 16484 + "@protobufjs/inquire" "^1.1.0" 16485 + "@protobufjs/path" "^1.1.2" 16486 + "@protobufjs/pool" "^1.1.0" 16487 + "@protobufjs/utf8" "^1.1.0" 16488 + "@types/node" ">=13.7.0" 16489 + long "^5.0.0" 16490 + 16491 proxy-addr@~2.0.7: 16492 version "2.0.7" 16493 resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" ··· 16694 minimist "^1.2.0" 16695 strip-json-comments "~2.0.1" 16696 16697 + react-compiler-runtime@^19.1.0-rc.1: 16698 + version "19.1.0-rc.1" 16699 + resolved "https://registry.yarnpkg.com/react-compiler-runtime/-/react-compiler-runtime-19.1.0-rc.1.tgz#2535efd2e9fc9fc7d5ad47e970061dfbe38fb3f6" 16700 + integrity sha512-wCt6g+cRh8g32QT18/9blfQHywGjYu+4FlEc3CW1mx3pPxYzZZl1y+VtqxRgnKKBCFLIGUYxog4j4rs5YS86hw== 16701 16702 + react-devtools-core@^6.1.1: 16703 + version "6.1.1" 16704 + resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-6.1.1.tgz#7dac74773d039273134c360f8b65cf4f6c795c49" 16705 + integrity sha512-TFo1MEnkqE6hzAbaztnyR5uLTMoz6wnEWwWBsCUzNt+sVXJycuRJdDqvL078M4/h65BI/YO5XWTaxZDWVsW0fw== 16706 dependencies: 16707 shell-quote "^1.6.1" 16708 ws "^7" 16709 16710 + react-dom@19.0.0: 16711 + version "19.0.0" 16712 + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.0.0.tgz#43446f1f01c65a4cd7f7588083e686a6726cfb57" 16713 + integrity sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ== 16714 dependencies: 16715 + scheduler "^0.25.0" 16716 16717 react-fast-compare@^3.2.2: 16718 version "3.2.2" ··· 16729 resolved "https://registry.yarnpkg.com/react-image-crop/-/react-image-crop-11.0.7.tgz#25f3d37ccbb65a05d19d23b4740a5912835c741e" 16730 integrity sha512-ZciKWHDYzmm366JDL18CbrVyjnjH0ojufGDmScfS4ZUqLHg4nm6ATY+K62C75W4ZRNt4Ii+tX0bSjNk9LQ2xzQ== 16731 16732 + react-is@19, react-is@^19.0.0: 16733 + version "19.1.0" 16734 + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.1.0.tgz#805bce321546b7e14c084989c77022351bbdd11b" 16735 + integrity sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg== 16736 16737 react-is@^16.13.0, react-is@^16.13.1, react-is@^16.7.0: 16738 version "16.13.1" 16739 resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 16740 integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 16741 16742 + react-is@^18.0.0: 16743 + version "18.2.0" 16744 + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" 16745 + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== 16746 16747 + react-keyed-flatten-children@^5.0.0: 16748 + version "5.0.0" 16749 + resolved "https://registry.yarnpkg.com/react-keyed-flatten-children/-/react-keyed-flatten-children-5.0.0.tgz#3024fc8819f7b60fc5039b527f133d9ac3a02a82" 16750 + integrity sha512-XA5ah02sZAeDrbz4Lusd4acqG5q5BtVwPHWierruVhrgX6CMCldbGcTZZM14cQZ+GWq+tzRzEpsCvnTtLODvjw== 16751 16752 + react-native-compressor@1.11.0: 16753 + version "1.11.0" 16754 + resolved "https://registry.yarnpkg.com/react-native-compressor/-/react-native-compressor-1.11.0.tgz#e297fa650b09cc754392153c38ae2ca510aee024" 16755 + integrity sha512-XaI0U2CtlW6ZYjwdQ4jdpnJa3C9CD1pc1a4jiUMtnUxWtCqgT7PNjOiEqlYLLwwGTvorXXNuby5In1yy7Vdmhg== 16756 16757 + react-native-date-picker@^5.0.12: 16758 + version "5.0.12" 16759 + resolved "https://registry.yarnpkg.com/react-native-date-picker/-/react-native-date-picker-5.0.12.tgz#12540b6a58500811ee7e4fc0244e3accc7cca9c1" 16760 + integrity sha512-R/mUnCKhcuxbhKPFwYdBQCxQt9HHLqpM4ruRUqlcBjiUZ3N2wdnwOMyc888Ps8qp8e7v29PrDHtUlG8LPuFn9w== 16761 16762 react-native-dotenv@^3.4.11: 16763 version "3.4.11" ··· 16766 dependencies: 16767 dotenv "^16.4.5" 16768 16769 + react-native-drawer-layout@^4.1.6: 16770 + version "4.1.7" 16771 + resolved "https://registry.yarnpkg.com/react-native-drawer-layout/-/react-native-drawer-layout-4.1.7.tgz#1c741c9bf9c739d6672201692e4ba4839ca0c8ff" 16772 + integrity sha512-KeTGZsNEDbOmgo8ICwr1vBmvWjRrRsvbLc2IAfQnW5h5UtxVZVRxY4QaN84BSBQPXm6tQ6AXfII8TCXCv3c0Ew== 16773 dependencies: 16774 + use-latest-callback "^0.2.3" 16775 16776 + react-native-edge-to-edge@1.6.0, react-native-edge-to-edge@^1.6.0: 16777 version "1.6.0" 16778 resolved "https://registry.yarnpkg.com/react-native-edge-to-edge/-/react-native-edge-to-edge-1.6.0.tgz#2ba63b941704a7f713e298185c26cde4d9e4b973" 16779 integrity sha512-2WCNdE3Qd6Fwg9+4BpbATUxCLcouF6YRY7K+J36KJ4l3y+tWN6XCqAC4DuoGblAAbb2sLkhEDp4FOlbOIot2Og== 16780 16781 + react-native-gesture-handler@2.25.0: 16782 + version "2.25.0" 16783 + resolved "https://registry.yarnpkg.com/react-native-gesture-handler/-/react-native-gesture-handler-2.25.0.tgz#3a5a8912ea4f5e68ab211a9fa5a191c08ad50883" 16784 + integrity sha512-NPjJi6mislXxvjxQPU9IYwBjb1Uejp8GvAbE1Lhh+xMIMEvmgAvVIp5cz1P+xAbV6uYcRRArm278+tEInGOqWg== 16785 dependencies: 16786 "@egjs/hammerjs" "^2.0.17" 16787 hoist-non-react-statics "^3.3.0" 16788 invariant "^2.2.4" 16789 16790 react-native-get-random-values@^1.6.0: 16791 version "1.10.0" ··· 16801 dependencies: 16802 fast-base64-decode "^1.0.0" 16803 16804 + react-native-image-crop-picker@^0.42.0: 16805 + version "0.42.0" 16806 + resolved "https://registry.yarnpkg.com/react-native-image-crop-picker/-/react-native-image-crop-picker-0.42.0.tgz#0672c080feb8ffefd65ba00a4e64bc8a1066136e" 16807 + integrity sha512-EOEkekPJ7g+CNf92HrWAGM4kcDJyVY02gQJUVH7MSNUOK11SHnurXVM0TnwIt410Y4T+lBkq3rfJEA1qDaDDwA== 16808 16809 react-native-ios-context-menu@^1.15.3: 16810 version "1.15.3" ··· 16812 integrity sha512-UNkVl7ocvSpNaEpvBvE1aHOfDy/DFdZ5I+ElfnTXFsRxrVZmxLtST0b1q2wSWGWDmd2Ig2AYd7GRbYtcY222Ag== 16813 dependencies: 16814 "@dominicstop/ts-event-emitter" "^1.1.0" 16815 + 16816 + react-native-is-edge-to-edge@1.1.7: 16817 + version "1.1.7" 16818 + resolved "https://registry.yarnpkg.com/react-native-is-edge-to-edge/-/react-native-is-edge-to-edge-1.1.7.tgz#28947688f9fafd584e73a4f935ea9603bd9b1939" 16819 + integrity sha512-EH6i7E8epJGIcu7KpfXYXiV2JFIYITtq+rVS8uEb+92naMRBdxhTuS8Wn2Q7j9sqyO0B+Xbaaf9VdipIAmGW4w== 16820 16821 react-native-is-edge-to-edge@^1.1.6: 16822 version "1.1.6" ··· 16835 resolved "https://registry.yarnpkg.com/react-native-mmkv/-/react-native-mmkv-2.12.2.tgz#4bba0f5f04e2cf222494cce3a9794ba6a4894dee" 16836 integrity sha512-6058Aq0p57chPrUutLGe9fYoiDVDNMU2PKV+lLFUJ3GhoHvUrLdsS1PDSCLr00yqzL4WJQ7TTzH+V8cpyrNcfg== 16837 16838 + react-native-pager-view@6.7.1: 16839 + version "6.7.1" 16840 + resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-6.7.1.tgz#60d52dedbcc92ee7037a13287ebeed5f74e49df7" 16841 + integrity sha512-cBSr6xw4g5N7Kd3VGWcf+kmaH7iBWb0DXAf2bVo3bXkzBcBbTOmYSvc0LVLHhUPW8nEq5WjT9LCIYAzgF++EXw== 16842 16843 react-native-picker-select@^9.3.1: 16844 version "9.3.1" ··· 16862 qrcode "^1.5.4" 16863 react-fast-compare "^3.2.2" 16864 16865 + react-native-reanimated@~3.17.5: 16866 + version "3.17.5" 16867 + resolved "https://registry.yarnpkg.com/react-native-reanimated/-/react-native-reanimated-3.17.5.tgz#09ebe3c9e3379c5c0c588b7ab30c131ea29b60f0" 16868 + integrity sha512-SxBK7wQfJ4UoWoJqQnmIC7ZjuNgVb9rcY5Xc67upXAFKftWg0rnkknTw6vgwnjRcvYThrjzUVti66XoZdDJGtw== 16869 dependencies: 16870 "@babel/plugin-transform-arrow-functions" "^7.0.0-0" 16871 "@babel/plugin-transform-class-properties" "^7.0.0-0" ··· 16878 "@babel/preset-typescript" "^7.16.7" 16879 convert-source-map "^2.0.0" 16880 invariant "^2.2.4" 16881 + react-native-is-edge-to-edge "1.1.7" 16882 16883 react-native-root-siblings@^4.1.1: 16884 version "4.1.1" 16885 resolved "https://registry.yarnpkg.com/react-native-root-siblings/-/react-native-root-siblings-4.1.1.tgz#b7742db7634a87f507eb99a5fd699c4f10c46ab0" 16886 integrity sha512-sdmLElNs5PDWqmZmj4/aNH4anyxreaPm61c4ZkRiR8SO/GzLg6KjAbb0e17RmMdnBdD0AIQbS38h/l55YKN4ZA== 16887 16888 + react-native-safe-area-context@5.4.0: 16889 + version "5.4.0" 16890 + resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-5.4.0.tgz#04b51940408c114f75628a12a93569d30c525454" 16891 + integrity sha512-JaEThVyJcLhA+vU0NU8bZ0a1ih6GiF4faZ+ArZLqpYbL6j7R3caRqj+mE3lEtKCuHgwjLg3bCxLL1GPUJZVqUA== 16892 16893 + react-native-screens@~4.10.0: 16894 + version "4.10.0" 16895 + resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-4.10.0.tgz#40634aead590c6b7034ded6a9f92465d1d611906" 16896 + integrity sha512-Tw21NGuXm3PbiUGtZd0AnXirUixaAbPXDjNR0baBH7/WJDaDTTELLcQ7QRXuqAWbmr/EVCrKj1348ei1KFIr8A== 16897 dependencies: 16898 react-freeze "^1.0.0" 16899 warn-once "^0.1.0" 16900 16901 + react-native-svg@15.11.2: 16902 + version "15.11.2" 16903 + resolved "https://registry.yarnpkg.com/react-native-svg/-/react-native-svg-15.11.2.tgz#7540e8e1eabc4dcd3b1e35ada5a1d9f1b96d37c4" 16904 + integrity sha512-+YfF72IbWQUKzCIydlijV1fLuBsQNGMT6Da2kFlo1sh+LE3BIm/2Q7AR1zAAR6L0BFLi1WaQPLfFUC9bNZpOmw== 16905 dependencies: 16906 css-select "^5.1.0" 16907 css-tree "^1.1.3" ··· 16919 dependencies: 16920 whatwg-url-without-unicode "8.0.0-3" 16921 16922 + react-native-uuid@^2.0.3: 16923 + version "2.0.3" 16924 + resolved "https://registry.yarnpkg.com/react-native-uuid/-/react-native-uuid-2.0.3.tgz#f85f8a8d68e52e3f1c18ba0f02ec7776f9d4a0da" 16925 + integrity sha512-f/YfIS2f5UB+gut7t/9BKGSCYbRA9/74A5R1MDp+FLYsuS+OSWoiM/D8Jko6OJB6Jcu3v6ONuddvZKHdIGpeiw== 16926 16927 react-native-view-shot@^4.0.3: 16928 version "4.0.3" ··· 16938 dependencies: 16939 qs "^6.5.1" 16940 16941 + react-native-web@~0.20.0: 16942 + version "0.20.0" 16943 + resolved "https://registry.yarnpkg.com/react-native-web/-/react-native-web-0.20.0.tgz#3fb0591999ed4b54d7822a2785547415e8a5c031" 16944 + integrity sha512-OOSgrw+aON6R3hRosCau/xVxdLzbjEcsLysYedka0ZON4ZZe6n9xgeN9ZkoejhARM36oTlUgHIQqxGutEJ9Wxg== 16945 dependencies: 16946 "@babel/runtime" "^7.18.6" 16947 "@react-native/normalize-colors" "^0.74.1" 16948 fbjs "^3.0.4" 16949 + inline-style-prefixer "^7.0.1" 16950 memoize-one "^6.0.0" 16951 nullthrows "^1.1.1" 16952 postcss-value-parser "^4.2.0" 16953 styleq "^0.1.3" 16954 16955 + react-native-webview@13.13.5: 16956 + version "13.13.5" 16957 + resolved "https://registry.yarnpkg.com/react-native-webview/-/react-native-webview-13.13.5.tgz#4ef5f9310ddff5747f884a6655228ec9c7d52c73" 16958 + integrity sha512-MfC2B+woL4Hlj2WCzcb1USySKk+SteXnUKmKktOk/H/AQy5+LuVdkPKm8SknJ0/RxaxhZ48WBoTRGaqgR137hw== 16959 dependencies: 16960 escape-string-regexp "^4.0.0" 16961 invariant "2.2.4" 16962 16963 + react-native@0.79.2: 16964 + version "0.79.2" 16965 + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.79.2.tgz#f1a53099701c1736d09e441eb79f97cfc90dd202" 16966 + integrity sha512-AnGzb56JvU5YCL7cAwg10+ewDquzvmgrMddiBM0GAWLwQM/6DJfGd2ZKrMuKKehHerpDDZgG+EY64gk3x3dEkw== 16967 dependencies: 16968 + "@jest/create-cache-key-function" "^29.7.0" 16969 + "@react-native/assets-registry" "0.79.2" 16970 + "@react-native/codegen" "0.79.2" 16971 + "@react-native/community-cli-plugin" "0.79.2" 16972 + "@react-native/gradle-plugin" "0.79.2" 16973 + "@react-native/js-polyfills" "0.79.2" 16974 + "@react-native/normalize-colors" "0.79.2" 16975 + "@react-native/virtualized-lists" "0.79.2" 16976 abort-controller "^3.0.0" 16977 anser "^1.4.9" 16978 ansi-regex "^5.0.0" 16979 babel-jest "^29.7.0" 16980 + babel-plugin-syntax-hermes-parser "0.25.1" 16981 base64-js "^1.5.1" 16982 chalk "^4.0.0" 16983 commander "^12.0.0" ··· 16985 flow-enums-runtime "^0.0.6" 16986 glob "^7.1.1" 16987 invariant "^2.2.4" 16988 + jest-environment-node "^29.7.0" 16989 memoize-one "^5.0.0" 16990 + metro-runtime "^0.82.0" 16991 + metro-source-map "^0.82.0" 16992 nullthrows "^1.1.1" 16993 pretty-format "^29.7.0" 16994 promise "^8.3.0" 16995 + react-devtools-core "^6.1.1" 16996 react-refresh "^0.14.0" 16997 regenerator-runtime "^0.13.2" 16998 + scheduler "0.25.0" 16999 semver "^7.1.3" 17000 stacktrace-parser "^0.1.10" 17001 whatwg-fetch "^3.0.0" ··· 17025 react-style-singleton "^2.2.1" 17026 tslib "^2.0.0" 17027 17028 + react-remove-scroll-bar@^2.3.7, react-remove-scroll-bar@^2.3.8: 17029 version "2.3.8" 17030 resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz#99c20f908ee467b385b68a3469b4a3e750012223" 17031 integrity sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q== ··· 17065 prop-types "^15.6.1" 17066 shallow-equal "^1.2.1" 17067 17068 + react-server-dom-webpack@~19.0.0: 17069 + version "19.0.0" 17070 + resolved "https://registry.yarnpkg.com/react-server-dom-webpack/-/react-server-dom-webpack-19.0.0.tgz#c60819b6cb54e317e675ddc0c5959ff915b789d0" 17071 + integrity sha512-hLug9KEXLc8vnU9lDNe2b2rKKDaqrp5gNiES4uyu2Up3FZfZJZmdwLFXlWzdA9gTB/6/cWduSB2K1Lfag2pSvw== 17072 dependencies: 17073 acorn-loose "^8.3.0" 17074 neo-async "^2.6.1" 17075 + webpack-sources "^3.2.0" 17076 17077 react-style-singleton@^2.2.1: 17078 version "2.2.1" ··· 17091 get-nonce "^1.0.0" 17092 tslib "^2.0.0" 17093 17094 + react-test-renderer@19.0.0: 17095 + version "19.0.0" 17096 + resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-19.0.0.tgz#ca6fa322c58d4bfa34635788fe242a8c3daa4c7d" 17097 + integrity sha512-oX5u9rOQlHzqrE/64CNr0HB0uWxkCQmZNSfozlYvwE71TLVgeZxVf0IjouGEr1v7r1kcDifdAJBeOhdhxsG/DA== 17098 dependencies: 17099 + react-is "^19.0.0" 17100 + scheduler "^0.25.0" 17101 17102 react-textarea-autosize@^8.5.3: 17103 version "8.5.3" ··· 17108 use-composed-ref "^1.3.0" 17109 use-latest "^1.2.1" 17110 17111 + react@19.0.0: 17112 + version "19.0.0" 17113 + resolved "https://registry.yarnpkg.com/react/-/react-19.0.0.tgz#6e1969251b9f108870aa4bff37a0ce9ddfaaabdd" 17114 + integrity sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ== 17115 17116 + readable-stream@^2.0.1: 17117 version "2.3.8" 17118 resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" 17119 integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== ··· 17167 dependencies: 17168 picomatch "^2.2.1" 17169 17170 real-require@^0.2.0: 17171 version "0.2.0" 17172 resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.2.0.tgz#209632dea1810be2ae063a6ac084fee7e33fba78" 17173 integrity sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg== 17174 17175 redent@^3.0.0: 17176 version "3.0.0" ··· 17347 resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" 17348 integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== 17349 17350 renderkid@^3.0.0: 17351 version "3.0.0" 17352 resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" ··· 17525 dependencies: 17526 glob "^7.1.3" 17527 17528 rn-fetch-blob@^0.12.0: 17529 version "0.12.0" 17530 resolved "https://registry.yarnpkg.com/rn-fetch-blob/-/rn-fetch-blob-0.12.0.tgz#ec610d2f9b3f1065556b58ab9c106eeb256f3cba" ··· 17622 resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 17623 integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 17624 17625 safe-push-apply@^1.0.0: 17626 version "1.0.0" 17627 resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" ··· 17670 dependencies: 17671 xmlchars "^2.2.0" 17672 17673 + scheduler@0.25.0, scheduler@^0.25.0: 17674 + version "0.25.0" 17675 + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.25.0.tgz#336cd9768e8cceebf52d3c80e3dcf5de23e7e015" 17676 + integrity sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA== 17677 17678 schema-utils@^2.6.5: 17679 version "2.7.1" ··· 17715 dependencies: 17716 node-forge "^1" 17717 17718 semver-compare@^1.0.0: 17719 version "1.0.0" 17720 resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" ··· 17742 resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" 17743 integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== 17744 17745 + semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@~7.5.4: 17746 version "7.5.4" 17747 resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" 17748 integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== ··· 17754 resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" 17755 integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== 17756 17757 send@0.18.0: 17758 version "0.18.0" 17759 resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" ··· 17773 range-parser "~1.2.1" 17774 statuses "2.0.1" 17775 17776 + send@0.19.0: 17777 + version "0.19.0" 17778 + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" 17779 + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== 17780 + dependencies: 17781 + debug "2.6.9" 17782 + depd "2.0.0" 17783 + destroy "1.2.0" 17784 + encodeurl "~1.0.2" 17785 + escape-html "~1.0.3" 17786 + etag "~1.8.1" 17787 + fresh "0.5.2" 17788 + http-errors "2.0.0" 17789 + mime "1.6.0" 17790 + ms "2.1.3" 17791 + on-finished "2.4.1" 17792 + range-parser "~1.2.1" 17793 + statuses "2.0.1" 17794 + 17795 send@^0.19.0: 17796 version "0.19.1" 17797 resolved "https://registry.yarnpkg.com/send/-/send-0.19.1.tgz#1c2563b2ee4fe510b806b21ec46f355005a369f9" ··· 17836 mime-types "~2.1.17" 17837 parseurl "~1.3.2" 17838 17839 + serve-static@1.15.0: 17840 version "1.15.0" 17841 resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" 17842 integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== ··· 17845 escape-html "~1.0.3" 17846 parseurl "~1.3.3" 17847 send "0.18.0" 17848 + 17849 + serve-static@^1.16.2: 17850 + version "1.16.2" 17851 + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" 17852 + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== 17853 + dependencies: 17854 + encodeurl "~2.0.0" 17855 + escape-html "~1.0.3" 17856 + parseurl "~1.3.3" 17857 + send "0.19.0" 17858 17859 server-only@^0.0.1: 17860 version "0.0.1" ··· 17926 resolved "https://registry.yarnpkg.com/sf-symbols-typescript/-/sf-symbols-typescript-1.0.0.tgz#94e9210bf27e7583f9749a0d07bd4f4937ea488f" 17927 integrity sha512-DkS7q3nN68dEMb4E18HFPDAvyrjDZK9YAQQF2QxeFu9gp2xRDXFMF8qLJ1EmQ/qeEGQmop4lmMM1WtYJTIcCMw== 17928 17929 shallow-equal@^1.2.1: 17930 version "1.2.1" 17931 resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" ··· 18038 side-channel-map "^1.0.1" 18039 side-channel-weakmap "^1.0.2" 18040 18041 + signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: 18042 version "3.0.7" 18043 resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 18044 integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== ··· 18180 buffer-from "^1.0.0" 18181 source-map "^0.6.0" 18182 18183 + source-map-support@~0.5.20, source-map-support@~0.5.21: 18184 version "0.5.21" 18185 resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 18186 integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== ··· 18248 resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" 18249 integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== 18250 18251 sprintf-js@~1.0.2: 18252 version "1.0.3" 18253 resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 18254 integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 18255 18256 stable@^0.1.8: 18257 version "0.1.8" 18258 resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" ··· 18362 inherits "~2.0.4" 18363 readable-stream "^3.5.0" 18364 18365 + stream-buffers@2.2.x: 18366 version "2.2.0" 18367 resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" 18368 integrity sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg== ··· 18577 resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 18578 integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 18579 18580 strip-final-newline@^2.0.0: 18581 version "2.0.0" 18582 resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" ··· 18658 pirates "^4.0.1" 18659 ts-interface-checker "^0.1.9" 18660 18661 sudo-prompt@^8.2.0: 18662 version "8.2.5" 18663 resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-8.2.5.tgz#cc5ef3769a134bb94b24a631cc09628d4d53603e" ··· 18754 inherits "^2.0.3" 18755 readable-stream "^3.1.1" 18756 18757 + tar@^7.4.3: 18758 + version "7.4.3" 18759 + resolved "https://registry.yarnpkg.com/tar/-/tar-7.4.3.tgz#88bbe9286a3fcd900e94592cda7a22b192e80571" 18760 + integrity sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw== 18761 dependencies: 18762 + "@isaacs/fs-minipass" "^4.0.0" 18763 + chownr "^3.0.0" 18764 + minipass "^7.1.2" 18765 + minizlib "^3.0.1" 18766 + mkdirp "^3.0.1" 18767 + yallist "^5.0.0" 18768 18769 + temp-dir@~2.0.0: 18770 version "2.0.0" 18771 resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" 18772 integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== 18773 18774 terminal-link@^2.1.1: 18775 version "2.1.1" 18776 resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" ··· 18854 resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" 18855 integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== 18856 18857 + through@^2.3.6: 18858 version "2.3.8" 18859 resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 18860 integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== ··· 19013 resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 19014 integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 19015 19016 + tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0: 19017 version "2.6.2" 19018 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" 19019 integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== 19020 19021 tsutils@^3.21.0: 19022 version "3.21.0" ··· 19044 resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 19045 integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 19046 19047 type-fest@^0.20.2: 19048 version "0.20.2" 19049 resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" ··· 19173 optionalDependencies: 19174 rxjs "^7.5.2" 19175 19176 + typescript@~5.8.3: 19177 + version "5.8.3" 19178 + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e" 19179 + integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ== 19180 19181 ua-parser-js@^0.7.33: 19182 version "0.7.35" ··· 19235 resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" 19236 integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== 19237 19238 + undici-types@~6.21.0: 19239 + version "6.21.0" 19240 + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" 19241 + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== 19242 + 19243 undici@^5.28.2: 19244 version "5.28.2" 19245 resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.2.tgz#fea200eac65fc7ecaff80a023d1a0543423b4c91" ··· 19285 resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" 19286 integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== 19287 19288 + unimodules-app-loader@~5.1.3: 19289 + version "5.1.3" 19290 + resolved "https://registry.yarnpkg.com/unimodules-app-loader/-/unimodules-app-loader-5.1.3.tgz#c3be527cd36120fc77d6843253075c8a9246f622" 19291 + integrity sha512-nPUkwfkpJWvdOQrVvyQSUol93/UdmsCVd9Hkx9RgAevmKSVYdZI+S87W73NGKl6QbwK9L1BDSY5OrQuo8Oq15g== 19292 19293 + unique-string@~2.0.0: 19294 version "2.0.0" 19295 resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" 19296 integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== 19297 dependencies: 19298 crypto-random-string "^2.0.0" 19299 19300 universalify@^0.2.0: 19301 version "0.2.0" ··· 19408 resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.9.tgz#10191dc54257e65a8e52322127643a8940271e2a" 19409 integrity sha512-CL/29uS74AwreI/f2oz2hLTW7ZqVeV5+gxFeGudzQrgkCytrHw33G4KbnQOrRlAEzzAFXi7dDLMC9zhWcVpzmw== 19410 19411 + use-latest-callback@^0.2.3: 19412 + version "0.2.3" 19413 + resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.2.3.tgz#2d644d3063040b9bc2d4c55bb525a13ae3de9e16" 19414 + integrity sha512-7vI3fBuyRcP91pazVboc4qu+6ZqM8izPWX9k7cRnT8hbD5svslcknsh3S9BUhaK11OmgTV4oWZZVSeQAiV53SQ== 19415 19416 use-latest@^1.2.1: 19417 version "1.2.1" ··· 19479 resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" 19480 integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== 19481 19482 + uuid@^8.3.2: 19483 version "8.3.2" 19484 resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 19485 integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== ··· 19568 integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== 19569 dependencies: 19570 defaults "^1.0.3" 19571 19572 webidl-conversions@^3.0.0: 19573 version "3.0.1" ··· 19671 source-list-map "^2.0.1" 19672 source-map "^0.6.1" 19673 19674 + webpack-sources@^3.2.0, webpack-sources@^3.2.3: 19675 version "3.2.3" 19676 resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" 19677 integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== ··· 20046 resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 20047 integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 20048 20049 + xtend@^4.0.0: 20050 version "4.0.2" 20051 resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 20052 integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== ··· 20070 version "4.0.0" 20071 resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 20072 integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 20073 + 20074 + yallist@^5.0.0: 20075 + version "5.0.0" 20076 + resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533" 20077 + integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw== 20078 20079 yaml@2.3.1: 20080 version "2.3.1"