{"version":3,"file":"static/js/691.a0ab09f1.js","mappings":"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","sources":["node_modules/@react-navigation/routers/lib/module/CommonActions.tsx","node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArray.js","node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","node_modules/@react-navigation/core/lib/module/createNavigationContainerRef.tsx","node_modules/@react-navigation/core/lib/module/EnsureSingleNavigator.tsx","node_modules/@react-navigation/core/lib/module/findFocusedRoute.tsx","node_modules/@react-navigation/core/lib/module/NavigationBuilderContext.tsx","node_modules/@react-navigation/core/lib/module/NavigationContainerRefContext.tsx","node_modules/@react-navigation/core/lib/module/NavigationContext.tsx","node_modules/@react-navigation/core/lib/module/NavigationRouteContext.tsx","node_modules/@react-navigation/core/lib/module/NavigationStateContext.tsx","node_modules/@react-navigation/core/lib/module/UnhandledActionContext.tsx","node_modules/@react-navigation/core/lib/module/useChildListeners.tsx","node_modules/@react-navigation/core/lib/module/useEventEmitter.tsx","node_modules/@react-navigation/core/lib/module/useKeyedChildListeners.tsx","node_modules/@react-navigation/core/lib/module/useOptionsGetters.tsx","node_modules/@react-navigation/core/lib/module/useScheduleUpdate.tsx","node_modules/@react-navigation/core/lib/module/useSyncState.tsx","node_modules/@react-navigation/core/lib/module/BaseNavigationContainer.tsx","node_modules/@react-navigation/core/lib/module/Group.tsx","node_modules/@react-navigation/core/lib/module/Screen.tsx","node_modules/@react-navigation/core/lib/module/createNavigatorFactory.tsx","node_modules/@react-navigation/core/lib/module/CurrentRenderContext.tsx","node_modules/@babel/runtime/helpers/esm/extends.js","node_modules/@react-navigation/core/lib/module/getActionFromState.tsx","node_modules/@react-navigation/core/lib/module/useRouteCache.tsx","node_modules/@react-navigation/core/lib/module/getFocusedRouteNameFromRoute.tsx","node_modules/@react-navigation/core/lib/module/fromEntries.tsx","node_modules/@react-navigation/core/lib/module/validatePathConfig.tsx","node_modules/@react-navigation/core/lib/module/getPathFromState.tsx","node_modules/@react-navigation/core/lib/module/getStateFromPath.tsx","node_modules/@react-navigation/core/lib/module/NavigationHelpersContext.tsx","node_modules/@react-navigation/core/lib/module/types.tsx","node_modules/@react-navigation/core/lib/module/useNavigation.tsx","node_modules/@react-navigation/core/lib/module/useFocusEffect.tsx","node_modules/@react-navigation/core/lib/module/useIsFocused.tsx","node_modules/@react-navigation/core/lib/module/isArrayEqual.tsx","node_modules/@react-navigation/core/lib/module/StaticContainer.tsx","node_modules/@react-navigation/core/lib/module/SceneView.tsx","node_modules/@react-navigation/core/lib/module/useDescriptors.tsx","node_modules/@react-navigation/core/lib/module/useNavigationCache.tsx","node_modules/@react-navigation/core/lib/module/useOnPreventRemove.tsx","node_modules/@react-navigation/core/lib/module/useOnAction.tsx","node_modules/@react-navigation/core/lib/module/useNavigationBuilder.tsx","node_modules/@react-navigation/core/lib/module/useRegisterNavigator.tsx","node_modules/@react-navigation/core/lib/module/isRecordEqual.tsx","node_modules/@react-navigation/core/lib/module/useFocusEvents.tsx","node_modules/@react-navigation/core/lib/module/useOnRouteFocus.tsx","node_modules/@react-navigation/core/lib/module/useNavigationHelpers.tsx","node_modules/@react-navigation/core/lib/module/useFocusedListenersChildrenAdapter.tsx","node_modules/@react-navigation/core/lib/module/useOnGetState.tsx","node_modules/@react-navigation/core/lib/module/useCurrentRender.tsx","node_modules/@react-navigation/core/lib/module/useComponent.tsx","node_modules/@react-navigation/core/lib/module/useNavigationContainerRef.tsx","node_modules/@react-navigation/core/lib/module/useNavigationState.tsx","node_modules/@react-navigation/core/lib/module/useRoute.tsx","node_modules/@react-navigation/routers/lib/module/BaseRouter.tsx","node_modules/@react-navigation/routers/lib/module/TabRouter.tsx","node_modules/@react-navigation/routers/lib/module/DrawerRouter.tsx","node_modules/@react-navigation/routers/lib/module/StackRouter.tsx","node_modules/@react-navigation/core/node_modules/escape-string-regexp/index.js","node_modules/@react-navigation/core/node_modules/react-is/cjs/react-is.production.min.js","node_modules/@react-navigation/core/node_modules/react-is/index.js","node_modules/react-native-safe-area-context/lib/module/NativeSafeAreaProvider.web.tsx","node_modules/react-native-safe-area-context/lib/module/SafeAreaContext.tsx","node_modules/@react-navigation/elements/lib/module/SafeAreaProviderCompat.tsx","node_modules/@react-navigation/native/lib/module/theming/useTheme.tsx","node_modules/@react-navigation/elements/lib/module/Background.tsx","node_modules/@react-navigation/elements/lib/module/Header/getDefaultHeaderHeight.tsx","node_modules/@react-navigation/elements/lib/module/getNamedContext.tsx","node_modules/@react-navigation/elements/lib/module/Header/HeaderHeightContext.tsx","node_modules/@react-navigation/elements/lib/module/Header/HeaderShownContext.tsx","node_modules/@react-navigation/elements/lib/module/Screen.tsx","node_modules/@react-navigation/elements/lib/module/Header/getHeaderTitle.tsx","node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedHelper.js","node_modules/react-native-web/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedNode.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValue.js","node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedEvent.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js","node_modules/react-native-web/dist/vendor/react-native/Utilities/setAndForwardRef.js","node_modules/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedFlatList.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedImage.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedScrollView.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedSectionList/index.js","node_modules/react-native-web/dist/vendor/react-native/SectionList/index.js","node_modules/react-native-web/dist/exports/SectionList/index.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedSectionList.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedText.js","node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedView.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js","node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js","node_modules/react-native-web/dist/vendor/react-native/Animated/animations/Animation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/animations/DecayAnimation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/SpringConfig.js","node_modules/react-native-web/dist/vendor/react-native/Animated/animations/SpringAnimation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/bezier.js","node_modules/react-native-web/dist/vendor/react-native/Animated/Easing.js","node_modules/react-native-web/dist/exports/Easing/index.js","node_modules/react-native-web/dist/vendor/react-native/Animated/animations/TimingAnimation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedImplementation.js","node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedMock.js","node_modules/react-native-web/dist/vendor/react-native/Animated/Animated.js","node_modules/react-native-web/dist/exports/Animated/index.js","node_modules/@react-navigation/elements/lib/module/Header/HeaderBackground.tsx","node_modules/@react-navigation/elements/lib/module/Header/HeaderTitle.tsx","node_modules/@react-navigation/elements/lib/module/Header/Header.tsx","node_modules/@react-navigation/elements/lib/module/MaskedView.tsx","node_modules/react-native-web/dist/modules/createEventHandle/index.js","node_modules/react-native-web/dist/modules/modality/index.js","node_modules/react-native-web/dist/modules/useEvent/index.js","node_modules/react-native-web/dist/modules/useHover/index.js","node_modules/react-native-web/dist/exports/Pressable/index.js","node_modules/@react-navigation/elements/lib/module/PlatformPressable.tsx","node_modules/@react-navigation/elements/lib/module/Header/HeaderBackButton.tsx","node_modules/@react-navigation/native-stack/lib/module/views/NativeStackView.tsx","node_modules/@react-navigation/native-stack/lib/module/navigators/createNativeStackNavigator.tsx","node_modules/@react-navigation/native/lib/module/LinkingContext.tsx","node_modules/@react-navigation/native/lib/module/theming/ThemeProvider.tsx","node_modules/react-native-web/dist/exports/BackHandler/index.js","node_modules/@react-navigation/native/lib/module/ServerContext.tsx","node_modules/@react-navigation/native/lib/module/useLinking.tsx","node_modules/@react-navigation/native/lib/module/NavigationContainer.tsx","node_modules/@react-navigation/native/lib/module/useBackButton.tsx","node_modules/@react-navigation/native/lib/module/useDocumentTitle.tsx","node_modules/@react-navigation/native/lib/module/useThenable.tsx","node_modules/@react-navigation/native/lib/module/theming/DefaultTheme.tsx","node_modules/@react-navigation/native/lib/module/theming/ThemeContext.tsx","node_modules/expo-error-recovery/src/ExpoErrorRecovery.web.ts","node_modules/expo-error-recovery/src/ErrorRecovery.ts","node_modules/expo-error-recovery/src/ErroRecoveryStore.ts","node_modules/react-native-web/dist/exports/DeviceEventEmitter/index.js","node_modules/react-native-web/dist/exports/NativeEventEmitter/index.js","node_modules/expo-modules-core/src/EventEmitter.ts","node_modules/expo-modules-core/src/NativeModulesProxy.ts","node_modules/expo-modules-core/src/environment/browser.web.ts","node_modules/expo-modules-core/src/Platform.ts","node_modules/@babel/runtime/helpers/esm/construct.js","node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","node_modules/expo-modules-core/src/errors/CodedError.ts","node_modules/expo-modules-core/src/errors/UnavailabilityError.ts","node_modules/expo-modules-core/src/NativeViewManagerAdapter.tsx","node_modules/expo-modules-core/src/sweet/NativeErrorManager.ts","node_modules/expo-modules-core/src/sweet/setUpErrorManager.fx.ts","node_modules/expo-modules-core/src/PermissionsInterface.ts","node_modules/expo-modules-core/src/deprecate.ts","node_modules/expo-modules-core/src/requireNativeModule.ts","node_modules/expo-modules-core/src/PermissionsHook.ts","node_modules/expo-modules-core/src/index.ts","node_modules/react-native-web/dist/exports/unmountComponentAtNode/index.js","node_modules/react-native-web/dist/exports/AppRegistry/AppContainer.js","node_modules/react-native-web/dist/exports/render/index.js","node_modules/react-native-web/dist/exports/AppRegistry/renderApplication.js","node_modules/react-native-web/dist/exports/AppRegistry/index.js","node_modules/expo/src/environment/react-native-logs.fx.ts","node_modules/expo/src/launch/RecoveryProps.ts","node_modules/expo/src/launch/withExpoRoot.web.tsx","node_modules/expo/src/launch/registerRootComponent.tsx","node_modules/expo/AppEntry.js","node_modules/react-native-web/dist/exports/Dimensions/index.js","node_modules/react-native-web/dist/vendor/react-native/deepDiffer/index.js","node_modules/react-native-web/dist/vendor/react-native/FlatList/index.js","node_modules/react-native-web/dist/exports/FlatList/index.js","node_modules/react-native-web/dist/exports/I18nManager/index.js","node_modules/react-native-web/dist/modules/AssetRegistry/index.js","node_modules/react-native-web/dist/modules/ImageLoader/index.js","node_modules/react-native-web/dist/exports/PixelRatio/index.js","node_modules/react-native-web/dist/exports/Image/index.js","node_modules/react-native-web/dist/modules/requestIdleCallback/index.js","node_modules/react-native-web/dist/exports/InteractionManager/index.js","node_modules/react-native-web/dist/exports/Linking/index.js","node_modules/react-native-web/dist/exports/Platform/index.js","node_modules/react-native-web/dist/modules/TextInputState/index.js","node_modules/react-native-web/dist/modules/dismissKeyboard/index.js","node_modules/react-native-web/dist/modules/ScrollResponder/index.js","node_modules/react-native-web/dist/exports/ScrollView/ScrollViewBase.js","node_modules/react-native-web/dist/exports/ScrollView/index.js","node_modules/react-native-web/dist/exports/StyleSheet/ReactNativePropRegistry.js","node_modules/react-native-web/dist/exports/StyleSheet/constants.js","node_modules/react-native-web/dist/exports/StyleSheet/css.js","node_modules/react-native-web/dist/exports/StyleSheet/flattenStyle.js","node_modules/react-native-web/dist/exports/StyleSheet/StyleSheet.js","node_modules/react-native-web/dist/exports/StyleSheet/index.js","node_modules/react-native-web/dist/exports/StyleSheet/normalizeValueWithProperty.js","node_modules/react-native-web/dist/exports/StyleSheet/resolveShadowValue.js","node_modules/react-native-web/dist/exports/StyleSheet/createCompileableStyle.js","node_modules/react-native-web/dist/exports/StyleSheet/createOrderedCSSStyleSheet.js","node_modules/react-native-web/dist/modules/flattenArray/index.js","node_modules/react-native-web/dist/modules/multiplyStyleLengthValue/index.js","node_modules/react-native-web/dist/exports/StyleSheet/i18nStyle.js","node_modules/react-native-web/dist/exports/StyleSheet/createReactDOMStyle.js","node_modules/react-native-web/dist/vendor/hash/index.js","node_modules/react-native-web/dist/modules/prefixStyles/static.js","node_modules/react-native-web/dist/modules/prefixStyles/index.js","node_modules/react-native-web/dist/exports/StyleSheet/compile.js","node_modules/react-native-web/dist/exports/StyleSheet/initialRules.js","node_modules/react-native-web/dist/exports/StyleSheet/modality.js","node_modules/react-native-web/dist/exports/StyleSheet/createStyleResolver.js","node_modules/react-native-web/dist/exports/StyleSheet/styleResolver.js","node_modules/react-native-web/dist/exports/StyleSheet/createCSSStyleSheet.js","node_modules/react-native-web/dist/exports/Text/TextAncestorContext.js","node_modules/react-native-web/dist/exports/Text/index.js","node_modules/react-native-web/dist/exports/TouchableOpacity/index.js","node_modules/react-native-web/dist/modules/setValueForStyles/dangerousStyleValue.js","node_modules/react-native-web/dist/modules/setValueForStyles/index.js","node_modules/react-native-web/dist/exports/UIManager/index.js","node_modules/react-native-web/dist/exports/View/index.js","node_modules/react-native-web/dist/exports/createElement/index.js","node_modules/react-native-web/dist/exports/findNodeHandle/index.js","node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js","node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js","node_modules/react-native-web/dist/modules/AccessibilityUtil/index.js","node_modules/react-native-web/dist/modules/AccessibilityUtil/isDisabled.js","node_modules/react-native-web/dist/modules/createDOMProps/index.js","node_modules/react-native-web/dist/modules/forwardedProps/index.js","node_modules/react-native-web/dist/modules/getBoundingClientRect/index.js","node_modules/react-native-web/dist/modules/mergeRefs/index.js","node_modules/react-native-web/dist/modules/isWebColor/index.js","node_modules/react-native-web/dist/exports/processColor/index.js","node_modules/react-native-web/dist/modules/normalizeColor/index.js","node_modules/react-native-web/dist/modules/pick/index.js","node_modules/react-native-web/dist/modules/unitlessNumbers/index.js","node_modules/react-native-web/dist/modules/useElementLayout/index.js","node_modules/react-native-web/dist/modules/useLayoutEffect/index.js","node_modules/react-native-web/dist/modules/useMergeRefs/index.js","node_modules/react-native-web/dist/modules/usePlatformMethods/index.js","node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js","node_modules/react-native-web/dist/modules/usePressEvents/index.js","node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js","node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js","node_modules/react-native-web/dist/modules/useResponderEvents/createResponderEvent.js","node_modules/react-native-web/dist/modules/useResponderEvents/utils.js","node_modules/react-native-web/dist/modules/isSelectionValid/index.js","node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js","node_modules/react-native-web/dist/modules/useResponderEvents/index.js","node_modules/react-native-web/dist/modules/useStable/index.js","node_modules/react-native-web/dist/vendor/react-native/emitter/_EmitterSubscription.js","node_modules/react-native-web/dist/vendor/react-native/emitter/_EventSubscription.js","node_modules/react-native-web/dist/vendor/react-native/emitter/_EventSubscriptionVendor.js","node_modules/react-native-web/dist/vendor/react-native/emitter/_EventEmitter.js","node_modules/react-native-web/dist/vendor/react-native/NativeEventEmitter/RCTDeviceEventEmitter.js","node_modules/react-native-web/dist/vendor/react-native/NativeEventEmitter/index.js","node_modules/react-native-web/dist/vendor/react-native/Batchinator/index.js","node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js","node_modules/react-native-web/dist/exports/RefreshControl/index.js","node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js","node_modules/react-native-web/dist/vendor/react-native/infoLog/index.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizeUtils/index.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js","node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/index.js","node_modules/compare-versions/index.js","node_modules/create-react-class/factory.js","node_modules/create-react-class/index.js","node_modules/css-in-js-utils/lib/hyphenateProperty.js","node_modules/css-in-js-utils/lib/isPrefixedValue.js","node_modules/decode-uri-component/index.js","node_modules/fast-deep-equal/index.js","node_modules/fbjs/lib/ExecutionEnvironment.js","node_modules/fbjs/lib/emptyFunction.js","node_modules/fbjs/lib/invariant.js","node_modules/fbjs/lib/warning.js","node_modules/filter-obj/index.js","node_modules/hyphenate-style-name/index.js","node_modules/inline-style-prefixer/lib/createPrefixer.js","node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js","node_modules/inline-style-prefixer/lib/plugins/crossFade.js","node_modules/inline-style-prefixer/lib/plugins/cursor.js","node_modules/inline-style-prefixer/lib/plugins/filter.js","node_modules/inline-style-prefixer/lib/plugins/flex.js","node_modules/inline-style-prefixer/lib/plugins/flexboxIE.js","node_modules/inline-style-prefixer/lib/plugins/flexboxOld.js","node_modules/inline-style-prefixer/lib/plugins/gradient.js","node_modules/inline-style-prefixer/lib/plugins/grid.js","node_modules/inline-style-prefixer/lib/plugins/imageSet.js","node_modules/inline-style-prefixer/lib/plugins/logical.js","node_modules/inline-style-prefixer/lib/plugins/position.js","node_modules/inline-style-prefixer/lib/plugins/sizing.js","node_modules/inline-style-prefixer/lib/plugins/transition.js","node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js","node_modules/inline-style-prefixer/lib/utils/capitalizeString.js","node_modules/inline-style-prefixer/lib/utils/isObject.js","node_modules/inline-style-prefixer/lib/utils/prefixProperty.js","node_modules/inline-style-prefixer/lib/utils/prefixValue.js","node_modules/invariant/browser.js","node_modules/normalize-css-color/index.js","node_modules/object-assign/index.js","node_modules/query-string/index.js","node_modules/react-dom/cjs/react-dom.production.min.js","node_modules/react-dom/index.js","node_modules/react/cjs/react-jsx-runtime.production.min.js","node_modules/react/cjs/react.production.min.js","node_modules/react/index.js","node_modules/react/jsx-runtime.js","node_modules/scheduler/cjs/scheduler.production.min.js","node_modules/scheduler/index.js","node_modules/split-on-first/index.js","node_modules/strict-uri-encode/index.js","node_modules/@babel/runtime/helpers/regeneratorRuntime.js","node_modules/@babel/runtime/helpers/typeof.js","node_modules/@babel/runtime/regenerator/index.js","node_modules/nanoid/non-secure/index.js","node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","node_modules/@babel/runtime/helpers/esm/classCallCheck.js","node_modules/@babel/runtime/helpers/esm/createClass.js","node_modules/@babel/runtime/helpers/esm/defineProperty.js","node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/inherits.js","node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","node_modules/@babel/runtime/helpers/esm/typeof.js","node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","node_modules/@babel/runtime/helpers/esm/slicedToArray.js","node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"],"sourcesContent":["import type { NavigationState, PartialState, Route } from './types';\n\ntype ResetState =\n | PartialState\n | NavigationState\n | (Omit & {\n routes: Omit, 'key'>[];\n });\n\nexport type Action =\n | {\n type: 'GO_BACK';\n source?: string;\n target?: string;\n }\n | {\n type: 'NAVIGATE';\n payload:\n | {\n key: string;\n name?: undefined;\n params?: object;\n path?: string;\n merge?: boolean;\n }\n | {\n name: string;\n key?: string;\n params?: object;\n path?: string;\n merge?: boolean;\n };\n source?: string;\n target?: string;\n }\n | {\n type: 'RESET';\n payload: ResetState | undefined;\n source?: string;\n target?: string;\n }\n | {\n type: 'SET_PARAMS';\n payload: { params?: object };\n source?: string;\n target?: string;\n };\n\nexport function goBack(): Action {\n return { type: 'GO_BACK' };\n}\n\nexport function navigate(\n options:\n | { key: string; params?: object; path?: string; merge?: boolean }\n | {\n name: string;\n key?: string;\n params?: object;\n path?: string;\n merge?: boolean;\n }\n): Action;\n// eslint-disable-next-line no-redeclare\nexport function navigate(name: string, params?: object): Action;\n// eslint-disable-next-line no-redeclare\nexport function navigate(...args: any): Action {\n if (typeof args[0] === 'string') {\n return { type: 'NAVIGATE', payload: { name: args[0], params: args[1] } };\n } else {\n const payload = args[0] || {};\n\n if (!payload.hasOwnProperty('key') && !payload.hasOwnProperty('name')) {\n throw new Error(\n 'You need to specify name or key when calling navigate with an object as the argument. See https://reactnavigation.org/docs/navigation-actions#navigate for usage.'\n );\n }\n\n return { type: 'NAVIGATE', payload };\n }\n}\n\nexport function reset(state: ResetState | undefined): Action {\n return { type: 'RESET', payload: state };\n}\n\nexport function setParams(params: object): Action {\n return { type: 'SET_PARAMS', payload: { params } };\n}\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { CommonActions } from '@react-navigation/routers';\n\nimport type {\n NavigationContainerEventMap,\n NavigationContainerRef,\n NavigationContainerRefWithCurrent,\n} from './types';\n\nexport const NOT_INITIALIZED_ERROR =\n \"The 'navigation' object hasn't been initialized yet. This might happen if you don't have a navigator mounted, or if the navigator hasn't finished mounting. See https://reactnavigation.org/docs/navigating-without-navigation-prop#handling-initialization for more details.\";\n\nexport default function createNavigationContainerRef<\n ParamList extends {} = ReactNavigation.RootParamList\n>(): NavigationContainerRefWithCurrent {\n const methods = [\n ...Object.keys(CommonActions),\n 'addListener',\n 'removeListener',\n 'resetRoot',\n 'dispatch',\n 'isFocused',\n 'canGoBack',\n 'getRootState',\n 'getState',\n 'getParent',\n 'getCurrentRoute',\n 'getCurrentOptions',\n ] as const;\n\n const listeners: Record void)[]> = {};\n\n const removeListener = (\n event: string,\n callback: (...args: any[]) => void\n ) => {\n if (listeners[event]) {\n listeners[event] = listeners[event].filter((cb) => cb !== callback);\n }\n };\n\n let current: NavigationContainerRef | null = null;\n\n const ref: NavigationContainerRefWithCurrent = {\n get current() {\n return current;\n },\n set current(value: NavigationContainerRef | null) {\n current = value;\n\n if (value != null) {\n Object.entries(listeners).forEach(([event, callbacks]) => {\n callbacks.forEach((callback) => {\n value.addListener(\n event as keyof NavigationContainerEventMap,\n callback\n );\n });\n });\n }\n },\n isReady: () => {\n if (current == null) {\n return false;\n }\n\n return current.isReady();\n },\n ...methods.reduce((acc, name) => {\n acc[name] = (...args: any[]) => {\n if (current == null) {\n switch (name) {\n case 'addListener': {\n const [event, callback] = args;\n\n listeners[event] = listeners[event] || [];\n listeners[event].push(callback);\n\n return () => removeListener(event, callback);\n }\n case 'removeListener': {\n const [event, callback] = args;\n\n removeListener(event, callback);\n break;\n }\n default:\n console.error(NOT_INITIALIZED_ERROR);\n }\n } else {\n // @ts-expect-error: this is ok\n return current[name](...args);\n }\n };\n return acc;\n }, {}),\n };\n\n return ref;\n}\n","import * as React from 'react';\n\ntype Props = {\n children: React.ReactNode;\n};\n\nconst MULTIPLE_NAVIGATOR_ERROR = `Another navigator is already registered for this container. You likely have multiple navigators under a single \"NavigationContainer\" or \"Screen\". Make sure each navigator is under a separate \"Screen\" container. See https://reactnavigation.org/docs/nesting-navigators for a guide on nesting.`;\n\nexport const SingleNavigatorContext = React.createContext<\n | {\n register(key: string): void;\n unregister(key: string): void;\n }\n | undefined\n>(undefined);\n\n/**\n * Component which ensures that there's only one navigator nested under it.\n */\nexport default function EnsureSingleNavigator({ children }: Props) {\n const navigatorKeyRef = React.useRef();\n\n const value = React.useMemo(\n () => ({\n register(key: string) {\n const currentKey = navigatorKeyRef.current;\n\n if (currentKey !== undefined && key !== currentKey) {\n throw new Error(MULTIPLE_NAVIGATOR_ERROR);\n }\n\n navigatorKeyRef.current = key;\n },\n unregister(key: string) {\n const currentKey = navigatorKeyRef.current;\n\n if (key !== currentKey) {\n return;\n }\n\n navigatorKeyRef.current = undefined;\n },\n }),\n []\n );\n\n return (\n \n {children}\n \n );\n}\n","import type { InitialState } from '@react-navigation/routers';\n\nexport default function findFocusedRoute(state: InitialState) {\n let current: InitialState | undefined = state;\n\n while (current?.routes[current.index ?? 0].state != null) {\n current = current.routes[current.index ?? 0].state;\n }\n\n const route = current?.routes[current?.index ?? 0];\n\n return route;\n}\n","import type {\n NavigationAction,\n NavigationState,\n ParamListBase,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\nexport type ListenerMap = {\n action: ChildActionListener;\n focus: FocusedNavigationListener;\n};\n\nexport type KeyedListenerMap = {\n getState: GetStateListener;\n beforeRemove: ChildBeforeRemoveListener;\n};\n\nexport type AddListener = (\n type: T,\n listener: ListenerMap[T]\n) => void;\n\nexport type AddKeyedListener = (\n type: T,\n key: string,\n listener: KeyedListenerMap[T]\n) => void;\n\nexport type ChildActionListener = (\n action: NavigationAction,\n visitedNavigators?: Set\n) => boolean;\n\nexport type FocusedNavigationCallback = (\n navigation: NavigationHelpers\n) => T;\n\nexport type FocusedNavigationListener = (\n callback: FocusedNavigationCallback\n) => {\n handled: boolean;\n result: T;\n};\n\nexport type GetStateListener = () => NavigationState;\n\nexport type ChildBeforeRemoveListener = (action: NavigationAction) => boolean;\n\n/**\n * Context which holds the required helpers needed to build nested navigators.\n */\nconst NavigationBuilderContext = React.createContext<{\n onAction?: (\n action: NavigationAction,\n visitedNavigators?: Set\n ) => boolean;\n addListener?: AddListener;\n addKeyedListener?: AddKeyedListener;\n onRouteFocus?: (key: string) => void;\n onDispatchAction: (action: NavigationAction, noop: boolean) => void;\n onOptionsChange: (options: object) => void;\n stackRef?: React.MutableRefObject;\n}>({\n onDispatchAction: () => undefined,\n onOptionsChange: () => undefined,\n});\n\nexport default NavigationBuilderContext;\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationContainerRef } from './types';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationContainerRefContext = React.createContext<\n NavigationContainerRef | undefined\n>(undefined);\n\nexport default NavigationContainerRefContext;\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationProp } from './types';\n\n/**\n * Context which holds the navigation prop for a screen.\n */\nconst NavigationContext = React.createContext<\n NavigationProp | undefined\n>(undefined);\n\nexport default NavigationContext;\n","import type { Route } from '@react-navigation/routers';\nimport * as React from 'react';\n\n/**\n * Context which holds the route prop for a screen.\n */\nconst NavigationRouteContext = React.createContext | undefined>(\n undefined\n);\n\nexport default NavigationRouteContext;\n","import type { NavigationState, PartialState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst MISSING_CONTEXT_ERROR =\n \"Couldn't find a navigation context. Have you wrapped your app with 'NavigationContainer'? See https://reactnavigation.org/docs/getting-started for setup instructions.\";\n\nexport default React.createContext<{\n isDefault?: true;\n state?: NavigationState | PartialState;\n getKey: () => string | undefined;\n setKey: (key: string) => void;\n getState: () => NavigationState | PartialState | undefined;\n setState: (\n state: NavigationState | PartialState | undefined\n ) => void;\n getIsInitial: () => boolean;\n addOptionsGetter?: (\n key: string,\n getter: () => object | undefined | null\n ) => void;\n}>({\n isDefault: true,\n\n get getKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setKey(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get setState(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n get getIsInitial(): any {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n});\n","import type { NavigationAction } from '@react-navigation/routers';\nimport * as React from 'react';\n\nconst UnhandledActionContext = React.createContext<\n ((action: NavigationAction) => void) | undefined\n>(undefined);\n\nexport default UnhandledActionContext;\n","import * as React from 'react';\n\nimport type { ListenerMap } from './NavigationBuilderContext';\n\n/**\n * Hook which lets child navigators add action listeners.\n */\nexport default function useChildListeners() {\n const { current: listeners } = React.useRef<{\n [K in keyof ListenerMap]: ListenerMap[K][];\n }>({\n action: [],\n focus: [],\n });\n\n const addListener = React.useCallback(\n (type: T, listener: ListenerMap[T]) => {\n // @ts-expect-error: listener should be correct type according to `type`\n listeners[type].push(listener);\n\n return () => {\n // @ts-expect-error: listener should be correct type according to `type`\n const index = listeners[type].indexOf(listener);\n\n listeners[type].splice(index, 1);\n };\n },\n [listeners]\n );\n\n return {\n listeners,\n addListener,\n };\n}\n","import * as React from 'react';\n\nimport type { EventArg, EventConsumer, EventEmitter } from './types';\n\nexport type NavigationEventEmitter> =\n EventEmitter & {\n create: (target: string) => EventConsumer;\n };\n\ntype Listeners = ((e: any) => void)[];\n\n/**\n * Hook to manage the event system used by the navigator to notify screens of various events.\n */\nexport default function useEventEmitter>(\n listen?: (e: any) => void\n): NavigationEventEmitter {\n const listenRef = React.useRef(listen);\n\n React.useEffect(() => {\n listenRef.current = listen;\n });\n\n const listeners = React.useRef>>({});\n\n const create = React.useCallback((target: string) => {\n const removeListener = (type: string, callback: (data: any) => void) => {\n const callbacks = listeners.current[type]\n ? listeners.current[type][target]\n : undefined;\n\n if (!callbacks) {\n return;\n }\n\n const index = callbacks.indexOf(callback);\n\n callbacks.splice(index, 1);\n };\n\n const addListener = (type: string, callback: (data: any) => void) => {\n listeners.current[type] = listeners.current[type] || {};\n listeners.current[type][target] = listeners.current[type][target] || [];\n listeners.current[type][target].push(callback);\n\n return () => removeListener(type, callback);\n };\n\n return {\n addListener,\n removeListener,\n };\n }, []);\n\n const emit = React.useCallback(\n ({\n type,\n data,\n target,\n canPreventDefault,\n }: {\n type: string;\n data?: any;\n target?: string;\n canPreventDefault?: boolean;\n }) => {\n const items = listeners.current[type] || {};\n\n // Copy the current list of callbacks in case they are mutated during execution\n const callbacks =\n target !== undefined\n ? items[target]?.slice()\n : ([] as Listeners)\n .concat(...Object.keys(items).map((t) => items[t]))\n .filter((cb, i, self) => self.lastIndexOf(cb) === i);\n\n const event: EventArg = {\n get type() {\n return type;\n },\n };\n\n if (target !== undefined) {\n Object.defineProperty(event, 'target', {\n enumerable: true,\n get() {\n return target;\n },\n });\n }\n\n if (data !== undefined) {\n Object.defineProperty(event, 'data', {\n enumerable: true,\n get() {\n return data;\n },\n });\n }\n\n if (canPreventDefault) {\n let defaultPrevented = false;\n\n Object.defineProperties(event, {\n defaultPrevented: {\n enumerable: true,\n get() {\n return defaultPrevented;\n },\n },\n preventDefault: {\n enumerable: true,\n value() {\n defaultPrevented = true;\n },\n },\n });\n }\n\n listenRef.current?.(event);\n\n callbacks?.forEach((cb) => cb(event));\n\n return event as any;\n },\n []\n );\n\n return React.useMemo(() => ({ create, emit }), [create, emit]);\n}\n","import * as React from 'react';\n\nimport type { KeyedListenerMap } from './NavigationBuilderContext';\n\n/**\n * Hook which lets child navigators add getters to be called for obtaining rehydrated state.\n */\nexport default function useKeyedChildListeners() {\n const { current: keyedListeners } = React.useRef<{\n [K in keyof KeyedListenerMap]: Record<\n string,\n KeyedListenerMap[K] | undefined\n >;\n }>({\n getState: {},\n beforeRemove: {},\n });\n\n const addKeyedListener = React.useCallback(\n (\n type: T,\n key: string,\n listener: KeyedListenerMap[T]\n ) => {\n keyedListeners[type][key] = listener;\n\n return () => {\n keyedListeners[type][key] = undefined;\n };\n },\n [keyedListeners]\n );\n\n return {\n keyedListeners,\n addKeyedListener,\n };\n}\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport type { NavigationProp } from './types';\n\ntype Options = {\n key?: string;\n navigation?: NavigationProp;\n options?: object | undefined;\n};\n\nexport default function useOptionsGetters({\n key,\n options,\n navigation,\n}: Options) {\n const optionsRef = React.useRef(options);\n const optionsGettersFromChildRef = React.useRef<\n Record object | undefined | null>\n >({});\n\n const { onOptionsChange } = React.useContext(NavigationBuilderContext);\n const { addOptionsGetter: parentAddOptionsGetter } = React.useContext(\n NavigationStateContext\n );\n\n const optionsChangeListener = React.useCallback(() => {\n const isFocused = navigation?.isFocused() ?? true;\n const hasChildren = Object.keys(optionsGettersFromChildRef.current).length;\n\n if (isFocused && !hasChildren) {\n onOptionsChange(optionsRef.current ?? {});\n }\n }, [navigation, onOptionsChange]);\n\n React.useEffect(() => {\n optionsRef.current = options;\n optionsChangeListener();\n\n return navigation?.addListener('focus', optionsChangeListener);\n }, [navigation, options, optionsChangeListener]);\n\n const getOptionsFromListener = React.useCallback(() => {\n for (let key in optionsGettersFromChildRef.current) {\n if (optionsGettersFromChildRef.current.hasOwnProperty(key)) {\n const result = optionsGettersFromChildRef.current[key]?.();\n\n // null means unfocused route\n if (result !== null) {\n return result;\n }\n }\n }\n\n return null;\n }, []);\n\n const getCurrentOptions = React.useCallback(() => {\n const isFocused = navigation?.isFocused() ?? true;\n\n if (!isFocused) {\n return null;\n }\n\n const optionsFromListener = getOptionsFromListener();\n\n if (optionsFromListener !== null) {\n return optionsFromListener;\n }\n\n return optionsRef.current;\n }, [navigation, getOptionsFromListener]);\n\n React.useEffect(() => {\n return parentAddOptionsGetter?.(key!, getCurrentOptions);\n }, [getCurrentOptions, parentAddOptionsGetter, key]);\n\n const addOptionsGetter = React.useCallback(\n (key: string, getter: () => object | undefined | null) => {\n optionsGettersFromChildRef.current[key] = getter;\n optionsChangeListener();\n\n return () => {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete optionsGettersFromChildRef.current[key];\n optionsChangeListener();\n };\n },\n [optionsChangeListener]\n );\n\n return {\n addOptionsGetter,\n getCurrentOptions,\n };\n}\n","import * as React from 'react';\n\nconst MISSING_CONTEXT_ERROR = \"Couldn't find a schedule context.\";\n\nexport const ScheduleUpdateContext = React.createContext<{\n scheduleUpdate: (callback: () => void) => void;\n flushUpdates: () => void;\n}>({\n scheduleUpdate() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n flushUpdates() {\n throw new Error(MISSING_CONTEXT_ERROR);\n },\n});\n\n/**\n * When screen config changes, we want to update the navigator in the same update phase.\n * However, navigation state is in the root component and React won't let us update it from a child.\n * This is a workaround for that, the scheduled update is stored in the ref without actually calling setState.\n * It lets all subsequent updates access the latest state so it stays correct.\n * Then we call setState during after the component updates.\n */\nexport default function useScheduleUpdate(callback: () => void) {\n const { scheduleUpdate, flushUpdates } = React.useContext(\n ScheduleUpdateContext\n );\n\n scheduleUpdate(callback);\n\n React.useEffect(flushUpdates);\n}\n","import * as React from 'react';\n\nconst UNINTIALIZED_STATE = {};\n\n/**\n * This is definitely not compatible with concurrent mode, but we don't have a solution for sync state yet.\n */\nexport default function useSyncState(initialState?: (() => T) | T) {\n const stateRef = React.useRef(UNINTIALIZED_STATE as any);\n const isSchedulingRef = React.useRef(false);\n const isMountedRef = React.useRef(true);\n\n React.useEffect(() => {\n isMountedRef.current = true;\n\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n\n if (stateRef.current === UNINTIALIZED_STATE) {\n stateRef.current =\n // @ts-expect-error: initialState is a function, but TypeScript doesn't think so\n typeof initialState === 'function' ? initialState() : initialState;\n }\n\n const [trackingState, setTrackingState] = React.useState(stateRef.current);\n\n const getState = React.useCallback(() => stateRef.current, []);\n\n const setState = React.useCallback((state: T) => {\n if (state === stateRef.current || !isMountedRef.current) {\n return;\n }\n\n stateRef.current = state;\n\n if (!isSchedulingRef.current) {\n setTrackingState(state);\n }\n }, []);\n\n const scheduleUpdate = React.useCallback((callback: () => void) => {\n isSchedulingRef.current = true;\n\n try {\n callback();\n } finally {\n isSchedulingRef.current = false;\n }\n }, []);\n\n const flushUpdates = React.useCallback(() => {\n if (!isMountedRef.current) {\n return;\n }\n\n // Make sure that the tracking state is up-to-date.\n // We call it unconditionally, but React should skip the update if state is unchanged.\n setTrackingState(stateRef.current);\n }, []);\n\n // If we're rendering and the tracking state is out of date, update it immediately\n // This will make sure that our updates are applied as early as possible.\n if (trackingState !== stateRef.current) {\n setTrackingState(stateRef.current);\n }\n\n const state = stateRef.current;\n\n React.useDebugValue(state);\n\n return [state, getState, setState, scheduleUpdate, flushUpdates] as const;\n}\n","import {\n CommonActions,\n InitialState,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport checkDuplicateRouteNames from './checkDuplicateRouteNames';\nimport checkSerializable from './checkSerializable';\nimport { NOT_INITIALIZED_ERROR } from './createNavigationContainerRef';\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport findFocusedRoute from './findFocusedRoute';\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport NavigationContainerRefContext from './NavigationContainerRefContext';\nimport NavigationContext from './NavigationContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport type {\n NavigationContainerEventMap,\n NavigationContainerProps,\n NavigationContainerRef,\n} from './types';\nimport UnhandledActionContext from './UnhandledActionContext';\nimport useChildListeners from './useChildListeners';\nimport useEventEmitter from './useEventEmitter';\nimport useKeyedChildListeners from './useKeyedChildListeners';\nimport useOptionsGetters from './useOptionsGetters';\nimport { ScheduleUpdateContext } from './useScheduleUpdate';\nimport useSyncState from './useSyncState';\n\ntype State = NavigationState | PartialState | undefined;\n\nconst serializableWarnings: string[] = [];\nconst duplicateNameWarnings: string[] = [];\n\n/**\n * Remove `key` and `routeNames` from the state objects recursively to get partial state.\n *\n * @param state Initial state object.\n */\nconst getPartialState = (\n state: InitialState | undefined\n): PartialState | undefined => {\n if (state === undefined) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { key, routeNames, ...partialState } = state;\n\n return {\n ...partialState,\n stale: true,\n routes: state.routes.map((route) => {\n if (route.state === undefined) {\n return route as Route & {\n state?: PartialState;\n };\n }\n\n return { ...route, state: getPartialState(route.state) };\n }),\n };\n};\n\n/**\n * Container component which holds the navigation state.\n * This should be rendered at the root wrapping the whole app.\n *\n * @param props.initialState Initial state object for the navigation tree.\n * @param props.onStateChange Callback which is called with the latest navigation state when it changes.\n * @param props.children Child elements to render the content.\n * @param props.ref Ref object which refers to the navigation object containing helper methods.\n */\nconst BaseNavigationContainer = React.forwardRef(\n function BaseNavigationContainer(\n {\n initialState,\n onStateChange,\n onUnhandledAction,\n independent,\n children,\n }: NavigationContainerProps,\n ref?: React.Ref>\n ) {\n const parent = React.useContext(NavigationStateContext);\n\n if (!parent.isDefault && !independent) {\n throw new Error(\n \"Looks like you have nested a 'NavigationContainer' inside another. Normally you need only one container at the root of the app, so this was probably an error. If this was intentional, pass 'independent={true}' explicitly. Note that this will make the child navigators disconnected from the parent and you won't be able to navigate between them.\"\n );\n }\n\n const [state, getState, setState, scheduleUpdate, flushUpdates] =\n useSyncState(() =>\n getPartialState(initialState == null ? undefined : initialState)\n );\n\n const isFirstMountRef = React.useRef(true);\n\n const navigatorKeyRef = React.useRef();\n\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const { listeners, addListener } = useChildListeners();\n\n const { keyedListeners, addKeyedListener } = useKeyedChildListeners();\n\n const dispatch = React.useCallback(\n (\n action:\n | NavigationAction\n | ((state: NavigationState) => NavigationAction)\n ) => {\n if (listeners.focus[0] == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0]((navigation) => navigation.dispatch(action));\n }\n },\n [listeners.focus]\n );\n\n const canGoBack = React.useCallback(() => {\n if (listeners.focus[0] == null) {\n return false;\n }\n\n const { result, handled } = listeners.focus[0]((navigation) =>\n navigation.canGoBack()\n );\n\n if (handled) {\n return result;\n } else {\n return false;\n }\n }, [listeners.focus]);\n\n const resetRoot = React.useCallback(\n (state?: PartialState | NavigationState) => {\n const target = state?.key ?? keyedListeners.getState.root?.().key;\n\n if (target == null) {\n console.error(NOT_INITIALIZED_ERROR);\n } else {\n listeners.focus[0]((navigation) =>\n navigation.dispatch({\n ...CommonActions.reset(state),\n target,\n })\n );\n }\n },\n [keyedListeners.getState, listeners.focus]\n );\n\n const getRootState = React.useCallback(() => {\n return keyedListeners.getState.root?.();\n }, [keyedListeners.getState]);\n\n const getCurrentRoute = React.useCallback(() => {\n const state = getRootState();\n\n if (state == null) {\n return undefined;\n }\n\n const route = findFocusedRoute(state);\n\n return route as Route | undefined;\n }, [getRootState]);\n\n const emitter = useEventEmitter();\n\n const { addOptionsGetter, getCurrentOptions } = useOptionsGetters({});\n\n const navigation: NavigationContainerRef = React.useMemo(\n () => ({\n ...Object.keys(CommonActions).reduce((acc, name) => {\n acc[name] = (...args: any[]) =>\n // @ts-expect-error: this is ok\n dispatch(CommonActions[name](...args));\n return acc;\n }, {}),\n ...emitter.create('root'),\n dispatch,\n resetRoot,\n isFocused: () => true,\n canGoBack,\n getParent: () => undefined,\n getState: () => stateRef.current,\n getRootState,\n getCurrentRoute,\n getCurrentOptions,\n isReady: () => listeners.focus[0] != null,\n }),\n [\n canGoBack,\n dispatch,\n emitter,\n getCurrentOptions,\n getCurrentRoute,\n getRootState,\n listeners.focus,\n resetRoot,\n ]\n );\n\n React.useImperativeHandle(ref, () => navigation, [navigation]);\n\n const onDispatchAction = React.useCallback(\n (action: NavigationAction, noop: boolean) => {\n emitter.emit({\n type: '__unsafe_action__',\n data: { action, noop, stack: stackRef.current },\n });\n },\n [emitter]\n );\n\n const lastEmittedOptionsRef = React.useRef();\n\n const onOptionsChange = React.useCallback(\n (options) => {\n if (lastEmittedOptionsRef.current === options) {\n return;\n }\n\n lastEmittedOptionsRef.current = options;\n\n emitter.emit({\n type: 'options',\n data: { options },\n });\n },\n [emitter]\n );\n\n const stackRef = React.useRef();\n\n const builderContext = React.useMemo(\n () => ({\n addListener,\n addKeyedListener,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n }),\n [addListener, addKeyedListener, onDispatchAction, onOptionsChange]\n );\n\n const scheduleContext = React.useMemo(\n () => ({ scheduleUpdate, flushUpdates }),\n [scheduleUpdate, flushUpdates]\n );\n\n const isInitialRef = React.useRef(true);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state,\n getState,\n setState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n state,\n getState,\n setState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const onStateChangeRef = React.useRef(onStateChange);\n const stateRef = React.useRef(state);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n onStateChangeRef.current = onStateChange;\n stateRef.current = state;\n });\n\n React.useEffect(() => {\n const hydratedState = getRootState();\n\n if (process.env.NODE_ENV !== 'production') {\n if (hydratedState !== undefined) {\n const serializableResult = checkSerializable(hydratedState);\n\n if (!serializableResult.serializable) {\n const { location, reason } = serializableResult;\n\n let path = '';\n let pointer: Record = hydratedState;\n let params = false;\n\n for (let i = 0; i < location.length; i++) {\n const curr = location[i];\n const prev = location[i - 1];\n\n pointer = pointer[curr];\n\n if (!params && curr === 'state') {\n continue;\n } else if (!params && curr === 'routes') {\n if (path) {\n path += ' > ';\n }\n } else if (\n !params &&\n typeof curr === 'number' &&\n prev === 'routes'\n ) {\n path += pointer?.name;\n } else if (!params) {\n path += ` > ${curr}`;\n params = true;\n } else {\n if (typeof curr === 'number' || /^[0-9]+$/.test(curr)) {\n path += `[${curr}]`;\n } else if (/^[a-z$_]+$/i.test(curr)) {\n path += `.${curr}`;\n } else {\n path += `[${JSON.stringify(curr)}]`;\n }\n }\n }\n\n const message = `Non-serializable values were found in the navigation state. Check:\\n\\n${path} (${reason})\\n\\nThis can break usage such as persisting and restoring state. This might happen if you passed non-serializable values such as function, class instances etc. in params. If you need to use components with callbacks in your options, you can use 'navigation.setOptions' instead. See https://reactnavigation.org/docs/troubleshooting#i-get-the-warning-non-serializable-values-were-found-in-the-navigation-state for more details.`;\n\n if (!serializableWarnings.includes(message)) {\n serializableWarnings.push(message);\n console.warn(message);\n }\n }\n\n const duplicateRouteNamesResult =\n checkDuplicateRouteNames(hydratedState);\n\n if (duplicateRouteNamesResult.length) {\n const message = `Found screens with the same name nested inside one another. Check:\\n${duplicateRouteNamesResult.map(\n (locations) => `\\n${locations.join(', ')}`\n )}\\n\\nThis can cause confusing behavior during navigation. Consider using unique names for each screen instead.`;\n\n if (!duplicateNameWarnings.includes(message)) {\n duplicateNameWarnings.push(message);\n console.warn(message);\n }\n }\n }\n }\n\n emitter.emit({ type: 'state', data: { state } });\n\n if (!isFirstMountRef.current && onStateChangeRef.current) {\n onStateChangeRef.current(hydratedState);\n }\n\n isFirstMountRef.current = false;\n }, [getRootState, emitter, state]);\n\n const defaultOnUnhandledAction = React.useCallback(\n (action: NavigationAction) => {\n if (process.env.NODE_ENV === 'production') {\n return;\n }\n\n const payload: Record | undefined = action.payload;\n\n let message = `The action '${action.type}'${\n payload ? ` with payload ${JSON.stringify(action.payload)}` : ''\n } was not handled by any navigator.`;\n\n switch (action.type) {\n case 'NAVIGATE':\n case 'PUSH':\n case 'REPLACE':\n case 'JUMP_TO':\n if (payload?.name) {\n message += `\\n\\nDo you have a screen named '${payload.name}'?\\n\\nIf you're trying to navigate to a screen in a nested navigator, see https://reactnavigation.org/docs/nesting-navigators#navigating-to-a-screen-in-a-nested-navigator.`;\n } else {\n message += `\\n\\nYou need to pass the name of the screen to navigate to.\\n\\nSee https://reactnavigation.org/docs/navigation-actions for usage.`;\n }\n\n break;\n case 'GO_BACK':\n case 'POP':\n case 'POP_TO_TOP':\n message += `\\n\\nIs there any screen to go back to?`;\n break;\n case 'OPEN_DRAWER':\n case 'CLOSE_DRAWER':\n case 'TOGGLE_DRAWER':\n message += `\\n\\nIs your screen inside a Drawer navigator?`;\n break;\n }\n\n message += `\\n\\nThis is a development-only warning and won't be shown in production.`;\n\n console.error(message);\n },\n []\n );\n\n let element = (\n \n \n \n \n \n {children}\n \n \n \n \n \n );\n\n if (independent) {\n // We need to clear any existing contexts for nested independent container to work correctly\n element = (\n \n \n {element}\n \n \n );\n }\n\n return element;\n }\n);\n\nexport default BaseNavigationContainer;\n","import type { ParamListBase } from '@react-navigation/routers';\n\nimport type { RouteGroupConfig } from './types';\n\n/**\n * Empty component used for grouping screen configs.\n */\nexport default function Group<\n ParamList extends ParamListBase,\n ScreenOptions extends {}\n>(_: RouteGroupConfig) {\n /* istanbul ignore next */\n return null;\n}\n","import type { NavigationState, ParamListBase } from '@react-navigation/routers';\n\nimport type { EventMapBase, RouteConfig } from './types';\n\n/**\n * Empty component used for specifying route configuration.\n */\nexport default function Screen<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>(_: RouteConfig) {\n /* istanbul ignore next */\n return null;\n}\n","import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport type * as React from 'react';\n\nimport Group from './Group';\nimport Screen from './Screen';\nimport type { EventMapBase, TypedNavigator } from './types';\n\n/**\n * Higher order component to create a `Navigator` and `Screen` pair.\n * Custom navigators should wrap the navigator component in `createNavigator` before exporting.\n *\n * @param Navigator The navigtor component to wrap.\n * @returns Factory method to create a `Navigator` and `Screen` pair.\n */\nexport default function createNavigatorFactory<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase,\n NavigatorComponent extends React.ComponentType\n>(Navigator: NavigatorComponent) {\n return function (): TypedNavigator<\n ParamList,\n State,\n ScreenOptions,\n EventMap,\n typeof Navigator\n > {\n if (arguments[0] !== undefined) {\n throw new Error(\n \"Creating a navigator doesn't take an argument. Maybe you are trying to use React Navigation 4 API? See https://reactnavigation.org/docs/hello-react-navigation for the latest API and guides.\"\n );\n }\n\n return {\n Navigator,\n Group,\n Screen,\n };\n };\n}\n","import * as React from 'react';\n\n/**\n * Context which holds the values for the current navigation tree.\n * Intended for use in SSR. This is not safe to use on the client.\n */\nconst CurrentRenderContext = React.createContext<\n { options?: object } | undefined\n>(undefined);\n\nexport default CurrentRenderContext;\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}","import type {\n CommonActions,\n NavigationState,\n ParamListBase,\n PartialRoute,\n PartialState,\n Route,\n} from '@react-navigation/routers';\n\nimport type { NavigatorScreenParams, PathConfig, PathConfigMap } from './types';\n\ntype ConfigItem = {\n initialRouteName?: string;\n screens?: Record;\n};\n\ntype Options = {\n initialRouteName?: string;\n screens: PathConfigMap;\n};\n\ntype NavigateAction = {\n type: 'NAVIGATE';\n payload: {\n name: string;\n params?: NavigatorScreenParams;\n path?: string;\n };\n};\n\nexport default function getActionFromState(\n state: PartialState,\n options?: Options\n): NavigateAction | CommonActions.Action | undefined {\n // Create a normalized configs object which will be easier to use\n const normalizedConfig = options\n ? createNormalizedConfigItem(options as PathConfig | string)\n : {};\n\n const routes =\n state.index != null ? state.routes.slice(0, state.index + 1) : state.routes;\n\n if (routes.length === 0) {\n return undefined;\n }\n\n if (\n !(\n (routes.length === 1 && routes[0].key === undefined) ||\n (routes.length === 2 &&\n routes[0].key === undefined &&\n routes[0].name === normalizedConfig?.initialRouteName &&\n routes[1].key === undefined)\n )\n ) {\n return {\n type: 'RESET',\n payload: state,\n };\n }\n\n const route = state.routes[state.index ?? state.routes.length - 1];\n\n let current: PartialState | undefined = route?.state;\n let config: ConfigItem | undefined = normalizedConfig?.screens?.[route?.name];\n let params = { ...route.params } as NavigatorScreenParams<\n ParamListBase,\n NavigationState\n >;\n\n let payload = route\n ? { name: route.name, path: route.path, params }\n : undefined;\n\n while (current) {\n if (current.routes.length === 0) {\n return undefined;\n }\n\n const routes =\n current.index != null\n ? current.routes.slice(0, current.index + 1)\n : current.routes;\n\n const route: Route | PartialRoute> =\n routes[routes.length - 1];\n\n // Explicitly set to override existing value when merging params\n Object.assign(params, {\n initial: undefined,\n screen: undefined,\n params: undefined,\n state: undefined,\n });\n\n if (routes.length === 1 && routes[0].key === undefined) {\n params.initial = true;\n params.screen = route.name;\n } else if (\n routes.length === 2 &&\n routes[0].key === undefined &&\n routes[0].name === config?.initialRouteName &&\n routes[1].key === undefined\n ) {\n params.initial = false;\n params.screen = route.name;\n } else {\n params.state = current;\n break;\n }\n\n if (route.state) {\n params.params = { ...route.params };\n params = params.params as NavigatorScreenParams<\n ParamListBase,\n NavigationState\n >;\n } else {\n params.path = route.path;\n params.params = route.params;\n }\n\n current = route.state;\n config = config?.screens?.[route.name];\n }\n\n if (!payload) {\n return;\n }\n\n // Try to construct payload for a `NAVIGATE` action from the state\n // This lets us preserve the navigation state and not lose it\n return {\n type: 'NAVIGATE',\n payload,\n };\n}\n\nconst createNormalizedConfigItem = (config: PathConfig | string) =>\n typeof config === 'object' && config != null\n ? {\n initialRouteName: config.initialRouteName,\n screens:\n config.screens != null\n ? createNormalizedConfigs(config.screens)\n : undefined,\n }\n : {};\n\nconst createNormalizedConfigs = (options: PathConfigMap) =>\n Object.entries(options).reduce>((acc, [k, v]) => {\n acc[k] = createNormalizedConfigItem(v);\n return acc;\n }, {});\n","import type {\n NavigationState,\n ParamListBase,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { RouteProp } from './types';\n\ntype RouteCache = Map, RouteProp>;\n\n/**\n * Utilites such as `getFocusedRouteNameFromRoute` need to access state.\n * So we need a way to suppress the warning for those use cases.\n * This is fine since they are internal utilities and this is not public API.\n */\nexport const CHILD_STATE = Symbol('CHILD_STATE');\n\n/**\n * Hook to cache route props for each screen in the navigator.\n * This lets add warnings and modifications to the route object but keep references between renders.\n */\nexport default function useRouteCache(\n routes: State['routes']\n) {\n // Cache object which holds route objects for each screen\n const cache = React.useMemo(() => ({ current: new Map() as RouteCache }), []);\n\n if (process.env.NODE_ENV === 'production') {\n // We don't want the overhead of creating extra maps every render in prod\n return routes;\n }\n\n cache.current = routes.reduce((acc, route) => {\n const previous = cache.current.get(route);\n\n if (previous) {\n // If a cached route object already exists, reuse it\n acc.set(route, previous);\n } else {\n const { state, ...proxy } = route;\n\n Object.defineProperty(proxy, CHILD_STATE, {\n enumerable: false,\n value: state,\n });\n\n acc.set(route, proxy);\n }\n\n return acc;\n }, new Map() as RouteCache);\n\n return Array.from(cache.current.values());\n}\n","import type { Route } from '@react-navigation/routers';\n\nimport { CHILD_STATE } from './useRouteCache';\n\nexport default function getFocusedRouteNameFromRoute(\n route: Partial>\n): string | undefined {\n // @ts-expect-error: this isn't in type definitions coz we want this private\n const state = route[CHILD_STATE] ?? route.state;\n const params = route.params as { screen?: unknown } | undefined;\n\n const routeName = state\n ? // Get the currently active route name in the nested navigator\n state.routes[\n // If we have a partial state without index, for tab/drawer, first screen will be focused one, and last for stack\n // The type property will only exist for rehydrated state and not for state from deep link\n state.index ??\n (typeof state.type === 'string' && state.type !== 'stack'\n ? 0\n : state.routes.length - 1)\n ].name\n : // If state doesn't exist, we need to default to `screen` param if available\n typeof params?.screen === 'string'\n ? params.screen\n : undefined;\n\n return routeName;\n}\n","// Object.fromEntries is not available in older iOS versions\nexport default function fromEntries(\n entries: (readonly [K, V])[]\n) {\n return entries.reduce((acc, [k, v]) => {\n if (acc.hasOwnProperty(k)) {\n throw new Error(`A value for key '${k}' already exists in the object.`);\n }\n\n acc[k] = v;\n return acc;\n }, {} as Record);\n}\n","const formatToList = (items: string[]) =>\n items.map((key) => `- ${key}`).join('\\n');\n\nexport default function validatePathConfig(config: any, root = true) {\n const validKeys = ['initialRouteName', 'screens'];\n\n if (!root) {\n validKeys.push('path', 'exact', 'stringify', 'parse');\n }\n\n const invalidKeys = Object.keys(config).filter(\n (key) => !validKeys.includes(key)\n );\n\n if (invalidKeys.length) {\n throw new Error(\n `Found invalid properties in the configuration:\\n${formatToList(\n invalidKeys\n )}\\n\\nDid you forget to specify them under a 'screens' property?\\n\\nYou can only specify the following properties:\\n${formatToList(\n validKeys\n )}\\n\\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`\n );\n }\n\n if (config.screens) {\n Object.entries(config.screens).forEach(([_, value]) => {\n if (typeof value !== 'string') {\n validatePathConfig(value, false);\n }\n });\n }\n}\n","import type {\n NavigationState,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as queryString from 'query-string';\n\nimport fromEntries from './fromEntries';\nimport type { PathConfig, PathConfigMap } from './types';\nimport validatePathConfig from './validatePathConfig';\n\ntype Options = {\n initialRouteName?: string;\n screens: PathConfigMap;\n};\n\ntype State = NavigationState | Omit, 'stale'>;\n\ntype StringifyConfig = Record string>;\n\ntype ConfigItem = {\n pattern?: string;\n stringify?: StringifyConfig;\n screens?: Record;\n};\n\nconst getActiveRoute = (state: State): { name: string; params?: object } => {\n const route =\n typeof state.index === 'number'\n ? state.routes[state.index]\n : state.routes[state.routes.length - 1];\n\n if (route.state) {\n return getActiveRoute(route.state);\n }\n\n return route;\n};\n\n/**\n * Utility to serialize a navigation state object to a path string.\n *\n * @example\n * ```js\n * getPathFromState(\n * {\n * routes: [\n * {\n * name: 'Chat',\n * params: { author: 'Jane', id: 42 },\n * },\n * ],\n * },\n * {\n * screens: {\n * Chat: {\n * path: 'chat/:author/:id',\n * stringify: { author: author => author.toLowerCase() }\n * }\n * }\n * }\n * )\n * ```\n *\n * @param state Navigation state to serialize.\n * @param options Extra options to fine-tune how to serialize the path.\n * @returns Path representing the state, e.g. /foo/bar?count=42.\n */\nexport default function getPathFromState(\n state: State,\n options?: Options\n): string {\n if (state == null) {\n throw Error(\n \"Got 'undefined' for the navigation state. You must pass a valid state object.\"\n );\n }\n\n if (options) {\n validatePathConfig(options);\n }\n\n // Create a normalized configs object which will be easier to use\n const configs: Record = options?.screens\n ? createNormalizedConfigs(options?.screens)\n : {};\n\n let path = '/';\n let current: State | undefined = state;\n\n const allParams: Record = {};\n\n while (current) {\n let index = typeof current.index === 'number' ? current.index : 0;\n let route = current.routes[index] as Route & {\n state?: State;\n };\n\n let pattern: string | undefined;\n\n let focusedParams: Record | undefined;\n let focusedRoute = getActiveRoute(state);\n let currentOptions = configs;\n\n // Keep all the route names that appeared during going deeper in config in case the pattern is resolved to undefined\n let nestedRouteNames = [];\n\n let hasNext = true;\n\n while (route.name in currentOptions && hasNext) {\n pattern = currentOptions[route.name].pattern;\n\n nestedRouteNames.push(route.name);\n\n if (route.params) {\n const stringify = currentOptions[route.name]?.stringify;\n\n const currentParams = fromEntries(\n Object.entries(route.params).map(([key, value]) => [\n key,\n stringify?.[key] ? stringify[key](value) : String(value),\n ])\n );\n\n if (pattern) {\n Object.assign(allParams, currentParams);\n }\n\n if (focusedRoute === route) {\n // If this is the focused route, keep the params for later use\n // We save it here since it's been stringified already\n focusedParams = { ...currentParams };\n\n pattern\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n // eslint-disable-next-line no-loop-func\n .forEach((p) => {\n const name = getParamName(p);\n\n // Remove the params present in the pattern since we'll only use the rest for query string\n if (focusedParams) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete focusedParams[name];\n }\n });\n }\n }\n\n // If there is no `screens` property or no nested state, we return pattern\n if (!currentOptions[route.name].screens || route.state === undefined) {\n hasNext = false;\n } else {\n index =\n typeof route.state.index === 'number'\n ? route.state.index\n : route.state.routes.length - 1;\n\n const nextRoute = route.state.routes[index];\n const nestedConfig = currentOptions[route.name].screens;\n\n // if there is config for next route name, we go deeper\n if (nestedConfig && nextRoute.name in nestedConfig) {\n route = nextRoute as Route & { state?: State };\n currentOptions = nestedConfig;\n } else {\n // If not, there is no sense in going deeper in config\n hasNext = false;\n }\n }\n }\n\n if (pattern === undefined) {\n pattern = nestedRouteNames.join('/');\n }\n\n if (currentOptions[route.name] !== undefined) {\n path += pattern\n .split('/')\n .map((p) => {\n const name = getParamName(p);\n\n // We don't know what to show for wildcard patterns\n // Showing the route name seems ok, though whatever we show here will be incorrect\n // Since the page doesn't actually exist\n if (p === '*') {\n return route.name;\n }\n\n // If the path has a pattern for a param, put the param in the path\n if (p.startsWith(':')) {\n const value = allParams[name];\n\n if (value === undefined && p.endsWith('?')) {\n // Optional params without value assigned in route.params should be ignored\n return '';\n }\n\n return encodeURIComponent(value);\n }\n\n return encodeURIComponent(p);\n })\n .join('/');\n } else {\n path += encodeURIComponent(route.name);\n }\n\n if (!focusedParams) {\n focusedParams = focusedRoute.params;\n }\n\n if (route.state) {\n path += '/';\n } else if (focusedParams) {\n for (let param in focusedParams) {\n if (focusedParams[param] === 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete focusedParams[param];\n }\n }\n\n const query = queryString.stringify(focusedParams, { sort: false });\n\n if (query) {\n path += `?${query}`;\n }\n }\n\n current = route.state;\n }\n\n // Remove multiple as well as trailing slashes\n path = path.replace(/\\/+/g, '/');\n path = path.length > 1 ? path.replace(/\\/$/, '') : path;\n\n return path;\n}\n\nconst getParamName = (pattern: string) =>\n pattern.replace(/^:/, '').replace(/\\?$/, '');\n\nconst joinPaths = (...paths: string[]): string =>\n ([] as string[])\n .concat(...paths.map((p) => p.split('/')))\n .filter(Boolean)\n .join('/');\n\nconst createConfigItem = (\n config: PathConfig | string,\n parentPattern?: string\n): ConfigItem => {\n if (typeof config === 'string') {\n // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern\n const pattern = parentPattern ? joinPaths(parentPattern, config) : config;\n\n return { pattern };\n }\n\n // If an object is specified as the value (e.g. Foo: { ... }),\n // It can have `path` property and `screens` prop which has nested configs\n let pattern: string | undefined;\n\n if (config.exact && config.path === undefined) {\n throw new Error(\n \"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.\"\n );\n }\n\n pattern =\n config.exact !== true\n ? joinPaths(parentPattern || '', config.path || '')\n : config.path || '';\n\n const screens = config.screens\n ? createNormalizedConfigs(config.screens, pattern)\n : undefined;\n\n return {\n // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.\n pattern: pattern?.split('/').filter(Boolean).join('/'),\n stringify: config.stringify,\n screens,\n };\n};\n\nconst createNormalizedConfigs = (\n options: PathConfigMap,\n pattern?: string\n): Record =>\n fromEntries(\n Object.entries(options).map(([name, c]) => {\n const result = createConfigItem(c, pattern);\n\n return [name, result];\n })\n );\n","import type {\n InitialState,\n NavigationState,\n PartialState,\n} from '@react-navigation/routers';\nimport escape from 'escape-string-regexp';\nimport * as queryString from 'query-string';\n\nimport findFocusedRoute from './findFocusedRoute';\nimport type { PathConfigMap } from './types';\nimport validatePathConfig from './validatePathConfig';\n\ntype Options = {\n initialRouteName?: string;\n screens: PathConfigMap;\n};\n\ntype ParseConfig = Record any>;\n\ntype RouteConfig = {\n screen: string;\n regex?: RegExp;\n path: string;\n pattern: string;\n routeNames: string[];\n parse?: ParseConfig;\n};\n\ntype InitialRouteConfig = {\n initialRouteName: string;\n parentScreens: string[];\n};\n\ntype ResultState = PartialState & {\n state?: ResultState;\n};\n\ntype ParsedRoute = {\n name: string;\n path?: string;\n params?: Record | undefined;\n};\n\n/**\n * Utility to parse a path string to initial state object accepted by the container.\n * This is useful for deep linking when we need to handle the incoming URL.\n *\n * @example\n * ```js\n * getStateFromPath(\n * '/chat/jane/42',\n * {\n * screens: {\n * Chat: {\n * path: 'chat/:author/:id',\n * parse: { id: Number }\n * }\n * }\n * }\n * )\n * ```\n * @param path Path string to parse and convert, e.g. /foo/bar?count=42.\n * @param options Extra options to fine-tune how to parse the path.\n */\nexport default function getStateFromPath(\n path: string,\n options?: Options\n): ResultState | undefined {\n if (options) {\n validatePathConfig(options);\n }\n\n let initialRoutes: InitialRouteConfig[] = [];\n\n if (options?.initialRouteName) {\n initialRoutes.push({\n initialRouteName: options.initialRouteName,\n parentScreens: [],\n });\n }\n\n const screens = options?.screens;\n\n let remaining = path\n .replace(/\\/+/g, '/') // Replace multiple slash (//) with single ones\n .replace(/^\\//, '') // Remove extra leading slash\n .replace(/\\?.*$/, ''); // Remove query params which we will handle later\n\n // Make sure there is a trailing slash\n remaining = remaining.endsWith('/') ? remaining : `${remaining}/`;\n\n if (screens === undefined) {\n // When no config is specified, use the path segments as route names\n const routes = remaining\n .split('/')\n .filter(Boolean)\n .map((segment) => {\n const name = decodeURIComponent(segment);\n return { name };\n });\n\n if (routes.length) {\n return createNestedStateObject(path, routes, initialRoutes);\n }\n\n return undefined;\n }\n\n // Create a normalized configs array which will be easier to use\n const configs = ([] as RouteConfig[])\n .concat(\n ...Object.keys(screens).map((key) =>\n createNormalizedConfigs(\n key,\n screens as PathConfigMap,\n [],\n initialRoutes,\n []\n )\n )\n )\n .sort((a, b) => {\n // Sort config so that:\n // - the most exhaustive ones are always at the beginning\n // - patterns with wildcard are always at the end\n\n // If 2 patterns are same, move the one with less route names up\n // This is an error state, so it's only useful for consistent error messages\n if (a.pattern === b.pattern) {\n return b.routeNames.join('>').localeCompare(a.routeNames.join('>'));\n }\n\n // If one of the patterns starts with the other, it's more exhaustive\n // So move it up\n if (a.pattern.startsWith(b.pattern)) {\n return -1;\n }\n\n if (b.pattern.startsWith(a.pattern)) {\n return 1;\n }\n\n const aParts = a.pattern.split('/');\n const bParts = b.pattern.split('/');\n\n for (let i = 0; i < Math.max(aParts.length, bParts.length); i++) {\n // if b is longer, b get higher priority\n if (aParts[i] == null) {\n return 1;\n }\n // if a is longer, a get higher priority\n if (bParts[i] == null) {\n return -1;\n }\n const aWildCard = aParts[i] === '*' || aParts[i].startsWith(':');\n const bWildCard = bParts[i] === '*' || bParts[i].startsWith(':');\n // if both are wildcard we compare next component\n if (aWildCard && bWildCard) {\n continue;\n }\n // if only a is wild card, b get higher priority\n if (aWildCard) {\n return 1;\n }\n // if only b is wild card, a get higher priority\n if (bWildCard) {\n return -1;\n }\n }\n return bParts.length - aParts.length;\n });\n\n // Check for duplicate patterns in the config\n configs.reduce>((acc, config) => {\n if (acc[config.pattern]) {\n const a = acc[config.pattern].routeNames;\n const b = config.routeNames;\n\n // It's not a problem if the path string omitted from a inner most screen\n // For example, it's ok if a path resolves to `A > B > C` or `A > B`\n const intersects =\n a.length > b.length\n ? b.every((it, i) => a[i] === it)\n : a.every((it, i) => b[i] === it);\n\n if (!intersects) {\n throw new Error(\n `Found conflicting screens with the same pattern. The pattern '${\n config.pattern\n }' resolves to both '${a.join(' > ')}' and '${b.join(\n ' > '\n )}'. Patterns must be unique and cannot resolve to more than one screen.`\n );\n }\n }\n\n return Object.assign(acc, {\n [config.pattern]: config,\n });\n }, {});\n\n if (remaining === '/') {\n // We need to add special handling of empty path so navigation to empty path also works\n // When handling empty path, we should only look at the root level config\n const match = configs.find(\n (config) =>\n config.path === '' &&\n config.routeNames.every(\n // Make sure that none of the parent configs have a non-empty path defined\n (name) => !configs.find((c) => c.screen === name)?.path\n )\n );\n\n if (match) {\n return createNestedStateObject(\n path,\n match.routeNames.map((name) => ({ name })),\n initialRoutes,\n configs\n );\n }\n\n return undefined;\n }\n\n let result: PartialState | undefined;\n let current: PartialState | undefined;\n\n // We match the whole path against the regex instead of segments\n // This makes sure matches such as wildcard will catch any unmatched routes, even if nested\n const { routes, remainingPath } = matchAgainstConfigs(\n remaining,\n configs.map((c) => ({\n ...c,\n // Add `$` to the regex to make sure it matches till end of the path and not just beginning\n regex: c.regex ? new RegExp(c.regex.source + '$') : undefined,\n }))\n );\n\n if (routes !== undefined) {\n // This will always be empty if full path matched\n current = createNestedStateObject(path, routes, initialRoutes, configs);\n remaining = remainingPath;\n result = current;\n }\n\n if (current == null || result == null) {\n return undefined;\n }\n\n return result;\n}\n\nconst joinPaths = (...paths: string[]): string =>\n ([] as string[])\n .concat(...paths.map((p) => p.split('/')))\n .filter(Boolean)\n .join('/');\n\nconst matchAgainstConfigs = (remaining: string, configs: RouteConfig[]) => {\n let routes: ParsedRoute[] | undefined;\n let remainingPath = remaining;\n\n // Go through all configs, and see if the next path segment matches our regex\n for (const config of configs) {\n if (!config.regex) {\n continue;\n }\n\n const match = remainingPath.match(config.regex);\n\n // If our regex matches, we need to extract params from the path\n if (match) {\n const matchedParams = config.pattern\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n .reduce>(\n (acc, p, i) =>\n Object.assign(acc, {\n // The param segments appear every second item starting from 2 in the regex match result\n [p]: match![(i + 1) * 2].replace(/\\//, ''),\n }),\n {}\n );\n\n routes = config.routeNames.map((name) => {\n const config = configs.find((c) => c.screen === name);\n const params = config?.path\n ?.split('/')\n .filter((p) => p.startsWith(':'))\n .reduce>((acc, p) => {\n const value = matchedParams[p];\n\n if (value) {\n const key = p.replace(/^:/, '').replace(/\\?$/, '');\n acc[key] = config.parse?.[key] ? config.parse[key](value) : value;\n }\n\n return acc;\n }, {});\n\n if (params && Object.keys(params).length) {\n return { name, params };\n }\n\n return { name };\n });\n\n remainingPath = remainingPath.replace(match[1], '');\n\n break;\n }\n }\n\n return { routes, remainingPath };\n};\n\nconst createNormalizedConfigs = (\n screen: string,\n routeConfig: PathConfigMap,\n routeNames: string[] = [],\n initials: InitialRouteConfig[],\n parentScreens: string[],\n parentPattern?: string\n): RouteConfig[] => {\n const configs: RouteConfig[] = [];\n\n routeNames.push(screen);\n\n parentScreens.push(screen);\n\n // @ts-expect-error: we can't strongly typecheck this for now\n const config = routeConfig[screen];\n\n if (typeof config === 'string') {\n // If a string is specified as the value of the key(e.g. Foo: '/path'), use it as the pattern\n const pattern = parentPattern ? joinPaths(parentPattern, config) : config;\n\n configs.push(createConfigItem(screen, routeNames, pattern, config));\n } else if (typeof config === 'object') {\n let pattern: string | undefined;\n\n // if an object is specified as the value (e.g. Foo: { ... }),\n // it can have `path` property and\n // it could have `screens` prop which has nested configs\n if (typeof config.path === 'string') {\n if (config.exact && config.path === undefined) {\n throw new Error(\n \"A 'path' needs to be specified when specifying 'exact: true'. If you don't want this screen in the URL, specify it as empty string, e.g. `path: ''`.\"\n );\n }\n\n pattern =\n config.exact !== true\n ? joinPaths(parentPattern || '', config.path || '')\n : config.path || '';\n\n configs.push(\n createConfigItem(\n screen,\n routeNames,\n pattern!,\n config.path,\n config.parse\n )\n );\n }\n\n if (config.screens) {\n // property `initialRouteName` without `screens` has no purpose\n if (config.initialRouteName) {\n initials.push({\n initialRouteName: config.initialRouteName,\n parentScreens,\n });\n }\n\n Object.keys(config.screens).forEach((nestedConfig) => {\n const result = createNormalizedConfigs(\n nestedConfig,\n config.screens as PathConfigMap,\n routeNames,\n initials,\n [...parentScreens],\n pattern ?? parentPattern\n );\n\n configs.push(...result);\n });\n }\n }\n\n routeNames.pop();\n\n return configs;\n};\n\nconst createConfigItem = (\n screen: string,\n routeNames: string[],\n pattern: string,\n path: string,\n parse?: ParseConfig\n): RouteConfig => {\n // Normalize pattern to remove any leading, trailing slashes, duplicate slashes etc.\n pattern = pattern.split('/').filter(Boolean).join('/');\n\n const regex = pattern\n ? new RegExp(\n `^(${pattern\n .split('/')\n .map((it) => {\n if (it.startsWith(':')) {\n return `(([^/]+\\\\/)${it.endsWith('?') ? '?' : ''})`;\n }\n\n return `${it === '*' ? '.*' : escape(it)}\\\\/`;\n })\n .join('')})`\n )\n : undefined;\n\n return {\n screen,\n regex,\n pattern,\n path,\n // The routeNames array is mutated, so copy it to keep the current state\n routeNames: [...routeNames],\n parse,\n };\n};\n\nconst findParseConfigForRoute = (\n routeName: string,\n flatConfig: RouteConfig[]\n): ParseConfig | undefined => {\n for (const config of flatConfig) {\n if (routeName === config.routeNames[config.routeNames.length - 1]) {\n return config.parse;\n }\n }\n\n return undefined;\n};\n\n// Try to find an initial route connected with the one passed\nconst findInitialRoute = (\n routeName: string,\n parentScreens: string[],\n initialRoutes: InitialRouteConfig[]\n): string | undefined => {\n for (const config of initialRoutes) {\n if (parentScreens.length === config.parentScreens.length) {\n let sameParents = true;\n for (let i = 0; i < parentScreens.length; i++) {\n if (parentScreens[i].localeCompare(config.parentScreens[i]) !== 0) {\n sameParents = false;\n break;\n }\n }\n if (sameParents) {\n return routeName !== config.initialRouteName\n ? config.initialRouteName\n : undefined;\n }\n }\n }\n return undefined;\n};\n\n// returns state object with values depending on whether\n// it is the end of state and if there is initialRoute for this level\nconst createStateObject = (\n initialRoute: string | undefined,\n route: ParsedRoute,\n isEmpty: boolean\n): InitialState => {\n if (isEmpty) {\n if (initialRoute) {\n return {\n index: 1,\n routes: [{ name: initialRoute }, route],\n };\n } else {\n return {\n routes: [route],\n };\n }\n } else {\n if (initialRoute) {\n return {\n index: 1,\n routes: [{ name: initialRoute }, { ...route, state: { routes: [] } }],\n };\n } else {\n return {\n routes: [{ ...route, state: { routes: [] } }],\n };\n }\n }\n};\n\nconst createNestedStateObject = (\n path: string,\n routes: ParsedRoute[],\n initialRoutes: InitialRouteConfig[],\n flatConfig?: RouteConfig[]\n) => {\n let state: InitialState;\n let route = routes.shift() as ParsedRoute;\n const parentScreens: string[] = [];\n\n let initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);\n\n parentScreens.push(route.name);\n\n state = createStateObject(initialRoute, route, routes.length === 0);\n\n if (routes.length > 0) {\n let nestedState = state;\n\n while ((route = routes.shift() as ParsedRoute)) {\n initialRoute = findInitialRoute(route.name, parentScreens, initialRoutes);\n\n const nestedStateIndex =\n nestedState.index || nestedState.routes.length - 1;\n\n nestedState.routes[nestedStateIndex].state = createStateObject(\n initialRoute,\n route,\n routes.length === 0\n );\n\n if (routes.length > 0) {\n nestedState = nestedState.routes[nestedStateIndex]\n .state as InitialState;\n }\n\n parentScreens.push(route.name);\n }\n }\n\n route = findFocusedRoute(state) as ParsedRoute;\n route.path = path;\n\n const params = parseQueryParams(\n path,\n flatConfig ? findParseConfigForRoute(route.name, flatConfig) : undefined\n );\n\n if (params) {\n route.params = { ...route.params, ...params };\n }\n\n return state;\n};\n\nconst parseQueryParams = (\n path: string,\n parseConfig?: Record any>\n) => {\n const query = path.split('?')[1];\n const params = queryString.parse(query);\n\n if (parseConfig) {\n Object.keys(params).forEach((name) => {\n if (parseConfig[name] && typeof params[name] === 'string') {\n params[name] = parseConfig[name](params[name] as string);\n }\n });\n }\n\n return Object.keys(params).length ? params : undefined;\n};\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationHelpers } from './types';\n\n/**\n * Context which holds the navigation helpers of the parent navigator.\n * Navigators should use this context in their view component.\n */\nconst NavigationHelpersContext = React.createContext<\n NavigationHelpers | undefined\n>(undefined);\n\nexport default NavigationHelpersContext;\n","import type {\n DefaultRouterOptions,\n InitialState,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport type * as React from 'react';\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n namespace ReactNavigation {\n // eslint-disable-next-line @typescript-eslint/no-empty-interface\n interface RootParamList {}\n }\n}\n\ntype Keyof = Extract;\n\nexport type DefaultNavigatorOptions<\n ParamList extends ParamListBase,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = DefaultRouterOptions> & {\n /**\n * Optional ID for the navigator. Can be used with `navigation.getParent(id)` to refer to a parent.\n */\n id?: string;\n /**\n * Children React Elements to extract the route configuration from.\n * Only `Screen`, `Group` and `React.Fragment` are supported as children.\n */\n children: React.ReactNode;\n /**\n * Event listeners for all the screens in the navigator.\n */\n screenListeners?:\n | ScreenListeners\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenListeners);\n /**\n * Default options for all screens under this navigator.\n */\n screenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenOptions);\n /**\n * Default options specified by the navigator.\n * It receives the custom options in the arguments if a function is specified.\n */\n defaultScreenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n options: ScreenOptions;\n }) => ScreenOptions);\n};\n\nexport type EventMapBase = Record<\n string,\n { data?: any; canPreventDefault?: boolean }\n>;\n\nexport type EventMapCore = {\n focus: { data: undefined };\n blur: { data: undefined };\n state: { data: { state: State } };\n beforeRemove: { data: { action: NavigationAction }; canPreventDefault: true };\n};\n\nexport type EventArg<\n EventName extends string,\n CanPreventDefault extends boolean | undefined = false,\n Data = undefined\n> = {\n /**\n * Type of the event (e.g. `focus`, `blur`)\n */\n readonly type: EventName;\n readonly target?: string;\n} & (CanPreventDefault extends true\n ? {\n /**\n * Whether `event.preventDefault()` was called on this event object.\n */\n readonly defaultPrevented: boolean;\n /**\n * Prevent the default action which happens on this event.\n */\n preventDefault(): void;\n }\n : {}) &\n (undefined extends Data\n ? { readonly data?: Readonly }\n : { readonly data: Readonly });\n\nexport type EventListenerCallback<\n EventMap extends EventMapBase,\n EventName extends keyof EventMap\n> = (\n e: EventArg<\n Extract,\n EventMap[EventName]['canPreventDefault'],\n EventMap[EventName]['data']\n >\n) => void;\n\nexport type EventConsumer = {\n /**\n * Subscribe to events from the parent navigator.\n *\n * @param type Type of the event (e.g. `focus`, `blur`)\n * @param callback Callback listener which is executed upon receiving the event.\n */\n addListener>(\n type: EventName,\n callback: EventListenerCallback\n ): () => void;\n removeListener>(\n type: EventName,\n callback: EventListenerCallback\n ): void;\n};\n\nexport type EventEmitter = {\n /**\n * Emit an event to child screens.\n *\n * @param options.type Type of the event (e.g. `focus`, `blur`)\n * @param [options.data] Optional information regarding the event.\n * @param [options.target] Key of the target route which should receive the event.\n * If not specified, all routes receive the event.\n */\n emit>(\n options: {\n type: EventName;\n target?: string;\n } & (EventMap[EventName]['canPreventDefault'] extends true\n ? { canPreventDefault: true }\n : {}) &\n (undefined extends EventMap[EventName]['data']\n ? { data?: EventMap[EventName]['data'] }\n : { data: EventMap[EventName]['data'] })\n ): EventArg<\n EventName,\n EventMap[EventName]['canPreventDefault'],\n EventMap[EventName]['data']\n >;\n};\n\nexport class PrivateValueStore {\n /**\n * UGLY HACK! DO NOT USE THE TYPE!!!\n *\n * TypeScript requires a type to be used to be able to infer it.\n * The type should exist as its own without any operations such as union.\n * So we need to figure out a way to store this type in a property.\n * The problem with a normal property is that it shows up in intelliSense.\n * Adding private keyword works, but the annotation is stripped away in declaration.\n * Turns out if we use an empty string, it doesn't show up in intelliSense.\n */\n protected ''?: T;\n}\n\ntype NavigationHelpersCommon<\n ParamList extends ParamListBase,\n State extends NavigationState = NavigationState\n> = {\n /**\n * Dispatch an action or an update function to the router.\n * The update function will receive the current state,\n *\n * @param action Action object or update function.\n */\n dispatch(\n action: NavigationAction | ((state: State) => NavigationAction)\n ): void;\n\n /**\n * Navigate to a route in current navigation tree.\n *\n * @param name Name of the route to navigate to.\n * @param [params] Params object for the route.\n */\n navigate(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n\n /**\n * Navigate to a route in current navigation tree.\n *\n * @param route Object with `key` or `name` for the route to navigate to, and a `params` object.\n */\n navigate(\n options:\n | { key: string; params?: ParamList[RouteName]; merge?: boolean }\n | {\n name: RouteName;\n key?: string;\n params: ParamList[RouteName];\n merge?: boolean;\n }\n ): void;\n\n /**\n * Reset the navigation state to the provided state.\n *\n * @param state Navigation state object.\n */\n reset(state: PartialState | State): void;\n\n /**\n * Go back to the previous route in history.\n */\n goBack(): void;\n\n /**\n * Check if the screen is focused. The method returns `true` if focused, `false` otherwise.\n * Note that this method doesn't re-render screen when the focus changes. So don't use it in `render`.\n * To get notified of focus changes, use `addListener('focus', cb)` and `addListener('blur', cb)`.\n * To conditionally render content based on focus state, use the `useIsFocused` hook.\n */\n isFocused(): boolean;\n\n /**\n * Check if dispatching back action will be handled by navigation.\n * Note that this method doesn't re-render screen when the result changes. So don't use it in `render`.\n */\n canGoBack(): boolean;\n\n /**\n * Returns the name of the navigator specified in the `name` prop.\n * If no name is specified, returns `undefined`.\n */\n getId(): string | undefined;\n\n /**\n * Returns the navigation helpers from a parent navigator based on the ID.\n * If an ID is provided, the navigation helper from the parent navigator with matching ID (including current) will be returned.\n * If no ID is provided, the navigation helper from the immediate parent navigator will be returned.\n *\n * @param id Optional ID of a parent navigator.\n */\n getParent | undefined>(id?: string): T;\n\n /**\n * Returns the navigator's state.\n * Note that this method doesn't re-render screen when the result changes. So don't use it in `render`.\n */\n getState(): State;\n} & PrivateValueStore<[ParamList, unknown, unknown]>;\n\nexport type NavigationHelpers<\n ParamList extends ParamListBase,\n EventMap extends EventMapBase = {}\n> = NavigationHelpersCommon &\n EventEmitter & {\n /**\n * Update the param object for the route.\n * The new params will be shallow merged with the old one.\n *\n * @param params Params object for the current route.\n */\n setParams(\n params: Partial\n ): void;\n };\n\nexport type NavigationContainerProps = {\n /**\n * Initial navigation state for the child navigators.\n */\n initialState?: InitialState;\n /**\n * Callback which is called with the latest navigation state when it changes.\n */\n onStateChange?: (state: NavigationState | undefined) => void;\n /**\n * Callback which is called when an action is not handled.\n */\n onUnhandledAction?: (action: NavigationAction) => void;\n /**\n * Whether this navigation container should be independent of parent containers.\n * If this is not set to `true`, this container cannot be nested inside another container.\n * Setting it to `true` disconnects any children navigators from parent container.\n */\n independent?: boolean;\n /**\n * Children elements to render.\n */\n children: React.ReactNode;\n};\n\nexport type NavigationProp<\n ParamList extends {},\n RouteName extends keyof ParamList = Keyof,\n NavigatorID extends string | undefined = undefined,\n State extends NavigationState = NavigationState,\n ScreenOptions extends {} = {},\n EventMap extends EventMapBase = {}\n> = Omit, 'getParent'> & {\n /**\n * Returns the navigation prop from a parent navigator based on the ID.\n * If an ID is provided, the navigation prop from the parent navigator with matching ID (including current) will be returned.\n * If no ID is provided, the navigation prop from the immediate parent navigator will be returned.\n *\n * @param id Optional ID of a parent navigator.\n */\n getParent | undefined>(id?: NavigatorID): T;\n\n /**\n * Update the param object for the route.\n * The new params will be shallow merged with the old one.\n *\n * @param params Params object for the current route.\n */\n setParams(params: Partial): void;\n\n /**\n * Update the options for the route.\n * The options object will be shallow merged with default options object.\n *\n * @param options Options object for the route.\n */\n setOptions(options: Partial): void;\n} & EventConsumer> &\n PrivateValueStore<[ParamList, RouteName, EventMap]>;\n\nexport type RouteProp<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList = Keyof\n> = Route, ParamList[RouteName]>;\n\nexport type CompositeNavigationProp<\n A extends NavigationProp,\n B extends NavigationHelpersCommon\n> = Omit> &\n NavigationProp<\n /**\n * Param list from both navigation objects needs to be combined\n * For example, we should be able to navigate to screens in both A and B\n */\n (A extends NavigationHelpersCommon ? T : never) &\n (B extends NavigationHelpersCommon ? U : never),\n /**\n * The route name should refer to the route name specified in the first type\n * Ideally it should work for any of them, but it's not possible to infer that way\n */\n A extends NavigationProp ? R : string,\n /**\n * ID from both navigation objects needs to be combined for `getParent`\n */\n | (A extends NavigationProp ? I : never)\n | (B extends NavigationProp ? J : never),\n /**\n * The type of state should refer to the state specified in the first type\n */\n A extends NavigationProp ? S : NavigationState,\n /**\n * Screen options from both navigation objects needs to be combined\n * This allows typechecking `setOptions`\n */\n (A extends NavigationProp ? O : {}) &\n (B extends NavigationProp ? P : {}),\n /**\n * Event consumer config should refer to the config specified in the first type\n * This allows typechecking `addListener`/`removeListener`\n */\n A extends NavigationProp ? E : {}\n >;\n\nexport type CompositeScreenProps<\n A extends {\n navigation: NavigationProp<\n ParamListBase,\n string,\n string | undefined,\n any,\n any,\n any\n >;\n route: RouteProp;\n },\n B extends {\n navigation: NavigationHelpersCommon;\n }\n> = {\n navigation: CompositeNavigationProp;\n route: A['route'];\n};\n\nexport type Descriptor<\n ScreenOptions extends {},\n Navigation extends NavigationProp,\n Route extends RouteProp\n> = {\n /**\n * Render the component associated with this route.\n */\n render(): JSX.Element;\n\n /**\n * Options for the route.\n */\n options: ScreenOptions;\n\n /**\n * Route object for the screen\n */\n route: Route;\n\n /**\n * Navigation object for the screen\n */\n navigation: Navigation;\n};\n\nexport type ScreenListeners<\n State extends NavigationState,\n EventMap extends EventMapBase\n> = Partial<{\n [EventName in keyof (EventMap & EventMapCore)]: EventListenerCallback<\n EventMap,\n EventName\n >;\n}>;\n\nexport type RouteConfigComponent<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> =\n | {\n /**\n * React component to render for this screen.\n */\n component: React.ComponentType;\n getComponent?: never;\n children?: never;\n }\n | {\n /**\n * Lazily get a React component to render for this screen.\n */\n getComponent: () => React.ComponentType;\n component?: never;\n children?: never;\n }\n | {\n /**\n * Render callback to render content of this screen.\n */\n children: (props: {\n route: RouteProp;\n navigation: any;\n }) => React.ReactNode;\n component?: never;\n getComponent?: never;\n };\n\nexport type RouteConfig<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = {\n /**\n * Optional key for this screen. This doesn't need to be unique.\n * If the key changes, existing screens with this name will be removed or reset.\n * Useful when we have some common screens and have conditional rendering.\n */\n navigationKey?: string;\n\n /**\n * Route name of this screen.\n */\n name: RouteName;\n\n /**\n * Navigator options for this screen.\n */\n options?:\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenOptions);\n\n /**\n * Event listeners for this screen.\n */\n listeners?:\n | ScreenListeners\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenListeners);\n\n /**\n * Function to return an unique ID for this screen.\n * Receives an object with the route params.\n * For a given screen name, there will always be only one screen corresponding to an ID.\n * If `undefined` is returned, it acts same as no `getId` being specified.\n */\n getId?: ({ params }: { params: ParamList[RouteName] }) => string | undefined;\n\n /**\n * Initial params object for the route.\n */\n initialParams?: Partial;\n} & RouteConfigComponent;\n\nexport type RouteGroupConfig<\n ParamList extends ParamListBase,\n ScreenOptions extends {}\n> = {\n /**\n * Optional key for the screens in this group.\n * If the key changes, all existing screens in this group will be removed or reset.\n */\n navigationKey?: string;\n\n /**\n * Navigator options for this screen.\n */\n screenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenOptions);\n /**\n * Children React Elements to extract the route configuration from.\n * Only `Screen`, `Group` and `React.Fragment` are supported as children.\n */\n children: React.ReactNode;\n};\n\nexport type NavigationContainerEventMap = {\n /**\n * Event which fires when the navigation state changes.\n */\n state: {\n data: {\n /**\n * The updated state object after the state change.\n */\n state: NavigationState | PartialState | undefined;\n };\n };\n /**\n * Event which fires when current options changes.\n */\n options: { data: { options: object } };\n /**\n * Event which fires when an action is dispatched.\n * Only intended for debugging purposes, don't use it for app logic.\n * This event will be emitted before state changes have been applied.\n */\n __unsafe_action__: {\n data: {\n /**\n * The action object which was dispatched.\n */\n action: NavigationAction;\n /**\n * Whether the action was a no-op, i.e. resulted any state changes.\n */\n noop: boolean;\n /**\n * Stack trace of the action, this will only be available during development.\n */\n stack: string | undefined;\n };\n };\n};\n\nexport type NavigationContainerRef =\n NavigationHelpers &\n EventConsumer & {\n /**\n * Reset the navigation state of the root navigator to the provided state.\n *\n * @param state Navigation state object.\n */\n resetRoot(state?: PartialState | NavigationState): void;\n /**\n * Get the rehydrated navigation state of the navigation tree.\n */\n getRootState(): NavigationState;\n /**\n * Get the currently focused navigation route.\n */\n getCurrentRoute(): Route | undefined;\n /**\n * Get the currently focused route's options.\n */\n getCurrentOptions(): object | undefined;\n /**\n * Whether the navigation container is ready to handle actions.\n */\n isReady(): boolean;\n };\n\nexport type NavigationContainerRefWithCurrent =\n NavigationContainerRef & {\n current: NavigationContainerRef | null;\n };\n\nexport type TypedNavigator<\n ParamList extends ParamListBase,\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase,\n Navigator extends React.ComponentType\n> = {\n /**\n * Navigator component which manages the child screens.\n */\n Navigator: React.ComponentType<\n Omit<\n React.ComponentProps,\n keyof DefaultNavigatorOptions\n > &\n DefaultNavigatorOptions\n >;\n /**\n * Component used for grouping multiple route configuration.\n */\n Group: React.ComponentType>;\n /**\n * Component used for specifying route configuration.\n */\n Screen: (\n _: RouteConfig\n ) => null;\n};\n\nexport type NavigatorScreenParams<\n ParamList,\n State extends NavigationState = NavigationState\n> =\n | {\n screen?: never;\n params?: never;\n initial?: never;\n path?: string;\n state: PartialState | State | undefined;\n }\n | {\n [RouteName in keyof ParamList]: undefined extends ParamList[RouteName]\n ? {\n screen: RouteName;\n params?: ParamList[RouteName];\n initial?: boolean;\n path?: string;\n state?: never;\n }\n : {\n screen: RouteName;\n params: ParamList[RouteName];\n initial?: boolean;\n path?: string;\n state?: never;\n };\n }[keyof ParamList];\n\nexport type PathConfig = {\n path?: string;\n exact?: boolean;\n parse?: Record any>;\n stringify?: Record string>;\n screens?: PathConfigMap;\n initialRouteName?: keyof ParamList;\n};\n\nexport type PathConfigMap = {\n [RouteName in keyof ParamList]?: NonNullable<\n ParamList[RouteName]\n > extends NavigatorScreenParams\n ? string | PathConfig\n : string | Omit, 'screens' | 'initialRouteName'>;\n};\n","import * as React from 'react';\n\nimport NavigationContainerRefContext from './NavigationContainerRefContext';\nimport NavigationContext from './NavigationContext';\nimport type { NavigationProp } from './types';\n\n/**\n * Hook to access the navigation prop of the parent screen anywhere.\n *\n * @returns Navigation prop of the parent screen.\n */\nexport default function useNavigation<\n T = NavigationProp\n>(): T {\n const root = React.useContext(NavigationContainerRefContext);\n const navigation = React.useContext(NavigationContext);\n\n if (navigation === undefined && root === undefined) {\n throw new Error(\n \"Couldn't find a navigation object. Is your component inside NavigationContainer?\"\n );\n }\n\n // FIXME: Figure out a better way to do this\n return (navigation ?? root) as unknown as T;\n}\n","import * as React from 'react';\n\nimport useNavigation from './useNavigation';\n\ntype EffectCallback = () => undefined | void | (() => void);\n\n/**\n * Hook to run an effect in a focused screen, similar to `React.useEffect`.\n * This can be used to perform side-effects such as fetching data or subscribing to events.\n * The passed callback should be wrapped in `React.useCallback` to avoid running the effect too often.\n *\n * @param callback Memoized callback containing the effect, should optionally return a cleanup function.\n */\nexport default function useFocusEffect(effect: EffectCallback) {\n const navigation = useNavigation();\n\n if (arguments[1] !== undefined) {\n const message =\n \"You passed a second argument to 'useFocusEffect', but it only accepts one argument. \" +\n \"If you want to pass a dependency array, you can use 'React.useCallback':\\n\\n\" +\n 'useFocusEffect(\\n' +\n ' React.useCallback(() => {\\n' +\n ' // Your code here\\n' +\n ' }, [depA, depB])\\n' +\n ');\\n\\n' +\n 'See usage guide: https://reactnavigation.org/docs/use-focus-effect';\n\n console.error(message);\n }\n\n React.useEffect(() => {\n let isFocused = false;\n let cleanup: undefined | void | (() => void);\n\n const callback = () => {\n const destroy = effect();\n\n if (destroy === undefined || typeof destroy === 'function') {\n return destroy;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n let message =\n 'An effect function must not return anything besides a function, which is used for clean-up.';\n\n if (destroy === null) {\n message +=\n \" You returned 'null'. If your effect does not require clean-up, return 'undefined' (or nothing).\";\n } else if (typeof (destroy as any).then === 'function') {\n message +=\n \"\\n\\nIt looks like you wrote 'useFocusEffect(async () => ...)' or returned a Promise. \" +\n 'Instead, write the async function inside your effect ' +\n 'and call it immediately:\\n\\n' +\n 'useFocusEffect(\\n' +\n ' React.useCallback() => {\\n' +\n ' async function fetchData() {\\n' +\n ' // You can await here\\n' +\n ' const response = await MyAPI.getData(someId);\\n' +\n ' // ...\\n' +\n ' }\\n\\n' +\n ' fetchData();\\n' +\n ' }, [someId])\\n' +\n ');\\n\\n' +\n 'See usage guide: https://reactnavigation.org/docs/use-focus-effect';\n } else {\n message += ` You returned '${JSON.stringify(destroy)}'.`;\n }\n\n console.error(message);\n }\n };\n\n // We need to run the effect on intial render/dep changes if the screen is focused\n if (navigation.isFocused()) {\n cleanup = callback();\n isFocused = true;\n }\n\n const unsubscribeFocus = navigation.addListener('focus', () => {\n // If callback was already called for focus, avoid calling it again\n // The focus event may also fire on intial render, so we guard against runing the effect twice\n if (isFocused) {\n return;\n }\n\n if (cleanup !== undefined) {\n cleanup();\n }\n\n cleanup = callback();\n isFocused = true;\n });\n\n const unsubscribeBlur = navigation.addListener('blur', () => {\n if (cleanup !== undefined) {\n cleanup();\n }\n\n cleanup = undefined;\n isFocused = false;\n });\n\n return () => {\n if (cleanup !== undefined) {\n cleanup();\n }\n\n unsubscribeFocus();\n unsubscribeBlur();\n };\n }, [effect, navigation]);\n}\n","import * as React from 'react';\nimport { useState } from 'react';\n\nimport useNavigation from './useNavigation';\n\n/**\n * Hook to get the current focus state of the screen. Returns a `true` if screen is focused, otherwise `false`.\n * This can be used if a component needs to render something based on the focus state.\n */\nexport default function useIsFocused(): boolean {\n const navigation = useNavigation();\n const [isFocused, setIsFocused] = useState(navigation.isFocused);\n\n const valueToReturn = navigation.isFocused();\n\n if (isFocused !== valueToReturn) {\n // If the value has changed since the last render, we need to update it.\n // This could happen if we missed an update from the event listeners during re-render.\n // React will process this update immediately, so the old subscription value won't be committed.\n // It is still nice to avoid returning a mismatched value though, so let's override the return value.\n // This is the same logic as in https://github.com/facebook/react/tree/master/packages/use-subscription\n setIsFocused(valueToReturn);\n }\n\n React.useEffect(() => {\n const unsubscribeFocus = navigation.addListener('focus', () =>\n setIsFocused(true)\n );\n\n const unsubscribeBlur = navigation.addListener('blur', () =>\n setIsFocused(false)\n );\n\n return () => {\n unsubscribeFocus();\n unsubscribeBlur();\n };\n }, [navigation]);\n\n React.useDebugValue(valueToReturn);\n\n return valueToReturn;\n}\n","/**\n * Compare two arrays with primitive values as the content.\n * We need to make sure that both values and order match.\n */\nexport default function isArrayEqual(a: any[], b: any[]) {\n if (a === b) {\n return true;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n return a.every((it, index) => it === b[index]);\n}\n","import * as React from 'react';\n\n/**\n * Component which prevents updates for children if no props changed\n */\nfunction StaticContainer(props: any) {\n return props.children;\n}\n\nexport default React.memo(StaticContainer, (prevProps: any, nextProps: any) => {\n const prevPropKeys = Object.keys(prevProps);\n const nextPropKeys = Object.keys(nextProps);\n\n if (prevPropKeys.length !== nextPropKeys.length) {\n return false;\n }\n\n for (const key of prevPropKeys) {\n if (key === 'children') {\n continue;\n }\n\n if (prevProps[key] !== nextProps[key]) {\n return false;\n }\n }\n\n return true;\n});\n","import type {\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport EnsureSingleNavigator from './EnsureSingleNavigator';\nimport NavigationStateContext from './NavigationStateContext';\nimport StaticContainer from './StaticContainer';\nimport type { NavigationProp, RouteConfigComponent } from './types';\nimport useOptionsGetters from './useOptionsGetters';\n\ntype Props = {\n screen: RouteConfigComponent & { name: string };\n navigation: NavigationProp<\n ParamListBase,\n string,\n string | undefined,\n State,\n ScreenOptions\n >;\n route: Route;\n routeState: NavigationState | PartialState | undefined;\n getState: () => State;\n setState: (state: State) => void;\n options: object;\n clearOptions: () => void;\n};\n\n/**\n * Component which takes care of rendering the screen for a route.\n * It provides all required contexts and applies optimizations when applicable.\n */\nexport default function SceneView<\n State extends NavigationState,\n ScreenOptions extends {}\n>({\n screen,\n route,\n navigation,\n routeState,\n getState,\n setState,\n options,\n clearOptions,\n}: Props) {\n const navigatorKeyRef = React.useRef();\n const getKey = React.useCallback(() => navigatorKeyRef.current, []);\n\n const { addOptionsGetter } = useOptionsGetters({\n key: route.key,\n options,\n navigation,\n });\n\n const setKey = React.useCallback((key: string) => {\n navigatorKeyRef.current = key;\n }, []);\n\n const getCurrentState = React.useCallback(() => {\n const state = getState();\n const currentRoute = state.routes.find((r) => r.key === route.key);\n\n return currentRoute ? currentRoute.state : undefined;\n }, [getState, route.key]);\n\n const setCurrentState = React.useCallback(\n (child: NavigationState | PartialState | undefined) => {\n const state = getState();\n\n setState({\n ...state,\n routes: state.routes.map((r) =>\n r.key === route.key ? { ...r, state: child } : r\n ),\n });\n },\n [getState, route.key, setState]\n );\n\n const isInitialRef = React.useRef(true);\n\n React.useEffect(() => {\n isInitialRef.current = false;\n });\n\n // Clear options set by this screen when it is unmounted\n React.useEffect(() => {\n return clearOptions;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const getIsInitial = React.useCallback(() => isInitialRef.current, []);\n\n const context = React.useMemo(\n () => ({\n state: routeState,\n getState: getCurrentState,\n setState: setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n }),\n [\n routeState,\n getCurrentState,\n setCurrentState,\n getKey,\n setKey,\n getIsInitial,\n addOptionsGetter,\n ]\n );\n\n const ScreenComponent = screen.getComponent\n ? screen.getComponent()\n : screen.component;\n\n return (\n \n \n \n {ScreenComponent !== undefined ? (\n \n ) : screen.children !== undefined ? (\n screen.children({ navigation, route })\n ) : null}\n \n \n \n );\n}\n","import type {\n NavigationAction,\n NavigationState,\n ParamListBase,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n AddKeyedListener,\n AddListener,\n} from './NavigationBuilderContext';\nimport NavigationContext from './NavigationContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport SceneView from './SceneView';\nimport type {\n Descriptor,\n EventMapBase,\n NavigationHelpers,\n NavigationProp,\n RouteConfig,\n RouteProp,\n} from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\nimport useNavigationCache from './useNavigationCache';\nimport useRouteCache from './useRouteCache';\n\nexport type ScreenConfigWithParent<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = {\n keys: (string | undefined)[];\n options: (ScreenOptionsOrCallback | undefined)[] | undefined;\n props: RouteConfig;\n};\n\ntype ScreenOptionsOrCallback =\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n }) => ScreenOptions);\n\ntype Options<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n> = {\n state: State;\n screens: Record<\n string,\n ScreenConfigWithParent\n >;\n navigation: NavigationHelpers;\n screenOptions?: ScreenOptionsOrCallback;\n defaultScreenOptions?:\n | ScreenOptions\n | ((props: {\n route: RouteProp;\n navigation: any;\n options: ScreenOptions;\n }) => ScreenOptions);\n onAction: (action: NavigationAction) => boolean;\n getState: () => State;\n setState: (state: State) => void;\n addListener: AddListener;\n addKeyedListener: AddKeyedListener;\n onRouteFocus: (key: string) => void;\n router: Router;\n emitter: NavigationEventEmitter;\n};\n\n/**\n * Hook to create descriptor objects for the child routes.\n *\n * A descriptor object provides 3 things:\n * - Helper method to render a screen\n * - Options specified by the screen for the navigator\n * - Navigation object intended for the route\n */\nexport default function useDescriptors<\n State extends NavigationState,\n ActionHelpers extends Record void>,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>({\n state,\n screens,\n navigation,\n screenOptions,\n defaultScreenOptions,\n onAction,\n getState,\n setState,\n addListener,\n addKeyedListener,\n onRouteFocus,\n router,\n emitter,\n}: Options) {\n const [options, setOptions] = React.useState>({});\n const { onDispatchAction, onOptionsChange, stackRef } = React.useContext(\n NavigationBuilderContext\n );\n\n const context = React.useMemo(\n () => ({\n navigation,\n onAction,\n addListener,\n addKeyedListener,\n onRouteFocus,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n }),\n [\n navigation,\n onAction,\n addListener,\n addKeyedListener,\n onRouteFocus,\n onDispatchAction,\n onOptionsChange,\n stackRef,\n ]\n );\n\n const navigations = useNavigationCache({\n state,\n getState,\n navigation,\n setOptions,\n router,\n emitter,\n });\n\n const routes = useRouteCache(state.routes);\n\n return routes.reduce<\n Record<\n string,\n Descriptor<\n ScreenOptions,\n NavigationProp<\n ParamListBase,\n string,\n string | undefined,\n State,\n ScreenOptions,\n EventMap\n > &\n ActionHelpers,\n RouteProp\n >\n >\n >((acc, route, i) => {\n const config = screens[route.name];\n const screen = config.props;\n const navigation = navigations[route.key];\n\n const optionsList = [\n // The default `screenOptions` passed to the navigator\n screenOptions,\n // The `screenOptions` props passed to `Group` elements\n ...((config.options\n ? config.options.filter(Boolean)\n : []) as ScreenOptionsOrCallback[]),\n // The `options` prop passed to `Screen` elements,\n screen.options,\n // The options set via `navigation.setOptions`\n options[route.key],\n ];\n\n const customOptions = optionsList.reduce(\n (acc, curr) =>\n Object.assign(\n acc,\n typeof curr !== 'function' ? curr : curr({ route, navigation })\n ),\n {} as ScreenOptions\n );\n\n const mergedOptions = {\n ...(typeof defaultScreenOptions === 'function'\n ? // @ts-expect-error: ts gives incorrect error here\n defaultScreenOptions({\n route,\n navigation,\n options: customOptions,\n })\n : defaultScreenOptions),\n ...customOptions,\n };\n\n const clearOptions = () =>\n setOptions((o) => {\n if (route.key in o) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [route.key]: _, ...rest } = o;\n return rest;\n }\n\n return o;\n });\n\n acc[route.key] = {\n route,\n // @ts-expect-error: it's missing action helpers, fix later\n navigation,\n render() {\n return (\n \n \n \n \n \n \n \n );\n },\n options: mergedOptions as ScreenOptions,\n };\n\n return acc;\n }, {});\n}\n","import {\n CommonActions,\n NavigationAction,\n NavigationState,\n ParamListBase,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext from './NavigationBuilderContext';\nimport type { NavigationHelpers, NavigationProp } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\ntype Options<\n State extends NavigationState,\n EventMap extends Record\n> = {\n state: State;\n getState: () => State;\n navigation: NavigationHelpers &\n Partial>;\n setOptions: (\n cb: (options: Record) => Record\n ) => void;\n router: Router;\n emitter: NavigationEventEmitter;\n};\n\ntype NavigationCache<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends Record\n> = Record<\n string,\n NavigationProp<\n ParamListBase,\n string,\n string | undefined,\n State,\n ScreenOptions,\n EventMap\n >\n>;\n\n/**\n * Hook to cache navigation objects for each screen in the navigator.\n * It's important to cache them to make sure navigation objects don't change between renders.\n * This lets us apply optimizations like `React.memo` to minimize re-rendering screens.\n */\nexport default function useNavigationCache<\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends Record\n>({\n state,\n getState,\n navigation,\n setOptions,\n router,\n emitter,\n}: Options) {\n const { stackRef } = React.useContext(NavigationBuilderContext);\n\n // Cache object which holds navigation objects for each screen\n // We use `React.useMemo` instead of `React.useRef` coz we want to invalidate it when deps change\n // In reality, these deps will rarely change, if ever\n const cache = React.useMemo(\n () => ({ current: {} as NavigationCache }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [getState, navigation, setOptions, router, emitter]\n );\n\n const actions = {\n ...router.actionCreators,\n ...CommonActions,\n };\n\n cache.current = state.routes.reduce<\n NavigationCache\n >((acc, route) => {\n const previous = cache.current[route.key];\n\n type Thunk =\n | NavigationAction\n | ((state: State) => NavigationAction | null | undefined);\n\n if (previous) {\n // If a cached navigation object already exists, reuse it\n acc[route.key] = previous;\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { emit, ...rest } = navigation;\n\n const dispatch = (thunk: Thunk) => {\n const action = typeof thunk === 'function' ? thunk(getState()) : thunk;\n\n if (action != null) {\n navigation.dispatch({ source: route.key, ...action });\n }\n };\n\n const withStack = (callback: () => void) => {\n let isStackSet = false;\n\n try {\n if (\n process.env.NODE_ENV !== 'production' &&\n stackRef &&\n !stackRef.current\n ) {\n // Capture the stack trace for devtools\n stackRef.current = new Error().stack;\n isStackSet = true;\n }\n\n callback();\n } finally {\n if (isStackSet && stackRef) {\n stackRef.current = undefined;\n }\n }\n };\n\n const helpers = Object.keys(actions).reduce void>>(\n (acc, name) => {\n acc[name] = (...args: any) =>\n withStack(() =>\n // @ts-expect-error: name is a valid key, but TypeScript is dumb\n dispatch(actions[name](...args))\n );\n\n return acc;\n },\n {}\n );\n\n acc[route.key] = {\n ...rest,\n ...helpers,\n // FIXME: too much work to fix the types for now\n ...(emitter.create(route.key) as any),\n dispatch: (thunk: Thunk) => withStack(() => dispatch(thunk)),\n getParent: (id?: string) => {\n if (id !== undefined && id === rest.getId()) {\n // If the passed id is the same as the current navigation id,\n // we return the cached navigation object for the relevant route\n return acc[route.key];\n }\n\n return rest.getParent(id);\n },\n setOptions: (options: object) =>\n setOptions((o) => ({\n ...o,\n [route.key]: { ...o[route.key], ...options },\n })),\n isFocused: () => {\n const state = getState();\n\n if (state.routes[state.index].key !== route.key) {\n return false;\n }\n\n // If the current screen is focused, we also need to check if parent navigator is focused\n // This makes sure that we return the focus state in the whole tree, not just this navigator\n return navigation ? navigation.isFocused() : true;\n },\n };\n }\n\n return acc;\n }, {});\n\n return cache.current;\n}\n","import type {\n NavigationAction,\n NavigationState,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n ChildBeforeRemoveListener,\n} from './NavigationBuilderContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport type { EventMapCore } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\ntype Options = {\n getState: () => NavigationState;\n emitter: NavigationEventEmitter>;\n beforeRemoveListeners: Record;\n};\n\nconst VISITED_ROUTE_KEYS = Symbol('VISITED_ROUTE_KEYS');\n\nexport const shouldPreventRemove = (\n emitter: NavigationEventEmitter>,\n beforeRemoveListeners: Record,\n currentRoutes: { key: string }[],\n nextRoutes: { key?: string | undefined }[],\n action: NavigationAction\n) => {\n const nextRouteKeys = nextRoutes.map((route) => route.key);\n\n // Call these in reverse order so last screens handle the event first\n const removedRoutes = currentRoutes\n .filter((route) => !nextRouteKeys.includes(route.key))\n .reverse();\n\n const visitedRouteKeys: Set =\n // @ts-expect-error: add this property to mark that we've already emitted this action\n action[VISITED_ROUTE_KEYS] ?? new Set();\n\n const beforeRemoveAction = {\n ...action,\n [VISITED_ROUTE_KEYS]: visitedRouteKeys,\n };\n\n for (const route of removedRoutes) {\n if (visitedRouteKeys.has(route.key)) {\n // Skip if we've already emitted this action for this screen\n continue;\n }\n\n // First, we need to check if any child screens want to prevent it\n const isPrevented = beforeRemoveListeners[route.key]?.(beforeRemoveAction);\n\n if (isPrevented) {\n return true;\n }\n\n visitedRouteKeys.add(route.key);\n\n const event = emitter.emit({\n type: 'beforeRemove',\n target: route.key,\n data: { action: beforeRemoveAction },\n canPreventDefault: true,\n });\n\n if (event.defaultPrevented) {\n return true;\n }\n }\n\n return false;\n};\n\nexport default function useOnPreventRemove({\n getState,\n emitter,\n beforeRemoveListeners,\n}: Options) {\n const { addKeyedListener } = React.useContext(NavigationBuilderContext);\n const route = React.useContext(NavigationRouteContext);\n const routeKey = route?.key;\n\n React.useEffect(() => {\n if (routeKey) {\n return addKeyedListener?.('beforeRemove', routeKey, (action) => {\n const state = getState();\n\n return shouldPreventRemove(\n emitter,\n beforeRemoveListeners,\n state.routes,\n [],\n action\n );\n });\n }\n }, [addKeyedListener, beforeRemoveListeners, emitter, getState, routeKey]);\n}\n","import type {\n NavigationAction,\n NavigationState,\n PartialState,\n Router,\n RouterConfigOptions,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n ChildActionListener,\n ChildBeforeRemoveListener,\n} from './NavigationBuilderContext';\nimport type { EventMapCore } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\nimport useOnPreventRemove, { shouldPreventRemove } from './useOnPreventRemove';\n\ntype Options = {\n router: Router;\n key?: string;\n getState: () => NavigationState;\n setState: (state: NavigationState | PartialState) => void;\n actionListeners: ChildActionListener[];\n beforeRemoveListeners: Record;\n routerConfigOptions: RouterConfigOptions;\n emitter: NavigationEventEmitter>;\n};\n\n/**\n * Hook to handle actions for a navigator, including state updates and bubbling.\n *\n * Bubbling an action is achieved in 2 ways:\n * 1. To bubble action to parent, we expose the action handler in context and then access the parent context\n * 2. To bubble action to child, child adds event listeners subscribing to actions from parent\n *\n * When the action handler handles as action, it returns `true`, otherwise `false`.\n */\nexport default function useOnAction({\n router,\n getState,\n setState,\n key,\n actionListeners,\n beforeRemoveListeners,\n routerConfigOptions,\n emitter,\n}: Options) {\n const {\n onAction: onActionParent,\n onRouteFocus: onRouteFocusParent,\n addListener: addListenerParent,\n onDispatchAction,\n } = React.useContext(NavigationBuilderContext);\n\n const routerConfigOptionsRef =\n React.useRef(routerConfigOptions);\n\n React.useEffect(() => {\n routerConfigOptionsRef.current = routerConfigOptions;\n });\n\n const onAction = React.useCallback(\n (\n action: NavigationAction,\n visitedNavigators: Set = new Set()\n ) => {\n const state = getState();\n\n // Since actions can bubble both up and down, they could come to the same navigator again\n // We keep track of navigators which have already tried to handle the action and return if it's already visited\n if (visitedNavigators.has(state.key)) {\n return false;\n }\n\n visitedNavigators.add(state.key);\n\n if (typeof action.target !== 'string' || action.target === state.key) {\n let result = router.getStateForAction(\n state,\n action,\n routerConfigOptionsRef.current\n );\n\n // If a target is specified and set to current navigator, the action shouldn't bubble\n // So instead of `null`, we use the state object for such cases to signal that action was handled\n result =\n result === null && action.target === state.key ? state : result;\n\n if (result !== null) {\n onDispatchAction(action, state === result);\n\n if (state !== result) {\n const isPrevented = shouldPreventRemove(\n emitter,\n beforeRemoveListeners,\n state.routes,\n result.routes,\n action\n );\n\n if (isPrevented) {\n return true;\n }\n\n setState(result);\n }\n\n if (onRouteFocusParent !== undefined) {\n // Some actions such as `NAVIGATE` also want to bring the navigated route to focus in the whole tree\n // This means we need to focus all of the parent navigators of this navigator as well\n const shouldFocus = router.shouldActionChangeFocus(action);\n\n if (shouldFocus && key !== undefined) {\n onRouteFocusParent(key);\n }\n }\n\n return true;\n }\n }\n\n if (onActionParent !== undefined) {\n // Bubble action to the parent if the current navigator didn't handle it\n if (onActionParent(action, visitedNavigators)) {\n return true;\n }\n }\n\n // If the action wasn't handled by current navigator or a parent navigator, let children handle it\n for (let i = actionListeners.length - 1; i >= 0; i--) {\n const listener = actionListeners[i];\n\n if (listener(action, visitedNavigators)) {\n return true;\n }\n }\n\n return false;\n },\n [\n actionListeners,\n beforeRemoveListeners,\n emitter,\n getState,\n key,\n onActionParent,\n onDispatchAction,\n onRouteFocusParent,\n router,\n setState,\n ]\n );\n\n useOnPreventRemove({\n getState,\n emitter,\n beforeRemoveListeners,\n });\n\n React.useEffect(\n () => addListenerParent?.('action', onAction),\n [addListenerParent, onAction]\n );\n\n return onAction;\n}\n","import {\n CommonActions,\n DefaultRouterOptions,\n NavigationAction,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n Router,\n RouterConfigOptions,\n RouterFactory,\n} from '@react-navigation/routers';\nimport * as React from 'react';\nimport { isValidElementType } from 'react-is';\n\nimport Group from './Group';\nimport isArrayEqual from './isArrayEqual';\nimport isRecordEqual from './isRecordEqual';\nimport NavigationHelpersContext from './NavigationHelpersContext';\nimport NavigationRouteContext from './NavigationRouteContext';\nimport NavigationStateContext from './NavigationStateContext';\nimport Screen from './Screen';\nimport {\n DefaultNavigatorOptions,\n EventMapBase,\n EventMapCore,\n NavigatorScreenParams,\n PrivateValueStore,\n RouteConfig,\n} from './types';\nimport useChildListeners from './useChildListeners';\nimport useComponent from './useComponent';\nimport useCurrentRender from './useCurrentRender';\nimport useDescriptors, { ScreenConfigWithParent } from './useDescriptors';\nimport useEventEmitter from './useEventEmitter';\nimport useFocusedListenersChildrenAdapter from './useFocusedListenersChildrenAdapter';\nimport useFocusEvents from './useFocusEvents';\nimport useKeyedChildListeners from './useKeyedChildListeners';\nimport useNavigationHelpers from './useNavigationHelpers';\nimport useOnAction from './useOnAction';\nimport useOnGetState from './useOnGetState';\nimport useOnRouteFocus from './useOnRouteFocus';\nimport useRegisterNavigator from './useRegisterNavigator';\nimport useScheduleUpdate from './useScheduleUpdate';\n\n// This is to make TypeScript compiler happy\n// eslint-disable-next-line babel/no-unused-expressions\nPrivateValueStore;\n\ntype NavigatorRoute = {\n key: string;\n params?: NavigatorScreenParams;\n};\n\nconst isValidKey = (key: unknown) =>\n key === undefined || (typeof key === 'string' && key !== '');\n\n/**\n * Extract route config object from React children elements.\n *\n * @param children React Elements to extract the config from.\n */\nconst getRouteConfigsFromChildren = <\n State extends NavigationState,\n ScreenOptions extends {},\n EventMap extends EventMapBase\n>(\n children: React.ReactNode,\n groupKey?: string,\n groupOptions?: ScreenConfigWithParent<\n State,\n ScreenOptions,\n EventMap\n >['options']\n) => {\n const configs = React.Children.toArray(children).reduce<\n ScreenConfigWithParent[]\n >((acc, child) => {\n if (React.isValidElement(child)) {\n if (child.type === Screen) {\n // We can only extract the config from `Screen` elements\n // If something else was rendered, it's probably a bug\n\n if (!isValidKey(child.props.navigationKey)) {\n throw new Error(\n `Got an invalid 'navigationKey' prop (${JSON.stringify(\n child.props.navigationKey\n )}) for the screen '${\n child.props.name\n }'. It must be a non-empty string or 'undefined'.`\n );\n }\n\n acc.push({\n keys: [groupKey, child.props.navigationKey],\n options: groupOptions,\n props: child.props as RouteConfig<\n ParamListBase,\n string,\n State,\n ScreenOptions,\n EventMap\n >,\n });\n return acc;\n }\n\n if (child.type === React.Fragment || child.type === Group) {\n if (!isValidKey(child.props.navigationKey)) {\n throw new Error(\n `Got an invalid 'navigationKey' prop (${JSON.stringify(\n child.props.navigationKey\n )}) for the group. It must be a non-empty string or 'undefined'.`\n );\n }\n\n // When we encounter a fragment or group, we need to dive into its children to extract the configs\n // This is handy to conditionally define a group of screens\n acc.push(\n ...getRouteConfigsFromChildren(\n child.props.children,\n child.props.navigationKey,\n child.type !== Group\n ? groupOptions\n : groupOptions != null\n ? [...groupOptions, child.props.screenOptions]\n : [child.props.screenOptions]\n )\n );\n return acc;\n }\n }\n\n throw new Error(\n `A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found ${\n React.isValidElement(child)\n ? `'${\n typeof child.type === 'string' ? child.type : child.type?.name\n }'${\n child.props?.name ? ` for the screen '${child.props.name}'` : ''\n }`\n : typeof child === 'object'\n ? JSON.stringify(child)\n : `'${String(child)}'`\n }). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.`\n );\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n configs.forEach((config) => {\n const { name, children, component, getComponent } = config.props;\n\n if (typeof name !== 'string' || !name) {\n throw new Error(\n `Got an invalid name (${JSON.stringify(\n name\n )}) for the screen. It must be a non-empty string.`\n );\n }\n\n if (\n children != null ||\n component !== undefined ||\n getComponent !== undefined\n ) {\n if (children != null && component !== undefined) {\n throw new Error(\n `Got both 'component' and 'children' props for the screen '${name}'. You must pass only one of them.`\n );\n }\n\n if (children != null && getComponent !== undefined) {\n throw new Error(\n `Got both 'getComponent' and 'children' props for the screen '${name}'. You must pass only one of them.`\n );\n }\n\n if (component !== undefined && getComponent !== undefined) {\n throw new Error(\n `Got both 'component' and 'getComponent' props for the screen '${name}'. You must pass only one of them.`\n );\n }\n\n if (children != null && typeof children !== 'function') {\n throw new Error(\n `Got an invalid value for 'children' prop for the screen '${name}'. It must be a function returning a React Element.`\n );\n }\n\n if (component !== undefined && !isValidElementType(component)) {\n throw new Error(\n `Got an invalid value for 'component' prop for the screen '${name}'. It must be a valid React Component.`\n );\n }\n\n if (getComponent !== undefined && typeof getComponent !== 'function') {\n throw new Error(\n `Got an invalid value for 'getComponent' prop for the screen '${name}'. It must be a function returning a React Component.`\n );\n }\n\n if (typeof component === 'function') {\n if (component.name === 'component') {\n // Inline anonymous functions passed in the `component` prop will have the name of the prop\n // It's relatively safe to assume that it's not a component since it should also have PascalCase name\n // We won't catch all scenarios here, but this should catch a good chunk of incorrect use.\n console.warn(\n `Looks like you're passing an inline function for 'component' prop for the screen '${name}' (e.g. component={() => }). Passing an inline function will cause the component state to be lost on re-render and cause perf issues since it's re-created every render. You can pass the function as children to 'Screen' instead to achieve the desired behaviour.`\n );\n } else if (/^[a-z]/.test(component.name)) {\n console.warn(\n `Got a component with the name '${component.name}' for the screen '${name}'. React Components must start with an uppercase letter. If you're passing a regular function and not a component, pass it as children to 'Screen' instead. Otherwise capitalize your component's name.`\n );\n }\n }\n } else {\n throw new Error(\n `Couldn't find a 'component', 'getComponent' or 'children' prop for the screen '${name}'. This can happen if you passed 'undefined'. You likely forgot to export your component from the file it's defined in, or mixed up default import and named import when importing.`\n );\n }\n });\n }\n\n return configs;\n};\n\n/**\n * Hook for building navigators.\n *\n * @param createRouter Factory method which returns router object.\n * @param options Options object containing `children` and additional options for the router.\n * @returns An object containing `state`, `navigation`, `descriptors` objects.\n */\nexport default function useNavigationBuilder<\n State extends NavigationState,\n RouterOptions extends DefaultRouterOptions,\n ActionHelpers extends Record void>,\n ScreenOptions extends {},\n EventMap extends Record\n>(\n createRouter: RouterFactory,\n options: DefaultNavigatorOptions<\n ParamListBase,\n State,\n ScreenOptions,\n EventMap\n > &\n RouterOptions\n) {\n const navigatorKey = useRegisterNavigator();\n\n const route = React.useContext(NavigationRouteContext) as\n | NavigatorRoute\n | undefined;\n\n const { children, screenListeners, ...rest } = options;\n const { current: router } = React.useRef>(\n createRouter({\n ...(rest as unknown as RouterOptions),\n ...(route?.params &&\n route.params.state == null &&\n route.params.initial !== false &&\n typeof route.params.screen === 'string'\n ? { initialRouteName: route.params.screen }\n : null),\n })\n );\n\n const routeConfigs = getRouteConfigsFromChildren<\n State,\n ScreenOptions,\n EventMap\n >(children);\n\n const screens = routeConfigs.reduce<\n Record>\n >((acc, config) => {\n if (config.props.name in acc) {\n throw new Error(\n `A navigator cannot contain multiple 'Screen' components with the same name (found duplicate screen named '${config.props.name}')`\n );\n }\n\n acc[config.props.name] = config;\n return acc;\n }, {});\n\n const routeNames = routeConfigs.map((config) => config.props.name);\n const routeKeyList = routeNames.reduce>(\n (acc, curr) => {\n acc[curr] = screens[curr].keys.map((key) => key ?? '').join(':');\n return acc;\n },\n {}\n );\n const routeParamList = routeNames.reduce>(\n (acc, curr) => {\n const { initialParams } = screens[curr].props;\n acc[curr] = initialParams;\n return acc;\n },\n {}\n );\n const routeGetIdList = routeNames.reduce<\n RouterConfigOptions['routeGetIdList']\n >(\n (acc, curr) =>\n Object.assign(acc, {\n [curr]: screens[curr].props.getId,\n }),\n {}\n );\n\n if (!routeNames.length) {\n throw new Error(\n \"Couldn't find any screens for the navigator. Have you defined any screens as its children?\"\n );\n }\n\n const isStateValid = React.useCallback(\n (state) => state.type === undefined || state.type === router.type,\n [router.type]\n );\n\n const isStateInitialized = React.useCallback(\n (state) =>\n state !== undefined && state.stale === false && isStateValid(state),\n [isStateValid]\n );\n\n const {\n state: currentState,\n getState: getCurrentState,\n setState: setCurrentState,\n setKey,\n getKey,\n getIsInitial,\n } = React.useContext(NavigationStateContext);\n\n const stateCleanedUp = React.useRef(false);\n\n const cleanUpState = React.useCallback(() => {\n setCurrentState(undefined);\n stateCleanedUp.current = true;\n }, [setCurrentState]);\n\n const setState = React.useCallback(\n (state: NavigationState | PartialState | undefined) => {\n if (stateCleanedUp.current) {\n // State might have been already cleaned up due to unmount\n // We do not want to expose API allowing to override this\n // This would lead to old data preservation on main navigator unmount\n return;\n }\n setCurrentState(state);\n },\n [setCurrentState]\n );\n\n const [initializedState, isFirstStateInitialization] = React.useMemo(() => {\n const initialRouteParamList = routeNames.reduce<\n Record\n >((acc, curr) => {\n const { initialParams } = screens[curr].props;\n const initialParamsFromParams =\n route?.params?.state == null &&\n route?.params?.initial !== false &&\n route?.params?.screen === curr\n ? route.params.params\n : undefined;\n\n acc[curr] =\n initialParams !== undefined || initialParamsFromParams !== undefined\n ? {\n ...initialParams,\n ...initialParamsFromParams,\n }\n : undefined;\n\n return acc;\n }, {});\n\n // If the current state isn't initialized on first render, we initialize it\n // We also need to re-initialize it if the state passed from parent was changed (maybe due to reset)\n // Otherwise assume that the state was provided as initial state\n // So we need to rehydrate it to make it usable\n if (\n (currentState === undefined || !isStateValid(currentState)) &&\n route?.params?.state == null\n ) {\n return [\n router.getInitialState({\n routeNames,\n routeParamList: initialRouteParamList,\n routeGetIdList,\n }),\n true,\n ];\n } else {\n return [\n router.getRehydratedState(\n route?.params?.state ?? (currentState as PartialState),\n {\n routeNames,\n routeParamList: initialRouteParamList,\n routeGetIdList,\n }\n ),\n false,\n ];\n }\n // We explicitly don't include routeNames, route.params etc. in the dep list\n // below. We want to avoid forcing a new state to be calculated in those cases\n // Instead, we handle changes to these in the nextState code below. Note\n // that some changes to routeConfigs are explicitly ignored, such as changes\n // to initialParams\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentState, router, isStateValid]);\n\n const previousRouteKeyListRef = React.useRef(routeKeyList);\n\n React.useEffect(() => {\n previousRouteKeyListRef.current = routeKeyList;\n });\n\n const previousRouteKeyList = previousRouteKeyListRef.current;\n\n let state =\n // If the state isn't initialized, or stale, use the state we initialized instead\n // The state won't update until there's a change needed in the state we have initalized locally\n // So it'll be `undefined` or stale until the first navigation event happens\n isStateInitialized(currentState)\n ? (currentState as State)\n : (initializedState as State);\n\n let nextState: State = state;\n\n if (\n !isArrayEqual(state.routeNames, routeNames) ||\n !isRecordEqual(routeKeyList, previousRouteKeyList)\n ) {\n // When the list of route names change, the router should handle it to remove invalid routes\n nextState = router.getStateForRouteNamesChange(state, {\n routeNames,\n routeParamList,\n routeGetIdList,\n routeKeyChanges: Object.keys(routeKeyList).filter(\n (name) =>\n previousRouteKeyList.hasOwnProperty(name) &&\n routeKeyList[name] !== previousRouteKeyList[name]\n ),\n });\n }\n\n const previousNestedParamsRef = React.useRef(route?.params);\n\n React.useEffect(() => {\n previousNestedParamsRef.current = route?.params;\n }, [route?.params]);\n\n if (route?.params) {\n const previousParams = previousNestedParamsRef.current;\n\n let action: CommonActions.Action | undefined;\n\n if (\n typeof route.params.state === 'object' &&\n route.params.state != null &&\n route.params !== previousParams\n ) {\n // If the route was updated with new state, we should reset to it\n action = CommonActions.reset(route.params.state);\n } else if (\n typeof route.params.screen === 'string' &&\n ((route.params.initial === false && isFirstStateInitialization) ||\n route.params !== previousParams)\n ) {\n // If the route was updated with new screen name and/or params, we should navigate there\n action = CommonActions.navigate({\n name: route.params.screen,\n params: route.params.params,\n path: route.params.path,\n });\n }\n\n // The update should be limited to current navigator only, so we call the router manually\n const updatedState = action\n ? router.getStateForAction(nextState, action, {\n routeNames,\n routeParamList,\n routeGetIdList,\n })\n : null;\n\n nextState =\n updatedState !== null\n ? router.getRehydratedState(updatedState, {\n routeNames,\n routeParamList,\n routeGetIdList,\n })\n : nextState;\n }\n\n const shouldUpdate = state !== nextState;\n\n useScheduleUpdate(() => {\n if (shouldUpdate) {\n // If the state needs to be updated, we'll schedule an update\n setState(nextState);\n }\n });\n\n // The up-to-date state will come in next render, but we don't need to wait for it\n // We can't use the outdated state since the screens have changed, which will cause error due to mismatched config\n // So we override the state object we return to use the latest state as soon as possible\n state = nextState;\n\n React.useEffect(() => {\n setKey(navigatorKey);\n\n if (!getIsInitial()) {\n // If it's not initial render, we need to update the state\n // This will make sure that our container gets notifier of state changes due to new mounts\n // This is necessary for proper screen tracking, URL updates etc.\n setState(nextState);\n }\n\n return () => {\n // We need to clean up state for this navigator on unmount\n // We do it in a timeout because we need to detect if another navigator mounted in the meantime\n // For example, if another navigator has started rendering, we should skip cleanup\n // Otherwise, our cleanup step will cleanup state for the other navigator and re-initialize it\n setTimeout(() => {\n if (getCurrentState() !== undefined && getKey() === navigatorKey) {\n cleanUpState();\n }\n }, 0);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // We initialize this ref here to avoid a new getState getting initialized\n // whenever initializedState changes. We want getState to have access to the\n // latest initializedState, but don't need it to change when that happens\n const initializedStateRef = React.useRef();\n initializedStateRef.current = initializedState;\n\n const getState = React.useCallback((): State => {\n const currentState = getCurrentState();\n\n return isStateInitialized(currentState)\n ? (currentState as State)\n : (initializedStateRef.current as State);\n }, [getCurrentState, isStateInitialized]);\n\n const emitter = useEventEmitter>((e) => {\n let routeNames = [];\n\n let route: Route | undefined;\n\n if (e.target) {\n route = state.routes.find((route) => route.key === e.target);\n\n if (route?.name) {\n routeNames.push(route.name);\n }\n } else {\n route = state.routes[state.index];\n routeNames.push(\n ...Object.keys(screens).filter((name) => route?.name === name)\n );\n }\n\n if (route == null) {\n return;\n }\n\n const navigation = descriptors[route.key].navigation;\n\n const listeners = ([] as (((e: any) => void) | undefined)[])\n .concat(\n // Get an array of listeners for all screens + common listeners on navigator\n ...[\n screenListeners,\n ...routeNames.map((name) => {\n const { listeners } = screens[name].props;\n return listeners;\n }),\n ].map((listeners) => {\n const map =\n typeof listeners === 'function'\n ? listeners({ route: route as any, navigation })\n : listeners;\n\n return map\n ? Object.keys(map)\n .filter((type) => type === e.type)\n .map((type) => map?.[type])\n : undefined;\n })\n )\n // We don't want same listener to be called multiple times for same event\n // So we remove any duplicate functions from the array\n .filter((cb, i, self) => cb && self.lastIndexOf(cb) === i);\n\n listeners.forEach((listener) => listener?.(e));\n });\n\n useFocusEvents({ state, emitter });\n\n React.useEffect(() => {\n emitter.emit({ type: 'state', data: { state } });\n }, [emitter, state]);\n\n const { listeners: childListeners, addListener } = useChildListeners();\n\n const { keyedListeners, addKeyedListener } = useKeyedChildListeners();\n\n const onAction = useOnAction({\n router,\n getState,\n setState,\n key: route?.key,\n actionListeners: childListeners.action,\n beforeRemoveListeners: keyedListeners.beforeRemove,\n routerConfigOptions: {\n routeNames,\n routeParamList,\n routeGetIdList,\n },\n emitter,\n });\n\n const onRouteFocus = useOnRouteFocus({\n router,\n key: route?.key,\n getState,\n setState,\n });\n\n const navigation = useNavigationHelpers<\n State,\n ActionHelpers,\n NavigationAction,\n EventMap\n >({\n id: options.id,\n onAction,\n getState,\n emitter,\n router,\n });\n\n useFocusedListenersChildrenAdapter({\n navigation,\n focusedListeners: childListeners.focus,\n });\n\n useOnGetState({\n getState,\n getStateListeners: keyedListeners.getState,\n });\n\n const descriptors = useDescriptors<\n State,\n ActionHelpers,\n ScreenOptions,\n EventMap\n >({\n state,\n screens,\n navigation,\n screenOptions: options.screenOptions,\n defaultScreenOptions: options.defaultScreenOptions,\n onAction,\n getState,\n setState,\n onRouteFocus,\n addListener,\n addKeyedListener,\n router,\n // @ts-expect-error: this should have both core and custom events, but too much work right now\n emitter,\n });\n\n useCurrentRender({\n state,\n navigation,\n descriptors,\n });\n\n const NavigationContent = useComponent(NavigationHelpersContext.Provider, {\n value: navigation,\n });\n\n return {\n state,\n navigation,\n descriptors,\n NavigationContent,\n };\n}\n","import { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\n\nimport { SingleNavigatorContext } from './EnsureSingleNavigator';\n\n/**\n * Register a navigator in the parent context (either a navigation container or a screen).\n * This is used to prevent multiple navigators under a single container or screen.\n */\nexport default function useRegisterNavigator() {\n const [key] = React.useState(() => nanoid());\n const container = React.useContext(SingleNavigatorContext);\n\n if (container === undefined) {\n throw new Error(\n \"Couldn't register the navigator. Have you wrapped your app with 'NavigationContainer'?\\n\\nThis can also happen if there are multiple copies of '@react-navigation' packages installed.\"\n );\n }\n\n React.useEffect(() => {\n const { register, unregister } = container;\n\n register(key);\n\n return () => unregister(key);\n }, [container, key]);\n\n return key;\n}\n","/**\n * Compare two records with primitive values as the content.\n */\nexport default function isRecordEqual(\n a: Record,\n b: Record\n) {\n if (a === b) {\n return true;\n }\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n return aKeys.every((key) => a[key] === b[key]);\n}\n","import type { NavigationState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationContext from './NavigationContext';\nimport type { EventMapCore } from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\ntype Options = {\n state: State;\n emitter: NavigationEventEmitter>;\n};\n\n/**\n * Hook to take care of emitting `focus` and `blur` events.\n */\nexport default function useFocusEvents({\n state,\n emitter,\n}: Options) {\n const navigation = React.useContext(NavigationContext);\n const lastFocusedKeyRef = React.useRef();\n\n const currentFocusedKey = state.routes[state.index].key;\n\n // When the parent screen changes its focus state, we also need to change child's focus\n // Coz the child screen can't be focused if the parent screen is out of focus\n React.useEffect(\n () =>\n navigation?.addListener('focus', () => {\n lastFocusedKeyRef.current = currentFocusedKey;\n emitter.emit({ type: 'focus', target: currentFocusedKey });\n }),\n [currentFocusedKey, emitter, navigation]\n );\n\n React.useEffect(\n () =>\n navigation?.addListener('blur', () => {\n lastFocusedKeyRef.current = undefined;\n emitter.emit({ type: 'blur', target: currentFocusedKey });\n }),\n [currentFocusedKey, emitter, navigation]\n );\n\n React.useEffect(() => {\n const lastFocusedKey = lastFocusedKeyRef.current;\n\n lastFocusedKeyRef.current = currentFocusedKey;\n\n // We wouldn't have `lastFocusedKey` on initial mount\n // Fire focus event for the current route on mount if there's no parent navigator\n if (lastFocusedKey === undefined && !navigation) {\n emitter.emit({ type: 'focus', target: currentFocusedKey });\n }\n\n // We should only emit events when the focused key changed and navigator is focused\n // When navigator is not focused, screens inside shouldn't receive focused status either\n if (\n lastFocusedKey === currentFocusedKey ||\n !(navigation ? navigation.isFocused() : true)\n ) {\n return;\n }\n\n if (lastFocusedKey === undefined) {\n // Only fire events after initial mount\n return;\n }\n\n emitter.emit({ type: 'blur', target: lastFocusedKey });\n emitter.emit({ type: 'focus', target: currentFocusedKey });\n }, [currentFocusedKey, emitter, navigation]);\n}\n","import type {\n NavigationAction,\n NavigationState,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext from './NavigationBuilderContext';\n\ntype Options = {\n router: Router;\n getState: () => NavigationState;\n setState: (state: NavigationState) => void;\n key?: string;\n};\n\n/**\n * Hook to handle focus actions for a route.\n * Focus action needs to be treated specially, coz when a nested route is focused,\n * the parent navigators also needs to be focused.\n */\nexport default function useOnRouteFocus({\n router,\n getState,\n key: sourceRouteKey,\n setState,\n}: Options) {\n const { onRouteFocus: onRouteFocusParent } = React.useContext(\n NavigationBuilderContext\n );\n\n return React.useCallback(\n (key: string) => {\n const state = getState();\n const result = router.getStateForRouteFocus(state, key);\n\n if (result !== state) {\n setState(result);\n }\n\n if (onRouteFocusParent !== undefined && sourceRouteKey !== undefined) {\n onRouteFocusParent(sourceRouteKey);\n }\n },\n [getState, onRouteFocusParent, router, setState, sourceRouteKey]\n );\n}\n","import {\n CommonActions,\n NavigationAction,\n NavigationState,\n ParamListBase,\n Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationContext from './NavigationContext';\nimport { NavigationHelpers, PrivateValueStore } from './types';\nimport UnhandledActionContext from './UnhandledActionContext';\nimport type { NavigationEventEmitter } from './useEventEmitter';\n\n// This is to make TypeScript compiler happy\n// eslint-disable-next-line babel/no-unused-expressions\nPrivateValueStore;\n\ntype Options = {\n id: string | undefined;\n onAction: (action: NavigationAction) => boolean;\n getState: () => State;\n emitter: NavigationEventEmitter;\n router: Router;\n};\n\n/**\n * Navigation object with helper methods to be used by a navigator.\n * This object includes methods for common actions as well as methods the parent screen's navigation object.\n */\nexport default function useNavigationHelpers<\n State extends NavigationState,\n ActionHelpers extends Record void>,\n Action extends NavigationAction,\n EventMap extends Record\n>({\n id: navigatorId,\n onAction,\n getState,\n emitter,\n router,\n}: Options) {\n const onUnhandledAction = React.useContext(UnhandledActionContext);\n const parentNavigationHelpers = React.useContext(NavigationContext);\n\n return React.useMemo(() => {\n const dispatch = (op: Action | ((state: State) => Action)) => {\n const action = typeof op === 'function' ? op(getState()) : op;\n\n const handled = onAction(action);\n\n if (!handled) {\n onUnhandledAction?.(action);\n }\n };\n\n const actions = {\n ...router.actionCreators,\n ...CommonActions,\n };\n\n const helpers = Object.keys(actions).reduce((acc, name) => {\n // @ts-expect-error: name is a valid key, but TypeScript is dumb\n acc[name] = (...args: any) => dispatch(actions[name](...args));\n return acc;\n }, {} as ActionHelpers);\n\n const navigationHelpers = {\n ...parentNavigationHelpers,\n ...helpers,\n dispatch,\n emit: emitter.emit,\n isFocused: parentNavigationHelpers\n ? parentNavigationHelpers.isFocused\n : () => true,\n canGoBack: () => {\n const state = getState();\n\n return (\n router.getStateForAction(state, CommonActions.goBack() as Action, {\n routeNames: state.routeNames,\n routeParamList: {},\n routeGetIdList: {},\n }) !== null ||\n parentNavigationHelpers?.canGoBack() ||\n false\n );\n },\n getId: () => navigatorId,\n getParent: (id?: string) => {\n if (id !== undefined) {\n let current = navigationHelpers;\n\n while (current && id !== current.getId()) {\n current = current.getParent();\n }\n\n return current;\n }\n\n return parentNavigationHelpers;\n },\n getState,\n } as NavigationHelpers & ActionHelpers;\n\n return navigationHelpers;\n }, [\n navigatorId,\n emitter.emit,\n getState,\n onAction,\n onUnhandledAction,\n parentNavigationHelpers,\n router,\n ]);\n}\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationBuilderContext, {\n FocusedNavigationCallback,\n FocusedNavigationListener,\n} from './NavigationBuilderContext';\nimport type { NavigationHelpers } from './types';\n\ntype Options = {\n navigation: NavigationHelpers;\n focusedListeners: FocusedNavigationListener[];\n};\n\n/**\n * Hook for passing focus callback to children\n */\nexport default function useFocusedListenersChildrenAdapter({\n navigation,\n focusedListeners,\n}: Options) {\n const { addListener } = React.useContext(NavigationBuilderContext);\n\n const listener = React.useCallback(\n (callback: FocusedNavigationCallback) => {\n if (navigation.isFocused()) {\n for (const listener of focusedListeners) {\n const { handled, result } = listener(callback);\n\n if (handled) {\n return { handled, result };\n }\n }\n\n return { handled: true, result: callback(navigation) };\n } else {\n return { handled: false, result: null };\n }\n },\n [focusedListeners, navigation]\n );\n\n React.useEffect(\n () => addListener?.('focus', listener),\n [addListener, listener]\n );\n}\n","import type { NavigationState } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport isArrayEqual from './isArrayEqual';\nimport NavigationBuilderContext, {\n GetStateListener,\n} from './NavigationBuilderContext';\nimport NavigationRouteContext from './NavigationRouteContext';\n\ntype Options = {\n getState: () => NavigationState;\n getStateListeners: Record;\n};\n\nexport default function useOnGetState({\n getState,\n getStateListeners,\n}: Options) {\n const { addKeyedListener } = React.useContext(NavigationBuilderContext);\n const route = React.useContext(NavigationRouteContext);\n const key = route ? route.key : 'root';\n\n const getRehydratedState = React.useCallback(() => {\n const state = getState();\n\n // Avoid returning new route objects if we don't need to\n const routes = state.routes.map((route) => {\n const childState = getStateListeners[route.key]?.();\n\n if (route.state === childState) {\n return route;\n }\n\n return { ...route, state: childState };\n });\n\n if (isArrayEqual(state.routes, routes)) {\n return state;\n }\n\n return { ...state, routes };\n }, [getState, getStateListeners]);\n\n React.useEffect(() => {\n return addKeyedListener?.('getState', key, getRehydratedState);\n }, [addKeyedListener, getRehydratedState, key]);\n}\n","import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport CurrentRenderContext from './CurrentRenderContext';\nimport type {\n Descriptor,\n NavigationHelpers,\n NavigationProp,\n RouteProp,\n} from './types';\n\ntype Options = {\n state: NavigationState;\n navigation: NavigationHelpers;\n descriptors: Record<\n string,\n Descriptor, RouteProp>\n >;\n};\n\n/**\n * Write the current options, so that server renderer can get current values\n * Mutating values like this is not safe in async mode, but it doesn't apply to SSR\n */\nexport default function useCurrentRender({\n state,\n navigation,\n descriptors,\n}: Options) {\n const current = React.useContext(CurrentRenderContext);\n\n if (current && navigation.isFocused()) {\n current.options = descriptors[state.routes[state.index].key].options;\n }\n}\n","import * as React from 'react';\n\nexport default function useComponent<\n T extends React.ComponentType,\n P extends {}\n>(Component: T, props: P) {\n const propsRef = React.useRef

(props);\n\n // Normally refs shouldn't be mutated in render\n // But we return a component which will be rendered\n // So it's just for immediate consumption\n propsRef.current = props;\n\n React.useEffect(() => {\n propsRef.current = null;\n });\n\n return React.useRef((rest: Omit, keyof P>) => {\n const props = propsRef.current;\n\n if (props === null) {\n throw new Error(\n 'The returned component must be rendered in the same render phase as the hook.'\n );\n }\n\n // @ts-expect-error: the props should be fine here\n return ;\n }).current;\n}\n","import * as React from 'react';\n\nimport createNavigationContainerRef from './createNavigationContainerRef';\nimport type { NavigationContainerRefWithCurrent } from './types';\n\nexport default function useNavigationContainerRef<\n ParamList extends {} = ReactNavigation.RootParamList\n>(): NavigationContainerRefWithCurrent {\n const navigation =\n React.useRef | null>(null);\n\n if (navigation.current == null) {\n navigation.current = createNavigationContainerRef();\n }\n\n return navigation.current;\n}\n","import type { NavigationState, ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport type { NavigationProp } from './types';\nimport useNavigation from './useNavigation';\n\ntype Selector = (\n state: NavigationState\n) => T;\n\n/**\n * Hook to get a value from the current navigation state using a selector.\n *\n * @param selector Selector function to get a value from the state.\n */\nexport default function useNavigationState(\n selector: Selector\n): T {\n const navigation = useNavigation>();\n\n // We don't care about the state value, we run the selector again at the end\n // The state is only to make sure that there's a re-render when we have a new value\n const [, setResult] = React.useState(() => selector(navigation.getState()));\n\n // We store the selector in a ref to avoid re-subscribing listeners every render\n const selectorRef = React.useRef(selector);\n\n React.useEffect(() => {\n selectorRef.current = selector;\n });\n\n React.useEffect(() => {\n const unsubscribe = navigation.addListener('state', (e) => {\n setResult(selectorRef.current(e.data.state));\n });\n\n return unsubscribe;\n }, [navigation]);\n\n return selector(navigation.getState());\n}\n","import type { ParamListBase } from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport NavigationRouteContext from './NavigationRouteContext';\nimport type { RouteProp } from './types';\n\n/**\n * Hook to access the route prop of the parent screen anywhere.\n *\n * @returns Route prop of the parent screen.\n */\nexport default function useRoute>(): T {\n const route = React.useContext(NavigationRouteContext);\n\n if (route === undefined) {\n throw new Error(\n \"Couldn't find a route object. Is your component inside a screen in a navigator?\"\n );\n }\n\n return route as T;\n}\n","import { nanoid } from 'nanoid/non-secure';\n\nimport type {\n CommonNavigationAction,\n NavigationState,\n PartialState,\n} from './types';\n\n/**\n * Base router object that can be used when writing custom routers.\n * This provides few helper methods to handle common actions such as `RESET`.\n */\nconst BaseRouter = {\n getStateForAction(\n state: State,\n action: CommonNavigationAction\n ): State | PartialState | null {\n switch (action.type) {\n case 'SET_PARAMS': {\n const index = action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index === -1) {\n return null;\n }\n\n return {\n ...state,\n routes: state.routes.map((r, i) =>\n i === index\n ? { ...r, params: { ...r.params, ...action.payload.params } }\n : r\n ),\n };\n }\n\n case 'RESET': {\n const nextState = action.payload as State | PartialState;\n\n if (\n nextState.routes.length === 0 ||\n nextState.routes.some(\n (route: { name: string }) => !state.routeNames.includes(route.name)\n )\n ) {\n return null;\n }\n\n if (nextState.stale === false) {\n if (\n state.routeNames.length !== nextState.routeNames.length ||\n nextState.routeNames.some(\n (name) => !state.routeNames.includes(name)\n )\n ) {\n return null;\n }\n\n return {\n ...nextState,\n routes: nextState.routes.map((route) =>\n route.key ? route : { ...route, key: `${route.name}-${nanoid()}` }\n ),\n };\n }\n\n return nextState;\n }\n\n default:\n return null;\n }\n },\n\n shouldActionChangeFocus(action: CommonNavigationAction) {\n return action.type === 'NAVIGATE';\n },\n};\n\nexport default BaseRouter;\n","import { nanoid } from 'nanoid/non-secure';\n\nimport BaseRouter from './BaseRouter';\nimport type {\n CommonNavigationAction,\n DefaultRouterOptions,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n Router,\n} from './types';\n\nexport type TabActionType = {\n type: 'JUMP_TO';\n payload: { name: string; params?: object };\n source?: string;\n target?: string;\n};\n\nexport type BackBehavior =\n | 'initialRoute'\n | 'firstRoute'\n | 'history'\n | 'order'\n | 'none';\n\nexport type TabRouterOptions = DefaultRouterOptions & {\n backBehavior?: BackBehavior;\n};\n\nexport type TabNavigationState = Omit<\n NavigationState,\n 'history'\n> & {\n /**\n * Type of the router, in this case, it's tab.\n */\n type: 'tab';\n /**\n * List of previously visited route keys.\n */\n history: { type: 'route'; key: string }[];\n};\n\nexport type TabActionHelpers = {\n /**\n * Jump to an existing tab.\n *\n * @param name Name of the route for the tab.\n * @param [params] Params object for the route.\n */\n jumpTo>(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n};\n\nconst TYPE_ROUTE = 'route' as const;\n\nexport const TabActions = {\n jumpTo(name: string, params?: object): TabActionType {\n return { type: 'JUMP_TO', payload: { name, params } };\n },\n};\n\nconst getRouteHistory = (\n routes: Route[],\n index: number,\n backBehavior: BackBehavior,\n initialRouteName: string | undefined\n) => {\n const history = [{ type: TYPE_ROUTE, key: routes[index].key }];\n let initialRouteIndex;\n\n switch (backBehavior) {\n case 'order':\n for (let i = index; i > 0; i--) {\n history.unshift({ type: TYPE_ROUTE, key: routes[i - 1].key });\n }\n break;\n case 'firstRoute':\n if (index !== 0) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[0].key,\n });\n }\n break;\n case 'initialRoute':\n initialRouteIndex = routes.findIndex(\n (route) => route.name === initialRouteName\n );\n initialRouteIndex = initialRouteIndex === -1 ? 0 : initialRouteIndex;\n\n if (index !== initialRouteIndex) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[initialRouteIndex].key,\n });\n }\n break;\n case 'history':\n // The history will fill up on navigation\n break;\n }\n\n return history;\n};\n\nconst changeIndex = (\n state: TabNavigationState,\n index: number,\n backBehavior: BackBehavior,\n initialRouteName: string | undefined\n) => {\n let history;\n\n if (backBehavior === 'history') {\n const currentKey = state.routes[index].key;\n\n history = state.history\n .filter((it) => (it.type === 'route' ? it.key !== currentKey : false))\n .concat({ type: TYPE_ROUTE, key: currentKey });\n } else {\n history = getRouteHistory(\n state.routes,\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n return {\n ...state,\n index,\n history,\n };\n};\n\nexport default function TabRouter({\n initialRouteName,\n backBehavior = 'firstRoute',\n}: TabRouterOptions) {\n const router: Router<\n TabNavigationState,\n TabActionType | CommonNavigationAction\n > = {\n ...BaseRouter,\n\n type: 'tab',\n\n getInitialState({ routeNames, routeParamList }) {\n const index =\n initialRouteName !== undefined && routeNames.includes(initialRouteName)\n ? routeNames.indexOf(initialRouteName)\n : 0;\n\n const routes = routeNames.map((name) => ({\n name,\n key: `${name}-${nanoid()}`,\n params: routeParamList[name],\n }));\n\n const history = getRouteHistory(\n routes,\n index,\n backBehavior,\n initialRouteName\n );\n\n return {\n stale: false,\n type: 'tab',\n key: `tab-${nanoid()}`,\n index,\n routeNames,\n history,\n routes,\n };\n },\n\n getRehydratedState(partialState, { routeNames, routeParamList }) {\n let state = partialState;\n\n if (state.stale === false) {\n return state;\n }\n\n const routes = routeNames.map((name) => {\n const route = (\n state as PartialState>\n ).routes.find((r) => r.name === name);\n\n return {\n ...route,\n name,\n key:\n route && route.name === name && route.key\n ? route.key\n : `${name}-${nanoid()}`,\n params:\n routeParamList[name] !== undefined\n ? {\n ...routeParamList[name],\n ...(route ? route.params : undefined),\n }\n : route\n ? route.params\n : undefined,\n } as Route;\n });\n\n const index = Math.min(\n Math.max(routeNames.indexOf(state.routes[state?.index ?? 0]?.name), 0),\n routes.length - 1\n );\n\n const history =\n state.history?.filter((it) => routes.find((r) => r.key === it.key)) ??\n [];\n\n return changeIndex(\n {\n stale: false,\n type: 'tab',\n key: `tab-${nanoid()}`,\n index,\n routeNames,\n history,\n routes,\n },\n index,\n backBehavior,\n initialRouteName\n );\n },\n\n getStateForRouteNamesChange(\n state,\n { routeNames, routeParamList, routeKeyChanges }\n ) {\n const routes = routeNames.map(\n (name) =>\n state.routes.find(\n (r) => r.name === name && !routeKeyChanges.includes(r.name)\n ) || {\n name,\n key: `${name}-${nanoid()}`,\n params: routeParamList[name],\n }\n );\n\n const index = Math.max(\n 0,\n routeNames.indexOf(state.routes[state.index].name)\n );\n\n let history = state.history.filter(\n // Type will always be 'route' for tabs, but could be different in a router extending this (e.g. drawer)\n (it) => it.type !== 'route' || routes.find((r) => r.key === it.key)\n );\n\n if (!history.length) {\n history = getRouteHistory(\n routes,\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n return {\n ...state,\n history,\n routeNames,\n routes,\n index,\n };\n },\n\n getStateForRouteFocus(state, key) {\n const index = state.routes.findIndex((r) => r.key === key);\n\n if (index === -1 || index === state.index) {\n return state;\n }\n\n return changeIndex(state, index, backBehavior, initialRouteName);\n },\n\n getStateForAction(state, action, { routeParamList }) {\n switch (action.type) {\n case 'JUMP_TO':\n case 'NAVIGATE': {\n let index = -1;\n\n if (action.type === 'NAVIGATE' && action.payload.key) {\n index = state.routes.findIndex(\n (route) => route.key === action.payload.key\n );\n } else {\n index = state.routes.findIndex(\n (route) => route.name === action.payload.name\n );\n }\n\n if (index === -1) {\n return null;\n }\n\n return changeIndex(\n {\n ...state,\n routes: state.routes.map((route, i) => {\n if (i !== index) {\n return route;\n }\n\n let params;\n\n if (action.type === 'NAVIGATE' && action.payload.merge) {\n params =\n action.payload.params !== undefined ||\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n ...action.payload.params,\n }\n : route.params;\n } else {\n params =\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...action.payload.params,\n }\n : action.payload.params;\n }\n\n const path =\n action.type === 'NAVIGATE' && action.payload.path != null\n ? action.payload.path\n : route.path;\n\n return params !== route.params || path !== route.path\n ? { ...route, path, params }\n : route;\n }),\n },\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n case 'GO_BACK': {\n if (state.history.length === 1) {\n return null;\n }\n\n const previousKey = state.history[state.history.length - 2].key;\n const index = state.routes.findIndex(\n (route) => route.key === previousKey\n );\n\n if (index === -1) {\n return null;\n }\n\n return {\n ...state,\n history: state.history.slice(0, -1),\n index,\n };\n }\n\n default:\n return BaseRouter.getStateForAction(state, action);\n }\n },\n\n shouldActionChangeFocus(action) {\n return action.type === 'NAVIGATE';\n },\n\n actionCreators: TabActions,\n };\n\n return router;\n}\n","import { nanoid } from 'nanoid/non-secure';\n\nimport TabRouter, {\n TabActionHelpers,\n TabActions,\n TabActionType,\n TabNavigationState,\n TabRouterOptions,\n} from './TabRouter';\nimport type {\n CommonNavigationAction,\n ParamListBase,\n PartialState,\n Router,\n} from './types';\nexport type DrawerStatus = 'open' | 'closed';\n\nexport type DrawerActionType =\n | TabActionType\n | {\n type: 'OPEN_DRAWER' | 'CLOSE_DRAWER' | 'TOGGLE_DRAWER';\n source?: string;\n target?: string;\n };\n\nexport type DrawerRouterOptions = TabRouterOptions & {\n defaultStatus?: DrawerStatus;\n};\n\nexport type DrawerNavigationState = Omit<\n TabNavigationState,\n 'type' | 'history'\n> & {\n /**\n * Type of the router, in this case, it's drawer.\n */\n type: 'drawer';\n /**\n * Default status of the drawer.\n */\n default: DrawerStatus;\n /**\n * List of previously visited route keys and drawer open status.\n */\n history: (\n | { type: 'route'; key: string }\n | { type: 'drawer'; status: DrawerStatus }\n )[];\n};\n\nexport type DrawerActionHelpers =\n TabActionHelpers & {\n /**\n * Open the drawer sidebar.\n */\n openDrawer(): void;\n\n /**\n * Close the drawer sidebar.\n */\n closeDrawer(): void;\n\n /**\n * Open the drawer sidebar if closed, or close if opened.\n */\n toggleDrawer(): void;\n };\n\nexport const DrawerActions = {\n ...TabActions,\n openDrawer(): DrawerActionType {\n return { type: 'OPEN_DRAWER' };\n },\n closeDrawer(): DrawerActionType {\n return { type: 'CLOSE_DRAWER' };\n },\n toggleDrawer(): DrawerActionType {\n return { type: 'TOGGLE_DRAWER' };\n },\n};\n\nexport default function DrawerRouter({\n defaultStatus = 'closed',\n ...rest\n}: DrawerRouterOptions): Router<\n DrawerNavigationState,\n DrawerActionType | CommonNavigationAction\n> {\n const router = TabRouter(rest) as unknown as Router<\n DrawerNavigationState,\n TabActionType | CommonNavigationAction\n >;\n\n const isDrawerInHistory = (\n state:\n | DrawerNavigationState\n | PartialState>\n ) => Boolean(state.history?.some((it) => it.type === 'drawer'));\n\n const addDrawerToHistory = (\n state: DrawerNavigationState\n ): DrawerNavigationState => {\n if (isDrawerInHistory(state)) {\n return state;\n }\n\n return {\n ...state,\n history: [\n ...state.history,\n {\n type: 'drawer',\n status: defaultStatus === 'open' ? 'closed' : 'open',\n },\n ],\n };\n };\n\n const removeDrawerFromHistory = (\n state: DrawerNavigationState\n ): DrawerNavigationState => {\n if (!isDrawerInHistory(state)) {\n return state;\n }\n\n return {\n ...state,\n history: state.history.filter((it) => it.type !== 'drawer'),\n };\n };\n\n const openDrawer = (\n state: DrawerNavigationState\n ): DrawerNavigationState => {\n if (defaultStatus === 'open') {\n return removeDrawerFromHistory(state);\n }\n\n return addDrawerToHistory(state);\n };\n\n const closeDrawer = (\n state: DrawerNavigationState\n ): DrawerNavigationState => {\n if (defaultStatus === 'open') {\n return addDrawerToHistory(state);\n }\n\n return removeDrawerFromHistory(state);\n };\n\n return {\n ...router,\n\n type: 'drawer',\n\n getInitialState({ routeNames, routeParamList, routeGetIdList }) {\n const state = router.getInitialState({\n routeNames,\n routeParamList,\n routeGetIdList,\n });\n\n return {\n ...state,\n default: defaultStatus,\n stale: false,\n type: 'drawer',\n key: `drawer-${nanoid()}`,\n };\n },\n\n getRehydratedState(\n partialState,\n { routeNames, routeParamList, routeGetIdList }\n ) {\n if (partialState.stale === false) {\n return partialState;\n }\n\n let state = router.getRehydratedState(partialState, {\n routeNames,\n routeParamList,\n routeGetIdList,\n });\n\n if (isDrawerInHistory(partialState)) {\n // Re-sync the drawer entry in history to correct it if it was wrong\n state = removeDrawerFromHistory(state);\n state = addDrawerToHistory(state);\n }\n\n return {\n ...state,\n default: defaultStatus,\n type: 'drawer',\n key: `drawer-${nanoid()}`,\n };\n },\n\n getStateForRouteFocus(state, key) {\n const result = router.getStateForRouteFocus(state, key);\n\n return closeDrawer(result);\n },\n\n getStateForAction(state, action, options) {\n switch (action.type) {\n case 'OPEN_DRAWER':\n return openDrawer(state);\n\n case 'CLOSE_DRAWER':\n return closeDrawer(state);\n\n case 'TOGGLE_DRAWER':\n if (isDrawerInHistory(state)) {\n return removeDrawerFromHistory(state);\n }\n\n return addDrawerToHistory(state);\n\n case 'JUMP_TO':\n case 'NAVIGATE': {\n const result = router.getStateForAction(state, action, options);\n\n if (result != null && result.index !== state.index) {\n return closeDrawer(result as DrawerNavigationState);\n }\n\n return result;\n }\n\n case 'GO_BACK':\n if (isDrawerInHistory(state)) {\n return removeDrawerFromHistory(state);\n }\n\n return router.getStateForAction(state, action, options);\n\n default:\n return router.getStateForAction(state, action, options);\n }\n },\n\n actionCreators: DrawerActions,\n };\n}\n","import { nanoid } from 'nanoid/non-secure';\n\nimport BaseRouter from './BaseRouter';\nimport type {\n CommonNavigationAction,\n DefaultRouterOptions,\n NavigationState,\n ParamListBase,\n Route,\n Router,\n} from './types';\n\nexport type StackActionType =\n | {\n type: 'REPLACE';\n payload: { name: string; key?: string | undefined; params?: object };\n source?: string;\n target?: string;\n }\n | {\n type: 'PUSH';\n payload: { name: string; params?: object };\n source?: string;\n target?: string;\n }\n | {\n type: 'POP';\n payload: { count: number };\n source?: string;\n target?: string;\n }\n | {\n type: 'POP_TO_TOP';\n source?: string;\n target?: string;\n };\n\nexport type StackRouterOptions = DefaultRouterOptions;\n\nexport type StackNavigationState =\n NavigationState & {\n /**\n * Type of the router, in this case, it's stack.\n */\n type: 'stack';\n };\n\nexport type StackActionHelpers = {\n /**\n * Replace the current route with a new one.\n *\n * @param name Route name of the new route.\n * @param [params] Params object for the new route.\n */\n replace(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n\n /**\n * Push a new screen onto the stack.\n *\n * @param name Name of the route for the tab.\n * @param [params] Params object for the route.\n */\n push(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n\n /**\n * Pop a screen from the stack.\n */\n pop(count?: number): void;\n\n /**\n * Pop to the first route in the stack, dismissing all other screens.\n */\n popToTop(): void;\n};\n\nexport const StackActions = {\n replace(name: string, params?: object): StackActionType {\n return { type: 'REPLACE', payload: { name, params } };\n },\n push(name: string, params?: object): StackActionType {\n return { type: 'PUSH', payload: { name, params } };\n },\n pop(count: number = 1): StackActionType {\n return { type: 'POP', payload: { count } };\n },\n popToTop(): StackActionType {\n return { type: 'POP_TO_TOP' };\n },\n};\n\nexport default function StackRouter(options: StackRouterOptions) {\n const router: Router<\n StackNavigationState,\n CommonNavigationAction | StackActionType\n > = {\n ...BaseRouter,\n\n type: 'stack',\n\n getInitialState({ routeNames, routeParamList }) {\n const initialRouteName =\n options.initialRouteName !== undefined &&\n routeNames.includes(options.initialRouteName)\n ? options.initialRouteName\n : routeNames[0];\n\n return {\n stale: false,\n type: 'stack',\n key: `stack-${nanoid()}`,\n index: 0,\n routeNames,\n routes: [\n {\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n },\n ],\n };\n },\n\n getRehydratedState(partialState, { routeNames, routeParamList }) {\n let state = partialState;\n\n if (state.stale === false) {\n return state;\n }\n\n const routes = state.routes\n .filter((route) => routeNames.includes(route.name))\n .map(\n (route) =>\n ({\n ...route,\n key: route.key || `${route.name}-${nanoid()}`,\n params:\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n }\n : route.params,\n } as Route)\n );\n\n if (routes.length === 0) {\n const initialRouteName =\n options.initialRouteName !== undefined\n ? options.initialRouteName\n : routeNames[0];\n\n routes.push({\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n });\n }\n\n return {\n stale: false,\n type: 'stack',\n key: `stack-${nanoid()}`,\n index: routes.length - 1,\n routeNames,\n routes,\n };\n },\n\n getStateForRouteNamesChange(\n state,\n { routeNames, routeParamList, routeKeyChanges }\n ) {\n const routes = state.routes.filter(\n (route) =>\n routeNames.includes(route.name) &&\n !routeKeyChanges.includes(route.name)\n );\n\n if (routes.length === 0) {\n const initialRouteName =\n options.initialRouteName !== undefined &&\n routeNames.includes(options.initialRouteName)\n ? options.initialRouteName\n : routeNames[0];\n\n routes.push({\n key: `${initialRouteName}-${nanoid()}`,\n name: initialRouteName,\n params: routeParamList[initialRouteName],\n });\n }\n\n return {\n ...state,\n routeNames,\n routes,\n index: Math.min(state.index, routes.length - 1),\n };\n },\n\n getStateForRouteFocus(state, key) {\n const index = state.routes.findIndex((r) => r.key === key);\n\n if (index === -1 || index === state.index) {\n return state;\n }\n\n return {\n ...state,\n index,\n routes: state.routes.slice(0, index + 1),\n };\n },\n\n getStateForAction(state, action, options) {\n const { routeParamList } = options;\n\n switch (action.type) {\n case 'REPLACE': {\n const index =\n action.target === state.key && action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index === -1) {\n return null;\n }\n\n const { name, key, params } = action.payload;\n\n if (!state.routeNames.includes(name)) {\n return null;\n }\n\n return {\n ...state,\n routes: state.routes.map((route, i) =>\n i === index\n ? {\n key: key !== undefined ? key : `${name}-${nanoid()}`,\n name,\n params:\n routeParamList[name] !== undefined\n ? {\n ...routeParamList[name],\n ...params,\n }\n : params,\n }\n : route\n ),\n };\n }\n\n case 'PUSH':\n if (state.routeNames.includes(action.payload.name)) {\n const getId = options.routeGetIdList[action.payload.name];\n const id = getId?.({ params: action.payload.params });\n\n const route = id\n ? state.routes.find(\n (route) =>\n route.name === action.payload.name &&\n id === getId?.({ params: route.params })\n )\n : undefined;\n\n let routes: Route[];\n\n if (route) {\n routes = state.routes.filter((r) => r.key !== route.key);\n routes.push({\n ...route,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n });\n } else {\n routes = [\n ...state.routes,\n {\n key: `${action.payload.name}-${nanoid()}`,\n name: action.payload.name,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n },\n ];\n }\n\n return {\n ...state,\n index: routes.length - 1,\n routes,\n };\n }\n\n return null;\n\n case 'POP': {\n const index =\n action.target === state.key && action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index > 0) {\n const count = Math.max(index - action.payload.count + 1, 1);\n const routes = state.routes\n .slice(0, count)\n .concat(state.routes.slice(index + 1));\n\n return {\n ...state,\n index: routes.length - 1,\n routes,\n };\n }\n\n return null;\n }\n\n case 'POP_TO_TOP':\n return router.getStateForAction(\n state,\n {\n type: 'POP',\n payload: { count: state.routes.length - 1 },\n },\n options\n );\n\n case 'NAVIGATE':\n if (\n action.payload.name !== undefined &&\n !state.routeNames.includes(action.payload.name)\n ) {\n return null;\n }\n\n if (action.payload.key || action.payload.name) {\n // If the route already exists, navigate to that\n let index = -1;\n\n const getId =\n // `getId` and `key` can't be used together\n action.payload.key === undefined &&\n action.payload.name !== undefined\n ? options.routeGetIdList[action.payload.name]\n : undefined;\n const id = getId?.({ params: action.payload.params });\n\n if (id) {\n index = state.routes.findIndex(\n (route) =>\n route.name === action.payload.name &&\n id === getId?.({ params: route.params })\n );\n } else if (\n (state.routes[state.index].name === action.payload.name &&\n action.payload.key === undefined) ||\n state.routes[state.index].key === action.payload.key\n ) {\n index = state.index;\n } else {\n for (let i = state.routes.length - 1; i >= 0; i--) {\n if (\n (state.routes[i].name === action.payload.name &&\n action.payload.key === undefined) ||\n state.routes[i].key === action.payload.key\n ) {\n index = i;\n break;\n }\n }\n }\n\n if (\n index === -1 &&\n action.payload.key &&\n action.payload.name === undefined\n ) {\n return null;\n }\n\n if (index === -1 && action.payload.name !== undefined) {\n const routes = [\n ...state.routes,\n {\n key:\n action.payload.key ?? `${action.payload.name}-${nanoid()}`,\n name: action.payload.name,\n path: action.payload.path,\n params:\n routeParamList[action.payload.name] !== undefined\n ? {\n ...routeParamList[action.payload.name],\n ...action.payload.params,\n }\n : action.payload.params,\n },\n ];\n\n return {\n ...state,\n routes,\n index: routes.length - 1,\n };\n }\n\n const route = state.routes[index];\n\n let params;\n\n if (action.payload.merge) {\n params =\n action.payload.params !== undefined ||\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n ...action.payload.params,\n }\n : route.params;\n } else {\n params =\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...action.payload.params,\n }\n : action.payload.params;\n }\n\n return {\n ...state,\n index,\n routes: [\n ...state.routes.slice(0, index),\n params !== route.params ||\n (action.payload.path && action.payload.path !== route.path)\n ? {\n ...route,\n path: action.payload.path ?? route.path,\n params,\n }\n : state.routes[index],\n ],\n };\n }\n\n return null;\n\n case 'GO_BACK':\n if (state.index > 0) {\n return router.getStateForAction(\n state,\n {\n type: 'POP',\n payload: { count: 1 },\n target: action.target,\n source: action.source,\n },\n options\n );\n }\n\n return null;\n\n default:\n return BaseRouter.getStateForAction(state, action);\n }\n },\n\n actionCreators: StackActions,\n };\n\n return router;\n}\n","'use strict';\n\nmodule.exports = string => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a \\unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n};\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/* eslint-env browser */\n\nimport * as React from 'react';\nimport { View } from 'react-native';\nimport type { NativeSafeAreaProviderProps } from './SafeArea.types';\n\n/**\n * TODO:\n * Currently insets and frame are based on the window and are not\n * relative to the provider view. This is inconsistent with iOS and Android.\n * However in most cases if the provider view covers the screen this is not\n * an issue.\n */\n\nconst CSSTransitions: Record = {\n WebkitTransition: 'webkitTransitionEnd',\n Transition: 'transitionEnd',\n MozTransition: 'transitionend',\n MSTransition: 'msTransitionEnd',\n OTransition: 'oTransitionEnd',\n};\n\nexport function NativeSafeAreaProvider({\n children,\n style,\n onInsetsChange,\n}: NativeSafeAreaProviderProps) {\n React.useEffect(() => {\n // Skip for SSR.\n if (typeof document === 'undefined') {\n return;\n }\n\n const element = createContextElement();\n document.body.appendChild(element);\n const onEnd = () => {\n const { paddingTop, paddingBottom, paddingLeft, paddingRight } =\n window.getComputedStyle(element);\n\n const insets = {\n top: paddingTop ? parseInt(paddingTop, 10) : 0,\n bottom: paddingBottom ? parseInt(paddingBottom, 10) : 0,\n left: paddingLeft ? parseInt(paddingLeft, 10) : 0,\n right: paddingRight ? parseInt(paddingRight, 10) : 0,\n };\n const frame = {\n x: 0,\n y: 0,\n width: document.documentElement.offsetWidth,\n height: document.documentElement.offsetHeight,\n };\n // @ts-ignore: missing properties\n onInsetsChange({ nativeEvent: { insets, frame } });\n };\n element.addEventListener(getSupportedTransitionEvent(), onEnd);\n onEnd();\n return () => {\n document.body.removeChild(element);\n element.removeEventListener(getSupportedTransitionEvent(), onEnd);\n };\n }, [onInsetsChange]);\n\n return {children};\n}\n\nlet _supportedTransitionEvent: string | null | undefined = null;\nfunction getSupportedTransitionEvent(): string {\n if (_supportedTransitionEvent != null) {\n return _supportedTransitionEvent;\n }\n const element = document.createElement('invalidtype');\n\n _supportedTransitionEvent = CSSTransitions.Transition;\n for (const key in CSSTransitions) {\n if (element.style[key as keyof CSSStyleDeclaration] !== undefined) {\n _supportedTransitionEvent = CSSTransitions[key];\n break;\n }\n }\n return _supportedTransitionEvent as string;\n}\n\ntype CssEnv = 'constant' | 'env';\n\nlet _supportedEnv: CssEnv | null = null;\nfunction getSupportedEnv(): CssEnv {\n if (_supportedEnv !== null) {\n return _supportedEnv;\n }\n const { CSS } = window;\n if (\n CSS &&\n CSS.supports &&\n CSS.supports('top: constant(safe-area-inset-top)')\n ) {\n _supportedEnv = 'constant';\n } else {\n _supportedEnv = 'env';\n }\n return _supportedEnv;\n}\n\nfunction getInset(side: string): string {\n return `${getSupportedEnv()}(safe-area-inset-${side})`;\n}\n\nfunction createContextElement(): HTMLElement {\n const element = document.createElement('div');\n const { style } = element;\n style.position = 'fixed';\n style.left = '0';\n style.top = '0';\n style.width = '0';\n style.height = '0';\n style.zIndex = '-1';\n style.overflow = 'hidden';\n style.visibility = 'hidden';\n // Bacon: Anything faster than this and the callback will be invoked too early with the wrong insets\n style.transitionDuration = '0.05s';\n style.transitionProperty = 'padding';\n style.transitionDelay = '0s';\n style.paddingTop = getInset('top');\n style.paddingBottom = getInset('bottom');\n style.paddingLeft = getInset('left');\n style.paddingRight = getInset('right');\n return element;\n}\n","import * as React from 'react';\nimport { Dimensions, StyleSheet, ViewProps } from 'react-native';\nimport { NativeSafeAreaProvider } from './NativeSafeAreaProvider';\nimport type {\n EdgeInsets,\n InsetChangedEvent,\n Metrics,\n Rect,\n} from './SafeArea.types';\n\nconst isDev = process.env.NODE_ENV !== 'production';\n\nexport const SafeAreaInsetsContext = React.createContext(\n null,\n);\nif (isDev) {\n SafeAreaInsetsContext.displayName = 'SafeAreaInsetsContext';\n}\n\nexport const SafeAreaFrameContext = React.createContext(null);\nif (isDev) {\n SafeAreaFrameContext.displayName = 'SafeAreaFrameContext';\n}\n\nexport interface SafeAreaProviderProps extends ViewProps {\n children?: React.ReactNode;\n initialMetrics?: Metrics | null;\n /**\n * @deprecated\n */\n initialSafeAreaInsets?: EdgeInsets | null;\n}\n\nexport function SafeAreaProvider({\n children,\n initialMetrics,\n initialSafeAreaInsets,\n style,\n ...others\n}: SafeAreaProviderProps) {\n const parentInsets = useParentSafeAreaInsets();\n const parentFrame = useParentSafeAreaFrame();\n const [insets, setInsets] = React.useState(\n initialMetrics?.insets ?? initialSafeAreaInsets ?? parentInsets ?? null,\n );\n const [frame, setFrame] = React.useState(\n initialMetrics?.frame ??\n parentFrame ?? {\n // Backwards compat so we render anyway if we don't have frame.\n x: 0,\n y: 0,\n width: Dimensions.get('window').width,\n height: Dimensions.get('window').height,\n },\n );\n const onInsetsChange = React.useCallback(\n (event: InsetChangedEvent) => {\n const {\n nativeEvent: { frame: nextFrame, insets: nextInsets },\n } = event;\n\n if (\n // Backwards compat with old native code that won't send frame.\n nextFrame &&\n (nextFrame.height !== frame.height ||\n nextFrame.width !== frame.width ||\n nextFrame.x !== frame.x ||\n nextFrame.y !== frame.y)\n ) {\n setFrame(nextFrame);\n }\n\n if (\n !insets ||\n nextInsets.bottom !== insets.bottom ||\n nextInsets.left !== insets.left ||\n nextInsets.right !== insets.right ||\n nextInsets.top !== insets.top\n ) {\n setInsets(nextInsets);\n }\n },\n [frame, insets],\n );\n\n return (\n \n {insets != null ? (\n \n \n {children}\n \n \n ) : null}\n \n );\n}\n\nconst styles = StyleSheet.create({\n fill: { flex: 1 },\n});\n\nfunction useParentSafeAreaInsets(): EdgeInsets | null {\n return React.useContext(SafeAreaInsetsContext);\n}\n\nfunction useParentSafeAreaFrame(): Rect | null {\n return React.useContext(SafeAreaFrameContext);\n}\n\nconst NO_INSETS_ERROR =\n 'No safe area value available. Make sure you are rendering `` at the top of your app.';\n\nexport function useSafeAreaInsets(): EdgeInsets {\n const safeArea = React.useContext(SafeAreaInsetsContext);\n if (safeArea == null) {\n throw new Error(NO_INSETS_ERROR);\n }\n return safeArea;\n}\n\nexport function useSafeAreaFrame(): Rect {\n const frame = React.useContext(SafeAreaFrameContext);\n if (frame == null) {\n throw new Error(NO_INSETS_ERROR);\n }\n return frame;\n}\n\nexport type WithSafeAreaInsetsProps = {\n insets: EdgeInsets;\n};\n\nexport function withSafeAreaInsets(\n WrappedComponent: React.ComponentType,\n): React.ForwardRefExoticComponent<\n React.PropsWithoutRef & React.RefAttributes\n> {\n return React.forwardRef((props: T, ref: React.Ref) => (\n \n {(insets) => {\n if (insets == null) {\n throw new Error(NO_INSETS_ERROR);\n }\n return ;\n }}\n \n ));\n}\n\n/**\n * @deprecated\n */\nexport function useSafeArea(): EdgeInsets {\n return useSafeAreaInsets();\n}\n\n/**\n * @deprecated\n */\nexport const SafeAreaConsumer = SafeAreaInsetsContext.Consumer;\n\n/**\n * @deprecated\n */\nexport const SafeAreaContext = SafeAreaInsetsContext;\n","import * as React from 'react';\nimport {\n Dimensions,\n Platform,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport {\n initialWindowMetrics,\n SafeAreaInsetsContext,\n SafeAreaProvider,\n} from 'react-native-safe-area-context';\n\ntype Props = {\n children: React.ReactNode;\n style?: StyleProp;\n};\n\nconst { width = 0, height = 0 } = Dimensions.get('window');\n\n// To support SSR on web, we need to have empty insets for initial values\n// Otherwise there can be mismatch between SSR and client output\n// We also need to specify empty values to support tests environments\nconst initialMetrics =\n Platform.OS === 'web' || initialWindowMetrics == null\n ? {\n frame: { x: 0, y: 0, width, height },\n insets: { top: 0, left: 0, right: 0, bottom: 0 },\n }\n : initialWindowMetrics;\n\nexport default function SafeAreaProviderCompat({ children, style }: Props) {\n return (\n \n {(insets) => {\n if (insets) {\n // If we already have insets, don't wrap the stack in another safe area provider\n // This avoids an issue with updates at the cost of potentially incorrect values\n // https://github.com/react-navigation/react-navigation/issues/174\n return {children};\n }\n\n return (\n \n {children}\n \n );\n }}\n \n );\n}\n\nSafeAreaProviderCompat.initialMetrics = initialMetrics;\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n","import * as React from 'react';\n\nimport ThemeContext from './ThemeContext';\n\nexport default function useTheme() {\n const theme = React.useContext(ThemeContext);\n\n return theme;\n}\n","import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport { View, ViewProps } from 'react-native';\n\ntype Props = ViewProps & {\n children: React.ReactNode;\n};\n\nexport default function Background({ style, ...rest }: Props) {\n const { colors } = useTheme();\n\n return (\n \n );\n}\n","import { Platform } from 'react-native';\n\nimport type { Layout } from '../types';\n\nexport default function getDefaultHeaderHeight(\n layout: Layout,\n modalPresentation: boolean,\n statusBarHeight: number\n): number {\n let headerHeight;\n\n const isLandscape = layout.width > layout.height;\n\n if (Platform.OS === 'ios') {\n if (Platform.isPad || Platform.isTVOS) {\n if (modalPresentation) {\n headerHeight = 56;\n } else {\n headerHeight = 50;\n }\n } else {\n if (isLandscape) {\n headerHeight = 32;\n } else {\n if (modalPresentation) {\n headerHeight = 56;\n } else {\n headerHeight = 44;\n }\n }\n }\n } else if (Platform.OS === 'android') {\n headerHeight = 56;\n } else {\n headerHeight = 64;\n }\n\n return headerHeight + statusBarHeight;\n}\n","import * as React from 'react';\n\nconst contexts = '__react_navigation__elements_contexts';\n\ndeclare global {\n var __react_navigation__elements_contexts: Map>;\n}\n\n// We use a global variable to keep our contexts so that we can reuse same contexts across packages\nglobal[contexts] = global[contexts] ?? new Map>();\n\nexport default function getNamedContext(\n name: string,\n initialValue: T\n): React.Context {\n let context = global[contexts].get(name);\n\n if (context) {\n return context;\n }\n\n context = React.createContext(initialValue);\n context.displayName = name;\n\n global[contexts].set(name, context);\n\n return context;\n}\n","import getNamedContext from '../getNamedContext';\n\nconst HeaderHeightContext = getNamedContext(\n 'HeaderHeightContext',\n undefined\n);\n\nexport default HeaderHeightContext;\n","import getNamedContext from '../getNamedContext';\n\nconst HeaderShownContext = getNamedContext('HeaderShownContext', false);\n\nexport default HeaderShownContext;\n","import {\n NavigationContext,\n NavigationProp,\n NavigationRouteContext,\n ParamListBase,\n RouteProp,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport Background from './Background';\nimport getDefaultHeaderHeight from './Header/getDefaultHeaderHeight';\nimport HeaderHeightContext from './Header/HeaderHeightContext';\nimport HeaderShownContext from './Header/HeaderShownContext';\n\ntype Props = {\n focused: boolean;\n modal?: boolean;\n navigation: NavigationProp;\n route: RouteProp;\n header: React.ReactNode;\n headerShown?: boolean;\n headerStatusBarHeight?: number;\n headerTransparent?: boolean;\n style?: StyleProp;\n children: React.ReactNode;\n};\n\nexport default function Screen(props: Props) {\n const dimensions = useSafeAreaFrame();\n const insets = useSafeAreaInsets();\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n const parentHeaderHeight = React.useContext(HeaderHeightContext);\n\n const {\n focused,\n modal = false,\n header,\n headerShown = true,\n headerTransparent,\n headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n navigation,\n route,\n children,\n style,\n } = props;\n\n const [headerHeight, setHeaderHeight] = React.useState(() =>\n getDefaultHeaderHeight(dimensions, modal, headerStatusBarHeight)\n );\n\n return (\n \n \n \n \n {children}\n \n \n \n {headerShown ? (\n \n \n {\n const { height } = e.nativeEvent.layout;\n\n setHeaderHeight(height);\n }}\n style={headerTransparent ? styles.absolute : null}\n >\n {header}\n \n \n \n ) : null}\n \n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n flexDirection: 'column-reverse',\n },\n // This is necessary to avoid applying 'column-reverse' to screen content\n content: {\n flex: 1,\n },\n absolute: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n});\n","import type { HeaderOptions } from '../types';\n\nexport default function getHeaderTitle(\n options: { title?: string; headerTitle?: HeaderOptions['headerTitle'] },\n fallback: string\n): string {\n return typeof options.headerTitle === 'string'\n ? options.headerTitle\n : options.title !== undefined\n ? options.title\n : fallback;\n}\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport NativeAnimatedNonTurboModule from './NativeAnimatedModule';\nimport NativeAnimatedTurboModule from './NativeAnimatedTurboModule';\nimport NativeEventEmitter from '../NativeEventEmitter';\nimport Platform from '../../../exports/Platform';\nimport invariant from 'fbjs/lib/invariant'; // TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.\n\nvar NativeAnimatedModule = Platform.OS === 'ios' && global.RN$Bridgeless ? NativeAnimatedTurboModule : NativeAnimatedNonTurboModule;\nvar __nativeAnimatedNodeTagCount = 1;\n/* used for animated nodes */\n\nvar __nativeAnimationIdCount = 1;\n/* used for started animations */\n\nvar nativeEventEmitter;\nvar waitingForQueuedOperations = new Set();\nvar queueOperations = false;\nvar queue = [];\n/**\n * Simple wrappers around NativeAnimatedModule to provide flow and autocomplete support for\n * the native module methods\n */\n\nvar API = {\n getValue: function getValue(tag, saveValueCallback) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n\n if (NativeAnimatedModule.getValue) {\n NativeAnimatedModule.getValue(tag, saveValueCallback);\n }\n },\n setWaitingForIdentifier: function setWaitingForIdentifier(id) {\n waitingForQueuedOperations.add(id);\n queueOperations = true;\n },\n unsetWaitingForIdentifier: function unsetWaitingForIdentifier(id) {\n waitingForQueuedOperations.delete(id);\n\n if (waitingForQueuedOperations.size === 0) {\n queueOperations = false;\n API.disableQueue();\n }\n },\n disableQueue: function disableQueue() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n\n if (Platform.OS === 'android') {\n NativeAnimatedModule.startOperationBatch();\n }\n\n for (var q = 0, l = queue.length; q < l; q++) {\n queue[q]();\n }\n\n queue.length = 0;\n\n if (Platform.OS === 'android') {\n NativeAnimatedModule.finishOperationBatch();\n }\n },\n queueOperation: function queueOperation(fn) {\n if (queueOperations) {\n queue.push(fn);\n } else {\n fn();\n }\n },\n createAnimatedNode: function createAnimatedNode(tag, config) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.createAnimatedNode(tag, config);\n });\n },\n startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.startListeningToAnimatedNodeValue(tag);\n });\n },\n stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.stopListeningToAnimatedNodeValue(tag);\n });\n },\n connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.connectAnimatedNodes(parentTag, childTag);\n });\n },\n disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.disconnectAnimatedNodes(parentTag, childTag);\n });\n },\n startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.startAnimatingNode(animationId, nodeTag, config, endCallback);\n });\n },\n stopAnimation: function stopAnimation(animationId) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.stopAnimation(animationId);\n });\n },\n setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.setAnimatedNodeValue(nodeTag, value);\n });\n },\n setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.setAnimatedNodeOffset(nodeTag, offset);\n });\n },\n flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.flattenAnimatedNodeOffset(nodeTag);\n });\n },\n extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.extractAnimatedNodeOffset(nodeTag);\n });\n },\n connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.connectAnimatedNodeToView(nodeTag, viewTag);\n });\n },\n disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.disconnectAnimatedNodeFromView(nodeTag, viewTag);\n });\n },\n restoreDefaultValues: function restoreDefaultValues(nodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available'); // Backwards compat with older native runtimes, can be removed later.\n\n if (NativeAnimatedModule.restoreDefaultValues != null) {\n API.queueOperation(function () {\n return NativeAnimatedModule.restoreDefaultValues(nodeTag);\n });\n }\n },\n dropAnimatedNode: function dropAnimatedNode(tag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.dropAnimatedNode(tag);\n });\n },\n addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.addAnimatedEventToView(viewTag, eventName, eventMapping);\n });\n },\n removeAnimatedEventFromView: function removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n API.queueOperation(function () {\n return NativeAnimatedModule.removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag);\n });\n }\n};\n/**\n * Styles allowed by the native animated implementation.\n *\n * In general native animated implementation should support any numeric property that doesn't need\n * to be updated through the shadow view hierarchy (all non-layout properties).\n */\n\nvar SUPPORTED_STYLES = {\n opacity: true,\n transform: true,\n borderRadius: true,\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n elevation: true,\n zIndex: true,\n\n /* ios styles */\n shadowOpacity: true,\n shadowRadius: true,\n\n /* legacy android transform properties */\n scaleX: true,\n scaleY: true,\n translateX: true,\n translateY: true\n};\nvar SUPPORTED_TRANSFORMS = {\n translateX: true,\n translateY: true,\n scale: true,\n scaleX: true,\n scaleY: true,\n rotate: true,\n rotateX: true,\n rotateY: true,\n rotateZ: true,\n perspective: true\n};\nvar SUPPORTED_INTERPOLATION_PARAMS = {\n inputRange: true,\n outputRange: true,\n extrapolate: true,\n extrapolateRight: true,\n extrapolateLeft: true\n};\n\nfunction addWhitelistedStyleProp(prop) {\n SUPPORTED_STYLES[prop] = true;\n}\n\nfunction addWhitelistedTransformProp(prop) {\n SUPPORTED_TRANSFORMS[prop] = true;\n}\n\nfunction addWhitelistedInterpolationParam(param) {\n SUPPORTED_INTERPOLATION_PARAMS[param] = true;\n}\n\nfunction validateTransform(configs) {\n configs.forEach(function (config) {\n if (!SUPPORTED_TRANSFORMS.hasOwnProperty(config.property)) {\n throw new Error(\"Property '\" + config.property + \"' is not supported by native animated module\");\n }\n });\n}\n\nfunction validateStyles(styles) {\n for (var _key in styles) {\n if (!SUPPORTED_STYLES.hasOwnProperty(_key)) {\n throw new Error(\"Style property '\" + _key + \"' is not supported by native animated module\");\n }\n }\n}\n\nfunction validateInterpolation(config) {\n for (var _key2 in config) {\n if (!SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(_key2)) {\n throw new Error(\"Interpolation property '\" + _key2 + \"' is not supported by native animated module\");\n }\n }\n}\n\nfunction generateNewNodeTag() {\n return __nativeAnimatedNodeTagCount++;\n}\n\nexport function generateNewAnimationId() {\n return __nativeAnimationIdCount++;\n}\n\nfunction assertNativeAnimatedModule() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n}\n\nvar _warnedMissingNativeAnimated = false;\nexport function shouldUseNativeDriver(config) {\n if (config.useNativeDriver == null) {\n console.warn('Animated: `useNativeDriver` was not specified. This is a required ' + 'option and must be explicitly set to `true` or `false`');\n }\n\n if (config.useNativeDriver === true && !NativeAnimatedModule) {\n if (!_warnedMissingNativeAnimated) {\n console.warn('Animated: `useNativeDriver` is not supported because the native ' + 'animated module is missing. Falling back to JS-based animation. To ' + 'resolve this, add `RCTAnimation` module to this app, or remove ' + '`useNativeDriver`. ' + 'Make sure to run `pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md');\n _warnedMissingNativeAnimated = true;\n }\n\n return false;\n }\n\n return config.useNativeDriver || false;\n}\n\nfunction transformDataType(value) {\n // Change the string type to number type so we can reuse the same logic in\n // iOS and Android platform\n if (typeof value !== 'string') {\n return value;\n }\n\n if (/deg$/.test(value)) {\n var degrees = parseFloat(value) || 0;\n var radians = degrees * Math.PI / 180.0;\n return radians;\n } else {\n return value;\n }\n}\n\nexport default {\n API: API,\n addWhitelistedStyleProp: addWhitelistedStyleProp,\n addWhitelistedTransformProp: addWhitelistedTransformProp,\n addWhitelistedInterpolationParam: addWhitelistedInterpolationParam,\n validateStyles: validateStyles,\n validateTransform: validateTransform,\n validateInterpolation: validateInterpolation,\n generateNewNodeTag: generateNewNodeTag,\n generateNewAnimationId: generateNewAnimationId,\n assertNativeAnimatedModule: assertNativeAnimatedModule,\n shouldUseNativeDriver: shouldUseNativeDriver,\n transformDataType: transformDataType,\n\n // $FlowExpectedError - unsafe getter lint suppresion\n get nativeEventEmitter() {\n if (!nativeEventEmitter) {\n nativeEventEmitter = new NativeEventEmitter(NativeAnimatedModule);\n }\n\n return nativeEventEmitter;\n }\n\n};","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\nexport function get(name) {\n return null;\n}\nexport function getEnforcing(name) {\n var module = get(name);\n invariant(module != null, \"TurboModuleRegistry.getEnforcing(...): '\" + name + \"' could not be found. \" + 'Verify that a module by this name is registered in the native binary.');\n return module;\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1; // Note(vjeux): this would be better as an interface but flow doesn't\n// support them yet\n\nvar AnimatedNode = /*#__PURE__*/function () {\n var _proto = AnimatedNode.prototype;\n\n _proto.__attach = function __attach() {};\n\n _proto.__detach = function __detach() {\n if (this.__isNative && this.__nativeTag != null) {\n NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);\n this.__nativeTag = undefined;\n }\n };\n\n _proto.__getValue = function __getValue() {};\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n return this.__getValue();\n };\n\n _proto.__addChild = function __addChild(child) {};\n\n _proto.__removeChild = function __removeChild(child) {};\n\n _proto.__getChildren = function __getChildren() {\n return [];\n }\n /* Methods and props used by native Animated impl */\n ;\n\n function AnimatedNode() {\n this._listeners = {};\n }\n\n _proto.__makeNative = function __makeNative() {\n if (!this.__isNative) {\n throw new Error('This node cannot be made a \"native\" animated node');\n }\n\n if (this.hasListeners()) {\n this._startListeningToNativeValueUpdates();\n }\n }\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to\n * synchronously read the value because it might be driven natively.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#addlistener\n */\n ;\n\n _proto.addListener = function addListener(callback) {\n var id = String(_uniqueId++);\n this._listeners[id] = callback;\n\n if (this.__isNative) {\n this._startListeningToNativeValueUpdates();\n }\n\n return id;\n }\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#removelistener\n */\n ;\n\n _proto.removeListener = function removeListener(id) {\n delete this._listeners[id];\n\n if (this.__isNative && !this.hasListeners()) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#removealllisteners\n */\n ;\n\n _proto.removeAllListeners = function removeAllListeners() {\n this._listeners = {};\n\n if (this.__isNative) {\n this._stopListeningForNativeValueUpdates();\n }\n };\n\n _proto.hasListeners = function hasListeners() {\n return !!Object.keys(this._listeners).length;\n };\n\n _proto._startListeningToNativeValueUpdates = function _startListeningToNativeValueUpdates() {\n var _this = this;\n\n if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) {\n return;\n }\n\n if (this.__shouldUpdateListenersForNewNativeTag) {\n this.__shouldUpdateListenersForNewNativeTag = false;\n\n this._stopListeningForNativeValueUpdates();\n }\n\n NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag());\n this.__nativeAnimatedValueListener = NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate', function (data) {\n if (data.tag !== _this.__getNativeTag()) {\n return;\n }\n\n _this._onAnimatedValueUpdateReceived(data.value);\n });\n };\n\n _proto._onAnimatedValueUpdateReceived = function _onAnimatedValueUpdateReceived(value) {\n this.__callListeners(value);\n };\n\n _proto.__callListeners = function __callListeners(value) {\n for (var _key in this._listeners) {\n this._listeners[_key]({\n value: value\n });\n }\n };\n\n _proto._stopListeningForNativeValueUpdates = function _stopListeningForNativeValueUpdates() {\n if (!this.__nativeAnimatedValueListener) {\n return;\n }\n\n this.__nativeAnimatedValueListener.remove();\n\n this.__nativeAnimatedValueListener = null;\n NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag());\n };\n\n _proto.__getNativeTag = function __getNativeTag() {\n var _this$__nativeTag;\n\n NativeAnimatedHelper.assertNativeAnimatedModule();\n invariant(this.__isNative, 'Attempt to get native tag from node not marked as \"native\"');\n var nativeTag = (_this$__nativeTag = this.__nativeTag) !== null && _this$__nativeTag !== void 0 ? _this$__nativeTag : NativeAnimatedHelper.generateNewNodeTag();\n\n if (this.__nativeTag == null) {\n this.__nativeTag = nativeTag;\n NativeAnimatedHelper.API.createAnimatedNode(nativeTag, this.__getNativeConfig());\n this.__shouldUpdateListenersForNewNativeTag = true;\n }\n\n return nativeTag;\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n throw new Error('This JS animated node type cannot be used as native animated node');\n };\n\n _proto.toJSON = function toJSON() {\n return this.__getValue();\n };\n\n return AnimatedNode;\n}();\n\nexport default AnimatedNode;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedNode from './AnimatedNode';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\n\nvar AnimatedWithChildren = /*#__PURE__*/function (_AnimatedNode) {\n _inheritsLoose(AnimatedWithChildren, _AnimatedNode);\n\n function AnimatedWithChildren() {\n var _this;\n\n _this = _AnimatedNode.call(this) || this;\n _this._children = [];\n return _this;\n }\n\n var _proto = AnimatedWithChildren.prototype;\n\n _proto.__makeNative = function __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n\n for (var _iterator = _createForOfIteratorHelperLoose(this._children), _step; !(_step = _iterator()).done;) {\n var child = _step.value;\n\n child.__makeNative();\n\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n\n _AnimatedNode.prototype.__makeNative.call(this);\n };\n\n _proto.__addChild = function __addChild(child) {\n if (this._children.length === 0) {\n this.__attach();\n }\n\n this._children.push(child);\n\n if (this.__isNative) {\n // Only accept \"native\" animated nodes as children\n child.__makeNative();\n\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n };\n\n _proto.__removeChild = function __removeChild(child) {\n var index = this._children.indexOf(child);\n\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n\n if (this.__isNative && child.__isNative) {\n NativeAnimatedHelper.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n\n this._children.splice(index, 1);\n\n if (this._children.length === 0) {\n this.__detach();\n }\n };\n\n _proto.__getChildren = function __getChildren() {\n return this._children;\n };\n\n _proto.__callListeners = function __callListeners(value) {\n _AnimatedNode.prototype.__callListeners.call(this, value);\n\n if (!this.__isNative) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this._children), _step2; !(_step2 = _iterator2()).done;) {\n var child = _step2.value;\n\n if (child.__getValue) {\n child.__callListeners(child.__getValue());\n }\n }\n }\n };\n\n return AnimatedWithChildren;\n}(AnimatedNode);\n\nexport default AnimatedWithChildren;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n/* eslint no-bitwise: 0 */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport normalizeColor from 'normalize-css-color';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar linear = function linear(t) {\n return t;\n};\n/**\n * Very handy helper to map input ranges to output ranges with an easing\n * function and custom behavior outside of the ranges.\n */\n\n\nfunction createInterpolation(config) {\n if (config.outputRange && typeof config.outputRange[0] === 'string') {\n return createInterpolationFromStringOutputRange(config);\n }\n\n var outputRange = config.outputRange;\n checkInfiniteRange('outputRange', outputRange);\n var inputRange = config.inputRange;\n checkInfiniteRange('inputRange', inputRange);\n checkValidInputRange(inputRange);\n invariant(inputRange.length === outputRange.length, 'inputRange (' + inputRange.length + ') and outputRange (' + outputRange.length + ') must have the same length');\n var easing = config.easing || linear;\n var extrapolateLeft = 'extend';\n\n if (config.extrapolateLeft !== undefined) {\n extrapolateLeft = config.extrapolateLeft;\n } else if (config.extrapolate !== undefined) {\n extrapolateLeft = config.extrapolate;\n }\n\n var extrapolateRight = 'extend';\n\n if (config.extrapolateRight !== undefined) {\n extrapolateRight = config.extrapolateRight;\n } else if (config.extrapolate !== undefined) {\n extrapolateRight = config.extrapolate;\n }\n\n return function (input) {\n invariant(typeof input === 'number', 'Cannot interpolation an input which is not a number');\n var range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight);\n };\n}\n\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) {\n var result = input; // Extrapolate\n\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') {\n return result;\n } else if (extrapolateLeft === 'clamp') {\n result = inputMin;\n } else if (extrapolateLeft === 'extend') {// noop\n }\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') {\n return result;\n } else if (extrapolateRight === 'clamp') {\n result = inputMax;\n } else if (extrapolateRight === 'extend') {// noop\n }\n }\n\n if (outputMin === outputMax) {\n return outputMin;\n }\n\n if (inputMin === inputMax) {\n if (input <= inputMin) {\n return outputMin;\n }\n\n return outputMax;\n } // Input Range\n\n\n if (inputMin === -Infinity) {\n result = -result;\n } else if (inputMax === Infinity) {\n result = result - inputMin;\n } else {\n result = (result - inputMin) / (inputMax - inputMin);\n } // Easing\n\n\n result = easing(result); // Output Range\n\n if (outputMin === -Infinity) {\n result = -result;\n } else if (outputMax === Infinity) {\n result = result + outputMin;\n } else {\n result = result * (outputMax - outputMin) + outputMin;\n }\n\n return result;\n}\n\nfunction colorToRgba(input) {\n var normalizedColor = normalizeColor(input);\n\n if (normalizedColor === null || typeof normalizedColor !== 'number') {\n return input;\n }\n\n normalizedColor = normalizedColor || 0;\n var r = (normalizedColor & 0xff000000) >>> 24;\n var g = (normalizedColor & 0x00ff0000) >>> 16;\n var b = (normalizedColor & 0x0000ff00) >>> 8;\n var a = (normalizedColor & 0x000000ff) / 255;\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + a + \")\";\n}\n\nvar stringShapeRegex = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/g;\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n */\n\nfunction createInterpolationFromStringOutputRange(config) {\n var outputRange = config.outputRange;\n invariant(outputRange.length >= 2, 'Bad output range');\n outputRange = outputRange.map(colorToRgba);\n checkPattern(outputRange); // ['rgba(0, 100, 200, 0)', 'rgba(50, 150, 250, 0.5)']\n // ->\n // [\n // [0, 50],\n // [100, 150],\n // [200, 250],\n // [0, 0.5],\n // ]\n\n /* $FlowFixMe(>=0.18.0): `outputRange[0].match()` can return `null`. Need to\n * guard against this possibility.\n */\n\n var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {\n return [];\n });\n outputRange.forEach(function (value) {\n /* $FlowFixMe(>=0.18.0): `value.match()` can return `null`. Need to guard\n * against this possibility.\n */\n value.match(stringShapeRegex).forEach(function (number, i) {\n outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex)\n /* $FlowFixMe(>=0.18.0): `outputRange[0].match()` can return `null`. Need\n * to guard against this possibility. */\n .map(function (value, i) {\n return createInterpolation(_objectSpread(_objectSpread({}, config), {}, {\n outputRange: outputRanges[i]\n }));\n }); // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n\n var shouldRound = isRgbOrRgba(outputRange[0]);\n return function (input) {\n var i = 0; // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n\n return outputRange[0].replace(stringShapeRegex, function () {\n var val = +interpolations[i++](input);\n\n if (shouldRound) {\n val = i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000;\n }\n\n return String(val);\n });\n };\n}\n\nfunction isRgbOrRgba(range) {\n return typeof range === 'string' && range.startsWith('rgb');\n}\n\nfunction checkPattern(arr) {\n var pattern = arr[0].replace(stringShapeRegex, '');\n\n for (var i = 1; i < arr.length; ++i) {\n invariant(pattern === arr[i].replace(stringShapeRegex, ''), 'invalid pattern ' + arr[0] + ' and ' + arr[i]);\n }\n}\n\nfunction findRange(input, inputRange) {\n var i;\n\n for (i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) {\n break;\n }\n }\n\n return i - 1;\n}\n\nfunction checkValidInputRange(arr) {\n invariant(arr.length >= 2, 'inputRange must have at least 2 elements');\n\n for (var i = 1; i < arr.length; ++i) {\n invariant(arr[i] >= arr[i - 1],\n /* $FlowFixMe(>=0.13.0) - In the addition expression below this comment,\n * one or both of the operands may be something that doesn't cleanly\n * convert to a string, like undefined, null, and object, etc. If you really\n * mean this implicit string conversion, you can do something like\n * String(myThing)\n */\n 'inputRange must be monotonically non-decreasing ' + arr);\n }\n}\n\nfunction checkInfiniteRange(name, arr) {\n invariant(arr.length >= 2, name + ' must have at least 2 elements');\n invariant(arr.length !== 2 || arr[0] !== -Infinity || arr[1] !== Infinity,\n /* $FlowFixMe(>=0.13.0) - In the addition expression below this comment,\n * one or both of the operands may be something that doesn't cleanly convert\n * to a string, like undefined, null, and object, etc. If you really mean\n * this implicit string conversion, you can do something like\n * String(myThing)\n */\n name + 'cannot be ]-infinity;+infinity[ ' + arr);\n}\n\nvar AnimatedInterpolation = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedInterpolation, _AnimatedWithChildren);\n\n // Export for testing.\n function AnimatedInterpolation(parent, config) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._parent = parent;\n _this._config = config;\n _this._interpolation = createInterpolation(config);\n return _this;\n }\n\n var _proto = AnimatedInterpolation.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._parent.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n var parentValue = this._parent.__getValue();\n\n invariant(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.');\n return this._interpolation(parentValue);\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._parent.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._parent.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__transformDataType = function __transformDataType(range) {\n return range.map(NativeAnimatedHelper.transformDataType);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n if (__DEV__) {\n NativeAnimatedHelper.validateInterpolation(this._config);\n }\n\n return {\n inputRange: this._config.inputRange,\n // Only the `outputRange` can contain strings so we don't need to transform `inputRange` here\n\n /* $FlowFixMe(>=0.38.0) - Flow error detected during the deployment of\n * v0.38.0. To see the error, remove this comment and run flow */\n outputRange: this.__transformDataType(this._config.outputRange),\n extrapolateLeft: this._config.extrapolateLeft || this._config.extrapolate || 'extend',\n extrapolateRight: this._config.extrapolateRight || this._config.extrapolate || 'extend',\n type: 'interpolation'\n };\n };\n\n return AnimatedInterpolation;\n}(AnimatedWithChildren);\n\nAnimatedInterpolation.__createInterpolation = createInterpolation;\nexport default AnimatedInterpolation;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport InteractionManager from '../../../../exports/InteractionManager';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an Animated.Value is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\n\nfunction _flush(rootNode) {\n var animatedStyles = new Set();\n\n function findAnimatedStyles(node) {\n /* $FlowFixMe(>=0.68.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.68 was deployed. To see the error delete this\n * comment and run Flow. */\n if (typeof node.update === 'function') {\n animatedStyles.add(node);\n } else {\n node.__getChildren().forEach(findAnimatedStyles);\n }\n }\n\n findAnimatedStyles(rootNode);\n /* $FlowFixMe */\n\n animatedStyles.forEach(function (animatedStyle) {\n return animatedStyle.update();\n });\n}\n/**\n * Standard value for driving animations. One `Animated.Value` can drive\n * multiple properties in a synchronized fashion, but can only be driven by one\n * mechanism at a time. Using a new mechanism (e.g. starting a new animation,\n * or calling `setValue`) will stop any previous ones.\n *\n * See https://reactnative.dev/docs/animatedvalue.html\n */\n\n\nvar AnimatedValue = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedValue, _AnimatedWithChildren);\n\n function AnimatedValue(value) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n\n if (typeof value !== 'number') {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n\n _this._startingValue = _this._value = value;\n _this._offset = 0;\n _this._animation = null;\n return _this;\n }\n\n var _proto = AnimatedValue.prototype;\n\n _proto.__detach = function __detach() {\n var _this2 = this;\n\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), function (value) {\n _this2._value = value;\n });\n }\n\n this.stopAnimation();\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._value + this._offset;\n }\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#setvalue\n */\n ;\n\n _proto.setValue = function setValue(value) {\n if (this._animation) {\n this._animation.stop();\n\n this._animation = null;\n }\n\n this._updateValue(value, !this.__isNative\n /* don't perform a flush for natively driven values */\n );\n\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value);\n }\n }\n /**\n * Sets an offset that is applied on top of whatever value is set, whether via\n * `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#setoffset\n */\n ;\n\n _proto.setOffset = function setOffset(offset) {\n this._offset = offset;\n\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset);\n }\n }\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#flattenoffset\n */\n ;\n\n _proto.flattenOffset = function flattenOffset() {\n this._value += this._offset;\n this._offset = 0;\n\n if (this.__isNative) {\n NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n /**\n * Sets the offset value to the base value, and resets the base value to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#extractoffset\n */\n ;\n\n _proto.extractOffset = function extractOffset() {\n this._offset += this._value;\n this._value = 0;\n\n if (this.__isNative) {\n NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#stopanimation\n */\n ;\n\n _proto.stopAnimation = function stopAnimation(callback) {\n this.stopTracking();\n this._animation && this._animation.stop();\n this._animation = null;\n callback && callback(this.__getValue());\n }\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#resetanimation\n */\n ;\n\n _proto.resetAnimation = function resetAnimation(callback) {\n this.stopAnimation(callback);\n this._value = this._startingValue;\n };\n\n _proto._onAnimatedValueUpdateReceived = function _onAnimatedValueUpdateReceived(value) {\n this._updateValue(value, false\n /*flush*/\n );\n }\n /**\n * Interpolates the value before updating the property, e.g. mapping 0-1 to\n * 0-10.\n */\n ;\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n /**\n * Typically only used internally, but could be used by a custom Animation\n * class.\n *\n * See https://reactnative.dev/docs/animatedvalue.html#animate\n */\n ;\n\n _proto.animate = function animate(animation, callback) {\n var _this3 = this;\n\n var handle = null;\n\n if (animation.__isInteraction) {\n handle = InteractionManager.createInteractionHandle();\n }\n\n var previousAnimation = this._animation;\n this._animation && this._animation.stop();\n this._animation = animation;\n animation.start(this._value, function (value) {\n // Natively driven animations will never call into that callback, therefore we can always\n // pass flush = true to allow the updated value to propagate to native with setNativeProps\n _this3._updateValue(value, true\n /* flush */\n );\n }, function (result) {\n _this3._animation = null;\n\n if (handle !== null) {\n InteractionManager.clearInteractionHandle(handle);\n }\n\n callback && callback(result);\n }, previousAnimation, this);\n }\n /**\n * Typically only used internally.\n */\n ;\n\n _proto.stopTracking = function stopTracking() {\n this._tracking && this._tracking.__detach();\n this._tracking = null;\n }\n /**\n * Typically only used internally.\n */\n ;\n\n _proto.track = function track(tracking) {\n this.stopTracking();\n this._tracking = tracking;\n };\n\n _proto._updateValue = function _updateValue(value, flush) {\n if (value === undefined) {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n\n this._value = value;\n\n if (flush) {\n _flush(this);\n }\n\n _AnimatedWithChildren.prototype.__callListeners.call(this, this.__getValue());\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'value',\n value: this._value,\n offset: this._offset\n };\n };\n\n return AnimatedValue;\n}(AnimatedWithChildren);\n\nexport default AnimatedValue;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport AnimatedValue from './nodes/AnimatedValue';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from './NativeAnimatedHelper';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nexport function attachNativeEvent(viewRef, eventName, argMapping) {\n // Find animated values in `argMapping` and create an array representing their\n // key path inside the `nativeEvent` object. Ex.: ['contentOffset', 'x'].\n var eventMappings = [];\n\n var traverse = function traverse(value, path) {\n if (value instanceof AnimatedValue) {\n value.__makeNative();\n\n eventMappings.push({\n nativeEventPath: path,\n animatedValueTag: value.__getNativeTag()\n });\n } else if (typeof value === 'object') {\n for (var _key in value) {\n traverse(value[_key], path.concat(_key));\n }\n }\n };\n\n invariant(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.'); // Assume that the event containing `nativeEvent` is always the first argument.\n\n traverse(argMapping[0].nativeEvent, []);\n var viewTag = findNodeHandle(viewRef);\n\n if (viewTag != null) {\n eventMappings.forEach(function (mapping) {\n NativeAnimatedHelper.API.addAnimatedEventToView(viewTag, eventName, mapping);\n });\n }\n\n return {\n detach: function detach() {\n if (viewTag != null) {\n eventMappings.forEach(function (mapping) {\n NativeAnimatedHelper.API.removeAnimatedEventFromView(viewTag, eventName, // $FlowFixMe[incompatible-call]\n mapping.animatedValueTag);\n });\n }\n }\n };\n}\n\nfunction validateMapping(argMapping, args) {\n var validate = function validate(recMapping, recEvt, key) {\n if (recMapping instanceof AnimatedValue) {\n invariant(typeof recEvt === 'number', 'Bad mapping of event key ' + key + ', should be number but got ' + typeof recEvt);\n return;\n }\n\n if (typeof recEvt === 'number') {\n invariant(recMapping instanceof AnimatedValue, 'Bad mapping of type ' + typeof recMapping + ' for key ' + key + ', event value must map to AnimatedValue');\n return;\n }\n\n invariant(typeof recMapping === 'object', 'Bad mapping of type ' + typeof recMapping + ' for key ' + key);\n invariant(typeof recEvt === 'object', 'Bad event of type ' + typeof recEvt + ' for key ' + key);\n\n for (var mappingKey in recMapping) {\n validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n };\n\n invariant(args.length >= argMapping.length, 'Event has less arguments than mapping');\n argMapping.forEach(function (mapping, idx) {\n validate(mapping, args[idx], 'arg' + idx);\n });\n}\n\nexport var AnimatedEvent = /*#__PURE__*/function () {\n function AnimatedEvent(argMapping, config) {\n this._listeners = [];\n this._argMapping = argMapping;\n\n if (config == null) {\n console.warn('Animated.event now requires a second argument for options');\n config = {\n useNativeDriver: false\n };\n }\n\n if (config.listener) {\n this.__addListener(config.listener);\n }\n\n this._callListeners = this._callListeners.bind(this);\n this._attachedEvent = null;\n this.__isNative = shouldUseNativeDriver(config);\n }\n\n var _proto = AnimatedEvent.prototype;\n\n _proto.__addListener = function __addListener(callback) {\n this._listeners.push(callback);\n };\n\n _proto.__removeListener = function __removeListener(callback) {\n this._listeners = this._listeners.filter(function (listener) {\n return listener !== callback;\n });\n };\n\n _proto.__attach = function __attach(viewRef, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be attached.');\n this._attachedEvent = attachNativeEvent(viewRef, eventName, this._argMapping);\n };\n\n _proto.__detach = function __detach(viewTag, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be detached.');\n this._attachedEvent && this._attachedEvent.detach();\n };\n\n _proto.__getHandler = function __getHandler() {\n var _this = this;\n\n if (this.__isNative) {\n if (__DEV__) {\n var _validatedMapping = false;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (!_validatedMapping) {\n validateMapping(_this._argMapping, args);\n _validatedMapping = true;\n }\n\n _this._callListeners.apply(_this, args);\n };\n } else {\n return this._callListeners;\n }\n }\n\n var validatedMapping = false;\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n if (__DEV__ && !validatedMapping) {\n validateMapping(_this._argMapping, args);\n validatedMapping = true;\n }\n\n var traverse = function traverse(recMapping, recEvt, key) {\n if (recMapping instanceof AnimatedValue) {\n if (typeof recEvt === 'number') {\n recMapping.setValue(recEvt);\n }\n } else if (typeof recMapping === 'object') {\n for (var mappingKey in recMapping) {\n /* $FlowFixMe(>=0.120.0) This comment suppresses an error found\n * when Flow v0.120 was deployed. To see the error, delete this\n * comment and run Flow. */\n traverse(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n }\n };\n\n _this._argMapping.forEach(function (mapping, idx) {\n traverse(mapping, args[idx], 'arg' + idx);\n });\n\n _this._callListeners.apply(_this, args);\n };\n };\n\n _proto._callListeners = function _callListeners() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n this._listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n };\n\n return AnimatedEvent;\n}();","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\n\nvar AnimatedTransform = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedTransform, _AnimatedWithChildren);\n\n function AnimatedTransform(transforms) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._transforms = transforms;\n return _this;\n }\n\n var _proto = AnimatedTransform.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n });\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._transforms.map(function (transform) {\n var result = {};\n\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n result[key] = value.__getValue();\n } else {\n result[key] = value;\n }\n }\n\n return result;\n });\n };\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n return this._transforms.map(function (transform) {\n var result = {};\n\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n result[key] = value.__getAnimatedValue();\n } else {\n // All transform components needed to recompose matrix\n result[key] = value;\n }\n }\n\n return result;\n });\n };\n\n _proto.__attach = function __attach() {\n var _this2 = this;\n\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(_this2);\n }\n }\n });\n };\n\n _proto.__detach = function __detach() {\n var _this3 = this;\n\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(_this3);\n }\n }\n });\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n var transConfigs = [];\n\n this._transforms.forEach(function (transform) {\n for (var key in transform) {\n var value = transform[key];\n\n if (value instanceof AnimatedNode) {\n transConfigs.push({\n type: 'animated',\n property: key,\n nodeTag: value.__getNativeTag()\n });\n } else {\n transConfigs.push({\n type: 'static',\n property: key,\n value: NativeAnimatedHelper.transformDataType(value)\n });\n }\n }\n });\n\n NativeAnimatedHelper.validateTransform(transConfigs);\n return {\n type: 'transform',\n transforms: transConfigs\n };\n };\n\n return AnimatedTransform;\n}(AnimatedWithChildren);\n\nexport default AnimatedTransform;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedTransform from './AnimatedTransform';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport flattenStyle from '../../../../exports/StyleSheet/flattenStyle';\n\nvar AnimatedStyle = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedStyle, _AnimatedWithChildren);\n\n function AnimatedStyle(style) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n style = flattenStyle(style) || {};\n\n if (style.transform) {\n style = _objectSpread(_objectSpread({}, style), {}, {\n transform: new AnimatedTransform(style.transform)\n });\n }\n\n _this._style = style;\n return _this;\n } // Recursively get values for nested styles (like iOS's shadowOffset)\n\n\n var _proto = AnimatedStyle.prototype;\n\n _proto._walkStyleAndGetValues = function _walkStyleAndGetValues(style) {\n var updatedStyle = {};\n\n for (var key in style) {\n var value = style[key];\n\n if (value instanceof AnimatedNode) {\n if (!value.__isNative) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n updatedStyle[key] = value.__getValue();\n }\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetValues(value);\n } else {\n updatedStyle[key] = value;\n }\n }\n\n return updatedStyle;\n };\n\n _proto.__getValue = function __getValue() {\n return this._walkStyleAndGetValues(this._style);\n } // Recursively get animated values for nested styles (like iOS's shadowOffset)\n ;\n\n _proto._walkStyleAndGetAnimatedValues = function _walkStyleAndGetAnimatedValues(style) {\n var updatedStyle = {};\n\n for (var key in style) {\n var value = style[key];\n\n if (value instanceof AnimatedNode) {\n updatedStyle[key] = value.__getAnimatedValue();\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value);\n }\n }\n\n return updatedStyle;\n };\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n return this._walkStyleAndGetAnimatedValues(this._style);\n };\n\n _proto.__attach = function __attach() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n };\n\n _proto.__detach = function __detach() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__makeNative = function __makeNative() {\n for (var key in this._style) {\n var value = this._style[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n var styleConfig = {};\n\n for (var styleKey in this._style) {\n if (this._style[styleKey] instanceof AnimatedNode) {\n var style = this._style[styleKey];\n\n style.__makeNative();\n\n styleConfig[styleKey] = style.__getNativeTag();\n } // Non-animated styles are set using `setNativeProps`, no need\n // to pass those as a part of the node config\n\n }\n\n NativeAnimatedHelper.validateStyles(styleConfig);\n return {\n type: 'style',\n style: styleConfig\n };\n };\n\n return AnimatedStyle;\n}(AnimatedWithChildren);\n\nexport default AnimatedStyle;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport { AnimatedEvent } from '../AnimatedEvent';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedStyle from './AnimatedStyle';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport findNodeHandle from '../../../../exports/findNodeHandle';\nimport invariant from 'fbjs/lib/invariant';\n\nvar AnimatedProps = /*#__PURE__*/function (_AnimatedNode) {\n _inheritsLoose(AnimatedProps, _AnimatedNode);\n\n function AnimatedProps(props, callback) {\n var _this;\n\n _this = _AnimatedNode.call(this) || this;\n\n if (props.style) {\n props = _objectSpread(_objectSpread({}, props), {}, {\n style: new AnimatedStyle(props.style)\n });\n }\n\n _this._props = props;\n _this._callback = callback;\n\n _this.__attach();\n\n return _this;\n }\n\n var _proto = AnimatedProps.prototype;\n\n _proto.__getValue = function __getValue() {\n var props = {};\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n if (!value.__isNative || value instanceof AnimatedStyle) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n props[key] = value.__getValue();\n }\n } else if (value instanceof AnimatedEvent) {\n props[key] = value.__getHandler();\n } else {\n props[key] = value;\n }\n }\n\n return props;\n };\n\n _proto.__getAnimatedValue = function __getAnimatedValue() {\n var props = {};\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n props[key] = value.__getAnimatedValue();\n }\n }\n\n return props;\n };\n\n _proto.__attach = function __attach() {\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n };\n\n _proto.__detach = function __detach() {\n if (this.__isNative && this._animatedView) {\n this.__disconnectAnimatedView();\n }\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n\n _AnimatedNode.prototype.__detach.call(this);\n };\n\n _proto.update = function update() {\n this._callback();\n };\n\n _proto.__makeNative = function __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n\n for (var key in this._props) {\n var value = this._props[key];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n\n if (this._animatedView) {\n this.__connectAnimatedView();\n }\n }\n };\n\n _proto.setNativeView = function setNativeView(animatedView) {\n if (this._animatedView === animatedView) {\n return;\n }\n\n this._animatedView = animatedView;\n\n if (this.__isNative) {\n this.__connectAnimatedView();\n }\n };\n\n _proto.__connectAnimatedView = function __connectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = findNodeHandle(this._animatedView);\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n };\n\n _proto.__disconnectAnimatedView = function __disconnectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = findNodeHandle(this._animatedView);\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\n };\n\n _proto.__restoreDefaultValues = function __restoreDefaultValues() {\n // When using the native driver, view properties need to be restored to\n // their default values manually since react no longer tracks them. This\n // is needed to handle cases where a prop driven by native animated is removed\n // after having been changed natively by an animation.\n if (this.__isNative) {\n NativeAnimatedHelper.API.restoreDefaultValues(this.__getNativeTag());\n }\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n var propsConfig = {};\n\n for (var propKey in this._props) {\n var value = this._props[propKey];\n\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n\n propsConfig[propKey] = value.__getNativeTag();\n }\n }\n\n return {\n type: 'props',\n props: propsConfig\n };\n };\n\n return AnimatedProps;\n}(AnimatedNode);\n\nexport default AnimatedProps;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\n/**\n * This is a helper function for when a component needs to be able to forward a ref\n * to a child component, but still needs to have access to that component as part of\n * its implementation.\n *\n * Its main use case is in wrappers for native components.\n *\n * Usage:\n *\n * class MyView extends React.Component {\n * _nativeRef = null;\n *\n * _setNativeRef = setAndForwardRef({\n * getForwardedRef: () => this.props.forwardedRef,\n * setLocalRef: ref => {\n * this._nativeRef = ref;\n * },\n * });\n *\n * render() {\n * return ;\n * }\n * }\n *\n * const MyViewWithRef = React.forwardRef((props, ref) => (\n * \n * ));\n *\n * module.exports = MyViewWithRef;\n */\nfunction setAndForwardRef(_ref) {\n var getForwardedRef = _ref.getForwardedRef,\n setLocalRef = _ref.setLocalRef;\n return function forwardRef(ref) {\n var forwardedRef = getForwardedRef();\n setLocalRef(ref); // Forward to user ref prop (if one has been specified)\n\n if (typeof forwardedRef === 'function') {\n // Handle function-based refs. String-based refs are handled as functions.\n forwardedRef(ref);\n } else if (typeof forwardedRef === 'object' && forwardedRef != null) {\n // Handle createRef-based refs\n forwardedRef.current = ref;\n }\n };\n}\n\nexport default setAndForwardRef;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport View from '../../../exports/View';\nimport { AnimatedEvent } from './AnimatedEvent';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport * as React from 'react';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport setAndForwardRef from '../Utilities/setAndForwardRef';\nvar animatedComponentNextId = 1;\n\nfunction createAnimatedComponent(Component, options) {\n invariant(typeof Component !== 'function' || Component.prototype && Component.prototype.isReactComponent, '`createAnimatedComponent` does not support stateless functional components; ' + 'use a class component instead.');\n\n var AnimatedComponent = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(AnimatedComponent, _React$Component);\n\n function AnimatedComponent() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this._invokeAnimatedPropsCallbackOnMount = false;\n _this._eventDetachers = [];\n _this._animatedComponentId = animatedComponentNextId++ + \":animatedComponent\";\n\n _this._isFabric = function () {\n var _this$_component$_int, _this$_component$_int2, _this$_component$getN, _this$_component$getN2, _this$_component$getS, _this$_component$getS2;\n\n // When called during the first render, `_component` is always null.\n // Therefore, even if a component is rendered in Fabric, we can't detect\n // that until ref is set, which happens sometime after the first render.\n // In cases where this value switching between \"false\" and \"true\" on Fabric\n // causes issues, add an additional check for _component nullity.\n if (_this._component == null) {\n return false;\n }\n\n return (// eslint-disable-next-line dot-notation\n ((_this$_component$_int = _this._component['_internalInstanceHandle']) == null ? void 0 : (_this$_component$_int2 = _this$_component$_int.stateNode) == null ? void 0 : _this$_component$_int2.canonical) != null || // Some components have a setNativeProps function but aren't a host component\n // such as lists like FlatList and SectionList. These should also use\n // forceUpdate in Fabric since setNativeProps doesn't exist on the underlying\n // host component. This crazy hack is essentially special casing those lists and\n // ScrollView itself to use forceUpdate in Fabric.\n // If these components end up using forwardRef then these hacks can go away\n // as this._component would actually be the underlying host component and the above check\n // would be sufficient.\n _this._component.getNativeScrollRef != null && _this._component.getNativeScrollRef() != null && // eslint-disable-next-line dot-notation\n ((_this$_component$getN = _this._component.getNativeScrollRef()['_internalInstanceHandle']) == null ? void 0 : (_this$_component$getN2 = _this$_component$getN.stateNode) == null ? void 0 : _this$_component$getN2.canonical) != null || _this._component.getScrollResponder != null && _this._component.getScrollResponder() != null && _this._component.getScrollResponder().getNativeScrollRef != null && _this._component.getScrollResponder().getNativeScrollRef() != null && ((_this$_component$getS = _this._component.getScrollResponder().getNativeScrollRef()[// eslint-disable-next-line dot-notation\n '_internalInstanceHandle']) == null ? void 0 : (_this$_component$getS2 = _this$_component$getS.stateNode) == null ? void 0 : _this$_component$getS2.canonical) != null\n );\n };\n\n _this._waitForUpdate = function () {\n if (_this._isFabric()) {\n NativeAnimatedHelper.API.setWaitingForIdentifier(_this._animatedComponentId);\n }\n };\n\n _this._markUpdateComplete = function () {\n if (_this._isFabric()) {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(_this._animatedComponentId);\n }\n };\n\n _this._animatedPropsCallback = function () {\n if (_this._component == null) {\n // AnimatedProps is created in will-mount because it's used in render.\n // But this callback may be invoked before mount in async mode,\n // In which case we should defer the setNativeProps() call.\n // React may throw away uncommitted work in async mode,\n // So a deferred call won't always be invoked.\n _this._invokeAnimatedPropsCallbackOnMount = true;\n } else if (process.env.NODE_ENV === 'test' || // For animating properties of non-leaf/non-native components\n typeof _this._component.setNativeProps !== 'function' || // In Fabric, force animations to go through forceUpdate and skip setNativeProps\n _this._isFabric()) {\n _this.forceUpdate();\n } else if (!_this._propsAnimated.__isNative) {\n _this._component.setNativeProps(_this._propsAnimated.__getAnimatedValue());\n } else {\n throw new Error('Attempting to run JS driven animation on animated ' + 'node that has been moved to \"native\" earlier by starting an ' + 'animation with `useNativeDriver: true`');\n }\n };\n\n _this._setComponentRef = setAndForwardRef({\n getForwardedRef: function getForwardedRef() {\n return _this.props.forwardedRef;\n },\n setLocalRef: function setLocalRef(ref) {\n _this._prevComponent = _this._component;\n _this._component = ref; // TODO: Delete this in a future release.\n\n if (ref != null && ref.getNode == null) {\n ref.getNode = function () {\n var _ref$constructor$name;\n\n console.warn('%s: Calling `getNode()` on the ref of an Animated component ' + 'is no longer necessary. You can now directly use the ref ' + 'instead. This method will be removed in a future release.', (_ref$constructor$name = ref.constructor.name) !== null && _ref$constructor$name !== void 0 ? _ref$constructor$name : '<>');\n return ref;\n };\n }\n }\n });\n return _this;\n }\n\n var _proto = AnimatedComponent.prototype;\n\n _proto._attachNativeEvents = function _attachNativeEvents() {\n var _this$_component,\n _this2 = this;\n\n // Make sure to get the scrollable node for components that implement\n // `ScrollResponder.Mixin`.\n var scrollableNode = (_this$_component = this._component) != null && _this$_component.getScrollableNode ? this._component.getScrollableNode() : this._component;\n\n var _loop = function _loop(key) {\n var prop = _this2.props[key];\n\n if (prop instanceof AnimatedEvent && prop.__isNative) {\n prop.__attach(scrollableNode, key);\n\n _this2._eventDetachers.push(function () {\n return prop.__detach(scrollableNode, key);\n });\n }\n };\n\n for (var key in this.props) {\n _loop(key);\n }\n };\n\n _proto._detachNativeEvents = function _detachNativeEvents() {\n this._eventDetachers.forEach(function (remove) {\n return remove();\n });\n\n this._eventDetachers = [];\n };\n\n _proto._attachProps = function _attachProps(nextProps) {\n var oldPropsAnimated = this._propsAnimated;\n\n if (nextProps === oldPropsAnimated) {\n return;\n }\n\n this._propsAnimated = new AnimatedProps(nextProps, this._animatedPropsCallback); // When you call detach, it removes the element from the parent list\n // of children. If it goes to 0, then the parent also detaches itself\n // and so on.\n // An optimization is to attach the new elements and THEN detach the old\n // ones instead of detaching and THEN attaching.\n // This way the intermediate state isn't to go to 0 and trigger\n // this expensive recursive detaching to then re-attach everything on\n // the very next operation.\n\n if (oldPropsAnimated) {\n oldPropsAnimated.__restoreDefaultValues();\n\n oldPropsAnimated.__detach();\n }\n };\n\n _proto.render = function render() {\n var _ref = this._propsAnimated.__getValue() || {},\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n props = _objectWithoutPropertiesLoose(_ref, [\"style\"]);\n\n var _ref2 = this.props.passthroughAnimatedPropExplicitValues || {},\n _ref2$style = _ref2.style,\n passthruStyle = _ref2$style === void 0 ? {} : _ref2$style,\n passthruProps = _objectWithoutPropertiesLoose(_ref2, [\"style\"]);\n\n var mergedStyle = _objectSpread(_objectSpread({}, style), passthruStyle);\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, passthruProps, {\n style: mergedStyle,\n ref: this._setComponentRef\n }));\n };\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n this._waitForUpdate();\n\n this._attachProps(this.props);\n };\n\n _proto.componentDidMount = function componentDidMount() {\n if (this._invokeAnimatedPropsCallbackOnMount) {\n this._invokeAnimatedPropsCallbackOnMount = false;\n\n this._animatedPropsCallback();\n }\n\n this._propsAnimated.setNativeView(this._component);\n\n this._attachNativeEvents();\n\n this._markUpdateComplete();\n };\n\n _proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(newProps) {\n this._waitForUpdate();\n\n this._attachProps(newProps);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (this._component !== this._prevComponent) {\n this._propsAnimated.setNativeView(this._component);\n }\n\n if (this._component !== this._prevComponent || prevProps !== this.props) {\n this._detachNativeEvents();\n\n this._attachNativeEvents();\n }\n\n this._markUpdateComplete();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this._propsAnimated && this._propsAnimated.__detach();\n\n this._detachNativeEvents();\n\n this._markUpdateComplete();\n\n this._component = null;\n this._prevComponent = null;\n };\n\n return AnimatedComponent;\n }(React.Component);\n\n return /*#__PURE__*/React.forwardRef(function AnimatedComponentWrapper(props, ref) {\n return /*#__PURE__*/React.createElement(AnimatedComponent, _extends({}, props, ref == null ? null : {\n forwardedRef: ref\n }));\n });\n}\n\nexport default createAnimatedComponent;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport * as React from 'react';\nimport FlatList from '../../../../exports/FlatList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar FlatListWithEventThrottle = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(FlatList, _extends({\n scrollEventThrottle: 0.0001\n }, props, {\n ref: ref\n }));\n});\nexport default createAnimatedComponent(FlatListWithEventThrottle);","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport * as React from 'react';\nimport Image from '../../../../exports/Image';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Image, {\n collapsable: false\n});","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport * as React from 'react';\nimport ScrollView from '../../../../exports/ScrollView';\nimport createAnimatedComponent from '../createAnimatedComponent';\n\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar ScrollViewWithEventThrottle = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(ScrollView, _extends({\n scrollEventThrottle: 0.0001\n }, props, {\n ref: ref\n }));\n});\nexport default createAnimatedComponent(ScrollViewWithEventThrottle, {\n collapsable: false\n});","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport * as React from 'react';\nimport View from '../../../exports/View';\nimport VirtualizedList from '../VirtualizedList';\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * Right now this just flattens everything into one list and uses VirtualizedList under the\n * hood. The only operation that might not scale well is concatting the data arrays of all the\n * sections when new props are received, which should be plenty fast for up to ~10,000 items.\n */\nvar VirtualizedSectionList = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(VirtualizedSectionList, _React$PureComponent);\n\n function VirtualizedSectionList() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;\n\n _this._getItem = function (props, sections, index) {\n if (!sections) {\n return null;\n }\n\n var itemIdx = index - 1;\n\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var itemCount = props.getItemCount(sectionData);\n\n if (itemIdx === -1 || itemIdx === itemCount) {\n // We intend for there to be overflow by one on both ends of the list.\n // This will be for headers and footers. When returning a header or footer\n // item the section itself is the item.\n return section;\n } else if (itemIdx < itemCount) {\n // If we are in the bounds of the list's data then return the item.\n return props.getItem(sectionData, itemIdx);\n } else {\n itemIdx -= itemCount + 2; // Add two for the header and footer\n }\n }\n\n return null;\n };\n\n _this._keyExtractor = function (item, index) {\n var info = _this._subExtractor(index);\n\n return info && info.key || String(index);\n };\n\n _this._convertViewable = function (viewable) {\n invariant(viewable.index != null, 'Received a broken ViewToken');\n\n var info = _this._subExtractor(viewable.index);\n\n if (!info) {\n return null;\n }\n\n var keyExtractor = info.section.keyExtractor || _this.props.keyExtractor;\n return _objectSpread(_objectSpread({}, viewable), {}, {\n index: info.index,\n\n /* $FlowFixMe(>=0.63.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.63 was deployed. To see the error delete this\n * comment and run Flow. */\n key: keyExtractor(viewable.item, info.index),\n section: info.section\n });\n };\n\n _this._onViewableItemsChanged = function (_ref) {\n var viewableItems = _ref.viewableItems,\n changed = _ref.changed;\n var onViewableItemsChanged = _this.props.onViewableItemsChanged;\n\n if (onViewableItemsChanged != null) {\n onViewableItemsChanged({\n viewableItems: viewableItems.map(_this._convertViewable, _assertThisInitialized(_this)).filter(Boolean),\n changed: changed.map(_this._convertViewable, _assertThisInitialized(_this)).filter(Boolean)\n });\n }\n };\n\n _this._renderItem = function (listItemCount) {\n return function (_ref2) {\n var item = _ref2.item,\n index = _ref2.index;\n\n var info = _this._subExtractor(index);\n\n if (!info) {\n return null;\n }\n\n var infoIndex = info.index;\n\n if (infoIndex == null) {\n var section = info.section;\n\n if (info.header === true) {\n var renderSectionHeader = _this.props.renderSectionHeader;\n return renderSectionHeader ? renderSectionHeader({\n section: section\n }) : null;\n } else {\n var renderSectionFooter = _this.props.renderSectionFooter;\n return renderSectionFooter ? renderSectionFooter({\n section: section\n }) : null;\n }\n } else {\n var renderItem = info.section.renderItem || _this.props.renderItem;\n\n var SeparatorComponent = _this._getSeparatorComponent(index, info, listItemCount);\n\n invariant(renderItem, 'no renderItem!');\n return /*#__PURE__*/React.createElement(ItemWithSeparator, {\n SeparatorComponent: SeparatorComponent,\n LeadingSeparatorComponent: infoIndex === 0 ? _this.props.SectionSeparatorComponent : undefined,\n cellKey: info.key,\n index: infoIndex,\n item: item,\n leadingItem: info.leadingItem,\n leadingSection: info.leadingSection,\n onUpdateSeparator: _this._onUpdateSeparator,\n prevCellKey: (_this._subExtractor(index - 1) || {}).key,\n ref: function ref(_ref3) {\n _this._cellRefs[info.key] = _ref3;\n },\n renderItem: renderItem,\n section: info.section,\n trailingItem: info.trailingItem,\n trailingSection: info.trailingSection,\n inverted: !!_this.props.inverted\n });\n }\n };\n };\n\n _this._onUpdateSeparator = function (key, newProps) {\n var ref = _this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n };\n\n _this._cellRefs = {};\n\n _this._captureRef = function (ref) {\n _this._listRef = ref;\n };\n\n return _this;\n }\n\n var _proto = VirtualizedSectionList.prototype;\n\n _proto.scrollToLocation = function scrollToLocation(params) {\n var index = params.itemIndex;\n\n for (var i = 0; i < params.sectionIndex; i++) {\n index += this.props.getItemCount(this.props.sections[i].data) + 2;\n }\n\n var viewOffset = params.viewOffset || 0;\n\n if (this._listRef == null) {\n return;\n }\n\n if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {\n // $FlowFixMe[prop-missing] Cannot access private property\n var frame = this._listRef._getFrameMetricsApprox(index - params.itemIndex);\n\n viewOffset += frame.length;\n }\n\n var toIndexParams = _objectSpread(_objectSpread({}, params), {}, {\n viewOffset: viewOffset,\n index: index\n });\n\n this._listRef.scrollToIndex(toIndexParams);\n };\n\n _proto.getListRef = function getListRef() {\n return this._listRef;\n };\n\n _proto.render = function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n ItemSeparatorComponent = _this$props.ItemSeparatorComponent,\n SectionSeparatorComponent = _this$props.SectionSeparatorComponent,\n _renderItem = _this$props.renderItem,\n renderSectionFooter = _this$props.renderSectionFooter,\n renderSectionHeader = _this$props.renderSectionHeader,\n _sections = _this$props.sections,\n stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n passThroughProps = _objectWithoutPropertiesLoose(_this$props, [\"ItemSeparatorComponent\", \"SectionSeparatorComponent\", \"renderItem\", \"renderSectionFooter\", \"renderSectionHeader\", \"sections\", \"stickySectionHeadersEnabled\"]);\n\n var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;\n var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;\n var itemCount = 0;\n\n for (var _iterator = _createForOfIteratorHelperLoose(this.props.sections), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n\n // Track the section header indices\n if (stickyHeaderIndices != null) {\n stickyHeaderIndices.push(itemCount + listHeaderOffset);\n } // Add two for the section header and footer.\n\n\n itemCount += 2;\n itemCount += this.props.getItemCount(section.data);\n }\n\n var renderItem = this._renderItem(itemCount);\n\n return /*#__PURE__*/React.createElement(VirtualizedList, _extends({}, passThroughProps, {\n keyExtractor: this._keyExtractor,\n stickyHeaderIndices: stickyHeaderIndices,\n renderItem: renderItem,\n data: this.props.sections,\n getItem: function getItem(sections, index) {\n return _this2._getItem(_this2.props, sections, index);\n },\n getItemCount: function getItemCount() {\n return itemCount;\n },\n onViewableItemsChanged: this.props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined,\n ref: this._captureRef\n }));\n };\n\n _proto._subExtractor = function _subExtractor(index) {\n var itemIndex = index;\n var _this$props2 = this.props,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount,\n keyExtractor = _this$props2.keyExtractor,\n sections = _this$props2.sections;\n\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var key = section.key || String(i);\n itemIndex -= 1; // The section adds an item for the header\n\n if (itemIndex >= getItemCount(sectionData) + 1) {\n itemIndex -= getItemCount(sectionData) + 1; // The section adds an item for the footer.\n } else if (itemIndex === -1) {\n return {\n section: section,\n key: key + ':header',\n index: null,\n header: true,\n trailingSection: sections[i + 1]\n };\n } else if (itemIndex === getItemCount(sectionData)) {\n return {\n section: section,\n key: key + ':footer',\n index: null,\n header: false,\n trailingSection: sections[i + 1]\n };\n } else {\n var extractor = section.keyExtractor || keyExtractor;\n return {\n section: section,\n key: key + ':' + extractor(getItem(sectionData, itemIndex), itemIndex),\n index: itemIndex,\n leadingItem: getItem(sectionData, itemIndex - 1),\n leadingSection: sections[i - 1],\n trailingItem: getItem(sectionData, itemIndex + 1),\n trailingSection: sections[i + 1]\n };\n }\n }\n };\n\n _proto._getSeparatorComponent = function _getSeparatorComponent(index, info, listItemCount) {\n info = info || this._subExtractor(index);\n\n if (!info) {\n return null;\n }\n\n var ItemSeparatorComponent = info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent;\n var SectionSeparatorComponent = this.props.SectionSeparatorComponent;\n var isLastItemInList = index === listItemCount - 1;\n var isLastItemInSection = info.index === this.props.getItemCount(info.section.data) - 1;\n\n if (SectionSeparatorComponent && isLastItemInSection) {\n return SectionSeparatorComponent;\n }\n\n if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) {\n return ItemSeparatorComponent;\n }\n\n return null;\n };\n\n return VirtualizedSectionList;\n}(React.PureComponent);\n\nVirtualizedSectionList.defaultProps = _objectSpread(_objectSpread({}, VirtualizedList.defaultProps), {}, {\n data: []\n});\n\nvar ItemWithSeparator = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ItemWithSeparator, _React$Component);\n\n function ItemWithSeparator() {\n var _this3;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this3 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this3.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: _this3.props.item,\n leadingSection: _this3.props.leadingSection,\n section: _this3.props.section,\n trailingItem: _this3.props.trailingItem,\n trailingSection: _this3.props.trailingSection\n },\n leadingSeparatorProps: {\n highlighted: false,\n leadingItem: _this3.props.leadingItem,\n leadingSection: _this3.props.leadingSection,\n section: _this3.props.section,\n trailingItem: _this3.props.item,\n trailingSection: _this3.props.trailingSection\n }\n };\n _this3._separators = {\n highlight: function highlight() {\n ['leading', 'trailing'].forEach(function (s) {\n return _this3._separators.updateProps(s, {\n highlighted: true\n });\n });\n },\n unhighlight: function unhighlight() {\n ['leading', 'trailing'].forEach(function (s) {\n return _this3._separators.updateProps(s, {\n highlighted: false\n });\n });\n },\n updateProps: function updateProps(select, newProps) {\n var _this3$props = _this3.props,\n LeadingSeparatorComponent = _this3$props.LeadingSeparatorComponent,\n cellKey = _this3$props.cellKey,\n prevCellKey = _this3$props.prevCellKey;\n\n if (select === 'leading' && LeadingSeparatorComponent != null) {\n _this3.setState(function (state) {\n return {\n leadingSeparatorProps: _objectSpread(_objectSpread({}, state.leadingSeparatorProps), newProps)\n };\n });\n } else {\n _this3.props.onUpdateSeparator(select === 'leading' && prevCellKey || cellKey, newProps);\n }\n }\n };\n return _this3;\n }\n\n ItemWithSeparator.getDerivedStateFromProps = function getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.trailingItem,\n trailingSection: props.trailingSection\n }),\n leadingSeparatorProps: _objectSpread(_objectSpread({}, prevState.leadingSeparatorProps), {}, {\n leadingItem: props.leadingItem,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.item,\n trailingSection: props.trailingSection\n })\n };\n };\n\n var _proto2 = ItemWithSeparator.prototype;\n\n _proto2.updateSeparatorProps = function updateSeparatorProps(newProps) {\n this.setState(function (state) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n };\n });\n };\n\n _proto2.render = function render() {\n var _this$props3 = this.props,\n LeadingSeparatorComponent = _this$props3.LeadingSeparatorComponent,\n SeparatorComponent = _this$props3.SeparatorComponent,\n item = _this$props3.item,\n index = _this$props3.index,\n section = _this$props3.section,\n inverted = _this$props3.inverted;\n var element = this.props.renderItem({\n item: item,\n index: index,\n section: section,\n separators: this._separators\n });\n var leadingSeparator = LeadingSeparatorComponent != null && /*#__PURE__*/React.createElement(LeadingSeparatorComponent, this.state.leadingSeparatorProps);\n var separator = SeparatorComponent != null && /*#__PURE__*/React.createElement(SeparatorComponent, this.state.separatorProps);\n return leadingSeparator || separator ? /*#__PURE__*/React.createElement(View, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element;\n };\n\n return ItemWithSeparator;\n}(React.Component);\n\nexport default VirtualizedSectionList;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport Platform from '../../../exports/Platform';\nimport * as React from 'react';\nimport ScrollView from '../../../exports/ScrollView';\nimport VirtualizedSectionList from '../VirtualizedSectionList';\n\nvar defaultProps = _objectSpread(_objectSpread({}, VirtualizedSectionList.defaultProps), {}, {\n stickySectionHeadersEnabled: Platform.OS === 'ios'\n});\n\n/**\n * A performant interface for rendering sectioned lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Configurable viewability callbacks.\n * - List header support.\n * - List footer support.\n * - Item separator support.\n * - Section header support.\n * - Section separator support.\n * - Heterogeneous data and item rendering support.\n * - Pull to Refresh.\n * - Scroll loading.\n *\n * If you don't need section support and want a simpler interface, use\n * [``](/react-native/docs/flatlist.html).\n *\n * Simple Examples:\n *\n * }\n * renderSectionHeader={({section}) =>

}\n * sections={[ // homogeneous rendering between sections\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * ]}\n * />\n *\n * \n *\n * This is a convenience wrapper around [``](docs/virtualizedlist.html),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate and momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n */\nvar SectionList = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(SectionList, _React$PureComponent);\n\n function SectionList() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;\n\n _this._captureRef = function (ref) {\n // $FlowFixMe\n _this._wrapperListRef = ref;\n };\n\n return _this;\n }\n\n var _proto = SectionList.prototype;\n\n /**\n * Scrolls to the item at the specified `sectionIndex` and `itemIndex` (within the section)\n * positioned in the viewable area such that `viewPosition` 0 places it at the top (and may be\n * covered by a sticky header), 1 at the bottom, and 0.5 centered in the middle. `viewOffset` is a\n * fixed number of pixels to offset the final target position, e.g. to compensate for sticky\n * headers.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n _proto.scrollToLocation = function scrollToLocation(params) {\n if (this._wrapperListRef != null) {\n this._wrapperListRef.scrollToLocation(params);\n }\n }\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n ;\n\n _proto.recordInteraction = function recordInteraction() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n listRef && listRef.recordInteraction();\n }\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n ;\n\n _proto.flashScrollIndicators = function flashScrollIndicators() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n listRef && listRef.flashScrollIndicators();\n }\n /**\n * Provides a handle to the underlying scroll responder.\n */\n ;\n\n _proto.getScrollResponder = function getScrollResponder() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n return listRef.getScrollResponder();\n }\n };\n\n _proto.getScrollableNode = function getScrollableNode() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n return listRef.getScrollableNode();\n }\n };\n\n _proto.setNativeProps = function setNativeProps(props) {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n\n if (listRef) {\n listRef.setNativeProps(props);\n }\n };\n\n _proto.render = function render() {\n return (\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.66.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.66 was deployed. To see the error delete this\n * comment and run Flow. */\n React.createElement(VirtualizedSectionList, _extends({}, this.props, {\n ref: this._captureRef,\n getItemCount: function getItemCount(items) {\n return items.length;\n },\n getItem: function getItem(items, index) {\n return items[index];\n }\n }))\n );\n };\n\n return SectionList;\n}(React.PureComponent);\n\nSectionList.defaultProps = defaultProps;\nexport default SectionList;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport SectionList from '../../vendor/react-native/SectionList';\nexport default SectionList;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport * as React from 'react';\nimport SectionList from '../../../../exports/SectionList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar SectionListWithEventThrottle = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SectionList, _extends({\n scrollEventThrottle: 0.0001\n }, props, {\n ref: ref\n }));\n});\nexport default createAnimatedComponent(SectionListWithEventThrottle);","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport * as React from 'react';\nimport Text from '../../../../exports/Text';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Text, {\n collapsable: false\n});","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport * as React from 'react';\nimport View from '../../../../exports/View';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(View, {\n collapsable: true\n});","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedAddition = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedAddition, _AnimatedWithChildren);\n\n function AnimatedAddition(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedAddition.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._a.__getValue() + this._b.__getValue();\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'addition',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedAddition;\n}(AnimatedWithChildren);\n\nexport default AnimatedAddition;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedDiffClamp = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedDiffClamp, _AnimatedWithChildren);\n\n function AnimatedDiffClamp(a, min, max) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = a;\n _this._min = min;\n _this._max = max;\n _this._value = _this._lastValue = _this._a.__getValue();\n return _this;\n }\n\n var _proto = AnimatedDiffClamp.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__getValue = function __getValue() {\n var value = this._a.__getValue();\n\n var diff = value - this._lastValue;\n this._lastValue = value;\n this._value = Math.min(Math.max(this._value + diff, this._min), this._max);\n return this._value;\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'diffclamp',\n input: this._a.__getNativeTag(),\n min: this._min,\n max: this._max\n };\n };\n\n return AnimatedDiffClamp;\n}(AnimatedWithChildren);\n\nexport default AnimatedDiffClamp;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedDivision = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedDivision, _AnimatedWithChildren);\n\n function AnimatedDivision(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._warnedAboutDivideByZero = false;\n\n if (b === 0 || b instanceof AnimatedNode && b.__getValue() === 0) {\n console.error('Detected potential division by zero in AnimatedDivision');\n }\n\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedDivision.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n var a = this._a.__getValue();\n\n var b = this._b.__getValue();\n\n if (b === 0) {\n // Prevent spamming the console/LogBox\n if (!this._warnedAboutDivideByZero) {\n console.error('Detected division by zero in AnimatedDivision');\n this._warnedAboutDivideByZero = true;\n } // Passing infinity/NaN to Fabric will cause a native crash\n\n\n return 0;\n }\n\n this._warnedAboutDivideByZero = false;\n return a / b;\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'division',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedDivision;\n}(AnimatedWithChildren);\n\nexport default AnimatedDivision;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedModulo = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedModulo, _AnimatedWithChildren);\n\n function AnimatedModulo(a, modulus) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = a;\n _this._modulus = modulus;\n return _this;\n }\n\n var _proto = AnimatedModulo.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus;\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'modulus',\n input: this._a.__getNativeTag(),\n modulus: this._modulus\n };\n };\n\n return AnimatedModulo;\n}(AnimatedWithChildren);\n\nexport default AnimatedModulo;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedMultiplication = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedMultiplication, _AnimatedWithChildren);\n\n function AnimatedMultiplication(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedMultiplication.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._a.__getValue() * this._b.__getValue();\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'multiplication',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedMultiplication;\n}(AnimatedWithChildren);\n\nexport default AnimatedMultiplication;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nvar AnimatedSubtraction = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedSubtraction, _AnimatedWithChildren);\n\n function AnimatedSubtraction(a, b) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n _this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n _this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n return _this;\n }\n\n var _proto = AnimatedSubtraction.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this._a.__makeNative();\n\n this._b.__makeNative();\n\n _AnimatedWithChildren.prototype.__makeNative.call(this);\n };\n\n _proto.__getValue = function __getValue() {\n return this._a.__getValue() - this._b.__getValue();\n };\n\n _proto.interpolate = function interpolate(config) {\n return new AnimatedInterpolation(this, config);\n };\n\n _proto.__attach = function __attach() {\n this._a.__addChild(this);\n\n this._b.__addChild(this);\n };\n\n _proto.__detach = function __detach() {\n this._a.__removeChild(this);\n\n this._b.__removeChild(this);\n\n _AnimatedWithChildren.prototype.__detach.call(this);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n return {\n type: 'subtraction',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n };\n\n return AnimatedSubtraction;\n}(AnimatedWithChildren);\n\nexport default AnimatedSubtraction;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedNode from './AnimatedNode';\nimport { generateNewAnimationId, shouldUseNativeDriver } from '../NativeAnimatedHelper';\n\nvar AnimatedTracking = /*#__PURE__*/function (_AnimatedNode) {\n _inheritsLoose(AnimatedTracking, _AnimatedNode);\n\n function AnimatedTracking(value, parent, animationClass, animationConfig, callback) {\n var _this;\n\n _this = _AnimatedNode.call(this) || this;\n _this._value = value;\n _this._parent = parent;\n _this._animationClass = animationClass;\n _this._animationConfig = animationConfig;\n _this._useNativeDriver = shouldUseNativeDriver(animationConfig);\n _this._callback = callback;\n\n _this.__attach();\n\n return _this;\n }\n\n var _proto = AnimatedTracking.prototype;\n\n _proto.__makeNative = function __makeNative() {\n this.__isNative = true;\n\n this._parent.__makeNative();\n\n _AnimatedNode.prototype.__makeNative.call(this);\n\n this._value.__makeNative();\n };\n\n _proto.__getValue = function __getValue() {\n return this._parent.__getValue();\n };\n\n _proto.__attach = function __attach() {\n this._parent.__addChild(this);\n\n if (this._useNativeDriver) {\n // when the tracking starts we need to convert this node to a \"native node\"\n // so that the parent node will be made \"native\" too. This is necessary as\n // if we don't do this `update` method will get called. At that point it\n // may be too late as it would mean the JS driver has already started\n // updating node values\n this.__makeNative();\n }\n };\n\n _proto.__detach = function __detach() {\n this._parent.__removeChild(this);\n\n _AnimatedNode.prototype.__detach.call(this);\n };\n\n _proto.update = function update() {\n this._value.animate(new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n toValue: this._animationConfig.toValue.__getValue()\n })), this._callback);\n };\n\n _proto.__getNativeConfig = function __getNativeConfig() {\n var animation = new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n // remove toValue from the config as it's a ref to Animated.Value\n toValue: undefined\n }));\n\n var animationConfig = animation.__getNativeAnimationConfig();\n\n return {\n type: 'tracking',\n animationId: generateNewAnimationId(),\n animationConfig: animationConfig,\n toValue: this._parent.__getNativeTag(),\n value: this._value.__getNativeTag()\n };\n };\n\n return AnimatedTracking;\n}(AnimatedNode);\n\nexport default AnimatedTracking;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n/**\n * 2D Value for driving 2D animations, such as pan gestures. Almost identical\n * API to normal `Animated.Value`, but multiplexed.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html\n */\n\nvar AnimatedValueXY = /*#__PURE__*/function (_AnimatedWithChildren) {\n _inheritsLoose(AnimatedValueXY, _AnimatedWithChildren);\n\n function AnimatedValueXY(valueIn) {\n var _this;\n\n _this = _AnimatedWithChildren.call(this) || this;\n var value = valueIn || {\n x: 0,\n y: 0\n }; // fixme: shouldn't need `: any`\n\n if (typeof value.x === 'number' && typeof value.y === 'number') {\n _this.x = new AnimatedValue(value.x);\n _this.y = new AnimatedValue(value.y);\n } else {\n invariant(value.x instanceof AnimatedValue && value.y instanceof AnimatedValue, 'AnimatedValueXY must be initialized with an object of numbers or ' + 'AnimatedValues.');\n _this.x = value.x;\n _this.y = value.y;\n }\n\n _this._listeners = {};\n return _this;\n }\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#setvalue\n */\n\n\n var _proto = AnimatedValueXY.prototype;\n\n _proto.setValue = function setValue(value) {\n this.x.setValue(value.x);\n this.y.setValue(value.y);\n }\n /**\n * Sets an offset that is applied on top of whatever value is set, whether\n * via `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#setoffset\n */\n ;\n\n _proto.setOffset = function setOffset(offset) {\n this.x.setOffset(offset.x);\n this.y.setOffset(offset.y);\n }\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#flattenoffset\n */\n ;\n\n _proto.flattenOffset = function flattenOffset() {\n this.x.flattenOffset();\n this.y.flattenOffset();\n }\n /**\n * Sets the offset value to the base value, and resets the base value to\n * zero. The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#extractoffset\n */\n ;\n\n _proto.extractOffset = function extractOffset() {\n this.x.extractOffset();\n this.y.extractOffset();\n };\n\n _proto.__getValue = function __getValue() {\n return {\n x: this.x.__getValue(),\n y: this.y.__getValue()\n };\n }\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#resetanimation\n */\n ;\n\n _proto.resetAnimation = function resetAnimation(callback) {\n this.x.resetAnimation();\n this.y.resetAnimation();\n callback && callback(this.__getValue());\n }\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#stopanimation\n */\n ;\n\n _proto.stopAnimation = function stopAnimation(callback) {\n this.x.stopAnimation();\n this.y.stopAnimation();\n callback && callback(this.__getValue());\n }\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to synchronously read\n * the value because it might be driven natively.\n *\n * Returns a string that serves as an identifier for the listener.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#addlistener\n */\n ;\n\n _proto.addListener = function addListener(callback) {\n var _this2 = this;\n\n var id = String(_uniqueId++);\n\n var jointCallback = function jointCallback(_ref) {\n var number = _ref.value;\n callback(_this2.__getValue());\n };\n\n this._listeners[id] = {\n x: this.x.addListener(jointCallback),\n y: this.y.addListener(jointCallback)\n };\n return id;\n }\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removelistener\n */\n ;\n\n _proto.removeListener = function removeListener(id) {\n this.x.removeListener(this._listeners[id].x);\n this.y.removeListener(this._listeners[id].y);\n delete this._listeners[id];\n }\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removealllisteners\n */\n ;\n\n _proto.removeAllListeners = function removeAllListeners() {\n this.x.removeAllListeners();\n this.y.removeAllListeners();\n this._listeners = {};\n }\n /**\n * Converts `{x, y}` into `{left, top}` for use in style.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#getlayout\n */\n ;\n\n _proto.getLayout = function getLayout() {\n return {\n left: this.x,\n top: this.y\n };\n }\n /**\n * Converts `{x, y}` into a useable translation transform.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#gettranslatetransform\n */\n ;\n\n _proto.getTranslateTransform = function getTranslateTransform() {\n return [{\n translateX: this.x\n }, {\n translateY: this.y\n }];\n };\n\n return AnimatedValueXY;\n}(AnimatedWithChildren);\n\nexport default AnimatedValueXY;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar startNativeAnimationNextId = 1; // Important note: start() and stop() will only be called at most once.\n// Once an animation has been stopped or finished its course, it will\n// not be reused.\n\nvar Animation = /*#__PURE__*/function () {\n function Animation() {}\n\n var _proto = Animation.prototype;\n\n _proto.start = function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {};\n\n _proto.stop = function stop() {\n if (this.__nativeId) {\n NativeAnimatedHelper.API.stopAnimation(this.__nativeId);\n }\n };\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n // Subclasses that have corresponding animation implementation done in native\n // should override this method\n throw new Error('This animation type cannot be offloaded to native');\n } // Helper function for subclasses to make sure onEnd is only called once.\n ;\n\n _proto.__debouncedOnEnd = function __debouncedOnEnd(result) {\n var onEnd = this.__onEnd;\n this.__onEnd = null;\n onEnd && onEnd(result);\n };\n\n _proto.__startNativeAnimation = function __startNativeAnimation(animatedValue) {\n var startNativeAnimationWaitId = startNativeAnimationNextId + \":startAnimation\";\n startNativeAnimationNextId += 1;\n NativeAnimatedHelper.API.setWaitingForIdentifier(startNativeAnimationWaitId);\n\n try {\n animatedValue.__makeNative();\n\n this.__nativeId = NativeAnimatedHelper.generateNewAnimationId();\n NativeAnimatedHelper.API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), this.__getNativeAnimationConfig(), this.__debouncedOnEnd.bind(this));\n } catch (e) {\n throw e;\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(startNativeAnimationWaitId);\n }\n };\n\n return Animation;\n}();\n\nexport default Animation;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\n\nvar DecayAnimation = /*#__PURE__*/function (_Animation) {\n _inheritsLoose(DecayAnimation, _Animation);\n\n function DecayAnimation(config) {\n var _config$deceleration, _config$isInteraction, _config$iterations;\n\n var _this;\n\n _this = _Animation.call(this) || this;\n _this._deceleration = (_config$deceleration = config.deceleration) !== null && _config$deceleration !== void 0 ? _config$deceleration : 0.998;\n _this._velocity = config.velocity;\n _this._useNativeDriver = shouldUseNativeDriver(config);\n _this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !_this._useNativeDriver;\n _this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n return _this;\n }\n\n var _proto = DecayAnimation.prototype;\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n return {\n type: 'decay',\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations\n };\n };\n\n _proto.start = function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._lastValue = fromValue;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._startTime = Date.now();\n\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n };\n\n _proto.onUpdate = function onUpdate() {\n var now = Date.now();\n var value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));\n\n this._onUpdate(value);\n\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._lastValue = value;\n\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n };\n\n _proto.stop = function stop() {\n _Animation.prototype.stop.call(this);\n\n this.__active = false;\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n };\n\n return DecayAnimation;\n}(Animation);\n\nexport default DecayAnimation;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nfunction stiffnessFromOrigamiValue(oValue) {\n return (oValue - 30) * 3.62 + 194;\n}\n\nfunction dampingFromOrigamiValue(oValue) {\n return (oValue - 8) * 3 + 25;\n}\n\nfunction fromOrigamiTensionAndFriction(tension, friction) {\n return {\n stiffness: stiffnessFromOrigamiValue(tension),\n damping: dampingFromOrigamiValue(friction)\n };\n}\n\nfunction fromBouncinessAndSpeed(bounciness, speed) {\n function normalize(value, startValue, endValue) {\n return (value - startValue) / (endValue - startValue);\n }\n\n function projectNormal(n, start, end) {\n return start + n * (end - start);\n }\n\n function linearInterpolation(t, start, end) {\n return t * end + (1 - t) * start;\n }\n\n function quadraticOutInterpolation(t, start, end) {\n return linearInterpolation(2 * t - t * t, start, end);\n }\n\n function b3Friction1(x) {\n return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;\n }\n\n function b3Friction2(x) {\n return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;\n }\n\n function b3Friction3(x) {\n return 0.00000045 * Math.pow(x, 3) - 0.000332 * Math.pow(x, 2) + 0.1078 * x + 5.84;\n }\n\n function b3Nobounce(tension) {\n if (tension <= 18) {\n return b3Friction1(tension);\n } else if (tension > 18 && tension <= 44) {\n return b3Friction2(tension);\n } else {\n return b3Friction3(tension);\n }\n }\n\n var b = normalize(bounciness / 1.7, 0, 20);\n b = projectNormal(b, 0, 0.8);\n var s = normalize(speed / 1.7, 0, 20);\n var bouncyTension = projectNormal(s, 0.5, 200);\n var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01);\n return {\n stiffness: stiffnessFromOrigamiValue(bouncyTension),\n damping: dampingFromOrigamiValue(bouncyFriction)\n };\n}\n\nexport default {\n fromOrigamiTensionAndFriction: fromOrigamiTensionAndFriction,\n fromBouncinessAndSpeed: fromBouncinessAndSpeed\n};","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Animation from './Animation';\nimport SpringConfig from '../SpringConfig';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\n\nvar SpringAnimation = /*#__PURE__*/function (_Animation) {\n _inheritsLoose(SpringAnimation, _Animation);\n\n function SpringAnimation(config) {\n var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations;\n\n var _this;\n\n _this = _Animation.call(this) || this;\n _this._overshootClamping = (_config$overshootClam = config.overshootClamping) !== null && _config$overshootClam !== void 0 ? _config$overshootClam : false;\n _this._restDisplacementThreshold = (_config$restDisplacem = config.restDisplacementThreshold) !== null && _config$restDisplacem !== void 0 ? _config$restDisplacem : 0.001;\n _this._restSpeedThreshold = (_config$restSpeedThre = config.restSpeedThreshold) !== null && _config$restSpeedThre !== void 0 ? _config$restSpeedThre : 0.001;\n _this._initialVelocity = (_config$velocity = config.velocity) !== null && _config$velocity !== void 0 ? _config$velocity : 0;\n _this._lastVelocity = (_config$velocity2 = config.velocity) !== null && _config$velocity2 !== void 0 ? _config$velocity2 : 0;\n _this._toValue = config.toValue;\n _this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n _this._useNativeDriver = shouldUseNativeDriver(config);\n _this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !_this._useNativeDriver;\n _this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n\n if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) {\n var _config$stiffness, _config$damping, _config$mass;\n\n invariant(config.bounciness === undefined && config.speed === undefined && config.tension === undefined && config.friction === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n _this._stiffness = (_config$stiffness = config.stiffness) !== null && _config$stiffness !== void 0 ? _config$stiffness : 100;\n _this._damping = (_config$damping = config.damping) !== null && _config$damping !== void 0 ? _config$damping : 10;\n _this._mass = (_config$mass = config.mass) !== null && _config$mass !== void 0 ? _config$mass : 1;\n } else if (config.bounciness !== undefined || config.speed !== undefined) {\n var _config$bounciness, _config$speed;\n\n // Convert the origami bounciness/speed values to stiffness/damping\n // We assume mass is 1.\n invariant(config.tension === undefined && config.friction === undefined && config.stiffness === undefined && config.damping === undefined && config.mass === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n var springConfig = SpringConfig.fromBouncinessAndSpeed((_config$bounciness = config.bounciness) !== null && _config$bounciness !== void 0 ? _config$bounciness : 8, (_config$speed = config.speed) !== null && _config$speed !== void 0 ? _config$speed : 12);\n _this._stiffness = springConfig.stiffness;\n _this._damping = springConfig.damping;\n _this._mass = 1;\n } else {\n var _config$tension, _config$friction;\n\n // Convert the origami tension/friction values to stiffness/damping\n // We assume mass is 1.\n var _springConfig = SpringConfig.fromOrigamiTensionAndFriction((_config$tension = config.tension) !== null && _config$tension !== void 0 ? _config$tension : 40, (_config$friction = config.friction) !== null && _config$friction !== void 0 ? _config$friction : 7);\n\n _this._stiffness = _springConfig.stiffness;\n _this._damping = _springConfig.damping;\n _this._mass = 1;\n }\n\n invariant(_this._stiffness > 0, 'Stiffness value must be greater than 0');\n invariant(_this._damping > 0, 'Damping value must be greater than 0');\n invariant(_this._mass > 0, 'Mass value must be greater than 0');\n return _this;\n }\n\n var _proto = SpringAnimation.prototype;\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n var _this$_initialVelocit;\n\n return {\n type: 'spring',\n overshootClamping: this._overshootClamping,\n restDisplacementThreshold: this._restDisplacementThreshold,\n restSpeedThreshold: this._restSpeedThreshold,\n stiffness: this._stiffness,\n damping: this._damping,\n mass: this._mass,\n initialVelocity: (_this$_initialVelocit = this._initialVelocity) !== null && _this$_initialVelocit !== void 0 ? _this$_initialVelocit : this._lastVelocity,\n toValue: this._toValue,\n iterations: this.__iterations\n };\n };\n\n _proto.start = function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n var _this2 = this;\n\n this.__active = true;\n this._startPosition = fromValue;\n this._lastPosition = this._startPosition;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._lastTime = Date.now();\n this._frameTime = 0.0;\n\n if (previousAnimation instanceof SpringAnimation) {\n var internalState = previousAnimation.getInternalState();\n this._lastPosition = internalState.lastPosition;\n this._lastVelocity = internalState.lastVelocity; // Set the initial velocity to the last velocity\n\n this._initialVelocity = this._lastVelocity;\n this._lastTime = internalState.lastTime;\n }\n\n var start = function start() {\n if (_this2._useNativeDriver) {\n _this2.__startNativeAnimation(animatedValue);\n } else {\n _this2.onUpdate();\n }\n }; // If this._delay is more than 0, we start after the timeout.\n\n\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n };\n\n _proto.getInternalState = function getInternalState() {\n return {\n lastPosition: this._lastPosition,\n lastVelocity: this._lastVelocity,\n lastTime: this._lastTime\n };\n }\n /**\n * This spring model is based off of a damped harmonic oscillator\n * (https://en.wikipedia.org/wiki/Harmonic_oscillator#Damped_harmonic_oscillator).\n *\n * We use the closed form of the second order differential equation:\n *\n * x'' + (2ζ⍵_0)x' + ⍵^2x = 0\n *\n * where\n * ⍵_0 = √(k / m) (undamped angular frequency of the oscillator),\n * ζ = c / 2√mk (damping ratio),\n * c = damping constant\n * k = stiffness\n * m = mass\n *\n * The derivation of the closed form is described in detail here:\n * http://planetmath.org/sites/default/files/texpdf/39745.pdf\n *\n * This algorithm happens to match the algorithm used by CASpringAnimation,\n * a QuartzCore (iOS) API that creates spring animations.\n */\n ;\n\n _proto.onUpdate = function onUpdate() {\n // If for some reason we lost a lot of frames (e.g. process large payload or\n // stopped in the debugger), we only advance by 4 frames worth of\n // computation and will continue on the next frame. It's better to have it\n // running at faster speed than jumping to the end.\n var MAX_STEPS = 64;\n var now = Date.now();\n\n if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\n }\n\n var deltaTime = (now - this._lastTime) / 1000;\n this._frameTime += deltaTime;\n var c = this._damping;\n var m = this._mass;\n var k = this._stiffness;\n var v0 = -this._initialVelocity;\n var zeta = c / (2 * Math.sqrt(k * m)); // damping ratio\n\n var omega0 = Math.sqrt(k / m); // undamped angular frequency of the oscillator (rad/ms)\n\n var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta); // exponential decay\n\n var x0 = this._toValue - this._startPosition; // calculate the oscillation from x0 = 1 to x = 0\n\n var position = 0.0;\n var velocity = 0.0;\n var t = this._frameTime;\n\n if (zeta < 1) {\n // Under damped\n var envelope = Math.exp(-zeta * omega0 * t);\n position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t)); // This looks crazy -- it's actually just the derivative of the\n // oscillation function\n\n velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t));\n } else {\n // Critically damped\n var _envelope = Math.exp(-omega0 * t);\n\n position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\n\n this._onUpdate(position);\n\n if (!this.__active) {\n // a listener might have stopped us in _onUpdate\n return;\n } // Conditions for stopping the spring animation\n\n\n var isOvershooting = false;\n\n if (this._overshootClamping && this._stiffness !== 0) {\n if (this._startPosition < this._toValue) {\n isOvershooting = position > this._toValue;\n } else {\n isOvershooting = position < this._toValue;\n }\n }\n\n var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n\n var isDisplacement = true;\n\n if (this._stiffness !== 0) {\n isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\n }\n\n if (isOvershooting || isVelocity && isDisplacement) {\n if (this._stiffness !== 0) {\n // Ensure that we end up with a round value\n this._lastPosition = this._toValue;\n this._lastVelocity = 0;\n\n this._onUpdate(this._toValue);\n }\n\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n };\n\n _proto.stop = function stop() {\n _Animation.prototype.stop.call(this);\n\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n };\n\n return SpringAnimation;\n}(Animation);\n\nexport default SpringAnimation;","/**\n * Portions Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n/**\n * BezierEasing - use bezier curve for transition easing function\n * https://github.com/gre/bezier-easing\n * @copyright 2014-2015 Gaëtan Renaudeau. MIT License.\n */\n'use strict'; // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\nvar NEWTON_ITERATIONS = 4;\nvar NEWTON_MIN_SLOPE = 0.001;\nvar SUBDIVISION_PRECISION = 0.0000001;\nvar SUBDIVISION_MAX_ITERATIONS = 10;\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nvar float32ArraySupported = typeof Float32Array === 'function';\n\nfunction A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\n\nfunction B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\n\nfunction C(aA1) {\n return 3.0 * aA1;\n} // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\nfunction calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n} // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\nfunction getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\n\nfunction binarySubdivide(aX, _aA, _aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0,\n aA = _aA,\n aB = _aB;\n\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n return currentT;\n}\n\nfunction newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {\n var aGuessT = _aGuessT;\n\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n\n return aGuessT;\n}\n\nexport default function bezier(mX1, mY1, mX2, mY2) {\n if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {\n throw new Error('bezier x values must be in [0, 1] range');\n } // Precompute samples table\n\n\n var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample; // Interpolate to provide an initial guess for t\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n\n return function BezierEasing(x) {\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n } // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n\n if (x === 0) {\n return 0;\n }\n\n if (x === 1) {\n return 1;\n }\n\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\n;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nimport _bezier from './bezier';\n\nvar _ease;\n/**\n * The `Easing` module implements common easing functions. This module is used\n * by [Animate.timing()](docs/animate.html#timing) to convey physically\n * believable motion in animations.\n *\n * You can find a visualization of some common easing functions at\n * http://easings.net/\n *\n * ### Predefined animations\n *\n * The `Easing` module provides several predefined animations through the\n * following methods:\n *\n * - [`back`](docs/easing.html#back) provides a simple animation where the\n * object goes slightly back before moving forward\n * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation\n * - [`ease`](docs/easing.html#ease) provides a simple inertial animation\n * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction\n *\n * ### Standard functions\n *\n * Three standard easing functions are provided:\n *\n * - [`linear`](docs/easing.html#linear)\n * - [`quad`](docs/easing.html#quad)\n * - [`cubic`](docs/easing.html#cubic)\n *\n * The [`poly`](docs/easing.html#poly) function can be used to implement\n * quartic, quintic, and other higher power functions.\n *\n * ### Additional functions\n *\n * Additional mathematical functions are provided by the following methods:\n *\n * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve\n * - [`circle`](docs/easing.html#circle) provides a circular function\n * - [`sin`](docs/easing.html#sin) provides a sinusoidal function\n * - [`exp`](docs/easing.html#exp) provides an exponential function\n *\n * The following helpers are used to modify other easing functions.\n *\n * - [`in`](docs/easing.html#in) runs an easing function forwards\n * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical\n * - [`out`](docs/easing.html#out) runs an easing function backwards\n */\n\n\nvar Easing = /*#__PURE__*/function () {\n function Easing() {}\n\n /**\n * A stepping function, returns 1 for any positive value of `n`.\n */\n Easing.step0 = function step0(n) {\n return n > 0 ? 1 : 0;\n }\n /**\n * A stepping function, returns 1 if `n` is greater than or equal to 1.\n */\n ;\n\n Easing.step1 = function step1(n) {\n return n >= 1 ? 1 : 0;\n }\n /**\n * A linear function, `f(t) = t`. Position correlates to elapsed time one to\n * one.\n *\n * http://cubic-bezier.com/#0,0,1,1\n */\n ;\n\n Easing.linear = function linear(t) {\n return t;\n }\n /**\n * A simple inertial interaction, similar to an object slowly accelerating to\n * speed.\n *\n * http://cubic-bezier.com/#.42,0,1,1\n */\n ;\n\n Easing.ease = function ease(t) {\n if (!_ease) {\n _ease = Easing.bezier(0.42, 0, 1, 1);\n }\n\n return _ease(t);\n }\n /**\n * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed\n * time.\n *\n * http://easings.net/#easeInQuad\n */\n ;\n\n Easing.quad = function quad(t) {\n return t * t;\n }\n /**\n * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed\n * time.\n *\n * http://easings.net/#easeInCubic\n */\n ;\n\n Easing.cubic = function cubic(t) {\n return t * t * t;\n }\n /**\n * A power function. Position is equal to the Nth power of elapsed time.\n *\n * n = 4: http://easings.net/#easeInQuart\n * n = 5: http://easings.net/#easeInQuint\n */\n ;\n\n Easing.poly = function poly(n) {\n return function (t) {\n return Math.pow(t, n);\n };\n }\n /**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\n ;\n\n Easing.sin = function sin(t) {\n return 1 - Math.cos(t * Math.PI / 2);\n }\n /**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\n ;\n\n Easing.circle = function circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n /**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\n ;\n\n Easing.exp = function exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n /**\n * A simple elastic interaction, similar to a spring oscillating back and\n * forth.\n *\n * Default bounciness is 1, which overshoots a little bit once. 0 bounciness\n * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N\n * times.\n *\n * http://easings.net/#easeInElastic\n */\n ;\n\n Easing.elastic = function elastic(bounciness) {\n if (bounciness === void 0) {\n bounciness = 1;\n }\n\n var p = bounciness * Math.PI;\n return function (t) {\n return 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);\n };\n }\n /**\n * Use with `Animated.parallel()` to create a simple effect where the object\n * animates back slightly as the animation starts.\n *\n * Wolfram Plot:\n *\n * - http://tiny.cc/back_default (s = 1.70158, default)\n */\n ;\n\n Easing.back = function back(s) {\n if (s === void 0) {\n s = 1.70158;\n }\n\n return function (t) {\n return t * t * ((s + 1) * t - s);\n };\n }\n /**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\n ;\n\n Easing.bounce = function bounce(t) {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n\n if (t < 2 / 2.75) {\n var _t = t - 1.5 / 2.75;\n\n return 7.5625 * _t * _t + 0.75;\n }\n\n if (t < 2.5 / 2.75) {\n var _t2 = t - 2.25 / 2.75;\n\n return 7.5625 * _t2 * _t2 + 0.9375;\n }\n\n var t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n }\n /**\n * Provides a cubic bezier curve, equivalent to CSS Transitions'\n * `transition-timing-function`.\n *\n * A useful tool to visualize cubic bezier curves can be found at\n * http://cubic-bezier.com/\n */\n ;\n\n Easing.bezier = function bezier(x1, y1, x2, y2) {\n return _bezier(x1, y1, x2, y2);\n }\n /**\n * Runs an easing function forwards.\n */\n ;\n\n Easing.in = function _in(easing) {\n return easing;\n }\n /**\n * Runs an easing function backwards.\n */\n ;\n\n Easing.out = function out(easing) {\n return function (t) {\n return 1 - easing(1 - t);\n };\n }\n /**\n * Makes any easing function symmetrical. The easing function will run\n * forwards for half of the duration, then backwards for the rest of the\n * duration.\n */\n ;\n\n Easing.inOut = function inOut(easing) {\n return function (t) {\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n\n return 1 - easing((1 - t) * 2) / 2;\n };\n };\n\n return Easing;\n}();\n\nexport default Easing;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport Easing from '../../vendor/react-native/Animated/Easing';\nexport default Easing;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport Easing from '../../../../exports/Easing';\n\nvar _easeInOut;\n\nfunction easeInOut() {\n if (!_easeInOut) {\n _easeInOut = Easing.inOut(Easing.ease);\n }\n\n return _easeInOut;\n}\n\nvar TimingAnimation = /*#__PURE__*/function (_Animation) {\n _inheritsLoose(TimingAnimation, _Animation);\n\n function TimingAnimation(config) {\n var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;\n\n var _this;\n\n _this = _Animation.call(this) || this;\n _this._toValue = config.toValue;\n _this._easing = (_config$easing = config.easing) !== null && _config$easing !== void 0 ? _config$easing : easeInOut();\n _this._duration = (_config$duration = config.duration) !== null && _config$duration !== void 0 ? _config$duration : 500;\n _this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n _this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n _this._useNativeDriver = shouldUseNativeDriver(config);\n _this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !_this._useNativeDriver;\n return _this;\n }\n\n var _proto = TimingAnimation.prototype;\n\n _proto.__getNativeAnimationConfig = function __getNativeAnimationConfig() {\n var frameDuration = 1000.0 / 60.0;\n var frames = [];\n var numFrames = Math.round(this._duration / frameDuration);\n\n for (var frame = 0; frame < numFrames; frame++) {\n frames.push(this._easing(frame / numFrames));\n }\n\n frames.push(this._easing(1));\n return {\n type: 'frames',\n frames: frames,\n toValue: this._toValue,\n iterations: this.__iterations\n };\n };\n\n _proto.start = function start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n var _this2 = this;\n\n this.__active = true;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n\n var start = function start() {\n // Animations that sometimes have 0 duration and sometimes do not\n // still need to use the native driver when duration is 0 so as to\n // not cause intermixed JS and native animations.\n if (_this2._duration === 0 && !_this2._useNativeDriver) {\n _this2._onUpdate(_this2._toValue);\n\n _this2.__debouncedOnEnd({\n finished: true\n });\n } else {\n _this2._startTime = Date.now();\n\n if (_this2._useNativeDriver) {\n _this2.__startNativeAnimation(animatedValue);\n } else {\n _this2._animationFrame = requestAnimationFrame(_this2.onUpdate.bind(_this2));\n }\n }\n };\n\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n };\n\n _proto.onUpdate = function onUpdate() {\n var now = Date.now();\n\n if (now >= this._startTime + this._duration) {\n if (this._duration === 0) {\n this._onUpdate(this._toValue);\n } else {\n this._onUpdate(this._fromValue + this._easing(1) * (this._toValue - this._fromValue));\n }\n\n this.__debouncedOnEnd({\n finished: true\n });\n\n return;\n }\n\n this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue));\n\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n };\n\n _proto.stop = function stop() {\n _Animation.prototype.stop.call(this);\n\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n\n this.__debouncedOnEnd({\n finished: false\n });\n };\n\n return TimingAnimation;\n}(Animation);\n\nexport default TimingAnimation;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedAddition from './nodes/AnimatedAddition';\nimport AnimatedDiffClamp from './nodes/AnimatedDiffClamp';\nimport AnimatedDivision from './nodes/AnimatedDivision';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedModulo from './nodes/AnimatedModulo';\nimport AnimatedMultiplication from './nodes/AnimatedMultiplication';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport AnimatedSubtraction from './nodes/AnimatedSubtraction';\nimport AnimatedTracking from './nodes/AnimatedTracking';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport DecayAnimation from './animations/DecayAnimation';\nimport SpringAnimation from './animations/SpringAnimation';\nimport TimingAnimation from './animations/TimingAnimation';\nimport createAnimatedComponent from './createAnimatedComponent';\n\nvar add = function add(a, b) {\n return new AnimatedAddition(a, b);\n};\n\nvar subtract = function subtract(a, b) {\n return new AnimatedSubtraction(a, b);\n};\n\nvar divide = function divide(a, b) {\n return new AnimatedDivision(a, b);\n};\n\nvar multiply = function multiply(a, b) {\n return new AnimatedMultiplication(a, b);\n};\n\nvar modulo = function modulo(a, modulus) {\n return new AnimatedModulo(a, modulus);\n};\n\nvar diffClamp = function diffClamp(a, min, max) {\n return new AnimatedDiffClamp(a, min, max);\n};\n\nvar _combineCallbacks = function _combineCallbacks(callback, config) {\n if (callback && config.onComplete) {\n return function () {\n config.onComplete && config.onComplete.apply(config, arguments);\n callback && callback.apply(void 0, arguments);\n };\n } else {\n return callback || config.onComplete;\n }\n};\n\nvar maybeVectorAnim = function maybeVectorAnim(value, config, anim) {\n if (value instanceof AnimatedValueXY) {\n var configX = _objectSpread({}, config);\n\n var configY = _objectSpread({}, config);\n\n for (var key in config) {\n var _config$key = config[key],\n x = _config$key.x,\n y = _config$key.y;\n\n if (x !== undefined && y !== undefined) {\n configX[key] = x;\n configY[key] = y;\n }\n }\n\n var aX = anim(value.x, configX);\n var aY = anim(value.y, configY); // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n\n return parallel([aX, aY], {\n stopTogether: false\n });\n }\n\n return null;\n};\n\nvar spring = function spring(value, config) {\n var _start = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, SpringAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new SpringAnimation(singleConfig), callback);\n }\n };\n\n return maybeVectorAnim(value, config, spring) || {\n start: function start(callback) {\n _start(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations: iterations\n });\n\n _start(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\n\nvar timing = function timing(value, config) {\n var _start2 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, TimingAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new TimingAnimation(singleConfig), callback);\n }\n };\n\n return maybeVectorAnim(value, config, timing) || {\n start: function start(callback) {\n _start2(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations: iterations\n });\n\n _start2(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\n\nvar decay = function decay(value, config) {\n var _start3 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n singleValue.animate(new DecayAnimation(singleConfig), callback);\n };\n\n return maybeVectorAnim(value, config, decay) || {\n start: function start(callback) {\n _start3(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations: iterations\n });\n\n _start3(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\n\nvar sequence = function sequence(animations) {\n var current = 0;\n return {\n start: function start(callback) {\n var onComplete = function onComplete(result) {\n if (!result.finished) {\n callback && callback(result);\n return;\n }\n\n current++;\n\n if (current === animations.length) {\n callback && callback(result);\n return;\n }\n\n animations[current].start(onComplete);\n };\n\n if (animations.length === 0) {\n callback && callback({\n finished: true\n });\n } else {\n animations[current].start(onComplete);\n }\n },\n stop: function stop() {\n if (current < animations.length) {\n animations[current].stop();\n }\n },\n reset: function reset() {\n animations.forEach(function (animation, idx) {\n if (idx <= current) {\n animation.reset();\n }\n });\n current = 0;\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.sequence animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n};\n\nvar parallel = function parallel(animations, config) {\n var doneCount = 0; // Make sure we only call stop() at most once for each animation\n\n var hasEnded = {};\n var stopTogether = !(config && config.stopTogether === false);\n var result = {\n start: function start(callback) {\n if (doneCount === animations.length) {\n callback && callback({\n finished: true\n });\n return;\n }\n\n animations.forEach(function (animation, idx) {\n var cb = function cb(endResult) {\n hasEnded[idx] = true;\n doneCount++;\n\n if (doneCount === animations.length) {\n doneCount = 0;\n callback && callback(endResult);\n return;\n }\n\n if (!endResult.finished && stopTogether) {\n result.stop();\n }\n };\n\n if (!animation) {\n cb({\n finished: true\n });\n } else {\n animation.start(cb);\n }\n });\n },\n stop: function stop() {\n animations.forEach(function (animation, idx) {\n !hasEnded[idx] && animation.stop();\n hasEnded[idx] = true;\n });\n },\n reset: function reset() {\n animations.forEach(function (animation, idx) {\n animation.reset();\n hasEnded[idx] = false;\n doneCount = 0;\n });\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.parallel animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n return result;\n};\n\nvar delay = function delay(time) {\n // Would be nice to make a specialized implementation\n return timing(new AnimatedValue(0), {\n toValue: 0,\n delay: time,\n duration: 0,\n useNativeDriver: false\n });\n};\n\nvar stagger = function stagger(time, animations) {\n return parallel(animations.map(function (animation, i) {\n return sequence([delay(time * i), animation]);\n }));\n};\n\nvar loop = function loop(animation, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations,\n _ref$resetBeforeItera = _ref.resetBeforeIteration,\n resetBeforeIteration = _ref$resetBeforeItera === void 0 ? true : _ref$resetBeforeItera;\n\n var isFinished = false;\n var iterationsSoFar = 0;\n return {\n start: function start(callback) {\n var restart = function restart(result) {\n if (result === void 0) {\n result = {\n finished: true\n };\n }\n\n if (isFinished || iterationsSoFar === iterations || result.finished === false) {\n callback && callback(result);\n } else {\n iterationsSoFar++;\n resetBeforeIteration && animation.reset();\n animation.start(restart);\n }\n };\n\n if (!animation || iterations === 0) {\n callback && callback({\n finished: true\n });\n } else {\n if (animation._isUsingNativeDriver()) {\n animation._startNativeLoop(iterations);\n } else {\n restart(); // Start looping recursively on the js thread\n }\n }\n },\n stop: function stop() {\n isFinished = true;\n animation.stop();\n },\n reset: function reset() {\n iterationsSoFar = 0;\n isFinished = false;\n animation.reset();\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.loop animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return animation._isUsingNativeDriver();\n }\n };\n};\n\nfunction forkEvent(event, listener) {\n if (!event) {\n return listener;\n } else if (event instanceof AnimatedEvent) {\n event.__addListener(listener);\n\n return event;\n } else {\n return function () {\n typeof event === 'function' && event.apply(void 0, arguments);\n listener.apply(void 0, arguments);\n };\n }\n}\n\nfunction unforkEvent(event, listener) {\n if (event && event instanceof AnimatedEvent) {\n event.__removeListener(listener);\n }\n}\n\nvar event = function event(argMapping, config) {\n var animatedEvent = new AnimatedEvent(argMapping, config);\n\n if (animatedEvent.__isNative) {\n return animatedEvent;\n } else {\n return animatedEvent.__getHandler();\n }\n};\n/**\n * The `Animated` library is designed to make animations fluid, powerful, and\n * easy to build and maintain. `Animated` focuses on declarative relationships\n * between inputs and outputs, with configurable transforms in between, and\n * simple `start`/`stop` methods to control time-based animation execution.\n * If additional transforms are added, be sure to include them in\n * AnimatedMock.js as well.\n *\n * See https://reactnative.dev/docs/animated.html\n */\n\n\nexport default {\n /**\n * Standard value class for driving animations. Typically initialized with\n * `new Animated.Value(0);`\n *\n * See https://reactnative.dev/docs/animated.html#value\n */\n Value: AnimatedValue,\n\n /**\n * 2D value class for driving 2D animations, such as pan gestures.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html\n */\n ValueXY: AnimatedValueXY,\n\n /**\n * Exported to use the Interpolation type in flow.\n *\n * See https://reactnative.dev/docs/animated.html#interpolation\n */\n Interpolation: AnimatedInterpolation,\n\n /**\n * Exported for ease of type checking. All animated values derive from this\n * class.\n *\n * See https://reactnative.dev/docs/animated.html#node\n */\n Node: AnimatedNode,\n\n /**\n * Animates a value from an initial velocity to zero based on a decay\n * coefficient.\n *\n * See https://reactnative.dev/docs/animated.html#decay\n */\n decay: decay,\n\n /**\n * Animates a value along a timed easing curve. The Easing module has tons of\n * predefined curves, or you can use your own function.\n *\n * See https://reactnative.dev/docs/animated.html#timing\n */\n timing: timing,\n\n /**\n * Animates a value according to an analytical spring model based on\n * damped harmonic oscillation.\n *\n * See https://reactnative.dev/docs/animated.html#spring\n */\n spring: spring,\n\n /**\n * Creates a new Animated value composed from two Animated values added\n * together.\n *\n * See https://reactnative.dev/docs/animated.html#add\n */\n add: add,\n\n /**\n * Creates a new Animated value composed by subtracting the second Animated\n * value from the first Animated value.\n *\n * See https://reactnative.dev/docs/animated.html#subtract\n */\n subtract: subtract,\n\n /**\n * Creates a new Animated value composed by dividing the first Animated value\n * by the second Animated value.\n *\n * See https://reactnative.dev/docs/animated.html#divide\n */\n divide: divide,\n\n /**\n * Creates a new Animated value composed from two Animated values multiplied\n * together.\n *\n * See https://reactnative.dev/docs/animated.html#multiply\n */\n multiply: multiply,\n\n /**\n * Creates a new Animated value that is the (non-negative) modulo of the\n * provided Animated value.\n *\n * See https://reactnative.dev/docs/animated.html#modulo\n */\n modulo: modulo,\n\n /**\n * Create a new Animated value that is limited between 2 values. It uses the\n * difference between the last value so even if the value is far from the\n * bounds it will start changing when the value starts getting closer again.\n *\n * See https://reactnative.dev/docs/animated.html#diffclamp\n */\n diffClamp: diffClamp,\n\n /**\n * Starts an animation after the given delay.\n *\n * See https://reactnative.dev/docs/animated.html#delay\n */\n delay: delay,\n\n /**\n * Starts an array of animations in order, waiting for each to complete\n * before starting the next. If the current running animation is stopped, no\n * following animations will be started.\n *\n * See https://reactnative.dev/docs/animated.html#sequence\n */\n sequence: sequence,\n\n /**\n * Starts an array of animations all at the same time. By default, if one\n * of the animations is stopped, they will all be stopped. You can override\n * this with the `stopTogether` flag.\n *\n * See https://reactnative.dev/docs/animated.html#parallel\n */\n parallel: parallel,\n\n /**\n * Array of animations may run in parallel (overlap), but are started in\n * sequence with successive delays. Nice for doing trailing effects.\n *\n * See https://reactnative.dev/docs/animated.html#stagger\n */\n stagger: stagger,\n\n /**\n * Loops a given animation continuously, so that each time it reaches the\n * end, it resets and begins again from the start.\n *\n * See https://reactnative.dev/docs/animated.html#loop\n */\n loop: loop,\n\n /**\n * Takes an array of mappings and extracts values from each arg accordingly,\n * then calls `setValue` on the mapped outputs.\n *\n * See https://reactnative.dev/docs/animated.html#event\n */\n event: event,\n\n /**\n * Make any React component Animatable. Used to create `Animated.View`, etc.\n *\n * See https://reactnative.dev/docs/animated.html#createanimatedcomponent\n */\n createAnimatedComponent: createAnimatedComponent,\n\n /**\n * Imperative API to attach an animated value to an event on a view. Prefer\n * using `Animated.event` with `useNativeDrive: true` if possible.\n *\n * See https://reactnative.dev/docs/animated.html#attachnativeevent\n */\n attachNativeEvent: attachNativeEvent,\n\n /**\n * Advanced imperative API for snooping on animated events that are passed in\n * through props. Use values directly where possible.\n *\n * See https://reactnative.dev/docs/animated.html#forkevent\n */\n forkEvent: forkEvent,\n unforkEvent: unforkEvent,\n\n /**\n * Expose Event class, so it can be used as a type for type checkers.\n */\n Event: AnimatedEvent,\n __PropsOnlyForTests: AnimatedProps\n};","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedImplementation from './AnimatedImplementation';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport createAnimatedComponent from './createAnimatedComponent';\nvar emptyAnimation = {\n start: function start() {},\n stop: function stop() {},\n reset: function reset() {},\n _startNativeLoop: function _startNativeLoop() {},\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n};\n\nvar spring = function spring(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: function start(callback) {\n anyValue.setValue(config.toValue);\n callback && callback({\n finished: true\n });\n }\n });\n};\n\nvar timing = function timing(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: function start(callback) {\n anyValue.setValue(config.toValue);\n callback && callback({\n finished: true\n });\n }\n });\n};\n\nvar decay = function decay(value, config) {\n return emptyAnimation;\n};\n\nvar sequence = function sequence(animations) {\n return emptyAnimation;\n};\n\nvar parallel = function parallel(animations, config) {\n return emptyAnimation;\n};\n\nvar delay = function delay(time) {\n return emptyAnimation;\n};\n\nvar stagger = function stagger(time, animations) {\n return emptyAnimation;\n};\n\nvar loop = function loop(animation, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations;\n\n return emptyAnimation;\n};\n\nvar event = function event(argMapping, config) {\n return null;\n};\n\nexport default {\n Value: AnimatedValue,\n ValueXY: AnimatedValueXY,\n Interpolation: AnimatedInterpolation,\n Node: AnimatedNode,\n decay: decay,\n timing: timing,\n spring: spring,\n add: AnimatedImplementation.add,\n subtract: AnimatedImplementation.subtract,\n divide: AnimatedImplementation.divide,\n multiply: AnimatedImplementation.multiply,\n modulo: AnimatedImplementation.modulo,\n diffClamp: AnimatedImplementation.diffClamp,\n delay: delay,\n sequence: sequence,\n parallel: parallel,\n stagger: stagger,\n loop: loop,\n event: event,\n createAnimatedComponent: createAnimatedComponent,\n attachNativeEvent: attachNativeEvent,\n forkEvent: AnimatedImplementation.forkEvent,\n unforkEvent: AnimatedImplementation.unforkEvent,\n Event: AnimatedEvent,\n __PropsOnlyForTests: AnimatedProps\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport Platform from '../../../exports/Platform';\nimport FlatList from './components/AnimatedFlatList';\nimport Image from './components/AnimatedImage';\nimport ScrollView from './components/AnimatedScrollView';\nimport SectionList from './components/AnimatedSectionList';\nimport Text from './components/AnimatedText';\nimport View from './components/AnimatedView';\nimport AnimatedMock from './AnimatedMock';\nimport AnimatedImplementation from './AnimatedImplementation';\nvar Animated = Platform.isTesting ? AnimatedMock : AnimatedImplementation;\nexport default _objectSpread({\n FlatList: FlatList,\n Image: Image,\n ScrollView: ScrollView,\n SectionList: SectionList,\n Text: Text,\n View: View\n}, Animated);","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport Animated from '../../vendor/react-native/Animated/Animated';\nexport default Animated;","import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n Platform,\n StyleProp,\n StyleSheet,\n ViewProps,\n ViewStyle,\n} from 'react-native';\n\ntype Props = Omit & {\n style?: Animated.WithAnimatedValue>;\n children?: React.ReactNode;\n};\n\nexport default function HeaderBackground({ style, ...rest }: Props) {\n const { colors } = useTheme();\n\n return (\n \n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n ...Platform.select({\n android: {\n elevation: 4,\n },\n ios: {\n shadowOpacity: 0.85,\n shadowRadius: 0,\n shadowOffset: {\n width: 0,\n height: StyleSheet.hairlineWidth,\n },\n },\n default: {\n borderBottomWidth: StyleSheet.hairlineWidth,\n },\n }),\n },\n});\n","import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n Platform,\n StyleProp,\n StyleSheet,\n TextProps,\n TextStyle,\n} from 'react-native';\n\ntype Props = Omit & {\n tintColor?: string;\n children?: string;\n style?: Animated.WithAnimatedValue>;\n};\n\nexport default function HeaderTitle({ tintColor, style, ...rest }: Props) {\n const { colors } = useTheme();\n\n return (\n \n );\n}\n\nconst styles = StyleSheet.create({\n title: Platform.select({\n ios: {\n fontSize: 17,\n fontWeight: '600',\n },\n android: {\n fontSize: 20,\n fontFamily: 'sans-serif-medium',\n fontWeight: 'normal',\n },\n default: {\n fontSize: 18,\n fontWeight: '500',\n },\n }),\n});\n","import * as React from 'react';\nimport { Animated, Platform, StyleSheet, View, ViewStyle } from 'react-native';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\n\nimport type { HeaderOptions, Layout } from '../types';\nimport getDefaultHeaderHeight from './getDefaultHeaderHeight';\nimport HeaderBackground from './HeaderBackground';\nimport HeaderShownContext from './HeaderShownContext';\nimport HeaderTitle from './HeaderTitle';\n\ntype Props = HeaderOptions & {\n /**\n * Whether the header is in a modal\n */\n modal?: boolean;\n /**\n * Layout of the screen.\n */\n layout?: Layout;\n /**\n * Title text for the header.\n */\n title: string;\n};\n\nconst warnIfHeaderStylesDefined = (styles: Record) => {\n Object.keys(styles).forEach((styleProp) => {\n const value = styles[styleProp];\n\n if (styleProp === 'position' && value === 'absolute') {\n console.warn(\n \"position: 'absolute' is not supported on headerStyle. If you would like to render content under the header, use the 'headerTransparent' option.\"\n );\n } else if (value !== undefined) {\n console.warn(\n `${styleProp} was given a value of ${value}, this has no effect on headerStyle.`\n );\n }\n });\n};\n\nexport default function Header(props: Props) {\n const insets = useSafeAreaInsets();\n const frame = useSafeAreaFrame();\n\n const isParentHeaderShown = React.useContext(HeaderShownContext);\n\n const {\n layout = frame,\n modal = false,\n title,\n headerTitle: customTitle,\n headerTitleAlign = Platform.select({\n ios: 'center',\n default: 'left',\n }),\n headerLeft,\n headerLeftLabelVisible,\n headerTransparent,\n headerTintColor,\n headerBackground,\n headerRight,\n headerTitleAllowFontScaling: titleAllowFontScaling,\n headerTitleStyle: titleStyle,\n headerLeftContainerStyle: leftContainerStyle,\n headerRightContainerStyle: rightContainerStyle,\n headerTitleContainerStyle: titleContainerStyle,\n headerBackgroundContainerStyle: backgroundContainerStyle,\n headerStyle: customHeaderStyle,\n headerShadowVisible,\n headerPressColor,\n headerPressOpacity,\n headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,\n } = props;\n\n const defaultHeight = getDefaultHeaderHeight(\n layout,\n modal,\n headerStatusBarHeight\n );\n\n const {\n height = defaultHeight,\n minHeight,\n maxHeight,\n backgroundColor,\n borderBottomColor,\n borderBottomEndRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderBottomStartRadius,\n borderBottomWidth,\n borderColor,\n borderEndColor,\n borderEndWidth,\n borderLeftColor,\n borderLeftWidth,\n borderRadius,\n borderRightColor,\n borderRightWidth,\n borderStartColor,\n borderStartWidth,\n borderStyle,\n borderTopColor,\n borderTopEndRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderTopStartRadius,\n borderTopWidth,\n borderWidth,\n // @ts-expect-error: web support for shadow\n boxShadow,\n elevation,\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius,\n opacity,\n transform,\n ...unsafeStyles\n } = StyleSheet.flatten(customHeaderStyle || {}) as ViewStyle;\n\n if (process.env.NODE_ENV !== 'production') {\n warnIfHeaderStylesDefined(unsafeStyles);\n }\n\n const safeStyles: ViewStyle = {\n backgroundColor,\n borderBottomColor,\n borderBottomEndRadius,\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderBottomStartRadius,\n borderBottomWidth,\n borderColor,\n borderEndColor,\n borderEndWidth,\n borderLeftColor,\n borderLeftWidth,\n borderRadius,\n borderRightColor,\n borderRightWidth,\n borderStartColor,\n borderStartWidth,\n borderStyle,\n borderTopColor,\n borderTopEndRadius,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderTopStartRadius,\n borderTopWidth,\n borderWidth,\n // @ts-expect-error: boxShadow is only for Web\n boxShadow,\n elevation,\n shadowColor,\n shadowOffset,\n shadowOpacity,\n shadowRadius,\n opacity,\n transform,\n };\n\n // Setting a property to undefined triggers default style\n // So we need to filter them out\n // Users can use `null` instead\n for (const styleProp in safeStyles) {\n // @ts-expect-error: typescript wrongly complains that styleProp cannot be used to index safeStyles\n if (safeStyles[styleProp] === undefined) {\n // @ts-expect-error\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete safeStyles[styleProp];\n }\n }\n\n const backgroundStyle = [\n safeStyles,\n headerShadowVisible === false && {\n elevation: 0,\n shadowOpacity: 0,\n borderBottomWidth: 0,\n },\n ];\n\n const leftButton = headerLeft\n ? headerLeft({\n tintColor: headerTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n labelVisible: headerLeftLabelVisible,\n })\n : null;\n\n const rightButton = headerRight\n ? headerRight({\n tintColor: headerTintColor,\n pressColor: headerPressColor,\n pressOpacity: headerPressOpacity,\n })\n : null;\n\n const headerTitle =\n typeof customTitle !== 'function'\n ? (props: React.ComponentProps) => (\n \n )\n : customTitle;\n\n return (\n \n \n {headerBackground ? (\n headerBackground({ style: backgroundStyle })\n ) : headerTransparent ? null : (\n \n )}\n \n \n \n \n \n {leftButton}\n \n \n {headerTitle({\n children: title,\n allowFontScaling: titleAllowFontScaling,\n tintColor: headerTintColor,\n style: titleStyle,\n })}\n \n \n {rightButton}\n \n \n \n \n );\n}\n\nconst styles = StyleSheet.create({\n content: {\n flex: 1,\n flexDirection: 'row',\n alignItems: 'stretch',\n },\n title: {\n marginHorizontal: 16,\n justifyContent: 'center',\n },\n left: {\n justifyContent: 'center',\n alignItems: 'flex-start',\n },\n right: {\n justifyContent: 'center',\n alignItems: 'flex-end',\n },\n expand: {\n flexGrow: 1,\n flexBasis: 0,\n },\n});\n","/**\n * Use a stub for MaskedView on all Platforms that don't support it.\n */\nimport type * as React from 'react';\n\ntype Props = {\n maskElement: React.ReactElement;\n children: React.ReactElement;\n};\n\nexport default function MaskedView({ children }: Props) {\n return children;\n}\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n'use strict';\n\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\n\nvar emptyFunction = function emptyFunction() {};\n\nfunction supportsPassiveEvents() {\n var supported = false; // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n\n if (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get: function get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n\n return supported;\n}\n\nvar canUsePassiveEvents = supportsPassiveEvents();\n\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\n\n\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\n\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\n\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n/**\n *\n */\n\n\nexport default function createEventHandle(type, options) {\n var opts = getOptions(options);\n return function (target, listener) {\n if (target == null || typeof target.addEventListener !== 'function') {\n throw new Error('createEventHandle: called on an invalid target.');\n }\n\n var element = target;\n\n if (listener != null) {\n var compatListener = function compatListener(e) {\n return listener(normalizeEvent(e));\n };\n\n element.addEventListener(type, compatListener, opts);\n return function removeListener() {\n if (element != null) {\n element.removeEventListener(type, compatListener, opts);\n }\n };\n } else {\n return emptyFunction;\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport createEventHandle from '../createEventHandle';\n\nvar supportsPointerEvent = function supportsPointerEvent() {\n return !!(typeof window !== 'undefined' && window.PointerEvent != null);\n};\n\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n}; // Window events\n\nvar addBlurListener = createEventHandle(BLUR, bubbleOptions);\nvar addFocusListener = createEventHandle(FOCUS, bubbleOptions); // Must be capture phase because 'stopPropagation' might prevent these\n// events bubbling to the document.\n\nvar addVisibilityChangeListener = createEventHandle(VISIBILITYCHANGE, captureOptions);\nvar addKeyDownListener = createEventHandle(KEYDOWN, captureOptions);\nvar addPointerDownListener = createEventHandle(POINTERDOWN, captureOptions);\nvar addPointerMoveListener = createEventHandle(POINTERMOVE, captureOptions); // Fallback events\n\nvar addContextMenuListener = createEventHandle(CONTEXTMENU, captureOptions);\nvar addMouseDownListener = createEventHandle(MOUSEDOWN, captureOptions);\nvar addMouseMoveListener = createEventHandle(MOUSEMOVE, captureOptions);\nvar addMouseUpListener = createEventHandle(MOUSEUP, captureOptions);\nvar addScrollListener = createEventHandle(SCROLL, captureOptions);\nvar addSelectiomChangeListener = createEventHandle(SELECTIONCHANGE, captureOptions);\nvar addTouchCancelListener = createEventHandle(TOUCHCANCEL, captureOptions);\nvar addTouchMoveListener = createEventHandle(TOUCHMOVE, captureOptions);\nvar addTouchStartListener = createEventHandle(TOUCHSTART, captureOptions);\n\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n\n callListeners();\n }\n}\n\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners(); // for fallback events\n\n isEmulatingMouseEvents = false;\n}\n\nfunction onFocusWindow() {\n restoreModality();\n}\n\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\n\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\n\nfunction onPointerish(event) {\n var eventType = event.type;\n\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n\n return;\n }\n\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n\n return;\n }\n } // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n } // Flag when browser may produce emulated events\n\n\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n\n return;\n } // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n\n\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\n\nif (canUseDOM) {\n addBlurListener(window, onBlurWindow);\n addFocusListener(window, onFocusWindow);\n addKeyDownListener(document, onKeyDown);\n addPointerDownListener(document, onPointerish);\n addPointerMoveListener(document, onPointerish);\n addVisibilityChangeListener(document, onVisibilityChange); // fallbacks\n\n addContextMenuListener(document, onPointerish);\n addMouseDownListener(document, onPointerish);\n addMouseMoveListener(document, onPointerish);\n addMouseUpListener(document, onPointerish);\n addTouchCancelListener(document, onPointerish);\n addTouchMoveListener(document, onPointerish);\n addTouchStartListener(document, onPointerish);\n addSelectiomChangeListener(document, onPointerish);\n addScrollListener(document, onPointerish);\n}\n\nfunction callListeners() {\n var value = {\n activeModality: activeModality,\n modality: modality\n };\n listeners.forEach(function (listener) {\n listener(value);\n });\n}\n\nexport function getActiveModality() {\n return activeModality;\n}\nexport function getModality() {\n return modality;\n}\nexport function addModalityListener(listener) {\n listeners.add(listener);\n return function () {\n listeners.delete(listener);\n };\n}\nexport function testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport createEventHandle from '../createEventHandle';\nimport useLayoutEffect from '../useLayoutEffect';\nimport useStable from '../useStable';\n\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nexport default function useEvent(event, options) {\n var targetListeners = useStable(function () {\n return new Map();\n });\n var addListener = useStable(function () {\n var addEventListener = createEventHandle(event, options);\n return function (target, callback) {\n var removeTargetListener = targetListeners.get(target);\n\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n\n if (callback == null) {\n targetListeners.delete(target);\n }\n\n var removeEventListener = addEventListener(target, callback);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(function () {\n return function () {\n targetListeners.forEach(function (removeListener) {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { getModality } from '../modality';\nimport useEvent from '../useEvent';\nimport useLayoutEffect from '../useLayoutEffect';\n/**\n * Types\n */\n\n/**\n * Implementation\n */\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\n\nvar supportsPointerEvent = function supportsPointerEvent() {\n return !!(typeof window !== 'undefined' && window.PointerEvent != null);\n};\n\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n} // This accounts for the non-PointerEvent fallback events.\n\n\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : getModality();\n}\n\nexport default function useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = useEvent(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = useEvent(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = useEvent(canUsePE ? 'pointerleave' : 'mouseleave', opts); // These custom events are used to implement the \"contain\" prop.\n\n var addLockListener = useEvent(lockEventType, opts);\n var addUnlockListener = useEvent(unlockEventType, opts);\n useLayoutEffect(function () {\n var target = targetRef.current;\n\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n\n if (onHoverChange != null) {\n onHoverChange(false);\n } // Remove the listeners once finished.\n\n\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n /**\n * Leave element\n */\n\n\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n\n hoverEnd(e);\n }\n };\n /**\n * Move within element\n */\n\n\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n\n if (e.y == null) {\n e.y = e.clientY;\n }\n\n onHoverUpdate(e);\n }\n }\n };\n /**\n * Start the hover gesture\n */\n\n\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n\n if (onHoverChange != null) {\n onHoverChange(true);\n } // Set the listeners needed for the rest of the hover gesture.\n\n\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n /**\n * Enter element\n */\n\n\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n\n hoverStart(e);\n\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from 'react';\nimport { forwardRef, memo, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport useHover from '../../modules/useHover';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(props, forwardedRef) {\n var children = props.children,\n delayLongPress = props.delayLongPress,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n disabled = props.disabled,\n focusable = props.focusable,\n onBlur = props.onBlur,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onHoverIn = props.onHoverIn,\n onHoverOut = props.onHoverOut,\n onKeyDown = props.onKeyDown,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressMove = props.onPressMove,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n style = props.style,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = _objectWithoutPropertiesLoose(props, [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"focusable\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"testOnly_hovered\", \"testOnly_pressed\"]);\n\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var pressConfig = useMemo(function () {\n return {\n delayLongPress: delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled: disabled,\n onLongPress: onLongPress,\n onPress: onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove: onPressMove,\n onPressEnd: onPressOut\n };\n }, [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n useHover(hostRef, {\n contain: true,\n disabled: disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered: hovered,\n focused: focused,\n pressed: pressed\n };\n var blurHandler = React.useCallback(function (e) {\n if (disabled) {\n return;\n }\n\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [disabled, hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(function (e) {\n if (disabled) {\n return;\n }\n\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [disabled, hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(function (e) {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(function (e) {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [!disabled && styles.root, typeof style === 'function' ? style(interactionState) : style]\n }), typeof children === 'function' ? children(interactionState) : children);\n}\n\nfunction useForceableState(forced) {\n var _useState = useState(false),\n bool = _useState[0],\n setBool = _useState[1];\n\n return [bool || forced, setBool];\n}\n\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedPressable = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\nexport default MemoedPressable;","import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n Easing,\n GestureResponderEvent,\n Platform,\n Pressable,\n PressableProps,\n StyleProp,\n ViewStyle,\n} from 'react-native';\n\nexport type Props = Omit & {\n pressColor?: string;\n pressOpacity?: number;\n style?: Animated.WithAnimatedValue>;\n children: React.ReactNode;\n};\n\nconst AnimatedPressable = Animated.createAnimatedComponent(Pressable);\n\nconst ANDROID_VERSION_LOLLIPOP = 21;\nconst ANDROID_SUPPORTS_RIPPLE =\n Platform.OS === 'android' && Platform.Version >= ANDROID_VERSION_LOLLIPOP;\n\n/**\n * PlatformPressable provides an abstraction on top of Pressable to handle platform differences.\n */\nexport default function PlatformPressable({\n onPressIn,\n onPressOut,\n android_ripple,\n pressColor,\n pressOpacity = 0.3,\n style,\n ...rest\n}: Props) {\n const { dark } = useTheme();\n const [opacity] = React.useState(() => new Animated.Value(1));\n\n const animateTo = (toValue: number, duration: number) => {\n if (ANDROID_SUPPORTS_RIPPLE) {\n return;\n }\n\n Animated.timing(opacity, {\n toValue,\n duration,\n easing: Easing.inOut(Easing.quad),\n useNativeDriver: true,\n }).start();\n };\n\n const handlePressIn = (e: GestureResponderEvent) => {\n animateTo(pressOpacity, 0);\n onPressIn?.(e);\n };\n\n const handlePressOut = (e: GestureResponderEvent) => {\n animateTo(1, 200);\n onPressOut?.(e);\n };\n\n return (\n \n );\n}\n","import { useTheme } from '@react-navigation/native';\nimport * as React from 'react';\nimport {\n Animated,\n I18nManager,\n Image,\n LayoutChangeEvent,\n Platform,\n StyleSheet,\n View,\n} from 'react-native';\n\nimport MaskedView from '../MaskedView';\nimport PlatformPressable from '../PlatformPressable';\nimport type { HeaderBackButtonProps } from '../types';\n\nexport default function HeaderBackButton({\n disabled,\n allowFontScaling,\n backImage,\n label,\n labelStyle,\n labelVisible,\n onLabelLayout,\n onPress,\n pressColor,\n pressOpacity,\n screenLayout,\n tintColor: customTintColor,\n titleLayout,\n truncatedLabel = 'Back',\n accessibilityLabel = label && label !== 'Back' ? `${label}, back` : 'Go back',\n testID,\n style,\n}: HeaderBackButtonProps) {\n const { colors } = useTheme();\n\n const [initialLabelWidth, setInitialLabelWidth] = React.useState<\n undefined | number\n >(undefined);\n\n const tintColor =\n customTintColor !== undefined\n ? customTintColor\n : Platform.select({\n ios: colors.primary,\n default: colors.text,\n });\n\n const handleLabelLayout = (e: LayoutChangeEvent) => {\n onLabelLayout?.(e);\n\n setInitialLabelWidth(e.nativeEvent.layout.x + e.nativeEvent.layout.width);\n };\n\n const shouldTruncateLabel = () => {\n return (\n !label ||\n (initialLabelWidth &&\n titleLayout &&\n screenLayout &&\n (screenLayout.width - titleLayout.width) / 2 < initialLabelWidth + 26)\n );\n };\n\n const renderBackImage = () => {\n if (backImage) {\n return backImage({ tintColor });\n } else {\n return (\n \n );\n }\n };\n\n const renderLabel = () => {\n const leftLabelText = shouldTruncateLabel() ? truncatedLabel : label;\n\n if (!labelVisible || leftLabelText === undefined) {\n return null;\n }\n\n const labelElement = (\n \n \n {leftLabelText}\n \n \n );\n\n if (backImage || Platform.OS !== 'ios') {\n // When a custom backimage is specified, we can't mask the label\n // Otherwise there might be weird effect due to our mask not being the same as the image\n return labelElement;\n }\n\n return (\n \n \n \n \n }\n >\n {labelElement}\n \n );\n };\n\n const handlePress = () => onPress && requestAnimationFrame(onPress);\n\n return (\n \n \n {renderBackImage()}\n {renderLabel()}\n \n \n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n minWidth: StyleSheet.hairlineWidth, // Avoid collapsing when title is long\n ...Platform.select({\n ios: null,\n default: {\n marginVertical: 3,\n marginHorizontal: 11,\n },\n }),\n },\n disabled: {\n opacity: 0.5,\n },\n label: {\n fontSize: 17,\n // Title and back label are a bit different width due to title being bold\n // Adjusting the letterSpacing makes them coincide better\n letterSpacing: 0.35,\n },\n labelWrapper: {\n // These styles will make sure that the label doesn't fill the available space\n // Otherwise it messes with the measurement of the label\n flexDirection: 'row',\n alignItems: 'flex-start',\n },\n icon: Platform.select({\n ios: {\n height: 21,\n width: 13,\n marginLeft: 8,\n marginRight: 22,\n marginVertical: 12,\n resizeMode: 'contain',\n transform: [{ scaleX: I18nManager.isRTL ? -1 : 1 }],\n },\n default: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n transform: [{ scaleX: I18nManager.isRTL ? -1 : 1 }],\n },\n }),\n iconWithLabel:\n Platform.OS === 'ios'\n ? {\n marginRight: 6,\n }\n : {},\n iconMaskContainer: {\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'center',\n },\n iconMaskFillerRect: {\n flex: 1,\n backgroundColor: '#000',\n },\n iconMask: {\n height: 21,\n width: 13,\n marginLeft: -14.5,\n marginVertical: 12,\n alignSelf: 'center',\n resizeMode: 'contain',\n transform: [{ scaleX: I18nManager.isRTL ? -1 : 1 }],\n },\n});\n","import {\n getHeaderTitle,\n Header,\n HeaderBackButton,\n SafeAreaProviderCompat,\n Screen,\n} from '@react-navigation/elements';\nimport type {\n ParamListBase,\n StackNavigationState,\n} from '@react-navigation/native';\nimport * as React from 'react';\nimport { Image, StyleSheet, View } from 'react-native';\n\nimport type {\n NativeStackDescriptorMap,\n NativeStackNavigationHelpers,\n} from '../types';\n\ntype Props = {\n state: StackNavigationState;\n // This is used for the native implementation of the stack.\n // eslint-disable-next-line react/no-unused-prop-types\n navigation: NativeStackNavigationHelpers;\n descriptors: NativeStackDescriptorMap;\n};\n\nconst TRANSPARENT_PRESENTATIONS = [\n 'transparentModal',\n 'containedTransparentModal',\n];\n\nexport default function NativeStackView({ state, descriptors }: Props) {\n return (\n \n \n {state.routes.map((route, i) => {\n const isFocused = state.index === i;\n const canGoBack = i !== 0;\n const previousKey = state.routes[i - 1]?.key;\n const nextKey = state.routes[i + 1]?.key;\n const previousDescriptor = previousKey\n ? descriptors[previousKey]\n : undefined;\n const nexDescriptor = nextKey ? descriptors[nextKey] : undefined;\n const { options, navigation, render } = descriptors[route.key];\n\n const {\n header,\n headerShown,\n headerTintColor,\n headerBackImageSource,\n headerLeft,\n headerRight,\n headerTitle,\n headerTitleAlign,\n headerTitleStyle,\n headerStyle,\n headerShadowVisible,\n headerTransparent,\n headerBackground,\n headerBackTitle,\n presentation,\n contentStyle,\n } = options;\n\n const nextPresentation = nexDescriptor?.options.presentation;\n\n return (\n \n headerLeft({\n tintColor,\n canGoBack,\n label: headerBackTitle,\n })\n : headerLeft === undefined && canGoBack\n ? ({ tintColor }) => (\n (\n \n )\n : undefined\n }\n onPress={navigation.goBack}\n canGoBack={canGoBack}\n />\n )\n : headerLeft\n }\n headerRight={\n typeof headerRight === 'function'\n ? ({ tintColor }) =>\n headerRight({ tintColor, canGoBack })\n : headerRight\n }\n headerTitle={\n typeof headerTitle === 'function'\n ? ({ children, tintColor }) =>\n headerTitle({ children, tintColor })\n : headerTitle\n }\n headerTitleAlign={headerTitleAlign}\n headerTitleStyle={headerTitleStyle}\n headerTransparent={headerTransparent}\n headerShadowVisible={headerShadowVisible}\n headerBackground={headerBackground}\n headerStyle={headerStyle}\n />\n )\n }\n style={[\n StyleSheet.absoluteFill,\n {\n display:\n isFocused ||\n (nextPresentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(nextPresentation))\n ? 'flex'\n : 'none',\n },\n presentation != null &&\n TRANSPARENT_PRESENTATIONS.includes(presentation)\n ? { backgroundColor: 'transparent' }\n : null,\n ]}\n >\n \n {render()}\n \n \n );\n })}\n \n \n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n contentContainer: {\n flex: 1,\n },\n backImage: {\n height: 24,\n width: 24,\n margin: 3,\n resizeMode: 'contain',\n },\n});\n","import {\n createNavigatorFactory,\n EventArg,\n ParamListBase,\n StackActionHelpers,\n StackActions,\n StackNavigationState,\n StackRouter,\n StackRouterOptions,\n useNavigationBuilder,\n} from '@react-navigation/native';\nimport * as React from 'react';\n\nimport type {\n NativeStackNavigationEventMap,\n NativeStackNavigationOptions,\n NativeStackNavigatorProps,\n} from '../types';\nimport NativeStackView from '../views/NativeStackView';\n\nfunction NativeStackNavigator({\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n ...rest\n}: NativeStackNavigatorProps) {\n const { state, descriptors, navigation, NavigationContent } =\n useNavigationBuilder<\n StackNavigationState,\n StackRouterOptions,\n StackActionHelpers,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap\n >(StackRouter, {\n id,\n initialRouteName,\n children,\n screenListeners,\n screenOptions,\n });\n\n React.useEffect(\n () =>\n // @ts-expect-error: there may not be a tab navigator in parent\n navigation?.addListener?.('tabPress', (e: any) => {\n const isFocused = navigation.isFocused();\n\n // Run the operation in the next frame so we're sure all listeners have been run\n // This is necessary to know if preventDefault() has been called\n requestAnimationFrame(() => {\n if (\n state.index > 0 &&\n isFocused &&\n !(e as EventArg<'tabPress', true>).defaultPrevented\n ) {\n // When user taps on already focused tab and we're inside the tab,\n // reset the stack to replicate native behaviour\n navigation.dispatch({\n ...StackActions.popToTop(),\n target: state.key,\n });\n }\n });\n }),\n [navigation, state.index, state.key]\n );\n\n return (\n \n \n \n );\n}\n\nexport default createNavigatorFactory<\n StackNavigationState,\n NativeStackNavigationOptions,\n NativeStackNavigationEventMap,\n typeof NativeStackNavigator\n>(NativeStackNavigator);\n","import type { ParamListBase } from '@react-navigation/core';\nimport * as React from 'react';\n\nimport type { LinkingOptions } from './types';\n\nconst LinkingContext = React.createContext<{\n options: LinkingOptions | undefined;\n}>({ options: undefined });\n\nLinkingContext.displayName = 'LinkingContext';\n\nexport default LinkingContext;\n","import * as React from 'react';\n\nimport type { Theme } from '../types';\nimport ThemeContext from './ThemeContext';\n\ntype Props = {\n value: Theme;\n children: React.ReactNode;\n};\n\nexport default function ThemeProvider({ value, children }: Props) {\n return (\n {children}\n );\n}\n","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nfunction emptyFunction() {}\n\nvar BackHandler = {\n exitApp: emptyFunction,\n addEventListener: function addEventListener() {\n return {\n remove: emptyFunction\n };\n },\n removeEventListener: emptyFunction\n};\nexport default BackHandler;","import * as React from 'react';\n\nexport type ServerContextType = {\n location?: {\n pathname: string;\n search: string;\n };\n};\n\nconst ServerContext = React.createContext(\n undefined\n);\n\nexport default ServerContext;\n","import {\n findFocusedRoute,\n getActionFromState as getActionFromStateDefault,\n getPathFromState as getPathFromStateDefault,\n getStateFromPath as getStateFromPathDefault,\n NavigationContainerRef,\n NavigationState,\n ParamListBase,\n} from '@react-navigation/core';\nimport isEqual from 'fast-deep-equal';\nimport { nanoid } from 'nanoid/non-secure';\nimport * as React from 'react';\n\nimport ServerContext from './ServerContext';\nimport type { LinkingOptions } from './types';\n\ntype ResultState = ReturnType;\n\ntype HistoryRecord = {\n // Unique identifier for this record to match it with window.history.state\n id: string;\n // Navigation state object for the history entry\n state: NavigationState;\n // Path of the history entry\n path: string;\n};\n\nconst createMemoryHistory = () => {\n let index = 0;\n let items: HistoryRecord[] = [];\n\n // Pending callbacks for `history.go(n)`\n // We might modify the callback stored if it was interrupted, so we have a ref to identify it\n const pending: { ref: unknown; cb: (interrupted?: boolean) => void }[] = [];\n\n const interrupt = () => {\n // If another history operation was performed we need to interrupt existing ones\n // This makes sure that calls such as `history.replace` after `history.go` don't happen\n // Since otherwise it won't be correct if something else has changed\n pending.forEach((it) => {\n const cb = it.cb;\n it.cb = () => cb(true);\n });\n };\n\n const history = {\n get index(): number {\n // We store an id in the state instead of an index\n // Index could get out of sync with in-memory values if page reloads\n const id = window.history.state?.id;\n\n if (id) {\n const index = items.findIndex((item) => item.id === id);\n\n return index > -1 ? index : 0;\n }\n\n return 0;\n },\n\n get(index: number) {\n return items[index];\n },\n\n backIndex({ path }: { path: string }) {\n // We need to find the index from the element before current to get closest path to go back to\n for (let i = index - 1; i >= 0; i--) {\n const item = items[i];\n\n if (item.path === path) {\n return i;\n }\n }\n\n return -1;\n },\n\n push({ path, state }: { path: string; state: NavigationState }) {\n interrupt();\n\n const id = nanoid();\n\n // When a new entry is pushed, all the existing entries after index will be inaccessible\n // So we remove any existing entries after the current index to clean them up\n items = items.slice(0, index + 1);\n\n items.push({ path, state, id });\n index = items.length - 1;\n\n // We pass empty string for title because it's ignored in all browsers except safari\n // We don't store state object in history.state because:\n // - browsers have limits on how big it can be, and we don't control the size\n // - while not recommended, there could be non-serializable data in state\n window.history.pushState({ id }, '', path);\n },\n\n replace({ path, state }: { path: string; state: NavigationState }) {\n interrupt();\n\n const id = window.history.state?.id ?? nanoid();\n\n if (!items.length || items.findIndex((item) => item.id === id) < 0) {\n // There are two scenarios for creating an array with only one history record:\n // - When loaded id not found in the items array, this function by default will replace\n // the first item. We need to keep only the new updated object, otherwise it will break\n // the page when navigating forward in history.\n // - This is the first time any state modifications are done\n // So we need to push the entry as there's nothing to replace\n items = [{ path, state, id }];\n index = 0;\n } else {\n items[index] = { path, state, id };\n }\n\n window.history.replaceState({ id }, '', path);\n },\n\n // `history.go(n)` is asynchronous, there are couple of things to keep in mind:\n // - it won't do anything if we can't go `n` steps, the `popstate` event won't fire.\n // - each `history.go(n)` call will trigger a separate `popstate` event with correct location.\n // - the `popstate` event fires before the next frame after calling `history.go(n)`.\n // This method differs from `history.go(n)` in the sense that it'll go back as many steps it can.\n go(n: number) {\n interrupt();\n\n if (n === 0) {\n return;\n }\n\n // We shouldn't go back more than the 0 index (otherwise we'll exit the page)\n // Or forward more than the available index (or the app will crash)\n index =\n n < 0 ? Math.max(index - n, 0) : Math.min(index + n, items.length - 1);\n\n // When we call `history.go`, `popstate` will fire when there's history to go back to\n // So we need to somehow handle following cases:\n // - There's history to go back, `history.go` is called, and `popstate` fires\n // - `history.go` is called multiple times, we need to resolve on respective `popstate`\n // - No history to go back, but `history.go` was called, browser has no API to detect it\n return new Promise((resolve, reject) => {\n const done = (interrupted?: boolean) => {\n clearTimeout(timer);\n\n if (interrupted) {\n reject(new Error('History was changed during navigation.'));\n return;\n }\n\n // There seems to be a bug in Chrome regarding updating the title\n // If we set a title just before calling `history.go`, the title gets lost\n // However the value of `document.title` is still what we set it to\n // It's just not displayed in the tab bar\n // To update the tab bar, we need to reset the title to something else first (e.g. '')\n // And set the title to what it was before so it gets applied\n // It won't work without setting it to empty string coz otherwise title isn't changing\n // Which means that the browser won't do anything after setting the title\n const { title } = window.document;\n\n window.document.title = '';\n window.document.title = title;\n\n resolve();\n };\n\n pending.push({ ref: done, cb: done });\n\n // If navigation didn't happen within 100ms, assume that it won't happen\n // This may not be accurate, but hopefully it won't take so much time\n // In Chrome, navigation seems to happen instantly in next microtask\n // But on Firefox, it seems to take much longer, around 50ms from our testing\n // We're using a hacky timeout since there doesn't seem to be way to know for sure\n const timer = setTimeout(() => {\n const index = pending.findIndex((it) => it.ref === done);\n\n if (index > -1) {\n pending[index].cb();\n pending.splice(index, 1);\n }\n }, 100);\n\n const onPopState = () => {\n const id = window.history.state?.id;\n const currentIndex = items.findIndex((item) => item.id === id);\n\n // Fix createMemoryHistory.index variable's value\n // as it may go out of sync when navigating in the browser.\n index = Math.max(currentIndex, 0);\n\n const last = pending.pop();\n\n window.removeEventListener('popstate', onPopState);\n last?.cb();\n };\n\n window.addEventListener('popstate', onPopState);\n window.history.go(n);\n });\n },\n\n // The `popstate` event is triggered when history changes, except `pushState` and `replaceState`\n // If we call `history.go(n)` ourselves, we don't want it to trigger the listener\n // Here we normalize it so that only external changes (e.g. user pressing back/forward) trigger the listener\n listen(listener: () => void) {\n const onPopState = () => {\n if (pending.length) {\n // This was triggered by `history.go(n)`, we shouldn't call the listener\n return;\n }\n\n listener();\n };\n\n window.addEventListener('popstate', onPopState);\n\n return () => window.removeEventListener('popstate', onPopState);\n },\n };\n\n return history;\n};\n\n/**\n * Find the matching navigation state that changed between 2 navigation states\n * e.g.: a -> b -> c -> d and a -> b -> c -> e -> f, if history in b changed, b is the matching state\n */\nconst findMatchingState = (\n a: T | undefined,\n b: T | undefined\n): [T | undefined, T | undefined] => {\n if (a === undefined || b === undefined || a.key !== b.key) {\n return [undefined, undefined];\n }\n\n // Tab and drawer will have `history` property, but stack will have history in `routes`\n const aHistoryLength = a.history ? a.history.length : a.routes.length;\n const bHistoryLength = b.history ? b.history.length : b.routes.length;\n\n const aRoute = a.routes[a.index];\n const bRoute = b.routes[b.index];\n\n const aChildState = aRoute.state as T | undefined;\n const bChildState = bRoute.state as T | undefined;\n\n // Stop here if this is the state object that changed:\n // - history length is different\n // - focused routes are different\n // - one of them doesn't have child state\n // - child state keys are different\n if (\n aHistoryLength !== bHistoryLength ||\n aRoute.key !== bRoute.key ||\n aChildState === undefined ||\n bChildState === undefined ||\n aChildState.key !== bChildState.key\n ) {\n return [a, b];\n }\n\n return findMatchingState(aChildState, bChildState);\n};\n\n/**\n * Run async function in series as it's called.\n */\nconst series = (cb: () => Promise) => {\n // Whether we're currently handling a callback\n let handling = false;\n let queue: (() => Promise)[] = [];\n\n const callback = async () => {\n try {\n if (handling) {\n // If we're currently handling a previous event, wait before handling this one\n // Add the callback to the beginning of the queue\n queue.unshift(callback);\n return;\n }\n\n handling = true;\n\n await cb();\n } finally {\n handling = false;\n\n if (queue.length) {\n // If we have queued items, handle the last one\n const last = queue.pop();\n\n last?.();\n }\n }\n };\n\n return callback;\n};\n\nlet linkingHandlers: Symbol[] = [];\n\ntype Options = LinkingOptions & {\n independent?: boolean;\n};\n\nexport default function useLinking(\n ref: React.RefObject>,\n {\n independent,\n enabled = true,\n config,\n getStateFromPath = getStateFromPathDefault,\n getPathFromState = getPathFromStateDefault,\n getActionFromState = getActionFromStateDefault,\n }: Options\n) {\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') {\n return undefined;\n }\n\n if (independent) {\n return undefined;\n }\n\n if (enabled !== false && linkingHandlers.length) {\n console.error(\n [\n 'Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:',\n \"- You don't have multiple NavigationContainers in the app each with 'linking' enabled\",\n '- Only a single instance of the root component is rendered',\n ]\n .join('\\n')\n .trim()\n );\n }\n\n const handler = Symbol();\n\n if (enabled !== false) {\n linkingHandlers.push(handler);\n }\n\n return () => {\n const index = linkingHandlers.indexOf(handler);\n\n if (index > -1) {\n linkingHandlers.splice(index, 1);\n }\n };\n }, [enabled, independent]);\n\n const [history] = React.useState(createMemoryHistory);\n\n // We store these options in ref to avoid re-creating getInitialState and re-subscribing listeners\n // This lets user avoid wrapping the items in `React.useCallback` or `React.useMemo`\n // Not re-creating `getInitialState` is important coz it makes it easier for the user to use in an effect\n const enabledRef = React.useRef(enabled);\n const configRef = React.useRef(config);\n const getStateFromPathRef = React.useRef(getStateFromPath);\n const getPathFromStateRef = React.useRef(getPathFromState);\n const getActionFromStateRef = React.useRef(getActionFromState);\n\n React.useEffect(() => {\n enabledRef.current = enabled;\n configRef.current = config;\n getStateFromPathRef.current = getStateFromPath;\n getPathFromStateRef.current = getPathFromState;\n getActionFromStateRef.current = getActionFromState;\n });\n\n const server = React.useContext(ServerContext);\n\n const getInitialState = React.useCallback(() => {\n let value: ResultState | undefined;\n\n if (enabledRef.current) {\n const location =\n server?.location ??\n (typeof window !== 'undefined' ? window.location : undefined);\n\n const path = location ? location.pathname + location.search : undefined;\n\n if (path) {\n value = getStateFromPathRef.current(path, configRef.current);\n }\n }\n\n const thenable = {\n then(onfulfilled?: (state: ResultState | undefined) => void) {\n return Promise.resolve(onfulfilled ? onfulfilled(value) : value);\n },\n catch() {\n return thenable;\n },\n };\n\n return thenable as PromiseLike;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const previousIndexRef = React.useRef(undefined);\n const previousStateRef = React.useRef(undefined);\n const pendingPopStatePathRef = React.useRef(undefined);\n\n React.useEffect(() => {\n previousIndexRef.current = history.index;\n\n return history.listen(() => {\n const navigation = ref.current;\n\n if (!navigation || !enabled) {\n return;\n }\n\n const path = location.pathname + location.search;\n const index = history.index;\n\n const previousIndex = previousIndexRef.current ?? 0;\n\n previousIndexRef.current = index;\n pendingPopStatePathRef.current = path;\n\n // When browser back/forward is clicked, we first need to check if state object for this index exists\n // If it does we'll reset to that state object\n // Otherwise, we'll handle it like a regular deep link\n const record = history.get(index);\n\n if (record?.path === path && record?.state) {\n navigation.resetRoot(record.state);\n return;\n }\n\n const state = getStateFromPathRef.current(path, configRef.current);\n\n // We should only dispatch an action when going forward\n // Otherwise the action will likely add items to history, which would mess things up\n if (state) {\n // Make sure that the routes in the state exist in the root navigator\n // Otherwise there's an error in the linking configuration\n const rootState = navigation.getRootState();\n\n if (state.routes.some((r) => !rootState?.routeNames.includes(r.name))) {\n console.warn(\n \"The navigation state parsed from the URL contains routes not present in the root navigator. This usually means that the linking configuration doesn't match the navigation structure. See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.\"\n );\n return;\n }\n\n if (index > previousIndex) {\n const action = getActionFromStateRef.current(\n state,\n configRef.current\n );\n\n if (action !== undefined) {\n try {\n navigation.dispatch(action);\n } catch (e) {\n // Ignore any errors from deep linking.\n // This could happen in case of malformed links, navigation object not being initialized etc.\n console.warn(\n `An error occurred when trying to handle the link '${path}': ${\n typeof e === 'object' && e != null && 'message' in e\n ? // @ts-expect-error: we're already checking for this\n e.message\n : e\n }`\n );\n }\n } else {\n navigation.resetRoot(state);\n }\n } else {\n navigation.resetRoot(state);\n }\n } else {\n // if current path didn't return any state, we should revert to initial state\n navigation.resetRoot(state);\n }\n });\n }, [enabled, history, ref]);\n\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n\n const getPathForRoute = (\n route: ReturnType,\n state: NavigationState\n ): string => {\n // If the `route` object contains a `path`, use that path as long as `route.name` and `params` still match\n // This makes sure that we preserve the original URL for wildcard routes\n if (route?.path) {\n const stateForPath = getStateFromPathRef.current(\n route.path,\n configRef.current\n );\n\n if (stateForPath) {\n const focusedRoute = findFocusedRoute(stateForPath);\n\n if (\n focusedRoute &&\n focusedRoute.name === route.name &&\n isEqual(focusedRoute.params, route.params)\n ) {\n return route.path;\n }\n }\n }\n\n return getPathFromStateRef.current(state, configRef.current);\n };\n\n if (ref.current) {\n // We need to record the current metadata on the first render if they aren't set\n // This will allow the initial state to be in the history entry\n const state = ref.current.getRootState();\n\n if (state) {\n const route = findFocusedRoute(state);\n const path = getPathForRoute(route, state);\n\n if (previousStateRef.current === undefined) {\n previousStateRef.current = state;\n }\n\n history.replace({ path, state });\n }\n }\n\n const onStateChange = async () => {\n const navigation = ref.current;\n\n if (!navigation || !enabled) {\n return;\n }\n\n const previousState = previousStateRef.current;\n const state = navigation.getRootState();\n\n // root state may not available, for example when root navigators switch inside the container\n if (!state) {\n return;\n }\n\n const pendingPath = pendingPopStatePathRef.current;\n const route = findFocusedRoute(state);\n const path = getPathForRoute(route, state);\n\n previousStateRef.current = state;\n pendingPopStatePathRef.current = undefined;\n\n // To detect the kind of state change, we need to:\n // - Find the common focused navigation state in previous and current state\n // - If only the route keys changed, compare history/routes.length to check if we go back/forward/replace\n // - If no common focused navigation state found, it's a replace\n const [previousFocusedState, focusedState] = findMatchingState(\n previousState,\n state\n );\n\n if (\n previousFocusedState &&\n focusedState &&\n // We should only handle push/pop if path changed from what was in last `popstate`\n // Otherwise it's likely a change triggered by `popstate`\n path !== pendingPath\n ) {\n const historyDelta =\n (focusedState.history\n ? focusedState.history.length\n : focusedState.routes.length) -\n (previousFocusedState.history\n ? previousFocusedState.history.length\n : previousFocusedState.routes.length);\n\n if (historyDelta > 0) {\n // If history length is increased, we should pushState\n // Note that path might not actually change here, for example, drawer open should pushState\n history.push({ path, state });\n } else if (historyDelta < 0) {\n // If history length is decreased, i.e. entries were removed, we want to go back\n\n const nextIndex = history.backIndex({ path });\n const currentIndex = history.index;\n\n try {\n if (nextIndex !== -1 && nextIndex < currentIndex) {\n // An existing entry for this path exists and it's less than current index, go back to that\n await history.go(nextIndex - currentIndex);\n } else {\n // We couldn't find an existing entry to go back to, so we'll go back by the delta\n // This won't be correct if multiple routes were pushed in one go before\n // Usually this shouldn't happen and this is a fallback for that\n await history.go(historyDelta);\n }\n\n // Store the updated state as well as fix the path if incorrect\n history.replace({ path, state });\n } catch (e) {\n // The navigation was interrupted\n }\n } else {\n // If history length is unchanged, we want to replaceState\n history.replace({ path, state });\n }\n } else {\n // If no common navigation state was found, assume it's a replace\n // This would happen if the user did a reset/conditionally changed navigators\n history.replace({ path, state });\n }\n };\n\n // We debounce onStateChange coz we don't want multiple state changes to be handled at one time\n // This could happen since `history.go(n)` is asynchronous\n // If `pushState` or `replaceState` were called before `history.go(n)` completes, it'll mess stuff up\n return ref.current?.addListener('state', series(onStateChange));\n });\n\n return {\n getInitialState,\n };\n}\n","import {\n BaseNavigationContainer,\n getActionFromState,\n getPathFromState,\n getStateFromPath,\n NavigationContainerProps,\n NavigationContainerRef,\n ParamListBase,\n validatePathConfig,\n} from '@react-navigation/core';\nimport * as React from 'react';\n\nimport LinkingContext from './LinkingContext';\nimport DefaultTheme from './theming/DefaultTheme';\nimport ThemeProvider from './theming/ThemeProvider';\nimport type { DocumentTitleOptions, LinkingOptions, Theme } from './types';\nimport useBackButton from './useBackButton';\nimport useDocumentTitle from './useDocumentTitle';\nimport useLinking from './useLinking';\nimport useThenable from './useThenable';\n\ndeclare global {\n var REACT_NAVIGATION_DEVTOOLS: WeakMap<\n NavigationContainerRef,\n { readonly linking: LinkingOptions }\n >;\n}\n\nglobal.REACT_NAVIGATION_DEVTOOLS = new WeakMap();\n\ntype Props = NavigationContainerProps & {\n theme?: Theme;\n linking?: LinkingOptions;\n fallback?: React.ReactNode;\n documentTitle?: DocumentTitleOptions;\n onReady?: () => void;\n};\n\n/**\n * Container component which holds the navigation state designed for React Native apps.\n * This should be rendered at the root wrapping the whole app.\n *\n * @param props.initialState Initial state object for the navigation tree. When deep link handling is enabled, this will override deep links when specified. Make sure that you don't specify an `initialState` when there's a deep link (`Linking.getInitialURL()`).\n * @param props.onReady Callback which is called after the navigation tree mounts.\n * @param props.onStateChange Callback which is called with the latest navigation state when it changes.\n * @param props.theme Theme object for the navigators.\n * @param props.linking Options for deep linking. Deep link handling is enabled when this prop is provided, unless `linking.enabled` is `false`.\n * @param props.fallback Fallback component to render until we have finished getting initial state when linking is enabled. Defaults to `null`.\n * @param props.documentTitle Options to configure the document title on Web. Updating document title is handled by default unless `documentTitle.enabled` is `false`.\n * @param props.children Child elements to render the content.\n * @param props.ref Ref object which refers to the navigation object containing helper methods.\n */\nfunction NavigationContainerInner(\n {\n theme = DefaultTheme,\n linking,\n fallback = null,\n documentTitle,\n onReady,\n ...rest\n }: Props,\n ref?: React.Ref | null>\n) {\n const isLinkingEnabled = linking ? linking.enabled !== false : false;\n\n if (linking?.config) {\n validatePathConfig(linking.config);\n }\n\n const refContainer =\n React.useRef>(null);\n\n useBackButton(refContainer);\n useDocumentTitle(refContainer, documentTitle);\n\n const { getInitialState } = useLinking(refContainer, {\n independent: rest.independent,\n enabled: isLinkingEnabled,\n prefixes: [],\n ...linking,\n });\n\n // Add additional linking related info to the ref\n // This will be used by the devtools\n React.useEffect(() => {\n if (refContainer.current) {\n REACT_NAVIGATION_DEVTOOLS.set(refContainer.current, {\n get linking() {\n return {\n ...linking,\n enabled: isLinkingEnabled,\n prefixes: linking?.prefixes ?? [],\n getStateFromPath: linking?.getStateFromPath ?? getStateFromPath,\n getPathFromState: linking?.getPathFromState ?? getPathFromState,\n getActionFromState:\n linking?.getActionFromState ?? getActionFromState,\n };\n },\n });\n }\n });\n\n const [isResolved, initialState] = useThenable(getInitialState);\n\n React.useImperativeHandle(ref, () => refContainer.current);\n\n const linkingContext = React.useMemo(() => ({ options: linking }), [linking]);\n\n const isReady = rest.initialState != null || !isLinkingEnabled || isResolved;\n\n const onReadyRef = React.useRef(onReady);\n\n React.useEffect(() => {\n onReadyRef.current = onReady;\n });\n\n React.useEffect(() => {\n if (isReady) {\n onReadyRef.current?.();\n }\n }, [isReady]);\n\n if (!isReady) {\n // This is temporary until we have Suspense for data-fetching\n // Then the fallback will be handled by a parent `Suspense` component\n return fallback as React.ReactElement;\n }\n\n return (\n \n \n \n \n \n );\n}\n\nconst NavigationContainer = React.forwardRef(NavigationContainerInner) as <\n RootParamList extends {} = ReactNavigation.RootParamList\n>(\n props: Props & {\n ref?: React.Ref>;\n }\n) => React.ReactElement;\n\nexport default NavigationContainer;\n","import type {\n NavigationContainerRef,\n ParamListBase,\n} from '@react-navigation/core';\nimport * as React from 'react';\nimport { BackHandler } from 'react-native';\n\nexport default function useBackButton(\n ref: React.RefObject>\n) {\n React.useEffect(() => {\n const subscription = BackHandler.addEventListener(\n 'hardwareBackPress',\n () => {\n const navigation = ref.current;\n\n if (navigation == null) {\n return false;\n }\n\n if (navigation.canGoBack()) {\n navigation.goBack();\n\n return true;\n }\n\n return false;\n }\n );\n\n return () => subscription.remove();\n }, [ref]);\n}\n","import type {\n NavigationContainerRef,\n ParamListBase,\n} from '@react-navigation/core';\nimport * as React from 'react';\n\nimport type { DocumentTitleOptions } from './types';\n\n/**\n * Set the document title for the active screen\n */\nexport default function useDocumentTitle(\n ref: React.RefObject>,\n {\n enabled = true,\n formatter = (options, route) => options?.title ?? route?.name,\n }: DocumentTitleOptions = {}\n) {\n React.useEffect(() => {\n if (!enabled) {\n return;\n }\n\n const navigation = ref.current;\n\n if (navigation) {\n const title = formatter(\n navigation.getCurrentOptions(),\n navigation.getCurrentRoute()\n );\n\n document.title = title;\n }\n\n return navigation?.addListener('options', (e) => {\n const title = formatter(e.data.options, navigation?.getCurrentRoute());\n\n document.title = title;\n });\n });\n}\n","import * as React from 'react';\n\nexport default function useThenable(create: () => PromiseLike) {\n const [promise] = React.useState(create);\n\n let initialState: [boolean, T | undefined] = [false, undefined];\n\n // Check if our thenable is synchronous\n promise.then((result) => {\n initialState = [true, result];\n });\n\n const [state, setState] = React.useState(initialState);\n const [resolved] = state;\n\n React.useEffect(() => {\n let cancelled = false;\n\n const resolve = async () => {\n let result;\n\n try {\n result = await promise;\n } finally {\n if (!cancelled) {\n setState([true, result]);\n }\n }\n };\n\n if (!resolved) {\n resolve();\n }\n\n return () => {\n cancelled = true;\n };\n }, [promise, resolved]);\n\n return state;\n}\n","import type { Theme } from '../types';\n\nconst DefaultTheme: Theme = {\n dark: false,\n colors: {\n primary: 'rgb(0, 122, 255)',\n background: 'rgb(242, 242, 242)',\n card: 'rgb(255, 255, 255)',\n text: 'rgb(28, 28, 30)',\n border: 'rgb(216, 216, 216)',\n notification: 'rgb(255, 59, 48)',\n },\n};\n\nexport default DefaultTheme;\n","import * as React from 'react';\n\nimport type { Theme } from '../types';\nimport DefaultTheme from './DefaultTheme';\n\nconst ThemeContext = React.createContext(DefaultTheme);\n\nThemeContext.displayName = 'ThemeContext';\n\nexport default ThemeContext;\n","import { Platform } from 'expo-modules-core';\nconst LOCAL_STORAGE_KEY = 'EXPO_ERROR_RECOVERY_STORAGE';\n\nfunction _consumeRecoveryProps(): string | null {\n if (!Platform.isDOMAvailable) return null;\n try {\n const props = localStorage.getItem(LOCAL_STORAGE_KEY);\n localStorage.removeItem(LOCAL_STORAGE_KEY);\n return props;\n } catch {\n // Catches localStorage SecurityError https://github.com/expo/expo/issues/8355\n }\n return null;\n}\n\nexport default {\n get name(): string {\n return 'ExpoErrorRecovery';\n },\n\n saveRecoveryProps(props: string): void {\n if (!Platform.isDOMAvailable) return;\n try {\n localStorage.setItem(LOCAL_STORAGE_KEY, props);\n } catch {\n // Catches localStorage SecurityError https://github.com/expo/expo/issues/8355\n }\n },\n\n recoveredProps: _consumeRecoveryProps(),\n};\n","import { setRecoveryPropsToSave } from './ErroRecoveryStore';\nimport ExpoErrorRecovery from './ExpoErrorRecovery';\nimport './ErrorRecovery.fx';\n\n// @docsMissing\nexport const recoveredProps = _getRecoveredProps();\n\n// @docsMissing\nexport type ErrorRecoveryProps = Record;\n\n// @needsAudit\n/**\n * Set arbitrary error recovery props. If your project crashes in production as a result of a fatal\n * JS error, Expo will reload your project. If you've set these props, they'll be passed to your\n * reloaded project's initial props under `exp.errorRecovery`. Access to `localStorage` is required\n * on web, or else this will simply be a no-op.\n *\n * [Read more about error handling with Expo](/guides/errors).\n * @param props An object which will be passed to your reloaded project's initial props if the\n * project was reloaded as a result of a fatal JS error.\n */\nexport function setRecoveryProps(props: ErrorRecoveryProps): void {\n setRecoveryPropsToSave(props);\n}\n\nfunction _getRecoveredProps(): ErrorRecoveryProps | null {\n if (ExpoErrorRecovery.recoveredProps) {\n return JSON.parse(ExpoErrorRecovery.recoveredProps);\n }\n return null;\n}\n","let recoveredPropsToSave: string | null = null;\n\nexport function getRecoveryPropsToSave(): string | null {\n return recoveredPropsToSave;\n}\n\nexport function setRecoveryPropsToSave(props: { [key: string]: any }): void {\n recoveredPropsToSave = JSON.stringify(props);\n}\n","import RCTDeviceEventEmitter from '../../vendor/react-native/NativeEventEmitter/RCTDeviceEventEmitter';\nexport default RCTDeviceEventEmitter;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport NativeEventEmitter from '../../vendor/react-native/NativeEventEmitter';\nexport default NativeEventEmitter;","import invariant from 'invariant';\nimport { NativeEventEmitter, Platform } from 'react-native';\n\nconst nativeEmitterSubscriptionKey = '@@nativeEmitterSubscription@@';\n\ntype NativeModule = {\n startObserving?: () => void;\n stopObserving?: () => void;\n addListener: (eventName: string) => void;\n removeListeners: (count: number) => void;\n};\n\n// @needsAudit\nexport type Subscription = {\n /**\n * A method to unsubscribe the listener.\n */\n remove: () => void;\n};\n\nexport class EventEmitter {\n _listenerCount = 0;\n _nativeModule: NativeModule;\n _eventEmitter: NativeEventEmitter;\n\n constructor(nativeModule: NativeModule) {\n this._nativeModule = nativeModule;\n this._eventEmitter = new NativeEventEmitter(nativeModule as any);\n }\n\n addListener(eventName: string, listener: (event: T) => void): Subscription {\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.startObserving) {\n this._nativeModule.startObserving();\n }\n\n this._listenerCount++;\n const nativeEmitterSubscription = this._eventEmitter.addListener(eventName, listener);\n const subscription = {\n [nativeEmitterSubscriptionKey]: nativeEmitterSubscription,\n remove: () => {\n this.removeSubscription(subscription);\n },\n };\n return subscription;\n }\n\n removeAllListeners(eventName: string): void {\n // @ts-ignore: the EventEmitter interface has been changed in react-native@0.64.0\n const removedListenerCount = this._eventEmitter.listenerCount\n ? // @ts-ignore: this is available since 0.64\n this._eventEmitter.listenerCount(eventName)\n : // @ts-ignore: this is available in older versions\n this._eventEmitter.listeners(eventName).length;\n this._eventEmitter.removeAllListeners(eventName);\n this._listenerCount -= removedListenerCount;\n invariant(\n this._listenerCount >= 0,\n `EventEmitter must have a non-negative number of listeners`\n );\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.stopObserving) {\n this._nativeModule.stopObserving();\n }\n }\n\n removeSubscription(subscription: Subscription): void {\n const nativeEmitterSubscription = subscription[nativeEmitterSubscriptionKey];\n if (!nativeEmitterSubscription) {\n return;\n }\n\n if ('remove' in nativeEmitterSubscription) {\n // `react-native-web@0.17.1` doesn't support `removeSubscription`\n nativeEmitterSubscription.remove();\n } else if ('removeSubscription' in this._eventEmitter) {\n this._eventEmitter.removeSubscription(nativeEmitterSubscription!);\n }\n this._listenerCount--;\n\n // Ensure that the emitter's internal state remains correct even if `removeSubscription` is\n // called again with the same subscription\n delete subscription[nativeEmitterSubscriptionKey];\n\n // Release closed-over references to the emitter\n subscription.remove = () => {};\n\n if (!this._listenerCount && Platform.OS !== 'ios' && this._nativeModule.stopObserving) {\n this._nativeModule.stopObserving();\n }\n }\n\n emit(eventName: string, ...params: any[]): void {\n this._eventEmitter.emit(eventName, ...params);\n }\n}\n","import { ProxyNativeModule } from './NativeModulesProxy.types';\n\n// We default to an empty object shim wherever we don't have an environment-specific implementation\nexport default {} as { [moduleName: string]: ProxyNativeModule };\n","declare global {\n // Add IE-specific interface to Window\n interface Window {\n attachEvent(event: string, listener: EventListener): boolean;\n }\n}\n\n// Used for delegating node actions when browser APIs aren't available\n// like in SSR websites.\nexport const isDOMAvailable = typeof window !== 'undefined' && !!window.document?.createElement;\nexport const canUseEventListeners =\n isDOMAvailable && !!(window.addEventListener || window.attachEvent);\nexport const canUseViewport = isDOMAvailable && !!window.screen;\nexport const isAsyncDebugging = false;\n","import { Platform as ReactNativePlatform, PlatformOSType } from 'react-native';\n\nimport {\n isDOMAvailable,\n canUseEventListeners,\n canUseViewport,\n isAsyncDebugging,\n} from './environment/browser';\n\nexport type PlatformSelectOSType = PlatformOSType | 'native' | 'electron' | 'default';\n\nexport type PlatformSelect = (specifics: { [platform in PlatformSelectOSType]?: T }) => T;\n\nconst Platform = {\n /**\n * Denotes the currently running platform.\n * Can be one of ios, android, web.\n */\n OS: ReactNativePlatform.OS,\n /**\n * Returns the value with the matching platform.\n * Object keys can be any of ios, android, native, web, default.\n *\n * @ios ios, native, default\n * @android android, native, default\n * @web web, default\n */\n select: ReactNativePlatform.select as PlatformSelect,\n /**\n * Denotes if the DOM API is available in the current environment.\n * The DOM is not available in native React runtimes and Node.js.\n */\n isDOMAvailable,\n /**\n * Denotes if the current environment can attach event listeners\n * to the window. This will return false in native React\n * runtimes and Node.js.\n */\n canUseEventListeners,\n /**\n * Denotes if the current environment can inspect properties of the\n * screen on which the current window is being rendered. This will\n * return false in native React runtimes and Node.js.\n */\n canUseViewport,\n /**\n * If the JavaScript is being executed in a remote JavaScript environment.\n * When `true`, synchronous native invocations cannot be executed.\n */\n isAsyncDebugging,\n};\n\nexport default Platform;\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nexport default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nimport isNativeFunction from \"./isNativeFunction.js\";\nimport construct from \"./construct.js\";\nexport default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}","export default function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}","/**\n * A general error class that should be used for all errors in Expo modules.\n * Guarantees a `code` field that can be used to differentiate between different\n * types of errors without further subclassing Error.\n */\nexport class CodedError extends Error {\n code: string;\n info?: any;\n\n constructor(code: string, message: string) {\n super(message);\n this.code = code;\n }\n}\n","import Platform from '../Platform';\nimport { CodedError } from './CodedError';\n\n/**\n * A class for errors to be thrown when a property is accessed which is\n * unavailable, unsupported, or not currently implemented on the running\n * platform.\n */\nexport class UnavailabilityError extends CodedError {\n constructor(moduleName: string, propertyName: string) {\n super(\n 'ERR_UNAVAILABLE',\n `The method or property ${moduleName}.${propertyName} is not available on ${Platform.OS}, are you sure you've linked all the native dependencies properly?`\n );\n }\n}\n","import React from 'react';\n\nimport { UnavailabilityError } from './errors/UnavailabilityError';\n\nexport function requireNativeViewManager

(viewName: string): React.ComponentType

{\n throw new UnavailabilityError('expo-modules-core', 'requireNativeViewManager');\n}\n","import NativeModulesProxy from '../NativeModulesProxy';\nexport default NativeModulesProxy.ExpoModulesCoreErrorManager;\n","import { EventEmitter } from '../EventEmitter';\nimport Platform from '../Platform';\nimport NativeErrorManager from './NativeErrorManager';\n\nif (__DEV__ && Platform.OS === 'android' && NativeErrorManager) {\n const onNewException = 'ExpoModulesCoreErrorManager.onNewException';\n const eventEmitter = new EventEmitter(NativeErrorManager);\n\n eventEmitter.addListener(onNewException, ({ message }: { message: string }) => {\n console.error(message);\n });\n}\n","export enum PermissionStatus {\n GRANTED = 'granted',\n UNDETERMINED = 'undetermined',\n DENIED = 'denied',\n}\n\nexport type PermissionExpiration = 'never' | number;\n\nexport interface PermissionResponse {\n status: PermissionStatus;\n expires: PermissionExpiration;\n granted: boolean;\n canAskAgain: boolean;\n}\n","import compareVersions from 'compare-versions';\n\nimport { CodedError } from './errors/CodedError';\n\nconst postedWarnings: { [key: string]: boolean } = {};\n\n/**\n * Used for deprecating values and throwing an error if a given version of Expo has passed.\n */\nexport default function deprecate(\n library: string,\n deprecatedAPI: string,\n options: {\n replacement?: string;\n currentVersion?: string;\n versionToRemove?: string;\n } = {}\n): void {\n const { currentVersion, versionToRemove, replacement } = options;\n const code = codeFromLibrary(library);\n const key = `${code}:${deprecatedAPI}:${replacement}`;\n if (!postedWarnings[key]) {\n postedWarnings[key] = true;\n }\n\n if (\n !currentVersion ||\n !versionToRemove ||\n compareVersions(currentVersion, versionToRemove) >= 0\n ) {\n let message = `\\`${deprecatedAPI}\\` has been removed`;\n if (versionToRemove) {\n message = `${message} as of version \"${versionToRemove}\"`;\n }\n if (replacement && replacement.length) {\n message = `${message} please migrate to: \\`${replacement}\\``;\n }\n\n throw new CodedError(`ERR_DEPRECATED_API`, prependLibrary(library, message));\n }\n\n let message = `\\`${deprecatedAPI}\\` has been deprecated`;\n if (replacement && replacement.length) {\n message = `${message} in favor of \\`${replacement}\\``;\n }\n if (versionToRemove && versionToRemove.length) {\n message = `${message} and will be removed in version \"${versionToRemove}\"`;\n }\n console.warn(prependLibrary(library, message));\n}\n\nfunction prependLibrary(library: string, message: string): string {\n return `${library}: ${message}`;\n}\n\n/**\n * Transform format:\n * Expo.AR -> EXPO_AR\n * expo-ar -> EXPO_AR\n */\nfunction codeFromLibrary(library: string): string {\n const code = library.replace(/[-.]/g, '_').toUpperCase();\n return code;\n}\n","import NativeModulesProxy from './NativeModulesProxy';\n\ndeclare global {\n // eslint-disable-next-line no-var\n var ExpoModules:\n | undefined\n | {\n [key: string]: any;\n };\n}\n\n/**\n * Imports the native module registered with given name. In the first place it tries to load\n * the module installed through the JSI host object and then falls back to the bridge proxy module.\n * Notice that the modules loaded from the proxy may not support some features like synchronous functions.\n *\n * @param moduleName Name of the requested native module.\n * @returns Object representing the native module.\n * @throws Error when there is no native module with given name.\n */\nexport function requireNativeModule(moduleName: string): ModuleType {\n const nativeModule: ModuleType =\n global.ExpoModules?.[moduleName] ?? NativeModulesProxy[moduleName];\n\n if (!nativeModule) {\n throw new Error(`Cannot find native module '${moduleName}'`);\n }\n return nativeModule;\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { PermissionResponse } from './PermissionsInterface';\n\n// These types are identical, but improves the readability for suggestions in editors\ntype RequestPermissionMethod = () => Promise;\ntype GetPermissionMethod = () => Promise;\n\ninterface PermissionHookMethods {\n /** The permission method that requests the user to grant permission. */\n requestMethod: (options?: Options) => Promise;\n /** The permission method that only fetches the current permission status. */\n getMethod: (options?: Options) => Promise;\n}\n\ninterface PermissionHookBehavior {\n /** If the hook should automatically fetch the current permission status, without asking the user. */\n get?: boolean;\n /** If the hook should automatically request the user to grant permission. */\n request?: boolean;\n}\n\nexport type PermissionHookOptions = PermissionHookBehavior & Options;\n\n/**\n * Get or request permission for protected functionality within the app.\n * It uses separate permission requesters to interact with a single permission.\n * By default, the hook will only retrieve the permission status.\n */\nfunction usePermission(\n methods: PermissionHookMethods,\n options?: PermissionHookOptions\n): [Permission | null, RequestPermissionMethod, GetPermissionMethod] {\n const isMounted = useRef(true);\n const [status, setStatus] = useState(null);\n const { get = true, request = false, ...permissionOptions } = options || {};\n\n const getPermission = useCallback(async () => {\n const response = await methods.getMethod(\n Object.keys(permissionOptions).length > 0 ? (permissionOptions as Options) : undefined\n );\n if (isMounted.current) setStatus(response);\n return response;\n }, [methods.getMethod]);\n\n const requestPermission = useCallback(async () => {\n const response = await methods.requestMethod(\n Object.keys(permissionOptions).length > 0 ? (permissionOptions as Options) : undefined\n );\n if (isMounted.current) setStatus(response);\n return response;\n }, [methods.requestMethod]);\n\n useEffect(\n function runMethods() {\n if (request) requestPermission();\n if (!request && get) getPermission();\n },\n [get, request, requestPermission, getPermission]\n );\n\n // Workaround for unmounting components receiving state updates\n useEffect(function didMount() {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return [status, requestPermission, getPermission];\n}\n\n/**\n * Create a new permission hook with the permission methods built-in.\n * This can be used to quickly create specific permission hooks in every module.\n */\nexport function createPermissionHook(\n methods: PermissionHookMethods\n) {\n return (options?: PermissionHookOptions) =>\n usePermission(methods, options);\n}\n","import { DeviceEventEmitter } from 'react-native';\n\nimport { EventEmitter, Subscription } from './EventEmitter';\nimport NativeModulesProxy from './NativeModulesProxy';\nimport { ProxyNativeModule } from './NativeModulesProxy.types';\nimport { requireNativeViewManager } from './NativeViewManagerAdapter';\nimport Platform from './Platform';\nimport SyntheticPlatformEmitter from './SyntheticPlatformEmitter';\nimport { CodedError } from './errors/CodedError';\nimport { UnavailabilityError } from './errors/UnavailabilityError';\n\nimport './sweet/setUpErrorManager.fx';\n\nexport { default as deprecate } from './deprecate';\n\nexport {\n DeviceEventEmitter,\n EventEmitter,\n NativeModulesProxy,\n ProxyNativeModule,\n Platform,\n Subscription,\n SyntheticPlatformEmitter,\n requireNativeViewManager,\n // Errors\n CodedError,\n UnavailabilityError,\n};\n\nexport * from './requireNativeModule';\n\n/**\n * @deprecated renamed to `DeviceEventEmitter`\n */\nexport const RCTDeviceEventEmitter = DeviceEventEmitter;\n\nexport * from './PermissionsInterface';\nexport * from './PermissionsHook';\n","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { unmountComponentAtNode } from 'react-dom';\nexport default unmountComponentAtNode;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar RootTagContext = /*#__PURE__*/React.createContext(null);\nexport default function AppContainer(props) {\n var children = props.children,\n WrapperComponent = props.WrapperComponent;\n var innerView = /*#__PURE__*/React.createElement(View, {\n children: children,\n key: 1,\n pointerEvents: \"box-none\",\n style: styles.appContainer\n });\n\n if (WrapperComponent) {\n innerView = /*#__PURE__*/React.createElement(WrapperComponent, null, innerView);\n }\n\n return /*#__PURE__*/React.createElement(RootTagContext.Provider, {\n value: props.rootTag\n }, /*#__PURE__*/React.createElement(View, {\n pointerEvents: \"box-none\",\n style: styles.appContainer\n }, innerView));\n}\nvar styles = StyleSheet.create({\n appContainer: {\n flex: 1\n }\n});","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { hydrate, render } from 'react-dom';\nexport { hydrate };\nexport default render;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport AppContainer from './AppContainer';\nimport invariant from 'fbjs/lib/invariant';\nimport render, { hydrate } from '../render';\nimport styleResolver from '../StyleSheet/styleResolver';\nimport React from 'react';\nexport default function renderApplication(RootComponent, WrapperComponent, callback, options) {\n var shouldHydrate = options.hydrate,\n initialProps = options.initialProps,\n rootTag = options.rootTag;\n var renderFn = shouldHydrate ? hydrate : render;\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n renderFn( /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: rootTag\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps)), rootTag, callback);\n}\nexport function getApplication(RootComponent, initialProps, WrapperComponent) {\n var element = /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: {}\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps)); // Don't escape CSS text\n\n var getStyleElement = function getStyleElement(props) {\n var sheet = styleResolver.getStyleSheet();\n return /*#__PURE__*/React.createElement(\"style\", _extends({}, props, {\n dangerouslySetInnerHTML: {\n __html: sheet.textContent\n },\n id: sheet.id\n }));\n };\n\n return {\n element: element,\n getStyleElement: getStyleElement\n };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport invariant from 'fbjs/lib/invariant';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport renderApplication, { getApplication as _getApplication } from './renderApplication';\nvar emptyObject = {};\nvar runnables = {};\n\nvar componentProviderInstrumentationHook = function componentProviderInstrumentationHook(component) {\n return component();\n};\n\nvar wrapperComponentProvider;\n/**\n * `AppRegistry` is the JS entry point to running all React Native apps.\n */\n\nvar AppRegistry = /*#__PURE__*/function () {\n function AppRegistry() {}\n\n AppRegistry.getAppKeys = function getAppKeys() {\n return Object.keys(runnables);\n };\n\n AppRegistry.getApplication = function getApplication(appKey, appParameters) {\n invariant(runnables[appKey] && runnables[appKey].getApplication, \"Application \" + appKey + \" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n return runnables[appKey].getApplication(appParameters);\n };\n\n AppRegistry.registerComponent = function registerComponent(appKey, componentProvider) {\n runnables[appKey] = {\n getApplication: function getApplication(appParameters) {\n return _getApplication(componentProviderInstrumentationHook(componentProvider), appParameters ? appParameters.initialProps : emptyObject, wrapperComponentProvider && wrapperComponentProvider(appParameters));\n },\n run: function run(appParameters) {\n return renderApplication(componentProviderInstrumentationHook(componentProvider), wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.callback, {\n hydrate: appParameters.hydrate || false,\n initialProps: appParameters.initialProps || emptyObject,\n rootTag: appParameters.rootTag\n });\n }\n };\n return appKey;\n };\n\n AppRegistry.registerConfig = function registerConfig(config) {\n config.forEach(function (_ref) {\n var appKey = _ref.appKey,\n component = _ref.component,\n run = _ref.run;\n\n if (run) {\n AppRegistry.registerRunnable(appKey, run);\n } else {\n invariant(component, 'No component provider passed in');\n AppRegistry.registerComponent(appKey, component);\n }\n });\n } // TODO: fix style sheet creation when using this method\n ;\n\n AppRegistry.registerRunnable = function registerRunnable(appKey, run) {\n runnables[appKey] = {\n run: run\n };\n return appKey;\n };\n\n AppRegistry.runApplication = function runApplication(appKey, appParameters) {\n var isDevelopment = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n\n if (isDevelopment) {\n var params = _objectSpread({}, appParameters);\n\n params.rootTag = \"#\" + params.rootTag.id;\n console.log(\"Running application \\\"\" + appKey + \"\\\" with appParams:\\n\", params, \"\\nDevelopment-level warnings: \" + (isDevelopment ? 'ON' : 'OFF') + \".\" + (\"\\nPerformance optimizations: \" + (isDevelopment ? 'OFF' : 'ON') + \".\"));\n }\n\n invariant(runnables[appKey] && runnables[appKey].run, \"Application \\\"\" + appKey + \"\\\" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n runnables[appKey].run(appParameters);\n };\n\n AppRegistry.setComponentProviderInstrumentationHook = function setComponentProviderInstrumentationHook(hook) {\n componentProviderInstrumentationHook = hook;\n };\n\n AppRegistry.setWrapperComponentProvider = function setWrapperComponentProvider(provider) {\n wrapperComponentProvider = provider;\n };\n\n AppRegistry.unmountApplicationComponentAtRootTag = function unmountApplicationComponentAtRootTag(rootTag) {\n unmountComponentAtNode(rootTag);\n };\n\n return AppRegistry;\n}();\n\nexport { AppRegistry as default };","// AppRegistry transitively installs YellowBox as a side effect, which overrides various console\n// methods that we need to set up before we override them\nimport { AppRegistry } from 'react-native';\n\nAppRegistry; // eslint-disable-line no-unused-expressions\n\n// NOTE(2018-10-29): temporarily filter out cyclic dependency warnings here since they are noisy and\n// each warning symbolicates a stack trace, which is slow when there are many warnings\n// NOTE(2019-05-27): temporarily filter out LottieAnimationView warnings triggered by\n// unmaintained react-native-safe-module dependency.\nconst originalWarn = console.warn;\nconsole.warn = function warn(...args) {\n if (\n args.length > 0 &&\n typeof args[0] === 'string' &&\n (/^Require cycle: .*node_modules/.test(args[0]) ||\n /Use UIManager\\.getViewManagerConfig\\('LottieAnimationView'\\) instead\\./.test(args[0]) ||\n /ReactNative\\.NativeModules\\.LottieAnimationView\\.getConstants/.test(args[0]))\n ) {\n return;\n }\n originalWarn.apply(console, args);\n};\n\nconst originalError = console.error;\nconsole.error = function error(...args) {\n if (\n args.length > 0 &&\n typeof args[0] === 'string' &&\n /^Warning: .* has been extracted/.test(args[0])\n ) {\n return;\n }\n originalError.apply(console, args);\n};\n","import { InitialProps } from './withExpoRoot.types';\n\nexport const attachRecoveredProps =

(props: P): P => {\n try {\n // Optionally import expo-error-recovery\n const { recoveredProps } = require('expo-error-recovery');\n return {\n ...props,\n exp: { ...props.exp, errorRecovery: recoveredProps },\n };\n } catch {}\n\n return props;\n};\n","import * as React from 'react';\n\nimport { attachRecoveredProps } from './RecoveryProps';\nimport { InitialProps } from './withExpoRoot.types';\n\nexport default function withExpoRoot

(\n AppRootComponent: React.ComponentType

\n): React.ComponentClass

{\n return class ExpoRootComponent extends React.Component

{\n render() {\n const combinedProps = attachRecoveredProps(this.props);\n return ;\n }\n };\n}\n","import 'expo/build/Expo.fx';\nimport * as React from 'react';\nimport { AppRegistry, Platform } from 'react-native';\n\nimport withExpoRoot from './withExpoRoot';\nimport { InitialProps } from './withExpoRoot.types';\n\nexport default function registerRootComponent

(\n component: React.ComponentType

\n): void {\n AppRegistry.registerComponent('main', () => withExpoRoot(component));\n if (Platform.OS === 'web') {\n const rootTag = document.getElementById('root') ?? document.getElementById('main');\n AppRegistry.runApplication('main', { rootTag });\n }\n}\n","import registerRootComponent from 'expo/build/launch/registerRootComponent';\n\nimport App from '../../App';\n\nregisterRootComponent(App);\n","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport invariant from 'fbjs/lib/invariant';\nvar dimensions = {\n window: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n },\n screen: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n }\n};\nvar listeners = {};\n\nvar Dimensions = /*#__PURE__*/function () {\n function Dimensions() {}\n\n Dimensions.get = function get(dimension) {\n invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n };\n\n Dimensions.set = function set(initialDimensions) {\n if (initialDimensions) {\n if (canUseDOM) {\n invariant(false, 'Dimensions cannot be set in the browser');\n } else {\n if (initialDimensions.screen != null) {\n dimensions.screen = initialDimensions.screen;\n }\n\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n };\n\n Dimensions._update = function _update() {\n if (!canUseDOM) {\n return;\n }\n\n var win = window;\n var docEl = win.document.documentElement;\n dimensions.window = {\n fontScale: 1,\n height: docEl.clientHeight,\n scale: win.devicePixelRatio || 1,\n width: docEl.clientWidth\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n\n if (Array.isArray(listeners['change'])) {\n listeners['change'].forEach(function (handler) {\n return handler(dimensions);\n });\n }\n };\n\n Dimensions.addEventListener = function addEventListener(type, handler) {\n var _this = this;\n\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n return {\n remove: function remove() {\n _this.removeEventListener(type, handler);\n }\n };\n };\n\n Dimensions.removeEventListener = function removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(function (_handler) {\n return _handler !== handler;\n });\n }\n };\n\n return Dimensions;\n}();\n\nexport { Dimensions as default };\n\nif (canUseDOM) {\n Dimensions._update();\n\n window.addEventListener('resize', Dimensions._update, false);\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n/*\n * @returns {bool} true if different, false if equal\n */\n\nvar deepDiffer = function deepDiffer(one, two, maxDepth) {\n if (maxDepth === void 0) {\n maxDepth = -1;\n }\n\n if (maxDepth === 0) {\n return true;\n }\n\n if (one === two) {\n // Short circuit on identical object references instead of traversing them.\n return false;\n }\n\n if (typeof one === 'function' && typeof two === 'function') {\n // We consider all functions equal\n return false;\n }\n\n if (typeof one !== 'object' || one === null) {\n // Primitives can be directly compared\n return one !== two;\n }\n\n if (typeof two !== 'object' || two === null) {\n // We know they are different because the previous case would have triggered\n // otherwise.\n return true;\n }\n\n if (one.constructor !== two.constructor) {\n return true;\n }\n\n if (Array.isArray(one)) {\n // We know two is also an array because the constructors are equal\n var len = one.length;\n\n if (two.length !== len) {\n return true;\n }\n\n for (var ii = 0; ii < len; ii++) {\n if (deepDiffer(one[ii], two[ii], maxDepth - 1)) {\n return true;\n }\n }\n } else {\n for (var key in one) {\n if (deepDiffer(one[key], two[key], maxDepth - 1)) {\n return true;\n }\n }\n\n for (var twoKey in two) {\n // The only case we haven't checked yet is keys that are in two but aren't\n // in one, which means they are different.\n if (one[twoKey] === undefined && two[twoKey] !== undefined) {\n return true;\n }\n }\n }\n\n return false;\n};\n\nexport default deepDiffer;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport deepDiffer from '../deepDiffer';\nimport * as React from 'react';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport View from '../../../exports/View';\nimport ScrollView from '../../../exports/ScrollView';\nimport VirtualizedList from '../VirtualizedList';\nimport invariant from 'fbjs/lib/invariant';\n\nvar defaultProps = _objectSpread(_objectSpread({}, VirtualizedList.defaultProps), {}, {\n numColumns: 1\n});\n\n/**\n * A performant interface for rendering simple, flat lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Optional horizontal mode.\n * - Configurable viewability callbacks.\n * - Header support.\n * - Footer support.\n * - Separator support.\n * - Pull to Refresh.\n * - Scroll loading.\n * - ScrollToIndex support.\n *\n * If you need section support, use [``](docs/sectionlist.html).\n *\n * Minimal Example:\n *\n * {item.key}}\n * />\n *\n * More complex, multi-select example demonstrating `PureComponent` usage for perf optimization and avoiding bugs.\n *\n * - By binding the `onPressItem` handler, the props will remain `===` and `PureComponent` will\n * prevent wasteful re-renders unless the actual `id`, `selected`, or `title` props change, even\n * if the components rendered in `MyListItem` did not have such optimizations.\n * - By passing `extraData={this.state}` to `FlatList` we make sure `FlatList` itself will re-render\n * when the `state.selected` changes. Without setting this prop, `FlatList` would not know it\n * needs to re-render any items because it is also a `PureComponent` and the prop comparison will\n * not show any changes.\n * - `keyExtractor` tells the list to use the `id`s for the react keys instead of the default `key` property.\n *\n *\n * class MyListItem extends React.PureComponent {\n * _onPress = () => {\n * this.props.onPressItem(this.props.id);\n * };\n *\n * render() {\n * const textColor = this.props.selected ? \"red\" : \"black\";\n * return (\n * \n * \n * \n * {this.props.title}\n * \n * \n * \n * );\n * }\n * }\n *\n * class MultiSelectList extends React.PureComponent {\n * state = {selected: (new Map(): Map)};\n *\n * _keyExtractor = (item, index) => item.id;\n *\n * _onPressItem = (id: string) => {\n * // updater functions are preferred for transactional updates\n * this.setState((state) => {\n * // copy the map rather than modifying state.\n * const selected = new Map(state.selected);\n * selected.set(id, !selected.get(id)); // toggle\n * return {selected};\n * });\n * };\n *\n * _renderItem = ({item}) => (\n * \n * );\n *\n * render() {\n * return (\n * \n * );\n * }\n * }\n *\n * This is a convenience wrapper around [``](docs/virtualizedlist.html),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n * Also inherits [ScrollView Props](docs/scrollview.html#props), unless it is nested in another FlatList of same orientation.\n */\nvar FlatList = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(FlatList, _React$PureComponent);\n\n var _proto = FlatList.prototype;\n\n /**\n * Scrolls to the end of the content. May be janky without `getItemLayout` prop.\n */\n _proto.scrollToEnd = function scrollToEnd(params) {\n if (this._listRef) {\n this._listRef.scrollToEnd(params);\n }\n }\n /**\n * Scrolls to the item at the specified index such that it is positioned in the viewable area\n * such that `viewPosition` 0 places it at the top, 1 at the bottom, and 0.5 centered in the\n * middle. `viewOffset` is a fixed number of pixels to offset the final target position.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n ;\n\n _proto.scrollToIndex = function scrollToIndex(params) {\n if (this._listRef) {\n this._listRef.scrollToIndex(params);\n }\n }\n /**\n * Requires linear scan through data - use `scrollToIndex` instead if possible.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n ;\n\n _proto.scrollToItem = function scrollToItem(params) {\n if (this._listRef) {\n this._listRef.scrollToItem(params);\n }\n }\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Check out [scrollToOffset](docs/virtualizedlist.html#scrolltooffset) of VirtualizedList\n */\n ;\n\n _proto.scrollToOffset = function scrollToOffset(params) {\n if (this._listRef) {\n this._listRef.scrollToOffset(params);\n }\n }\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n ;\n\n _proto.recordInteraction = function recordInteraction() {\n if (this._listRef) {\n this._listRef.recordInteraction();\n }\n }\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n ;\n\n _proto.flashScrollIndicators = function flashScrollIndicators() {\n if (this._listRef) {\n this._listRef.flashScrollIndicators();\n }\n }\n /**\n * Provides a handle to the underlying scroll responder.\n */\n ;\n\n _proto.getScrollResponder = function getScrollResponder() {\n if (this._listRef) {\n return this._listRef.getScrollResponder();\n }\n }\n /**\n * Provides a reference to the underlying host component\n */\n ;\n\n _proto.getNativeScrollRef = function getNativeScrollRef() {\n if (this._listRef) {\n /* $FlowFixMe[incompatible-return] Suppresses errors found when fixing\n * TextInput typing */\n return this._listRef.getScrollRef();\n }\n };\n\n _proto.getScrollableNode = function getScrollableNode() {\n if (this._listRef) {\n return this._listRef.getScrollableNode();\n }\n };\n\n _proto.setNativeProps = function setNativeProps(props) {\n if (this._listRef) {\n this._listRef.setNativeProps(props);\n }\n };\n\n function FlatList(_props) {\n var _this;\n\n _this = _React$PureComponent.call(this, _props) || this;\n _this._virtualizedListPairs = [];\n\n _this._captureRef = function (ref) {\n _this._listRef = ref;\n };\n\n _this._getItem = function (data, index) {\n var numColumns = _this.props.numColumns;\n\n if (numColumns > 1) {\n var ret = [];\n\n for (var kk = 0; kk < numColumns; kk++) {\n var _item = data[index * numColumns + kk];\n\n if (_item != null) {\n ret.push(_item);\n }\n }\n\n return ret;\n } else {\n return data[index];\n }\n };\n\n _this._getItemCount = function (data) {\n if (data) {\n var numColumns = _this.props.numColumns;\n return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;\n } else {\n return 0;\n }\n };\n\n _this._keyExtractor = function (items, index) {\n var _this$props = _this.props,\n keyExtractor = _this$props.keyExtractor,\n numColumns = _this$props.numColumns;\n\n if (numColumns > 1) {\n invariant(Array.isArray(items), 'FlatList: Encountered internal consistency error, expected each item to consist of an ' + 'array with 1-%s columns; instead, received a single item.', numColumns);\n return items // $FlowFixMe[incompatible-call]\n .map(function (it, kk) {\n return keyExtractor(it, index * numColumns + kk);\n }).join(':');\n } else {\n // $FlowFixMe Can't call keyExtractor with an array\n return keyExtractor(items, index);\n }\n };\n\n _this._renderer = function () {\n var _ref;\n\n var _this$props2 = _this.props,\n ListItemComponent = _this$props2.ListItemComponent,\n renderItem = _this$props2.renderItem,\n numColumns = _this$props2.numColumns,\n columnWrapperStyle = _this$props2.columnWrapperStyle;\n var virtualizedListRenderKey = ListItemComponent ? 'ListItemComponent' : 'renderItem';\n\n var renderer = function renderer(props) {\n if (ListItemComponent) {\n // $FlowFixMe Component isn't valid\n return /*#__PURE__*/React.createElement(ListItemComponent, props);\n } else if (renderItem) {\n // $FlowFixMe[incompatible-call]\n return renderItem(props);\n } else {\n return null;\n }\n };\n\n return _ref = {}, _ref[virtualizedListRenderKey] = function (info) {\n if (numColumns > 1) {\n var _item2 = info.item,\n _index = info.index;\n invariant(Array.isArray(_item2), 'Expected array of items with numColumns > 1');\n return /*#__PURE__*/React.createElement(View, {\n style: StyleSheet.compose(styles.row, columnWrapperStyle)\n }, _item2.map(function (it, kk) {\n var element = renderer({\n item: it,\n index: _index * numColumns + kk,\n separators: info.separators\n });\n return element != null ? /*#__PURE__*/React.createElement(React.Fragment, {\n key: kk\n }, element) : null;\n }));\n } else {\n return renderer(info);\n }\n }, _ref;\n };\n\n _this._checkProps(_this.props);\n\n if (_this.props.viewabilityConfigCallbackPairs) {\n _this._virtualizedListPairs = _this.props.viewabilityConfigCallbackPairs.map(function (pair) {\n return {\n viewabilityConfig: pair.viewabilityConfig,\n onViewableItemsChanged: _this._createOnViewableItemsChanged(pair.onViewableItemsChanged)\n };\n });\n } else if (_this.props.onViewableItemsChanged) {\n _this._virtualizedListPairs.push({\n /* $FlowFixMe(>=0.63.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.63 was deployed. To see the error delete\n * this comment and run Flow. */\n viewabilityConfig: _this.props.viewabilityConfig,\n onViewableItemsChanged: _this._createOnViewableItemsChanged(_this.props.onViewableItemsChanged)\n });\n }\n\n return _this;\n }\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n invariant(prevProps.numColumns === this.props.numColumns, 'Changing numColumns on the fly is not supported. Change the key prop on FlatList when ' + 'changing the number of columns to force a fresh render of the component.');\n invariant(prevProps.onViewableItemsChanged === this.props.onViewableItemsChanged, 'Changing onViewableItemsChanged on the fly is not supported');\n invariant(!deepDiffer(prevProps.viewabilityConfig, this.props.viewabilityConfig), 'Changing viewabilityConfig on the fly is not supported');\n invariant(prevProps.viewabilityConfigCallbackPairs === this.props.viewabilityConfigCallbackPairs, 'Changing viewabilityConfigCallbackPairs on the fly is not supported');\n\n this._checkProps(this.props);\n };\n\n _proto._checkProps = function _checkProps(props) {\n var getItem = props.getItem,\n getItemCount = props.getItemCount,\n horizontal = props.horizontal,\n numColumns = props.numColumns,\n columnWrapperStyle = props.columnWrapperStyle,\n onViewableItemsChanged = props.onViewableItemsChanged,\n viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs;\n invariant(!getItem && !getItemCount, 'FlatList does not support custom data formats.');\n\n if (numColumns > 1) {\n invariant(!horizontal, 'numColumns does not support horizontal.');\n } else {\n invariant(!columnWrapperStyle, 'columnWrapperStyle not supported for single column lists');\n }\n\n invariant(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), 'FlatList does not support setting both onViewableItemsChanged and ' + 'viewabilityConfigCallbackPairs.');\n };\n\n _proto._pushMultiColumnViewable = function _pushMultiColumnViewable(arr, v) {\n var _this$props3 = this.props,\n numColumns = _this$props3.numColumns,\n keyExtractor = _this$props3.keyExtractor;\n v.item.forEach(function (item, ii) {\n invariant(v.index != null, 'Missing index!');\n var index = v.index * numColumns + ii;\n arr.push(_objectSpread(_objectSpread({}, v), {}, {\n item: item,\n key: keyExtractor(item, index),\n index: index\n }));\n });\n };\n\n _proto._createOnViewableItemsChanged = function _createOnViewableItemsChanged(onViewableItemsChanged) {\n var _this2 = this;\n\n return function (info) {\n var numColumns = _this2.props.numColumns;\n\n if (onViewableItemsChanged) {\n if (numColumns > 1) {\n var changed = [];\n var viewableItems = [];\n info.viewableItems.forEach(function (v) {\n return _this2._pushMultiColumnViewable(viewableItems, v);\n });\n info.changed.forEach(function (v) {\n return _this2._pushMultiColumnViewable(changed, v);\n });\n onViewableItemsChanged({\n viewableItems: viewableItems,\n changed: changed\n });\n } else {\n onViewableItemsChanged(info);\n }\n }\n };\n };\n\n _proto.render = function render() {\n var _this$props4 = this.props,\n numColumns = _this$props4.numColumns,\n columnWrapperStyle = _this$props4.columnWrapperStyle,\n restProps = _objectWithoutPropertiesLoose(_this$props4, [\"numColumns\", \"columnWrapperStyle\"]);\n\n return /*#__PURE__*/React.createElement(VirtualizedList, _extends({}, restProps, {\n getItem: this._getItem,\n getItemCount: this._getItemCount,\n keyExtractor: this._keyExtractor,\n ref: this._captureRef,\n viewabilityConfigCallbackPairs: this._virtualizedListPairs\n }, this._renderer()));\n };\n\n return FlatList;\n}(React.PureComponent);\n\nFlatList.defaultProps = defaultProps;\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n }\n});\nexport default FlatList;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport FlatList from '../../vendor/react-native/FlatList';\nexport default FlatList;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';\nvar doLeftAndRightSwapInRTL = true;\nvar isPreferredLanguageRTL = false;\nvar isRTLAllowed = true;\nvar isRTLForced = false;\n\nvar isRTL = function isRTL() {\n if (isRTLForced) {\n return true;\n }\n\n return isRTLAllowed && isPreferredLanguageRTL;\n};\n\nvar onDirectionChange = function onDirectionChange() {\n if (ExecutionEnvironment.canUseDOM) {\n if (document.documentElement && document.documentElement.setAttribute) {\n document.documentElement.setAttribute('dir', isRTL() ? 'rtl' : 'ltr');\n }\n }\n};\n\nvar I18nManager = {\n allowRTL: function allowRTL(bool) {\n isRTLAllowed = bool;\n onDirectionChange();\n },\n forceRTL: function forceRTL(bool) {\n isRTLForced = bool;\n onDirectionChange();\n },\n getConstants: function getConstants() {\n return {\n doLeftAndRightSwapInRTL: doLeftAndRightSwapInRTL,\n isRTL: isRTL()\n };\n },\n setPreferredLanguageRTL: function setPreferredLanguageRTL(bool) {\n isPreferredLanguageRTL = bool;\n onDirectionChange();\n },\n swapLeftAndRightInRTL: function swapLeftAndRightInRTL(bool) {\n doLeftAndRightSwapInRTL = bool;\n }\n};\nexport default I18nManager;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar assets = [];\nexport function registerAsset(asset) {\n // `push` returns new array length, so the first asset will\n // get id 1 (not 0) to make the value truthy\n return assets.push(asset);\n}\nexport function getAssetByID(assetId) {\n return assets[assetId - 1];\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar dataUriPattern = /^data:/;\nexport var ImageUriCache = /*#__PURE__*/function () {\n function ImageUriCache() {}\n\n ImageUriCache.has = function has(uri) {\n var entries = ImageUriCache._entries;\n var isDataUri = dataUriPattern.test(uri);\n return isDataUri || Boolean(entries[uri]);\n };\n\n ImageUriCache.add = function add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\n\n if (entries[uri]) {\n entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n entries[uri].refCount += 1;\n } else {\n entries[uri] = {\n lastUsedTimestamp: lastUsedTimestamp,\n refCount: 1\n };\n }\n };\n\n ImageUriCache.remove = function remove(uri) {\n var entries = ImageUriCache._entries;\n\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n } // Free up entries when the cache is \"full\"\n\n\n ImageUriCache._cleanUpIfNeeded();\n };\n\n ImageUriCache._cleanUpIfNeeded = function _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(function (uri) {\n var entry = entries[uri];\n\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\n }\n }\n };\n\n return ImageUriCache;\n}();\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n abort: function abort(requestId) {\n var image = requests[\"\" + requestId];\n\n if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests[\"\" + requestId];\n }\n },\n getSize: function getSize(uri, success, failure) {\n var complete = false;\n var interval = setInterval(callback, 16);\n var requestId = ImageLoader.load(uri, callback, errorCallback);\n\n function callback() {\n var image = requests[\"\" + requestId];\n\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n\n function errorCallback() {\n if (typeof failure === 'function') {\n failure();\n }\n\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n has: function has(uri) {\n return ImageUriCache.has(uri);\n },\n load: function load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n\n image.onload = function (e) {\n // avoid blocking the main thread\n var onDecode = function onDecode() {\n return onLoad({\n nativeEvent: e\n });\n };\n\n if (typeof image.decode === 'function') {\n // Safari currently throws exceptions when decoding svgs.\n // We want to catch that error and allow the load handler\n // to be forwarded to the onLoad handler in this case\n image.decode().then(onDecode, onDecode);\n } else {\n setTimeout(onDecode, 0);\n }\n };\n\n image.src = uri;\n requests[\"\" + id] = image;\n return id;\n },\n prefetch: function prefetch(uri) {\n return new Promise(function (resolve, reject) {\n ImageLoader.load(uri, function () {\n // Add the uri to the cache so it can be immediately displayed when used\n // but also immediately remove it to correctly reflect that it has no active references\n ImageUriCache.add(uri);\n ImageUriCache.remove(uri);\n resolve();\n }, reject);\n });\n },\n queryCache: function queryCache(uris) {\n var result = {};\n uris.forEach(function (u) {\n if (ImageUriCache.has(u)) {\n result[u] = 'disk/memory';\n }\n });\n return Promise.resolve(result);\n }\n};\nexport default ImageLoader;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport Dimensions from '../Dimensions';\n/**\n * PixelRatio gives access to the device pixel density.\n */\n\nvar PixelRatio = /*#__PURE__*/function () {\n function PixelRatio() {}\n\n /**\n * Returns the device pixel density.\n */\n PixelRatio.get = function get() {\n return Dimensions.get('window').scale;\n }\n /**\n * No equivalent for Web\n */\n ;\n\n PixelRatio.getFontScale = function getFontScale() {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n ;\n\n PixelRatio.getPixelSizeForLayoutSize = function getPixelSizeForLayoutSize(layoutSize) {\n return Math.round(layoutSize * PixelRatio.get());\n }\n /**\n * Rounds a layout size (dp) to the nearest layout size that corresponds to\n * an integer number of pixels. For example, on a device with a PixelRatio\n * of 3, `PixelRatio.roundToNearestPixel(8.4) = 8.33`, which corresponds to\n * exactly (8.33 * 3) = 25 pixels.\n */\n ;\n\n PixelRatio.roundToNearestPixel = function roundToNearestPixel(layoutSize) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n };\n\n return PixelRatio;\n}();\n\nexport { PixelRatio as default };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport css from '../StyleSheet/css';\nimport { getAssetByID } from '../../modules/AssetRegistry';\nimport resolveShadowValue from '../StyleSheet/resolveShadowValue';\nimport ImageLoader from '../../modules/ImageLoader';\nimport PixelRatio from '../PixelRatio';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport View from '../View';\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\n\nfunction createTintColorSVG(tintColor, id) {\n return tintColor && id != null ? /*#__PURE__*/React.createElement(\"svg\", {\n style: {\n position: 'absolute',\n height: 0,\n visibility: 'hidden',\n width: 0\n }\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"tint-\" + id,\n suppressHydrationWarning: true\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodColor: \"\" + tintColor,\n key: tintColor\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"SourceAlpha\",\n operator: \"atop\"\n })))) : null;\n}\n\nfunction getFlatStyle(style, blurRadius, filterId) {\n var flatStyle = _objectSpread({}, StyleSheet.flatten(style));\n\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor; // Add CSS filters\n // React Native exposes these features as props and proprietary styles\n\n var filters = [];\n var _filter = null;\n\n if (filter) {\n filters.push(filter);\n }\n\n if (blurRadius) {\n filters.push(\"blur(\" + blurRadius + \"px)\");\n }\n\n if (shadowOffset) {\n var shadowString = resolveShadowValue(flatStyle);\n\n if (shadowString) {\n filters.push(\"drop-shadow(\" + shadowString + \")\");\n }\n }\n\n if (tintColor && filterId != null) {\n filters.push(\"url(#tint-\" + filterId + \")\");\n }\n\n if (filters.length > 0) {\n _filter = filters.join(' ');\n } // These styles are converted to CSS filters applied to the\n // element displaying the background image.\n\n\n delete flatStyle.blurRadius;\n delete flatStyle.shadowColor;\n delete flatStyle.shadowOpacity;\n delete flatStyle.shadowOffset;\n delete flatStyle.shadowRadius;\n delete flatStyle.tintColor; // These styles are not supported on View\n\n delete flatStyle.overlayColor;\n delete flatStyle.resizeMode;\n return [flatStyle, resizeMode, _filter, tintColor];\n}\n\nfunction resolveAssetDimensions(source) {\n if (typeof source === 'number') {\n var _getAssetByID = getAssetByID(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\n\n return {\n height: _height,\n width: _width\n };\n } else if (source != null && !Array.isArray(source) && typeof source === 'object') {\n var _height2 = source.height,\n _width2 = source.width;\n return {\n height: _height2,\n width: _width2\n };\n }\n}\n\nfunction resolveAssetUri(source) {\n var uri = null;\n\n if (typeof source === 'number') {\n // get the URI from the packager\n var asset = getAssetByID(source);\n var scale = asset.scales[0];\n\n if (asset.scales.length > 1) {\n var preferredScale = PixelRatio.get(); // Get the scale which is closest to the preferred scale\n\n scale = asset.scales.reduce(function (prev, curr) {\n return Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev;\n });\n }\n\n var scaleSuffix = scale !== 1 ? \"@\" + scale + \"x\" : '';\n uri = asset ? asset.httpServerLocation + \"/\" + asset.name + scaleSuffix + \".\" + asset.type : '';\n } else if (typeof source === 'string') {\n uri = source;\n } else if (source && typeof source.uri === 'string') {\n uri = source.uri;\n }\n\n if (uri) {\n var match = uri.match(svgDataUriPattern); // inline SVG markup may contain characters (e.g., #, \") that need to be escaped\n\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return \"\" + prefix + encodedSvg;\n }\n }\n\n return uri;\n}\n\nvar Image = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var accessibilityLabel = props.accessibilityLabel,\n blurRadius = props.blurRadius,\n defaultSource = props.defaultSource,\n draggable = props.draggable,\n onError = props.onError,\n onLayout = props.onLayout,\n onLoad = props.onLoad,\n onLoadEnd = props.onLoadEnd,\n onLoadStart = props.onLoadStart,\n pointerEvents = props.pointerEvents,\n source = props.source,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, [\"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (props.children) {\n throw new Error('The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning.');\n }\n }\n\n var _React$useState = React.useState(function () {\n var uri = resolveAssetUri(source);\n\n if (uri != null) {\n var isLoaded = ImageLoader.has(uri);\n\n if (isLoaded) {\n return LOADED;\n }\n }\n\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\n\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hiddenImageRef = React.useRef(null);\n var filterRef = React.useRef(_filterId++);\n var requestRef = React.useRef(null);\n var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null;\n\n var _getFlatStyle = getFlatStyle(style, blurRadius, filterRef.current),\n flatStyle = _getFlatStyle[0],\n _resizeMode = _getFlatStyle[1],\n filter = _getFlatStyle[2],\n tintColor = _getFlatStyle[3];\n\n var resizeMode = props.resizeMode || _resizeMode || 'cover';\n var selectedSource = shouldDisplaySource ? source : defaultSource;\n var displayImageUri = resolveAssetUri(selectedSource);\n var imageSizeStyle = resolveAssetDimensions(selectedSource);\n var backgroundImage = displayImageUri ? \"url(\\\"\" + displayImageUri + \"\\\")\" : null;\n var backgroundSize = getBackgroundSize(); // Accessibility image allows users to trigger the browser's image context menu\n\n var hiddenImage = displayImageUri ? createElement('img', {\n alt: accessibilityLabel || '',\n classList: [classes.accessibilityImage],\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\n\n function getBackgroundSize() {\n if (hiddenImageRef.current != null && (resizeMode === 'center' || resizeMode === 'repeat')) {\n var _hiddenImageRef$curre = hiddenImageRef.current,\n naturalHeight = _hiddenImageRef$curre.naturalHeight,\n naturalWidth = _hiddenImageRef$curre.naturalWidth;\n var _height3 = layout.height,\n _width3 = layout.width;\n\n if (naturalHeight && naturalWidth && _height3 && _width3) {\n var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight);\n var x = Math.ceil(scaleFactor * naturalWidth);\n var y = Math.ceil(scaleFactor * naturalHeight);\n return x + \"px \" + y + \"px\";\n }\n }\n }\n\n function handleLayout(e) {\n if (resizeMode === 'center' || resizeMode === 'repeat' || onLayout) {\n var _layout = e.nativeEvent.layout;\n onLayout && onLayout(e);\n updateLayout(_layout);\n }\n } // Image loading\n\n\n var uri = resolveAssetUri(source);\n React.useEffect(function () {\n abortPendingRequest();\n\n if (uri != null) {\n updateState(LOADING);\n\n if (onLoadStart) {\n onLoadStart();\n }\n\n requestRef.current = ImageLoader.load(uri, function load(e) {\n updateState(LOADED);\n\n if (onLoad) {\n onLoad(e);\n }\n\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n\n if (onError) {\n onError({\n nativeEvent: {\n error: \"Failed to load resource \" + uri + \" (404)\"\n }\n });\n }\n\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n\n function abortPendingRequest() {\n if (requestRef.current != null) {\n ImageLoader.abort(requestRef.current);\n requestRef.current = null;\n }\n }\n\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n accessibilityLabel: accessibilityLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, flatStyle]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.image, resizeModeStyles[resizeMode], {\n backgroundImage: backgroundImage,\n filter: filter\n }, backgroundSize != null && {\n backgroundSize: backgroundSize\n }],\n suppressHydrationWarning: true\n }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image'; // $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren't defined yet\n\nvar ImageWithStatics = Image;\n\nImageWithStatics.getSize = function (uri, success, failure) {\n ImageLoader.getSize(uri, success, failure);\n};\n\nImageWithStatics.prefetch = function (uri) {\n return ImageLoader.prefetch(uri);\n};\n\nImageWithStatics.queryCache = function (uris) {\n return ImageLoader.queryCache(uris);\n};\n\nvar classes = css.create({\n accessibilityImage: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n opacity: 0,\n width: '100%',\n zIndex: -1\n })\n});\nvar styles = StyleSheet.create({\n root: {\n flexBasis: 'auto',\n overflow: 'hidden',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n },\n image: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n backgroundColor: 'transparent',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n height: '100%',\n width: '100%',\n zIndex: -1\n })\n});\nvar resizeModeStyles = StyleSheet.create({\n center: {\n backgroundSize: 'auto'\n },\n contain: {\n backgroundSize: 'contain'\n },\n cover: {\n backgroundSize: 'cover'\n },\n none: {\n backgroundPosition: '0 0',\n backgroundSize: 'auto'\n },\n repeat: {\n backgroundPosition: '0 0',\n backgroundRepeat: 'repeat',\n backgroundSize: 'auto'\n },\n stretch: {\n backgroundSize: '100% 100%'\n }\n});\nexport default ImageWithStatics;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\n\nvar _requestIdleCallback = function _requestIdleCallback(cb, options) {\n return setTimeout(function () {\n var start = Date.now();\n cb({\n didTimeout: false,\n timeRemaining: function timeRemaining() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\n\nvar _cancelIdleCallback = function _cancelIdleCallback(id) {\n clearTimeout(id);\n};\n\nvar isSupported = canUseDOM && typeof window.requestIdleCallback !== 'undefined';\nvar requestIdleCallback = isSupported ? window.requestIdleCallback : _requestIdleCallback;\nvar cancelIdleCallback = isSupported ? window.cancelIdleCallback : _cancelIdleCallback;\nexport default requestIdleCallback;\nexport { cancelIdleCallback };","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport invariant from 'fbjs/lib/invariant';\nimport requestIdleCallback, { cancelIdleCallback } from '../../modules/requestIdleCallback';\nvar InteractionManager = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete'\n },\n\n /**\n * Schedule a function to run after all interactions have completed.\n */\n runAfterInteractions: function runAfterInteractions(task) {\n var handle;\n var promise = new Promise(function (resolve) {\n handle = requestIdleCallback(function () {\n if (task) {\n resolve(task());\n } else {\n resolve();\n }\n });\n });\n return {\n then: promise.then.bind(promise),\n done: promise.then.bind(promise),\n cancel: function cancel() {\n cancelIdleCallback(handle);\n }\n };\n },\n\n /**\n * Notify manager that an interaction has started.\n */\n createInteractionHandle: function createInteractionHandle() {\n return 1;\n },\n\n /**\n * Notify manager that an interaction has completed.\n */\n clearInteractionHandle: function clearInteractionHandle(handle) {\n invariant(!!handle, 'Must provide a handle to clear.');\n },\n addListener: function addListener() {}\n};\nexport default InteractionManager;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport invariant from 'fbjs/lib/invariant';\nvar initialURL = canUseDOM ? window.location.href : '';\n\nvar Linking = /*#__PURE__*/function () {\n function Linking() {\n var _this = this;\n\n this._eventCallbacks = {};\n\n this.addEventListener = function (event, callback) {\n if (!_this._eventCallbacks[event]) {\n _this._eventCallbacks[event] = [callback];\n return;\n }\n\n _this._eventCallbacks[event].push(callback);\n };\n\n this.removeEventListener = function (event, callback) {\n var callbacks = _this._eventCallbacks[event];\n var filteredCallbacks = callbacks.filter(function (c) {\n return c.toString() !== callback.toString();\n });\n _this._eventCallbacks[event] = filteredCallbacks;\n };\n }\n\n var _proto = Linking.prototype;\n\n _proto._dispatchEvent = function _dispatchEvent(event) {\n for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n data[_key - 1] = arguments[_key];\n }\n\n var listeners = this._eventCallbacks[event];\n\n if (listeners != null && Array.isArray(listeners)) {\n listeners.map(function (listener) {\n listener.apply(void 0, data);\n });\n }\n }\n /**\n * Adds a event listener for the specified event. The callback will be called when the\n * said event is dispatched.\n */\n ;\n\n _proto.canOpenURL = function canOpenURL() {\n return Promise.resolve(true);\n };\n\n _proto.getInitialURL = function getInitialURL() {\n return Promise.resolve(initialURL);\n }\n /**\n * Try to open the given url in a secure fashion. The method returns a Promise object.\n * If the url opens, the promise is resolved. If not, the promise is rejected.\n * Dispatches the `onOpen` event if `url` is opened successfully\n */\n ;\n\n _proto.openURL = function openURL(url) {\n try {\n open(url);\n\n this._dispatchEvent('onOpen', url);\n\n return Promise.resolve();\n } catch (e) {\n return Promise.reject(e);\n }\n };\n\n _proto._validateURL = function _validateURL(url) {\n invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);\n invariant(url, 'Invalid URL: cannot be empty');\n };\n\n return Linking;\n}();\n\nvar open = function open(url) {\n if (canUseDOM) {\n var urlToOpen = new URL(url, window.location).toString();\n\n if (urlToOpen.indexOf('tel:') === 0) {\n window.location = urlToOpen;\n } else {\n window.open(urlToOpen, '_blank', 'noopener');\n }\n }\n};\n\nexport default new Linking();","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar Platform = {\n OS: 'web',\n select: function select(obj) {\n return 'web' in obj ? obj.web : obj.default;\n },\n\n get isTesting() {\n if (process.env.NODE_ENV === 'test') {\n return true;\n }\n\n return false;\n }\n\n};\nexport default Platform;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport UIManager from '../../exports/UIManager';\n/**\n * This class is responsible for coordinating the \"focused\"\n * state for TextInputs. All calls relating to the keyboard\n * should be funneled through here\n */\n\nvar TextInputState = {\n /**\n * Internal state\n */\n _currentlyFocusedNode: null,\n\n /**\n * Returns the ID of the currently focused text field, if one exists\n * If no text field is focused it returns null\n */\n currentlyFocusedField: function currentlyFocusedField() {\n if (document.activeElement !== this._currentlyFocusedNode) {\n this._currentlyFocusedNode = null;\n }\n\n return this._currentlyFocusedNode;\n },\n\n /**\n * @param {Object} TextInputID id of the text field to focus\n * Focuses the specified text field\n * noop if the text field was already focused\n */\n focusTextInput: function focusTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = textFieldNode;\n\n if (document.activeElement !== textFieldNode) {\n UIManager.focus(textFieldNode);\n }\n }\n },\n\n /**\n * @param {Object} textFieldNode id of the text field to focus\n * Unfocuses the specified text field\n * noop if it wasn't focused\n */\n blurTextInput: function blurTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = null;\n\n if (document.activeElement === textFieldNode) {\n UIManager.blur(textFieldNode);\n }\n }\n }\n};\nexport default TextInputState;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport TextInputState from '../TextInputState';\n\nvar dismissKeyboard = function dismissKeyboard() {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedField());\n};\n\nexport default dismissKeyboard;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport Dimensions from '../../exports/Dimensions';\nimport findNodeHandle from '../../exports/findNodeHandle';\nimport invariant from 'fbjs/lib/invariant';\nimport Platform from '../../exports/Platform';\nimport TextInputState from '../TextInputState';\nimport UIManager from '../../exports/UIManager';\nimport warning from 'fbjs/lib/warning';\n/**\n * Mixin that can be integrated in order to handle scrolling that plays well\n * with `ResponderEventPlugin`. Integrate with your platform specific scroll\n * views, or even your custom built (every-frame animating) scroll views so that\n * all of these systems play well with the `ResponderEventPlugin`.\n *\n * iOS scroll event timing nuances:\n * ===============================\n *\n *\n * Scrolling without bouncing, if you touch down:\n * -------------------------------\n *\n * 1. `onMomentumScrollBegin` (when animation begins after letting up)\n * ... physical touch starts ...\n * 2. `onTouchStartCapture` (when you press down to stop the scroll)\n * 3. `onTouchStart` (same, but bubble phase)\n * 4. `onResponderRelease` (when lifting up - you could pause forever before * lifting)\n * 5. `onMomentumScrollEnd`\n *\n *\n * Scrolling with bouncing, if you touch down:\n * -------------------------------\n *\n * 1. `onMomentumScrollBegin` (when animation begins after letting up)\n * ... bounce begins ...\n * ... some time elapses ...\n * ... physical touch during bounce ...\n * 2. `onMomentumScrollEnd` (Makes no sense why this occurs first during bounce)\n * 3. `onTouchStartCapture` (immediately after `onMomentumScrollEnd`)\n * 4. `onTouchStart` (same, but bubble phase)\n * 5. `onTouchEnd` (You could hold the touch start for a long time)\n * 6. `onMomentumScrollBegin` (When releasing the view starts bouncing back)\n *\n * So when we receive an `onTouchStart`, how can we tell if we are touching\n * *during* an animation (which then causes the animation to stop)? The only way\n * to tell is if the `touchStart` occurred immediately after the\n * `onMomentumScrollEnd`.\n *\n * This is abstracted out for you, so you can just call this.scrollResponderIsAnimating() if\n * necessary\n *\n * `ScrollResponder` also includes logic for blurring a currently focused input\n * if one is focused while scrolling. The `ScrollResponder` is a natural place\n * to put this logic since it can support not dismissing the keyboard while\n * scrolling, unless a recognized \"tap\"-like gesture has occurred.\n *\n * The public lifecycle API includes events for keyboard interaction, responder\n * interaction, and scrolling (among others). The keyboard callbacks\n * `onKeyboardWill/Did/*` are *global* events, but are invoked on scroll\n * responder's props so that you can guarantee that the scroll responder's\n * internal state has been updated accordingly (and deterministically) by\n * the time the props callbacks are invoke. Otherwise, you would always wonder\n * if the scroll responder is currently in a state where it recognizes new\n * keyboard positions etc. If coordinating scrolling with keyboard movement,\n * *always* use these hooks instead of listening to your own global keyboard\n * events.\n *\n * Public keyboard lifecycle API: (props callbacks)\n *\n * Standard Keyboard Appearance Sequence:\n *\n * this.props.onKeyboardWillShow\n * this.props.onKeyboardDidShow\n *\n * `onScrollResponderKeyboardDismissed` will be invoked if an appropriate\n * tap inside the scroll responder's scrollable region was responsible\n * for the dismissal of the keyboard. There are other reasons why the\n * keyboard could be dismissed.\n *\n * this.props.onScrollResponderKeyboardDismissed\n *\n * Standard Keyboard Hide Sequence:\n *\n * this.props.onKeyboardWillHide\n * this.props.onKeyboardDidHide\n */\n\nvar emptyObject = {};\nvar IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\nvar ScrollResponderMixin = {\n // mixins: [Subscribable.Mixin],\n scrollResponderMixinGetInitialState: function scrollResponderMixinGetInitialState() {\n return {\n isTouching: false,\n lastMomentumScrollBeginTime: 0,\n lastMomentumScrollEndTime: 0,\n // Reset to false every time becomes responder. This is used to:\n // - Determine if the scroll view has been scrolled and therefore should\n // refuse to give up its responder lock.\n // - Determine if releasing should dismiss the keyboard when we are in\n // tap-to-dismiss mode (!this.props.keyboardShouldPersistTaps).\n observedScrollSinceBecomingResponder: false,\n becameResponderWhileAnimating: false\n };\n },\n\n /**\n * Invoke this from an `onScroll` event.\n */\n scrollResponderHandleScrollShouldSetResponder: function scrollResponderHandleScrollShouldSetResponder() {\n return this.state.isTouching;\n },\n\n /**\n * Merely touch starting is not sufficient for a scroll view to become the\n * responder. Being the \"responder\" means that the very next touch move/end\n * event will result in an action/movement.\n *\n * Invoke this from an `onStartShouldSetResponder` event.\n *\n * `onStartShouldSetResponder` is used when the next move/end will trigger\n * some UI movement/action, but when you want to yield priority to views\n * nested inside of the view.\n *\n * There may be some cases where scroll views actually should return `true`\n * from `onStartShouldSetResponder`: Any time we are detecting a standard tap\n * that gives priority to nested views.\n *\n * - If a single tap on the scroll view triggers an action such as\n * recentering a map style view yet wants to give priority to interaction\n * views inside (such as dropped pins or labels), then we would return true\n * from this method when there is a single touch.\n *\n * - Similar to the previous case, if a two finger \"tap\" should trigger a\n * zoom, we would check the `touches` count, and if `>= 2`, we would return\n * true.\n *\n */\n scrollResponderHandleStartShouldSetResponder: function scrollResponderHandleStartShouldSetResponder() {\n return false;\n },\n\n /**\n * There are times when the scroll view wants to become the responder\n * (meaning respond to the next immediate `touchStart/touchEnd`), in a way\n * that *doesn't* give priority to nested views (hence the capture phase):\n *\n * - Currently animating.\n * - Tapping anywhere that is not the focused input, while the keyboard is\n * up (which should dismiss the keyboard).\n *\n * Invoke this from an `onStartShouldSetResponderCapture` event.\n */\n scrollResponderHandleStartShouldSetResponderCapture: function scrollResponderHandleStartShouldSetResponderCapture(e) {\n // First see if we want to eat taps while the keyboard is up\n // var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n // if (!this.props.keyboardShouldPersistTaps &&\n // currentlyFocusedTextInput != null &&\n // e.target !== currentlyFocusedTextInput) {\n // return true;\n // }\n return this.scrollResponderIsAnimating();\n },\n\n /**\n * Invoke this from an `onResponderReject` event.\n *\n * Some other element is not yielding its role as responder. Normally, we'd\n * just disable the `UIScrollView`, but a touch has already began on it, the\n * `UIScrollView` will not accept being disabled after that. The easiest\n * solution for now is to accept the limitation of disallowing this\n * altogether. To improve this, find a way to disable the `UIScrollView` after\n * a touch has already started.\n */\n scrollResponderHandleResponderReject: function scrollResponderHandleResponderReject() {\n warning(false, \"ScrollView doesn't take rejection well - scrolls anyway\");\n },\n\n /**\n * We will allow the scroll view to give up its lock iff it acquired the lock\n * during an animation. This is a very useful default that happens to satisfy\n * many common user experiences.\n *\n * - Stop a scroll on the left edge, then turn that into an outer view's\n * backswipe.\n * - Stop a scroll mid-bounce at the top, continue pulling to have the outer\n * view dismiss.\n * - However, without catching the scroll view mid-bounce (while it is\n * motionless), if you drag far enough for the scroll view to become\n * responder (and therefore drag the scroll view a bit), any backswipe\n * navigation of a swipe gesture higher in the view hierarchy, should be\n * rejected.\n */\n scrollResponderHandleTerminationRequest: function scrollResponderHandleTerminationRequest() {\n return !this.state.observedScrollSinceBecomingResponder;\n },\n\n /**\n * Invoke this from an `onTouchEnd` event.\n *\n * @param {SyntheticEvent} e Event.\n */\n scrollResponderHandleTouchEnd: function scrollResponderHandleTouchEnd(e) {\n var nativeEvent = e.nativeEvent;\n this.state.isTouching = nativeEvent.touches.length !== 0;\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n },\n\n /**\n * Invoke this from an `onResponderRelease` event.\n */\n scrollResponderHandleResponderRelease: function scrollResponderHandleResponderRelease(e) {\n this.props.onResponderRelease && this.props.onResponderRelease(e); // By default scroll views will unfocus a textField\n // if another touch occurs outside of it\n\n var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n\n if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.state.observedScrollSinceBecomingResponder && !this.state.becameResponderWhileAnimating) {\n this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e);\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n },\n scrollResponderHandleScroll: function scrollResponderHandleScroll(e) {\n this.state.observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n },\n\n /**\n * Invoke this from an `onResponderGrant` event.\n */\n scrollResponderHandleResponderGrant: function scrollResponderHandleResponderGrant(e) {\n this.state.observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this.state.becameResponderWhileAnimating = this.scrollResponderIsAnimating();\n },\n\n /**\n * Unfortunately, `onScrollBeginDrag` also fires when *stopping* the scroll\n * animation, and there's not an easy way to distinguish a drag vs. stopping\n * momentum.\n *\n * Invoke this from an `onScrollBeginDrag` event.\n */\n scrollResponderHandleScrollBeginDrag: function scrollResponderHandleScrollBeginDrag(e) {\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n },\n\n /**\n * Invoke this from an `onScrollEndDrag` event.\n */\n scrollResponderHandleScrollEndDrag: function scrollResponderHandleScrollEndDrag(e) {\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n },\n\n /**\n * Invoke this from an `onMomentumScrollBegin` event.\n */\n scrollResponderHandleMomentumScrollBegin: function scrollResponderHandleMomentumScrollBegin(e) {\n this.state.lastMomentumScrollBeginTime = Date.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n },\n\n /**\n * Invoke this from an `onMomentumScrollEnd` event.\n */\n scrollResponderHandleMomentumScrollEnd: function scrollResponderHandleMomentumScrollEnd(e) {\n this.state.lastMomentumScrollEndTime = Date.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n },\n\n /**\n * Invoke this from an `onTouchStart` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n scrollResponderHandleTouchStart: function scrollResponderHandleTouchStart(e) {\n this.state.isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n },\n\n /**\n * Invoke this from an `onTouchMove` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n scrollResponderHandleTouchMove: function scrollResponderHandleTouchMove(e) {\n this.props.onTouchMove && this.props.onTouchMove(e);\n },\n\n /**\n * A helper function for this class that lets us quickly determine if the\n * view is currently animating. This is particularly useful to know when\n * a touch has just started or ended.\n */\n scrollResponderIsAnimating: function scrollResponderIsAnimating() {\n var now = Date.now();\n var timeSinceLastMomentumScrollEnd = now - this.state.lastMomentumScrollEndTime;\n var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.state.lastMomentumScrollEndTime < this.state.lastMomentumScrollBeginTime;\n return isAnimating;\n },\n\n /**\n * Returns the node that represents native view that can be scrolled.\n * Components can pass what node to use by defining a `getScrollableNode`\n * function otherwise `this` is used.\n */\n scrollResponderGetScrollableNode: function scrollResponderGetScrollableNode() {\n return this.getScrollableNode ? this.getScrollableNode() : findNodeHandle(this);\n },\n\n /**\n * A helper function to scroll to a specific point in the scrollview.\n * This is currently used to help focus on child textviews, but can also\n * be used to quickly scroll to any element we want to focus. Syntax:\n *\n * scrollResponderScrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n scrollResponderScrollTo: function scrollResponderScrollTo(x, y, animated) {\n if (typeof x === 'number') {\n console.warn('`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref = x || emptyObject;\n\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n\n var node = this.scrollResponderGetScrollableNode();\n var left = x || 0;\n var top = y || 0;\n\n if (typeof node.scroll === 'function') {\n node.scroll({\n top: top,\n left: left,\n behavior: !animated ? 'auto' : 'smooth'\n });\n } else {\n node.scrollLeft = left;\n node.scrollTop = top;\n }\n },\n\n /**\n * A helper function to zoom to a specific rect in the scrollview. The argument has the shape\n * {x: number; y: number; width: number; height: number; animated: boolean = true}\n *\n * @platform ios\n */\n scrollResponderZoomTo: function scrollResponderZoomTo(rect, animated) // deprecated, put this inside the rect argument instead\n {\n if (Platform.OS !== 'ios') {\n invariant('zoomToRect is not implemented');\n }\n },\n\n /**\n * Displays the scroll indicators momentarily.\n */\n scrollResponderFlashScrollIndicators: function scrollResponderFlashScrollIndicators() {},\n\n /**\n * This method should be used as the callback to onFocus in a TextInputs'\n * parent view. Note that any module using this mixin needs to return\n * the parent view's ref in getScrollViewRef() in order to use this method.\n * @param {any} nodeHandle The TextInput node handle\n * @param {number} additionalOffset The scroll view's top \"contentInset\".\n * Default is 0.\n * @param {bool} preventNegativeScrolling Whether to allow pulling the content\n * down to make it meet the keyboard's top. Default is false.\n */\n scrollResponderScrollNativeHandleToKeyboard: function scrollResponderScrollNativeHandleToKeyboard(nodeHandle, additionalOffset, preventNegativeScrollOffset) {\n this.additionalScrollOffset = additionalOffset || 0;\n this.preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n UIManager.measureLayout(nodeHandle, findNodeHandle(this.getInnerViewNode()), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard);\n },\n\n /**\n * The calculations performed here assume the scroll view takes up the entire\n * screen - even if has some content inset. We then measure the offsets of the\n * keyboard, and compensate both for the scroll view's \"contentInset\".\n *\n * @param {number} left Position of input w.r.t. table view.\n * @param {number} top Position of input w.r.t. table view.\n * @param {number} width Width of the text input.\n * @param {number} height Height of the text input.\n */\n scrollResponderInputMeasureAndScrollToKeyboard: function scrollResponderInputMeasureAndScrollToKeyboard(left, top, width, height) {\n var keyboardScreenY = Dimensions.get('window').height;\n\n if (this.keyboardWillOpenTo) {\n keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY;\n }\n\n var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset; // By default, this can scroll with negative offset, pulling the content\n // down so that the target component's bottom meets the keyboard's top.\n // If requested otherwise, cap the offset at 0 minimum to avoid content\n // shifting down.\n\n if (this.preventNegativeScrollOffset) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n\n this.scrollResponderScrollTo({\n x: 0,\n y: scrollOffsetY,\n animated: true\n });\n this.additionalOffset = 0;\n this.preventNegativeScrollOffset = false;\n },\n scrollResponderTextInputFocusError: function scrollResponderTextInputFocusError(e) {\n console.error('Error measuring text field: ', e);\n },\n\n /**\n * `componentWillMount` is the closest thing to a standard \"constructor\" for\n * React components.\n *\n * The `keyboardWillShow` is called before input focus.\n */\n UNSAFE_componentWillMount: function UNSAFE_componentWillMount() {\n this.keyboardWillOpenTo = null;\n this.additionalScrollOffset = 0; // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardWillShow', this.scrollResponderKeyboardWillShow);\n // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardWillHide', this.scrollResponderKeyboardWillHide);\n // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardDidShow', this.scrollResponderKeyboardDidShow);\n // this.addListenerOn(RCTDeviceEventEmitter, 'keyboardDidHide', this.scrollResponderKeyboardDidHide);\n },\n\n /**\n * Warning, this may be called several times for a single keyboard opening.\n * It's best to store the information in this method and then take any action\n * at a later point (either in `keyboardDidShow` or other).\n *\n * Here's the order that events occur in:\n * - focus\n * - willShow {startCoordinates, endCoordinates} several times\n * - didShow several times\n * - blur\n * - willHide {startCoordinates, endCoordinates} several times\n * - didHide several times\n *\n * The `ScrollResponder` providesModule callbacks for each of these events.\n * Even though any user could have easily listened to keyboard events\n * themselves, using these `props` callbacks ensures that ordering of events\n * is consistent - and not dependent on the order that the keyboard events are\n * subscribed to. This matters when telling the scroll view to scroll to where\n * the keyboard is headed - the scroll responder better have been notified of\n * the keyboard destination before being instructed to scroll to where the\n * keyboard will be. Stick to the `ScrollResponder` callbacks, and everything\n * will work.\n *\n * WARNING: These callbacks will fire even if a keyboard is displayed in a\n * different navigation pane. Filter out the events to determine if they are\n * relevant to you. (For example, only if you receive these callbacks after\n * you had explicitly focused a node etc).\n */\n scrollResponderKeyboardWillShow: function scrollResponderKeyboardWillShow(e) {\n this.keyboardWillOpenTo = e;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n },\n scrollResponderKeyboardWillHide: function scrollResponderKeyboardWillHide(e) {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n },\n scrollResponderKeyboardDidShow: function scrollResponderKeyboardDidShow(e) {\n // TODO(7693961): The event for DidShow is not available on iOS yet.\n // Use the one from WillShow and do not assign.\n if (e) {\n this.keyboardWillOpenTo = e;\n }\n\n this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n },\n scrollResponderKeyboardDidHide: function scrollResponderKeyboardDidHide(e) {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n }\n};\nvar ScrollResponder = {\n Mixin: ScrollResponderMixin\n};\nexport default ScrollResponder;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport useMergeRefs from '../../modules/useMergeRefs';\n\nfunction normalizeScrollEvent(e) {\n return {\n nativeEvent: {\n contentOffset: {\n get x() {\n return e.target.scrollLeft;\n },\n\n get y() {\n return e.target.scrollTop;\n }\n\n },\n contentSize: {\n get height() {\n return e.target.scrollHeight;\n },\n\n get width() {\n return e.target.scrollWidth;\n }\n\n },\n layoutMeasurement: {\n get height() {\n return e.target.offsetHeight;\n },\n\n get width() {\n return e.target.offsetWidth;\n }\n\n }\n },\n timeStamp: Date.now()\n };\n}\n\nfunction shouldEmitScrollEvent(lastTick, eventThrottle) {\n var timeSinceLastTick = Date.now() - lastTick;\n return eventThrottle > 0 && timeSinceLastTick >= eventThrottle;\n}\n/**\n * Encapsulates the Web-specific scroll throttling and disabling logic\n */\n\n\nvar ScrollViewBase = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {\n var onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onWheel = props.onWheel,\n _props$scrollEnabled = props.scrollEnabled,\n scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled,\n _props$scrollEventThr = props.scrollEventThrottle,\n scrollEventThrottle = _props$scrollEventThr === void 0 ? 0 : _props$scrollEventThr,\n showsHorizontalScrollIndicator = props.showsHorizontalScrollIndicator,\n showsVerticalScrollIndicator = props.showsVerticalScrollIndicator,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, [\"onScroll\", \"onTouchMove\", \"onWheel\", \"scrollEnabled\", \"scrollEventThrottle\", \"showsHorizontalScrollIndicator\", \"showsVerticalScrollIndicator\", \"style\"]);\n\n var scrollState = React.useRef({\n isScrolling: false,\n scrollLastTick: 0\n });\n var scrollTimeout = React.useRef(null);\n var scrollRef = React.useRef(null);\n\n function createPreventableScrollHandler(handler) {\n return function (e) {\n if (scrollEnabled) {\n if (handler) {\n handler(e);\n }\n }\n };\n }\n\n function handleScroll(e) {\n e.stopPropagation();\n\n if (e.target === scrollRef.current) {\n e.persist(); // A scroll happened, so the scroll resets the scrollend timeout.\n\n if (scrollTimeout.current != null) {\n clearTimeout(scrollTimeout.current);\n }\n\n scrollTimeout.current = setTimeout(function () {\n handleScrollEnd(e);\n }, 100);\n\n if (scrollState.current.isScrolling) {\n // Scroll last tick may have changed, check if we need to notify\n if (shouldEmitScrollEvent(scrollState.current.scrollLastTick, scrollEventThrottle)) {\n handleScrollTick(e);\n }\n } else {\n // Weren't scrolling, so we must have just started\n handleScrollStart(e);\n }\n }\n }\n\n function handleScrollStart(e) {\n scrollState.current.isScrolling = true;\n handleScrollTick(e);\n }\n\n function handleScrollTick(e) {\n scrollState.current.scrollLastTick = Date.now();\n\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n\n function handleScrollEnd(e) {\n scrollState.current.isScrolling = false;\n\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n\n var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false;\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n onScroll: handleScroll,\n onTouchMove: createPreventableScrollHandler(onTouchMove),\n onWheel: createPreventableScrollHandler(onWheel),\n ref: useMergeRefs(scrollRef, forwardedRef),\n style: [style, !scrollEnabled && styles.scrollDisabled, hideScrollbar && styles.hideScrollbar]\n }));\n}); // Chrome doesn't support e.preventDefault in this case; touch-action must be\n// used to disable scrolling.\n// https://developers.google.com/web/updates/2017/01/scrolling-intervention\n\nvar styles = StyleSheet.create({\n scrollDisabled: {\n overflowX: 'hidden',\n overflowY: 'hidden',\n touchAction: 'none'\n },\n hideScrollbar: {\n scrollbarWidth: 'none'\n }\n});\nexport default ScrollViewBase;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport createReactClass from 'create-react-class';\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nimport invariant from 'fbjs/lib/invariant';\nimport mergeRefs from '../../modules/mergeRefs';\nimport ScrollResponder from '../../modules/ScrollResponder';\nimport ScrollViewBase from './ScrollViewBase';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport React from 'react';\nvar emptyObject = {};\n/* eslint-disable react/prefer-es6-class */\n\nvar ScrollView = createReactClass({\n displayName: \"ScrollView\",\n mixins: [ScrollResponder.Mixin],\n getInitialState: function getInitialState() {\n return this.scrollResponderMixinGetInitialState();\n },\n flashScrollIndicators: function flashScrollIndicators() {\n this.scrollResponderFlashScrollIndicators();\n },\n\n /**\n * Returns a reference to the underlying scroll responder, which supports\n * operations like `scrollTo`. All ScrollView-like components should\n * implement this method so that they can be composed while providing access\n * to the underlying scroll responder's methods.\n */\n getScrollResponder: function getScrollResponder() {\n return this;\n },\n getScrollableNode: function getScrollableNode() {\n return this._scrollNodeRef;\n },\n getInnerViewRef: function getInnerViewRef() {\n return this._innerViewRef;\n },\n getInnerViewNode: function getInnerViewNode() {\n return this._innerViewRef;\n },\n getNativeScrollRef: function getNativeScrollRef() {\n return this._scrollNodeRef;\n },\n\n /**\n * Scrolls to a given x, y offset, either immediately or with a smooth animation.\n * Syntax:\n *\n * scrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n scrollTo: function scrollTo(y, x, animated) {\n if (typeof y === 'number') {\n console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref = y || emptyObject;\n\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n\n this.getScrollResponder().scrollResponderScrollTo({\n x: x || 0,\n y: y || 0,\n animated: animated !== false\n });\n },\n\n /**\n * If this is a vertical ScrollView scrolls to the bottom.\n * If this is a horizontal ScrollView scrolls to the right.\n *\n * Use `scrollToEnd({ animated: true })` for smooth animated scrolling,\n * `scrollToEnd({ animated: false })` for immediate scrolling.\n * If no options are passed, `animated` defaults to true.\n */\n scrollToEnd: function scrollToEnd(options) {\n // Default to true\n var animated = (options && options.animated) !== false;\n var horizontal = this.props.horizontal;\n var scrollResponder = this.getScrollResponder();\n var scrollResponderNode = scrollResponder.scrollResponderGetScrollableNode();\n var x = horizontal ? scrollResponderNode.scrollWidth : 0;\n var y = horizontal ? 0 : scrollResponderNode.scrollHeight;\n scrollResponder.scrollResponderScrollTo({\n x: x,\n y: y,\n animated: animated\n });\n },\n render: function render() {\n var _this$props = this.props,\n contentContainerStyle = _this$props.contentContainerStyle,\n horizontal = _this$props.horizontal,\n onContentSizeChange = _this$props.onContentSizeChange,\n refreshControl = _this$props.refreshControl,\n stickyHeaderIndices = _this$props.stickyHeaderIndices,\n pagingEnabled = _this$props.pagingEnabled,\n forwardedRef = _this$props.forwardedRef,\n keyboardDismissMode = _this$props.keyboardDismissMode,\n onScroll = _this$props.onScroll,\n other = _objectWithoutPropertiesLoose(_this$props, [\"contentContainerStyle\", \"horizontal\", \"onContentSizeChange\", \"refreshControl\", \"stickyHeaderIndices\", \"pagingEnabled\", \"forwardedRef\", \"keyboardDismissMode\", \"onScroll\"]);\n\n if (process.env.NODE_ENV !== 'production' && this.props.style) {\n var style = StyleSheet.flatten(this.props.style);\n var childLayoutProps = ['alignItems', 'justifyContent'].filter(function (prop) {\n return style && style[prop] !== undefined;\n });\n invariant(childLayoutProps.length === 0, \"ScrollView child layout (\" + JSON.stringify(childLayoutProps) + \") \" + 'must be applied through the contentContainerStyle prop.');\n }\n\n var contentSizeChangeProps = {};\n\n if (onContentSizeChange) {\n contentSizeChangeProps = {\n onLayout: this._handleContentOnLayout\n };\n }\n\n var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);\n var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, function (child, i) {\n var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;\n\n if (child != null && (isSticky || pagingEnabled)) {\n return /*#__PURE__*/React.createElement(View, {\n style: StyleSheet.compose(isSticky && styles.stickyHeader, pagingEnabled && styles.pagingEnabledChild)\n }, child);\n } else {\n return child;\n }\n }) : this.props.children;\n var contentContainer = /*#__PURE__*/React.createElement(View, _extends({}, contentSizeChangeProps, {\n children: children,\n collapsable: false,\n ref: this._setInnerViewRef,\n style: StyleSheet.compose(horizontal && styles.contentContainerHorizontal, contentContainerStyle)\n }));\n var baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical;\n var pagingEnabledStyle = horizontal ? styles.pagingEnabledHorizontal : styles.pagingEnabledVertical;\n\n var props = _objectSpread(_objectSpread({}, other), {}, {\n style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style],\n onTouchStart: this.scrollResponderHandleTouchStart,\n onTouchMove: this.scrollResponderHandleTouchMove,\n onTouchEnd: this.scrollResponderHandleTouchEnd,\n onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag,\n onScrollEndDrag: this.scrollResponderHandleScrollEndDrag,\n onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin,\n onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd,\n onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder,\n onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture,\n onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder,\n onScroll: this._handleScroll,\n onResponderGrant: this.scrollResponderHandleResponderGrant,\n onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest,\n onResponderTerminate: this.scrollResponderHandleTerminate,\n onResponderRelease: this.scrollResponderHandleResponderRelease,\n onResponderReject: this.scrollResponderHandleResponderReject\n });\n\n var ScrollViewClass = ScrollViewBase;\n invariant(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');\n var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends({}, props, {\n ref: this._setScrollNodeRef\n }), contentContainer);\n\n if (refreshControl) {\n return /*#__PURE__*/React.cloneElement(refreshControl, {\n style: props.style\n }, scrollView);\n }\n\n return scrollView;\n },\n _handleContentOnLayout: function _handleContentOnLayout(e) {\n var _e$nativeEvent$layout = e.nativeEvent.layout,\n width = _e$nativeEvent$layout.width,\n height = _e$nativeEvent$layout.height;\n this.props.onContentSizeChange(width, height);\n },\n _handleScroll: function _handleScroll(e) {\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.onScroll && this.props.scrollEventThrottle == null) {\n console.log('You specified `onScroll` on a but not ' + '`scrollEventThrottle`. You will only receive one event. ' + 'Using `16` you get all the events but be aware that it may ' + \"cause frame drops, use a bigger number if you don't need as \" + 'much precision.');\n }\n }\n\n if (this.props.keyboardDismissMode === 'on-drag') {\n dismissKeyboard();\n }\n\n this.scrollResponderHandleScroll(e);\n },\n _setInnerViewRef: function _setInnerViewRef(node) {\n this._innerViewRef = node;\n },\n _setScrollNodeRef: function _setScrollNodeRef(node) {\n this._scrollNodeRef = node; // ScrollView needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `ScrollView.scrollTo(hostNode, { x, y })` is added to React Native.\n\n if (node != null) {\n node.getScrollResponder = this.getScrollResponder;\n node.getInnerViewNode = this.getInnerViewNode;\n node.getInnerViewRef = this.getInnerViewRef;\n node.getNativeScrollRef = this.getNativeScrollRef;\n node.getScrollableNode = this.getScrollableNode;\n node.scrollTo = this.scrollTo;\n node.scrollToEnd = this.scrollToEnd;\n node.flashScrollIndicators = this.flashScrollIndicators;\n node.scrollResponderZoomTo = this.scrollResponderZoomTo;\n node.scrollResponderScrollNativeHandleToKeyboard = this.scrollResponderScrollNativeHandleToKeyboard;\n }\n\n var ref = mergeRefs(this.props.forwardedRef);\n ref(node);\n }\n});\nvar commonStyle = {\n flexGrow: 1,\n flexShrink: 1,\n // Enable hardware compositing in modern browsers.\n // Creates a new layer with its own backing surface that can significantly\n // improve scroll performance.\n transform: [{\n translateZ: 0\n }],\n // iOS native scrolling\n WebkitOverflowScrolling: 'touch'\n};\nvar styles = StyleSheet.create({\n baseVertical: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'column',\n overflowX: 'hidden',\n overflowY: 'auto'\n }),\n baseHorizontal: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'row',\n overflowX: 'auto',\n overflowY: 'hidden'\n }),\n contentContainerHorizontal: {\n flexDirection: 'row'\n },\n stickyHeader: {\n position: 'sticky',\n top: 0,\n zIndex: 10\n },\n pagingEnabledHorizontal: {\n scrollSnapType: 'x mandatory'\n },\n pagingEnabledVertical: {\n scrollSnapType: 'y mandatory'\n },\n pagingEnabledChild: {\n scrollSnapAlign: 'start'\n }\n});\nvar ForwardedScrollView = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {\n return /*#__PURE__*/React.createElement(ScrollView, _extends({}, props, {\n forwardedRef: forwardedRef\n }));\n});\nForwardedScrollView.displayName = 'ScrollView';\nexport default ForwardedScrollView;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar emptyObject = {};\nvar objects = {};\nvar prefix = 'r';\nvar uniqueID = 1;\n\nvar createKey = function createKey(id) {\n return prefix + \"-\" + id;\n};\n\nvar ReactNativePropRegistry = /*#__PURE__*/function () {\n function ReactNativePropRegistry() {}\n\n ReactNativePropRegistry.register = function register(object) {\n var id = uniqueID++;\n\n if (process.env.NODE_ENV !== 'production') {\n Object.freeze(object);\n }\n\n var key = createKey(id);\n objects[key] = object;\n return id;\n };\n\n ReactNativePropRegistry.getByID = function getByID(id) {\n if (!id) {\n // Used in the style={[condition && id]} pattern,\n // we want it to be a no-op when the value is false or null\n return emptyObject;\n }\n\n var key = createKey(id);\n var object = objects[key];\n\n if (!object) {\n console.warn('Invalid style with id `' + id + '`. Skipping ...');\n return emptyObject;\n }\n\n return object;\n };\n\n return ReactNativePropRegistry;\n}();\n\nexport { ReactNativePropRegistry as default };","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nexport var STYLE_ELEMENT_ID = 'react-native-stylesheet';\nexport var STYLE_GROUPS = {\n reset: 0,\n modality: 0.1,\n classicReset: 0.5,\n classic: 1,\n atomic: 2.2,\n custom: {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n marginHorizontal: 2.1,\n marginVertical: 2.1,\n paddingHorizontal: 2.1,\n paddingVertical: 2.1\n }\n};\nexport var STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n margin: ['marginTop', 'marginRight', 'marginBottom', 'marginLeft'],\n marginHorizontal: ['marginRight', 'marginLeft'],\n marginVertical: ['marginTop', 'marginBottom'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n padding: ['paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft'],\n paddingHorizontal: ['paddingRight', 'paddingLeft'],\n paddingVertical: ['paddingTop', 'paddingBottom']\n};\nexport var MONOSPACE_FONT_STACK = 'monospace,monospace';\nexport var SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport styleResolver from './styleResolver';\n/**\n * A simple (and dangerous) CSS system.\n * The order of CSS rule insertion is not guaranteed.\n * Avoiding combining 2 or more classes that modify the same property.\n */\n\nvar css = {\n /**\n * const classes = css.create({ base: {}, extra: {} })\n */\n create: function create(rules, group) {\n return styleResolver.createCSS(rules, group);\n }\n};\nexport default css;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport ReactNativePropRegistry from './ReactNativePropRegistry';\nimport invariant from 'fbjs/lib/invariant';\n\nfunction getStyle(style) {\n if (typeof style === 'number') {\n return ReactNativePropRegistry.getByID(style);\n }\n\n return style;\n}\n\nfunction flattenStyle(style) {\n if (!style) {\n return undefined;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n invariant(style !== true, 'style may be false but not true');\n }\n\n if (!Array.isArray(style)) {\n return getStyle(style);\n }\n\n var result = {};\n\n for (var i = 0, styleLength = style.length; i < styleLength; ++i) {\n var computedStyle = flattenStyle(style[i]);\n\n if (computedStyle) {\n for (var key in computedStyle) {\n var value = computedStyle[key];\n result[key] = value;\n }\n }\n }\n\n return result;\n}\n\nexport default flattenStyle;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport ReactNativePropRegistry from './ReactNativePropRegistry';\nimport flattenStyle from './flattenStyle';\nimport validate from './validate';\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = ReactNativePropRegistry.register(absoluteFillObject);\nvar StyleSheet = {\n absoluteFill: absoluteFill,\n absoluteFillObject: absoluteFillObject,\n compose: function compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n\n if (len > 2) {\n var readableStyles = Array.prototype.slice.call(arguments).map(function (a) {\n return flattenStyle(a);\n });\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n\n }\n\n if (style1 && style2) {\n return [style1, style2];\n } else {\n return style1 || style2;\n }\n },\n create: function create(styles) {\n var result = {};\n Object.keys(styles).forEach(function (key) {\n if (process.env.NODE_ENV !== 'production') {\n validate(key, styles);\n }\n\n var id = styles[key] && ReactNativePropRegistry.register(styles[key]);\n result[key] = id;\n });\n return result;\n },\n flatten: flattenStyle,\n // `hairlineWidth` is not implemented using screen density as browsers may\n // round sub-pixel values down to `0`, causing the line not to be rendered.\n hairlineWidth: 1\n};\nexport default StyleSheet;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport StyleSheet from './StyleSheet'; // allow original component styles to be inspected in React Dev Tools\n\nif (canUseDOM && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\n\nexport default StyleSheet;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport unitlessNumbers from '../../modules/unitlessNumbers';\nimport normalizeColor from '../../modules/normalizeColor';\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\nexport default function normalizeValueWithProperty(value, property) {\n var returnValue = value;\n\n if ((property == null || !unitlessNumbers[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = normalizeColor(value);\n }\n\n return returnValue;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport normalizeColor from '../../modules/normalizeColor';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nvar defaultOffset = {\n height: 0,\n width: 0\n};\n\nvar resolveShadowValue = function resolveShadowValue(style) {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(shadowRadius || 0);\n var color = normalizeColor(shadowColor || 'black', shadowOpacity);\n\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\nexport default resolveShadowValue;","function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport resolveShadowValue from './resolveShadowValue';\nvar defaultOffset = {\n height: 0,\n width: 0\n};\n\nfunction boxShadowReducer(resolvedStyle, style) {\n var boxShadow = style.boxShadow;\n var shadow = resolveShadowValue(style);\n\n if (shadow != null) {\n resolvedStyle.boxShadow = boxShadow ? boxShadow + \", \" + shadow : shadow;\n }\n}\n\nfunction textShadowReducer(resolvedStyle, style) {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n\n var _ref = textShadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n\n var radius = textShadowRadius || 0;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(radius);\n var color = normalizeValueWithProperty(textShadowColor, 'textShadowColor');\n\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n resolvedStyle.textShadow = offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n}\n\nvar createCompileableStyle = function createCompileableStyle(styles) {\n var shadowColor = styles.shadowColor,\n shadowOffset = styles.shadowOffset,\n shadowOpacity = styles.shadowOpacity,\n shadowRadius = styles.shadowRadius,\n textShadowColor = styles.textShadowColor,\n textShadowOffset = styles.textShadowOffset,\n textShadowRadius = styles.textShadowRadius,\n nextStyles = _objectWithoutPropertiesLoose(styles, [\"shadowColor\", \"shadowOffset\", \"shadowOpacity\", \"shadowRadius\", \"textShadowColor\", \"textShadowOffset\", \"textShadowRadius\"]);\n\n if (shadowColor != null || shadowOffset != null || shadowOpacity != null || shadowRadius != null) {\n boxShadowReducer(nextStyles, styles);\n }\n\n if (textShadowColor != null || textShadowOffset != null || textShadowRadius != null) {\n textShadowReducer(nextStyles, styles);\n }\n\n return nextStyles;\n};\n\nexport default createCompileableStyle;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar slice = Array.prototype.slice;\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\n\nexport default function createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach(function (cssRule, i) {\n var cssText = cssRule.cssText; // Create record of existing selectors and rules\n\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex]; // Insert rule before the next group, or at the end of the stylesheet\n\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n } // Increment the starting index of all subsequent groups\n\n\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n\n return isInserted;\n }\n\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent: function getTextContent() {\n return getOrderedGroups(groups).map(function (group) {\n var rules = groups[group].rules;\n return rules.join('\\n');\n }).join('\\n');\n },\n\n /**\n * Insert a rule into the style sheet\n */\n insert: function insert(cssText, groupValue) {\n var group = Number(groupValue); // Create a new group.\n\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group); // Create the internal record.\n\n groups[group] = {\n start: null,\n rules: [markerRule]\n }; // Update CSSOM.\n\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n } // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n\n\n var selectorText = getSelectorText(cssText);\n\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText); // Update CSSOM.\n\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n };\n return OrderedCSSStyleSheet;\n}\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\n\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(/[\"']/)[1]);\n}\n\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort(function (a, b) {\n return a > b ? 1 : -1;\n });\n}\n\nvar pattern = /\\s*([,])\\s*/g;\n\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(pattern, '$1') : null;\n}\n\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nfunction flattenArray(array) {\n function flattenDown(array, result) {\n for (var i = 0; i < array.length; i++) {\n var value = array[i];\n\n if (Array.isArray(value)) {\n flattenDown(value, result);\n } else if (value != null && value !== false) {\n result.push(value);\n }\n }\n\n return result;\n }\n\n return flattenDown(array, []);\n}\n\nexport default flattenArray;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar CSS_UNIT_RE = /^[+-]?\\d*(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?(%|\\w*)/;\n\nvar getUnit = function getUnit(str) {\n return str.match(CSS_UNIT_RE)[1];\n};\n\nvar isNumeric = function isNumeric(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\n\nvar multiplyStyleLengthValue = function multiplyStyleLengthValue(value, multiple) {\n if (typeof value === 'string') {\n var number = parseFloat(value) * multiple;\n var unit = getUnit(value);\n return \"\" + number + unit;\n } else if (isNumeric(value)) {\n return value * multiple;\n }\n};\n\nexport default multiplyStyleLengthValue;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport I18nManager from '../I18nManager';\nimport multiplyStyleLengthValue from '../../modules/multiplyStyleLengthValue';\nvar emptyObject = {};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left'; // Map of LTR property names to their BiDi equivalent.\n\nvar PROPERTIES_FLIP = {\n borderTopLeftRadius: borderTopRightRadius,\n borderTopRightRadius: borderTopLeftRadius,\n borderBottomLeftRadius: borderBottomRightRadius,\n borderBottomRightRadius: borderBottomLeftRadius,\n borderLeftColor: borderRightColor,\n borderLeftStyle: borderRightStyle,\n borderLeftWidth: borderRightWidth,\n borderRightColor: borderLeftColor,\n borderRightStyle: borderLeftStyle,\n borderRightWidth: borderLeftWidth,\n left: right,\n marginLeft: marginRight,\n marginRight: marginLeft,\n paddingLeft: paddingRight,\n paddingRight: paddingLeft,\n right: left\n}; // Map of I18N property names to their LTR equivalent.\n\nvar PROPERTIES_I18N = {\n borderTopStartRadius: borderTopLeftRadius,\n borderTopEndRadius: borderTopRightRadius,\n borderBottomStartRadius: borderBottomLeftRadius,\n borderBottomEndRadius: borderBottomRightRadius,\n borderStartColor: borderLeftColor,\n borderStartStyle: borderLeftStyle,\n borderStartWidth: borderLeftWidth,\n borderEndColor: borderRightColor,\n borderEndStyle: borderRightStyle,\n borderEndWidth: borderRightWidth,\n end: right,\n marginStart: marginLeft,\n marginEnd: marginRight,\n paddingStart: paddingLeft,\n paddingEnd: paddingRight,\n start: left\n};\nvar PROPERTIES_VALUE = {\n clear: true,\n float: true,\n textAlign: true\n}; // Invert the sign of a numeric-like value\n\nvar additiveInverse = function additiveInverse(value) {\n return multiplyStyleLengthValue(value, -1);\n};\n\nvar i18nStyle = function i18nStyle(originalStyle) {\n var _I18nManager$getConst = I18nManager.getConstants(),\n doLeftAndRightSwapInRTL = _I18nManager$getConst.doLeftAndRightSwapInRTL,\n isRTL = _I18nManager$getConst.isRTL;\n\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n\n for (var originalProp in style) {\n if (!Object.prototype.hasOwnProperty.call(style, originalProp)) {\n continue;\n }\n\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue; // BiDi flip properties\n\n if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // convert start/end\n var convertedProp = PROPERTIES_I18N[originalProp];\n prop = isRTL ? PROPERTIES_FLIP[convertedProp] : convertedProp;\n } else if (isRTL && doLeftAndRightSwapInRTL && PROPERTIES_FLIP[originalProp]) {\n prop = PROPERTIES_FLIP[originalProp];\n } // BiDi flip values\n\n\n if (PROPERTIES_VALUE.hasOwnProperty(originalProp)) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n } else if (isRTL && doLeftAndRightSwapInRTL) {\n if (originalValue === 'left') {\n value = 'right';\n } else if (originalValue === 'right') {\n value = 'left';\n }\n }\n } // BiDi flip transitionProperty value\n\n\n if (prop === 'transitionProperty') {\n // BiDi flip properties\n if (PROPERTIES_I18N.hasOwnProperty(value)) {\n // convert start/end\n var convertedValue = PROPERTIES_I18N[originalValue];\n value = isRTL ? PROPERTIES_FLIP[convertedValue] : convertedValue;\n } else if (isRTL && doLeftAndRightSwapInRTL) {\n var flippedValue = PROPERTIES_FLIP[originalValue];\n\n if (flippedValue != null) {\n value = flippedValue;\n }\n }\n } // Create finalized style\n\n\n if (isRTL && prop === 'textShadowOffset') {\n var invertedValue = additiveInverse(value.width);\n value.width = invertedValue;\n nextStyle[prop] = value;\n } else if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n\n if (PROPERTIES_I18N[originalProp]) {\n frozenProps[prop] = true;\n }\n } // $FlowIgnore\n\n\n return nextStyle;\n};\n\nexport default i18nStyle;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport { MONOSPACE_FONT_STACK, SYSTEM_FONT_STACK, STYLE_SHORT_FORM_EXPANSIONS } from './constants';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\n\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !canUseDOM || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\n/**\n * Transform\n */\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\n\nvar mapTransform = function mapTransform(transform) {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = normalizeValueWithProperty(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\n\nvar resolveTransform = function resolveTransform(resolvedStyle, style) {\n var transform = style.transform;\n\n if (Array.isArray(style.transform)) {\n transform = style.transform.map(mapTransform).join(' ');\n }\n\n resolvedStyle.transform = transform;\n};\n/**\n * Reducer\n */\n\n\nvar createReactDOMStyle = function createReactDOMStyle(style) {\n if (!style) {\n return emptyObject;\n }\n\n var resolvedStyle = {};\n Object.keys(style).sort().forEach(function (prop) {\n var value = normalizeValueWithProperty(style[prop], prop); // Ignore everything else with a null value\n\n if (value == null) {\n return;\n }\n\n switch (prop) {\n // Ignore some React Native styles\n case 'elevation':\n case 'overlayColor':\n case 'resizeMode':\n case 'tintColor':\n {\n break;\n }\n\n case 'aspectRatio':\n {\n resolvedStyle[prop] = value.toString();\n break;\n }\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n\n case 'backgroundClip':\n {\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n\n break;\n }\n // The 'flex' property value in React Native must be a positive integer,\n // 0, or -1.\n\n case 'flex':\n {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n\n break;\n }\n\n case 'font':\n {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n break;\n }\n\n case 'fontFamily':\n {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n\n break;\n }\n\n case 'fontVariant':\n {\n if (Array.isArray(value) && value.length > 0) {\n resolvedStyle.fontVariant = value.join(' ');\n }\n\n break;\n }\n\n case 'textAlignVertical':\n {\n resolvedStyle.verticalAlign = value === 'center' ? 'middle' : value;\n break;\n }\n\n case 'textDecorationLine':\n {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n\n break;\n }\n\n case 'transform':\n case 'transformMatrix':\n {\n resolveTransform(resolvedStyle, style);\n break;\n }\n\n case 'writingDirection':\n {\n resolvedStyle.direction = value;\n break;\n }\n\n default:\n {\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n\n if (longFormProperties) {\n longFormProperties.forEach(function (longForm, i) {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (typeof style[longForm] === 'undefined') {\n resolvedStyle[longForm] = value;\n }\n });\n } else {\n resolvedStyle[prop] = Array.isArray(value) ? value.join(',') : value;\n }\n }\n }\n });\n return resolvedStyle;\n};\n\nexport default createReactDOMStyle;","/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\n\nvar hash = function hash(str) {\n return murmurhash2_32_gc(str, 1).toString(36);\n};\n\nexport default hash;","import backgroundClip from 'inline-style-prefixer/lib/plugins/backgroundClip';\nimport crossFade from 'inline-style-prefixer/lib/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/lib/plugins/cursor';\nimport filter from 'inline-style-prefixer/lib/plugins/filter';\nimport flex from 'inline-style-prefixer/lib/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/lib/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/lib/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/lib/plugins/gradient';\nimport grid from 'inline-style-prefixer/lib/plugins/grid';\nimport imageSet from 'inline-style-prefixer/lib/plugins/imageSet';\nimport logical from 'inline-style-prefixer/lib/plugins/logical';\nimport position from 'inline-style-prefixer/lib/plugins/position';\nimport sizing from 'inline-style-prefixer/lib/plugins/sizing';\nimport transition from 'inline-style-prefixer/lib/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar ms = ['ms'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [backgroundClip, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, grid, imageSet, logical, position, sizing, transition],\n prefixMap: {\n animation: w,\n animationDelay: w,\n animationDirection: w,\n animationFillMode: w,\n animationDuration: w,\n animationIterationCount: w,\n animationName: w,\n animationPlayState: w,\n animationTimingFunction: w,\n appearance: wm,\n userSelect: wmms,\n textEmphasisPosition: w,\n textEmphasis: w,\n textEmphasisStyle: w,\n textEmphasisColor: w,\n boxDecorationBreak: w,\n clipPath: w,\n maskImage: w,\n maskMode: w,\n maskRepeat: w,\n maskPosition: w,\n maskClip: w,\n maskOrigin: w,\n maskSize: w,\n maskComposite: w,\n mask: w,\n maskBorderSource: w,\n maskBorderMode: w,\n maskBorderSlice: w,\n maskBorderWidth: w,\n maskBorderOutset: w,\n maskBorderRepeat: w,\n maskBorder: w,\n maskType: w,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n fontFeatureSettings: w,\n breakAfter: wmms,\n breakBefore: wmms,\n breakInside: wmms,\n columnCount: wm,\n columnFill: wm,\n columnGap: wm,\n columnRule: wm,\n columnRuleColor: wm,\n columnRuleStyle: wm,\n columnRuleWidth: wm,\n columns: wm,\n columnSpan: wm,\n columnWidth: wm,\n writingMode: wms,\n flex: wms,\n flexBasis: w,\n flexDirection: wms,\n flexGrow: w,\n flexFlow: wms,\n flexShrink: w,\n flexWrap: wms,\n alignContent: w,\n alignItems: w,\n alignSelf: w,\n justifyContent: w,\n order: w,\n transform: w,\n transformOrigin: w,\n transformOriginX: w,\n transformOriginY: w,\n backfaceVisibility: w,\n perspective: w,\n perspectiveOrigin: w,\n transformStyle: w,\n transformOriginZ: w,\n backdropFilter: w,\n fontKerning: w,\n scrollSnapType: wms,\n scrollSnapPointsX: wms,\n scrollSnapPointsY: wms,\n scrollSnapDestination: wms,\n scrollSnapCoordinate: wms,\n shapeImageThreshold: w,\n shapeImageMargin: w,\n shapeImageOutside: w,\n hyphens: wmms,\n flowInto: wms,\n flowFrom: wms,\n regionFragment: wms,\n textOrientation: w,\n textAlignLast: m,\n tabSize: m,\n wrapFlow: ms,\n wrapThrough: ms,\n wrapMargin: ms,\n touchAction: ms,\n textSizeAdjust: ['ms', 'Webkit'],\n borderImage: w,\n borderImageOutset: w,\n borderImageRepeat: w,\n borderImageSlice: w,\n borderImageSource: w,\n borderImageWidth: w,\n transitionDelay: w,\n transitionDuration: w,\n transitionProperty: w,\n transitionTimingFunction: w\n }\n};","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport createPrefixer from 'inline-style-prefixer/lib/createPrefixer';\nimport staticData from './static';\nvar prefixAll = createPrefixer(staticData);\nexport var prefixInlineStyles = function prefixInlineStyles(style) {\n var prefixedStyles = prefixAll(style); // React@15 removed undocumented support for fallback values in\n // inline-styles. Revert array values to the standard CSS value\n\n Object.keys(prefixedStyles).forEach(function (prop) {\n var value = prefixedStyles[prop];\n\n if (Array.isArray(value)) {\n prefixedStyles[prop] = value[value.length - 1];\n }\n });\n return prefixedStyles;\n};\nexport default prefixAll;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport createReactDOMStyle from './createReactDOMStyle';\nimport hash from '../../vendor/hash';\nimport hyphenateStyleName from 'hyphenate-style-name';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport prefixStyles, { prefixInlineStyles } from '../../modules/prefixStyles';\nvar cache = {\n get: function get(property, value) {\n if (cache[property] != null && cache[property].hasOwnProperty(value) && cache[property][value] != null) {\n return cache[property][value];\n }\n },\n set: function set(property, value, object) {\n if (cache[property] == null) {\n cache[property] = {};\n }\n\n return cache[property][value] = object;\n }\n};\n/**\n * Compile style to atomic CSS rules.\n */\n\nexport function atomic(style) {\n return Object.keys(style).sort().reduce(function (acc, property) {\n var value = style[property];\n\n if (value != null) {\n var valueString = stringifyValueWithProperty(value, property);\n var cachedResult = cache.get(property, valueString);\n\n if (cachedResult != null) {\n var identifier = cachedResult.identifier;\n acc[identifier] = cachedResult;\n } else {\n var _identifier = createIdentifier('r', property, value);\n\n var rules = createAtomicRules(_identifier, property, value);\n\n var _cachedResult = cache.set(property, valueString, {\n property: property,\n value: stringifyValueWithProperty(value, property),\n identifier: _identifier,\n rules: rules\n });\n\n acc[_identifier] = _cachedResult;\n }\n }\n\n return acc;\n }, {});\n}\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\n\nexport function classic(style, name) {\n var _ref;\n\n var identifier = createIdentifier('css', name, style);\n\n var animationKeyframes = style.animationKeyframes,\n rest = _objectWithoutPropertiesLoose(style, [\"animationKeyframes\"]);\n\n var rules = [];\n var selector = \".\" + identifier;\n var animationName;\n\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu.animationNames,\n keyframesRules = _processKeyframesValu.rules;\n\n animationName = animationNames.join(',');\n rules.push.apply(rules, keyframesRules);\n }\n\n var block = createDeclarationBlock(_objectSpread(_objectSpread({}, rest), {}, {\n animationName: animationName\n }));\n rules.push(\"\" + selector + block);\n return _ref = {}, _ref[identifier] = {\n identifier: identifier,\n rules: rules\n }, _ref;\n}\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\n\nexport function inline(style) {\n return prefixInlineStyles(createReactDOMStyle(style));\n}\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\n\nexport function stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = normalizeValueWithProperty(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\n\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier; // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2.animationNames,\n keyframesRules = _processKeyframesValu2.rules;\n\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push.apply(rules, [\"\" + selector + block].concat(keyframesRules));\n break;\n }\n // Equivalent to using '::placeholder'\n\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n\n case 'pointerEvents':\n {\n var finalValue = value;\n\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n\n if (value === 'box-only') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n\n rules.push(selector + \">*\" + _block3);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n\n if (value === 'box-none') {\n var _block4 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n\n rules.push(selector + \">*\" + _block4);\n }\n }\n\n var _block2 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n\n rules.push(\"\" + selector + _block2);\n break;\n }\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n\n rules.push(\"\" + selector + _block5);\n break;\n }\n\n default:\n {\n var _createDeclarationBlo;\n\n var _block6 = createDeclarationBlock((_createDeclarationBlo = {}, _createDeclarationBlo[property] = value, _createDeclarationBlo));\n\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n\n return rules;\n}\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\n\n\nfunction createDeclarationBlock(style) {\n var domStyle = prefixStyles(createReactDOMStyle(style));\n var declarationsString = Object.keys(domStyle).map(function (property) {\n var value = domStyle[property];\n var prop = hyphenateStyleName(property); // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n\n if (Array.isArray(value)) {\n return value.map(function (v) {\n return prop + \":\" + v;\n }).join(';');\n } else {\n return prop + \":\" + value;\n }\n }) // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n/**\n * An identifier is associated with a unique set of styles.\n */\n\n\nfunction createIdentifier(prefix, name, value) {\n var hashedString = hash(name + stringifyValueWithProperty(value, name));\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n/**\n * Create individual CSS keyframes rules.\n */\n\n\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', keyframes);\n var steps = '{' + Object.keys(keyframes).map(function (stepName) {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(function (prefix) {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return {\n identifier: identifier,\n rules: rules\n };\n}\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\n\n\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(function (keyframes) {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes.identifier,\n keyframesRules = _createKeyframes.rules;\n\n animationNames.push(identifier);\n rules.push.apply(rules, keyframesRules);\n }\n });\n return {\n animationNames: animationNames,\n rules: rules\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar resets = [// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}', // minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,' + 'input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\nexport default resets;","/**\n * Adapts focus styles based on the user's active input modality (i.e., how\n * they are interacting with the UI right now).\n *\n * Focus styles are only relevant when using the keyboard to interact with the\n * page. If we only show the focus ring when relevant, we can avoid user\n * confusion without compromising accessibility.\n *\n * The script uses two heuristics to determine whether the keyboard is being used:\n *\n * 1. a keydown event occurred immediately before a focus event;\n * 2. a focus event happened on an element which requires keyboard interaction (e.g., a text field);\n *\n * This software or document includes material copied from or derived from https://github.com/WICG/focus-visible.\n * Copyright © 2018 W3C® (MIT, ERCIM, Keio, Beihang).\n * W3C Software Notice and License: https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nvar focusVisibleAttributeName = 'data-focusvisible-polyfill';\nvar rule = \":focus:not([\" + focusVisibleAttributeName + \"]){outline: none;}\";\n\nvar modality = function modality(insertRule) {\n insertRule(rule);\n\n if (!canUseDOM) {\n return;\n }\n\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n var inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n */\n\n function isValidFocusTarget(el) {\n if (el && el !== document && el.nodeName !== 'HTML' && el.nodeName !== 'BODY' && 'classList' in el && 'contains' in el.classList) {\n return true;\n }\n\n return false;\n }\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` attribute being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n */\n\n\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n var isReadOnly = el.readOnly;\n\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !isReadOnly) {\n return true;\n }\n\n if (tagName === 'TEXTAREA' && !isReadOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n /**\n * Add the `focus-visible` attribute to the given element if it was not added by\n * the author.\n */\n\n\n function addFocusVisibleAttribute(el) {\n if (el.hasAttribute(focusVisibleAttributeName)) {\n return;\n }\n\n el.setAttribute(focusVisibleAttributeName, true);\n }\n /**\n * Remove the `focus-visible` attribute from the given element if it was not\n * originally added by the author.\n */\n\n\n function removeFocusVisibleAttribute(el) {\n el.removeAttribute(focusVisibleAttributeName);\n }\n /**\n * Remove the `focus-visible` attribute from all elements in the document.\n */\n\n\n function removeAllFocusVisibleAttributes() {\n var list = document.querySelectorAll(\"[\" + focusVisibleAttributeName + \"]\");\n\n for (var i = 0; i < list.length; i += 1) {\n removeFocusVisibleAttribute(list[i]);\n }\n }\n /**\n * Treat `keydown` as a signal that the user is in keyboard modality.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n */\n\n\n function onKeyDown(e) {\n if (e.key !== 'Tab' && (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)) {\n return;\n }\n\n if (isValidFocusTarget(document.activeElement)) {\n addFocusVisibleAttribute(document.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * It also avoids the situation where a user presses on an element within a\n * previously keyboard-focused element (i.e., `e.target` is not the previously\n * focused element, but one of its descendants) and we need to remove the\n * focus ring because a `blur` event doesn't occur.\n */\n\n\n function onPointerDown(e) {\n if (hadKeyboardEvent === true) {\n removeAllFocusVisibleAttributes();\n }\n\n hadKeyboardEvent = false;\n }\n /**\n * On `focus`, add the `focus-visible` attribute to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n */\n\n\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleAttribute(e.target);\n }\n }\n /**\n * On `blur`, remove the `focus-visible` attribute from the target.\n */\n\n\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (e.target.hasAttribute(focusVisibleAttributeName)) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function () {\n hadFocusVisibleRecently = false;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n }, 100);\n removeFocusVisibleAttribute(e.target);\n }\n }\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had the focus-visible attribute.\n */\n\n\n function onVisibilityChange(e) {\n if (document.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the attribute when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n\n addInitialPointerMoveListeners();\n }\n }\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n\n\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n */\n\n\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName === 'HTML') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('focus', onFocus, true);\n document.addEventListener('blur', onBlur, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n};\n\nexport default modality;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * WARNING: changes to this file in particular can cause significant changes to\n * the results of render performance benchmarks.\n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport createCSSStyleSheet from './createCSSStyleSheet';\nimport createCompileableStyle from './createCompileableStyle';\nimport createOrderedCSSStyleSheet from './createOrderedCSSStyleSheet';\nimport flattenArray from '../../modules/flattenArray';\nimport flattenStyle from './flattenStyle';\nimport I18nManager from '../I18nManager';\nimport i18nStyle from './i18nStyle';\nimport { atomic, classic, inline, stringifyValueWithProperty } from './compile';\nimport initialRules from './initialRules';\nimport modality from './modality';\nimport { STYLE_ELEMENT_ID, STYLE_GROUPS } from './constants';\nexport default function createStyleResolver() {\n var inserted, sheet, cache;\n var resolved = {\n css: {},\n ltr: {},\n rtl: {},\n rtlNoSwap: {}\n };\n\n var init = function init() {\n inserted = {\n css: {},\n ltr: {},\n rtl: {},\n rtlNoSwap: {}\n };\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(STYLE_ELEMENT_ID));\n cache = {};\n modality(function (rule) {\n return sheet.insert(rule, STYLE_GROUPS.modality);\n });\n initialRules.forEach(function (rule) {\n sheet.insert(rule, STYLE_GROUPS.reset);\n });\n };\n\n init();\n\n function addToCache(className, prop, value) {\n if (!cache[prop]) {\n cache[prop] = {};\n }\n\n cache[prop][value] = className;\n }\n\n function getClassName(prop, value) {\n var val = stringifyValueWithProperty(value, prop);\n return cache[prop] && cache[prop].hasOwnProperty(val) && cache[prop][val];\n }\n\n function _injectRegisteredStyle(id) {\n var _I18nManager$getConst = I18nManager.getConstants(),\n doLeftAndRightSwapInRTL = _I18nManager$getConst.doLeftAndRightSwapInRTL,\n isRTL = _I18nManager$getConst.isRTL;\n\n var dir = isRTL ? doLeftAndRightSwapInRTL ? 'rtl' : 'rtlNoSwap' : 'ltr';\n\n if (!inserted[dir][id]) {\n var style = createCompileableStyle(i18nStyle(flattenStyle(id)));\n var results = atomic(style);\n Object.keys(results).forEach(function (key) {\n var _results$key = results[key],\n identifier = _results$key.identifier,\n property = _results$key.property,\n rules = _results$key.rules,\n value = _results$key.value;\n addToCache(identifier, property, value);\n rules.forEach(function (rule) {\n var group = STYLE_GROUPS.custom[property] || STYLE_GROUPS.atomic;\n sheet.insert(rule, group);\n });\n });\n inserted[dir][id] = true;\n }\n }\n /**\n * Resolves a React Native style object to DOM attributes\n */\n\n\n function resolve(style, classList) {\n var nextClassList = [];\n var props = {};\n\n if (!style && !classList) {\n return props;\n }\n\n if (Array.isArray(classList)) {\n flattenArray(classList).forEach(function (identifier) {\n if (identifier) {\n if (inserted.css[identifier] == null && resolved.css[identifier] != null) {\n var item = resolved.css[identifier];\n item.rules.forEach(function (rule) {\n sheet.insert(rule, item.group);\n });\n inserted.css[identifier] = true;\n }\n\n nextClassList.push(identifier);\n }\n });\n }\n\n if (typeof style === 'number') {\n // fast and cachable\n _injectRegisteredStyle(style);\n\n var key = createCacheKey(style);\n props = _resolveStyle(style, key);\n } else if (!Array.isArray(style)) {\n // resolve a plain RN style object\n props = _resolveStyle(style);\n } else {\n // flatten the style array\n // cache resolved props when all styles are registered\n // otherwise fallback to resolving\n var flatArray = flattenArray(style);\n var isArrayOfNumbers = true;\n var cacheKey = '';\n\n for (var i = 0; i < flatArray.length; i++) {\n var id = flatArray[i];\n\n if (typeof id !== 'number') {\n isArrayOfNumbers = false;\n } else {\n if (isArrayOfNumbers) {\n cacheKey += id + '-';\n }\n\n _injectRegisteredStyle(id);\n }\n }\n\n var _key = isArrayOfNumbers ? createCacheKey(cacheKey) : null;\n\n props = _resolveStyle(flatArray, _key);\n }\n\n nextClassList.push.apply(nextClassList, props.classList);\n var finalProps = {\n className: classListToString(nextClassList),\n classList: nextClassList\n };\n\n if (props.style) {\n finalProps.style = props.style;\n }\n\n return finalProps;\n }\n /**\n * Resolves a React Native style object\n */\n\n\n function _resolveStyle(style, key) {\n var _I18nManager$getConst2 = I18nManager.getConstants(),\n doLeftAndRightSwapInRTL = _I18nManager$getConst2.doLeftAndRightSwapInRTL,\n isRTL = _I18nManager$getConst2.isRTL;\n\n var dir = isRTL ? doLeftAndRightSwapInRTL ? 'rtl' : 'rtlNoSwap' : 'ltr'; // faster: memoized\n\n if (key != null && resolved[dir][key] != null) {\n return resolved[dir][key];\n }\n\n var flatStyle = flattenStyle(style);\n var localizedStyle = createCompileableStyle(i18nStyle(flatStyle)); // slower: convert style object to props and cache\n\n var props = Object.keys(localizedStyle).sort().reduce(function (props, styleProp) {\n var value = localizedStyle[styleProp];\n\n if (value != null) {\n var className = getClassName(styleProp, value);\n\n if (className) {\n props.classList.push(className);\n } else {\n // Certain properties and values are not transformed by 'createReactDOMStyle' as they\n // require more complex transforms into multiple CSS rules. Here we assume that StyleManager\n // can bind these styles to a className, and prevent them becoming invalid inline-styles.\n if (styleProp === 'animationKeyframes' || styleProp === 'placeholderTextColor' || styleProp === 'pointerEvents' || styleProp === 'scrollbarWidth') {\n var _atomic;\n\n var a = atomic((_atomic = {}, _atomic[styleProp] = value, _atomic));\n Object.keys(a).forEach(function (key) {\n var _a$key = a[key],\n identifier = _a$key.identifier,\n rules = _a$key.rules;\n props.classList.push(identifier);\n rules.forEach(function (rule) {\n sheet.insert(rule, STYLE_GROUPS.atomic);\n });\n });\n } else {\n if (!props.style) {\n props.style = {};\n } // 4x slower render\n\n\n props.style[styleProp] = value;\n }\n }\n }\n\n return props;\n }, {\n classList: []\n });\n\n if (props.style) {\n props.style = inline(props.style);\n }\n\n if (key != null) {\n resolved[dir][key] = props;\n }\n\n return props;\n }\n\n return {\n getStyleSheet: function getStyleSheet() {\n var textContent = sheet.getTextContent(); // Reset state on the server so critical css is always the result\n\n if (!canUseDOM) {\n init();\n }\n\n return {\n id: STYLE_ELEMENT_ID,\n textContent: textContent\n };\n },\n createCSS: function createCSS(rules, group) {\n var result = {};\n Object.keys(rules).forEach(function (name) {\n var style = rules[name];\n var compiled = classic(style, name);\n Object.keys(compiled).forEach(function (key) {\n var _compiled$key = compiled[key],\n identifier = _compiled$key.identifier,\n rules = _compiled$key.rules;\n resolved.css[identifier] = {\n group: group || STYLE_GROUPS.classic,\n rules: rules\n };\n result[name] = identifier;\n });\n });\n return result;\n },\n resolve: resolve,\n\n get sheet() {\n return sheet;\n }\n\n };\n}\n/**\n * Misc helpers\n */\n\nvar createCacheKey = function createCacheKey(id) {\n var prefix = 'rn';\n return prefix + \"-\" + id;\n};\n\nvar classListToString = function classListToString(list) {\n return list.join(' ').trim();\n};","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport createStyleResolver from './createStyleResolver';\nvar styleResolver = createStyleResolver();\nexport default styleResolver;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; // $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\n\nexport default function createCSSStyleSheet(id) {\n if (canUseDOM) {\n var element = document.getElementById(id);\n\n if (element != null) {\n // $FlowFixMe: HTMLElement is incorrectly typed\n return element.sheet;\n } else {\n var _element = document.createElement('style');\n\n _element.setAttribute('id', id);\n\n var head = document.head;\n\n if (head) {\n head.insertBefore(_element, head.firstChild);\n }\n\n return _element.sheet;\n }\n } else {\n return null;\n }\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { createContext } from 'react';\nvar TextAncestorContext = /*#__PURE__*/createContext(false);\nexport default TextAncestorContext;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport css from '../StyleSheet/css';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from './TextAncestorContext';\n\nvar forwardPropsList = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, forwardedProps.defaultProps), forwardedProps.accessibilityProps), forwardedProps.clickProps), forwardedProps.focusProps), forwardedProps.keyboardProps), forwardedProps.mouseProps), forwardedProps.touchProps), forwardedProps.styleProps), {}, {\n href: true,\n lang: true,\n pointerEvents: true\n});\n\nvar pickProps = function pickProps(props) {\n return pick(props, forwardPropsList);\n};\n\nvar Text = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {\n var dir = props.dir,\n hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable;\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var classList = [classes.text, hasTextAncestor === true && classes.textHasAncestor, numberOfLines === 1 && classes.textOneLine, numberOfLines != null && numberOfLines > 1 && classes.textMultiLine];\n var style = [props.style, numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder: onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture: onMoveShouldSetResponderCapture,\n onResponderEnd: onResponderEnd,\n onResponderGrant: onResponderGrant,\n onResponderMove: onResponderMove,\n onResponderReject: onResponderReject,\n onResponderRelease: onResponderRelease,\n onResponderStart: onResponderStart,\n onResponderTerminate: onResponderTerminate,\n onResponderTerminationRequest: onResponderTerminationRequest,\n onScrollShouldSetResponder: onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture: onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder: onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture: onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder: onStartShouldSetResponder,\n onStartShouldSetResponderCapture: onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(function (e) {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? 'span' : 'div';\n var supportedProps = pickProps(props);\n supportedProps.classList = classList;\n supportedProps.dir = dir; // 'auto' by default allows browsers to infer writing direction (root elements only)\n\n if (!hasTextAncestor) {\n supportedProps.dir = dir != null ? dir : 'auto';\n }\n\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n\n supportedProps.style = style;\n\n if (props.href != null) {\n component = 'a';\n\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n\n if (download != null) {\n supportedProps.download = download;\n }\n\n if (rel != null) {\n supportedProps.rel = rel;\n }\n\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = createElement(component, supportedProps);\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(TextAncestorContext.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar classes = css.create({\n text: {\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n margin: 0,\n padding: 0,\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n },\n textHasAncestor: {\n color: 'inherit',\n font: 'inherit',\n whiteSpace: 'inherit'\n },\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n }\n});\nvar styles = StyleSheet.create({\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nexport default Text;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, dimming it.\n */\nfunction TouchableOpacity(props, forwardedRef) {\n var activeOpacity = props.activeOpacity,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, [\"activeOpacity\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"rejectResponderTermination\", \"style\"]);\n\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n\n var _useState = useState('0s'),\n duration = _useState[0],\n setDuration = _useState[1];\n\n var _useState2 = useState(null),\n opacityOverride = _useState2[0],\n setOpacityOverride = _useState2[1];\n\n var setOpacityTo = useCallback(function (value, duration) {\n setOpacityOverride(value);\n setDuration(duration ? duration / 1000 + \"s\" : '0s');\n }, [setOpacityOverride, setDuration]);\n var setOpacityActive = useCallback(function (duration) {\n setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration);\n }, [activeOpacity, setOpacityTo]);\n var setOpacityInactive = useCallback(function (duration) {\n setOpacityTo(null, duration);\n }, [setOpacityTo]);\n var pressConfig = useMemo(function () {\n return {\n cancelable: !rejectResponderTermination,\n disabled: disabled,\n delayLongPress: delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress: onLongPress,\n onPress: onPress,\n onPressStart: function onPressStart(event) {\n var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === 'onResponderGrant' : event.type === 'keydown';\n setOpacityActive(isGrant ? 0 : 150);\n\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd: function onPressEnd(event) {\n setOpacityInactive(250);\n\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n };\n }, [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, setOpacityActive, setOpacityInactive]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n ref: setRef,\n style: [styles.root, !disabled && styles.actionable, style, opacityOverride != null && {\n opacity: opacityOverride\n }, {\n transitionDuration: duration\n }]\n }));\n}\n\nvar styles = StyleSheet.create({\n root: {\n transitionProperty: 'opacity',\n transitionDuration: '0.15s',\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableOpacity = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(TouchableOpacity));\nMemoedTouchableOpacity.displayName = 'TouchableOpacity';\nexport default MemoedTouchableOpacity;","/* eslint-disable */\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.0.0\n * \n */\nimport isUnitlessNumber from '../unitlessNumbers';\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\n\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n\n if (isEmpty) {\n return '';\n }\n\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return ('' + value).trim();\n}\n\nexport default dangerousStyleValue;","/* eslint-disable */\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.3.0\n * \n */\nimport dangerousStyleValue from './dangerousStyleValue';\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\n\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\n\nexport default setValueForStyles;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport setValueForStyles from '../../modules/setValueForStyles';\n\nvar getRect = function getRect(node) {\n // Unlike the DOM's getBoundingClientRect, React Native layout measurements\n // for \"height\" and \"width\" ignore scale transforms.\n // https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model/Determining_the_dimensions_of_elements\n var _getBoundingClientRec = getBoundingClientRect(node),\n x = _getBoundingClientRec.x,\n y = _getBoundingClientRec.y,\n top = _getBoundingClientRec.top,\n left = _getBoundingClientRec.left;\n\n var width = node.offsetWidth;\n var height = node.offsetHeight;\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n top: top,\n left: left\n };\n};\n\nvar _measureLayout = function measureLayout(node, relativeToNativeNode, callback) {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n\n if (node && relativeNode) {\n setTimeout(function () {\n var relativeRect = getBoundingClientRect(relativeNode);\n\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }, 0);\n }\n};\n\nvar focusableElements = {\n A: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur: function blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus: function focus(node) {\n try {\n var name = node.nodeName; // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus, so we don't want to set the value on elements\n // that support keyboard focus by default.\n\n if (node.getAttribute('tabIndex') == null && focusableElements[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n\n node.focus();\n } catch (err) {}\n },\n measure: function measure(node, callback) {\n _measureLayout(node, null, callback);\n },\n measureInWindow: function measureInWindow(node, callback) {\n if (node) {\n setTimeout(function () {\n var _getRect2 = getRect(node),\n height = _getRect2.height,\n left = _getRect2.left,\n top = _getRect2.top,\n width = _getRect2.width;\n\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout: function measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n _measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView: function updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n\n var value = props[prop];\n\n switch (prop) {\n case 'style':\n {\n setValueForStyles(node, value);\n break;\n }\n\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation: function configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental: function setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport css from '../StyleSheet/css';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\n\nvar forwardPropsList = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, forwardedProps.defaultProps), forwardedProps.accessibilityProps), forwardedProps.clickProps), forwardedProps.focusProps), forwardedProps.keyboardProps), forwardedProps.mouseProps), forwardedProps.touchProps), forwardedProps.styleProps), {}, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\n\nvar pickProps = function pickProps(props) {\n return pick(props, forwardPropsList);\n};\n\nvar View = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture;\n\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(function (item) {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a .\");\n }\n });\n }\n\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder: onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture: onMoveShouldSetResponderCapture,\n onResponderEnd: onResponderEnd,\n onResponderGrant: onResponderGrant,\n onResponderMove: onResponderMove,\n onResponderReject: onResponderReject,\n onResponderRelease: onResponderRelease,\n onResponderStart: onResponderStart,\n onResponderTerminate: onResponderTerminate,\n onResponderTerminationRequest: onResponderTerminationRequest,\n onScrollShouldSetResponder: onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture: onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder: onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture: onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder: onStartShouldSetResponder,\n onStartShouldSetResponderCapture: onStartShouldSetResponderCapture\n });\n var component = 'div';\n var style = StyleSheet.compose(hasTextAncestor && styles.inline, props.style);\n var supportedProps = pickProps(props);\n supportedProps.classList = classList;\n supportedProps.style = style;\n\n if (props.href != null) {\n component = 'a';\n\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n\n if (download != null) {\n supportedProps.download = download;\n }\n\n if (rel != null) {\n supportedProps.rel = rel;\n }\n\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement(component, supportedProps);\n});\nView.displayName = 'View';\nvar classes = css.create({\n view: {\n alignItems: 'stretch',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n zIndex: 0\n }\n});\nvar classList = [classes.view];\nvar styles = StyleSheet.create({\n inline: {\n display: 'inline-flex'\n }\n});\nexport default View;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport createDOMProps from '../../modules/createDOMProps';\nimport React from 'react';\n\nvar createElement = function createElement(component, props) {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n\n if (component && component.constructor === String) {\n accessibilityComponent = AccessibilityUtil.propsToAccessibilityComponent(props);\n }\n\n var Component = accessibilityComponent || component;\n var domProps = createDOMProps(Component, props);\n\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n return /*#__PURE__*/React.createElement.apply(React, [Component, domProps].concat(children));\n};\n\nexport default createElement;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { findDOMNode } from 'react-dom';\n\nvar findNodeHandle = function findNodeHandle(component) {\n var node;\n\n try {\n node = findDOMNode(component);\n } catch (e) {}\n\n return node;\n};\n\nexport default findNodeHandle;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\n\nvar propsToAriaRole = function propsToAriaRole(_ref) {\n var accessibilityRole = _ref.accessibilityRole;\n\n if (accessibilityRole) {\n var inferredRole = accessibilityRoleToWebRole[accessibilityRole];\n\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || accessibilityRole;\n }\n }\n};\n\nexport default propsToAriaRole;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport propsToAriaRole from './propsToAriaRole';\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\n\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (props.accessibilityRole === 'label') {\n return 'label';\n }\n\n var role = propsToAriaRole(props);\n\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n\n if (level != null) {\n return \"h\" + level;\n }\n\n return 'h1';\n }\n\n return roleComponents[role];\n }\n};\n\nexport default propsToAccessibilityComponent;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport isDisabled from './isDisabled';\nimport propsToAccessibilityComponent from './propsToAccessibilityComponent';\nimport propsToAriaRole from './propsToAriaRole';\nvar AccessibilityUtil = {\n isDisabled: isDisabled,\n propsToAccessibilityComponent: propsToAccessibilityComponent,\n propsToAriaRole: propsToAriaRole\n};\nexport default AccessibilityUtil;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar isDisabled = function isDisabled(props) {\n return props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\n};\n\nexport default isDisabled;","function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport AccessibilityUtil from '../AccessibilityUtil';\nimport css from '../../exports/StyleSheet/css';\nimport StyleSheet from '../../exports/StyleSheet';\nimport styleResolver from '../../exports/StyleSheet/styleResolver';\nimport { STYLE_GROUPS } from '../../exports/StyleSheet/constants';\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\n\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\n\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n} // Reset styles for heading, link, and list DOM elements\n\n\nvar classes = css.create({\n reset: {\n backgroundColor: 'transparent',\n color: 'inherit',\n font: 'inherit',\n listStyle: 'none',\n margin: 0,\n textAlign: 'inherit',\n textDecoration: 'none'\n },\n cursor: {\n cursor: 'pointer'\n }\n}, STYLE_GROUPS.classicReset);\nvar pointerEventsStyles = StyleSheet.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\n\nvar createDOMProps = function createDOMProps(elementType, props) {\n if (!props) {\n props = emptyObject;\n }\n\n var _props = props,\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n accessibilityAtomic = _props.accessibilityAtomic,\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n accessibilityBusy = _props.accessibilityBusy,\n accessibilityChecked = _props.accessibilityChecked,\n accessibilityColumnCount = _props.accessibilityColumnCount,\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n accessibilityControls = _props.accessibilityControls,\n accessibilityCurrent = _props.accessibilityCurrent,\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n accessibilityDetails = _props.accessibilityDetails,\n accessibilityDisabled = _props.accessibilityDisabled,\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n accessibilityExpanded = _props.accessibilityExpanded,\n accessibilityFlowTo = _props.accessibilityFlowTo,\n accessibilityHasPopup = _props.accessibilityHasPopup,\n accessibilityHidden = _props.accessibilityHidden,\n accessibilityInvalid = _props.accessibilityInvalid,\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n accessibilityLabel = _props.accessibilityLabel,\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n accessibilityLevel = _props.accessibilityLevel,\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n accessibilityModal = _props.accessibilityModal,\n accessibilityMultiline = _props.accessibilityMultiline,\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n accessibilityOrientation = _props.accessibilityOrientation,\n accessibilityOwns = _props.accessibilityOwns,\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n accessibilityPosInSet = _props.accessibilityPosInSet,\n accessibilityPressed = _props.accessibilityPressed,\n accessibilityReadOnly = _props.accessibilityReadOnly,\n accessibilityRequired = _props.accessibilityRequired,\n accessibilityRole = _props.accessibilityRole,\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n accessibilityRowCount = _props.accessibilityRowCount,\n accessibilityRowIndex = _props.accessibilityRowIndex,\n accessibilityRowSpan = _props.accessibilityRowSpan,\n accessibilitySelected = _props.accessibilitySelected,\n accessibilitySetSize = _props.accessibilitySetSize,\n accessibilitySort = _props.accessibilitySort,\n accessibilityValueMax = _props.accessibilityValueMax,\n accessibilityValueMin = _props.accessibilityValueMin,\n accessibilityValueNow = _props.accessibilityValueNow,\n accessibilityValueText = _props.accessibilityValueText,\n classList = _props.classList,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n providedStyle = _props.style,\n testID = _props.testID,\n accessible = _props.accessible,\n accessibilityState = _props.accessibilityState,\n accessibilityValue = _props.accessibilityValue,\n domProps = _objectWithoutPropertiesLoose(_props, [\"accessibilityActiveDescendant\", \"accessibilityAtomic\", \"accessibilityAutoComplete\", \"accessibilityBusy\", \"accessibilityChecked\", \"accessibilityColumnCount\", \"accessibilityColumnIndex\", \"accessibilityColumnSpan\", \"accessibilityControls\", \"accessibilityCurrent\", \"accessibilityDescribedBy\", \"accessibilityDetails\", \"accessibilityDisabled\", \"accessibilityErrorMessage\", \"accessibilityExpanded\", \"accessibilityFlowTo\", \"accessibilityHasPopup\", \"accessibilityHidden\", \"accessibilityInvalid\", \"accessibilityKeyShortcuts\", \"accessibilityLabel\", \"accessibilityLabelledBy\", \"accessibilityLevel\", \"accessibilityLiveRegion\", \"accessibilityModal\", \"accessibilityMultiline\", \"accessibilityMultiSelectable\", \"accessibilityOrientation\", \"accessibilityOwns\", \"accessibilityPlaceholder\", \"accessibilityPosInSet\", \"accessibilityPressed\", \"accessibilityReadOnly\", \"accessibilityRequired\", \"accessibilityRole\", \"accessibilityRoleDescription\", \"accessibilityRowCount\", \"accessibilityRowIndex\", \"accessibilityRowSpan\", \"accessibilitySelected\", \"accessibilitySetSize\", \"accessibilitySort\", \"accessibilityValueMax\", \"accessibilityValueMin\", \"accessibilityValueNow\", \"accessibilityValueText\", \"classList\", \"dataSet\", \"focusable\", \"nativeID\", \"pointerEvents\", \"style\", \"testID\", \"accessible\", \"accessibilityState\", \"accessibilityValue\"]);\n\n var disabled = accessibilityState != null && accessibilityState.disabled === true || accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props); // DEPRECATED\n\n if (accessibilityState != null) {\n for (var prop in accessibilityState) {\n var value = accessibilityState[prop];\n\n if (value != null) {\n if (prop === 'disabled' || prop === 'hidden') {\n if (value === true) {\n domProps[\"aria-\" + prop] = value; // also set prop directly to pick up host elementType behaviour\n\n domProps[prop] = value;\n }\n } else {\n domProps[\"aria-\" + prop] = value;\n }\n }\n }\n }\n\n if (accessibilityValue != null) {\n for (var _prop in accessibilityValue) {\n var _value = accessibilityValue[_prop];\n\n if (_value != null) {\n domProps[\"aria-value\" + _prop] = _value;\n }\n }\n } // ACCESSIBILITY\n\n\n if (accessibilityActiveDescendant != null) {\n domProps['aria-activedescendant'] = accessibilityActiveDescendant;\n }\n\n if (accessibilityAtomic != null) {\n domProps['aria-atomic'] = accessibilityAtomic;\n }\n\n if (accessibilityAutoComplete != null) {\n domProps['aria-autocomplete'] = accessibilityAutoComplete;\n }\n\n if (accessibilityBusy != null) {\n domProps['aria-busy'] = accessibilityBusy;\n }\n\n if (accessibilityChecked != null) {\n domProps['aria-checked'] = accessibilityChecked;\n }\n\n if (accessibilityColumnCount != null) {\n domProps['aria-colcount'] = accessibilityColumnCount;\n }\n\n if (accessibilityColumnIndex != null) {\n domProps['aria-colindex'] = accessibilityColumnIndex;\n }\n\n if (accessibilityColumnSpan != null) {\n domProps['aria-colspan'] = accessibilityColumnSpan;\n }\n\n if (accessibilityControls != null) {\n domProps['aria-controls'] = processIDRefList(accessibilityControls);\n }\n\n if (accessibilityCurrent != null) {\n domProps['aria-current'] = accessibilityCurrent;\n }\n\n if (accessibilityDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(accessibilityDescribedBy);\n }\n\n if (accessibilityDetails != null) {\n domProps['aria-details'] = accessibilityDetails;\n }\n\n if (disabled === true) {\n domProps['aria-disabled'] = true; // Enhance with native semantics\n\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n\n if (accessibilityErrorMessage != null) {\n domProps['aria-errormessage'] = accessibilityErrorMessage;\n }\n\n if (accessibilityExpanded != null) {\n domProps['aria-expanded'] = accessibilityExpanded;\n }\n\n if (accessibilityFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(accessibilityFlowTo);\n }\n\n if (accessibilityHasPopup != null) {\n domProps['aria-haspopup'] = accessibilityHasPopup;\n }\n\n if (accessibilityHidden === true) {\n domProps['aria-hidden'] = accessibilityHidden;\n }\n\n if (accessibilityInvalid != null) {\n domProps['aria-invalid'] = accessibilityInvalid;\n }\n\n if (accessibilityKeyShortcuts != null && Array.isArray(accessibilityKeyShortcuts)) {\n domProps['aria-keyshortcuts'] = accessibilityKeyShortcuts.join(' ');\n }\n\n if (accessibilityLabel != null) {\n domProps['aria-label'] = accessibilityLabel;\n }\n\n if (accessibilityLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(accessibilityLabelledBy);\n }\n\n if (accessibilityLevel != null) {\n domProps['aria-level'] = accessibilityLevel;\n }\n\n if (accessibilityLiveRegion != null) {\n domProps['aria-live'] = accessibilityLiveRegion === 'none' ? 'off' : accessibilityLiveRegion;\n }\n\n if (accessibilityModal != null) {\n domProps['aria-modal'] = accessibilityModal;\n }\n\n if (accessibilityMultiline != null) {\n domProps['aria-multiline'] = accessibilityMultiline;\n }\n\n if (accessibilityMultiSelectable != null) {\n domProps['aria-multiselectable'] = accessibilityMultiSelectable;\n }\n\n if (accessibilityOrientation != null) {\n domProps['aria-orientation'] = accessibilityOrientation;\n }\n\n if (accessibilityOwns != null) {\n domProps['aria-owns'] = processIDRefList(accessibilityOwns);\n }\n\n if (accessibilityPlaceholder != null) {\n domProps['aria-placeholder'] = accessibilityPlaceholder;\n }\n\n if (accessibilityPosInSet != null) {\n domProps['aria-posinset'] = accessibilityPosInSet;\n }\n\n if (accessibilityPressed != null) {\n domProps['aria-pressed'] = accessibilityPressed;\n }\n\n if (accessibilityReadOnly != null) {\n domProps['aria-readonly'] = accessibilityReadOnly; // Enhance with native semantics\n\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n\n if (accessibilityRequired != null) {\n domProps['aria-required'] = accessibilityRequired; // Enhance with native semantics\n\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = true;\n }\n }\n\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n\n if (accessibilityRoleDescription != null) {\n domProps['aria-roledescription'] = accessibilityRoleDescription;\n }\n\n if (accessibilityRowCount != null) {\n domProps['aria-rowcount'] = accessibilityRowCount;\n }\n\n if (accessibilityRowIndex != null) {\n domProps['aria-rowindex'] = accessibilityRowIndex;\n }\n\n if (accessibilityRowSpan != null) {\n domProps['aria-rowspan'] = accessibilityRowSpan;\n }\n\n if (accessibilitySelected != null) {\n domProps['aria-selected'] = accessibilitySelected;\n }\n\n if (accessibilitySetSize != null) {\n domProps['aria-setsize'] = accessibilitySetSize;\n }\n\n if (accessibilitySort != null) {\n domProps['aria-sort'] = accessibilitySort;\n }\n\n if (accessibilityValueMax != null) {\n domProps['aria-valuemax'] = accessibilityValueMax;\n }\n\n if (accessibilityValueMin != null) {\n domProps['aria-valuemin'] = accessibilityValueMin;\n }\n\n if (accessibilityValueNow != null) {\n domProps['aria-valuenow'] = accessibilityValueNow;\n }\n\n if (accessibilityValueText != null) {\n domProps['aria-valuetext'] = accessibilityValueText;\n } // \"dataSet\" replaced with \"data-*\"\n\n\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n } // FOCUS\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n\n\n var _focusable = focusable != null ? focusable : accessible;\n\n if (_focusable === false) {\n domProps.tabIndex = '-1';\n }\n\n if ( // These native elements are focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (_focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if ( // These roles are made focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (_focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (_focusable === true) {\n domProps.tabIndex = '0';\n }\n } // STYLE\n\n\n var reactNativeStyle = StyleSheet.compose(pointerEvents && pointerEventsStyles[pointerEvents], providedStyle); // Additional style resets for interactive elements\n\n var needsCursor = (role === 'button' || role === 'link') && !disabled;\n var needsReset = elementType === 'a' || elementType === 'button' || elementType === 'li' || elementType === 'ul' || role === 'heading'; // Classic CSS styles\n\n var finalClassList = [needsReset && classes.reset, needsCursor && classes.cursor, classList]; // Resolve styles\n\n var _styleResolver$resolv = styleResolver.resolve(reactNativeStyle, finalClassList),\n className = _styleResolver$resolv.className,\n style = _styleResolver$resolv.style;\n\n if (className != null && className !== '') {\n domProps.className = className;\n }\n\n if (style) {\n domProps.style = style;\n } // OTHER\n // Native element ID\n\n\n if (nativeID != null) {\n domProps.id = nativeID;\n } // Automated test IDs\n\n\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n\n return domProps;\n};\n\nexport default createDOMProps;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nexport var defaultProps = {\n children: true,\n dataSet: true,\n nativeID: true,\n ref: true,\n suppressHydrationWarning: true,\n testID: true\n};\nexport var accessibilityProps = {\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true,\n dir: true,\n focusable: true,\n // Deprecated\n accessible: true,\n accessibilityState: true,\n accessibilityValue: true\n};\nexport var clickProps = {\n onClick: true,\n onClickCapture: true,\n onContextMenu: true\n};\nexport var focusProps = {\n onBlur: true,\n onFocus: true\n};\nexport var keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nexport var mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nexport var touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nexport var styleProps = {\n classList: true,\n style: true\n};","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar getBoundingClientRect = function getBoundingClientRect(node) {\n if (node != null) {\n var isElement = node.nodeType === 1;\n /* Node.ELEMENT_NODE */\n\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\n\nexport default getBoundingClientRect;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nexport default function mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return function forwardRef(node) {\n args.forEach(function (ref) {\n if (ref == null) {\n return;\n }\n\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar isWebColor = function isWebColor(color) {\n return color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\n};\n\nexport default isWebColor;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport normalizeColor from 'normalize-css-color';\n\nvar processColor = function processColor(color) {\n if (color === undefined || color === null) {\n return color;\n } // convert number and hex\n\n\n var int32Color = normalizeColor(color);\n\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\n\nexport default processColor;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport isWebColor from '../isWebColor';\nimport processColor from '../../exports/processColor';\n\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n\n if (color == null) return;\n\n if (typeof color === 'string' && isWebColor(color)) {\n return color;\n }\n\n var colorInt = processColor(color);\n\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + alpha + \")\";\n }\n};\n\nexport default normalizeColor;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nexport default function pick(obj, list) {\n var nextObj = {};\n\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true || // Temporary until ARIA is mapped to explicit props\n key.indexOf('aria-') === 0) {\n nextObj[key] = obj[key];\n }\n }\n }\n\n return nextObj;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\n\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\n\nvar prefixKey = function prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\n\nObject.keys(unitlessNumbers).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport useLayoutEffect from '../useLayoutEffect';\nimport UIManager from '../../exports/UIManager';\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !canUseDOM;\nvar resizeObserver = null;\n\nfunction getResizeObserver() {\n if (canUseDOM && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n UIManager.measure(node, function (x, y, width, height, left, top) {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x: x,\n y: y,\n width: width,\n height: height,\n left: left,\n top: top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: function get() {\n return entry.target;\n }\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n\n return resizeObserver;\n}\n\nexport default function useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n useLayoutEffect(function () {\n var node = ref.current;\n\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]); // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n\n useLayoutEffect(function () {\n var node = ref.current;\n\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n\n return function () {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport { useEffect, useLayoutEffect } from 'react';\nvar useLayoutEffectImpl = canUseDOM ? useLayoutEffect : useEffect;\nexport default useLayoutEffectImpl;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nimport mergeRefs from '../mergeRefs';\nexport default function useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return React.useMemo(function () {\n return mergeRefs.apply(void 0, args);\n }, // eslint-disable-next-line\n [].concat(args));\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport UIManager from '../../exports/UIManager';\nimport createDOMProps from '../createDOMProps';\nimport useStable from '../useStable';\nimport { useRef } from 'react';\nvar emptyObject = {};\n\nfunction setNativeProps(node, nativeProps, classList, pointerEvents, style, previousStyleRef) {\n if (node != null && nativeProps) {\n var domProps = createDOMProps(null, _objectSpread(_objectSpread({\n pointerEvents: pointerEvents\n }, nativeProps), {}, {\n classList: [classList, nativeProps.className],\n style: [style, nativeProps.style]\n }));\n var nextDomStyle = domProps.style;\n\n if (previousStyleRef.current != null) {\n if (domProps.style == null) {\n domProps.style = {};\n }\n\n for (var styleName in previousStyleRef.current) {\n if (domProps.style[styleName] == null) {\n domProps.style[styleName] = '';\n }\n }\n }\n\n previousStyleRef.current = nextDomStyle;\n UIManager.updateView(node, domProps);\n }\n}\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\n\n\nexport default function usePlatformMethods(_ref) {\n var classList = _ref.classList,\n pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n var previousStyleRef = useRef(null);\n var setNativePropsArgsRef = useRef(null);\n setNativePropsArgsRef.current = {\n classList: classList,\n pointerEvents: pointerEvents,\n style: style\n }; // Avoid creating a new ref on every render. The props only need to be\n // available to 'setNativeProps' when it is called.\n\n var ref = useStable(function () {\n return function (hostNode) {\n if (hostNode != null) {\n hostNode.measure = function (callback) {\n return UIManager.measure(hostNode, callback);\n };\n\n hostNode.measureLayout = function (relativeToNode, success, failure) {\n return UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n };\n\n hostNode.measureInWindow = function (callback) {\n return UIManager.measureInWindow(hostNode, callback);\n };\n\n hostNode.setNativeProps = function (nativeProps) {\n var _ref2 = setNativePropsArgsRef.current || emptyObject,\n classList = _ref2.classList,\n style = _ref2.style,\n pointerEvents = _ref2.pointerEvents;\n\n setNativeProps(hostNode, nativeProps, classList, pointerEvents, style, previousStyleRef);\n };\n }\n };\n });\n return ref;\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\n\nvar isActiveSignal = function isActiveSignal(signal) {\n return signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\n};\n\nvar isButtonRole = function isButtonRole(element) {\n return element.getAttribute('role') === 'button';\n};\n\nvar isPressStartSignal = function isPressStartSignal(signal) {\n return signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\n};\n\nvar isTerminalSignal = function isTerminalSignal(signal) {\n return signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\n};\n\nvar isValidKeyPress = function isValidKeyPress(event) {\n var key = event.key,\n target = event.target;\n var role = target.getAttribute('role');\n var isSpacebar = key === ' ' || key === 'Spacebar';\n return key === 'Enter' || isSpacebar && role === 'button';\n};\n\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\n\nvar DEFAULT_PRESS_DELAY_MS = 50;\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press sould trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * In order to use `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * \n * );\n *\n * 3. Reset `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\n\nvar PressResponder = /*#__PURE__*/function () {\n function PressResponder(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this.configure(config);\n }\n\n var _proto = PressResponder.prototype;\n\n _proto.configure = function configure(config) {\n this._config = config;\n }\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n ;\n\n _proto.reset = function reset() {\n this._cancelLongPressDelayTimeout();\n\n this._cancelPressDelayTimeout();\n\n this._cancelPressOutDelayTimeout();\n }\n /**\n * Returns a set of props to spread into the interactive element.\n */\n ;\n\n _proto.getEventHandlers = function getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n\n return this._eventHandlers;\n };\n\n _proto._createEventHandlers = function _createEventHandlers() {\n var _this = this;\n\n var start = function start(event, shouldDelay) {\n event.persist();\n\n _this._cancelPressOutDelayTimeout();\n\n _this._longPressDispatched = false;\n _this._selectionTerminated = false;\n _this._touchState = NOT_RESPONDER;\n _this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n\n _this._receiveSignal(RESPONDER_GRANT, event);\n\n var delayPressStart = normalizeDelay(_this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n\n if (shouldDelay !== false && delayPressStart > 0) {\n _this._pressDelayTimeout = setTimeout(function () {\n _this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n _this._receiveSignal(DELAY, event);\n }\n\n var delayLongPress = normalizeDelay(_this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n _this._longPressDelayTimeout = setTimeout(function () {\n _this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n\n var end = function end(event) {\n _this._receiveSignal(RESPONDER_RELEASE, event);\n };\n\n var keyupHandler = function keyupHandler(event) {\n var onPress = _this._config.onPress;\n var target = event.target;\n\n if (_this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = target.tagName.toLowerCase();\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n\n if (onPress != null && !isNativeInteractiveElement) {\n onPress(event);\n }\n }\n };\n\n return {\n onStartShouldSetResponder: function onStartShouldSetResponder(event) {\n var disabled = _this._config.disabled;\n\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n\n if (disabled == null) {\n return true;\n }\n\n return !disabled;\n },\n onKeyDown: function onKeyDown(event) {\n var disabled = _this._config.disabled;\n var key = event.key,\n target = event.target;\n\n if (!disabled && isValidKeyPress(event)) {\n if (_this._touchState === NOT_RESPONDER) {\n start(event, false); // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n\n document.addEventListener('keyup', keyupHandler);\n }\n\n var role = target.getAttribute('role');\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n\n var _isButtonRole = role === 'button' || role === 'menuitem';\n\n if (isSpacebarKey && _isButtonRole) {\n // Prevent spacebar scrolling the window\n event.preventDefault();\n }\n\n event.stopPropagation();\n }\n },\n onResponderGrant: function onResponderGrant(event) {\n return start(event);\n },\n onResponderMove: function onResponderMove(event) {\n if (_this._config.onPressMove != null) {\n _this._config.onPressMove(event);\n }\n\n var touch = getTouchFromResponderEvent(event);\n\n if (_this._touchActivatePosition != null) {\n var deltaX = _this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = _this._touchActivatePosition.pageY - touch.pageY;\n\n if (Math.hypot(deltaX, deltaY) > 10) {\n _this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: function onResponderRelease(event) {\n return end(event);\n },\n onResponderTerminate: function onResponderTerminate(event) {\n if (event.nativeEvent.type === 'selectionchange') {\n _this._selectionTerminated = true;\n }\n\n _this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: function onResponderTerminationRequest(event) {\n var _this$_config = _this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress; // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n\n if (!disabled && onLongPress != null && _this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n\n if (cancelable == null) {\n return true;\n }\n\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: function onClick(event) {\n var _this$_config2 = _this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n\n if (_this._longPressDispatched || _this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: function onContextMenu(event) {\n var _this$_config3 = _this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n\n if (!disabled) {\n if (onLongPress != null && _this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n }\n };\n }\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n ;\n\n _proto._receiveSignal = function _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n\n this._touchState = nextState;\n }\n }\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n ;\n\n _proto._performTransitionSideEffects = function _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n this._isPointerTouch = false;\n this._touchActivatePosition = null;\n\n this._cancelLongPressDelayTimeout();\n }\n\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress; // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n\n this._deactivate(event);\n }\n }\n }\n }\n\n this._cancelPressDelayTimeout();\n };\n\n _proto._activate = function _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n\n if (onPressStart != null) {\n onPressStart(event);\n }\n\n if (onPressChange != null) {\n onPressChange(true);\n }\n };\n\n _proto._deactivate = function _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(function () {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n };\n\n _proto._handleLongPress = function _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\n }\n };\n\n _proto._cancelLongPressDelayTimeout = function _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n };\n\n _proto._cancelPressDelayTimeout = function _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n };\n\n _proto._cancelPressOutDelayTimeout = function _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n };\n\n return PressResponder;\n}();\n\nexport { PressResponder as default };\n\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n\n if (fallback === void 0) {\n fallback = 0;\n }\n\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\n\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n\n return event.nativeEvent;\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport PressResponder from './PressResponder';\nimport { useDebugValue, useEffect, useRef } from 'react';\nexport default function usePressEvents(hostRef, config) {\n var pressResponderRef = useRef(null);\n\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new PressResponder(config);\n }\n\n var pressResponder = pressResponderRef.current; // Re-configure to use the current node and configuration.\n\n useEffect(function () {\n pressResponder.configure(config);\n }, [config, pressResponder]); // Reset the `pressResponder` when cleanup needs to occur. This is\n // a separate effect because we do not want to rest the responder when `config` changes.\n\n useEffect(function () {\n return function () {\n pressResponder.reset();\n };\n }, [pressResponder]);\n useDebugValue(config);\n return pressResponder.getEventHandlers();\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nexport var BLUR = 'blur';\nexport var CONTEXT_MENU = 'contextmenu';\nexport var FOCUS_OUT = 'focusout';\nexport var MOUSE_DOWN = 'mousedown';\nexport var MOUSE_MOVE = 'mousemove';\nexport var MOUSE_UP = 'mouseup';\nexport var MOUSE_CANCEL = 'dragstart';\nexport var TOUCH_START = 'touchstart';\nexport var TOUCH_MOVE = 'touchmove';\nexport var TOUCH_END = 'touchend';\nexport var TOUCH_CANCEL = 'touchcancel';\nexport var SCROLL = 'scroll';\nexport var SELECT = 'select';\nexport var SELECTION_CHANGE = 'selectionchange';\nexport function isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nexport function isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nexport function isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nexport function isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nexport function isScroll(eventType) {\n return eventType === SCROLL;\n}\nexport function isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport { isStartish, isMoveish, isEndish } from './ResponderEventTypes';\n\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar MAX_TOUCH_BANK = 20;\nvar touchBank = [];\nvar touchHistory = {\n touchBank: touchBank,\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n};\n\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides \"timeStamp\", which has been\n // renamed to \"timestamp\".\n return touch.timeStamp || touch.timestamp;\n}\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\n\n\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n };\n}\n\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\n touchRecord.startPageX = touch.pageX;\n touchRecord.startPageY = touch.pageY;\n touchRecord.startTimeStamp = timestampForTouch(touch);\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchRecord.previousPageX = touch.pageX;\n touchRecord.previousPageY = touch.pageY;\n touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\n\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\n\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error('Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK);\n }\n }\n\n return identifier;\n}\n\nfunction recordTouchStart(touch) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchBank[identifier];\n\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchBank[identifier] = createTouchRecord(touch);\n }\n\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\n\nfunction recordTouchMove(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n\n if (touchRecord) {\n touchRecord.touchActive = true;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch move without a touch start.\\n', \"Touch Move: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank());\n }\n}\n\nfunction recordTouchEnd(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n\n if (touchRecord) {\n touchRecord.touchActive = false;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch end without a touch start.\\n', \"Touch End: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank());\n }\n}\n\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\n\nfunction printTouchBank() {\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n\n return printed;\n}\n\nvar ResponderTouchHistoryStore = {\n recordTouchTrack: function recordTouchTrack(topLevelType, nativeEvent) {\n if (isMoveish(topLevelType)) {\n nativeEvent.changedTouches.forEach(recordTouchMove);\n } else if (isStartish(topLevelType)) {\n nativeEvent.changedTouches.forEach(recordTouchStart);\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if (isEndish(topLevelType)) {\n nativeEvent.changedTouches.forEach(recordTouchEnd);\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n\n if (touchHistory.numberActiveTouches === 1) {\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n },\n touchHistory: touchHistory\n};\nexport default ResponderTouchHistoryStore;","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport ResponderTouchHistoryStore from './ResponderTouchHistoryStore';\n\nvar emptyFunction = function emptyFunction() {};\n\nvar emptyObject = {};\nvar emptyArray = [];\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\n\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\n\n\nexport default function createResponderEvent(domEvent) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(function (touch) {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n\n get locationX() {\n return locationX(touch.clientX);\n },\n\n get locationY() {\n return locationY(touch.clientY);\n },\n\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp: timestamp\n };\n });\n }\n\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force: force,\n identifier: identifier,\n\n get locationX() {\n return locationX(clientX);\n },\n\n get locationY() {\n return locationY(clientY);\n },\n\n pageX: pageX,\n pageY: pageY,\n target: domEvent.target,\n timestamp: timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n isDefaultPrevented: function isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped: function isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey: metaKey,\n shiftKey: shiftKey,\n changedTouches: changedTouches,\n force: force,\n identifier: identifier,\n\n get locationX() {\n return locationX(clientX);\n },\n\n get locationY() {\n return locationY(clientY);\n },\n\n pageX: pageX,\n pageY: pageY,\n target: domEvent.target,\n timestamp: timestamp,\n touches: touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault: preventDefault,\n stopPropagation: function stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: ResponderTouchHistoryStore.touchHistory\n }; // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n\n function locationX(x) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n\n if (rect) {\n return x - rect.left;\n }\n }\n\n function locationY(y) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n\n if (rect) {\n return y - rect.top;\n }\n }\n\n return responderEvent;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport isSelectionValid from '../../modules/isSelectionValid';\nvar keyName = '__reactResponderId';\n\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\n\nfunction composedPathFallback(target) {\n var path = [];\n\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n\n return path;\n}\n/**\n * Retrieve the responderId from a host node\n */\n\n\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n\n return null;\n}\n/**\n * Store the responderId on a host node\n */\n\n\nexport function setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\n\nexport function getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n\n return {\n idPath: idPath,\n nodePath: nodePath\n };\n}\n/**\n * Walk the paths and find the first common ancestor\n */\n\nexport function getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n\n if ( // If either path is empty\n pathALength === 0 || pathBLength === 0 || // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0; // If A is deeper, skip indices that can't match.\n\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n } // If B is deeper, skip indices that can't match\n\n\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n } // Walk in lockstep until a match is found\n\n\n var depth = pathALength;\n\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n\n return null;\n}\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\n\nexport function hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n\n return false;\n}\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\n\nexport function hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return isSelectionValid();\n }\n\n return domEvent.type === 'select';\n}\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\n\nexport function isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n\n return false;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nexport default function isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== '\\n' && isTextNode;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\nimport { canUseDOM } from 'fbjs/lib/ExecutionEnvironment';\nimport createResponderEvent from './createResponderEvent';\nimport { isCancelish, isEndish, isMoveish, isScroll, isSelectionChange, isStartish } from './ResponderEventTypes';\nimport { getLowestCommonAncestor, getResponderPaths, hasTargetTouches, hasValidSelection, isPrimaryPointerDown, setResponderId } from './utils';\nimport ResponderTouchHistoryStore from './ResponderTouchHistoryStore';\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\n\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\n\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\n\n\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n // Flag when browser may produce emulated events\n\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n } // Remove flag when browser will not produce emulated events\n\n\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n } // Ignore various events in particular circumstances\n\n\n if ( // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents || // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n } // Remove flag after emulated events are finished\n\n\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n\n return;\n }\n\n var isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent);\n var isMoveEvent = isMoveish(eventType);\n var isEndEvent = isEndish(eventType);\n var isScrollEvent = isScroll(eventType);\n var isSelectionChangeEvent = isSelectionChange(eventType);\n var responderEvent = createResponderEvent(domEvent);\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n\n ResponderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n /**\n * Responder System logic\n */\n\n\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder; // If an event occured that might change the current responder...\n\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor); // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n } // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n\n\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node; // Start\n\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n } // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = isCancelish(eventType) || // native context menu\n eventType === 'contextmenu' || // window blur\n eventType === 'blur' && eventTarget === window || // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node || // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 || // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node || // native select/selectionchange on node\n isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches); // End\n\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n } // Release\n\n\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n\n changeCurrentResponder(emptyResponder);\n } // Terminate\n\n\n if (isTerminateEvent) {\n var shouldTerminate = true; // Responders can still avoid termination but only for these events.\n\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\n\n\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id: id,\n node: node,\n idPath: prunedIdPath\n };\n }\n }\n }; // capture\n\n\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n\n if (result != null) {\n return result;\n }\n\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n } // bubble\n\n\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n\n if (_result != null) {\n return _result;\n }\n\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n/**\n * Attempt to transfer the responder.\n */\n\n\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node; // Set responder\n\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n\n changeCurrentResponder(wantsResponder);\n } // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n\n var allowTransfer = true;\n\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n } // Grant next responder\n\n\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\n\n\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart', // touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel', // other\n'contextmenu', 'select', 'selectionchange'];\nexport function attachListeners() {\n if (canUseDOM && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(function (eventType) {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(function (eventType) {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n/**\n * Register a node with the ResponderSystem.\n */\n\nexport function addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\n/**\n * Unregister a node with the ResponderSystem.\n */\n\nexport function removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\n\nexport function terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n\n if (onResponderTerminate != null) {\n var event = createResponderEvent({});\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n\n changeCurrentResponder(emptyResponder);\n }\n\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\n\nexport function getResponderNode() {\n return currentResponder.node;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return

\n * }\n */\nimport * as React from 'react';\nimport * as ResponderSystem from './ResponderSystem';\nvar emptyObject = {};\nvar idCounter = 0;\n\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n\n return ref.current;\n}\n\nexport default function useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n\n var id = useStable(function () {\n return idCounter++;\n });\n var isAttachedRef = React.useRef(false); // This is a separate effects so it doesn't run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n\n React.useEffect(function () {\n ResponderSystem.attachListeners();\n return function () {\n ResponderSystem.removeNode(id);\n };\n }, [id]); // Register and unregister with the Responder System as necessary\n\n React.useEffect(function () {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport * as React from 'react';\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nexport default function useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n } // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n\n\n return ref.current;\n}","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport _EventSubscription from './_EventSubscription';\n\n/**\n * EmitterSubscription represents a subscription with listener and context data.\n */\nvar EmitterSubscription = /*#__PURE__*/function (_EventSubscription2) {\n _inheritsLoose(EmitterSubscription, _EventSubscription2);\n\n /**\n * @param {EventEmitter} emitter - The event emitter that registered this\n * subscription\n * @param {EventSubscriptionVendor} subscriber - The subscriber that controls\n * this subscription\n * @param {function} listener - Function to invoke when the specified event is\n * emitted\n * @param {*} context - Optional context object to use when invoking the\n * listener\n */\n function EmitterSubscription(emitter, subscriber, listener, context) {\n var _this;\n\n _this = _EventSubscription2.call(this, subscriber) || this;\n _this.emitter = emitter;\n _this.listener = listener;\n _this.context = context;\n return _this;\n }\n /**\n * Removes this subscription from the emitter that registered it.\n * Note: we're overriding the `remove()` method of _EventSubscription here\n * but deliberately not calling `super.remove()` as the responsibility\n * for removing the subscription lies with the EventEmitter.\n */\n\n\n var _proto = EmitterSubscription.prototype;\n\n _proto.remove = function remove() {\n this.emitter.removeSubscription(this);\n };\n\n return EmitterSubscription;\n}(_EventSubscription);\n\nexport default EmitterSubscription;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\n/**\n * EventSubscription represents a subscription to a particular event. It can\n * remove its own subscription.\n */\nvar _EventSubscription = /*#__PURE__*/function () {\n /**\n * @param {EventSubscriptionVendor} subscriber the subscriber that controls\n * this subscription.\n */\n function _EventSubscription(subscriber) {\n this.subscriber = subscriber;\n }\n /**\n * Removes this subscription from the subscriber that controls it.\n */\n\n\n var _proto = _EventSubscription.prototype;\n\n _proto.remove = function remove() {\n this.subscriber.removeSubscription(this);\n };\n\n return _EventSubscription;\n}();\n\nexport default _EventSubscription;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * EventSubscriptionVendor stores a set of EventSubscriptions that are\n * subscribed to a particular event type.\n */\nvar EventSubscriptionVendor = /*#__PURE__*/function () {\n function EventSubscriptionVendor() {\n this._subscriptionsForType = {};\n }\n /**\n * Adds a subscription keyed by an event type.\n *\n * @param {string} eventType\n * @param {EventSubscription} subscription\n */\n\n\n var _proto = EventSubscriptionVendor.prototype;\n\n _proto.addSubscription = function addSubscription(eventType, subscription) {\n invariant(subscription.subscriber === this, 'The subscriber of the subscription is incorrectly set.');\n\n if (!this._subscriptionsForType[eventType]) {\n this._subscriptionsForType[eventType] = [];\n }\n\n var key = this._subscriptionsForType[eventType].length;\n\n this._subscriptionsForType[eventType].push(subscription);\n\n subscription.eventType = eventType;\n subscription.key = key;\n return subscription;\n }\n /**\n * Removes a bulk set of the subscriptions.\n *\n * @param {?string} eventType - Optional name of the event type whose\n * registered supscriptions to remove, if null remove all subscriptions.\n */\n ;\n\n _proto.removeAllSubscriptions = function removeAllSubscriptions(eventType) {\n if (eventType == null) {\n this._subscriptionsForType = {};\n } else {\n delete this._subscriptionsForType[eventType];\n }\n }\n /**\n * Removes a specific subscription. Instead of calling this function, call\n * `subscription.remove()` directly.\n *\n * @param {object} subscription\n */\n ;\n\n _proto.removeSubscription = function removeSubscription(subscription) {\n var eventType = subscription.eventType;\n var key = subscription.key;\n var subscriptionsForType = this._subscriptionsForType[eventType];\n\n if (subscriptionsForType) {\n delete subscriptionsForType[key];\n }\n }\n /**\n * Returns the array of subscriptions that are currently registered for the\n * given event type.\n *\n * Note: This array can be potentially sparse as subscriptions are deleted\n * from it when they are removed.\n *\n * TODO: This returns a nullable array. wat?\n *\n * @param {string} eventType\n * @returns {?array}\n */\n ;\n\n _proto.getSubscriptionsForType = function getSubscriptionsForType(eventType) {\n return this._subscriptionsForType[eventType];\n };\n\n return EventSubscriptionVendor;\n}();\n\nexport default EventSubscriptionVendor;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n * @typecheck\n */\nimport invariant from 'fbjs/lib/invariant';\nimport EmitterSubscription from './_EmitterSubscription';\nimport EventSubscriptionVendor from './_EventSubscriptionVendor';\n\nvar sparseFilterPredicate = function sparseFilterPredicate() {\n return true;\n};\n\n/**\n * @class EventEmitter\n * @description\n * An EventEmitter is responsible for managing a set of listeners and publishing\n * events to them when it is told that such events happened. In addition to the\n * data for the given event it also sends a event control object which allows\n * the listeners/handlers to prevent the default behavior of the given event.\n *\n * The emitter is designed to be generic enough to support all the different\n * contexts in which one might want to emit events. It is a simple multicast\n * mechanism on top of which extra functionality can be composed. For example, a\n * more advanced emitter may use an EventHolder and EventFactory.\n */\nvar EventEmitter = /*#__PURE__*/function () {\n /**\n * @constructor\n *\n * @param {EventSubscriptionVendor} subscriber - Optional subscriber instance\n * to use. If omitted, a new subscriber will be created for the emitter.\n */\n function EventEmitter(subscriber) {\n this._subscriber = subscriber || new EventSubscriptionVendor();\n }\n /**\n * Adds a listener to be invoked when events of the specified type are\n * emitted. An optional calling context may be provided. The data arguments\n * emitted will be passed to the listener function.\n *\n * TODO: Annotate the listener arg's type. This is tricky because listeners\n * can be invoked with varargs.\n *\n * @param {string} eventType - Name of the event to listen to\n * @param {function} listener - Function to invoke when the specified event is\n * emitted\n * @param {*} context - Optional context object to use when invoking the\n * listener\n */\n\n\n var _proto = EventEmitter.prototype;\n\n _proto.addListener = function addListener(eventType, // FIXME: listeners should return void instead of mixed to prevent issues\n listener, context) {\n return this._subscriber.addSubscription(eventType, new EmitterSubscription(this, this._subscriber, listener, context));\n }\n /**\n * Removes all of the registered listeners, including those registered as\n * listener maps.\n *\n * @param {?string} eventType - Optional name of the event whose registered\n * listeners to remove\n */\n ;\n\n _proto.removeAllListeners = function removeAllListeners(eventType) {\n this._subscriber.removeAllSubscriptions(eventType);\n }\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n ;\n\n _proto.removeSubscription = function removeSubscription(subscription) {\n invariant(subscription.emitter === this, 'Subscription does not belong to this emitter.');\n\n this._subscriber.removeSubscription(subscription);\n }\n /**\n * Returns the number of listeners that are currently registered for the given\n * event.\n *\n * @param {string} eventType - Name of the event to query\n * @returns {number}\n */\n ;\n\n _proto.listenerCount = function listenerCount(eventType) {\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n return subscriptions ? // We filter out missing entries because the array is sparse.\n // \"callbackfn is called only for elements of the array which actually\n // exist; it is not called for missing elements of the array.\"\n // https://www.ecma-international.org/ecma-262/9.0/index.html#sec-array.prototype.filter\n subscriptions.filter(sparseFilterPredicate).length : 0;\n }\n /**\n * Emits an event of the given type with the given data. All handlers of that\n * particular type will be notified.\n *\n * @param {string} eventType - Name of the event to emit\n * @param {...*} Arbitrary arguments to be passed to each registered listener\n *\n * @example\n * emitter.addListener('someEvent', function(message) {\n * console.log(message);\n * });\n *\n * emitter.emit('someEvent', 'abc'); // logs 'abc'\n */\n ;\n\n _proto.emit = function emit(eventType) {\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n if (subscriptions) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n for (var i = 0, l = subscriptions.length; i < l; i++) {\n var subscription = subscriptions[i]; // The subscription may have been removed during this event loop.\n\n if (subscription && subscription.listener) {\n subscription.listener.apply(subscription.context, args);\n }\n }\n }\n }\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n ;\n\n _proto.removeListener = function removeListener(eventType, // FIXME: listeners should return void instead of mixed to prevent issues\n listener) {\n console.error(\"EventEmitter.removeListener('\" + eventType + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `EventEmitter.addListener`.');\n\n var subscriptions = this._subscriber.getSubscriptionsForType(eventType);\n\n if (subscriptions) {\n for (var i = 0, l = subscriptions.length; i < l; i++) {\n var subscription = subscriptions[i]; // The subscription may have been removed during this event loop.\n // its listener matches the listener in method parameters\n\n if (subscription && subscription.listener === listener) {\n subscription.remove();\n }\n }\n }\n };\n\n return EventEmitter;\n}();\n\nexport default EventEmitter;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport EventEmitter from '../emitter/EventEmitter'; // FIXME: use typed events\n\n/**\n * Global EventEmitter used by the native platform to emit events to JavaScript.\n * Events are identified by globally unique event names.\n *\n * NativeModules that emit events should instead subclass `NativeEventEmitter`.\n */\nexport default new EventEmitter();","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * `NativeEventEmitter` is intended for use by Native Modules to emit events to\n * JavaScript listeners. If a `NativeModule` is supplied to the constructor, it\n * will be notified (via `addListener` and `removeListeners`) when the listener\n * count changes to manage \"native memory\".\n *\n * Currently, all native events are fired via a global `RCTDeviceEventEmitter`.\n * This means event names must be globally unique, and it means that call sites\n * can theoretically listen to `RCTDeviceEventEmitter` (although discouraged).\n */\nvar NativeEventEmitter = /*#__PURE__*/function () {\n function NativeEventEmitter(nativeModule) {\n if (Platform.OS === 'ios') {\n invariant(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');\n this._nativeModule = nativeModule;\n }\n }\n\n var _proto = NativeEventEmitter.prototype;\n\n _proto.addListener = function addListener(eventType, listener, context) {\n var _this$_nativeModule,\n _this = this;\n\n (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType);\n var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);\n return {\n remove: function remove() {\n if (subscription != null) {\n var _this$_nativeModule2;\n\n (_this$_nativeModule2 = _this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1); // $FlowFixMe[incompatible-use]\n\n subscription.remove();\n subscription = null;\n }\n }\n };\n }\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n ;\n\n _proto.removeListener = function removeListener(eventType, listener) {\n var _this$_nativeModule3;\n\n (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1); // NOTE: This will report a deprecation notice via `console.error`.\n // $FlowFixMe[prop-missing] - `removeListener` exists but is deprecated.\n\n RCTDeviceEventEmitter.removeListener(eventType, listener);\n };\n\n _proto.emit = function emit(eventType) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n // included for completeness.\n RCTDeviceEventEmitter.emit.apply(RCTDeviceEventEmitter, [eventType].concat(args));\n };\n\n _proto.removeAllListeners = function removeAllListeners(eventType) {\n var _this$_nativeModule4;\n\n invariant(eventType != null, '`NativeEventEmitter.removeAllListener()` requires a non-null argument.');\n (_this$_nativeModule4 = this._nativeModule) == null ? void 0 : _this$_nativeModule4.removeListeners(this.listenerCount(eventType));\n RCTDeviceEventEmitter.removeAllListeners(eventType);\n };\n\n _proto.listenerCount = function listenerCount(eventType) {\n return RCTDeviceEventEmitter.listenerCount(eventType);\n };\n\n return NativeEventEmitter;\n}();\n\nexport { NativeEventEmitter as default };","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\n/**\n * A simple class for batching up invocations of a low-pri callback. A timeout is set to run the\n * callback once after a delay, no matter how many times it's scheduled. Once the delay is reached,\n * InteractionManager.runAfterInteractions is used to invoke the callback after any hi-pri\n * interactions are done running.\n *\n * Make sure to cleanup with dispose(). Example:\n *\n * class Widget extends React.Component {\n * _batchedSave: new Batchinator(() => this._saveState, 1000);\n * _saveSate() {\n * // save this.state to disk\n * }\n * componentDidUpdate() {\n * this._batchedSave.schedule();\n * }\n * componentWillUnmount() {\n * this._batchedSave.dispose();\n * }\n * ...\n * }\n */\n\nvar Batchinator = /*#__PURE__*/function () {\n function Batchinator(callback, delayMS) {\n this._delay = delayMS;\n this._callback = callback;\n }\n /*\n * Cleanup any pending tasks.\n *\n * By default, if there is a pending task the callback is run immediately. Set the option abort to\n * true to not call the callback if it was pending.\n */\n\n\n var _proto = Batchinator.prototype;\n\n _proto.dispose = function dispose(options) {\n if (options === void 0) {\n options = {\n abort: false\n };\n }\n\n if (this._taskHandle) {\n this._taskHandle.cancel();\n\n if (!options.abort) {\n this._callback();\n }\n\n this._taskHandle = null;\n }\n };\n\n _proto.schedule = function schedule() {\n var _this = this;\n\n if (this._taskHandle) {\n return;\n }\n\n var timeoutHandle = setTimeout(function () {\n _this._taskHandle = InteractionManager.runAfterInteractions(function () {\n // Note that we clear the handle before invoking the callback so that if the callback calls\n // schedule again, it will actually schedule another task.\n _this._taskHandle = null;\n\n _this._callback();\n });\n }, this._delay);\n this._taskHandle = {\n cancel: function cancel() {\n return clearTimeout(timeoutHandle);\n }\n };\n };\n\n return Batchinator;\n}();\n\nexport default Batchinator;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Info = function Info() {\n this.any_blank_count = 0;\n this.any_blank_ms = 0;\n this.any_blank_speed_sum = 0;\n this.mostly_blank_count = 0;\n this.mostly_blank_ms = 0;\n this.pixels_blank = 0;\n this.pixels_sampled = 0;\n this.pixels_scrolled = 0;\n this.total_time_spent = 0;\n this.sample_count = 0;\n};\n\nvar DEBUG = false;\nvar _listeners = [];\nvar _minSampleCount = 10;\n\nvar _sampleRate = DEBUG ? 1 : null;\n/**\n * A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded.\n * By default the sampling rate is set to zero and this will do nothing. If you want to collect\n * samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`.\n *\n * Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with\n * `SceneTracker.getActiveScene` to determine the context of the events.\n */\n\n\nvar FillRateHelper = /*#__PURE__*/function () {\n FillRateHelper.addListener = function addListener(callback) {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n\n _listeners.push(callback);\n\n return {\n remove: function remove() {\n _listeners = _listeners.filter(function (listener) {\n return callback !== listener;\n });\n }\n };\n };\n\n FillRateHelper.setSampleRate = function setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n };\n\n FillRateHelper.setMinSampleCount = function setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\n };\n\n function FillRateHelper(getFrameMetrics) {\n this._anyBlankStartTime = null;\n this._enabled = false;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n this._getFrameMetrics = getFrameMetrics;\n this._enabled = (_sampleRate || 0) > Math.random();\n\n this._resetData();\n }\n\n var _proto = FillRateHelper.prototype;\n\n _proto.activate = function activate() {\n if (this._enabled && this._samplesStartTime == null) {\n DEBUG && console.debug('FillRateHelper: activate');\n this._samplesStartTime = global.performance.now();\n }\n };\n\n _proto.deactivateAndFlush = function deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n\n var start = this._samplesStartTime; // const for flow\n\n if (start == null) {\n DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n\n if (this._info.sample_count < _minSampleCount) {\n // Don't bother with under-sampled events.\n this._resetData();\n\n return;\n }\n\n var total_time_spent = global.performance.now() - start;\n\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent: total_time_spent\n });\n\n if (DEBUG) {\n var derived = {\n avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,\n avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),\n avg_speed_when_any_blank: this._info.any_blank_speed_sum / this._info.any_blank_count,\n any_blank_per_min: this._info.any_blank_count / (total_time_spent / 1000 / 60),\n any_blank_time_frac: this._info.any_blank_ms / total_time_spent,\n mostly_blank_per_min: this._info.mostly_blank_count / (total_time_spent / 1000 / 60),\n mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent\n };\n\n for (var key in derived) {\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived: derived,\n info: info\n });\n }\n\n _listeners.forEach(function (listener) {\n return listener(info);\n });\n\n this._resetData();\n };\n\n _proto.computeBlankness = function computeBlankness(props, state, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || this._samplesStartTime == null) {\n return 0;\n }\n\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength; // Denominator metrics that we track for all events - most of the time there is no blankness and\n // we want to capture that.\n\n this._info.sample_count++;\n this._info.pixels_sampled += Math.round(visibleLength);\n this._info.pixels_scrolled += Math.round(Math.abs(dOffset));\n var scrollSpeed = Math.round(Math.abs(velocity) * 1000); // px / sec\n // Whether blank now or not, record the elapsed time blank if we were blank last time.\n\n var now = global.performance.now();\n\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n\n this._anyBlankStartTime = null;\n\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n\n this._mostlyBlankStartTime = null;\n var blankTop = 0;\n var first = state.first;\n\n var firstFrame = this._getFrameMetrics(first);\n\n while (first <= state.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(first);\n first++;\n } // Only count blankTop if we aren't rendering the first item, otherwise we will count the header\n // as blank.\n\n\n if (firstFrame && first > 0) {\n blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n\n var blankBottom = 0;\n var last = state.last;\n\n var lastFrame = this._getFrameMetrics(last);\n\n while (last >= state.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(last);\n last--;\n } // Only count blankBottom if we aren't rendering the last item, otherwise we will count the\n // footer as blank.\n\n\n if (lastFrame && last < props.getItemCount(props.data) - 1) {\n var bottomEdge = lastFrame.offset + lastFrame.length;\n blankBottom = Math.min(visibleLength, Math.max(0, offset + visibleLength - bottomEdge));\n }\n\n var pixels_blank = Math.round(blankTop + blankBottom);\n var blankness = pixels_blank / visibleLength;\n\n if (blankness > 0) {\n this._anyBlankStartTime = now;\n this._info.any_blank_speed_sum += scrollSpeed;\n this._info.any_blank_count++;\n this._info.pixels_blank += pixels_blank;\n\n if (blankness > 0.5) {\n this._mostlyBlankStartTime = now;\n this._info.mostly_blank_count++;\n }\n } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {\n this.deactivateAndFlush();\n }\n\n return blankness;\n };\n\n _proto.enabled = function enabled() {\n return this._enabled;\n };\n\n _proto._resetData = function _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n };\n\n return FillRateHelper;\n}();\n\nexport default FillRateHelper;","function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nimport View from '../View';\nimport React from 'react';\n\nfunction RefreshControl(props) {\n var colors = props.colors,\n enabled = props.enabled,\n onRefresh = props.onRefresh,\n progressBackgroundColor = props.progressBackgroundColor,\n progressViewOffset = props.progressViewOffset,\n refreshing = props.refreshing,\n size = props.size,\n tintColor = props.tintColor,\n title = props.title,\n titleColor = props.titleColor,\n rest = _objectWithoutPropertiesLoose(props, [\"colors\", \"enabled\", \"onRefresh\", \"progressBackgroundColor\", \"progressViewOffset\", \"refreshing\", \"size\", \"tintColor\", \"title\", \"titleColor\"]);\n\n return /*#__PURE__*/React.createElement(View, rest);\n}\n\nexport default RefreshControl;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport invariant from 'fbjs/lib/invariant';\n\n/**\n * A Utility class for calculating viewable items based on current metrics like scroll position and\n * layout.\n *\n * An item is said to be in a \"viewable\" state when any of the following\n * is true for longer than `minimumViewTime` milliseconds (after an interaction if `waitForInteraction`\n * is true):\n *\n * - Occupying >= `viewAreaCoveragePercentThreshold` of the view area XOR fraction of the item\n * visible in the view area >= `itemVisiblePercentThreshold`.\n * - Entirely visible on screen\n */\nvar ViewabilityHelper = /*#__PURE__*/function () {\n function ViewabilityHelper(config) {\n if (config === void 0) {\n config = {\n viewAreaCoveragePercentThreshold: 0\n };\n }\n\n this._hasInteracted = false;\n this._timers = new Set();\n this._viewableIndices = [];\n this._viewableItems = new Map();\n this._config = config;\n }\n /**\n * Cleanup, e.g. on unmount. Clears any pending timers.\n */\n\n\n var _proto = ViewabilityHelper.prototype;\n\n _proto.dispose = function dispose() {\n this._timers.forEach(clearTimeout);\n }\n /**\n * Determines which items are viewable based on the current metrics and config.\n */\n ;\n\n _proto.computeViewableItems = function computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange) {\n var _this$_config = this._config,\n itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold,\n viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold;\n var viewAreaMode = viewAreaCoveragePercentThreshold != null;\n var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;\n invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold');\n var viewableIndices = [];\n\n if (itemCount === 0) {\n return viewableIndices;\n }\n\n var firstVisible = -1;\n\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange: renderRange,\n itemCount: itemCount\n }));\n return [];\n }\n\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx);\n\n if (!metrics) {\n continue;\n }\n\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n\n if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {\n viewableIndices.push(idx);\n }\n } else if (firstVisible >= 0) {\n break;\n }\n }\n\n return viewableIndices;\n }\n /**\n * Figures out which items are viewable and how that has changed from before and calls\n * `onViewableItemsChanged` as appropriate.\n */\n ;\n\n _proto.onUpdate = function onUpdate(itemCount, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged, renderRange) {\n var _this = this;\n\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0)) {\n return;\n }\n\n var viewableIndices = [];\n\n if (itemCount) {\n viewableIndices = this.computeViewableItems(itemCount, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\n }\n\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every(function (v, ii) {\n return v === viewableIndices[ii];\n })) {\n // We might get a lot of scroll events where visibility doesn't change and we don't want to do\n // extra work in those cases.\n return;\n }\n\n this._viewableIndices = viewableIndices;\n\n if (this._config.minimumViewTime) {\n var handle = setTimeout(function () {\n _this._timers.delete(handle);\n\n _this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);\n }, this._config.minimumViewTime);\n\n this._timers.add(handle);\n } else {\n this._onUpdateSync(viewableIndices, onViewableItemsChanged, createViewToken);\n }\n }\n /**\n * clean-up cached _viewableIndices to evaluate changed items on next update\n */\n ;\n\n _proto.resetViewableIndices = function resetViewableIndices() {\n this._viewableIndices = [];\n }\n /**\n * Records that an interaction has happened even if there has been no scroll.\n */\n ;\n\n _proto.recordInteraction = function recordInteraction() {\n this._hasInteracted = true;\n };\n\n _proto._onUpdateSync = function _onUpdateSync( // $FlowFixMe\n viewableIndicesToCheck, // $FlowFixMe\n onViewableItemsChanged, // $FlowFixMe\n createViewToken) {\n var _this2 = this;\n\n // Filter out indices that have gone out of view since this call was scheduled.\n viewableIndicesToCheck = viewableIndicesToCheck.filter(function (ii) {\n return _this2._viewableIndices.includes(ii);\n });\n var prevItems = this._viewableItems;\n var nextItems = new Map(viewableIndicesToCheck.map(function (ii) {\n var viewable = createViewToken(ii, true);\n return [viewable.key, viewable];\n }));\n var changed = [];\n\n for (var _iterator = _createForOfIteratorHelperLoose(nextItems), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n viewable = _step$value[1];\n\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\n }\n\n for (var _iterator2 = _createForOfIteratorHelperLoose(prevItems), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n _key = _step2$value[0],\n _viewable = _step2$value[1];\n\n if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\n }));\n }\n }\n\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed: changed,\n viewabilityConfig: this._config\n });\n }\n };\n\n return ViewabilityHelper;\n}();\n\nfunction _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {\n if (_isEntirelyVisible(top, bottom, viewportHeight)) {\n return true;\n } else {\n var pixels = _getPixelsVisible(top, bottom, viewportHeight);\n\n var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\n}\n\nfunction _getPixelsVisible(top, bottom, viewportHeight) {\n var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);\n return Math.max(0, visibleHeight);\n}\n\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\n\nexport default ViewabilityHelper;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\n\nfunction infoLog() {\n var _console;\n\n return (_console = console).log.apply(_console, arguments);\n}\n\nexport default infoLog;","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\n/**\n * Used to find the indices of the frames that overlap the given offsets. Useful for finding the\n * items that bound different windows of content, such as the visible area or the buffered overscan\n * area.\n */\n\nfunction elementsThatOverlapOffsets(offsets, itemCount, getFrameMetrics) {\n var out = [];\n var outLength = 0;\n\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = getFrameMetrics(ii);\n var trailingOffset = frame.offset + frame.length;\n\n for (var kk = 0; kk < offsets.length; kk++) {\n if (out[kk] == null && trailingOffset >= offsets[kk]) {\n out[kk] = ii;\n outLength++;\n\n if (kk === offsets.length - 1) {\n invariant(outLength === offsets.length, 'bad offsets input, should be in increasing order: %s', JSON.stringify(offsets));\n return out;\n }\n }\n }\n }\n\n return out;\n}\n/**\n * Computes the number of elements in the `next` range that are new compared to the `prev` range.\n * Handy for calculating how many new items will be rendered when the render window changes so we\n * can restrict the number of new items render at once so that content can appear on the screen\n * faster.\n */\n\n\nfunction newRangeCount(prev, next) {\n return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first));\n}\n/**\n * Custom logic for determining which items should be rendered given the current frame and scroll\n * metrics, as well as the previous render state. The algorithm may evolve over time, but generally\n * prioritizes the visible area first, then expands that with overscan regions ahead and behind,\n * biased in the direction of scroll.\n */\n\n\nfunction computeWindowedRenderLimits(props, prev, getFrameMetricsApprox, scrollMetrics) {\n var data = props.data,\n getItemCount = props.getItemCount,\n maxToRenderPerBatch = props.maxToRenderPerBatch,\n windowSize = props.windowSize;\n var itemCount = getItemCount(data);\n\n if (itemCount === 0) {\n return prev;\n }\n\n var offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength; // Start with visible area, then compute maximum overscan region by expanding from there, biased\n // in the direction of scroll. Total overscan area is capped, which should cap memory consumption\n // too.\n\n var visibleBegin = Math.max(0, offset);\n var visibleEnd = visibleBegin + visibleLength;\n var overscanLength = (windowSize - 1) * visibleLength; // Considering velocity seems to introduce more churn than it's worth.\n\n var leadFactor = 0.5; // Math.max(0, Math.min(1, velocity / 25 + 0.5));\n\n var fillPreference = velocity > 1 ? 'after' : velocity < -1 ? 'before' : 'none';\n var overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength);\n var overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);\n var lastItemOffset = getFrameMetricsApprox(itemCount - 1).offset;\n\n if (lastItemOffset < overscanBegin) {\n // Entire list is before our overscan window\n return {\n first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),\n last: itemCount - 1\n };\n } // Find the indices that correspond to the items at the render boundaries we're targeting.\n\n\n var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props.getItemCount(props.data), getFrameMetricsApprox),\n overscanFirst = _elementsThatOverlapO[0],\n first = _elementsThatOverlapO[1],\n last = _elementsThatOverlapO[2],\n overscanLast = _elementsThatOverlapO[3];\n\n overscanFirst = overscanFirst == null ? 0 : overscanFirst;\n first = first == null ? Math.max(0, overscanFirst) : first;\n overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;\n last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;\n var visible = {\n first: first,\n last: last\n }; // We want to limit the number of new cells we're rendering per batch so that we can fill the\n // content on the screen quickly. If we rendered the entire overscan window at once, the user\n // could be staring at white space for a long time waiting for a bunch of offscreen content to\n // render.\n\n var newCellCount = newRangeCount(prev, visible);\n\n while (true) {\n if (first <= overscanFirst && last >= overscanLast) {\n // If we fill the entire overscan range, we're done.\n break;\n }\n\n var maxNewCells = newCellCount >= maxToRenderPerBatch;\n var firstWillAddMore = first <= prev.first || first > prev.last;\n var firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore);\n var lastWillAddMore = last >= prev.last || last < prev.first;\n var lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore);\n\n if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {\n // We only want to stop if we've hit maxNewCells AND we cannot increment first or last\n // without rendering new items. This let's us preserve as many already rendered items as\n // possible, reducing render churn and keeping the rendered overscan range as large as\n // possible.\n break;\n }\n\n if (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) {\n if (firstWillAddMore) {\n newCellCount++;\n }\n\n first--;\n }\n\n if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) {\n if (lastWillAddMore) {\n newCellCount++;\n }\n\n last++;\n }\n }\n\n if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) {\n throw new Error('Bad window calculation ' + JSON.stringify({\n first: first,\n last: last,\n itemCount: itemCount,\n overscanFirst: overscanFirst,\n overscanLast: overscanLast,\n visible: visible\n }));\n }\n\n return {\n first: first,\n last: last\n };\n}\n\nvar VirtualizeUtils = {\n computeWindowedRenderLimits: computeWindowedRenderLimits,\n elementsThatOverlapOffsets: elementsThatOverlapOffsets,\n newRangeCount: newRangeCount\n};\nexport { computeWindowedRenderLimits, elementsThatOverlapOffsets, newRangeCount };\nexport default VirtualizeUtils;","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport * as React from 'react';\nimport { useMemo, useContext } from 'react';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nexport var VirtualizedListContext = /*#__PURE__*/React.createContext(null);\n\nif (__DEV__) {\n VirtualizedListContext.displayName = 'VirtualizedListContext';\n}\n/**\n * Resets the context. Intended for use by portal-like components (e.g. Modal).\n */\n\n\nexport function VirtualizedListContextResetter(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: null\n }, children);\n}\n/**\n * Sets the context with memoization. Intended to be used by `VirtualizedList`.\n */\n\nexport function VirtualizedListContextProvider(_ref2) {\n var children = _ref2.children,\n value = _ref2.value;\n // Avoid setting a newly created context object if the values are identical.\n var context = useMemo(function () {\n return {\n cellKey: null,\n getScrollMetrics: value.getScrollMetrics,\n horizontal: value.horizontal,\n getOutermostParentListRef: value.getOutermostParentListRef,\n getNestedChildState: value.getNestedChildState,\n registerAsNestedChild: value.registerAsNestedChild,\n unregisterAsNestedChild: value.unregisterAsNestedChild,\n debugInfo: {\n cellKey: value.debugInfo.cellKey,\n horizontal: value.debugInfo.horizontal,\n listKey: value.debugInfo.listKey,\n parent: value.debugInfo.parent\n }\n };\n }, [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.getNestedChildState, value.registerAsNestedChild, value.unregisterAsNestedChild, value.debugInfo.cellKey, value.debugInfo.horizontal, value.debugInfo.listKey, value.debugInfo.parent]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}\n/**\n * Sets the `cellKey`. Intended to be used by `VirtualizedList` for each cell.\n */\n\nexport function VirtualizedListCellContextProvider(_ref3) {\n var cellKey = _ref3.cellKey,\n children = _ref3.children;\n var context = useContext(VirtualizedListContext);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context == null ? null : _objectSpread(_objectSpread({}, context), {}, {\n cellKey: cellKey\n })\n }, children);\n}","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } it = o[Symbol.iterator](); return it.next.bind(it); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\nimport Batchinator from '../Batchinator';\nimport FillRateHelper from '../FillRateHelper';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport RefreshControl from '../../../exports/RefreshControl';\nimport ScrollView from '../../../exports/ScrollView';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport UIManager from '../../../exports/UIManager';\nimport View from '../../../exports/View';\nimport ViewabilityHelper from '../ViewabilityHelper';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nvar flattenStyle = StyleSheet.flatten;\nimport infoLog from '../infoLog';\nimport invariant from 'fbjs/lib/invariant';\nimport warning from 'fbjs/lib/warning';\nimport { computeWindowedRenderLimits } from '../VirtualizeUtils';\nimport { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider } from './VirtualizedListContext.js';\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar _usedIndexForKey = false;\nvar _keylessItemComponentName = '';\n\n/**\n * Base implementation for the more convenient [``](https://reactnative.dev/docs/flatlist.html)\n * and [``](https://reactnative.dev/docs/sectionlist.html) components, which are also better\n * documented. In general, this should only really be used if you need more flexibility than\n * `FlatList` provides, e.g. for use with immutable data instead of plain arrays.\n *\n * Virtualization massively improves memory consumption and performance of large lists by\n * maintaining a finite render window of active items and replacing all items outside of the render\n * window with appropriately sized blank space. The window adapts to scrolling behavior, and items\n * are rendered incrementally with low-pri (after any running interactions) if they are far from the\n * visible area, or with hi-pri otherwise to minimize the potential of seeing blank space.\n *\n * Some caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` or `id` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n */\nvar VirtualizedList = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(VirtualizedList, _React$PureComponent);\n\n var _proto = VirtualizedList.prototype;\n\n // scrollToEnd may be janky without getItemLayout prop\n _proto.scrollToEnd = function scrollToEnd(params) {\n var animated = params ? params.animated : true;\n var veryLast = this.props.getItemCount(this.props.data) - 1;\n\n var frame = this._getFrameMetricsApprox(veryLast);\n\n var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength);\n\n if (this._scrollRef == null) {\n return;\n }\n\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n\n this._scrollRef.scrollTo(this.props.horizontal ? {\n x: offset,\n animated: animated\n } : {\n y: offset,\n animated: animated\n });\n } // scrollToIndex may be janky without getItemLayout prop\n ;\n\n _proto.scrollToIndex = function scrollToIndex(params) {\n var _this$props = this.props,\n data = _this$props.data,\n horizontal = _this$props.horizontal,\n getItemCount = _this$props.getItemCount,\n getItemLayout = _this$props.getItemLayout,\n onScrollToIndexFailed = _this$props.onScrollToIndexFailed;\n var animated = params.animated,\n index = params.index,\n viewOffset = params.viewOffset,\n viewPosition = params.viewPosition;\n invariant(index >= 0, \"scrollToIndex out of range: requested index \" + index + \" but minimum is 0\");\n invariant(getItemCount(data) >= 1, \"scrollToIndex out of range: item length \" + getItemCount(data) + \" but minimum is 1\");\n invariant(index < getItemCount(data), \"scrollToIndex out of range: requested index \" + index + \" is out of 0 to \" + (getItemCount(data) - 1));\n\n if (!getItemLayout && index > this._highestMeasuredFrameIndex) {\n invariant(!!onScrollToIndexFailed, 'scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, ' + 'otherwise there is no way to know the location of offscreen indices or handle failures.');\n onScrollToIndexFailed({\n averageItemLength: this._averageCellLength,\n highestMeasuredFrameIndex: this._highestMeasuredFrameIndex,\n index: index\n });\n return;\n }\n\n var frame = this._getFrameMetricsApprox(index);\n\n var offset = Math.max(0, frame.offset - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0);\n\n if (this._scrollRef == null) {\n return;\n }\n\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n\n this._scrollRef.scrollTo(horizontal ? {\n x: offset,\n animated: animated\n } : {\n y: offset,\n animated: animated\n });\n } // scrollToItem may be janky without getItemLayout prop. Required linear scan through items -\n // use scrollToIndex instead if possible.\n ;\n\n _proto.scrollToItem = function scrollToItem(params) {\n var item = params.item;\n var _this$props2 = this.props,\n data = _this$props2.data,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount;\n var itemCount = getItemCount(data);\n\n for (var _index = 0; _index < itemCount; _index++) {\n if (getItem(data, _index) === item) {\n this.scrollToIndex(_objectSpread(_objectSpread({}, params), {}, {\n index: _index\n }));\n break;\n }\n }\n }\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Param `offset` expects the offset to scroll to.\n * In case of `horizontal` is true, the offset is the x-value,\n * in any other case the offset is the y-value.\n *\n * Param `animated` (`true` by default) defines whether the list\n * should do an animation while scrolling.\n */\n ;\n\n _proto.scrollToOffset = function scrollToOffset(params) {\n var animated = params.animated,\n offset = params.offset;\n\n if (this._scrollRef == null) {\n return;\n }\n\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n\n this._scrollRef.scrollTo(this.props.horizontal ? {\n x: offset,\n animated: animated\n } : {\n y: offset,\n animated: animated\n });\n };\n\n _proto.recordInteraction = function recordInteraction() {\n this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref.recordInteraction();\n });\n\n this._viewabilityTuples.forEach(function (t) {\n t.viewabilityHelper.recordInteraction();\n });\n\n this._updateViewableItems(this.props.data);\n };\n\n _proto.flashScrollIndicators = function flashScrollIndicators() {\n if (this._scrollRef == null) {\n return;\n }\n\n this._scrollRef.flashScrollIndicators();\n }\n /**\n * Provides a handle to the underlying scroll responder.\n * Note that `this._scrollRef` might not be a `ScrollView`, so we\n * need to check that it responds to `getScrollResponder` before calling it.\n */\n ;\n\n _proto.getScrollResponder = function getScrollResponder() {\n if (this._scrollRef && this._scrollRef.getScrollResponder) {\n return this._scrollRef.getScrollResponder();\n }\n };\n\n _proto.getScrollableNode = function getScrollableNode() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n return this._scrollRef.getScrollableNode();\n } else {\n return findNodeHandle(this._scrollRef);\n }\n };\n\n _proto.getScrollRef = function getScrollRef() {\n if (this._scrollRef && this._scrollRef.getScrollRef) {\n return this._scrollRef.getScrollRef();\n } else {\n return this._scrollRef;\n }\n };\n\n _proto.setNativeProps = function setNativeProps(props) {\n if (this._scrollRef) {\n this._scrollRef.setNativeProps(props);\n }\n };\n\n _proto._getCellKey = function _getCellKey() {\n var _this$context;\n\n return ((_this$context = this.context) == null ? void 0 : _this$context.cellKey) || 'rootList';\n };\n\n _proto._getListKey = function _getListKey() {\n return this.props.listKey || this._getCellKey();\n };\n\n _proto._getDebugInfo = function _getDebugInfo() {\n var _this$context2;\n\n return {\n listKey: this._getListKey(),\n cellKey: this._getCellKey(),\n horizontal: !!this.props.horizontal,\n parent: (_this$context2 = this.context) == null ? void 0 : _this$context2.debugInfo\n };\n };\n\n _proto.hasMore = function hasMore() {\n return this._hasMore;\n };\n\n function VirtualizedList(_props) {\n var _this;\n\n _this = _React$PureComponent.call(this, _props) || this;\n\n _this._getScrollMetrics = function () {\n return _this._scrollMetrics;\n };\n\n _this._getOutermostParentListRef = function () {\n if (_this._isNestedWithSameOrientation()) {\n return _this.context.getOutermostParentListRef();\n } else {\n return _assertThisInitialized(_this);\n }\n };\n\n _this._getNestedChildState = function (key) {\n var existingChildData = _this._nestedChildLists.get(key);\n\n return existingChildData && existingChildData.state;\n };\n\n _this._registerAsNestedChild = function (childList) {\n // Register the mapping between this child key and the cellKey for its cell\n var childListsInCell = _this._cellKeysToChildListKeys.get(childList.cellKey) || new Set();\n childListsInCell.add(childList.key);\n\n _this._cellKeysToChildListKeys.set(childList.cellKey, childListsInCell);\n\n var existingChildData = _this._nestedChildLists.get(childList.key);\n\n if (existingChildData && existingChildData.ref !== null) {\n console.error('A VirtualizedList contains a cell which itself contains ' + 'more than one VirtualizedList of the same orientation as the parent ' + 'list. You must pass a unique listKey prop to each sibling list.\\n\\n' + describeNestedLists(_objectSpread(_objectSpread({}, childList), {}, {\n // We're called from the child's componentDidMount, so it's safe to\n // read the child's props here (albeit weird).\n horizontal: !!childList.ref.props.horizontal\n })));\n }\n\n _this._nestedChildLists.set(childList.key, {\n ref: childList.ref,\n state: null\n });\n\n if (_this._hasInteracted) {\n childList.ref.recordInteraction();\n }\n };\n\n _this._unregisterAsNestedChild = function (childList) {\n _this._nestedChildLists.set(childList.key, {\n ref: null,\n state: childList.state\n });\n };\n\n _this._onUpdateSeparators = function (keys, newProps) {\n keys.forEach(function (key) {\n var ref = key != null && _this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n });\n };\n\n _this._averageCellLength = 0;\n _this._cellKeysToChildListKeys = new Map();\n _this._cellRefs = {};\n _this._frames = {};\n _this._footerLength = 0;\n _this._hasDoneInitialScroll = false;\n _this._hasInteracted = false;\n _this._hasMore = false;\n _this._hasWarned = {};\n _this._headerLength = 0;\n _this._hiPriInProgress = false;\n _this._highestMeasuredFrameIndex = 0;\n _this._indicesToKeys = new Map();\n _this._nestedChildLists = new Map();\n _this._offsetFromParentVirtualizedList = 0;\n _this._prevParentOffset = 0;\n _this._scrollMetrics = {\n contentLength: 0,\n dOffset: 0,\n dt: 10,\n offset: 0,\n timestamp: 0,\n velocity: 0,\n visibleLength: 0\n };\n _this._scrollRef = null;\n _this._sentEndForContentLength = 0;\n _this._totalCellLength = 0;\n _this._totalCellsMeasured = 0;\n _this._viewabilityTuples = [];\n\n _this._captureScrollRef = function (ref) {\n _this._scrollRef = ref;\n };\n\n _this._defaultRenderScrollComponent = function (props) {\n var onRefresh = props.onRefresh;\n\n if (_this._isNestedWithSameOrientation()) {\n // $FlowFixMe - Typing ReactNativeComponent revealed errors\n return /*#__PURE__*/React.createElement(View, props);\n } else if (onRefresh) {\n invariant(typeof props.refreshing === 'boolean', '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' +\n /* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment suppresses\n * an error found when Flow v0.111 was deployed. To see the error,\n * delete this comment and run Flow. */\n JSON.stringify(props.refreshing) + '`');\n return (\n /*#__PURE__*/\n // $FlowFixMe Invalid prop usage\n React.createElement(ScrollView, _extends({}, props, {\n refreshControl: props.refreshControl == null ? /*#__PURE__*/React.createElement(RefreshControl, {\n refreshing: props.refreshing,\n onRefresh: onRefresh,\n progressViewOffset: props.progressViewOffset\n }) : props.refreshControl\n }))\n );\n } else {\n // $FlowFixMe Invalid prop usage\n return /*#__PURE__*/React.createElement(ScrollView, props);\n }\n };\n\n _this._onCellUnmount = function (cellKey) {\n var curr = _this._frames[cellKey];\n\n if (curr) {\n _this._frames[cellKey] = _objectSpread(_objectSpread({}, curr), {}, {\n inLayout: false\n });\n }\n };\n\n _this._onLayout = function (e) {\n if (_this._isNestedWithSameOrientation()) {\n // Need to adjust our scroll metrics to be relative to our containing\n // VirtualizedList before we can make claims about list item viewability\n _this.measureLayoutRelativeToContainingList();\n } else {\n _this._scrollMetrics.visibleLength = _this._selectLength(e.nativeEvent.layout);\n }\n\n _this.props.onLayout && _this.props.onLayout(e);\n\n _this._scheduleCellsToRenderUpdate();\n\n _this._maybeCallOnEndReached();\n };\n\n _this._onLayoutEmpty = function (e) {\n _this.props.onLayout && _this.props.onLayout(e);\n };\n\n _this._onLayoutFooter = function (e) {\n _this._triggerRemeasureForChildListsInCell(_this._getFooterCellKey());\n\n _this._footerLength = _this._selectLength(e.nativeEvent.layout);\n };\n\n _this._onLayoutHeader = function (e) {\n _this._headerLength = _this._selectLength(e.nativeEvent.layout);\n };\n\n _this._onContentSizeChange = function (width, height) {\n if (width > 0 && height > 0 && _this.props.initialScrollIndex != null && _this.props.initialScrollIndex > 0 && !_this._hasDoneInitialScroll) {\n _this._hasDoneInitialScroll = true;\n }\n\n if (_this.props.onContentSizeChange) {\n _this.props.onContentSizeChange(width, height);\n }\n\n _this._scrollMetrics.contentLength = _this._selectLength({\n height: height,\n width: width\n });\n\n _this._scheduleCellsToRenderUpdate();\n\n _this._maybeCallOnEndReached();\n };\n\n _this._convertParentScrollMetrics = function (metrics) {\n // Offset of the top of the nested list relative to the top of its parent's viewport\n var offset = metrics.offset - _this._offsetFromParentVirtualizedList; // Child's visible length is the same as its parent's\n\n var visibleLength = metrics.visibleLength;\n var dOffset = offset - _this._scrollMetrics.offset;\n var contentLength = _this._scrollMetrics.contentLength;\n return {\n visibleLength: visibleLength,\n contentLength: contentLength,\n offset: offset,\n dOffset: dOffset\n };\n };\n\n _this._onScroll = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onScroll(e);\n });\n\n if (_this.props.onScroll) {\n _this.props.onScroll(e);\n }\n\n var timestamp = e.timeStamp;\n\n var visibleLength = _this._selectLength(e.nativeEvent.layoutMeasurement);\n\n var contentLength = _this._selectLength(e.nativeEvent.contentSize);\n\n var offset = _this._selectOffset(e.nativeEvent.contentOffset);\n\n var dOffset = offset - _this._scrollMetrics.offset;\n\n if (_this._isNestedWithSameOrientation()) {\n if (_this._scrollMetrics.contentLength === 0) {\n // Ignore scroll events until onLayout has been called and we\n // know our offset from our offset from our parent\n return;\n }\n\n var _this$_convertParentS = _this._convertParentScrollMetrics({\n visibleLength: visibleLength,\n offset: offset\n });\n\n visibleLength = _this$_convertParentS.visibleLength;\n contentLength = _this$_convertParentS.contentLength;\n offset = _this$_convertParentS.offset;\n dOffset = _this$_convertParentS.dOffset;\n }\n\n var dt = _this._scrollMetrics.timestamp ? Math.max(1, timestamp - _this._scrollMetrics.timestamp) : 1;\n var velocity = dOffset / dt;\n\n if (dt > 500 && _this._scrollMetrics.dt > 500 && contentLength > 5 * visibleLength && !_this._hasWarned.perf) {\n infoLog('VirtualizedList: You have a large list that is slow to update - make sure your ' + 'renderItem function renders components that follow React performance best practices ' + 'like PureComponent, shouldComponentUpdate, etc.', {\n dt: dt,\n prevDt: _this._scrollMetrics.dt,\n contentLength: contentLength\n });\n _this._hasWarned.perf = true;\n }\n\n _this._scrollMetrics = {\n contentLength: contentLength,\n dt: dt,\n dOffset: dOffset,\n offset: offset,\n timestamp: timestamp,\n velocity: velocity,\n visibleLength: visibleLength\n };\n\n _this._updateViewableItems(_this.props.data);\n\n if (!_this.props) {\n return;\n }\n\n _this._maybeCallOnEndReached();\n\n if (velocity !== 0) {\n _this._fillRateHelper.activate();\n }\n\n _this._computeBlankness();\n\n _this._scheduleCellsToRenderUpdate();\n };\n\n _this._onScrollBeginDrag = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onScrollBeginDrag(e);\n });\n\n _this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.recordInteraction();\n });\n\n _this._hasInteracted = true;\n _this.props.onScrollBeginDrag && _this.props.onScrollBeginDrag(e);\n };\n\n _this._onScrollEndDrag = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onScrollEndDrag(e);\n });\n\n var velocity = e.nativeEvent.velocity;\n\n if (velocity) {\n _this._scrollMetrics.velocity = _this._selectOffset(velocity);\n }\n\n _this._computeBlankness();\n\n _this.props.onScrollEndDrag && _this.props.onScrollEndDrag(e);\n };\n\n _this._onMomentumScrollBegin = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onMomentumScrollBegin(e);\n });\n\n _this.props.onMomentumScrollBegin && _this.props.onMomentumScrollBegin(e);\n };\n\n _this._onMomentumScrollEnd = function (e) {\n _this._nestedChildLists.forEach(function (childList) {\n childList.ref && childList.ref._onMomentumScrollEnd(e);\n });\n\n _this._scrollMetrics.velocity = 0;\n\n _this._computeBlankness();\n\n _this.props.onMomentumScrollEnd && _this.props.onMomentumScrollEnd(e);\n };\n\n _this._updateCellsToRender = function () {\n var _this$props3 = _this.props,\n data = _this$props3.data,\n getItemCount = _this$props3.getItemCount,\n onEndReachedThreshold = _this$props3.onEndReachedThreshold;\n\n var isVirtualizationDisabled = _this._isVirtualizationDisabled();\n\n _this._updateViewableItems(data);\n\n if (!data) {\n return;\n }\n\n _this.setState(function (state) {\n var newState;\n var _this$_scrollMetrics = _this._scrollMetrics,\n contentLength = _this$_scrollMetrics.contentLength,\n offset = _this$_scrollMetrics.offset,\n visibleLength = _this$_scrollMetrics.visibleLength;\n\n if (!isVirtualizationDisabled) {\n // If we run this with bogus data, we'll force-render window {first: 0, last: 0},\n // and wipe out the initialNumToRender rendered elements.\n // So let's wait until the scroll view metrics have been set up. And until then,\n // we will trust the initialNumToRender suggestion\n if (visibleLength > 0 && contentLength > 0) {\n // If we have a non-zero initialScrollIndex and run this before we've scrolled,\n // we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.\n // So let's wait until we've scrolled the view to the right place. And until then,\n // we will trust the initialScrollIndex suggestion.\n if (!_this.props.initialScrollIndex || _this._scrollMetrics.offset) {\n newState = computeWindowedRenderLimits(_this.props, state, _this._getFrameMetricsApprox, _this._scrollMetrics);\n }\n }\n } else {\n var distanceFromEnd = contentLength - visibleLength - offset;\n var renderAhead =\n /* $FlowFixMe(>=0.63.0 site=react_native_fb) This comment suppresses\n * an error found when Flow v0.63 was deployed. To see the error\n * delete this comment and run Flow. */\n distanceFromEnd < onEndReachedThreshold * visibleLength ? _this.props.maxToRenderPerBatch : 0;\n newState = {\n first: 0,\n last: Math.min(state.last + renderAhead, getItemCount(data) - 1)\n };\n }\n\n if (newState && _this._nestedChildLists.size > 0) {\n var newFirst = newState.first;\n var newLast = newState.last; // If some cell in the new state has a child list in it, we should only render\n // up through that item, so that we give that list a chance to render.\n // Otherwise there's churn from multiple child lists mounting and un-mounting\n // their items.\n\n for (var ii = newFirst; ii <= newLast; ii++) {\n var cellKeyForIndex = _this._indicesToKeys.get(ii);\n\n var childListKeys = cellKeyForIndex && _this._cellKeysToChildListKeys.get(cellKeyForIndex);\n\n if (!childListKeys) {\n continue;\n }\n\n var someChildHasMore = false; // For each cell, need to check whether any child list in it has more elements to render\n\n for (var _iterator = _createForOfIteratorHelperLoose(childListKeys), _step; !(_step = _iterator()).done;) {\n var childKey = _step.value;\n\n var childList = _this._nestedChildLists.get(childKey);\n\n if (childList && childList.ref && childList.ref.hasMore()) {\n someChildHasMore = true;\n break;\n }\n }\n\n if (someChildHasMore && newState) {\n newState.last = ii;\n break;\n }\n }\n }\n\n if (newState != null && newState.first === state.first && newState.last === state.last) {\n newState = null;\n }\n\n return newState;\n });\n };\n\n _this._createViewToken = function (index, isViewable) {\n var _this$props4 = _this.props,\n data = _this$props4.data,\n getItem = _this$props4.getItem,\n keyExtractor = _this$props4.keyExtractor;\n var item = getItem(data, index);\n return {\n index: index,\n item: item,\n key: keyExtractor(item, index),\n isViewable: isViewable\n };\n };\n\n _this._getFrameMetricsApprox = function (index) {\n var frame = _this._getFrameMetrics(index);\n\n if (frame && frame.index === index) {\n // check for invalid frames due to row re-ordering\n return frame;\n } else {\n var getItemLayout = _this.props.getItemLayout;\n invariant(!getItemLayout, 'Should not have to estimate frames when a measurement metrics function is provided');\n return {\n length: _this._averageCellLength,\n offset: _this._averageCellLength * index\n };\n }\n };\n\n _this._getFrameMetrics = function (index) {\n var _this$props5 = _this.props,\n data = _this$props5.data,\n getItem = _this$props5.getItem,\n getItemCount = _this$props5.getItemCount,\n getItemLayout = _this$props5.getItemLayout,\n keyExtractor = _this$props5.keyExtractor;\n invariant(getItemCount(data) > index, 'Tried to get frame for out of range index ' + index);\n var item = getItem(data, index);\n\n var frame = item && _this._frames[keyExtractor(item, index)];\n\n if (!frame || frame.index !== index) {\n if (getItemLayout) {\n frame = getItemLayout(data, index);\n }\n }\n /* $FlowFixMe(>=0.63.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.63 was deployed. To see the error delete this\n * comment and run Flow. */\n\n\n return frame;\n };\n\n invariant( // $FlowFixMe\n !_props.onScroll || !_props.onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + 'to support native onScroll events with useNativeDriver');\n invariant(_props.windowSize > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');\n _this._fillRateHelper = new FillRateHelper(_this._getFrameMetrics);\n _this._updateCellsToRenderBatcher = new Batchinator(_this._updateCellsToRender, _this.props.updateCellsBatchingPeriod);\n\n if (_this.props.viewabilityConfigCallbackPairs) {\n _this._viewabilityTuples = _this.props.viewabilityConfigCallbackPairs.map(function (pair) {\n return {\n viewabilityHelper: new ViewabilityHelper(pair.viewabilityConfig),\n onViewableItemsChanged: pair.onViewableItemsChanged\n };\n });\n } else if (_this.props.onViewableItemsChanged) {\n var onViewableItemsChanged = _this.props.onViewableItemsChanged;\n\n _this._viewabilityTuples.push({\n viewabilityHelper: new ViewabilityHelper(_this.props.viewabilityConfig),\n onViewableItemsChanged: onViewableItemsChanged\n });\n }\n\n var initialState = {\n first: _this.props.initialScrollIndex || 0,\n last: Math.min(_this.props.getItemCount(_this.props.data), (_this.props.initialScrollIndex || 0) + _this.props.initialNumToRender) - 1\n };\n\n if (_this._isNestedWithSameOrientation()) {\n var storedState = _this.context.getNestedChildState(_this._getListKey());\n\n if (storedState) {\n initialState = storedState;\n _this.state = storedState;\n _this._frames = storedState.frames;\n }\n } // For issue https://github.com/necolas/react-native-web/issues/995\n\n\n _this.invertedWheelEventHandler = function (ev) {\n if (_this.props.inverted && _this._scrollRef && _this._scrollRef.getScrollableNode) {\n var node = _this._scrollRef.getScrollableNode();\n\n if (_this.props.horizontal) {\n node.scrollLeft -= ev.deltaX || ev.wheelDeltaX;\n } else {\n node.scrollTop -= ev.deltaY || ev.wheelDeltaY;\n }\n\n ev.preventDefault();\n }\n };\n\n _this.state = initialState;\n return _this;\n }\n\n _proto.componentDidMount = function componentDidMount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.registerAsNestedChild({\n cellKey: this._getCellKey(),\n key: this._getListKey(),\n ref: this,\n // NOTE: When the child mounts (here) it's not necessarily safe to read\n // the parent's props. This is why we explicitly propagate debugInfo\n // \"down\" via context and \"up\" again via this method call on the\n // parent.\n parentDebugInfo: this.context.debugInfo\n });\n }\n\n this.setupWebWheelHandler();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.unregisterAsNestedChild({\n key: this._getListKey(),\n state: {\n first: this.state.first,\n last: this.state.last,\n frames: this._frames\n }\n });\n }\n\n this._updateViewableItems(null);\n\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n\n this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.dispose();\n });\n\n this._fillRateHelper.deactivateAndFlush();\n\n this.teardownWebWheelHandler();\n };\n\n _proto.setupWebWheelHandler = function setupWebWheelHandler() {\n var _this2 = this;\n\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().addEventListener('wheel', this.invertedWheelEventHandler);\n } else {\n setTimeout(function () {\n return _this2.setupWebWheelHandler();\n }, 50);\n return;\n }\n };\n\n _proto.teardownWebWheelHandler = function teardownWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().removeEventListener('wheel', this.invertedWheelEventHandler);\n }\n };\n\n VirtualizedList.getDerivedStateFromProps = function getDerivedStateFromProps(newProps, prevState) {\n var data = newProps.data,\n getItemCount = newProps.getItemCount,\n maxToRenderPerBatch = newProps.maxToRenderPerBatch; // first and last could be stale (e.g. if a new, shorter items props is passed in), so we make\n // sure we're rendering a reasonable range here.\n\n return {\n first: Math.max(0, Math.min(prevState.first, getItemCount(data) - 1 - maxToRenderPerBatch)),\n last: Math.max(0, Math.min(prevState.last, getItemCount(data) - 1))\n };\n };\n\n _proto._pushCells = function _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) {\n var _this3 = this;\n\n var _this$props6 = this.props,\n CellRendererComponent = _this$props6.CellRendererComponent,\n ItemSeparatorComponent = _this$props6.ItemSeparatorComponent,\n data = _this$props6.data,\n getItem = _this$props6.getItem,\n getItemCount = _this$props6.getItemCount,\n horizontal = _this$props6.horizontal,\n keyExtractor = _this$props6.keyExtractor;\n var stickyOffset = this.props.ListHeaderComponent ? 1 : 0;\n var end = getItemCount(data) - 1;\n var prevCellKey;\n last = Math.min(end, last);\n\n var _loop = function _loop(ii) {\n var item = getItem(data, ii);\n var key = keyExtractor(item, ii);\n\n _this3._indicesToKeys.set(ii, key);\n\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n stickyHeaderIndices.push(cells.length);\n }\n\n cells.push( /*#__PURE__*/React.createElement(CellRenderer, {\n CellRendererComponent: CellRendererComponent,\n ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,\n cellKey: key,\n fillRateHelper: _this3._fillRateHelper,\n horizontal: horizontal,\n index: ii,\n inversionStyle: inversionStyle,\n item: item,\n key: key,\n prevCellKey: prevCellKey,\n onUpdateSeparators: _this3._onUpdateSeparators,\n onLayout: function onLayout(e) {\n return _this3._onCellLayout(e, key, ii);\n },\n onUnmount: _this3._onCellUnmount,\n parentProps: _this3.props,\n ref: function ref(_ref) {\n _this3._cellRefs[key] = _ref;\n }\n }));\n prevCellKey = key;\n };\n\n for (var ii = first; ii <= last; ii++) {\n _loop(ii);\n }\n };\n\n _proto._isVirtualizationDisabled = function _isVirtualizationDisabled() {\n return this.props.disableVirtualization || false;\n };\n\n _proto._isNestedWithSameOrientation = function _isNestedWithSameOrientation() {\n var nestedContext = this.context;\n return !!(nestedContext && !!nestedContext.horizontal === !!this.props.horizontal);\n };\n\n _proto.render = function render() {\n var _this4 = this;\n\n if (__DEV__) {\n var flatStyles = flattenStyle(this.props.contentContainerStyle);\n\n if (flatStyles != null && flatStyles.flexWrap === 'wrap') {\n console.warn('`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' + 'Consider using `numColumns` with `FlatList` instead.');\n }\n }\n\n var _this$props7 = this.props,\n ListEmptyComponent = _this$props7.ListEmptyComponent,\n ListFooterComponent = _this$props7.ListFooterComponent,\n ListHeaderComponent = _this$props7.ListHeaderComponent;\n var _this$props8 = this.props,\n data = _this$props8.data,\n horizontal = _this$props8.horizontal;\n\n var isVirtualizationDisabled = this._isVirtualizationDisabled();\n\n var inversionStyle = this.props.inverted ? this.props.horizontal ? styles.horizontallyInverted : styles.verticallyInverted : null;\n var cells = [];\n var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);\n var stickyHeaderIndices = [];\n\n if (ListHeaderComponent) {\n if (stickyIndicesFromProps.has(0)) {\n stickyHeaderIndices.push(0);\n }\n\n var element = /*#__PURE__*/React.isValidElement(ListHeaderComponent) ? ListHeaderComponent :\n /*#__PURE__*/\n // $FlowFixMe\n React.createElement(ListHeaderComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-header',\n key: \"$header\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutHeader,\n style: StyleSheet.compose(inversionStyle, this.props.ListHeaderComponentStyle)\n }, // $FlowFixMe - Typing ReactNativeComponent revealed errors\n element)));\n }\n\n var itemCount = this.props.getItemCount(data);\n\n if (itemCount > 0) {\n _usedIndexForKey = false;\n _keylessItemComponentName = '';\n var spacerKey = !horizontal ? 'height' : 'width';\n var lastInitialIndex = this.props.initialScrollIndex ? -1 : this.props.initialNumToRender - 1;\n var _this$state = this.state,\n first = _this$state.first,\n last = _this$state.last;\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, 0, lastInitialIndex, inversionStyle);\n\n var firstAfterInitial = Math.max(lastInitialIndex + 1, first);\n\n if (!isVirtualizationDisabled && first > lastInitialIndex + 1) {\n var insertedStickySpacer = false;\n\n if (stickyIndicesFromProps.size > 0) {\n var stickyOffset = ListHeaderComponent ? 1 : 0; // See if there are any sticky headers in the virtualized space that we need to render.\n\n for (var ii = firstAfterInitial - 1; ii > lastInitialIndex; ii--) {\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n var _ref2, _ref3;\n\n var initBlock = this._getFrameMetricsApprox(lastInitialIndex);\n\n var stickyBlock = this._getFrameMetricsApprox(ii);\n\n var leadSpace = stickyBlock.offset - initBlock.offset - (this.props.initialScrollIndex ? 0 : initBlock.length);\n cells.push(\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.111 was deployed. To\n * see the error, delete this comment and run Flow. */\n React.createElement(View, {\n key: \"$sticky_lead\",\n style: (_ref2 = {}, _ref2[spacerKey] = leadSpace, _ref2)\n }));\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, ii, ii, inversionStyle);\n\n var trailSpace = this._getFrameMetricsApprox(first).offset - (stickyBlock.offset + stickyBlock.length);\n cells.push(\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.111 was deployed. To\n * see the error, delete this comment and run Flow. */\n React.createElement(View, {\n key: \"$sticky_trail\",\n style: (_ref3 = {}, _ref3[spacerKey] = trailSpace, _ref3)\n }));\n insertedStickySpacer = true;\n break;\n }\n }\n }\n\n if (!insertedStickySpacer) {\n var _ref4;\n\n var _initBlock = this._getFrameMetricsApprox(lastInitialIndex);\n\n var firstSpace = this._getFrameMetricsApprox(first).offset - (_initBlock.offset + _initBlock.length);\n\n cells.push(\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.111 was deployed. To see\n * the error, delete this comment and run Flow. */\n React.createElement(View, {\n key: \"$lead_spacer\",\n style: (_ref4 = {}, _ref4[spacerKey] = firstSpace, _ref4)\n }));\n }\n }\n\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, firstAfterInitial, last, inversionStyle);\n\n if (!this._hasWarned.keys && _usedIndexForKey) {\n console.warn('VirtualizedList: missing keys for items, make sure to specify a key or id property on each ' + 'item or provide a custom keyExtractor.', _keylessItemComponentName);\n this._hasWarned.keys = true;\n }\n\n if (!isVirtualizationDisabled && last < itemCount - 1) {\n var _ref5;\n\n var lastFrame = this._getFrameMetricsApprox(last); // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to\n // prevent the user for hyperscrolling into un-measured area because otherwise content will\n // likely jump around as it renders in above the viewport.\n\n\n var end = this.props.getItemLayout ? itemCount - 1 : Math.min(itemCount - 1, this._highestMeasuredFrameIndex);\n\n var endFrame = this._getFrameMetricsApprox(end);\n\n var tailSpacerLength = endFrame.offset + endFrame.length - (lastFrame.offset + lastFrame.length);\n cells.push(\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment suppresses\n * an error found when Flow v0.111 was deployed. To see the error,\n * delete this comment and run Flow. */\n React.createElement(View, {\n key: \"$tail_spacer\",\n style: (_ref5 = {}, _ref5[spacerKey] = tailSpacerLength, _ref5)\n }));\n }\n } else if (ListEmptyComponent) {\n var _element = /*#__PURE__*/React.isValidElement(ListEmptyComponent) ? ListEmptyComponent :\n /*#__PURE__*/\n // $FlowFixMe\n React.createElement(ListEmptyComponent, null);\n\n cells.push( /*#__PURE__*/React.cloneElement(_element, {\n key: '$empty',\n onLayout: function onLayout(event) {\n _this4._onLayoutEmpty(event);\n\n if (_element.props.onLayout) {\n _element.props.onLayout(event);\n }\n },\n style: StyleSheet.compose(inversionStyle, _element.props.style)\n }));\n }\n\n if (ListFooterComponent) {\n var _element2 = /*#__PURE__*/React.isValidElement(ListFooterComponent) ? ListFooterComponent :\n /*#__PURE__*/\n // $FlowFixMe\n React.createElement(ListFooterComponent, null);\n\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getFooterCellKey(),\n key: \"$footer\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutFooter,\n style: StyleSheet.compose(inversionStyle, this.props.ListFooterComponentStyle)\n }, // $FlowFixMe - Typing ReactNativeComponent revealed errors\n _element2)));\n }\n\n var scrollProps = _objectSpread(_objectSpread({}, this.props), {}, {\n onContentSizeChange: this._onContentSizeChange,\n onLayout: this._onLayout,\n onScroll: this._onScroll,\n onScrollBeginDrag: this._onScrollBeginDrag,\n onScrollEndDrag: this._onScrollEndDrag,\n onMomentumScrollBegin: this._onMomentumScrollBegin,\n onMomentumScrollEnd: this._onMomentumScrollEnd,\n scrollEventThrottle: this.props.scrollEventThrottle,\n // TODO: Android support\n stickyHeaderIndices: stickyHeaderIndices,\n style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style\n });\n\n this._hasMore = this.state.last < this.props.getItemCount(this.props.data) - 1;\n var innerRet = /*#__PURE__*/React.createElement(VirtualizedListContextProvider, {\n value: {\n cellKey: null,\n getScrollMetrics: this._getScrollMetrics,\n horizontal: this.props.horizontal,\n getOutermostParentListRef: this._getOutermostParentListRef,\n getNestedChildState: this._getNestedChildState,\n registerAsNestedChild: this._registerAsNestedChild,\n unregisterAsNestedChild: this._unregisterAsNestedChild,\n debugInfo: this._getDebugInfo()\n }\n }, /*#__PURE__*/React.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), {\n ref: this._captureScrollRef\n }, cells));\n var ret = innerRet;\n\n if (this.props.debug) {\n return /*#__PURE__*/React.createElement(View, {\n style: styles.debug\n }, ret, this._renderDebugOverlay());\n } else {\n return ret;\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this$props9 = this.props,\n data = _this$props9.data,\n extraData = _this$props9.extraData;\n\n if (data !== prevProps.data || extraData !== prevProps.extraData) {\n // clear the viewableIndices cache to also trigger\n // the onViewableItemsChanged callback with the new data\n this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.resetViewableIndices();\n });\n } // The `this._hiPriInProgress` is guaranteeing a hiPri cell update will only happen\n // once per fiber update. The `_scheduleCellsToRenderUpdate` will set it to true\n // if a hiPri update needs to perform. If `componentDidUpdate` is triggered with\n // `this._hiPriInProgress=true`, means it's triggered by the hiPri update. The\n // `_scheduleCellsToRenderUpdate` will check this condition and not perform\n // another hiPri update.\n\n\n var hiPriInProgress = this._hiPriInProgress;\n\n this._scheduleCellsToRenderUpdate(); // Make sure setting `this._hiPriInProgress` back to false after `componentDidUpdate`\n // is triggered with `this._hiPriInProgress = true`\n\n\n if (hiPriInProgress) {\n this._hiPriInProgress = false;\n }\n };\n\n _proto._computeBlankness = function _computeBlankness() {\n this._fillRateHelper.computeBlankness(this.props, this.state, this._scrollMetrics);\n };\n\n _proto._onCellLayout = function _onCellLayout(e, cellKey, index) {\n var layout = e.nativeEvent.layout;\n var next = {\n offset: this._selectOffset(layout),\n length: this._selectLength(layout),\n index: index,\n inLayout: true\n };\n var curr = this._frames[cellKey];\n\n if (!curr || next.offset !== curr.offset || next.length !== curr.length || index !== curr.index) {\n this._totalCellLength += next.length - (curr ? curr.length : 0);\n this._totalCellsMeasured += curr ? 0 : 1;\n this._averageCellLength = this._totalCellLength / this._totalCellsMeasured;\n this._frames[cellKey] = next;\n this._highestMeasuredFrameIndex = Math.max(this._highestMeasuredFrameIndex, index);\n\n this._scheduleCellsToRenderUpdate();\n } else {\n this._frames[cellKey].inLayout = true;\n }\n\n this._triggerRemeasureForChildListsInCell(cellKey);\n\n this._computeBlankness();\n\n this._updateViewableItems(this.props.data);\n };\n\n _proto._triggerRemeasureForChildListsInCell = function _triggerRemeasureForChildListsInCell(cellKey) {\n var childListKeys = this._cellKeysToChildListKeys.get(cellKey);\n\n if (childListKeys) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(childListKeys), _step2; !(_step2 = _iterator2()).done;) {\n var childKey = _step2.value;\n\n var childList = this._nestedChildLists.get(childKey);\n\n childList && childList.ref && childList.ref.measureLayoutRelativeToContainingList();\n }\n }\n };\n\n _proto.measureLayoutRelativeToContainingList = function measureLayoutRelativeToContainingList() {\n var _this5 = this;\n\n // TODO (T35574538): findNodeHandle sometimes crashes with \"Unable to find\n // node on an unmounted component\" during scrolling\n try {\n if (!this._scrollRef) {\n return;\n } // We are assuming that getOutermostParentListRef().getScrollRef()\n // is a non-null reference to a ScrollView\n\n\n this._scrollRef.measureLayout(this.context.getOutermostParentListRef().getScrollRef(), function (x, y, width, height) {\n _this5._offsetFromParentVirtualizedList = _this5._selectOffset({\n x: x,\n y: y\n });\n _this5._scrollMetrics.contentLength = _this5._selectLength({\n width: width,\n height: height\n });\n\n var scrollMetrics = _this5._convertParentScrollMetrics(_this5.context.getScrollMetrics());\n\n _this5._scrollMetrics.visibleLength = scrollMetrics.visibleLength;\n _this5._scrollMetrics.offset = scrollMetrics.offset;\n }, function (error) {\n console.warn(\"VirtualizedList: Encountered an error while measuring a list's\" + ' offset from its containing VirtualizedList.');\n });\n } catch (error) {\n console.warn('measureLayoutRelativeToContainingList threw an error', error.stack);\n }\n };\n\n _proto._getFooterCellKey = function _getFooterCellKey() {\n return this._getCellKey() + '-footer';\n };\n\n _proto._renderDebugOverlay = function _renderDebugOverlay() {\n var normalize = this._scrollMetrics.visibleLength / (this._scrollMetrics.contentLength || 1);\n var framesInLayout = [];\n var itemCount = this.props.getItemCount(this.props.data);\n\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = this._getFrameMetricsApprox(ii);\n /* $FlowFixMe(>=0.68.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.68 was deployed. To see the error delete this\n * comment and run Flow. */\n\n\n if (frame.inLayout) {\n framesInLayout.push(frame);\n }\n }\n\n var windowTop = this._getFrameMetricsApprox(this.state.first).offset;\n\n var frameLast = this._getFrameMetricsApprox(this.state.last);\n\n var windowLen = frameLast.offset + frameLast.length - windowTop;\n var visTop = this._scrollMetrics.offset;\n var visLen = this._scrollMetrics.visibleLength;\n return /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlay]\n }, framesInLayout.map(function (f, ii) {\n return /*#__PURE__*/React.createElement(View, {\n key: 'f' + ii,\n style: [styles.debugOverlayBase, styles.debugOverlayFrame, {\n top: f.offset * normalize,\n height: f.length * normalize\n }]\n });\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameLast, {\n top: windowTop * normalize,\n height: windowLen * normalize\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameVis, {\n top: visTop * normalize,\n height: visLen * normalize\n }]\n }));\n };\n\n _proto._selectLength = function _selectLength(metrics) {\n return !this.props.horizontal ? metrics.height : metrics.width;\n };\n\n _proto._selectOffset = function _selectOffset(metrics) {\n return !this.props.horizontal ? metrics.y : metrics.x;\n };\n\n _proto._maybeCallOnEndReached = function _maybeCallOnEndReached() {\n var _this$props10 = this.props,\n data = _this$props10.data,\n getItemCount = _this$props10.getItemCount,\n onEndReached = _this$props10.onEndReached,\n onEndReachedThreshold = _this$props10.onEndReachedThreshold;\n var _this$_scrollMetrics2 = this._scrollMetrics,\n contentLength = _this$_scrollMetrics2.contentLength,\n visibleLength = _this$_scrollMetrics2.visibleLength,\n offset = _this$_scrollMetrics2.offset;\n var distanceFromEnd = contentLength - visibleLength - offset;\n var threshold = onEndReachedThreshold ? onEndReachedThreshold * visibleLength : 2;\n\n if (onEndReached && this.state.last === getItemCount(data) - 1 && distanceFromEnd < threshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) {\n // Only call onEndReached once for a given content length\n this._sentEndForContentLength = this._scrollMetrics.contentLength;\n onEndReached({\n distanceFromEnd: distanceFromEnd\n });\n } else if (distanceFromEnd > threshold) {\n // If the user scrolls away from the end and back again cause\n // an onEndReached to be triggered again\n this._sentEndForContentLength = 0;\n }\n };\n\n _proto._scheduleCellsToRenderUpdate = function _scheduleCellsToRenderUpdate() {\n var _this$state2 = this.state,\n first = _this$state2.first,\n last = _this$state2.last;\n var _this$_scrollMetrics3 = this._scrollMetrics,\n offset = _this$_scrollMetrics3.offset,\n visibleLength = _this$_scrollMetrics3.visibleLength,\n velocity = _this$_scrollMetrics3.velocity;\n var itemCount = this.props.getItemCount(this.props.data);\n var hiPri = false;\n var scrollingThreshold =\n /* $FlowFixMe(>=0.63.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.63 was deployed. To see the error delete\n * this comment and run Flow. */\n this.props.onEndReachedThreshold * visibleLength / 2; // Mark as high priority if we're close to the start of the first item\n // But only if there are items before the first rendered item\n\n if (first > 0) {\n var distTop = offset - this._getFrameMetricsApprox(first).offset;\n\n hiPri = hiPri || distTop < 0 || velocity < -2 && distTop < scrollingThreshold;\n } // Mark as high priority if we're close to the end of the last item\n // But only if there are items after the last rendered item\n\n\n if (last < itemCount - 1) {\n var distBottom = this._getFrameMetricsApprox(last).offset - (offset + visibleLength);\n hiPri = hiPri || distBottom < 0 || velocity > 2 && distBottom < scrollingThreshold;\n } // Only trigger high-priority updates if we've actually rendered cells,\n // and with that size estimate, accurately compute how many cells we should render.\n // Otherwise, it would just render as many cells as it can (of zero dimension),\n // each time through attempting to render more (limited by maxToRenderPerBatch),\n // starving the renderer from actually laying out the objects and computing _averageCellLength.\n // If this is triggered in an `componentDidUpdate` followed by a hiPri cellToRenderUpdate\n // We shouldn't do another hipri cellToRenderUpdate\n\n\n if (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) {\n this._hiPriInProgress = true; // Don't worry about interactions when scrolling quickly; focus on filling content as fast\n // as possible.\n\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n\n this._updateCellsToRender();\n\n return;\n } else {\n this._updateCellsToRenderBatcher.schedule();\n }\n };\n\n _proto._updateViewableItems = function _updateViewableItems(data) {\n var _this6 = this;\n\n var getItemCount = this.props.getItemCount;\n\n this._viewabilityTuples.forEach(function (tuple) {\n tuple.viewabilityHelper.onUpdate(getItemCount(data), _this6._scrollMetrics.offset, _this6._scrollMetrics.visibleLength, _this6._getFrameMetrics, _this6._createViewToken, tuple.onViewableItemsChanged, _this6.state);\n });\n };\n\n return VirtualizedList;\n}(React.PureComponent);\n\nVirtualizedList.contextType = VirtualizedListContext;\nVirtualizedList.defaultProps = {\n disableVirtualization: false,\n horizontal: false,\n initialNumToRender: 10,\n keyExtractor: function keyExtractor(item, index) {\n if (item.key != null) {\n return item.key;\n }\n\n if (item.id != null) {\n return item.id;\n }\n\n _usedIndexForKey = true;\n\n if (item.type && item.type.displayName) {\n _keylessItemComponentName = item.type.displayName;\n }\n\n return String(index);\n },\n maxToRenderPerBatch: 10,\n onEndReachedThreshold: 2,\n // multiples of length\n scrollEventThrottle: 50,\n updateCellsBatchingPeriod: 50,\n windowSize: 21 // multiples of length\n\n};\n\nvar CellRenderer = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CellRenderer, _React$Component);\n\n function CellRenderer() {\n var _this7;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this7 = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this7.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: _this7.props.item\n }\n };\n _this7._separators = {\n highlight: function highlight() {\n var _this7$props = _this7.props,\n cellKey = _this7$props.cellKey,\n prevCellKey = _this7$props.prevCellKey;\n\n _this7.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: true\n });\n },\n unhighlight: function unhighlight() {\n var _this7$props2 = _this7.props,\n cellKey = _this7$props2.cellKey,\n prevCellKey = _this7$props2.prevCellKey;\n\n _this7.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: false\n });\n },\n updateProps: function updateProps(select, newProps) {\n var _this7$props3 = _this7.props,\n cellKey = _this7$props3.cellKey,\n prevCellKey = _this7$props3.prevCellKey;\n\n _this7.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps);\n }\n };\n return _this7;\n }\n\n CellRenderer.getDerivedStateFromProps = function getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item\n })\n };\n } // TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not\n // reused by SectionList and we can keep VirtualizedList simpler.\n ;\n\n var _proto2 = CellRenderer.prototype;\n\n _proto2.updateSeparatorProps = function updateSeparatorProps(newProps) {\n this.setState(function (state) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n };\n });\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n this.props.onUnmount(this.props.cellKey);\n };\n\n _proto2._renderElement = function _renderElement(renderItem, ListItemComponent, item, index) {\n if (renderItem && ListItemComponent) {\n console.warn('VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take' + ' precedence over renderItem.');\n }\n\n if (ListItemComponent) {\n /* $FlowFixMe(>=0.108.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.108 was deployed. To see the error, delete\n * this comment and run Flow. */\n return /*#__PURE__*/React.createElement(ListItemComponent, {\n item: item,\n index: index,\n separators: this._separators\n });\n }\n\n if (renderItem) {\n return renderItem({\n item: item,\n index: index,\n separators: this._separators\n });\n }\n\n invariant(false, 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.');\n };\n\n _proto2.render = function render() {\n var _this$props11 = this.props,\n CellRendererComponent = _this$props11.CellRendererComponent,\n ItemSeparatorComponent = _this$props11.ItemSeparatorComponent,\n fillRateHelper = _this$props11.fillRateHelper,\n horizontal = _this$props11.horizontal,\n item = _this$props11.item,\n index = _this$props11.index,\n inversionStyle = _this$props11.inversionStyle,\n parentProps = _this$props11.parentProps;\n var renderItem = parentProps.renderItem,\n getItemLayout = parentProps.getItemLayout,\n ListItemComponent = parentProps.ListItemComponent;\n\n var element = this._renderElement(renderItem, ListItemComponent, item, index);\n\n var onLayout =\n /* $FlowFixMe(>=0.68.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.68 was deployed. To see the error delete this\n * comment and run Flow. */\n getItemLayout && !parentProps.debug && !fillRateHelper.enabled() ? undefined : this.props.onLayout; // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and\n // called explicitly by `ScrollViewStickyHeader`.\n\n var itemSeparator = ItemSeparatorComponent && /*#__PURE__*/React.createElement(ItemSeparatorComponent, this.state.separatorProps);\n var cellStyle = inversionStyle ? horizontal ? [styles.rowReverse, inversionStyle] : [styles.columnReverse, inversionStyle] : horizontal ? [styles.row, inversionStyle] : inversionStyle;\n var result = !CellRendererComponent ?\n /*#__PURE__*/\n\n /* $FlowFixMe(>=0.89.0 site=react_native_fb) This comment suppresses an\n * error found when Flow v0.89 was deployed. To see the error, delete\n * this comment and run Flow. */\n React.createElement(View, {\n style: cellStyle,\n onLayout: onLayout\n }, element, itemSeparator) : /*#__PURE__*/React.createElement(CellRendererComponent, _extends({}, this.props, {\n style: cellStyle,\n onLayout: onLayout\n }), element, itemSeparator);\n return /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this.props.cellKey\n }, result);\n };\n\n return CellRenderer;\n}(React.Component);\n\nfunction describeNestedLists(childList) {\n var trace = 'VirtualizedList trace:\\n' + (\" Child (\" + (childList.horizontal ? 'horizontal' : 'vertical') + \"):\\n\") + (\" listKey: \" + childList.key + \"\\n\") + (\" cellKey: \" + childList.cellKey);\n var debugInfo = childList.parentDebugInfo;\n\n while (debugInfo) {\n trace += \"\\n Parent (\" + (debugInfo.horizontal ? 'horizontal' : 'vertical') + \"):\\n\" + (\" listKey: \" + debugInfo.listKey + \"\\n\") + (\" cellKey: \" + debugInfo.cellKey);\n debugInfo = debugInfo.parent;\n }\n\n return trace;\n}\n\nvar styles = StyleSheet.create({\n verticallyInverted: {\n transform: [{\n scaleY: -1\n }]\n },\n horizontallyInverted: {\n transform: [{\n scaleX: -1\n }]\n },\n row: {\n flexDirection: 'row'\n },\n rowReverse: {\n flexDirection: 'row-reverse'\n },\n columnReverse: {\n flexDirection: 'column-reverse'\n },\n debug: {\n flex: 1\n },\n debugOverlayBase: {\n position: 'absolute',\n top: 0,\n right: 0\n },\n debugOverlay: {\n bottom: 0,\n width: 20,\n borderColor: 'blue',\n borderWidth: 1\n },\n debugOverlayFrame: {\n left: 0,\n backgroundColor: 'orange'\n },\n debugOverlayFrameLast: {\n left: 0,\n borderColor: 'green',\n borderWidth: 2\n },\n debugOverlayFrameVis: {\n left: 0,\n borderColor: 'red',\n borderWidth: 2\n }\n});\nexport default VirtualizedList;","/* global define */\n(function (root, factory) {\n /* istanbul ignore next */\n if (typeof define === 'function' && define.amd) {\n define([], factory);\n } else if (typeof exports === 'object') {\n module.exports = factory();\n } else {\n root.compareVersions = factory();\n }\n}(this, function () {\n\n var semver = /^v?(?:\\d+)(\\.(?:[x*]|\\d+)(\\.(?:[x*]|\\d+)(\\.(?:[x*]|\\d+))?(?:-[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\n\n function indexOrEnd(str, q) {\n return str.indexOf(q) === -1 ? str.length : str.indexOf(q);\n }\n\n function split(v) {\n var c = v.replace(/^v/, '').replace(/\\+.*$/, '');\n var patchIndex = indexOrEnd(c, '-');\n var arr = c.substring(0, patchIndex).split('.');\n arr.push(c.substring(patchIndex + 1));\n return arr;\n }\n\n function tryParse(v) {\n return isNaN(Number(v)) ? v : Number(v);\n }\n\n function validate(version) {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n if (!semver.test(version)) {\n throw new Error('Invalid argument not valid semver (\\''+version+'\\' received)');\n }\n }\n\n function compareVersions(v1, v2) {\n [v1, v2].forEach(validate);\n\n var s1 = split(v1);\n var s2 = split(v2);\n\n for (var i = 0; i < Math.max(s1.length - 1, s2.length - 1); i++) {\n var n1 = parseInt(s1[i] || 0, 10);\n var n2 = parseInt(s2[i] || 0, 10);\n\n if (n1 > n2) return 1;\n if (n2 > n1) return -1;\n }\n\n var sp1 = s1[s1.length - 1];\n var sp2 = s2[s2.length - 1];\n\n if (sp1 && sp2) {\n var p1 = sp1.split('.').map(tryParse);\n var p2 = sp2.split('.').map(tryParse);\n\n for (i = 0; i < Math.max(p1.length, p2.length); i++) {\n if (p1[i] === undefined || typeof p2[i] === 'string' && typeof p1[i] === 'number') return -1;\n if (p2[i] === undefined || typeof p1[i] === 'string' && typeof p2[i] === 'number') return 1;\n\n if (p1[i] > p2[i]) return 1;\n if (p2[i] > p1[i]) return -1;\n }\n } else if (sp1 || sp2) {\n return sp1 ? -1 : 1;\n }\n\n return 0;\n };\n\n var allowedOperators = [\n '>',\n '>=',\n '=',\n '<',\n '<='\n ];\n\n var operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1]\n };\n\n function validateOperator(op) {\n if (typeof op !== 'string') {\n throw new TypeError('Invalid operator type, expected string but got ' + typeof op);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new TypeError('Invalid operator, expected one of ' + allowedOperators.join('|'));\n }\n }\n\n compareVersions.validate = function(version) {\n return typeof version === 'string' && semver.test(version);\n }\n\n compareVersions.compare = function (v1, v2, operator) {\n // Validate operator\n validateOperator(operator);\n\n // since result of compareVersions can only be -1 or 0 or 1\n // a simple map can be used to replace switch\n var res = compareVersions(v1, v2);\n return operatorResMap[operator].indexOf(res) > -1;\n }\n\n return compareVersions;\n}));\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\n// -- Inlined from fbjs --\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction _invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nvar warning = function(){};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\n// /-- Inlined from fbjs --\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return
Hello World
;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return
Hello, {name}!
;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar React = require('react');\nvar factory = require('./factory');\n\nif (typeof React === 'undefined') {\n throw Error(\n 'create-react-class could not find the React object. If you are using script tags, ' +\n 'make sure that React is being loaded before create-react-class.'\n );\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(\n React.Component,\n React.isValidElement,\n ReactNoopUpdateQueue\n);\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hyphenateProperty;\n\nvar _hyphenateStyleName = require('hyphenate-style-name');\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2.default)(property);\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isPrefixedValue;\nvar regex = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && regex.test(value);\n}\nmodule.exports = exports['default'];","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n'use strict';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\n\nvar ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n canUseViewport: canUseDOM && !!window.screen,\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\nmodule.exports = ExecutionEnvironment;","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\n\n\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\n\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n'use strict';\n\nvar validateFormat = process.env.NODE_ENV !== \"production\" ? function (format) {\n if (format === undefined) {\n throw new Error('invariant(...): Second argument must be a string.');\n }\n} : function (format) {};\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments to provide\n * information about what broke and what you were expecting.\n *\n * The invariant message will be stripped in production, but the invariant will\n * remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n validateFormat(format);\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return String(args[argIndex++]);\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // Skip invariant's own stack frame.\n\n throw error;\n }\n}\n\nmodule.exports = invariant;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n'use strict';\n\nvar emptyFunction = require(\"./emptyFunction\");\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\n\nfunction printWarning(format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n}\n\nvar warning = process.env.NODE_ENV !== \"production\" ? function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n} : emptyFunction;\nmodule.exports = warning;","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('./utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('./utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('./utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('./utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n return function prefix(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = backgroundClip;\n\n// https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip#Browser_compatibility\nfunction backgroundClip(property, value) {\n if (typeof value === 'string' && value === 'text') {\n return ['-webkit-text', 'text'];\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('cross-fade(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/cross-fade\\(/g, prefix + 'cross-fade(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('filter(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/filter\\(/g, prefix + 'filter(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\nvar values = {\n flex: ['-webkit-box', '-moz-box', '-ms-flexbox', '-webkit-flex', 'flex'],\n 'inline-flex': ['-webkit-inline-box', '-moz-inline-box', '-ms-inline-flexbox', '-webkit-inline-flex', 'inline-flex']\n};\n\nfunction flex(property, value) {\n if (property === 'display' && values.hasOwnProperty(value)) {\n return values[value];\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n};\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n // Full expanded syntax is flex-grow | flex-shrink | flex-basis.\n};var flexShorthandMappings = {\n auto: '1 1 auto',\n inherit: 'inherit',\n initial: '0 1 auto',\n none: '0 0 auto',\n unset: 'unset'\n};\nvar isUnitlessNumber = /^\\d+(\\.\\d+)?$/;\nvar logTag = 'inline-style-prefixer.flexboxIE plugin';\nfunction flexboxIE(property, value, style) {\n if (Object.prototype.hasOwnProperty.call(alternativeProps, property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n if (property === 'flex') {\n // For certain values we can do straight mappings based on the spec\n // for the expansions.\n if (Object.prototype.hasOwnProperty.call(flexShorthandMappings, value)) {\n style.msFlex = flexShorthandMappings[value];\n return;\n }\n // Here we have no direct mapping, so we favor looking for a\n // unitless positive number as that will be the most common use-case.\n if (isUnitlessNumber.test(value)) {\n style.msFlex = value + ' 1 0%';\n return;\n }\n\n if (typeof value === 'number' && value < 0) {\n // ignore negative values;\n console.warn(logTag + ': \"flex: ' + value + '\", negative values is not valid and will be ignored.');\n return;\n }\n\n if (!value.split) {\n console.warn(logTag + ': \"flex: ' + value + '\", value format is not detected, it will be remain as is');\n style.msFlex = value;\n return;\n }\n\n // The next thing we can look for is if there are multiple values.\n var flexValues = value.split(/\\s/);\n // If we only have a single value that wasn't a positive unitless\n // or a pre-mapped value, then we can assume it is a unit value.\n switch (flexValues.length) {\n case 1:\n style.msFlex = '1 1 ' + value;\n return;\n case 2:\n // If we have 2 units, then we expect that the first will\n // always be a unitless number and represents flex-grow.\n // The second unit will represent flex-shrink for a unitless\n // value, or flex-basis otherwise.\n if (isUnitlessNumber.test(flexValues[1])) {\n style.msFlex = flexValues[0] + ' ' + flexValues[1] + ' 0%';\n } else {\n style.msFlex = flexValues[0] + ' 1 ' + flexValues[1];\n }\n return;\n default:\n style.msFlex = value;\n }\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple'\n};\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nfunction flexboxOld(property, value, style) {\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\n\nfunction gradient(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && values.test(value)) {\n return prefixes.map(function (prefix) {\n return value.replace(values, function (grad) {\n return prefix + grad;\n });\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.default = grid;\nfunction isSimplePositionValue(value) {\n return typeof value === 'number' && !isNaN(value);\n}\n\nfunction isComplexSpanValue(value) {\n return typeof value === 'string' && value.includes('/');\n}\n\nvar alignmentValues = ['center', 'end', 'start', 'stretch'];\n\nvar displayValues = {\n 'inline-grid': ['-ms-inline-grid', 'inline-grid'],\n grid: ['-ms-grid', 'grid']\n};\n\nvar propertyConverters = {\n alignSelf: function alignSelf(value, style) {\n if (alignmentValues.indexOf(value) > -1) {\n style.msGridRowAlign = value;\n }\n },\n\n gridColumn: function gridColumn(value, style) {\n if (isSimplePositionValue(value)) {\n style.msGridColumn = value;\n } else if (isComplexSpanValue(value)) {\n var _value$split = value.split('/'),\n _value$split2 = _slicedToArray(_value$split, 2),\n start = _value$split2[0],\n end = _value$split2[1];\n\n propertyConverters.gridColumnStart(+start, style);\n\n var _end$split = end.split(/ ?span /),\n _end$split2 = _slicedToArray(_end$split, 2),\n maybeSpan = _end$split2[0],\n maybeNumber = _end$split2[1];\n\n if (maybeSpan === '') {\n propertyConverters.gridColumnEnd(+start + +maybeNumber, style);\n } else {\n propertyConverters.gridColumnEnd(+end, style);\n }\n } else {\n propertyConverters.gridColumnStart(value, style);\n }\n },\n\n gridColumnEnd: function gridColumnEnd(value, style) {\n var msGridColumn = style.msGridColumn;\n\n if (isSimplePositionValue(value) && isSimplePositionValue(msGridColumn)) {\n style.msGridColumnSpan = value - msGridColumn;\n }\n },\n\n gridColumnStart: function gridColumnStart(value, style) {\n if (isSimplePositionValue(value)) {\n style.msGridColumn = value;\n }\n },\n\n gridRow: function gridRow(value, style) {\n if (isSimplePositionValue(value)) {\n style.msGridRow = value;\n } else if (isComplexSpanValue(value)) {\n var _value$split3 = value.split('/'),\n _value$split4 = _slicedToArray(_value$split3, 2),\n start = _value$split4[0],\n end = _value$split4[1];\n\n propertyConverters.gridRowStart(+start, style);\n\n var _end$split3 = end.split(/ ?span /),\n _end$split4 = _slicedToArray(_end$split3, 2),\n maybeSpan = _end$split4[0],\n maybeNumber = _end$split4[1];\n\n if (maybeSpan === '') {\n propertyConverters.gridRowEnd(+start + +maybeNumber, style);\n } else {\n propertyConverters.gridRowEnd(+end, style);\n }\n } else {\n propertyConverters.gridRowStart(value, style);\n }\n },\n\n gridRowEnd: function gridRowEnd(value, style) {\n var msGridRow = style.msGridRow;\n\n if (isSimplePositionValue(value) && isSimplePositionValue(msGridRow)) {\n style.msGridRowSpan = value - msGridRow;\n }\n },\n\n gridRowStart: function gridRowStart(value, style) {\n if (isSimplePositionValue(value)) {\n style.msGridRow = value;\n }\n },\n\n gridTemplateColumns: function gridTemplateColumns(value, style) {\n style.msGridColumns = value;\n },\n\n gridTemplateRows: function gridTemplateRows(value, style) {\n style.msGridRows = value;\n },\n\n justifySelf: function justifySelf(value, style) {\n if (alignmentValues.indexOf(value) > -1) {\n style.msGridColumnAlign = value;\n }\n }\n};\n\nfunction grid(property, value, style) {\n if (property === 'display' && value in displayValues) {\n return displayValues[value];\n }\n\n if (property in propertyConverters) {\n var propertyConverter = propertyConverters[property];\n propertyConverter(value, style);\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = logical;\nvar alternativeProps = {\n marginBlockStart: ['WebkitMarginBefore'],\n marginBlockEnd: ['WebkitMarginAfter'],\n marginInlineStart: ['WebkitMarginStart', 'MozMarginStart'],\n marginInlineEnd: ['WebkitMarginEnd', 'MozMarginEnd'],\n paddingBlockStart: ['WebkitPaddingBefore'],\n paddingBlockEnd: ['WebkitPaddingAfter'],\n paddingInlineStart: ['WebkitPaddingStart', 'MozPaddingStart'],\n paddingInlineEnd: ['WebkitPaddingEnd', 'MozPaddingEnd'],\n borderBlockStart: ['WebkitBorderBefore'],\n borderBlockStartColor: ['WebkitBorderBeforeColor'],\n borderBlockStartStyle: ['WebkitBorderBeforeStyle'],\n borderBlockStartWidth: ['WebkitBorderBeforeWidth'],\n borderBlockEnd: ['WebkitBorderAfter'],\n borderBlockEndColor: ['WebkitBorderAfterColor'],\n borderBlockEndStyle: ['WebkitBorderAfterStyle'],\n borderBlockEndWidth: ['WebkitBorderAfterWidth'],\n borderInlineStart: ['WebkitBorderStart', 'MozBorderStart'],\n borderInlineStartColor: ['WebkitBorderStartColor', 'MozBorderStartColor'],\n borderInlineStartStyle: ['WebkitBorderStartStyle', 'MozBorderStartStyle'],\n borderInlineStartWidth: ['WebkitBorderStartWidth', 'MozBorderStartWidth'],\n borderInlineEnd: ['WebkitBorderEnd', 'MozBorderEnd'],\n borderInlineEndColor: ['WebkitBorderEndColor', 'MozBorderEndColor'],\n borderInlineEndStyle: ['WebkitBorderEndStyle', 'MozBorderEndStyle'],\n borderInlineEndWidth: ['WebkitBorderEndWidth', 'MozBorderEndWidth']\n};\n\nfunction logical(property, value, style) {\n if (Object.prototype.hasOwnProperty.call(alternativeProps, property)) {\n var alternativePropList = alternativeProps[property];\n for (var i = 0, len = alternativePropList.length; i < len; ++i) {\n style[alternativePropList[i]] = value;\n }\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n if (prefixProperties.hasOwnProperty(property)) {\n var newStyle = {};\n var requiredPrefixes = prefixProperties[property];\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n var keys = Object.keys(style);\n for (var i = 0; i < keys.length; i++) {\n var styleProperty = keys[i];\n if (styleProperty === property) {\n for (var j = 0; j < requiredPrefixes.length; j++) {\n newStyle[requiredPrefixes[j] + capitalizedProperty] = style[property];\n }\n }\n newStyle[styleProperty] = style[styleProperty];\n }\n return newStyle;\n }\n return style;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\n }\n}","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/*\n * Copyright (c) 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\nfunction normalizeColor(color) {\n var match;\n\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers.hex6.exec(color))) {\n return parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n if (names.hasOwnProperty(color)) {\n return names[color];\n }\n\n if ((match = matchers.rgb.exec(color))) {\n return (\n parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n 0x000000ff // a\n ) >>> 0;\n }\n\n if ((match = matchers.rgba.exec(color))) {\n return (\n parse255(match[1]) << 24 | // r\n parse255(match[2]) << 16 | // g\n parse255(match[3]) << 8 | // b\n parse1(match[4]) // a\n ) >>> 0;\n }\n\n if ((match = matchers.hex3.exec(color))) {\n return parseInt(\n match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n 'ff', // a\n 16\n ) >>> 0;\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers.hex8.exec(color))) {\n return parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers.hex4.exec(color))) {\n return parseInt(\n match[1] + match[1] + // r\n match[2] + match[2] + // g\n match[3] + match[3] + // b\n match[4] + match[4], // a\n 16\n ) >>> 0;\n }\n\n if ((match = matchers.hsl.exec(color))) {\n return (\n hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n 0x000000ff // a\n ) >>> 0;\n }\n\n if ((match = matchers.hsla.exec(color))) {\n return (\n hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]) // l\n ) |\n parse1(match[4]) // a\n ) >>> 0;\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n var r = hue2rgb(p, q, h + 1 / 3);\n var g = hue2rgb(p, q, h);\n var b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n Math.round(r * 255) << 24 |\n Math.round(g * 255) << 16 |\n Math.round(b * 255) << 8\n );\n}\n\n// var INTEGER = '[-+]?\\\\d+';\nvar NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nvar PERCENTAGE = NUMBER + '%';\n\nfunction toArray(arrayLike) {\n return Array.prototype.slice.call(arrayLike, 0);\n}\n\nfunction call() {\n return '\\\\(\\\\s*(' + toArray(arguments).join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nvar matchers = {\n rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)),\n rgba: new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER)),\n hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hsla: new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER)),\n hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#([0-9a-fA-F]{6})$/,\n hex8: /^#([0-9a-fA-F]{8})$/,\n};\n\nfunction parse255(str) {\n var int = parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str) {\n var int = parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str) {\n var num = parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n var int = parseFloat(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nvar names = {\n transparent: 0x00000000,\n\n // http://www.w3.org/TR/css3-color/#svg-color\n aliceblue: 0xf0f8ffff,\n antiquewhite: 0xfaebd7ff,\n aqua: 0x00ffffff,\n aquamarine: 0x7fffd4ff,\n azure: 0xf0ffffff,\n beige: 0xf5f5dcff,\n bisque: 0xffe4c4ff,\n black: 0x000000ff,\n blanchedalmond: 0xffebcdff,\n blue: 0x0000ffff,\n blueviolet: 0x8a2be2ff,\n brown: 0xa52a2aff,\n burlywood: 0xdeb887ff,\n burntsienna: 0xea7e5dff,\n cadetblue: 0x5f9ea0ff,\n chartreuse: 0x7fff00ff,\n chocolate: 0xd2691eff,\n coral: 0xff7f50ff,\n cornflowerblue: 0x6495edff,\n cornsilk: 0xfff8dcff,\n crimson: 0xdc143cff,\n cyan: 0x00ffffff,\n darkblue: 0x00008bff,\n darkcyan: 0x008b8bff,\n darkgoldenrod: 0xb8860bff,\n darkgray: 0xa9a9a9ff,\n darkgreen: 0x006400ff,\n darkgrey: 0xa9a9a9ff,\n darkkhaki: 0xbdb76bff,\n darkmagenta: 0x8b008bff,\n darkolivegreen: 0x556b2fff,\n darkorange: 0xff8c00ff,\n darkorchid: 0x9932ccff,\n darkred: 0x8b0000ff,\n darksalmon: 0xe9967aff,\n darkseagreen: 0x8fbc8fff,\n darkslateblue: 0x483d8bff,\n darkslategray: 0x2f4f4fff,\n darkslategrey: 0x2f4f4fff,\n darkturquoise: 0x00ced1ff,\n darkviolet: 0x9400d3ff,\n deeppink: 0xff1493ff,\n deepskyblue: 0x00bfffff,\n dimgray: 0x696969ff,\n dimgrey: 0x696969ff,\n dodgerblue: 0x1e90ffff,\n firebrick: 0xb22222ff,\n floralwhite: 0xfffaf0ff,\n forestgreen: 0x228b22ff,\n fuchsia: 0xff00ffff,\n gainsboro: 0xdcdcdcff,\n ghostwhite: 0xf8f8ffff,\n gold: 0xffd700ff,\n goldenrod: 0xdaa520ff,\n gray: 0x808080ff,\n green: 0x008000ff,\n greenyellow: 0xadff2fff,\n grey: 0x808080ff,\n honeydew: 0xf0fff0ff,\n hotpink: 0xff69b4ff,\n indianred: 0xcd5c5cff,\n indigo: 0x4b0082ff,\n ivory: 0xfffff0ff,\n khaki: 0xf0e68cff,\n lavender: 0xe6e6faff,\n lavenderblush: 0xfff0f5ff,\n lawngreen: 0x7cfc00ff,\n lemonchiffon: 0xfffacdff,\n lightblue: 0xadd8e6ff,\n lightcoral: 0xf08080ff,\n lightcyan: 0xe0ffffff,\n lightgoldenrodyellow: 0xfafad2ff,\n lightgray: 0xd3d3d3ff,\n lightgreen: 0x90ee90ff,\n lightgrey: 0xd3d3d3ff,\n lightpink: 0xffb6c1ff,\n lightsalmon: 0xffa07aff,\n lightseagreen: 0x20b2aaff,\n lightskyblue: 0x87cefaff,\n lightslategray: 0x778899ff,\n lightslategrey: 0x778899ff,\n lightsteelblue: 0xb0c4deff,\n lightyellow: 0xffffe0ff,\n lime: 0x00ff00ff,\n limegreen: 0x32cd32ff,\n linen: 0xfaf0e6ff,\n magenta: 0xff00ffff,\n maroon: 0x800000ff,\n mediumaquamarine: 0x66cdaaff,\n mediumblue: 0x0000cdff,\n mediumorchid: 0xba55d3ff,\n mediumpurple: 0x9370dbff,\n mediumseagreen: 0x3cb371ff,\n mediumslateblue: 0x7b68eeff,\n mediumspringgreen: 0x00fa9aff,\n mediumturquoise: 0x48d1ccff,\n mediumvioletred: 0xc71585ff,\n midnightblue: 0x191970ff,\n mintcream: 0xf5fffaff,\n mistyrose: 0xffe4e1ff,\n moccasin: 0xffe4b5ff,\n navajowhite: 0xffdeadff,\n navy: 0x000080ff,\n oldlace: 0xfdf5e6ff,\n olive: 0x808000ff,\n olivedrab: 0x6b8e23ff,\n orange: 0xffa500ff,\n orangered: 0xff4500ff,\n orchid: 0xda70d6ff,\n palegoldenrod: 0xeee8aaff,\n palegreen: 0x98fb98ff,\n paleturquoise: 0xafeeeeff,\n palevioletred: 0xdb7093ff,\n papayawhip: 0xffefd5ff,\n peachpuff: 0xffdab9ff,\n peru: 0xcd853fff,\n pink: 0xffc0cbff,\n plum: 0xdda0ddff,\n powderblue: 0xb0e0e6ff,\n purple: 0x800080ff,\n rebeccapurple: 0x663399ff,\n red: 0xff0000ff,\n rosybrown: 0xbc8f8fff,\n royalblue: 0x4169e1ff,\n saddlebrown: 0x8b4513ff,\n salmon: 0xfa8072ff,\n sandybrown: 0xf4a460ff,\n seagreen: 0x2e8b57ff,\n seashell: 0xfff5eeff,\n sienna: 0xa0522dff,\n silver: 0xc0c0c0ff,\n skyblue: 0x87ceebff,\n slateblue: 0x6a5acdff,\n slategray: 0x708090ff,\n slategrey: 0x708090ff,\n snow: 0xfffafaff,\n springgreen: 0x00ff7fff,\n steelblue: 0x4682b4ff,\n tan: 0xd2b48cff,\n teal: 0x008080ff,\n thistle: 0xd8bfd8ff,\n tomato: 0xff6347ff,\n turquoise: 0x40e0d0ff,\n violet: 0xee82eeff,\n wheat: 0xf5deb3ff,\n white: 0xffffffff,\n whitesmoke: 0xf5f5f5ff,\n yellow: 0xffff00ff,\n yellowgreen: 0x9acd32ff,\n};\n\nfunction rgba(colorInt) {\n var r = Math.round(((colorInt & 0xff000000) >>> 24));\n var g = Math.round(((colorInt & 0x00ff0000) >>> 16));\n var b = Math.round(((colorInt & 0x0000ff00) >>> 8));\n var a = ((colorInt & 0x000000ff) >>> 0) / 255;\n return {\n r: r,\n g: g,\n b: b,\n a: a,\n };\n};\n\nnormalizeColor.rgba = rgba;\n\nmodule.exports = normalizeColor;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), ':list='].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), ':list=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'colon-list-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(:list)$/.exec(key);\n\t\t\t\tkey = key.replace(/:list$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","var _typeof = require(\"./typeof.js\")[\"default\"];\n\nfunction _regeneratorRuntime() {\n \"use strict\";\n /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return generator._invoke = function (innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }(innerFn, self, context), generator;\n }\n\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n\n exports.wrap = wrap;\n var ContinueSentinel = {};\n\n function Generator() {}\n\n function GeneratorFunction() {}\n\n function GeneratorFunctionPrototype() {}\n\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n\n reject(record.arg);\n }\n\n var previousPromise;\n\n this._invoke = function (method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n };\n }\n\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n\n if (undefined === method) {\n if (context.delegate = null, \"throw\" === context.method) {\n if (delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method)) return ContinueSentinel;\n context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n\n return next.value = undefined, next.done = !0, next;\n };\n\n return next.next = next;\n }\n }\n\n return {\n next: doneResult\n };\n }\n\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, \"constructor\", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (object) {\n var keys = [];\n\n for (var key in object) {\n keys.push(key);\n }\n\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n\n return thrown;\n }\n }\n\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\n\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\n\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n let i = size\n while (i--) {\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\nlet nanoid = (size = 21) => {\n let id = ''\n let i = size\n while (i--) {\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\nexport { nanoid, customAlphabet }\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}"],"names":["goBack","type","navigate","arguments","length","undefined","payload","name","params","hasOwnProperty","Error","reset","state","setParams","_toConsumableArray","arr","Array","isArray","arrayLikeToArray","iter","Symbol","iterator","from","unsupportedIterableToArray","TypeError","NOT_INITIALIZED_ERROR","createNavigationContainerRef","methods","concat","Object","keys","CommonActions","listeners","removeListener","event","callback","filter","cb","current","ref","_objectSpread","value","entries","forEach","_ref","_ref2","_slicedToArray","addListener","isReady","reduce","acc","_len","args","_key","_current","apply","push","console","error","MULTIPLE_NAVIGATOR_ERROR","SingleNavigatorContext","React","EnsureSingleNavigator","children","navigatorKeyRef","register","key","currentKey","unregister","Provider","findFocusedRoute","_current2","_current$index3","_current3","routes","_current$index","index","_current$index2","onDispatchAction","onOptionsChange","MISSING_CONTEXT_ERROR","isDefault","getKey","setKey","getState","setState","getIsInitial","useChildListeners","action","focus","listener","indexOf","splice","useEventEmitter","listen","listenRef","create","target","callbacks","emit","_items$target","_listenRef$current","data","canPreventDefault","items","slice","map","t","i","self","lastIndexOf","defineProperty","enumerable","get","defaultPrevented","defineProperties","preventDefault","call","useKeyedChildListeners","keyedListeners","beforeRemove","addKeyedListener","useOptionsGetters","options","navigation","optionsRef","optionsGettersFromChildRef","NavigationBuilderContext","parentAddOptionsGetter","NavigationStateContext","addOptionsGetter","optionsChangeListener","_navigation$isFocused","_optionsRef$current","isFocused","hasChildren","getOptionsFromListener","_optionsGettersFromCh","_optionsGettersFromCh2","result","getCurrentOptions","_navigation$isFocused2","optionsFromListener","getter","ScheduleUpdateContext","scheduleUpdate","flushUpdates","UNINTIALIZED_STATE","getPartialState","routeNames","_objectWithoutProperties","_excluded","stale","route","initialState","onStateChange","onUnhandledAction","independent","_useSyncState","stateRef","isSchedulingRef","isMountedRef","_React$useState","_React$useState2","trackingState","setTrackingState","useSyncState","_useSyncState2","isFirstMountRef","_useChildListeners","_useKeyedChildListene","dispatch","canGoBack","_listeners$focus$","handled","resetRoot","_state$key","_keyedListeners$getSt","_keyedListeners$getSt2","root","getRootState","_keyedListeners$getSt3","_keyedListeners$getSt4","getCurrentRoute","emitter","_useOptionsGetters","getParent","noop","stack","stackRef","lastEmittedOptionsRef","builderContext","scheduleContext","isInitialRef","context","onStateChangeRef","hydratedState","defaultOnUnhandledAction","element","NavigationContainerRefContext","UnhandledActionContext","NavigationRouteContext","NavigationContext","Group","_","Screen","createNavigatorFactory","Navigator","_extends","assign","bind","source","prototype","this","getActionFromState","_state$index","_normalizedConfig$scr","normalizedConfig","createNormalizedConfigItem","initialRouteName","config","screens","path","_config","_config2","_config2$screens","initial","screen","createNormalizedConfigs","k","v","CHILD_STATE","getFocusedRouteNameFromRoute","_route$CHILD_STATE","fromEntries","formatToList","join","validatePathConfig","validKeys","invalidKeys","includes","getActiveRoute","getPathFromState","configs","allParams","_loop","pattern","focusedParams","focusedRoute","currentOptions","nestedRouteNames","hasNext","stringify","_currentOptions$route","currentParams","_ref3","String","_pattern","split","p","startsWith","getParamName","nextRoute","nestedConfig","endsWith","encodeURIComponent","param","query","queryString","sort","replace","joinPaths","_ref4","paths","Boolean","_ref5","parentPattern","_pattern2","exact","createConfigItem","getStateFromPath","initialRoutes","parentScreens","remaining","segment","decodeURIComponent","createNestedStateObject","a","b","localeCompare","aParts","bParts","Math","max","aWildCard","bWildCard","every","it","_defineProperty","match","find","_configs$find","c","_matchAgainstConfigs","matchAgainstConfigs","regex","RegExp","remainingPath","_step","matchedParams","_config$pattern","_config$path","_config$parse","parse","_iterator","_createForOfIteratorHelperLoose","done","_ret","routeConfig","initials","pop","escape","findInitialRoute","routeName","_step3","_iterator3","sameParents","createStateObject","initialRoute","isEmpty","flatConfig","shift","nestedState","nestedStateIndex","parseQueryParams","_step2","_iterator2","findParseConfigForRoute","parseConfig","PrivateValueStore","_createClass","_classCallCheck","useNavigation","useFocusEffect","effect","cleanup","destroy","unsubscribeFocus","unsubscribeBlur","useIsFocused","_useState","useState","_useState2","setIsFocused","valueToReturn","isArrayEqual","props","prevProps","nextProps","prevPropKeys","nextPropKeys","_i","_prevPropKeys","SceneView","routeState","clearOptions","getCurrentState","currentRoute","r","setCurrentState","child","ScreenComponent","getComponent","component","StaticContainer","render","useDescriptors","screenOptions","defaultScreenOptions","onAction","onRouteFocus","router","setOptions","_React$useContext","navigations","cache","actions","actionCreators","previous","rest","thunk","withStack","helpers","id","getId","o","useNavigationCache","Map","useRouteCache","customOptions","curr","mergedOptions","_route$key","_toPropertyKey","VISITED_ROUTE_KEYS","shouldPreventRemove","beforeRemoveListeners","currentRoutes","nextRoutes","_action$VISITED_ROUTE","nextRouteKeys","removedRoutes","reverse","visitedRouteKeys","Set","beforeRemoveAction","_beforeRemoveListener","has","add","useOnAction","actionListeners","routerConfigOptions","onActionParent","onRouteFocusParent","addListenerParent","routerConfigOptionsRef","visitedNavigators","getStateForAction","shouldActionChangeFocus","routeKey","useOnPreventRemove","isValidKey","getRouteConfigsFromChildren","groupKey","groupOptions","_child$type","_child$props","navigationKey","JSON","useNavigationBuilder","createRouter","navigatorKey","nanoid","container","useRegisterNavigator","screenListeners","routeConfigs","routeKeyList","routeParamList","initialParams","routeGetIdList","isStateValid","isStateInitialized","currentState","stateCleanedUp","cleanUpState","_React$useMemo","_route$params4","_route$params$state","_route$params5","initialRouteParamList","_route$params","_route$params2","_route$params3","initialParamsFromParams","getRehydratedState","getInitialState","_React$useMemo2","initializedState","isFirstStateInitialization","previousRouteKeyListRef","previousRouteKeyList","nextState","aKeys","bKeys","isRecordEqual","getStateForRouteNamesChange","routeKeyChanges","previousNestedParamsRef","previousParams","updatedState","shouldUpdate","useScheduleUpdate","setTimeout","initializedStateRef","e","_route","_route2","descriptors","lastFocusedKeyRef","currentFocusedKey","lastFocusedKey","useFocusEvents","childListeners","sourceRouteKey","getStateForRouteFocus","useOnRouteFocus","navigatorId","parentNavigationHelpers","op","navigationHelpers","useNavigationHelpers","focusedListeners","_listener2","useFocusedListenersChildrenAdapter","getStateListeners","_getStateListeners$ro","childState","useOnGetState","CurrentRenderContext","useCurrentRender","NavigationContent","Component","propsRef","useComponent","NavigationHelpersContext","useNavigationContainerRef","useNavigationState","selector","setResult","selectorRef","useRoute","findIndex","some","TYPE_ROUTE","TabActions","jumpTo","getRouteHistory","backBehavior","initialRouteIndex","history","unshift","changeIndex","TabRouter","_ref$backBehavior","BaseRouter","partialState","_state$routes","_state$history$filter","_state$history","min","merge","previousKey","DrawerActions","openDrawer","closeDrawer","toggleDrawer","DrawerRouter","_ref$defaultStatus","defaultStatus","isDrawerInHistory","addDrawerToHistory","status","removeDrawerFromHistory","default","StackActions","count","popToTop","StackRouter","_action$payload","_action$payload$path","_action$payload$key","module","exports","string","for","d","f","g","h","l","m","n","q","w","x","y","z","u","$$typeof","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","CSSTransitions","WebkitTransition","Transition","MozTransition","MSTransition","OTransition","NativeSafeAreaProvider","style","onInsetsChange","document","createElement","position","left","top","width","height","zIndex","overflow","visibility","transitionDuration","transitionProperty","transitionDelay","paddingTop","getInset","paddingBottom","paddingLeft","paddingRight","createContextElement","body","appendChild","onEnd","_window$getComputedSt","window","getComputedStyle","insets","parseInt","bottom","right","frame","documentElement","offsetWidth","offsetHeight","nativeEvent","addEventListener","getSupportedTransitionEvent","removeChild","removeEventListener","View","_supportedTransitionEvent","_supportedEnv","side","CSS","supports","getSupportedEnv","SafeAreaInsetsContext","SafeAreaFrameContext","SafeAreaProvider","_initialMetrics$inset","_initialMetrics$frame","initialMetrics","initialSafeAreaInsets","others","parentInsets","parentFrame","setInsets","_React$useState3","Dimensions","_React$useState4","setFrame","_event$nativeEvent","nextFrame","nextInsets","styles","fill","StyleSheet","flex","NO_INSETS_ERROR","useSafeAreaInsets","safeArea","useSafeAreaFrame","Consumer","_Dimensions$get","_Dimensions$get$width","_Dimensions$get$heigh","Platform","SafeAreaProviderCompat","useTheme","ThemeContext","Background","colors","backgroundColor","background","getDefaultHeaderHeight","layout","modalPresentation","statusBarHeight","isLandscape","contexts","getNamedContext","initialValue","global","displayName","set","_global$contexts","dimensions","isParentHeaderShown","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","focused","_props$modal","modal","header","_props$headerShown","headerShown","headerTransparent","_props$headerStatusBa","headerStatusBarHeight","headerHeight","setHeaderHeight","accessibilityElementsHidden","importantForAccessibility","content","onLayout","absolute","flexDirection","getHeaderTitle","fallback","headerTitle","title","nativeEventEmitter","NativeAnimatedModule","RN$Bridgeless","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","waitingForQueuedOperations","queueOperations","queue","API","getValue","tag","saveValueCallback","invariant","setWaitingForIdentifier","unsetWaitingForIdentifier","delete","size","disableQueue","startOperationBatch","finishOperationBatch","queueOperation","fn","createAnimatedNode","startListeningToAnimatedNodeValue","stopListeningToAnimatedNodeValue","connectAnimatedNodes","parentTag","childTag","disconnectAnimatedNodes","startAnimatingNode","animationId","nodeTag","endCallback","stopAnimation","setAnimatedNodeValue","setAnimatedNodeOffset","offset","flattenAnimatedNodeOffset","extractAnimatedNodeOffset","connectAnimatedNodeToView","viewTag","disconnectAnimatedNodeFromView","restoreDefaultValues","dropAnimatedNode","addAnimatedEventToView","eventName","eventMapping","removeAnimatedEventFromView","animatedNodeTag","SUPPORTED_STYLES","opacity","transform","borderRadius","borderBottomEndRadius","borderBottomLeftRadius","borderBottomRightRadius","borderBottomStartRadius","borderTopEndRadius","borderTopLeftRadius","borderTopRightRadius","borderTopStartRadius","elevation","shadowOpacity","shadowRadius","scaleX","scaleY","translateX","translateY","SUPPORTED_TRANSFORMS","scale","rotate","rotateX","rotateY","rotateZ","perspective","SUPPORTED_INTERPOLATION_PARAMS","inputRange","outputRange","extrapolate","extrapolateRight","extrapolateLeft","generateNewAnimationId","_warnedMissingNativeAnimated","shouldUseNativeDriver","useNativeDriver","warn","addWhitelistedStyleProp","prop","addWhitelistedTransformProp","addWhitelistedInterpolationParam","validateStyles","validateTransform","property","validateInterpolation","_key2","generateNewNodeTag","assertNativeAnimatedModule","transformDataType","test","parseFloat","PI","NativeEventEmitter","NativeAnimatedAPI","NativeAnimatedHelper","_uniqueId","_proto","AnimatedNode","_listeners","__attach","__detach","__isNative","__nativeTag","__getValue","__getAnimatedValue","__addChild","__removeChild","__getChildren","__makeNative","hasListeners","_startListeningToNativeValueUpdates","_stopListeningForNativeValueUpdates","removeAllListeners","_this","__nativeAnimatedValueListener","__shouldUpdateListenersForNewNativeTag","__getNativeTag","_onAnimatedValueUpdateReceived","__callListeners","remove","_this$__nativeTag","nativeTag","__getNativeConfig","toJSON","allowArrayLike","minLen","_arrayLikeToArray","toString","constructor","_unsupportedIterableToArray","next","len","arr2","_setPrototypeOf","setPrototypeOf","__proto__","_AnimatedNode","subClass","superClass","AnimatedWithChildren","_children","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","getOwnPropertyDescriptors","obj","configurable","writable","linear","createInterpolation","colorToRgba","stringShapeRegex","checkPattern","outputRanges","number","interpolations","shouldRound","range","input","val","round","createInterpolationFromStringOutputRange","checkInfiniteRange","checkValidInputRange","easing","findRange","inputMin","inputMax","outputMin","outputMax","Infinity","interpolate","normalizedColor","normalizeColor","AnimatedInterpolation","_AnimatedWithChildren","parent","_parent","_interpolation","parentValue","__transformDataType","__createInterpolation","AnimatedValue","_startingValue","_value","_offset","_animation","_this2","setValue","stop","_updateValue","setOffset","flattenOffset","extractOffset","stopTracking","resetAnimation","animate","animation","_this3","handle","__isInteraction","InteractionManager","previousAnimation","start","_tracking","track","tracking","flush","rootNode","animatedStyles","findAnimatedStyles","node","update","animatedStyle","_flush","attachNativeEvent","viewRef","argMapping","eventMappings","traverse","nativeEventPath","animatedValueTag","findNodeHandle","mapping","detach","AnimatedEvent","_argMapping","__addListener","_callListeners","_attachedEvent","__removeListener","__getHandler","_len2","_key3","recMapping","recEvt","mappingKey","idx","_len3","_key4","AnimatedTransform","transforms","_transforms","transConfigs","AnimatedStyle","flattenStyle","_style","_walkStyleAndGetValues","updatedStyle","_walkStyleAndGetAnimatedValues","styleConfig","styleKey","AnimatedProps","_props","_callback","_animatedView","__disconnectAnimatedView","__connectAnimatedView","setNativeView","animatedView","nativeViewTag","__restoreDefaultValues","propsConfig","propKey","getForwardedRef","setLocalRef","forwardedRef","_objectWithoutPropertiesLoose","excluded","sourceKeys","animatedComponentNextId","isReactComponent","AnimatedComponent","_React$Component","_invokeAnimatedPropsCallbackOnMount","_eventDetachers","_animatedComponentId","_isFabric","_this$_component$_int","_this$_component$_int2","_this$_component$getN","_this$_component$getN2","_this$_component$getS","_this$_component$getS2","_component","stateNode","canonical","getNativeScrollRef","getScrollResponder","_waitForUpdate","_markUpdateComplete","_animatedPropsCallback","setNativeProps","forceUpdate","_propsAnimated","_setComponentRef","setAndForwardRef","_prevComponent","getNode","_ref$constructor$name","_attachNativeEvents","_this$_component","scrollableNode","getScrollableNode","_detachNativeEvents","_attachProps","oldPropsAnimated","_ref$style","passthroughAnimatedPropExplicitValues","_ref2$style","passthruStyle","passthruProps","mergedStyle","UNSAFE_componentWillMount","componentDidMount","UNSAFE_componentWillReceiveProps","newProps","componentDidUpdate","componentWillUnmount","createAnimatedComponent","FlatList","scrollEventThrottle","Image","collapsable","ScrollView","_assertThisInitialized","ReferenceError","_inheritsLoose","VirtualizedSectionList","_React$PureComponent","_getItem","sections","itemIdx","section","sectionData","itemCount","getItemCount","getItem","_keyExtractor","item","info","_subExtractor","_convertViewable","viewable","keyExtractor","_onViewableItemsChanged","viewableItems","changed","onViewableItemsChanged","_renderItem","listItemCount","infoIndex","renderSectionHeader","renderSectionFooter","renderItem","SeparatorComponent","_getSeparatorComponent","ItemWithSeparator","LeadingSeparatorComponent","SectionSeparatorComponent","cellKey","leadingItem","leadingSection","onUpdateSeparator","_onUpdateSeparator","prevCellKey","_cellRefs","trailingItem","trailingSection","inverted","updateSeparatorProps","_captureRef","_listRef","scrollToLocation","itemIndex","sectionIndex","viewOffset","stickySectionHeadersEnabled","_getFrameMetricsApprox","toIndexParams","scrollToIndex","getListRef","_this$props","passThroughProps","ItemSeparatorComponent","listHeaderOffset","ListHeaderComponent","stickyHeaderIndices","VirtualizedList","_this$props2","isLastItemInList","isLastItemInSection","defaultProps","separatorProps","highlighted","leadingSeparatorProps","_separators","highlight","s","updateProps","unhighlight","select","_this3$props","getDerivedStateFromProps","prevState","_proto2","_this$props3","separators","leadingSeparator","separator","SectionList","_wrapperListRef","recordInteraction","listRef","flashScrollIndicators","Text","AnimatedAddition","_a","_b","AnimatedDiffClamp","_min","_max","_lastValue","diff","AnimatedDivision","_warnedAboutDivideByZero","AnimatedModulo","modulus","_modulus","AnimatedMultiplication","AnimatedSubtraction","AnimatedTracking","animationClass","animationConfig","_animationClass","_animationConfig","_useNativeDriver","toValue","__getNativeAnimationConfig","AnimatedValueXY","valueIn","jointCallback","getLayout","getTranslateTransform","startNativeAnimationNextId","Animation","fromValue","onUpdate","animatedValue","__nativeId","__debouncedOnEnd","__onEnd","__startNativeAnimation","startNativeAnimationWaitId","_Animation","DecayAnimation","_config$deceleration","_config$isInteraction","_config$iterations","_deceleration","deceleration","_velocity","velocity","isInteraction","__iterations","iterations","__active","_fromValue","_onUpdate","_startTime","Date","now","_animationFrame","requestAnimationFrame","exp","abs","finished","cancelAnimationFrame","stiffnessFromOrigamiValue","oValue","dampingFromOrigamiValue","fromOrigamiTensionAndFriction","tension","friction","stiffness","damping","fromBouncinessAndSpeed","bounciness","speed","normalize","startValue","endValue","projectNormal","end","bouncyTension","bouncyFriction","pow","b3Friction2","b3Friction3","b3Nobounce","linearInterpolation","SpringAnimation","_config$overshootClam","_config$restDisplacem","_config$restSpeedThre","_config$velocity","_config$velocity2","_config$delay","_config$stiffness","_config$damping","_config$mass","_overshootClamping","overshootClamping","_restDisplacementThreshold","restDisplacementThreshold","_restSpeedThreshold","restSpeedThreshold","_initialVelocity","_lastVelocity","_toValue","_delay","delay","mass","_stiffness","_damping","_mass","_config$bounciness","_config$speed","springConfig","SpringConfig","_config$tension","_config$friction","_springConfig","_this$_initialVelocit","initialVelocity","_startPosition","_lastPosition","_lastTime","_frameTime","internalState","getInternalState","lastPosition","lastVelocity","lastTime","_timeout","deltaTime","v0","zeta","sqrt","omega0","omega1","x0","envelope","sin","cos","_envelope","isOvershooting","isVelocity","isDisplacement","clearTimeout","_ease","NEWTON_ITERATIONS","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSampleStepSize","float32ArraySupported","Float32Array","aA1","aA2","B","C","calcBezier","aT","getSlope","bezier","mX1","mY1","mX2","mY2","sampleValues","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","_aGuessT","aGuessT","currentSlope","newtonRaphsonIterate","_aA","_aB","currentX","currentT","aA","aB","binarySubdivide","Easing","step0","step1","ease","quad","cubic","poly","circle","elastic","back","bounce","_t","_t2","t2","x1","y1","x2","y2","_bezier","in","out","inOut","_easeInOut","TimingAnimation","_config$easing","_config$duration","_easing","_duration","duration","frames","numFrames","_combineCallbacks","onComplete","maybeVectorAnim","anim","configX","configY","_config$key","aY","parallel","stopTogether","timing","_start2","configuration","singleValue","singleConfig","_startNativeLoop","_isUsingNativeDriver","sequence","animations","doneCount","hasEnded","endResult","time","Value","ValueXY","Interpolation","Node","decay","_start3","spring","_start","subtract","divide","multiply","modulo","diffClamp","stagger","loop","_temp","_ref$iterations","_ref$resetBeforeItera","resetBeforeIteration","isFinished","iterationsSoFar","restart","animatedEvent","forkEvent","unforkEvent","Event","__PropsOnlyForTests","emptyAnimation","anyValue","AnimatedImplementation","AnimatedMock","HeaderBackground","Animated","card","borderBottomColor","border","shadowColor","android","ios","shadowOffset","borderBottomWidth","HeaderTitle","tintColor","accessibilityRole","numberOfLines","color","text","fontSize","fontWeight","fontFamily","Header","_props$layout","customTitle","_props$headerTitleAli","headerTitleAlign","headerLeft","headerLeftLabelVisible","headerTintColor","headerBackground","headerRight","titleAllowFontScaling","headerTitleAllowFontScaling","titleStyle","headerTitleStyle","leftContainerStyle","headerLeftContainerStyle","rightContainerStyle","headerRightContainerStyle","titleContainerStyle","headerTitleContainerStyle","backgroundContainerStyle","headerBackgroundContainerStyle","customHeaderStyle","headerStyle","headerShadowVisible","headerPressColor","headerPressOpacity","defaultHeight","_StyleSheet$flatten","_StyleSheet$flatten$h","minHeight","maxHeight","borderColor","borderEndColor","borderEndWidth","borderLeftColor","borderLeftWidth","borderRightColor","borderRightWidth","borderStartColor","borderStartWidth","borderStyle","borderTopColor","borderTopWidth","borderWidth","boxShadow","safeStyles","styleProp","backgroundStyle","leftButton","pressColor","pressOpacity","labelVisible","rightButton","pointerEvents","expand","marginStart","maxWidth","allowFontScaling","marginEnd","alignItems","marginHorizontal","justifyContent","flexGrow","flexBasis","MaskedView","emptyFunction","canUsePassiveEvents","supported","canUseDOM","supportsPassiveEvents","isPropagationStopped","cancelBubble","isDefaultPrevented","createEventHandle","opts","capture","getOptions","compatListener","persist","previousModality","previousActiveModality","activeModality","modality","isEmulatingMouseEvents","KEYBOARD","MOUSE","TOUCH","CONTEXTMENU","MOUSEDOWN","MOUSEMOVE","MOUSEUP","POINTERDOWN","POINTERMOVE","SCROLL","SELECTIONCHANGE","TOUCHCANCEL","TOUCHMOVE","TOUCHSTART","bubbleOptions","passive","captureOptions","addBlurListener","addFocusListener","addVisibilityChangeListener","addKeyDownListener","addPointerDownListener","addPointerMoveListener","addContextMenuListener","addMouseDownListener","addMouseMoveListener","addMouseUpListener","addScrollListener","addSelectiomChangeListener","addTouchCancelListener","addTouchMoveListener","addTouchStartListener","restoreModality","callListeners","onPointerish","eventType","PointerEvent","pointerType","touches","metaKey","altKey","ctrlKey","visibilityState","useEvent","targetListeners","useStable","removeTargetListener","useLayoutEffect","clear","emptyObject","lockEventType","unlockEventType","supportsPointerEvent","dispatchCustomEvent","createEvent","_ref$bubbles","bubbles","_ref$cancelable","cancelable","detail","initCustomEvent","dispatchEvent","getPointerType","useForceableState","forced","cursor","touchAction","MemoedPressable","memo","forwardRef","delayLongPress","delayPressIn","delayPressOut","disabled","focusable","onBlur","onContextMenu","onFocus","onHoverIn","onHoverOut","onKeyDown","onLongPress","onPress","onPressMove","onPressIn","onPressOut","testOnly_hovered","testOnly_pressed","_useForceableState","hovered","setHovered","_useForceableState2","setFocused","_useForceableState3","pressed","setPressed","hostRef","useRef","setRef","useMergeRefs","pressConfig","useMemo","delayPressStart","delayPressEnd","onPressChange","onPressStart","onPressEnd","pressEventHandlers","usePressEvents","onContextMenuPress","onKeyDownPress","targetRef","contain","onHoverStart","onHoverChange","onHoverUpdate","onHoverEnd","canUsePE","addMoveListener","addEnterListener","addLeaveListener","addLockListener","addUnlockListener","hoverEnd","leaveListener","moveListener","clientX","clientY","hoverStart","lockEvent","useHover","interactionState","blurHandler","focusHandler","contextMenuHandler","keyDownHandler","accessibilityDisabled","AnimatedPressable","Pressable","ANDROID_SUPPORTS_RIPPLE","PlatformPressable","android_ripple","_ref$pressOpacity","dark","animateTo","HeaderBackButton","backImage","label","labelStyle","onLabelLayout","screenLayout","customTintColor","titleLayout","_ref$truncatedLabel","truncatedLabel","_ref$accessibilityLab","accessibilityLabel","testID","initialLabelWidth","setInitialLabelWidth","primary","handleLabelLayout","accessible","borderless","hitSlop","icon","iconWithLabel","require","fadeDuration","leftLabelText","labelElement","labelWrapper","minWidth","maskElement","iconMaskContainer","iconMask","iconMaskFillerRect","renderLabel","marginVertical","letterSpacing","marginLeft","marginRight","resizeMode","I18nManager","margin","alignSelf","TRANSPARENT_PRESENTATIONS","NativeStackView","_state$routes2","nextKey","previousDescriptor","nexDescriptor","_descriptors$route$ke","headerBackImageSource","headerBackTitle","presentation","contentStyle","nextPresentation","display","contentContainer","_useNavigationBuilder","_navigation$addListen","LinkingContext","ThemeProvider","exitApp","createMemoryHistory","pending","interrupt","_window$history$state","backIndex","pushState","_window$history$state2","_window$history$state3","replaceState","go","Promise","resolve","reject","interrupted","timer","onPopState","_window$history$state4","currentIndex","last","findMatchingState","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","series","handling","_regeneratorRuntime","_context","prev","abrupt","finish","REACT_NAVIGATION_DEVTOOLS","WeakMap","_ref$theme","theme","DefaultTheme","linking","_ref$fallback","documentTitle","onReady","isLinkingEnabled","enabled","refContainer","subscription","BackHandler","useBackButton","_ref$enabled","_ref$formatter","formatter","_options$title","useDocumentTitle","_ref4$enabled","_ref4$getStateFromPat","getStateFromPathDefault","_ref4$getPathFromStat","getPathFromStateDefault","_ref4$getActionFromSt","getActionFromStateDefault","enabledRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","server","ServerContext","_server$location","location","pathname","search","thenable","then","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","_previousIndexRef$cur","previousIndex","record","rootState","message","_ref$current","getPathForRoute","stateForPath","isEqual","previousState","pendingPath","_findMatchingState","_findMatchingState2","previousFocusedState","focusedState","historyDelta","nextIndex","_context2","t0","useLinking","prefixes","_linking$prefixes","_linking$getStateFrom","_linking$getPathFromS","_linking$getActionFro","_useThenable","promise","resolved","cancelled","sent","useThenable","_useThenable2","isResolved","linkingContext","onReadyRef","_onReadyRef$current","BaseNavigationContainer","notification","LOCAL_STORAGE_KEY","saveRecoveryProps","localStorage","setItem","_unused2","recoveredProps","removeItem","_unused","_consumeRecoveryProps","ExpoErrorRecovery","_getRecoveredProps","setRecoveryProps","setRecoveryPropsToSave","RCTDeviceEventEmitter","nativeEmitterSubscriptionKey","EventEmitter","nativeModule","_listenerCount","_nativeModule","_eventEmitter","_subscription","startObserving","nativeEmitterSubscription","removeSubscription","removedListenerCount","listenerCount","stopObserving","_this$_eventEmitter","isDOMAvailable","_window$document","canUseEventListeners","attachEvent","canUseViewport","OS","ReactNativePlatform","isAsyncDebugging","_construct","Parent","Class","Reflect","construct","sham","Proxy","valueOf","instance","Function","_wrapNativeSuper","_cache","Wrapper","getPrototypeOf","CodedError","_Error","_inherits","_super","_createSuper","code","UnavailabilityError","_CodedError","moduleName","propertyName","requireNativeViewManager","viewName","NativeModulesProxy","PermissionStatus","postedWarnings","deprecate","library","deprecatedAPI","currentVersion","versionToRemove","replacement","toUpperCase","codeFromLibrary","compareVersions","prependLibrary","requireNativeModule","_global$ExpoModules$m","_global$ExpoModules","ExpoModules","createPermissionHook","isMounted","setStatus","_ref$get","_ref$request","request","permissionOptions","getPermission","useCallback","response","getMethod","requestPermission","requestMethod","useEffect","usePermission","DeviceEventEmitter","unmountComponentAtNode","RootTagContext","AppContainer","WrapperComponent","innerView","appContainer","rootTag","wrapperComponentProvider","runnables","componentProviderInstrumentationHook","AppRegistry","getAppKeys","getApplication","appKey","appParameters","registerComponent","componentProvider","RootComponent","initialProps","getStyleElement","sheet","styleResolver","dangerouslySetInnerHTML","__html","textContent","run","shouldHydrate","hydrate","renderFn","renderApplication","registerConfig","registerRunnable","runApplication","setComponentProviderInstrumentationHook","hook","setWrapperComponentProvider","provider","unmountApplicationComponentAtRootTag","originalWarn","originalError","attachRecoveredProps","errorRecovery","withExpoRoot","AppRootComponent","ExpoRootComponent","combinedProps","_document$getElementB","getElementById","registerRootComponent","App","fontScale","dimension","initialDimensions","_update","win","docEl","clientHeight","devicePixelRatio","clientWidth","handler","_handler","deepDiffer","one","two","maxDepth","ii","twoKey","numColumns","_virtualizedListPairs","ret","kk","_item","_getItemCount","ceil","_renderer","ListItemComponent","columnWrapperStyle","renderer","_item2","_index","row","_checkProps","viewabilityConfigCallbackPairs","pair","viewabilityConfig","_createOnViewableItemsChanged","scrollToEnd","scrollToItem","scrollToOffset","getScrollRef","horizontal","_pushMultiColumnViewable","_this$props4","restProps","doLeftAndRightSwapInRTL","isPreferredLanguageRTL","isRTLAllowed","isRTLForced","isRTL","onDirectionChange","ExecutionEnvironment","setAttribute","allowRTL","bool","forceRTL","getConstants","setPreferredLanguageRTL","swapLeftAndRightInRTL","assets","getAssetByID","assetId","dataUriPattern","ImageUriCache","uri","_entries","lastUsedTimestamp","refCount","_cleanUpIfNeeded","leastRecentlyUsedKey","leastRecentlyUsedEntry","imageUris","_maximumEntries","entry","requests","ImageLoader","abort","requestId","image","onerror","onload","getSize","success","failure","complete","interval","setInterval","load","clearInterval","naturalHeight","naturalWidth","onLoad","onError","onDecode","decode","src","prefetch","queryCache","uris","PixelRatio","getFontScale","getPixelSizeForLayoutSize","layoutSize","roundToNearestPixel","ratio","LOADED","LOADING","_filterId","svgDataUriPattern","resolveAssetUri","asset","scales","preferredScale","scaleSuffix","httpServerLocation","prefix","svg","blurRadius","defaultSource","draggable","onLoadEnd","onLoadStart","updateState","updateLayout","hasTextAncestor","TextAncestorContext","hiddenImageRef","filterRef","requestRef","shouldDisplaySource","_getFlatStyle","filterId","flatStyle","filters","_filter","shadowString","resolveShadowValue","overlayColor","getFlatStyle","_resizeMode","selectedSource","displayImageUri","imageSizeStyle","_getAssetByID","resolveAssetDimensions","backgroundImage","backgroundSize","_hiddenImageRef$curre","_height3","_width3","scaleFactor","getBackgroundSize","hiddenImage","alt","classList","classes","accessibilityImage","abortPendingRequest","_layout","inline","resizeModeStyles","suppressHydrationWarning","floodColor","in2","operator","createTintColorSVG","ImageWithStatics","css","backgroundPosition","backgroundRepeat","center","cover","none","repeat","stretch","isSupported","requestIdleCallback","didTimeout","timeRemaining","cancelIdleCallback","Events","interactionStart","interactionComplete","runAfterInteractions","task","cancel","createInteractionHandle","clearInteractionHandle","initialURL","href","Linking","_eventCallbacks","filteredCallbacks","_dispatchEvent","canOpenURL","getInitialURL","openURL","url","open","_validateURL","urlToOpen","URL","web","isTesting","_currentlyFocusedNode","currentlyFocusedField","activeElement","focusTextInput","textFieldNode","UIManager","blurTextInput","TextInputState","Mixin","scrollResponderMixinGetInitialState","isTouching","lastMomentumScrollBeginTime","lastMomentumScrollEndTime","observedScrollSinceBecomingResponder","becameResponderWhileAnimating","scrollResponderHandleScrollShouldSetResponder","scrollResponderHandleStartShouldSetResponder","scrollResponderHandleStartShouldSetResponderCapture","scrollResponderIsAnimating","scrollResponderHandleResponderReject","warning","scrollResponderHandleTerminationRequest","scrollResponderHandleTouchEnd","onTouchEnd","scrollResponderHandleResponderRelease","onResponderRelease","currentlyFocusedTextInput","keyboardShouldPersistTaps","onScrollResponderKeyboardDismissed","scrollResponderHandleScroll","onScroll","scrollResponderHandleResponderGrant","onResponderGrant","scrollResponderHandleScrollBeginDrag","onScrollBeginDrag","scrollResponderHandleScrollEndDrag","onScrollEndDrag","scrollResponderHandleMomentumScrollBegin","onMomentumScrollBegin","scrollResponderHandleMomentumScrollEnd","onMomentumScrollEnd","scrollResponderHandleTouchStart","onTouchStart","scrollResponderHandleTouchMove","onTouchMove","scrollResponderGetScrollableNode","scrollResponderScrollTo","animated","scroll","behavior","scrollLeft","scrollTop","scrollResponderZoomTo","rect","scrollResponderFlashScrollIndicators","scrollResponderScrollNativeHandleToKeyboard","nodeHandle","additionalOffset","preventNegativeScrollOffset","additionalScrollOffset","getInnerViewNode","scrollResponderTextInputFocusError","scrollResponderInputMeasureAndScrollToKeyboard","keyboardScreenY","keyboardWillOpenTo","endCoordinates","screenY","scrollOffsetY","scrollResponderKeyboardWillShow","onKeyboardWillShow","scrollResponderKeyboardWillHide","onKeyboardWillHide","scrollResponderKeyboardDidShow","onKeyboardDidShow","scrollResponderKeyboardDidHide","onKeyboardDidHide","normalizeScrollEvent","contentOffset","contentSize","scrollHeight","scrollWidth","layoutMeasurement","timeStamp","ScrollViewBase","onWheel","_props$scrollEnabled","scrollEnabled","_props$scrollEventThr","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","scrollState","isScrolling","scrollLastTick","scrollTimeout","scrollRef","createPreventableScrollHandler","handleScrollTick","hideScrollbar","stopPropagation","handleScrollEnd","lastTick","eventThrottle","timeSinceLastTick","shouldEmitScrollEvent","handleScrollStart","scrollDisabled","overflowX","overflowY","scrollbarWidth","createReactClass","mixins","ScrollResponder","_scrollNodeRef","getInnerViewRef","_innerViewRef","scrollTo","scrollResponder","scrollResponderNode","contentContainerStyle","onContentSizeChange","refreshControl","pagingEnabled","other","keyboardDismissMode","contentSizeChangeProps","_handleContentOnLayout","hasStickyHeaderIndices","isSticky","stickyHeader","pagingEnabledChild","_setInnerViewRef","contentContainerHorizontal","baseStyle","baseHorizontal","baseVertical","pagingEnabledStyle","pagingEnabledHorizontal","pagingEnabledVertical","onStartShouldSetResponder","onStartShouldSetResponderCapture","onScrollShouldSetResponder","_handleScroll","onResponderTerminationRequest","onResponderTerminate","scrollResponderHandleTerminate","onResponderReject","ScrollViewClass","scrollView","_setScrollNodeRef","_e$nativeEvent$layout","dismissKeyboard","mergeRefs","commonStyle","flexShrink","translateZ","WebkitOverflowScrolling","scrollSnapType","scrollSnapAlign","ForwardedScrollView","objects","uniqueID","createKey","ReactNativePropRegistry","getByID","STYLE_ELEMENT_ID","STYLE_GROUPS","classicReset","classic","atomic","custom","overscrollBehavior","padding","paddingHorizontal","paddingVertical","STYLE_SHORT_FORM_EXPANSIONS","MONOSPACE_FONT_STACK","SYSTEM_FONT_STACK","rules","group","getStyle","styleLength","computedStyle","absoluteFillObject","absoluteFill","compose","style1","style2","flatten","hairlineWidth","__REACT_DEVTOOLS_GLOBAL_HOOK__","resolveRNStyle","colorProps","textDecorationColor","textShadowColor","normalizeValueWithProperty","returnValue","unitlessNumbers","defaultOffset","offsetX","offsetY","textShadowOffset","textShadowRadius","nextStyles","resolvedStyle","shadow","boxShadowReducer","radius","textShadow","textShadowReducer","createOrderedCSSStyleSheet","groups","selectors","cssRules","cssRule","cssText","Number","selectorText","decodeGroupRule","getSelectorText","sheetInsert","orderedGroups","getOrderedGroups","nextGroupIndex","nextGroup","isInserted","insertRule","insertRuleAt","groupNumber","previousStart","OrderedCSSStyleSheet","getTextContent","insert","groupValue","markerRule","encodeGroupRule","trim","array","flattenDown","CSS_UNIT_RE","multiple","isNaN","isFinite","borderLeftStyle","borderRightStyle","PROPERTIES_FLIP","PROPERTIES_I18N","borderStartStyle","borderEndStyle","paddingStart","paddingEnd","PROPERTIES_VALUE","float","textAlign","additiveInverse","multiplyStyleLengthValue","originalStyle","_I18nManager$getConst","frozenProps","nextStyle","originalProp","originalValue","convertedProp","convertedValue","flippedValue","invertedValue","supportsCSS3TextDecoration","mapTransform","backgroundClip","WebkitBackgroundClip","fontVariant","verticalAlign","textDecorationLine","textDecoration","resolveTransform","direction","longFormProperties","longForm","str","seed","charCodeAt","murmurhash2_32_gc","ms","wm","wms","wmms","plugins","crossFade","flexboxIE","flexboxOld","gradient","grid","imageSet","logical","sizing","transition","prefixMap","animationDelay","animationDirection","animationFillMode","animationDuration","animationIterationCount","animationName","animationPlayState","animationTimingFunction","appearance","userSelect","textEmphasisPosition","textEmphasis","textEmphasisStyle","textEmphasisColor","boxDecorationBreak","clipPath","maskImage","maskMode","maskRepeat","maskPosition","maskClip","maskOrigin","maskSize","maskComposite","mask","maskBorderSource","maskBorderMode","maskBorderSlice","maskBorderWidth","maskBorderOutset","maskBorderRepeat","maskBorder","maskType","textDecorationStyle","textDecorationSkip","fontFeatureSettings","breakAfter","breakBefore","breakInside","columnCount","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columns","columnSpan","columnWidth","writingMode","flexFlow","flexWrap","alignContent","order","transformOrigin","transformOriginX","transformOriginY","backfaceVisibility","perspectiveOrigin","transformStyle","transformOriginZ","backdropFilter","fontKerning","scrollSnapPointsX","scrollSnapPointsY","scrollSnapDestination","scrollSnapCoordinate","shapeImageThreshold","shapeImageMargin","shapeImageOutside","hyphens","flowInto","flowFrom","regionFragment","textOrientation","textAlignLast","tabSize","wrapFlow","wrapThrough","wrapMargin","textSizeAdjust","borderImage","borderImageOutset","borderImageRepeat","borderImageSlice","borderImageSource","borderImageWidth","transitionTimingFunction","prefixAll","createPrefixer","staticData","prefixInlineStyles","prefixedStyles","valueString","stringifyValueWithProperty","cachedResult","identifier","_identifier","createIdentifier","_processKeyframesValu2","processKeyframesValue","animationNames","keyframesRules","block","createDeclarationBlock","_block","finalValue","_block3","_block4","_block2","_block5","_createDeclarationBlo","_block6","createAtomicRules","_cachedResult","animationKeyframes","_processKeyframesValu","normalizedValue","domStyle","prefixStyles","createReactDOMStyle","hyphenateStyleName","hash","keyframesValue","keyframes","_createKeyframes","steps","stepName","createKeyframes","focusVisibleAttributeName","rule","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","tel","email","password","date","month","week","datetime","shiftKey","isValidFocusTarget","addFocusVisibleAttribute","onPointerDown","el","tagName","isReadOnly","readOnly","isContentEditable","focusTriggersKeyboardModality","hasAttribute","removeFocusVisibleAttribute","addInitialPointerMoveListeners","nodeName","removeAttribute","list","querySelectorAll","removeAllFocusVisibleAttributes","onInitialPointerMove","createCacheKey","classListToString","inserted","ltr","rtl","rtlNoSwap","init","_element","head","insertBefore","firstChild","createCSSStyleSheet","initialRules","_injectRegisteredStyle","dir","results","createCompileableStyle","i18nStyle","_results$key","className","addToCache","_resolveStyle","_I18nManager$getConst2","localizedStyle","getClassName","_atomic","_a$key","getStyleSheet","createCSS","compiled","_compiled$key","nextClassList","flattenArray","flatArray","isArrayOfNumbers","cacheKey","finalProps","createStyleResolver","createContext","forwardPropsList","forwardedProps","lang","hrefAttrs","onClick","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderMove","onResponderStart","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","selectable","textHasAncestor","textOneLine","textMultiLine","WebkitLineClamp","notSelectable","pressable","useElementLayout","useResponderEvents","handleClick","supportedProps","pick","pickProps","download","rel","charAt","platformMethodsRef","usePlatformMethods","boxSizing","font","whiteSpace","wordWrap","textOverflow","WebkitBoxOrient","actionable","MemoedTouchableOpacity","activeOpacity","rejectResponderTermination","setDuration","opacityOverride","setOpacityOverride","setOpacityTo","setOpacityActive","setOpacityInactive","isGrant","dispatchConfig","registrationName","isCustomProperty","isUnitlessNumber","styleName","styleValue","dangerousStyleValue","setProperty","getRect","_getBoundingClientRec","getBoundingClientRect","_measureLayout","relativeToNativeNode","relativeNode","parentNode","relativeRect","_getRect","focusableElements","INPUT","SELECT","TEXTAREA","blur","err","getAttribute","measure","measureInWindow","_getRect2","measureLayout","onFail","onSuccess","updateView","setValueForStyles","configureNextLayoutAnimation","onAnimationDidEnd","setLayoutAnimationEnabledExperimental","view","accessibilityComponent","AccessibilityUtil","domProps","createDOMProps","findDOMNode","accessibilityRoleToWebRole","adjustable","button","imagebutton","keyboardkey","link","summary","inferredRole","roleComponents","article","banner","blockquote","complementary","contentinfo","deletion","emphasis","figure","insertion","form","listitem","main","region","strong","isDisabled","accessibilityStates","propsToAccessibilityComponent","role","propsToAriaRole","level","accessibilityLevel","uppercasePattern","toHyphenLower","toLowerCase","processIDRefList","idRefList","listStyle","pointerEventsStyles","auto","elementType","accessibilityActiveDescendant","accessibilityAtomic","accessibilityAutoComplete","accessibilityBusy","accessibilityChecked","accessibilityColumnCount","accessibilityColumnIndex","accessibilityColumnSpan","accessibilityControls","accessibilityCurrent","accessibilityDescribedBy","accessibilityDetails","accessibilityErrorMessage","accessibilityExpanded","accessibilityFlowTo","accessibilityHasPopup","accessibilityHidden","accessibilityInvalid","accessibilityKeyShortcuts","accessibilityLabelledBy","accessibilityLiveRegion","accessibilityModal","accessibilityMultiline","accessibilityMultiSelectable","accessibilityOrientation","accessibilityOwns","accessibilityPlaceholder","accessibilityPosInSet","accessibilityPressed","accessibilityReadOnly","accessibilityRequired","accessibilityRoleDescription","accessibilityRowCount","accessibilityRowIndex","accessibilityRowSpan","accessibilitySelected","accessibilitySetSize","accessibilitySort","accessibilityValueMax","accessibilityValueMin","accessibilityValueNow","accessibilityValueText","dataSet","nativeID","providedStyle","accessibilityState","accessibilityValue","_prop","required","dataProp","dataName","dataValue","_focusable","tabIndex","reactNativeStyle","needsCursor","finalClassList","_styleResolver$resolv","accessibilityProps","clickProps","onClickCapture","focusProps","keyboardProps","onKeyDownCapture","onKeyUp","onKeyUpCapture","mouseProps","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onMouseUp","touchProps","onTouchCancel","onTouchCancelCapture","onTouchEndCapture","onTouchMoveCapture","onTouchStartCapture","styleProps","nodeType","int32Color","isWebColor","colorInt","processColor","toFixed","nextObj","aspectRatio","boxFlex","boxFlexGroup","boxOrdinalGroup","flexOrder","flexPositive","flexNegative","gridRow","gridRowEnd","gridRowGap","gridRowStart","gridColumn","gridColumnEnd","gridColumnGap","gridColumnStart","lineClamp","orphans","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","scaleZ","substring","prefixKey","DOM_LAYOUT_HANDLER_NAME","resizeObserver","observer","ResizeObserver","observe","unobserve","previousStyleRef","setNativePropsArgsRef","hostNode","relativeToNode","nativeProps","nextDomStyle","DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","freeze","RESPONDER_GRANT","isActiveSignal","signal","isButtonRole","isPressStartSignal","isValidKeyPress","PressResponder","_eventHandlers","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressDelayTimeout","_pressOutDelayTimeout","_touchState","configure","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","getEventHandlers","_createEventHandlers","shouldDelay","_selectionTerminated","_receiveSignal","normalizeDelay","_handleLongPress","keyupHandler","currentTarget","touch","getTouchFromResponderEvent","_touchActivatePosition","deltaX","pageX","deltaY","pageY","hypot","_this$_config","_this$_config2","_this$_config3","_performTransitionSideEffects","isTerminalSignal","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","_this$_config5","_this$_config6","changedTouches","pressResponderRef","pressResponder","useDebugValue","MOUSE_DOWN","MOUSE_MOVE","MOUSE_UP","MOUSE_CANCEL","TOUCH_START","TOUCH_MOVE","TOUCH_END","TOUCH_CANCEL","SELECTION_CHANGE","isStartish","isMoveish","isEndish","isCancelish","__DEV__","process","MAX_TOUCH_BANK","touchBank","touchHistory","numberActiveTouches","indexOfSingleActiveTouch","mostRecentTimeStamp","timestampForTouch","timestamp","getTouchIdentifier","recordTouchStart","touchRecord","touchActive","startPageX","startPageY","startTimeStamp","currentPageX","currentPageY","currentTimeStamp","previousPageX","previousPageY","previousTimeStamp","resetTouchRecord","createTouchRecord","recordTouchMove","printTouch","printTouchBank","recordTouchEnd","printed","recordTouchTrack","topLevelType","touchTrackToCheck","activeRecord","emptyArray","normalizeIdentifier","createResponderEvent","domEvent","propagationWasStopped","domEventChangedTouches","domEventType","force","normalizeTouches","locationX","locationY","emulatedTouches","responderEvent","eventPhase","isTrusted","ResponderTouchHistoryStore","keyName","composedPathFallback","getResponderId","getResponderPaths","idPath","nodePath","eventPath","getSelection","anchorNode","composedPath","getEventPath","hasValidSelection","selection","focusNode","isTextNode","TEXT_NODE","isSelectionValid","startRegistration","moveRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","emptyResponder","responderListenersMap","trackedTouchCount","currentResponder","changeCurrentResponder","responder","getResponderConfig","eventListener","eventTarget","isStartEvent","buttons","noModifiers","isPrimaryPointerDown","isMoveEvent","isEndEvent","isScrollEvent","isScroll","isSelectionChangeEvent","isSelectionChange","wantsResponder","eventPaths","wasNegotiated","currentResponderIdPath","eventIdPath","lowestCommonAncestor","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","depth","getLowestCommonAncestor","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","check","callbackName","shouldSetCallback","_result","_id2","_node2","findWantsResponder","_currentResponder2","currentId","currentNode","_getResponderConfig2","_getResponderConfig3","allowTransfer","attemptTransfer","_currentResponder","_getResponderConfig","isTerminateEvent","contains","relatedTarget","isReleaseEvent","hasTargetTouches","shouldTerminate","documentEventsCapturePhase","documentEventsBubblePhase","addNode","setResponderId","removeNode","_currentResponder3","terminateResponder","idCounter","getInitialValue","isAttachedRef","__reactResponderSystemActive","ResponderSystem","requiresResponderSystem","isResponder","UNINITIALIZED","_EventSubscription2","EmitterSubscription","subscriber","_EventSubscription","EventSubscriptionVendor","_subscriptionsForType","addSubscription","removeAllSubscriptions","subscriptionsForType","getSubscriptionsForType","sparseFilterPredicate","_subscriber","subscriptions","_this$_nativeModule","_this$_nativeModule2","removeListeners","_this$_nativeModule3","_this$_nativeModule4","Batchinator","delayMS","dispose","_taskHandle","schedule","timeoutHandle","Info","any_blank_count","any_blank_ms","any_blank_speed_sum","mostly_blank_count","mostly_blank_ms","pixels_blank","pixels_sampled","pixels_scrolled","total_time_spent","sample_count","_minSampleCount","_sampleRate","FillRateHelper","getFrameMetrics","_anyBlankStartTime","_enabled","_info","_mostlyBlankStartTime","_samplesStartTime","_getFrameMetrics","random","_resetData","setSampleRate","sampleRate","setMinSampleCount","minSampleCount","activate","performance","deactivateAndFlush","computeBlankness","scrollMetrics","dOffset","visibleLength","scrollSpeed","blankTop","first","firstFrame","inLayout","blankBottom","lastFrame","bottomEdge","blankness","onRefresh","progressBackgroundColor","progressViewOffset","refreshing","titleColor","_isViewable","viewAreaMode","viewablePercentThreshold","viewportHeight","itemLength","_isEntirelyVisible","pixels","visibleHeight","_getPixelsVisible","ViewabilityHelper","viewAreaCoveragePercentThreshold","_hasInteracted","_timers","_viewableIndices","_viewableItems","computeViewableItems","scrollOffset","renderRange","itemVisiblePercentThreshold","viewableIndices","firstVisible","metrics","createViewToken","waitForInteraction","minimumViewTime","_onUpdateSync","resetViewableIndices","viewableIndicesToCheck","prevItems","nextItems","_step$value","_step2$value","_viewable","isViewable","values","_console","log","elementsThatOverlapOffsets","offsets","outLength","trailingOffset","newRangeCount","computeWindowedRenderLimits","getFrameMetricsApprox","maxToRenderPerBatch","windowSize","visibleBegin","visibleEnd","overscanLength","fillPreference","overscanBegin","overscanEnd","_elementsThatOverlapO","overscanFirst","overscanLast","visible","newCellCount","maxNewCells","firstWillAddMore","firstShouldIncrement","lastWillAddMore","lastShouldIncrement","VirtualizedListContext","VirtualizedListContextProvider","getScrollMetrics","getOutermostParentListRef","getNestedChildState","registerAsNestedChild","unregisterAsNestedChild","debugInfo","listKey","VirtualizedListCellContextProvider","useContext","_usedIndexForKey","_keylessItemComponentName","_getScrollMetrics","_scrollMetrics","_getOutermostParentListRef","_isNestedWithSameOrientation","_getNestedChildState","existingChildData","_nestedChildLists","_registerAsNestedChild","childList","childListsInCell","_cellKeysToChildListKeys","trace","parentDebugInfo","describeNestedLists","_unregisterAsNestedChild","_onUpdateSeparators","_averageCellLength","_frames","_footerLength","_hasDoneInitialScroll","_hasMore","_hasWarned","_headerLength","_hiPriInProgress","_highestMeasuredFrameIndex","_indicesToKeys","_offsetFromParentVirtualizedList","_prevParentOffset","contentLength","dt","_scrollRef","_sentEndForContentLength","_totalCellLength","_totalCellsMeasured","_viewabilityTuples","_captureScrollRef","_defaultRenderScrollComponent","RefreshControl","_onCellUnmount","_onLayout","measureLayoutRelativeToContainingList","_selectLength","_scheduleCellsToRenderUpdate","_maybeCallOnEndReached","_onLayoutEmpty","_onLayoutFooter","_triggerRemeasureForChildListsInCell","_getFooterCellKey","_onLayoutHeader","_onContentSizeChange","initialScrollIndex","_convertParentScrollMetrics","_onScroll","_selectOffset","_this$_convertParentS","perf","infoLog","prevDt","_updateViewableItems","_fillRateHelper","_computeBlankness","_onScrollBeginDrag","tuple","viewabilityHelper","_onScrollEndDrag","_onMomentumScrollBegin","_onMomentumScrollEnd","_updateCellsToRender","onEndReachedThreshold","isVirtualizationDisabled","_isVirtualizationDisabled","newState","_this$_scrollMetrics","renderAhead","newFirst","newLast","cellKeyForIndex","childListKeys","someChildHasMore","childKey","hasMore","_createViewToken","getItemLayout","_this$props5","_updateCellsToRenderBatcher","updateCellsBatchingPeriod","initialNumToRender","storedState","_getListKey","invertedWheelEventHandler","ev","wheelDeltaX","wheelDeltaY","veryLast","onScrollToIndexFailed","viewPosition","averageItemLength","highestMeasuredFrameIndex","_getCellKey","_this$context","_getDebugInfo","_this$context2","setupWebWheelHandler","teardownWebWheelHandler","_pushCells","cells","stickyIndicesFromProps","inversionStyle","_this$props6","CellRendererComponent","stickyOffset","CellRenderer","fillRateHelper","onUpdateSeparators","_onCellLayout","onUnmount","parentProps","disableVirtualization","nestedContext","_this4","_this$props7","ListEmptyComponent","ListFooterComponent","_this$props8","horizontallyInverted","verticallyInverted","ListHeaderComponentStyle","spacerKey","lastInitialIndex","_this$state","firstAfterInitial","insertedStickySpacer","initBlock","stickyBlock","leadSpace","trailSpace","_initBlock","firstSpace","endFrame","tailSpacerLength","_element2","ListFooterComponentStyle","scrollProps","renderScrollComponent","debug","_renderDebugOverlay","_this$props9","extraData","hiPriInProgress","_this5","framesInLayout","windowTop","frameLast","windowLen","visTop","visLen","debugOverlayBase","debugOverlay","debugOverlayFrame","debugOverlayFrameLast","debugOverlayFrameVis","_this$props10","onEndReached","_this$_scrollMetrics2","distanceFromEnd","threshold","_this$state2","_this$_scrollMetrics3","hiPri","scrollingThreshold","distTop","distBottom","_this6","contextType","_this7","_this7$props","_this7$props2","_this7$props3","_renderElement","_this$props11","itemSeparator","cellStyle","rowReverse","columnReverse","semver","indexOrEnd","patchIndex","tryParse","validate","version","v1","v2","s1","s2","n1","n2","sp1","sp2","p1","p2","allowedOperators","operatorResMap","validateOperator","compare","res","_assign","validateFormat","format","_invariant","condition","argIndex","framesToPop","MIXINS_KEY","ReactComponent","isValidElement","ReactNoopUpdateQueue","injectedMixins","ReactClassInterface","statics","propTypes","contextTypes","childContextTypes","getDefaultProps","getChildContext","componentWillMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","updateComponent","ReactClassStaticInterface","RESERVED_SPEC_KEYS","Constructor","mixSpecIntoComponent","createMergedResultFunction","mixStaticSpecIntoComponent","autobind","validateMethodOverride","isAlreadyDefined","specPolicy","ReactClassMixin","spec","proto","autoBindPairs","__reactAutoBindPairs","isReactClassMethod","createChainedFunction","mergeIntoWithNoDuplicateKeys","bindAutoBindMethod","method","IsMountedPreMixin","__isMounted","IsMountedPostMixin","updater","enqueueReplaceState","ReactClassComponent","pairs","autoBindKey","bindAutoBindMethods","refs","methodName","factory","_hyphenateStyleName2","_hyphenateStyleName","__esModule","token","singleMatcher","multiMatcher","decodeComponents","components","tokens","encodedURI","replaceMap","exec","customDecodeURIComponent","equal","flags","canUseWorkers","Worker","isInWorker","makeEmptyFunction","arg","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","predicate","isArr","msPattern","hName","_isObject2","combinedValue","processedValue","_prefixValue2","_addNewValuesOnly2","_processedValue","_prefixProperty2","_interopRequireDefault","_isPrefixedValue2","_isPrefixedValue","grab","grabbing","alternativeProps","alternativeValues","flexShorthandMappings","msFlex","logTag","flexValues","inherit","unset","WebkitBoxDirection","wrap","grad","_arr","_n","_d","_e","_s","sliceIterator","isSimplePositionValue","isComplexSpanValue","displayValues","propertyConverters","propertyConverter","alignmentValues","msGridRowAlign","msGridColumn","_value$split","_value$split2","_end$split","_end$split2","maybeSpan","maybeNumber","msGridColumnSpan","msGridRow","_value$split3","_value$split4","_end$split3","_end$split4","msGridRowSpan","gridTemplateColumns","msGridColumns","gridTemplateRows","msGridRows","justifySelf","msGridColumnAlign","alternativePropList","marginBlockStart","marginBlockEnd","marginInlineStart","marginInlineEnd","paddingBlockStart","paddingBlockEnd","paddingInlineStart","paddingInlineEnd","borderBlockStart","borderBlockStartColor","borderBlockStartStyle","borderBlockStartWidth","borderBlockEnd","borderBlockEndColor","borderBlockEndStyle","borderBlockEndWidth","borderInlineStart","borderInlineStartColor","borderInlineStartStyle","borderInlineStartWidth","borderInlineEnd","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","properties","propertyPrefixMap","outputValue","multipleValues","dashCaseProperty","_hyphenateProperty2","j","pLen","prefixMapping","prefixValue","webkitOutput","mozOutput","_capitalizeString2","WebkitTransitionProperty","MozTransitionProperty","Webkit","Moz","addIfNew","prefixProperties","newStyle","requiredPrefixes","capitalizedProperty","styleProperty","_capitalizeString","metaData","matchers","hex6","names","rgb","parse255","rgba","parse1","hex3","hex8","hex4","hsl","hslToRgb","parse360","parsePercentage","hsla","hue2rgb","NUMBER","PERCENTAGE","arrayLike","int","num","transparent","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","propIsEnumerable","propertyIsEnumerable","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","shouldUseNative","to","toObject","strictUriEncode","decodeComponent","splitOnFirst","filterObject","encodeFragmentIdentifier","validateArrayFormatSeparator","encode","strict","keysSorter","removeHash","hashStart","extract","queryStart","parseValue","parseNumbers","parseBooleans","arrayFormat","arrayFormatSeparator","accumulator","isEncodedArray","newValue","arrayValue","parserForArrayFormat","shouldFilter","skipNull","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","getHash","exclude","exclusionFilter","aa","ba","ca","da","ea","fa","ha","ia","ja","ka","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","D","oa","pa","qa","ma","na","la","setAttributeNS","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","ua","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","E","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","_render","Ra","_payload","_init","Sa","Ta","Va","_valueTracker","Ua","Wa","checked","Xa","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","controlled","$a","ab","bb","ownerDocument","eb","Children","db","fb","selected","defaultSelected","gb","hb","ib","jb","kb","html","mathml","lb","mb","nb","ob","namespaceURI","innerHTML","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeValue","qb","gridArea","gridRowSpan","gridColumnSpan","lineHeight","rb","sb","tb","ub","menuitem","area","base","br","col","embed","hr","img","keygen","meta","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","cc","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","F","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","isPersistent","wd","xd","yd","sd","td","ud","vd","Ad","screenX","getModifierState","zd","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","targetTouches","Xd","Yd","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","De","Ee","Fe","He","Ie","Je","Ke","Le","nextSibling","Me","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","selectionEnd","defaultView","anchorOffset","focusOffset","Ve","We","Xe","Ye","Ze","Yb","G","$e","af","bf","cf","df","Nb","ef","ff","parentWindow","gf","hf","J","K","Q","L","je","char","ke","jf","kf","lf","mf","autoFocus","nf","of","pf","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","H","I","Cf","M","N","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","bg","cg","dg","O","eg","fg","gg","hg","ig","jg","kg","ReactCurrentBatchConfig","lg","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","effects","yg","zg","eventTime","lane","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","enqueueSetState","Hg","Ig","Jg","enqueueForceUpdate","Lg","isPureReactComponent","Mg","Ng","Og","getSnapshotBeforeUpdate","Pg","Qg","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","mode","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","P","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","R","S","T","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","U","getSnapshot","subscribe","setSnapshot","Oh","Ph","Qh","Rh","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useImperativeHandle","useReducer","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","fi","gi","hi","ji","ki","li","mi","baseLanes","ni","oi","pi","qi","getDerivedStateFromError","ri","pendingContext","Bi","Ci","Di","Ei","si","retryLane","ti","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","onclick","createElementNS","createTextNode","V","Hi","Ii","W","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","extend","createRange","setStart","removeAllRanges","addRange","setEnd","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","lk","mk","nk","ok","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","sk","uk","hk","_calculateChangedBits","unstable_observedBits","unmount","Vj","vk","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","supportsFiber","inject","createPortal","flushSync","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","checkDCE","__self","__source","jsx","jsxs","_status","IsSomeRendererActing","toArray","only","PureComponent","cloneElement","_currentValue2","_threadCount","createFactory","createRef","lazy","MessageChannel","unstable_forceFrameRate","floor","port2","port1","onmessage","postMessage","sortIndex","startTime","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","separatorIndex","_typeof","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","mark","awrap","async","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","customAlphabet","alphabet","defaultSize","_defineProperties","descriptor","protoProps","staticProps","_getPrototypeOf","sourceSymbolKeys","_possibleConstructorReturn"],"sourceRoot":""}