Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hermes does not work when extracting apk from android app bundles (.abb) #25927

Closed
owinter86 opened this issue Aug 2, 2019 · 43 comments
Closed
Labels
Bug Platform: Android Android applications. Stale There has been a lack of activity on this issue and it may be closed soon. Tech: Bundler 📦 This issue is related to the bundler (Metro, Haul, etc) used.

Comments

@owinter86
Copy link

Enabling Hermes on android builds configured to extract apk from app bundles (.abb) will freeze on app start.

React Native version:
System:
OS: macOS 10.14.6
CPU: (4) x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
Memory: 6.54 GB / 16.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.16.0 - ~/.nvm/versions/node/v10.16.0/bin/node
Yarn: 1.17.0 - /usr/local/bin/yarn
npm: 6.9.0 - ~/.nvm/versions/node/v10.16.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.4, macOS 10.14, tvOS 12.4, watchOS 5.3
Android SDK:
API Levels: 23, 26, 27, 28
Build Tools: 26.0.3, 27.0.3, 28.0.2, 28.0.3
System Images: android-22 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5692245
Xcode: 10.3/10G8 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: ^0.60.4 => 0.60.4
npmGlobalPackages:
create-react-native-module: 0.5.0
create-react-native-web-app: 0.1.11
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7

Steps To Reproduce

  1. Init new RN project.
  2. Change build configuration in android studio from default apk to apk from app bundle
  3. Build app.
  4. Install extracted apk on device.
  5. Run app and it hangs on start screen.
  6. Disabling hermes works fine with same build configuration.

Describe what you expected to happen:
Extracted apks should work

Snack, code example, screenshot, or link to a repository:

D/SoLoader: About to load: libjscexecutor.so
    libjscexecutor.so not found on /data/data/com.test/lib-main
D/SoLoader: libjscexecutor.so found on /data/data/com.test/lib-0
D/SoLoader: Loading lib dependencies: [libfb.so, libreactnativejni.so, libjsc.so, libjsinspector.so, libfolly_json.so, libglog.so, libc++_shared.so, liblog.so, libc.so, libm.so, libdl.so]
D/SoLoader: About to load: libfb.so
    libfb.so not found on /data/data/com.test/lib-main
    libfb.so found on /data/data/com.test/lib-0
D/SoLoader: Loading lib dependencies: [libc++_shared.so, liblog.so, libdl.so, libandroid.so, libc.so, libm.so]
    About to load: libc++_shared.so
D/SoLoader: libc++_shared.so not found on /data/data/com.test/lib-main
D/SoLoader: libc++_shared.so found on /data/data/com.test/lib-0
D/SoLoader: Loading lib dependencies: [libc.so, libdl.so]
    About to load: libc.so
    libc.so not found on /data/data/com.test/lib-main
    libc.so not found on /data/data/com.test/lib-0
D/SoLoader: libc.so not found on /data/data/com.test/lib-1
    libc.so not found on /data/data/com.test/lib-2
    libc.so not found on /data/data/com.test/lib-3
    libc.so not found on /data/app/com.test-lS2rnOAKng6NlOapH7INNw==/lib/arm
    libc.so not found on /system/vendor/lib
D/SoLoader: libc.so found on /system/lib
    libc.so loaded implicitly
    Loaded: libc.so
    About to load: libdl.so
    libdl.so not found on /data/data/com.test/lib-main
    libdl.so not found on /data/data/com.test/lib-0
    libdl.so not found on /data/data/com.test/lib-1
D/SoLoader: libdl.so not found on /data/data/com.test/lib-2
    libdl.so not found on /data/data/com.test/lib-3
    libdl.so not found on /data/app/com.test-lS2rnOAKng6NlOapH7INNw==/lib/arm
    libdl.so not found on /system/vendor/lib
    libdl.so found on /system/lib
    libdl.so loaded implicitly
    Loaded: libdl.so
D/SoLoader: Loaded: libc++_shared.so
    About to load: liblog.so
D/SoLoader: liblog.so not found on /data/data/com.test/lib-main
    liblog.so not found on /data/data/com.test/lib-0
    liblog.so not found on /data/data/com.test/lib-1
    liblog.so not found on /data/data/com.test/lib-2
D/SoLoader: liblog.so not found on /data/data/com.test/lib-3
D/SoLoader: liblog.so not found on /data/app/com.test-lS2rnOAKng6NlOapH7INNw==/lib/arm
    liblog.so not found on /system/vendor/lib
    liblog.so found on /system/lib
    liblog.so loaded implicitly
    Loaded: liblog.so
    About to load: libandroid.so
    libandroid.so not found on /data/data/com.test/lib-main
D/SoLoader: libandroid.so not found on /data/data/com.test/lib-0
    libandroid.so not found on /data/data/com.test/lib-1
    libandroid.so not found on /data/data/com.test/lib-2
    libandroid.so not found on /data/data/com.test/lib-3
    libandroid.so not found on /data/app/com.test-lS2rnOAKng6NlOapH7INNw==/lib/arm
D/SoLoader: libandroid.so not found on /system/vendor/lib
    libandroid.so found on /system/lib
    libandroid.so loaded implicitly
    Loaded: libandroid.so
    About to load: libm.so
    libm.so not found on /data/data/com.test/lib-main
    libm.so not found on /data/data/com.test/lib-0
D/SoLoader: libm.so not found on /data/data/com.test/lib-1
    libm.so not found on /data/data/com.test/lib-2
    libm.so not found on /data/data/com.test/lib-3
    libm.so not found on /data/app/com.test-lS2rnOAKng6NlOapH7INNw==/lib/arm
    libm.so not found on /system/vendor/lib
    libm.so found on /system/lib
    libm.so loaded implicitly
D/SoLoader: Loaded: libm.so
D/SoLoader: About to load: libfb.so
D/SoLoader: libfb.so not found on /data/data/com.test/lib-main
    libfb.so found on /data/data/com.test/lib-0
D/SoLoader: Loading lib dependencies: [libc++_shared.so, liblog.so, libdl.so, libandroid.so, libc.so, libm.so]
I/zygote: Thread[1,tid=10033,Native,Thread*=0xe9a7c000,peer=0x72bcc700,"main"] recursive attempt to load library "/data/user/0/com.test/lib-0/libfb.so"
D/SoLoader: Loaded: libfb.so
    Loaded: libfb.so
    About to load: libreactnativejni.so
D/SoLoader: libreactnativejni.so not found on /data/data/com.test/lib-main
    libreactnativejni.so found on /data/data/com.test/lib-0
D/SoLoader: Loading lib dependencies: [libglog_init.so, libyoga.so, libfb.so, libjsinspector.so, libfolly_json.so, libglog.so, libc++_shared.so, libandroid.so, liblog.so, libc.so, libm.so, libdl.so]
    About to load: libglog_init.so
    libglog_init.so not found on /data/data/com.test/lib-main
D/SoLoader: libglog_init.so found on /data/data/com.test/lib-0
D/SoLoader: Loading lib dependencies: [libglog.so, libc++_shared.so, liblog.so, libc.so, libm.so, libdl.so]
    About to load: libglog.so
D/SoLoader: libglog.so not found on /data/data/com.test/lib-main
    libglog.so found on /data/data/com.test/lib-0
D/SoLoader: Loading lib dependencies: [libc++_shared.so, libc.so, libm.so, libdl.so]
D/SoLoader: Loaded: libglog.so
D/SoLoader: Loaded: libglog_init.so
    About to load: libyoga.so
    libyoga.so not found on /data/data/com.test/lib-main
    libyoga.so found on /data/data/com.test/lib-0
D/SoLoader: Loading lib dependencies: [libfb.so, libc++_shared.so, libandroid.so, liblog.so, libc.so, libm.so, libdl.so]
D/SoLoader: Loaded: libyoga.so
    About to load: libjsinspector.so
    libjsinspector.so not found on /data/data/com.test/lib-main
    libjsinspector.so found on /data/data/com.test/lib-0
D/SoLoader: Loading lib dependencies: [libc++_shared.so, libc.so, libm.so, libdl.so]
D/SoLoader: Loaded: libjsinspector.so
D/SoLoader: About to load: libfolly_json.so
    libfolly_json.so not found on /data/data/com.test/lib-main
    libfolly_json.so found on /data/data/com.test/lib-0
D/SoLoader: Loading lib dependencies: [libglog.so, libc++_shared.so, libc.so, libm.so, libdl.so]
D/SoLoader: Loaded: libfolly_json.so
D/SoLoader: Loaded: libreactnativejni.so
    About to load: libjsc.so
D/SoLoader: libjsc.so not found on /data/data/com.test/lib-main
    libjsc.so not found on /data/data/com.test/lib-0
    libjsc.so not found on /data/data/com.test/lib-1
    libjsc.so not found on /data/data/com.test/lib-2
D/SoLoader: libjsc.so not found on /data/data/com.test/lib-3
    libjsc.so not found on /data/app/com.test-lS2rnOAKng6NlOapH7INNw==/lib/arm
    libjsc.so not found on /system/vendor/lib
    libjsc.so not found on /system/lib
@owinter86 owinter86 added the Bug label Aug 2, 2019
@react-native-bot react-native-bot added Platform: Android Android applications. Tech: Bundler 📦 This issue is related to the bundler (Metro, Haul, etc) used. labels Aug 2, 2019
@mmazzarolo
Copy link

Yup, can confirm, just happened to me as well.

@thinhtran3588
Copy link

same issue here

@narobertson42
Copy link

Same issue 👍

@ibobo
Copy link

ibobo commented Aug 14, 2019

Also happens to me

@huynhquangtoan
Copy link

Same issue :(

@tominou
Copy link

tominou commented Aug 27, 2019

Same here, Apks are working but not the Bundles

@iain-merrick-fanduel
Copy link

I'm fairly sure this is a bug in SoLoader: facebook/SoLoader#43

@prayuditb
Copy link

It also happens to me

@exentrich
Copy link

Same issue

@stockrel
Copy link

Same issue here

@joram15
Copy link

joram15 commented Sep 24, 2019

Same issue 😬

@gabrielhuff
Copy link

Same thing happened to me.

Specifically, a call to SoLoader.loadLibrary("jscexecutor") (here) call was blocking indefinitely.

In my case, jscexecutor.so was bundled, however the libjsc.so was not. Thing is, for some reason this didn't cause the SoLoader.loadLibrary call to throw (I assume this is the expected behaviour).

Then just to test, I explicitly removed the jscexecutor.so lib from the build:

android {
  packagingOptions{
    exclude '**/libjscexecutor.so'
  }
}

This solved the problem SoLoader.loadLibrary threw an exception (as libjscexecutor couldn't be found) and HermesExecutorFactory was used instead.

Of course this is not a real fix to the problem as libjscexecutor is added internally by the react artifact and I have no idea of what side effects this can cause, but should point to the right direction when fixing it.

@AndrewJack
Copy link
Contributor

AndrewJack commented Sep 24, 2019

@gabrielhuff You're on to something there. include "**/libjsc*.so" in react.gradle is looking for libjscexecutor.so to delete, along with some other files.

I've been testing modifying the last bit of the react.gradle script.

Here's what I have so far:

        def isRelease = targetName.toLowerCase().contains("release")
        def libDir = "$buildDir/intermediates/merged_native_libs/"
        def vmSelectionAction = {
            fileTree(libDir).matching {
                if (enableHermes) {
                    // For Hermes, delete all the libjsc* files
                    include "**/libjsc*.so"

                    if (isRelease) {
                        // Reduce size by deleting the debugger/inspector
                        include '**/libhermes-inspector.so'
                        include '**/libhermes-executor-debug.so'
                    } else {
                        // Release libs take precedence and must be removed
                        // to allow debugging
                        include '**/libhermes-executor-release.so'
                    }
                } else {
                    // For JSC, delete all the libhermes* files
                    include "**/libhermes*.so"
                }
            }.visit { details ->
                def targetVariant = ".*/merged_native_libs/${targetPath}/.*"
                def path = details.file.getAbsolutePath().replace(File.separatorChar, '/' as char)
                if (path.matches(targetVariant) && details.file.isFile()) {
                  details.file.delete()
                }
            }
        }

        def mergeNativeLibs = tasks.findByName("merge${targetName}NativeLibs")
        if (mergeNativeLibs != null) {
            mergeNativeLibs.doLast(vmSelectionAction)
        }

I've only tested when using app bundles & gradle plugin 3.5.0 so far.

When using app bundles the intermediates directory changes from transforms to merged_native_libs (or when using a newer gradle plugin?)

@smacgregor
Copy link

Agreed I think you both are onto something.

I inspected a release APK vs. an APK generated from an android app bundle and noticed the app bundle is adding in the following libraries:

libhermes-inspector.so
libhermes-executor-debug.so
libjscexecutor.so

None of those should be there and when building an APK they are not present.

@ursnj
Copy link

ursnj commented Sep 26, 2019

When can this issue will addressed. im actually waiting for this ;)

@smacgregor
Copy link

smacgregor commented Sep 26, 2019

Adding the following packaging options to your app gradle file causes APKs generated from AABs to have the same set of .so libraries as old fashioned APKs.

// Bug with AAB generation causes JSC and Hermes debug libraries to be included
// https://github.com/facebook/react-native/issues/25927
    if (getGradle().getStartParameter().getTaskRequests().toString().toLowerCase().contains("bundle")) {
        packagingOptions {
            exclude '**/libhermes-inspector.so'
            exclude '**/libhermes-executor-debug.so'
            exclude '**/libjscexecutor.so'
        }
    }

So far our app seems happy with that change.

(Updated on 10/1/2019 to only apply the packaging options when building an app bundle)

@ursnj
Copy link

ursnj commented Sep 27, 2019

@smacgregor your solution is not working, i think we need to see other options.

@smacgregor
Copy link

@ursnj - you got an error in a release build complaining libjscexecutor.so?

D/SoLoader: About to load: libjscexecutor.so
    libjscexecutor.so not found on /data/data/com.test/lib-main

after excluding libjscexecutor.so in your gradle file? That sounds like the gradle command didn't properly run or is not in the right spot if the .so is still present in your APK.

@timmywil
Copy link

timmywil commented Sep 27, 2019

@smacgregor worked for me 👍

Edit: take that back. This worked when I built the release aab locally using fastlane, but failed after releasing to the beta store and installing from there. No idea what would be different.

@radko93
Copy link
Contributor

radko93 commented Oct 1, 2019

@vanydeasy does this work when uploading the bundle to Google Play?

@heyman333
Copy link

@vanydeasy I'm curious too

@longnk-1447

This comment has been minimized.

@IamMasterWayne
Copy link

"couldn't find DSO to load: libhermes.so "
React Native Version: 0.61.2
enableHermes: false
Still facing this issue

@TylerNRobertson
Copy link

Still launching to only white screen when downloading from google play.

@kirillpisarev
Copy link

gabrielhuff's solution worked for me, now app-bundle works both for local and play store delivering. But the thing that worries me the much is that i don't know what does it actually effect. Can anyone explain the side effects of this solution or offer a better one?

react-native: 0.61.2
enableHermes: true

@vanydeasy
Copy link

@radko93 @heyman333 yes, I have published it to Google Play and it works fine. You should still try to bundle and test it first on your local tho. Just make sure that no libjsc*.so is available in your bundle.

@radko93
Copy link
Contributor

radko93 commented Oct 8, 2019

@kirillpisarev @TylerNRobertson please test this #26400 (comment) and let me know so I can try and make a PR.

@kirillpisarev
Copy link

@radko93 works fine at least for local delivering via bundletool, i can't check via Google Play for now.

facebook-github-bot pushed a commit that referenced this issue Oct 9, 2019
Summary:
This PR bumps bumps Soloader to 0.8.0. This fixes white screen/ crash issues when downloading from Google Play.

Related to:
#25927 #26400

## Changelog
[Android] [Changed] - Bump Soloader to 0.8.0
Pull Request resolved: #26759

Test Plan:
A few CI tests fail, but I don't see the link with what I changed, especially the ios tests.
It's working locally though, and for people on github who tried this solution as well.

Differential Revision: D17828891

Pulled By: mdvacca

fbshipit-source-id: 1c7809aa681b41b8ed9a4da96d041d52f3cfbb76
grabbou pushed a commit that referenced this issue Oct 11, 2019
Summary:
This PR bumps bumps Soloader to 0.8.0. This fixes white screen/ crash issues when downloading from Google Play.

Related to:
#25927 #26400

## Changelog
[Android] [Changed] - Bump Soloader to 0.8.0
Pull Request resolved: #26759

Test Plan:
A few CI tests fail, but I don't see the link with what I changed, especially the ios tests.
It's working locally though, and for people on github who tried this solution as well.

Differential Revision: D17828891

Pulled By: mdvacca

fbshipit-source-id: 1c7809aa681b41b8ed9a4da96d041d52f3cfbb76
@srfaytkn
Copy link

same issue here

@Maskedman99
Copy link

Running ./gradlew bundleRelease is giving many similar kind of errors with different variables

/home/ubuntu/X/Y/App/android/app/build/generated/assets/react/release/index.android.bundle:13:134: warning: the variable "Promise" was not declared in function "isBoldTextEnabled"
__d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0])(r(d[1])),t=r(d[2]),o=r(d[3]),s=new Map,c={isBoldTextEnabled:function(){return Promise.resolve(!1)},isGrayscaleEnabled:function(){return Promise.resolve(!1)},isInvertColorsEnabled:function(){return Promise.resolve(!1)},isReduceMotionEnabled:function(){return new Promise(function(t,o){n.default?n.default.isReduceMotionEnabled(t):o(!1)})},isReduceTransparencyEnabled:function(){return Promise.resolve(!1)},isScreenReaderEnabled:function(){return new Promise(function(t,o){n.default?n.default.isTouchExplorationEnabled(t):o(!1)})},get fetch(){return this.isScreenReaderEnabled},addEventListener:function(n,o){var c;'change'===n||'screenReaderChanged'===n?c=t.addListener("touchExplorationDidChange",function(n){o(n)}):'reduceMotionChanged'===n&&(c=t.addListener("reduceMotionDidChange",function(n){o(n)})),s.set(o,c)},removeEventListener:function(n,t){var o=s.get(t);o&&(o.remove(),s.delete(t))},setAccessibilityFocus:function(n){o.sendAccessibilityEvent(n,o.getConstants().AccessibilityEventTypes.typeViewFocused)},announceForAccessibility:function(t){n.default&&n.default.announceForAccessibility(t)}};m.exports=c},7,[1,8,30,43]);

Eventhough an app.abb is being created app crashes while running.
However react-native run-android --variant=release works fine.
I am using Linux ( Ubuntu ) and facing the problem :(

@Rapsssito
Copy link

@AndrewJack do you have further information regarding @gabrielhuff "fix"?

@Sukumar-Abhijeet
Copy link

Is there any lead to this issue ???

@radko93
Copy link
Contributor

radko93 commented Nov 19, 2019

@Maskedman99 @Rapsssito did you try #26400 (comment)?

@Rapsssito
Copy link

@Maskedman99 @Rapsssito did you try #26400 (comment)?

It worked! Looking forward to seeing it released!

@Maskedman99
Copy link

@radko93 I tried #26400 its not working for me still getting the same errors and the abb crashes.

/home/ubuntu/Codes/Reactnative/MEC/android/app/build/generated/assets/react/release/index.android.bundle:13:134: warning: the variable "Promise" was not declared in function "isBoldTextEnabled"
__d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0])(r(d[1])),t=r(d[2]),o=r(d[3]),s=new Map,c={isBoldTextEnabled:function(){return Promise.resolve(!1)},isGrayscaleEnabled:function(){return Promise.resolve(!1)},isInvertColorsEnabled:function(){return Promise.resolve(!1)},isReduceMotionEnabled:function(){return new Promise(function(t,o){n.default?n.default.isReduceMotionEnabled(t):o(!1)})},isReduceTransparencyEnabled:function(){return Promise.resolve(!1)},isScreenReaderEnabled:function(){return new Promise(function(t,o){n.default?n.default.isTouchExplorationEnabled(t):o(!1)})},get fetch(){return this.isScreenReaderEnabled},addEventListener:function(n,o){var c;'change'===n||'screenReaderChanged'===n?c=t.addListener("touchExplorationDidChange",function(n){o(n)}):'reduceMotionChanged'===n&&(c=t.addListener("reduceMotionDidChange",function(n){o(n)})),s.set(o,c)},removeEventListener:function(n,t){var o=s.get(t);o&&(o.remove(),s.delete(t))},setAccessibilityFocus:function(n){o.sendAccessibilityEvent(n,o.getConstants().AccessibilityEventTypes.typeViewFocused)},announceForAccessibility:function(t){n.default&&n.default.announceForAccessibility(t)}};m.exports=c},7,[1,8,31,43]);
~~~~~
/home/ubuntu/Codes/Reactnative/MEC/android/app/build/generated/assets/react/release/index.android.bundle:25:3047: warning: the variable "DebuggerInternal" was not declared in function "value 14#"
__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),l=r(d[1]),u=r(d[2]),s=r(d[3]),n=r(d[4]),h=(r(d[5]),r(d[6])),o=r(d[7]),c=(r(d[8]),(function(){function c(){l(this,c),this._lazyCallableModules={},this._queue=[[],[],[],0],this._successCallbacks=new Map,this._failureCallbacks=new Map,this._callID=0,this._lastFlush=0,this._eventLoopStartTime=Date.now(),this._immediatesCallback=null,this.callFunctionReturnFlushedQueue=this.callFunctionReturnFlushedQueue.bind(this),this.callFunctionReturnResultAndFlushedQueue=this.callFunctionReturnResultAndFlushedQueue.bind(this),this.flushedQueue=this.flushedQueue.bind(this),this.invokeCallbackAndReturnFlushedQueue=this.invokeCallbackAndReturnFlushedQueue.bind(this)}return u(c,[{key:"callFunctionReturnFlushedQueue",value:function(t,l,u){var s=this;return this.__guard(function(){s.__callFunction(t,l,u)}),this.flushedQueue()}},{key:"callFunctionReturnResultAndFlushedQueue",value:function(t,l,u){var s,n=this;return this.__guard(function(){s=n.__callFunction(t,l,u)}),[s,this.flushedQueue()]}},{key:"invokeCallbackAndReturnFlushedQueue",value:function(t,l){var u=this;return this.__guard(function(){u.__invokeCallback(t,l)}),this.flushedQueue()}},{key:"flushedQueue",value:function(){var t=this;this.__guard(function(){t.__callImmediates()});var l=this._queue;return this._queue=[[],[],[],this._callID],l[0].length?l:null}},{key:"getEventLoopRunningTime",value:function(){return Date.now()-this._eventLoopStartTime}},{key:"registerCallableModule",value:function(t,l){this._lazyCallableModules[t]=function(){return l}}},{key:"registerLazyCallableModule",value:function(t,l){var u,s=l;this._lazyCallableModules[t]=function(){return s&&(u=s(),s=null),u}}},{key:"getCallableModule",value:function(t){var l=this._lazyCallableModules[t];return l?l():null}},{key:"callNativeSyncHook",value:function(t,l,u,s,n){this.processCallbacks(t,l,u,s,n);try{return g.nativeCallSyncHook(t,l,u)}catch(t){throw'object'==typeof t&&null!=t&&void 0===t.framesToPop&&/^Exception in HostFunction: /.test(t.message)&&(t.framesToPop=2),t}}},{key:"processCallbacks",value:function(t,l,u,s,n){(s||n)&&(s&&u.push(this._callID<<1),n&&u.push(this._callID<<1|1),this._successCallbacks.set(this._callID,n),this._failureCallbacks.set(this._callID,s)),this._callID++}},{key:"enqueueNativeCall",value:function(t,l,u,s,h){this.processCallbacks(t,l,u,s,h),this._queue[0].push(t),this._queue[1].push(l),this._queue[2].push(u);var o=Date.now();if(g.nativeFlushQueueImmediate&&o-this._lastFlush>=5){var c=this._queue;this._queue=[[],[],[],this._callID],this._lastFlush=o,g.nativeFlushQueueImmediate(c)}n.counterEvent('pending_js_to_native_queue',this._queue[0].length),this.__spy&&this.__spy({type:1,module:t+'',method:l,args:u})}},{key:"createDebugLookup",value:function(t,l,u){}},{key:"setImmediatesCallback",value:function(t){this._immediatesCallback=t}},{key:"__guard",value:function(t){if(this.__shouldPauseOnThrow())t();else try{t()}catch(t){s.reportFatalError(t)}}},{key:"__shouldPauseOnThrow",value:function(){return'undefined'!=typeof DebuggerInternal&&!0===DebuggerInternal.shouldPauseOnThrow}},{key:"__callImmediates",value:function(){n.beginEvent('JSTimers.callImmediates()'),null!=this._immediatesCallback&&this._immediatesCallback(),n.endEvent()}},{key:"__callFunction",value:function(t,l,u){this._lastFlush=Date.now(),this._eventLoopStartTime=this._lastFlush,this.__spy?n.beginEvent(t+"."+l+"("+o(u)+")"):n.beginEvent(t+"."+l+"(...)"),this.__spy&&this.__spy({type:0,module:t,method:l,args:u});var s=this.getCallableModule(t);h(!!s,'Module %s is not a registered callable module (calling %s)',t,l),h(!!s[l],'Method %s does not exist on module %s',l,t);var c=s[l].apply(s,u);return n.endEvent(),c}},{key:"__invokeCallback",value:function(l,u){this._lastFlush=Date.now(),this._eventLoopStartTime=this._lastFlush;var s=l>>>1,n=1&l?this._successCallbacks.get(s):this._failureCallbacks.get(s);n&&(this._successCallbacks.delete(s),this._failureCallbacks.delete(s),n.apply(void 0,t(u)))}}],[{key:"spy",value:function(t){c.prototype.__spy=!0===t?function(t){console.log((0===t.type?'N->JS':'JS->N')+" : "+(t.module?t.module+'.':'')+t.method+"("+JSON.stringify(t.args)+")")}:!1===t?null:t}}]),c})());m.exports=c},19,[20,24,25,26,27,28,3,29,4]);
^~~~~~~~~~~~~~~~
/home/ubuntu/Codes/Reactnative/MEC/android/app/build/generated/assets/react/release/index.android.bundle:89:57098: warning: the variable "setTimeout" was not declared in function "Pi"
__d(function(e,t,n,r,i,l,a){"use strict";var o=t(a[0]);t(a[1]);var u=t(a[2]),c=t(a[3]),s=t(a[4]);function f(e){return e.name="Invariant Violation",e}var d=null,p={};function h(){if(d)for(var e in p){var t=p[e],n=d.indexOf(e);if(!(-1<n))throw f(Error("EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `"+e+"`."));if(!g[n]){if(!t.extractEvents)throw f(Error("EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `"+e+"` does not."));for(var r in g[n]=t,n=t.eventTypes){var i=void 0,l=n[r],a=t,o=r;if(v.hasOwnProperty(o))throw f(Error("EventPluginHub: More than one plugin attempted to publish the same event name, `"+o+"`."));v[o]=l;var u=l.phasedRegistrationNames;if(u){for(i in u)u.hasOwnProperty(i)&&m(u[i],a);i=!0}else l.registrationName?(m(l.registrationName,a),i=!0):i=!1;if(!i)throw f(Error("EventPluginRegistry: Failed to publish event `"+r+"` for plugin `"+e+"`."))}}}}function m(e,t){if(y[e])throw f(Error("EventPluginHub: More than one plugin attempted to publish the same registration name, `"+e+"`."));y[e]=t}var g=[],v={},y={};function b(e,t,n,r,i,l,a,o,u){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this.onError(e)}}var T=!1,E=null,x=!1,w=null,S={onError:function(e){T=!0,E=e}};function k(e,t,n,r,i,l,a,o,u){T=!1,E=null,b.apply(S,arguments)}function C(e,t,n,r,i,l,a,o,u){if(k.apply(this,arguments),T){if(!T)throw f(Error("clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue."));var c=E;T=!1,E=null,x||(x=!0,w=c)}}var _=null,P=null,R=null;function N(e,t,n){var r=e.type||"unknown-event";e.currentTarget=R(n),C(r,t,void 0,e),e.currentTarget=null}function I(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))throw f(Error("executeDirectDispatch(...): Invalid `event`."));return e.currentTarget=t?R(n):null,t=t?t(e):null,e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,t}function U(e,t){if(null==t)throw f(Error("accumulateInto(...): Accumulated items must not be null or undefined."));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function z(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var M=null;function A(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;r<t.length&&!e.isPropagationStopped();r++)N(e,t[r],n[r]);else t&&N(e,t,n);e._dispatchListeners=null,e._dispatchInstances=null,e.isPersistent()||e.constructor.release(e)}}var D=function(e){if(d)throw f(Error("EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."));d=Array.prototype.slice.call(e),h()},F=function(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var r=e[t];if(!p.hasOwnProperty(t)||p[t]!==r){if(p[t])throw f(Error("EventPluginRegistry: Cannot inject two different event plugins using the same name, `"+t+"`."));p[t]=r,n=!0}}n&&h()};function O(e,t){var n=e.stateNode;if(!n)return null;var r=_(n);if(!r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw f(Error("Expected `"+t+"` listener to be a function, instead got a value of `"+typeof n+"` type."));return n}function j(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function W(e,t,n){for(var r=[];e;)r.push(e),e=j(e);for(e=r.length;0<e--;)t(r[e],"captured",n);for(e=0;e<r.length;e++)t(r[e],"bubbled",n)}function H(e,t,n){(t=O(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=U(n._dispatchListeners,t),n._dispatchInstances=U(n._dispatchInstances,e))}function Q(e){e&&e.dispatchConfig.phasedRegistrationNames&&W(e._targetInst,H,e)}function B(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst;W(t=t?j(t):null,H,e)}}function V(e){if(e&&e.dispatchConfig.registrationName){var t=e._targetInst;if(t&&e&&e.dispatchConfig.registrationName){var n=O(t,e.dispatchConfig.registrationName);n&&(e._dispatchListeners=U(e._dispatchListeners,n),e._dispatchInstances=U(e._dispatchInstances,t))}}}function L(){return!0}function Y(){return!1}function X(e,t,n,r){for(var i in this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n,e=this.constructor.Interface)e.hasOwnProperty(i)&&((t=e[i])?this[i]=t(n):"target"===i?this.target=r:this[i]=n[i]);return this.isDefaultPrevented=(null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue)?L:Y,this.isPropagationStopped=Y,this}function q(e,t,n,r){if(this.eventPool.length){var i=this.eventPool.pop();return this.call(i,e,t,n,r),i}return new this(e,t,n,r)}function $(e){if(!(e instanceof this))throw f(Error("Trying to release an event instance into a pool of a different type."));e.destructor(),10>this.eventPool.length&&this.eventPool.push(e)}function G(e){e.eventPool=[],e.getPooled=q,e.release=$}o(X.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=L)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=L)},persist:function(){this.isPersistent=L},isPersistent:Y,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Y,this._dispatchInstances=this._dispatchListeners=null}}),X.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},X.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var i=new t;return o(i,n.prototype),n.prototype=i,n.prototype.constructor=n,n.Interface=o({},r.Interface,e),n.extend=r.extend,G(n),n},G(X);var J=X.extend({touchHistory:function(){return null}});function K(e){return"topTouchStart"===e}function Z(e){return"topTouchMove"===e}var ee=["topTouchStart"],te=["topTouchMove"],ne=["topTouchCancel","topTouchEnd"],re=[],ie={touchBank:re,numberActiveTouches:0,indexOfSingleActiveTouch:-1,mostRecentTimeStamp:0};function le(e){return e.timeStamp||e.timestamp}function ae(e){if(null==(e=e.identifier))throw f(Error("Touch object is missing identifier."));return e}function oe(e){var t=ae(e),n=re[t];n?(n.touchActive=!0,n.startPageX=e.pageX,n.startPageY=e.pageY,n.startTimeStamp=le(e),n.currentPageX=e.pageX,n.currentPageY=e.pageY,n.currentTimeStamp=le(e),n.previousPageX=e.pageX,n.previousPageY=e.pageY,n.previousTimeStamp=le(e)):(n={touchActive:!0,startPageX:e.pageX,startPageY:e.pageY,startTimeStamp:le(e),currentPageX:e.pageX,currentPageY:e.pageY,currentTimeStamp:le(e),previousPageX:e.pageX,previousPageY:e.pageY,previousTimeStamp:le(e)},re[t]=n),ie.mostRecentTimeStamp=le(e)}function ue(e){var t=re[ae(e)];t?(t.touchActive=!0,t.previousPageX=t.currentPageX,t.previousPageY=t.currentPageY,t.previousTimeStamp=t.currentTimeStamp,t.currentPageX=e.pageX,t.currentPageY=e.pageY,t.currentTimeStamp=le(e),ie.mostRecentTimeStamp=le(e)):console.warn("Cannot record touch move without a touch start.\nTouch Move: %s\n","Touch Bank: %s",se(e),fe())}function ce(e){var t=re[ae(e)];t?(t.touchActive=!1,t.previousPageX=t.currentPageX,t.previousPageY=t.currentPageY,t.previousTimeStamp=t.currentTimeStamp,t.currentPageX=e.pageX,t.currentPageY=e.pageY,t.currentTimeStamp=le(e),ie.mostRecentTimeStamp=le(e)):console.warn("Cannot record touch end without a touch start.\nTouch End: %s\n","Touch Bank: %s",se(e),fe())}function se(e){return JSON.stringify({identifier:e.identifier,pageX:e.pageX,pageY:e.pageY,timestamp:le(e)})}function fe(){var e=JSON.stringify(re.slice(0,20));return 20<re.length&&(e+=" (original size: "+re.length+")"),e}var de={recordTouchTrack:function(e,t){if(Z(e))t.changedTouches.forEach(ue);else if(K(e))t.changedTouches.forEach(oe),ie.numberActiveTouches=t.touches.length,1===ie.numberActiveTouches&&(ie.indexOfSingleActiveTouch=t.touches[0].identifier);else if(("topTouchEnd"===e||"topTouchCancel"===e)&&(t.changedTouches.forEach(ce),ie.numberActiveTouches=t.touches.length,1===ie.numberActiveTouches))for(e=0;e<re.length;e++)if(null!=(t=re[e])&&t.touchActive){ie.indexOfSingleActiveTouch=e;break}},touchHistory:ie};function pe(e,t){if(null==t)throw f(Error("accumulate(...): Accumulated items must not be null or undefined."));return null==e?t:Array.isArray(e)?e.concat(t):Array.isArray(t)?[e].concat(t):[e,t]}var he=null,me=0;function ge(e,t){var n=he;he=e,null!==ye.GlobalResponderHandler&&ye.GlobalResponderHandler.onChange(n,e,t)}var ve={startShouldSetResponder:{phasedRegistrationNames:{bubbled:"onStartShouldSetResponder",captured:"onStartShouldSetResponderCapture"},dependencies:ee},scrollShouldSetResponder:{phasedRegistrationNames:{bubbled:"onScrollShouldSetResponder",captured:"onScrollShouldSetResponderCapture"},dependencies:["topScroll"]},selectionChangeShouldSetResponder:{phasedRegistrationNames:{bubbled:"onSelectionChangeShouldSetResponder",captured:"onSelectionChangeShouldSetResponderCapture"},dependencies:["topSelectionChange"]},moveShouldSetResponder:{phasedRegistrationNames:{bubbled:"onMoveShouldSetResponder",captured:"onMoveShouldSetResponderCapture"},dependencies:te},responderStart:{registrationName:"onResponderStart",dependencies:ee},responderMove:{registrationName:"onResponderMove",dependencies:te},responderEnd:{registrationName:"onResponderEnd",dependencies:ne},responderRelease:{registrationName:"onResponderRelease",dependencies:ne},responderTerminationRequest:{registrationName:"onResponderTerminationRequest",dependencies:[]},responderGrant:{registrationName:"onResponderGrant",dependencies:[]},responderReject:{registrationName:"onResponderReject",dependencies:[]},responderTerminate:{registrationName:"onResponderTerminate",dependencies:[]}},ye={_getResponder:function(){return he},eventTypes:ve,extractEvents:function(e,t,n,r){if(K(e))me+=1;else if("topTouchEnd"===e||"topTouchCancel"===e){if(!(0<=me))return console.error("Ended a touch event which was not counted in `trackedTouchCount`."),null;--me}if(de.recordTouchTrack(e,n),t&&("topScroll"===e&&!n.responderIgnoreScroll||0<me&&"topSelectionChange"===e||K(e)||Z(e))){var i=K(e)?ve.startShouldSetResponder:Z(e)?ve.moveShouldSetResponder:"topSelectionChange"===e?ve.selectionChangeShouldSetResponder:ve.scrollShouldSetResponder;if(he)e:{for(var l=he,a=0,o=l;o;o=j(o))a++;o=0;for(var u=t;u;u=j(u))o++;for(;0<a-o;)l=j(l),a--;for(;0<o-a;)t=j(t),o--;for(;a--;){if(l===t||l===t.alternate)break e;l=j(l),t=j(t)}l=null}else l=t;t=l===he,(l=J.getPooled(i,l,n,r)).touchHistory=de.touchHistory,z(l,t?B:Q);e:{if(i=l._dispatchListeners,t=l._dispatchInstances,Array.isArray(i)){for(a=0;a<i.length&&!l.isPropagationStopped();a++)if(i[a](l,t[a])){i=t[a];break e}}else if(i&&i(l,t)){i=t;break e}i=null}l._dispatchInstances=null,l._dispatchListeners=null,l.isPersistent()||l.constructor.release(l),i&&i!==he?(l=void 0,(t=J.getPooled(ve.responderGrant,i,n,r)).touchHistory=de.touchHistory,z(t,V),a=!0===I(t),he?((o=J.getPooled(ve.responderTerminationRequest,he,n,r)).touchHistory=de.touchHistory,z(o,V),u=!o._dispatchListeners||I(o),o.isPersistent()||o.constructor.release(o),u?((o=J.getPooled(ve.responderTerminate,he,n,r)).touchHistory=de.touchHistory,z(o,V),l=pe(l,[t,o]),ge(i,a)):((i=J.getPooled(ve.responderReject,i,n,r)).touchHistory=de.touchHistory,z(i,V),l=pe(l,i))):(l=pe(l,t),ge(i,a)),i=l):i=null}else i=null;if(l=he&&K(e),t=he&&Z(e),a=he&&("topTouchEnd"===e||"topTouchCancel"===e),(l=l?ve.responderStart:t?ve.responderMove:a?ve.responderEnd:null)&&((l=J.getPooled(l,he,n,r)).touchHistory=de.touchHistory,z(l,V),i=pe(i,l)),l=he&&"topTouchCancel"===e,e=he&&!l&&("topTouchEnd"===e||"topTouchCancel"===e))e:{if((e=n.touches)&&0!==e.length)for(t=0;t<e.length;t++)if(null!==(a=e[t].target)&&void 0!==a&&0!==a){o=P(a);t:{for(a=he;o;){if(a===o||a===o.alternate){a=!0;break t}o=j(o)}a=!1}if(a){e=!1;break e}}e=!0}return(e=l?ve.responderTerminate:e?ve.responderRelease:null)&&((n=J.getPooled(e,he,n,r)).touchHistory=de.touchHistory,z(n,V),i=pe(i,n),ge(null)),i},GlobalResponderHandler:null,injection:{injectGlobalResponderHandler:function(e){ye.GlobalResponderHandler=e}}},be=u.ReactNativeViewConfigRegistry.customBubblingEventTypes,Te=u.ReactNativeViewConfigRegistry.customDirectEventTypes;D(["ResponderEventPlugin","ReactNativeBridgeEventPlugin"]),F({ResponderEventPlugin:ye,ReactNativeBridgeEventPlugin:{eventTypes:{},extractEvents:function(e,t,n,r){if(null==t)return null;var i=be[e],l=Te[e];if(!i&&!l)throw f(Error('Unsupported top level event type "'+e+'" dispatched'));if(e=X.getPooled(i||l,t,n,r),i)z(e,Q);else{if(!l)return null;z(e,V)}return e}}});var Ee=new Map,xe=new Map;function we(e){return Ee.get(e)||null}var Se=null,ke=null;function Ce(e){if(P(e))throw f(Error("setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue."))}function _e(e,t){return e(t)}function Pe(){}var Re=!1;function Ne(e,t){if(Re)return e(t);Re=!0;try{return _e(e,t)}finally{if(Re=!1,(null!==Se||null!==ke)&&(Pe(),Se&&(t=Se,e=ke,ke=Se=null,Ce(t),e)))for(t=0;t<e.length;t++)Ce(e[t])}}var Ie={};function Ue(e,t,n){var r=n||Ie,i=we(e);Ne(function(){for(var e=r.target,n=null,l=0;l<g.length;l++){var a=g[l];a&&(a=a.extractEvents(t,i,r,e))&&(n=U(n,a))}if(null!==(e=n)&&(M=U(M,e)),e=M,M=null,e){if(z(e,A),M)throw f(Error("processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented."));if(x)throw e=w,x=!1,w=null,e}})}u.RCTEventEmitter.register({receiveEvent:function(e,t,n){Ue(e,t,n)},receiveTouches:function(e,t,n){if("topTouchEnd"===e||"topTouchCancel"===e){for(var r=[],i=0;i<n.length;i++){var l=n[i];r.push(t[l]),t[l]=null}for(i=n=0;i<t.length;i++)null!==(l=t[i])&&(t[n++]=l);t.length=n}else for(r=[],i=0;i<n.length;i++)r.push(t[n[i]]);for(n=0;n<r.length;n++){(i=r[n]).changedTouches=r,i.touches=t,l=null;var a=i.target;null===a||void 0===a||1>a||(l=a),Ue(l,e,i)}}}),_=function(e){return xe.get(e._nativeTag)||null},P=we,R=function(e){var t=e.stateNode._nativeTag;if(void 0===t&&(t=e.stateNode.canonical._nativeTag),!t)throw f(Error("All native instances should have a tag."));return t},ye.injection.injectGlobalResponderHandler({onChange:function(e,t,n){null!==t?u.UIManager.setJSResponder(t.stateNode._nativeTag,n):u.UIManager.clearJSResponder()}});var ze=c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;ze.hasOwnProperty("ReactCurrentDispatcher")||(ze.ReactCurrentDispatcher={current:null}),ze.hasOwnProperty("ReactCurrentBatchConfig")||(ze.ReactCurrentBatchConfig={suspense:null});var Me="function"==typeof Symbol&&("function"==typeof Symbol?Symbol.for:"@@for"),Ae=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.element"):60103,De=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.portal"):60106,Fe=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.fragment"):60107,Oe=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.strict_mode"):60108,je=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.profiler"):60114,We=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.provider"):60109,He=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.context"):60110,Qe=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.concurrent_mode"):60111,Be=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.forward_ref"):60112,Ve=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.suspense"):60113,Le=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.suspense_list"):60120,Ye=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.memo"):60115,Xe=Me?("function"==typeof Symbol?Symbol.for:"@@for")("react.lazy"):60116;Me&&("function"==typeof Symbol?Symbol.for:"@@for")("react.fundamental"),Me&&("function"==typeof Symbol?Symbol.for:"@@for")("react.responder");var qe="function"==typeof Symbol&&("function"==typeof Symbol?Symbol.iterator:"@@iterator");function $e(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=qe&&e[qe]||e["@@iterator"])?e:null}function Ge(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case Fe:return"Fragment";case De:return"Portal";case je:return"Profiler";case Oe:return"StrictMode";case Ve:return"Suspense";case Le:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case He:return"Context.Consumer";case We:return"Context.Provider";case Be:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case Ye:return Ge(e.type);case Xe:if(e=1===e._status?e._result:null)return Ge(e)}return null}function Je(e){var t=e;if(e.alternate)for(;t.return;)t=t.return;else{if(0!=(2&t.effectTag))return 1;for(;t.return;)if(0!=(2&(t=t.return).effectTag))return 1}return 3===t.tag?2:3}function Ke(e){if(2!==Je(e))throw f(Error("Unable to find node on an unmounted component."))}function Ze(e){var t=e.alternate;if(!t){if(3===(t=Je(e)))throw f(Error("Unable to find node on an unmounted component."));return 1===t?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var l=i.alternate;if(null===l){if(null!==(r=i.return)){n=r;continue}break}if(i.child===l.child){for(l=i.child;l;){if(l===n)return Ke(i),e;if(l===r)return Ke(i),t;l=l.sibling}throw f(Error("Unable to find node on an unmounted component."))}if(n.return!==r.return)n=i,r=l;else{for(var a=!1,o=i.child;o;){if(o===n){a=!0,n=i,r=l;break}if(o===r){a=!0,r=i,n=l;break}o=o.sibling}if(!a){for(o=l.child;o;){if(o===n){a=!0,n=l,r=i;break}if(o===r){a=!0,r=l,n=i;break}o=o.sibling}if(!a)throw f(Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue."))}}if(n.alternate!==r)throw f(Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue."))}if(3!==n.tag)throw f(Error("Unable to find node on an unmounted component."));return n.stateNode.current===n?e:t}function et(e){if(!(e=Ze(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}var tt={},nt=null,rt=0;function it(e,t,n){if(Array.isArray(t))for(var r=t.length;r--&&0<rt;)it(e,t[r],n);else if(t&&0<rt)for(r in nt)if(nt[r]){var i=t[r];if(void 0!==i){var l=n[r];l&&("function"==typeof i&&(i=!0),void 0===i&&(i=null),"object"!=typeof l?e[r]=i:"function"!=typeof l.diff&&"function"!=typeof l.process||(i="function"==typeof l.process?l.process(i):i,e[r]=i),nt[r]=!1,rt--)}}}function lt(e,t,n,r){if(!e&&t===n)return e;if(!t||!n)return n?at(e,n,r):t?ot(e,t,r):e;if(!Array.isArray(t)&&!Array.isArray(n))return ut(e,t,n,r);if(Array.isArray(t)&&Array.isArray(n)){var i,l=t.length<n.length?t.length:n.length;for(i=0;i<l;i++)e=lt(e,t[i],n[i],r);for(;i<t.length;i++)e=ot(e,t[i],r);for(;i<n.length;i++)e=at(e,n[i],r);return e}return Array.isArray(t)?ut(e,u.flattenStyle(t),n,r):ut(e,t,u.flattenStyle(n),r)}function at(e,t,n){if(!t)return e;if(!Array.isArray(t))return ut(e,tt,t,n);for(var r=0;r<t.length;r++)e=at(e,t[r],n);return e}function ot(e,t,n){if(!t)return e;if(!Array.isArray(t))return ut(e,t,tt,n);for(var r=0;r<t.length;r++)e=ot(e,t[r],n);return e}function ut(e,t,n,r){var i,l;for(l in n)if(i=r[l]){var a=t[l],o=n[l];"function"==typeof o&&(o=!0,"function"==typeof a&&(a=!0)),void 0===o&&(o=null,void 0===a&&(a=null)),nt&&(nt[l]=!1),e&&void 0!==e[l]?"object"!=typeof i?e[l]=o:"function"!=typeof i.diff&&"function"!=typeof i.process||(i="function"==typeof i.process?i.process(o):o,e[l]=i):a!==o&&("object"!=typeof i?("object"!=typeof o||null===o||u.deepDiffer(a,o))&&((e||(e={}))[l]=o):"function"==typeof i.diff||"function"==typeof i.process?(void 0===a||("function"==typeof i.diff?i.diff(a,o):"object"!=typeof o||null===o||u.deepDiffer(a,o)))&&(i="function"==typeof i.process?i.process(o):o,(e||(e={}))[l]=i):(nt=null,rt=0,e=lt(e,a,o,i),0<rt&&e&&(it(e,o,i),nt=null)))}for(var c in t)void 0===n[c]&&(!(i=r[c])||e&&void 0!==e[c]||void 0!==(a=t[c])&&("object"!=typeof i||"function"==typeof i.diff||"function"==typeof i.process?((e||(e={}))[c]=null,nt||(nt={}),nt[c]||(nt[c]=!0,rt++)):e=ot(e,a,i)));return e}function ct(e,t){return function(){if(t&&("boolean"!=typeof e.__isMounted||e.__isMounted))return t.apply(e,arguments)}}var st=(function(){function e(t,n){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function");this._nativeTag=t,this._children=[],this.viewConfig=n}return e.prototype.blur=function(){u.TextInputState.blurTextInput(this._nativeTag)},e.prototype.focus=function(){u.TextInputState.focusTextInput(this._nativeTag)},e.prototype.measure=function(e){u.UIManager.measure(this._nativeTag,ct(this,e))},e.prototype.measureInWindow=function(e){u.UIManager.measureInWindow(this._nativeTag,ct(this,e))},e.prototype.measureLayout=function(e,t,n){var r=void 0;"number"==typeof e?r=e:e._nativeTag?r=e._nativeTag:e.canonical&&e.canonical._nativeTag&&(r=e.canonical._nativeTag),null!=r&&u.UIManager.measureLayout(this._nativeTag,r,ct(this,n),ct(this,t))},e.prototype.setNativeProps=function(e){null!=(e=ut(null,tt,e,this.viewConfig.validAttributes))&&u.UIManager.updateView(this._nativeTag,this.viewConfig.uiViewClassName,e)},e})();function ft(){throw f(Error("The current renderer does not support hydration. This error is likely caused by a bug in React. Please file an issue."))}var dt=u.ReactNativeViewConfigRegistry.get,pt={},ht=3;function mt(){var e=ht;return 1==e%10&&(e+=2),ht=e+2,e}function gt(e){if("number"==typeof e)Ee.delete(e),xe.delete(e);else{var t=e._nativeTag;Ee.delete(t),xe.delete(t),e._children.forEach(gt)}}function vt(e){if(0===e._children.length)return!1;var t=e._children.map(function(e){return"number"==typeof e?e:e._nativeTag});return u.UIManager.setChildren(e._nativeTag,t),!1}var yt=setTimeout,bt=clearTimeout,Tt=/^(.*)[\\\/]/;function Et(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var r=e._debugOwner,i=e._debugSource,l=Ge(e.type);n=null,r&&(n=Ge(r.type)),r=l,l="",i?l=" (at "+i.fileName.replace(Tt,"")+":"+i.lineNumber+")":n&&(l=" (created by "+n+")"),n="\n    in "+(r||"Unknown")+l}t+=n,e=e.return}while(e);return t}new Set;var xt=[],wt=-1;function St(e){0>wt||(e.current=xt[wt],xt[wt]=null,wt--)}function kt(e,t){xt[++wt]=e.current,e.current=t}var Ct={},_t={current:Ct},Pt={current:!1},Rt=Ct;function Nt(e,t){var n=e.type.contextTypes;if(!n)return Ct;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,l={};for(i in n)l[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function It(e){return null!==(e=e.childContextTypes)&&void 0!==e}function Ut(e){St(Pt),St(_t)}function zt(e){St(Pt),St(_t)}function Mt(e,t,n){if(_t.current!==Ct)throw f(Error("Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue."));kt(_t,t),kt(Pt,n)}function At(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var i in r=r.getChildContext())if(!(i in e))throw f(Error((Ge(t)||"Unknown")+'.getChildContext(): key "'+i+'" is not defined in childContextTypes.'));return o({},n,r)}function Dt(e){var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||Ct,Rt=_t.current,kt(_t,t),kt(Pt,Pt.current),!0}function Ft(e,t,n){var r=e.stateNode;if(!r)throw f(Error("Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue."));n?(t=At(e,t,Rt),r.__reactInternalMemoizedMergedChildContext=t,St(Pt),St(_t),kt(_t,t)):St(Pt),kt(Pt,n)}var Ot=s.unstable_runWithPriority,jt=s.unstable_scheduleCallback,Wt=s.unstable_cancelCallback,Ht=s.unstable_shouldYield,Qt=s.unstable_requestPaint,Bt=s.unstable_now,Vt=s.unstable_getCurrentPriorityLevel,Lt=s.unstable_ImmediatePriority,Yt=s.unstable_UserBlockingPriority,Xt=s.unstable_NormalPriority,qt=s.unstable_LowPriority,$t=s.unstable_IdlePriority,Gt={},Jt=void 0!==Qt?Qt:function(){},Kt=null,Zt=null,en=!1,tn=Bt(),nn=1e4>tn?Bt:function(){return Bt()-tn};function rn(){switch(Vt()){case Lt:return 99;case Yt:return 98;case Xt:return 97;case qt:return 96;case $t:return 95;default:throw f(Error("Unknown priority level."))}}function ln(e){switch(e){case 99:return Lt;case 98:return Yt;case 97:return Xt;case 96:return qt;case 95:return $t;default:throw f(Error("Unknown priority level."))}}function an(e,t){return e=ln(e),Ot(e,t)}function on(e,t,n){return e=ln(e),jt(e,t,n)}function un(e){return null===Kt?(Kt=[e],Zt=jt(Lt,sn)):Kt.push(e),Gt}function cn(){null!==Zt&&Wt(Zt),sn()}function sn(){if(!en&&null!==Kt){en=!0;var e=0;try{var t=Kt;an(99,function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}}),Kt=null}catch(t){throw null!==Kt&&(Kt=Kt.slice(e+1)),jt(Lt,cn),t}finally{en=!1}}}function fn(e,t){return 1073741823===t?99:1===t?95:0>=(e=10*(1073741821-t)-10*(1073741821-e))?99:250>=e?98:5250>=e?97:95}function dn(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}var pn=Object.prototype.hasOwnProperty;function hn(e,t){if(dn(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!pn.call(t,n[r])||!dn(e[n[r]],t[n[r]]))return!1;return!0}function mn(e,t){if(e&&e.defaultProps)for(var n in t=o({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}function gn(e){var t=e._result;switch(e._status){case 1:return t;case 2:case 0:throw t;default:switch(e._status=0,(t=(t=e._ctor)()).then(function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)},function(t){0===e._status&&(e._status=2,e._result=t)}),e._status){case 1:return e._result;case 2:throw e._result}throw e._result=t,t}}var vn={current:null},yn=null,bn=null,Tn=null;function En(){Tn=bn=yn=null}function xn(e,t){var n=e.type._context;kt(vn,n._currentValue),n._currentValue=t}function wn(e){var t=vn.current;St(vn),e.type._context._currentValue=t}function Sn(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationTime<t)e.childExpirationTime=t,null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t);else{if(!(null!==n&&n.childExpirationTime<t))break;n.childExpirationTime=t}e=e.return}}function kn(e,t){yn=e,Tn=bn=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(e.expirationTime>=t&&(li=!0),e.firstContext=null)}function Cn(e,t){if(Tn!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(Tn=e,t=1073741823),t={context:e,observedBits:t,next:null},null===bn){if(null===yn)throw f(Error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo()."));bn=t,yn.dependencies={expirationTime:0,firstContext:t,responders:null}}else bn=bn.next=t;return e._currentValue}var _n=!1;function Pn(e){return{baseState:e,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Rn(e){return{baseState:e.baseState,firstUpdate:e.firstUpdate,lastUpdate:e.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Nn(e,t){return{expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function In(e,t){null===e.lastUpdate?e.firstUpdate=e.lastUpdate=t:(e.lastUpdate.next=t,e.lastUpdate=t)}function Un(e,t){var n=e.alternate;if(null===n){var r=e.updateQueue,i=null;null===r&&(r=e.updateQueue=Pn(e.memoizedState))}else r=e.updateQueue,i=n.updateQueue,null===r?null===i?(r=e.updateQueue=Pn(e.memoizedState),i=n.updateQueue=Pn(n.memoizedState)):r=e.updateQueue=Rn(i):null===i&&(i=n.updateQueue=Rn(r));null===i||r===i?In(r,t):null===r.lastUpdate||null===i.lastUpdate?(In(r,t),In(i,t)):(In(r,t),i.lastUpdate=t)}function zn(e,t){var n=e.updateQueue;null===(n=null===n?e.updateQueue=Pn(e.memoizedState):Mn(e,n)).lastCapturedUpdate?n.firstCapturedUpdate=n.lastCapturedUpdate=t:(n.lastCapturedUpdate.next=t,n.lastCapturedUpdate=t)}function Mn(e,t){var n=e.alternate;return null!==n&&t===n.updateQueue&&(t=e.updateQueue=Rn(t)),t}function An(e,t,n,r,i,l){switch(n.tag){case 1:return"function"==typeof(e=n.payload)?e.call(l,r,i):e;case 3:e.effectTag=-2049&e.effectTag|64;case 0:if(null===(i="function"==typeof(e=n.payload)?e.call(l,r,i):e)||void 0===i)break;return o({},r,i);case 2:_n=!0}return r}function Dn(e,t,n,r,i){_n=!1;for(var l=(t=Mn(e,t)).baseState,a=null,o=0,u=t.firstUpdate,c=l;null!==u;){var s=u.expirationTime;s<i?(null===a&&(a=u,l=c),o<s&&(o=s)):(zl(s,u.suspenseConfig),c=An(e,0,u,c,n,r),null!==u.callback&&(e.effectTag|=32,u.nextEffect=null,null===t.lastEffect?t.firstEffect=t.lastEffect=u:(t.lastEffect.nextEffect=u,t.lastEffect=u))),u=u.next}for(s=null,u=t.firstCapturedUpdate;null!==u;){var f=u.expirationTime;f<i?(null===s&&(s=u,null===a&&(l=c)),o<f&&(o=f)):(c=An(e,0,u,c,n,r),null!==u.callback&&(e.effectTag|=32,u.nextEffect=null,null===t.lastCapturedEffect?t.firstCapturedEffect=t.lastCapturedEffect=u:(t.lastCapturedEffect.nextEffect=u,t.lastCapturedEffect=u))),u=u.next}null===a&&(t.lastUpdate=null),null===s?t.lastCapturedUpdate=null:e.effectTag|=32,null===a&&null===s&&(l=c),t.baseState=l,t.firstUpdate=a,t.firstCapturedUpdate=s,e.expirationTime=o,e.memoizedState=c}function Fn(e,t,n){null!==t.firstCapturedUpdate&&(null!==t.lastUpdate&&(t.lastUpdate.next=t.firstCapturedUpdate,t.lastUpdate=t.lastCapturedUpdate),t.firstCapturedUpdate=t.lastCapturedUpdate=null),On(t.firstEffect,n),t.firstEffect=t.lastEffect=null,On(t.firstCapturedEffect,n),t.firstCapturedEffect=t.lastCapturedEffect=null}function On(e,t){for(;null!==e;){var n=e.callback;if(null!==n){e.callback=null;var r=t;if("function"!=typeof n)throw f(Error("Invalid argument passed as callback. Expected a function. Instead received: "+n));n.call(r)}e=e.nextEffect}}var jn=ze.ReactCurrentBatchConfig,Wn=(new c.Component).refs;function Hn(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:o({},t,n),e.memoizedState=n,null!==(r=e.updateQueue)&&0===e.expirationTime&&(r.baseState=n)}var Qn={isMounted:function(e){return!!(e=e._reactInternalFiber)&&2===Je(e)},enqueueSetState:function(e,t,n){e=e._reactInternalFiber;var r=wl(),i=jn.suspense;(i=Nn(r=Sl(r,e,i),i)).payload=t,void 0!==n&&null!==n&&(i.callback=n),Un(e,i),kl(e,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternalFiber;var r=wl(),i=jn.suspense;(i=Nn(r=Sl(r,e,i),i)).tag=1,i.payload=t,void 0!==n&&null!==n&&(i.callback=n),Un(e,i),kl(e,r)},enqueueForceUpdate:function(e,t){e=e._reactInternalFiber;var n=wl(),r=jn.suspense;(r=Nn(n=Sl(n,e,r),r)).tag=2,void 0!==t&&null!==t&&(r.callback=t),Un(e,r),kl(e,n)}};function Bn(e,t,n,r,i,l,a){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,l,a):!t.prototype||!t.prototype.isPureReactComponent||(!hn(n,r)||!hn(i,l))}function Vn(e,t,n){var r=!1,i=Ct,l=t.contextType;return"object"==typeof l&&null!==l?l=Cn(l):(i=It(t)?Rt:_t.current,l=(r=null!==(r=t.contextTypes)&&void 0!==r)?Nt(e,i):Ct),t=new t(n,l),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Qn,e.stateNode=t,t._reactInternalFiber=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=l),t}function Ln(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Qn.enqueueReplaceState(t,t.state,null)}function Yn(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs=Wn;var l=t.contextType;"object"==typeof l&&null!==l?i.context=Cn(l):(l=It(t)?Rt:_t.current,i.context=Nt(e,l)),null!==(l=e.updateQueue)&&(Dn(e,l,n,i,r),i.state=e.memoizedState),"function"==typeof(l=t.getDerivedStateFromProps)&&(Hn(e,t,l,n),i.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof i.getSnapshotBeforeUpdate||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||(t=i.state,"function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&Qn.enqueueReplaceState(i,i.state,null),null!==(l=e.updateQueue)&&(Dn(e,l,n,i,r),i.state=e.memoizedState)),"function"==typeof i.componentDidMount&&(e.effectTag|=4)}var Xn=Array.isArray;function qn(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){var r=void 0;if(n=n._owner){if(1!==n.tag)throw f(Error("Function components cannot have refs. Did you mean to use React.forwardRef()?"));r=n.stateNode}if(!r)throw f(Error("Missing owner for string ref "+e+". This error is likely caused by a bug in React. Please file an issue."));var i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:((t=function(e){var t=r.refs;t===Wn&&(t=r.refs={}),null===e?delete t[i]:t[i]=e})._stringRef=i,t)}if("string"!=typeof e)throw f(Error("Expected ref to be a function, a string, an object returned by React.createRef(), or null."));if(!n._owner)throw f(Error("Element ref was specified as a string ("+e+") but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a function component\n2. You may be adding a ref to a component that was not created inside a component's render method\n3. You have multiple copies of React loaded\nSee https://fb.me/react-refs-must-have-owner for more information."))}return e}function $n(e,t){if("textarea"!==e.type)throw f(Error("Objects are not valid as a React child (found: "+("[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t)+")."))}function Gn(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.effectTag=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t,n){return(e=Kl(e,t)).index=0,e.sibling=null,e}function l(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.effectTag=2,n):r:(t.effectTag=2,n):n}function a(t){return e&&null===t.alternate&&(t.effectTag=2),t}function o(e,t,n,r){return null===t||6!==t.tag?((t=ta(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function u(e,t,n,r){return null!==t&&t.elementType===n.type?((r=i(t,n.props)).ref=qn(e,t,n),r.return=e,r):((r=Zl(n.type,n.key,n.props,null,e.mode,r)).ref=qn(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=na(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function s(e,t,n,r,l){return null===t||7!==t.tag?((t=ea(n,e.mode,r,l)).return=e,t):((t=i(t,n)).return=e,t)}function d(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=ta(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case Ae:return(n=Zl(t.type,t.key,t.props,null,e.mode,n)).ref=qn(e,null,t),n.return=e,n;case De:return(t=na(t,e.mode,n)).return=e,t}if(Xn(t)||$e(t))return(t=ea(t,e.mode,n,null)).return=e,t;$n(e,t)}return null}function p(e,t,n,r){var i=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==i?null:o(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case Ae:return n.key===i?n.type===Fe?s(e,t,n.props.children,r,i):u(e,t,n,r):null;case De:return n.key===i?c(e,t,n,r):null}if(Xn(n)||$e(n))return null!==i?null:s(e,t,n,r,null);$n(e,n)}return null}function h(e,t,n,r,i){if("string"==typeof r||"number"==typeof r)return o(t,e=e.get(n)||null,""+r,i);if("object"==typeof r&&null!==r){switch(r.$$typeof){case Ae:return e=e.get(null===r.key?n:r.key)||null,r.type===Fe?s(t,e,r.props.children,i,r.key):u(t,e,r,i);case De:return c(t,e=e.get(null===r.key?n:r.key)||null,r,i)}if(Xn(r)||$e(r))return s(t,e=e.get(n)||null,r,i,null);$n(t,r)}return null}function m(i,a,o,u){for(var c=null,s=null,f=a,m=a=0,g=null;null!==f&&m<o.length;m++){f.index>m?(g=f,f=null):g=f.sibling;var v=p(i,f,o[m],u);if(null===v){null===f&&(f=g);break}e&&f&&null===v.alternate&&t(i,f),a=l(v,a,m),null===s?c=v:s.sibling=v,s=v,f=g}if(m===o.length)return n(i,f),c;if(null===f){for(;m<o.length;m++)null!==(f=d(i,o[m],u))&&(a=l(f,a,m),null===s?c=f:s.sibling=f,s=f);return c}for(f=r(i,f);m<o.length;m++)null!==(g=h(f,i,m,o[m],u))&&(e&&null!==g.alternate&&f.delete(null===g.key?m:g.key),a=l(g,a,m),null===s?c=g:s.sibling=g,s=g);return e&&f.forEach(function(e){return t(i,e)}),c}function g(i,a,o,u){var c=$e(o);if("function"!=typeof c)throw f(Error("An object is not an iterable. This error is likely caused by a bug in React. Please file an issue."));if(null==(o=c.call(o)))throw f(Error("An iterable object provided no iterator."));for(var s=c=null,m=a,g=a=0,v=null,y=o.next();null!==m&&!y.done;g++,y=o.next()){m.index>g?(v=m,m=null):v=m.sibling;var b=p(i,m,y.value,u);if(null===b){null===m&&(m=v);break}e&&m&&null===b.alternate&&t(i,m),a=l(b,a,g),null===s?c=b:s.sibling=b,s=b,m=v}if(y.done)return n(i,m),c;if(null===m){for(;!y.done;g++,y=o.next())null!==(y=d(i,y.value,u))&&(a=l(y,a,g),null===s?c=y:s.sibling=y,s=y);return c}for(m=r(i,m);!y.done;g++,y=o.next())null!==(y=h(m,i,g,y.value,u))&&(e&&null!==y.alternate&&m.delete(null===y.key?g:y.key),a=l(y,a,g),null===s?c=y:s.sibling=y,s=y);return e&&m.forEach(function(e){return t(i,e)}),c}return function(e,r,l,o){var u="object"==typeof l&&null!==l&&l.type===Fe&&null===l.key;u&&(l=l.props.children);var c="object"==typeof l&&null!==l;if(c)switch(l.$$typeof){case Ae:e:{for(c=l.key,u=r;null!==u;){if(u.key===c){if(7===u.tag?l.type===Fe:u.elementType===l.type){n(e,u.sibling),(r=i(u,l.type===Fe?l.props.children:l.props)).ref=qn(e,u,l),r.return=e,e=r;break e}n(e,u);break}t(e,u),u=u.sibling}l.type===Fe?((r=ea(l.props.children,e.mode,o,l.key)).return=e,e=r):((o=Zl(l.type,l.key,l.props,null,e.mode,o)).ref=qn(e,r,l),o.return=e,e=o)}return a(e);case De:e:{for(u=l.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===l.containerInfo&&r.stateNode.implementation===l.implementation){n(e,r.sibling),(r=i(r,l.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=na(l,e.mode,o)).return=e,e=r}return a(e)}if("string"==typeof l||"number"==typeof l)return l=""+l,null!==r&&6===r.tag?(n(e,r.sibling),(r=i(r,l)).return=e,e=r):(n(e,r),(r=ta(l,e.mode,o)).return=e,e=r),a(e);if(Xn(l))return m(e,r,l,o);if($e(l))return g(e,r,l,o);if(c&&$n(e,l),void 0===l&&!u)switch(e.tag){case 1:case 0:throw e=e.type,f(Error((e.displayName||e.name||"Component")+"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null."))}return n(e,r)}}var Jn=Gn(!0),Kn=Gn(!1),Zn={},er={current:Zn},tr={current:Zn},nr={current:Zn};function rr(e){if(e===Zn)throw f(Error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."));return e}function ir(e,t){kt(nr,t),kt(tr,e),kt(er,Zn),St(er),kt(er,{isInAParentText:!1})}function lr(e){St(er),St(tr),St(nr)}function ar(e){rr(nr.current);var t=rr(er.current),n=e.type;n="AndroidTextInput"===n||"RCTMultilineTextInputView"===n||"RCTSinglelineTextInputView"===n||"RCTText"===n||"RCTVirtualText"===n,t!==(n=t.isInAParentText!==n?{isInAParentText:n}:t)&&(kt(tr,e),kt(er,n))}function or(e){tr.current===e&&(St(er),St(tr))}var ur=1,cr=1,sr=2,fr={current:0};function dr(e){for(var t=e;null!==t;){if(13===t.tag){if(null!==t.memoizedState)return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function pr(e,t){return{responder:e,props:t}}var hr=0,mr=2,gr=4,vr=8,yr=16,br=32,Tr=64,Er=128,xr=ze.ReactCurrentDispatcher,wr=0,Sr=null,kr=null,Cr=null,_r=null,Pr=null,Rr=null,Nr=0,Ir=null,Ur=0,zr=!1,Mr=null,Ar=0;function Dr(){throw f(Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem."))}function Fr(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!dn(e[n],t[n]))return!1;return!0}function Or(e,t,n,r,i,l){if(wr=l,Sr=t,Cr=null!==e?e.memoizedState:null,xr.current=null===Cr?Jr:Kr,t=n(r,i),zr){do{zr=!1,Ar+=1,Cr=null!==e?e.memoizedState:null,Rr=_r,Ir=Pr=kr=null,xr.current=Kr,t=n(r,i)}while(zr);Mr=null,Ar=0}if(xr.current=Gr,(e=Sr).memoizedState=_r,e.expirationTime=Nr,e.updateQueue=Ir,e.effectTag|=Ur,e=null!==kr&&null!==kr.next,wr=0,Rr=Pr=_r=Cr=kr=Sr=null,Nr=0,Ir=null,Ur=0,e)throw f(Error("Rendered fewer hooks than expected. This may be caused by an accidental early return statement."));return t}function jr(){xr.current=Gr,wr=0,Rr=Pr=_r=Cr=kr=Sr=null,Nr=0,Ir=null,Ur=0,zr=!1,Mr=null,Ar=0}function Wr(){var e={memoizedState:null,baseState:null,queue:null,baseUpdate:null,next:null};return null===Pr?_r=Pr=e:Pr=Pr.next=e,Pr}function Hr(){if(null!==Rr)Rr=(Pr=Rr).next,Cr=null!==(kr=Cr)?kr.next:null;else{if(null===Cr)throw f(Error("Rendered more hooks than during the previous render."));var e={memoizedState:(kr=Cr).memoizedState,baseState:kr.baseState,queue:kr.queue,baseUpdate:kr.baseUpdate,next:null};Pr=null===Pr?_r=e:Pr.next=e,Cr=kr.next}return Pr}function Qr(e,t){return"function"==typeof t?t(e):t}function Br(e){var t=Hr(),n=t.queue;if(null===n)throw f(Error("Should have a queue. This is likely a bug in React. Please file an issue."));if(n.lastRenderedReducer=e,0<Ar){var r=n.dispatch;if(null!==Mr){var i=Mr.get(n);if(void 0!==i){Mr.delete(n);var l=t.memoizedState;do{l=e(l,i.action),i=i.next}while(null!==i);return dn(l,t.memoizedState)||(li=!0),t.memoizedState=l,t.baseUpdate===n.last&&(t.baseState=l),n.lastRenderedState=l,[l,r]}}return[t.memoizedState,r]}r=n.last;var a=t.baseUpdate;if(l=t.baseState,null!==a?(null!==r&&(r.next=null),r=a.next):r=null!==r?r.next:null,null!==r){var o=i=null,u=r,c=!1;do{var s=u.expirationTime;s<wr?(c||(c=!0,o=a,i=l),s>Nr&&(Nr=s)):(zl(s,u.suspenseConfig),l=u.eagerReducer===e?u.eagerState:e(l,u.action)),a=u,u=u.next}while(null!==u&&u!==r);c||(o=a,i=l),dn(l,t.memoizedState)||(li=!0),t.memoizedState=l,t.baseUpdate=o,t.baseState=i,n.lastRenderedState=l}return[t.memoizedState,n.dispatch]}function Vr(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===Ir?(Ir={lastEffect:null}).lastEffect=e.next=e:null===(t=Ir.lastEffect)?Ir.lastEffect=e.next=e:(n=t.next,t.next=e,e.next=n,Ir.lastEffect=e),e}function Lr(e,t,n,r){var i=Wr();Ur|=e,i.memoizedState=Vr(t,n,void 0,void 0===r?null:r)}function Yr(e,t,n,r){var i=Hr();r=void 0===r?null:r;var l=void 0;if(null!==kr){var a=kr.memoizedState;if(l=a.destroy,null!==r&&Fr(r,a.deps))return void Vr(hr,n,l,r)}Ur|=e,i.memoizedState=Vr(t,n,l,r)}function Xr(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function qr(){}function $r(e,t,n){if(!(25>Ar))throw f(Error("Too many re-renders. React limits the number of renders to prevent an infinite loop."));var r=e.alternate;if(e===Sr||null!==r&&r===Sr)if(zr=!0,e={expirationTime:wr,suspenseConfig:null,action:n,eagerReducer:null,eagerState:null,next:null},null===Mr&&(Mr=new Map),void 0===(n=Mr.get(t)))Mr.set(t,e);else{for(t=n;null!==t.next;)t=t.next;t.next=e}else{var i=wl(),l=jn.suspense;l={expirationTime:i=Sl(i,e,l),suspenseConfig:l,action:n,eagerReducer:null,eagerState:null,next:null};var a=t.last;if(null===a)l.next=l;else{var o=a.next;null!==o&&(l.next=o),a.next=l}if(t.last=l,0===e.expirationTime&&(null===r||0===r.expirationTime)&&null!==(r=t.lastRenderedReducer))try{var u=t.lastRenderedState,c=r(u,n);if(l.eagerReducer=r,l.eagerState=c,dn(c,u))return}catch(e){}kl(e,i)}}var Gr={readContext:Cn,useCallback:Dr,useContext:Dr,useEffect:Dr,useImperativeHandle:Dr,useLayoutEffect:Dr,useMemo:Dr,useReducer:Dr,useRef:Dr,useState:Dr,useDebugValue:Dr,useResponder:Dr},Jr={readContext:Cn,useCallback:function(e,t){return Wr().memoizedState=[e,void 0===t?null:t],e},useContext:Cn,useEffect:function(e,t){return Lr(516,192,e,t)},useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Lr(4,36,Xr.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Lr(4,36,e,t)},useMemo:function(e,t){var n=Wr();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Wr();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={last:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=$r.bind(null,Sr,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Wr().memoizedState=e},useState:function(e){var t=Wr();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={last:null,dispatch:null,lastRenderedReducer:Qr,lastRenderedState:e}).dispatch=$r.bind(null,Sr,e),[t.memoizedState,e]},useDebugValue:qr,useResponder:pr},Kr={readContext:Cn,useCallback:function(e,t){var n=Hr();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Fr(t,r[1])?r[0]:(n.memoizedState=[e,t],e)},useContext:Cn,useEffect:function(e,t){return Yr(516,192,e,t)},useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Yr(4,36,Xr.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Yr(4,36,e,t)},useMemo:function(e,t){var n=Hr();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Fr(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)},useReducer:Br,useRef:function(){return Hr().memoizedState},useState:function(e){return Br(Qr)},useDebugValue:qr,useResponder:pr},Zr=null,ei=null,ti=!1;function ni(e,t){switch(e.tag){case 5:return null!==(t=ft(e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=ft(e.pendingProps))&&(e.stateNode=t,!0);case 13:default:return!1}}function ri(e){if(ti){var t=ei;if(t){var n=t;if(!ni(e,t)){if(!(t=ft())||!ni(e,t))return e.effectTag|=2,ti=!1,void(Zr=e);var r=Zr,i=$l(5,null,null,0);i.elementType="DELETED",i.type="DELETED",i.stateNode=n,i.return=r,i.effectTag=8,null!==r.lastEffect?(r.lastEffect.nextEffect=i,r.lastEffect=i):r.firstEffect=r.lastEffect=i}Zr=e,ei=ft()}else e.effectTag|=2,ti=!1,Zr=e}}var ii=ze.ReactCurrentOwner,li=!1;function ai(e,t,n,r){t.child=null===e?Kn(t,null,n,r):Jn(t,e.child,n,r)}function oi(e,t,n,r,i){n=n.render;var l=t.ref;return kn(t,i),r=Or(e,t,n,r,l,i),null===e||li?(t.effectTag|=1,ai(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),bi(e,t,i))}function ui(e,t,n,r,i,l){if(null===e){var a=n.type;return"function"!=typeof a||Gl(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Zl(n.type,null,r,null,t.mode,l)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,ci(e,t,a,r,i,l))}return a=e.child,i<l&&(i=a.memoizedProps,(n=null!==(n=n.compare)?n:hn)(i,r)&&e.ref===t.ref)?bi(e,t,l):(t.effectTag|=1,(e=Kl(a,r)).ref=t.ref,e.return=t,t.child=e)}function ci(e,t,n,r,i,l){return null!==e&&hn(e.memoizedProps,r)&&e.ref===t.ref&&(li=!1,i<l)?bi(e,t,l):fi(e,t,n,r,l)}function si(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.effectTag|=128)}function fi(e,t,n,r,i){var l=It(n)?Rt:_t.current;return l=Nt(t,l),kn(t,i),n=Or(e,t,n,r,l,i),null===e||li?(t.effectTag|=1,ai(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.effectTag&=-517,e.expirationTime<=i&&(e.expirationTime=0),bi(e,t,i))}function di(e,t,n,r,i){if(It(n)){var l=!0;Dt(t)}else l=!1;if(kn(t,i),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),Vn(t,n,r),Yn(t,n,r,i),r=!0;else if(null===e){var a=t.stateNode,o=t.memoizedProps;a.props=o;var u=a.context,c=n.contextType;"object"==typeof c&&null!==c?c=Cn(c):c=Nt(t,c=It(n)?Rt:_t.current);var s=n.getDerivedStateFromProps,f="function"==typeof s||"function"==typeof a.getSnapshotBeforeUpdate;f||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(o!==r||u!==c)&&Ln(t,a,r,c),_n=!1;var d=t.memoizedState;u=a.state=d;var p=t.updateQueue;null!==p&&(Dn(t,p,r,a,i),u=t.memoizedState),o!==r||d!==u||Pt.current||_n?("function"==typeof s&&(Hn(t,n,s,r),u=t.memoizedState),(o=_n||Bn(t,n,o,r,d,u,c))?(f||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(t.effectTag|=4)):("function"==typeof a.componentDidMount&&(t.effectTag|=4),t.memoizedProps=r,t.memoizedState=u),a.props=r,a.state=u,a.context=c,r=o):("function"==typeof a.componentDidMount&&(t.effectTag|=4),r=!1)}else a=t.stateNode,o=t.memoizedProps,a.props=t.type===t.elementType?o:mn(t.type,o),u=a.context,"object"==typeof(c=n.contextType)&&null!==c?c=Cn(c):c=Nt(t,c=It(n)?Rt:_t.current),(f="function"==typeof(s=n.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(o!==r||u!==c)&&Ln(t,a,r,c),_n=!1,u=t.memoizedState,d=a.state=u,null!==(p=t.updateQueue)&&(Dn(t,p,r,a,i),d=t.memoizedState),o!==r||u!==d||Pt.current||_n?("function"==typeof s&&(Hn(t,n,s,r),d=t.memoizedState),(s=_n||Bn(t,n,o,r,u,d,c))?(f||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(r,d,c),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,d,c)),"function"==typeof a.componentDidUpdate&&(t.effectTag|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(t.effectTag|=256)):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),t.memoizedProps=r,t.memoizedState=d),a.props=r,a.state=d,a.context=c,r=s):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&u===e.memoizedState||(t.effectTag|=256),r=!1);return pi(e,t,n,r,l,i)}function pi(e,t,n,r,i,l){si(e,t);var a=0!=(64&t.effectTag);if(!r&&!a)return i&&Ft(t,n,!1),bi(e,t,l);r=t.stateNode,ii.current=t;var o=a&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.effectTag|=1,null!==e&&a?(t.child=Jn(t,e.child,null,l),t.child=Jn(t,null,o,l)):ai(e,t,o,l),t.memoizedState=r.state,i&&Ft(t,n,!0),t.child}function hi(e){var t=e.stateNode;t.pendingContext?Mt(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Mt(0,t.context,!1),ir(e,t.containerInfo)}var mi={};function gi(e,t,n){var r,i=t.mode,l=t.pendingProps,a=fr.current,o=null,u=!1;if((r=0!=(64&t.effectTag))||(r=0!=(a&sr)&&(null===e||null!==e.memoizedState)),r?(o=mi,u=!0,t.effectTag&=-65):null!==e&&null===e.memoizedState||void 0===l.fallback||!0===l.unstable_avoidThisFallback||(a|=cr),kt(fr,a&=ur),null===e)if(u){if(l=l.fallback,(e=ea(null,i,0,null)).return=t,0==(2&t.mode))for(u=null!==t.memoizedState?t.child.child:t.child,e.child=u;null!==u;)u.return=e,u=u.sibling;(n=ea(l,i,n,null)).return=t,e.sibling=n,i=e}else i=n=Kn(t,null,l.children,n);else{if(null!==e.memoizedState)if(i=(a=e.child).sibling,u){if(l=l.fallback,(n=Kl(a,a.pendingProps)).return=t,0==(2&t.mode)&&(u=null!==t.memoizedState?t.child.child:t.child)!==a.child)for(n.child=u;null!==u;)u.return=n,u=u.sibling;(l=Kl(i,l,i.expirationTime)).return=t,n.sibling=l,i=n,n.childExpirationTime=0,n=l}else i=n=Jn(t,a.child,l.children,n);else if(a=e.child,u){if(u=l.fallback,(l=ea(null,i,0,null)).return=t,l.child=a,null!==a&&(a.return=l),0==(2&t.mode))for(a=null!==t.memoizedState?t.child.child:t.child,l.child=a;null!==a;)a.return=l,a=a.sibling;(n=ea(u,i,n,null)).return=t,l.sibling=n,n.effectTag|=2,i=l,l.childExpirationTime=0}else n=i=Jn(t,a,l.children,n);t.stateNode=e.stateNode}return t.memoizedState=o,t.child=i,n}function vi(e,t,n,r,i){var l=e.memoizedState;null===l?e.memoizedState={isBackwards:t,rendering:null,last:r,tail:n,tailExpiration:0,tailMode:i}:(l.isBackwards=t,l.rendering=null,l.last=r,l.tail=n,l.tailExpiration=0,l.tailMode=i)}function yi(e,t,n){var r=t.pendingProps,i=r.revealOrder,l=r.tail;if(ai(e,t,r.children,n),0!=((r=fr.current)&sr))r=r&ur|sr,t.effectTag|=64;else{if(null!==e&&0!=(64&e.effectTag))e:for(e=t.child;null!==e;){if(13===e.tag){if(null!==e.memoizedState){e.expirationTime<n&&(e.expirationTime=n);var a=e.alternate;null!==a&&a.expirationTime<n&&(a.expirationTime=n),Sn(e.return,n)}}else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=ur}if(kt(fr,r),0==(2&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;null!==n;)null!==(r=n.alternate)&&null===dr(r)&&(i=n),n=n.sibling;null===(n=i)?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),vi(t,!1,i,n,l);break;case"backwards":for(n=null,i=t.child,t.child=null;null!==i;){if(null!==(r=i.alternate)&&null===dr(r)){t.child=i;break}r=i.sibling,i.sibling=n,n=i,i=r}vi(t,!0,n,null,l);break;case"together":vi(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function bi(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),t.childExpirationTime<n)return null;if(null!==e&&t.child!==e.child)throw f(Error("Resuming work not yet implemented."));if(null!==t.child){for(n=Kl(e=t.child,e.pendingProps,e.expirationTime),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Kl(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}var Ti=void 0,Ei=void 0,xi=void 0,wi=void 0;function Si(e,t){switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ki(e){switch(e.tag){case 1:It(e.type)&&Ut();var t=e.effectTag;return 2048&t?(e.effectTag=-2049&t|64,e):null;case 3:if(lr(),zt(),0!=(64&(t=e.effectTag)))throw f(Error("The root failed to unmount after an error. This is likely a bug in React. Please file an issue."));return e.effectTag=-2049&t|64,e;case 5:return or(e),null;case 13:return St(fr),2048&(t=e.effectTag)?(e.effectTag=-2049&t|64,e):null;case 18:return null;case 19:return St(fr),null;case 4:return lr(),null;case 10:return wn(e),null;default:return null}}function Ci(e,t){return{value:e,source:t,stack:Et(t)}}if(Ti=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e._children.push(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ei=function(){},xi=function(e,t,n,r){e.memoizedProps!==r&&(rr(er.current),t.updateQueue=pt)&&(t.effectTag|=4)},wi=function(e,t,n,r){n!==r&&(t.effectTag|=4)},"function"!=typeof u.ReactFiberErrorDialog.showErrorDialog)throw f(Error("Expected ReactFiberErrorDialog.showErrorDialog to be a function."));var _i="function"==typeof WeakSet?WeakSet:Set;function Pi(e,t){var n,r=t.source,i=t.stack;null===i&&null!==r&&(i=Et(r)),t={componentName:null!==r?Ge(r.type):null,componentStack:null!==i?i:"",error:t.value,errorBoundary:null,errorBoundaryName:null,errorBoundaryFound:!1,willRetry:!1},null!==e&&1===e.tag&&(t.errorBoundary=e.stateNode,t.errorBoundaryName=Ge(e.type),t.errorBoundaryFound=!0,t.willRetry=!0);try{n=t,!1!==u.ReactFiberErrorDialog.showErrorDialog(n)&&console.error(n.error)}catch(e){setTimeout(function(){throw e})}}function Ri(e,t){try{t.props=e.memoizedProps,t.state=e.memoizedState,t.componentWillUnmount()}catch(t){Hl(e,t)}}function Ni(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(t){Hl(e,t)}else t.current=null}function Ii(e,t,n){if(null!==(n=null!==(n=n.updateQueue)?n.lastEffect:null)){var r=n=n.next;do{if((r.tag&e)!==hr){var i=r.destroy;r.destroy=void 0,void 0!==i&&i()}(r.tag&t)!==hr&&(i=r.create,r.destroy=i()),r=r.next}while(r!==n)}}function Ui(e,t){switch("function"==typeof Yl&&Yl(e),e.tag){case 0:case 11:case 14:case 15:var n=e.updateQueue;if(null!==n&&null!==(n=n.lastEffect)){var r=n.next;an(97<t?97:t,function(){var t=r;do{var n=t.destroy;if(void 0!==n){var i=e;try{n()}catch(e){Hl(i,e)}}t=t.next}while(t!==r)})}break;case 1:Ni(e),"function"==typeof(t=e.stateNode).componentWillUnmount&&Ri(e,t);break;case 5:Ni(e);break;case 4:Di(e,t)}}function zi(e){var t=e.alternate;e.return=null,e.child=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.alternate=null,e.firstEffect=null,e.lastEffect=null,e.pendingProps=null,e.memoizedProps=null,null!==t&&zi(t)}function Mi(e){return 5===e.tag||3===e.tag||4===e.tag}function Ai(e){e:{for(var t=e.return;null!==t;){if(Mi(t)){var n=t;break e}t=t.return}throw f(Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."))}switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw f(Error("Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue."))}16&n.effectTag&&(n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||Mi(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var i=e;;){var l=5===i.tag||6===i.tag;if(l){var a=l?i.stateNode:i.stateNode.instance;if(n)if(r){if("number"==typeof t)throw f(Error("Container does not support insertBefore operation"))}else{var o=n,c=(l=t)._children,s=c.indexOf(a);0<=s?(c.splice(s,1),o=c.indexOf(o),c.splice(o,0,a),u.UIManager.manageChildren(l._nativeTag,[s],[o],[],[],[])):(s=c.indexOf(o),c.splice(s,0,a),u.UIManager.manageChildren(l._nativeTag,[],[],["number"==typeof a?a:a._nativeTag],[s],[]))}else r?u.UIManager.setChildren(t,["number"==typeof a?a:a._nativeTag]):(l=t,c="number"==typeof a?a:a._nativeTag,0<=(o=(s=l._children).indexOf(a))?(s.splice(o,1),s.push(a),u.UIManager.manageChildren(l._nativeTag,[o],[s.length-1],[],[],[])):(s.push(a),u.UIManager.manageChildren(l._nativeTag,[],[],[c],[s.length-1],[])))}else if(4!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===e)break;for(;null===i.sibling;){if(null===i.return||i.return===e)return;i=i.return}i.sibling.return=i.return,i=i.sibling}}function Di(e,t){for(var n=e,r=!1,i=void 0,l=void 0;;){if(!r){r=n.return;e:for(;;){if(null===r)throw f(Error("Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue."));switch(i=r.stateNode,r.tag){case 5:l=!1;break e;case 3:case 4:i=i.containerInfo,l=!0;break e}r=r.return}r=!0}if(5===n.tag||6===n.tag){e:for(var a=n,o=t,c=a;;)if(Ui(c,o),null!==c.child&&4!==c.tag)c.child.return=c,c=c.child;else{if(c===a)break;for(;null===c.sibling;){if(null===c.return||c.return===a)break e;c=c.return}c.sibling.return=c.return,c=c.sibling}l?(a=i,gt(n.stateNode),u.UIManager.manageChildren(a,[],[],[],[],[0])):(a=i,gt(c=n.stateNode),c=(o=a._children).indexOf(c),o.splice(c,1),u.UIManager.manageChildren(a._nativeTag,[],[],[],[],[c]))}else if(4===n.tag){if(null!==n.child){i=n.stateNode.containerInfo,l=!0,n.child.return=n,n=n.child;continue}}else if(Ui(n,t),null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;4===(n=n.return).tag&&(r=!1)}n.sibling.return=n.return,n=n.sibling}}function Fi(e,t){switch(t.tag){case 0:case 11:case 14:case 15:Ii(gr,vr,t);break;case 1:break;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.updateQueue;t.updateQueue=null,null!==i&&(t=n.viewConfig,xe.set(n._nativeTag,r),null!=(r=ut(null,e,r,t.validAttributes))&&u.UIManager.updateView(n._nativeTag,t.uiViewClassName,r))}break;case 6:if(null===t.stateNode)throw f(Error("This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue."));u.UIManager.updateView(t.stateNode,"RCTRawText",{text:t.memoizedProps});break;case 3:case 12:break;case 13:if(n=t,null===t.memoizedState?r=!1:(r=!0,n=t.child,cl=nn()),null!==n)e:for(e=n;;){if(5===e.tag)if(i=e.stateNode,r){var l=i.viewConfig,a=ut(null,tt,{style:{display:"none"}},l.validAttributes);u.UIManager.updateView(i._nativeTag,l.uiViewClassName,a)}else{i=e.stateNode,a=e.memoizedProps,l=i.viewConfig,a=ut(null,o({},a,{style:[a.style,{display:"none"}]}),a,l.validAttributes),u.UIManager.updateView(i._nativeTag,l.uiViewClassName,a)}else{if(6===e.tag)throw Error("Not yet implemented.");if(13===e.tag&&null!==e.memoizedState){(i=e.child.sibling).return=e,e=i;continue}if(null!==e.child){e.child.return=e,e=e.child;continue}}if(e===n)break e;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}Oi(t);break;case 19:Oi(t);break;case 17:case 20:break;default:throw f(Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."))}}function Oi(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new _i),t.forEach(function(t){var r=Bl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}var ji="function"==typeof WeakMap?WeakMap:Map;function Wi(e,t,n){(n=Nn(n,null)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){dl||(dl=!0,pl=r),Pi(e,t)},n}function Hi(e,t,n){(n=Nn(n,null)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var i=t.value;n.payload=function(){return Pi(e,t),r(i)}}var l=e.stateNode;return null!==l&&"function"==typeof l.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===hl?hl=new Set([this]):hl.add(this),Pi(e,t));var n=t.stack;this.componentDidCatch(t.value,{componentStack:null!==n?n:""})}),n}var Qi=Math.ceil,Bi=ze.ReactCurrentDispatcher,Vi=ze.ReactCurrentOwner,Li=0,Yi=8,Xi=16,qi=32,$i=0,Gi=1,Ji=2,Ki=3,Zi=4,el=Li,tl=null,nl=null,rl=0,il=$i,ll=1073741823,al=1073741823,ol=null,ul=!1,cl=0,sl=500,fl=null,dl=!1,pl=null,hl=null,ml=!1,gl=null,vl=90,yl=0,bl=null,Tl=0,El=null,xl=0;function wl(){return(48&el)!==Li?1073741821-(nn()/10|0):0!==xl?xl:xl=1073741821-(nn()/10|0)}function Sl(e,t,n){if(0==(2&(t=t.mode)))return 1073741823;var r=rn();if(0==(4&t))return 99===r?1073741823:1073741822;if((el&Xi)!==Li)return rl;if(null!==n)e=1073741821-25*(1+((1073741821-e+(0|n.timeoutMs||5e3)/10)/25|0));else switch(r){case 99:e=1073741823;break;case 98:e=1073741821-10*(1+((1073741821-e+15)/10|0));break;case 97:case 96:e=1073741821-25*(1+((1073741821-e+500)/25|0));break;case 95:e=1;break;default:throw f(Error("Expected a valid priority level"))}return null!==tl&&e===rl&&--e,e}function kl(e,t){if(50<Tl)throw Tl=0,El=null,f(Error("Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops."));if(null!==(e=Cl(e,t))){e.pingTime=0;var n=rn();if(1073741823===t)if((el&Yi)!==Li&&(48&el)===Li)for(var r=Ul(e,1073741823,!0);null!==r;)r=r(!0);else _l(e,99,1073741823),el===Li&&cn();else _l(e,n,t);(4&el)===Li||98!==n&&99!==n||(null===bl?bl=new Map([[e,t]]):(void 0===(n=bl.get(e))||n>t)&&bl.set(e,t))}}function Cl(e,t){e.expirationTime<t&&(e.expirationTime=t);var n=e.alternate;null!==n&&n.expirationTime<t&&(n.expirationTime=t);var r=e.return,i=null;if(null===r&&3===e.tag)i=e.stateNode;else for(;null!==r;){if(n=r.alternate,r.childExpirationTime<t&&(r.childExpirationTime=t),null!==n&&n.childExpirationTime<t&&(n.childExpirationTime=t),null===r.return&&3===r.tag){i=r.stateNode;break}r=r.return}return null!==i&&(t>i.firstPendingTime&&(i.firstPendingTime=t),0===(e=i.lastPendingTime)||t<e)&&(i.lastPendingTime=t),i}function _l(e,t,n){if(e.callbackExpirationTime<n){var r=e.callbackNode;null!==r&&r!==Gt&&Wt(r),e.callbackExpirationTime=n,1073741823===n?e.callbackNode=un(Pl.bind(null,e,Ul.bind(null,e,n))):(r=null,1!==n&&(r={timeout:10*(1073741821-n)-nn()}),e.callbackNode=on(t,Pl.bind(null,e,Ul.bind(null,e,n)),r))}}function Pl(e,t,n){var r=e.callbackNode,i=null;try{return null!==(i=t(n))?Pl.bind(null,e,i):null}finally{null===i&&r===e.callbackNode&&(e.callbackNode=null,e.callbackExpirationTime=0)}}function Rl(e,t){var n=e.firstBatch;return!!(null!==n&&n._defer&&n._expirationTime>=t)&&(on(97,function(){return n._onComplete(),null}),!0)}function Nl(){if(null!==bl){var e=bl;bl=null,e.forEach(function(e,t){un(Ul.bind(null,t,e))}),cn()}}function Il(e,t){e.finishedWork=null,e.finishedExpirationTime=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,bt(n)),null!==nl)for(n=nl.return;null!==n;){var r=n;switch(r.tag){case 1:var i=r.type.childContextTypes;null!==i&&void 0!==i&&Ut();break;case 3:lr(),zt();break;case 5:or(r);break;case 4:lr();break;case 13:case 19:St(fr);break;case 10:wn(r)}n=n.return}tl=e,nl=Kl(e.current,null),rl=t,il=$i,al=ll=1073741823,ol=null,ul=!1}function Ul(e,t,n){if((48&el)!==Li)throw f(Error("Should not already be working."));if(e.firstPendingTime<t)return null;if(n&&e.finishedExpirationTime===t)return Dl.bind(null,e);if(Ol(),e!==tl||t!==rl)Il(e,t);else if(il===Ki)if(ul)Il(e,t);else{var r=e.lastPendingTime;if(r<t)return Ul.bind(null,e,r)}if(null!==nl){r=el,el|=Xi;var i=Bi.current;if(null===i&&(i=Gr),Bi.current=Gr,n){if(1073741823!==t){var l=wl();if(l<t)return el=r,En(),Bi.current=i,Ul.bind(null,e,l)}}else xl=0;for(;;)try{if(n)for(;null!==nl;)nl=Ml(nl);else for(;null!==nl&&!Ht();)nl=Ml(nl);break}catch(n){if(En(),jr(),null===(l=nl)||null===l.return)throw Il(e,t),el=r,n;e:{var a=e,o=l.return,u=l,c=n,s=rl;if(u.effectTag|=1024,u.firstEffect=u.lastEffect=null,null!==c&&"object"==typeof c&&"function"==typeof c.then){var d=c,p=0!=(fr.current&cr);c=o;do{var h;if((h=13===c.tag)&&(null!==c.memoizedState?h=!1:h=void 0!==(h=c.memoizedProps).fallback&&(!0!==h.unstable_avoidThisFallback||!p)),h){if(null===(o=c.updateQueue)?((o=new Set).add(d),c.updateQueue=o):o.add(d),0==(2&c.mode)){c.effectTag|=64,u.effectTag&=-1957,1===u.tag&&(null===u.alternate?u.tag=17:((s=Nn(1073741823,null)).tag=2,Un(u,s))),u.expirationTime=1073741823;break e}u=a,a=s,null===(p=u.pingCache)?(p=u.pingCache=new ji,o=new Set,p.set(d,o)):void 0===(o=p.get(d))&&(o=new Set,p.set(d,o)),o.has(a)||(o.add(a),u=Ql.bind(null,u,d,a),d.then(u,u)),c.effectTag|=2048,c.expirationTime=s;break e}c=c.return}while(null!==c);c=Error((Ge(u.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+Et(u))}il!==Zi&&(il=Gi),c=Ci(c,u),u=o;do{switch(u.tag){case 3:u.effectTag|=2048,u.expirationTime=s,zn(u,s=Wi(u,c,s));break e;case 1:if(d=c,a=u.type,o=u.stateNode,0==(64&u.effectTag)&&("function"==typeof a.getDerivedStateFromError||null!==o&&"function"==typeof o.componentDidCatch&&(null===hl||!hl.has(o)))){u.effectTag|=2048,u.expirationTime=s,zn(u,s=Hi(u,d,s));break e}}u=u.return}while(null!==u)}nl=Al(l)}if(el=r,En(),Bi.current=i,null!==nl)return Ul.bind(null,e,t)}if(e.finishedWork=e.current.alternate,e.finishedExpirationTime=t,Rl(e,t))return null;switch(tl=null,il){case $i:throw f(Error("Should have a work-in-progress."));case Gi:return(r=e.lastPendingTime)<t?Ul.bind(null,e,r):n?Dl.bind(null,e):(Il(e,t),un(Ul.bind(null,e,t)),null);case Ji:return 1073741823===ll&&!n&&10<(n=cl+sl-nn())?ul?(Il(e,t),Ul.bind(null,e,t)):(r=e.lastPendingTime)<t?Ul.bind(null,e,r):(e.timeoutHandle=yt(Dl.bind(null,e),n),null):Dl.bind(null,e);case Ki:if(!n){if(ul)return Il(e,t),Ul.bind(null,e,t);if((n=e.lastPendingTime)<t)return Ul.bind(null,e,n);if(1073741823!==al?n=10*(1073741821-al)-nn():1073741823===ll?n=0:(n=10*(1073741821-ll)-5e3,t=10*(1073741821-t)-(r=nn()),0>(n=r-n)&&(n=0),t<(n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Qi(n/1960))-n)&&(n=t)),10<n)return e.timeoutHandle=yt(Dl.bind(null,e),n),null}return Dl.bind(null,e);case Zi:return!n&&1073741823!==ll&&null!==ol&&(r=ll,0>=(t=0|(i=ol).busyMinDurationMs)?t=0:(n=0|i.busyDelayMs,t=(r=nn()-(10*(1073741821-r)-(0|i.timeoutMs||5e3)))<=n?0:n+t-r),10<t)?(e.timeoutHandle=yt(Dl.bind(null,e),t),null):Dl.bind(null,e);default:throw f(Error("Unknown root exit status."))}}function zl(e,t){e<ll&&1<e&&(ll=e),null!==t&&e<al&&1<e&&(al=e,ol=t)}function Ml(e){var t=Vl(e.alternate,e,rl);return e.memoizedProps=e.pendingProps,null===t&&(t=Al(e)),Vi.current=null,t}function Al(e){nl=e;do{var t=nl.alternate;if(e=nl.return,0==(1024&nl.effectTag)){e:{var n=t,r=rl,i=(t=nl).pendingProps;switch(t.tag){case 2:case 16:break;case 15:case 0:break;case 1:It(t.type)&&Ut();break;case 3:lr(),zt(),(i=t.stateNode).pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),null!==n&&null!==n.child||(t.effectTag&=-3),Ei(t);break;case 5:or(t),r=rr(nr.current);var l=t.type;if(null!==n&&null!=t.stateNode)xi(n,t,l,i,r),n.ref!==t.ref&&(t.effectTag|=128);else if(i){n=rr(er.current);var a=l,o=i,c=r,s=t,d=mt();a=dt(a);var p=ut(null,tt,o,a.validAttributes);u.UIManager.createView(d,a.uiViewClassName,c,p),c=new st(d,a),Ee.set(d,s),xe.set(d,o),Ti(o=c,t,!1,!1),vt(o)&&(t.effectTag|=4),t.stateNode=o,null!==t.ref&&(t.effectTag|=128)}else if(null===t.stateNode)throw f(Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."));break;case 6:if(n&&null!=t.stateNode)wi(n,t,n.memoizedProps,i);else{if("string"!=typeof i&&null===t.stateNode)throw f(Error("We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue."));if(l=rr(nr.current),n=t,!(r=rr(er.current)).isInAParentText)throw f(Error("Text strings must be rendered within a <Text> component."));r=mt(),u.UIManager.createView(r,"RCTRawText",l,{text:i}),Ee.set(r,t),n.stateNode=r}break;case 11:break;case 13:if(St(fr),i=t.memoizedState,0!=(64&t.effectTag)){t.expirationTime=r;break e}i=null!==i,r=!1,null!==n&&(r=null!==(l=n.memoizedState),i||null===l||null!==(l=n.child.sibling)&&(null!==(o=t.firstEffect)?(t.firstEffect=l,l.nextEffect=o):(t.firstEffect=t.lastEffect=l,l.nextEffect=null),l.effectTag=8)),i&&!r&&0!=(2&t.mode)&&(null===n&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(fr.current&cr)?il===$i&&(il=Ji):il!==$i&&il!==Ji||(il=Ki)),(i||r)&&(t.effectTag|=4);break;case 7:case 8:case 12:break;case 4:lr(),Ei(t);break;case 10:wn(t);break;case 9:case 14:break;case 17:It(t.type)&&Ut();break;case 18:break;case 19:if(St(fr),null===(i=t.memoizedState))break;if(l=0!=(64&t.effectTag),null===(o=i.rendering)){if(l)Si(i,!1);else if(il!==$i||null!==n&&0!=(64&n.effectTag))for(n=t.child;null!==n;){if(null!==(o=dr(n))){for(t.effectTag|=64,Si(i,!1),null!==(i=o.updateQueue)&&(t.updateQueue=i,t.effectTag|=4),t.firstEffect=t.lastEffect=null,i=r,n=t.child;null!==n;)l=i,(r=n).effectTag&=2,r.nextEffect=null,r.firstEffect=null,r.lastEffect=null,null===(o=r.alternate)?(r.childExpirationTime=0,r.expirationTime=l,r.child=null,r.memoizedProps=null,r.memoizedState=null,r.updateQueue=null,r.dependencies=null):(r.childExpirationTime=o.childExpirationTime,r.expirationTime=o.expirationTime,r.child=o.child,r.memoizedProps=o.memoizedProps,r.memoizedState=o.memoizedState,r.updateQueue=o.updateQueue,l=o.dependencies,r.dependencies=null===l?null:{expirationTime:l.expirationTime,firstContext:l.firstContext,responders:l.responders}),n=n.sibling;kt(fr,fr.current&ur|sr),t=t.child;break e}n=n.sibling}}else{if(!l)if(null!==(n=dr(o))){if(t.effectTag|=64,l=!0,Si(i,!0),null===i.tail&&"hidden"===i.tailMode){null!==(n=n.updateQueue)&&(t.updateQueue=n,t.effectTag|=4),null!==(t=t.lastEffect=i.lastEffect)&&(t.nextEffect=null);break}}else nn()>i.tailExpiration&&1<r&&(t.effectTag|=64,l=!0,Si(i,!1),t.expirationTime=t.childExpirationTime=r-1);i.isBackwards?(o.sibling=t.child,t.child=o):(null!==(n=i.last)?n.sibling=o:t.child=o,i.last=o)}if(null!==i.tail){0===i.tailExpiration&&(i.tailExpiration=nn()+500),n=i.tail,i.rendering=n,i.tail=n.sibling,i.lastEffect=t.lastEffect,n.sibling=null,i=fr.current,kt(fr,i=l?i&ur|sr:i&ur),t=n;break e}break;case 20:break;default:throw f(Error("Unknown unit of work tag. This error is likely caused by a bug in React. Please file an issue."))}t=null}if(i=nl,1===rl||1!==i.childExpirationTime){for(n=0,r=i.child;null!==r;)l=r.expirationTime,o=r.childExpirationTime,l>n&&(n=l),o>n&&(n=o),r=r.sibling;i.childExpirationTime=n}if(null!==t)return t;null!==e&&0==(1024&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=nl.firstEffect),null!==nl.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=nl.firstEffect),e.lastEffect=nl.lastEffect),1<nl.effectTag&&(null!==e.lastEffect?e.lastEffect.nextEffect=nl:e.firstEffect=nl,e.lastEffect=nl))}else{if(null!==(t=ki(nl)))return t.effectTag&=1023,t;null!==e&&(e.firstEffect=e.lastEffect=null,e.effectTag|=1024)}if(null!==(t=nl.sibling))return t;nl=e}while(null!==nl);return il===$i&&(il=Zi),null}function Dl(e){var t=rn();return an(99,Fl.bind(null,e,t)),null!==gl&&on(97,function(){return Ol(),null}),null}function Fl(e,t){if(Ol(),(48&el)!==Li)throw f(Error("Should not already be working."));var n=e.finishedWork,r=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw f(Error("Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue."));e.callbackNode=null,e.callbackExpirationTime=0;var i=n.expirationTime,l=n.childExpirationTime;if(i=l>i?l:i,e.firstPendingTime=i,i<e.lastPendingTime&&(e.lastPendingTime=i),e===tl&&(nl=tl=null,rl=0),1<n.effectTag?null!==n.lastEffect?(n.lastEffect.nextEffect=n,i=n.firstEffect):i=n:i=n.firstEffect,null!==i){l=el,el|=qi,Vi.current=null,fl=i;do{try{for(;null!==fl;){if(0!=(256&fl.effectTag)){var a=fl.alternate,o=fl;switch(o.tag){case 0:case 11:case 15:Ii(mr,hr,o);break;case 1:if(256&o.effectTag&&null!==a){var u=a.memoizedProps,c=a.memoizedState,s=o.stateNode,d=s.getSnapshotBeforeUpdate(o.elementType===o.type?u:mn(o.type,u),c);s.__reactInternalSnapshotBeforeUpdate=d}break;case 3:case 5:case 6:case 4:case 17:break;default:throw f(Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."))}}fl=fl.nextEffect}}catch(e){if(null===fl)throw f(Error("Should be working on an effect."));Hl(fl,e),fl=fl.nextEffect}}while(null!==fl);fl=i;do{try{for(a=t;null!==fl;){var p=fl.effectTag;if(128&p){var h=fl.alternate;if(null!==h){var m=h.ref;null!==m&&("function"==typeof m?m(null):m.current=null)}}switch(14&p){case 2:Ai(fl),fl.effectTag&=-3;break;case 6:Ai(fl),fl.effectTag&=-3,Fi(fl.alternate,fl);break;case 4:Fi(fl.alternate,fl);break;case 8:Di(u=fl,a),zi(u)}fl=fl.nextEffect}}catch(e){if(null===fl)throw f(Error("Should be working on an effect."));Hl(fl,e),fl=fl.nextEffect}}while(null!==fl);e.current=n,fl=i;do{try{for(p=r;null!==fl;){var g=fl.effectTag;if(36&g){var v=fl.alternate;switch(m=p,(h=fl).tag){case 0:case 11:case 15:Ii(yr,br,h);break;case 1:var y=h.stateNode;if(4&h.effectTag)if(null===v)y.componentDidMount();else{var b=h.elementType===h.type?v.memoizedProps:mn(h.type,v.memoizedProps);y.componentDidUpdate(b,v.memoizedState,y.__reactInternalSnapshotBeforeUpdate)}var T=h.updateQueue;null!==T&&Fn(0,T,y);break;case 3:var E=h.updateQueue;if(null!==E){if(a=null,null!==h.child)switch(h.child.tag){case 5:a=h.child.stateNode;break;case 1:a=h.child.stateNode}Fn(0,E,a)}break;case 5:case 6:case 4:case 12:break;case 13:case 19:case 17:case 20:break;default:throw f(Error("This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue."))}}if(128&g){var x=fl.ref;if(null!==x){var w=fl.stateNode;switch(fl.tag){case 5:var S=w;break;default:S=w}"function"==typeof x?x(S):x.current=S}}512&g&&(ml=!0),fl=fl.nextEffect}}catch(e){if(null===fl)throw f(Error("Should be working on an effect."));Hl(fl,e),fl=fl.nextEffect}}while(null!==fl);fl=null,Jt(),el=l}else e.current=n;if(ml)ml=!1,gl=e,yl=r,vl=t;else for(fl=i;null!==fl;)t=fl.nextEffect,fl.nextEffect=null,fl=t;if(0!==(t=e.firstPendingTime)?_l(e,g=fn(g=wl(),t),t):hl=null,"function"==typeof Ll&&Ll(n.stateNode,r),1073741823===t?e===El?Tl++:(Tl=0,El=e):Tl=0,dl)throw dl=!1,e=pl,pl=null,e;return(el&Yi)!==Li?null:(cn(),null)}function Ol(){if(null===gl)return!1;var e=gl,t=yl,n=vl;return gl=null,yl=0,vl=90,an(97<n?97:n,jl.bind(null,e,t))}function jl(e){if((48&el)!==Li)throw f(Error("Cannot flush passive effects while already rendering."));var t=el;for(el|=qi,e=e.current.firstEffect;null!==e;){try{var n=e;if(0!=(512&n.effectTag))switch(n.tag){case 0:case 11:case 15:Ii(Er,hr,n),Ii(hr,Tr,n)}}catch(t){if(null===e)throw f(Error("Should be working on an effect."));Hl(e,t)}n=e.nextEffect,e.nextEffect=null,e=n}return el=t,cn(),!0}function Wl(e,t,n){Un(e,t=Wi(e,t=Ci(n,t),1073741823)),null!==(e=Cl(e,1073741823))&&_l(e,99,1073741823)}function Hl(e,t){if(3===e.tag)Wl(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Wl(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===hl||!hl.has(r))){Un(n,e=Hi(n,e=Ci(t,e),1073741823)),null!==(n=Cl(n,1073741823))&&_l(n,99,1073741823);break}}n=n.return}}function Ql(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),tl===e&&rl===n?il===Ki||il===Ji&&1073741823===ll&&nn()-cl<sl?Il(e,rl):ul=!0:e.lastPendingTime<n||(0!==(t=e.pingTime)&&t<n||(e.pingTime=n,e.finishedExpirationTime===n&&(e.finishedExpirationTime=0,e.finishedWork=null),_l(e,t=fn(t=wl(),n),n)))}function Bl(e,t){var n=e.stateNode;null!==n&&n.delete(t),n=fn(n=wl(),t=Sl(n,e,null)),null!==(e=Cl(e,t))&&_l(e,n,t)}var Vl=void 0;Vl=function(e,t,n){var r=t.expirationTime;if(null!==e){if(e.memoizedProps!==t.pendingProps||Pt.current)li=!0;else if(r<n){switch(li=!1,t.tag){case 3:hi(t);break;case 5:ar(t);break;case 1:It(t.type)&&Dt(t);break;case 4:ir(t,t.stateNode.containerInfo);break;case 10:xn(t,t.memoizedProps.value);break;case 13:if(null!==t.memoizedState)return 0!==(r=t.child.childExpirationTime)&&r>=n?gi(e,t,n):(kt(fr,fr.current&ur),null!==(t=bi(e,t,n))?t.sibling:null);kt(fr,fr.current&ur);break;case 19:if(r=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(r)return yi(e,t,n);t.effectTag|=64}var i=t.memoizedState;if(null!==i&&(i.rendering=null,i.tail=null),kt(fr,fr.current),!r)return null}return bi(e,t,n)}}else li=!1;switch(t.expirationTime=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,i=Nt(t,_t.current),kn(t,n),i=Or(null,t,r,e,i,n),t.effectTag|=1,"object"==typeof i&&null!==i&&"function"==typeof i.render&&void 0===i.$$typeof){if(t.tag=1,jr(),It(r)){var l=!0;Dt(t)}else l=!1;t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null;var a=r.getDerivedStateFromProps;"function"==typeof a&&Hn(t,r,a,e),i.updater=Qn,t.stateNode=i,i._reactInternalFiber=t,Yn(t,r,e,n),t=pi(null,t,r,!0,l,n)}else t.tag=0,ai(null,t,i,n),t=t.child;return t;case 16:switch(i=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,i=gn(i),t.type=i,l=t.tag=Jl(i),e=mn(i,e),l){case 0:t=fi(null,t,i,e,n);break;case 1:t=di(null,t,i,e,n);break;case 11:t=oi(null,t,i,e,n);break;case 14:t=ui(null,t,i,mn(i.type,e),r,n);break;default:throw f(Error("Element type is invalid. Received a promise that resolves to: "+i+". Lazy element type must resolve to a class or function."))}return t;case 0:return r=t.type,i=t.pendingProps,fi(e,t,r,i=t.elementType===r?i:mn(r,i),n);case 1:return r=t.type,i=t.pendingProps,di(e,t,r,i=t.elementType===r?i:mn(r,i),n);case 3:if(hi(t),null===(r=t.updateQueue))throw f(Error("If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue."));return i=null!==(i=t.memoizedState)?i.element:null,Dn(t,r,t.pendingProps,null,n),(r=t.memoizedState.element)===i?t=bi(e,t,n):(ai(e,t,r,n),t=t.child),t;case 5:return ar(t),null===e&&ri(t),r=t.pendingProps.children,si(e,t),ai(e,t,r,n),t.child;case 6:return null===e&&ri(t),null;case 13:return gi(e,t,n);case 4:return ir(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Jn(t,null,r,n):ai(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,oi(e,t,r,i=t.elementType===r?i:mn(r,i),n);case 7:return ai(e,t,t.pendingProps,n),t.child;case 8:case 12:return ai(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,xn(t,l=i.value),null!==a){var o=a.value;if(0===(l=dn(o,l)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(o,l):1073741823))){if(a.children===i.children&&!Pt.current){t=bi(e,t,n);break e}}else for(null!==(o=t.child)&&(o.return=t);null!==o;){var u=o.dependencies;if(null!==u){a=o.child;for(var c=u.firstContext;null!==c;){if(c.context===r&&0!=(c.observedBits&l)){1===o.tag&&((c=Nn(n,null)).tag=2,Un(o,c)),o.expirationTime<n&&(o.expirationTime=n),null!==(c=o.alternate)&&c.expirationTime<n&&(c.expirationTime=n),Sn(o.return,n),u.expirationTime<n&&(u.expirationTime=n);break}c=c.next}}else a=10===o.tag&&o.type===t.type?null:o.child;if(null!==a)a.return=o;else for(a=o;null!==a;){if(a===t){a=null;break}if(null!==(o=a.sibling)){o.return=a.return,a=o;break}a=a.return}o=a}}ai(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=(l=t.pendingProps).children,kn(t,n),r=r(i=Cn(i,l.unstable_observedBits)),t.effectTag|=1,ai(e,t,r,n),t.child;case 14:return l=mn(i=t.type,t.pendingProps),ui(e,t,i,l=mn(i.type,l),r,n);case 15:return ci(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:mn(r,i),null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),t.tag=1,It(r)?(e=!0,Dt(t)):e=!1,kn(t,n),Vn(t,r,i),Yn(t,r,i,n),pi(null,t,r,!0,e,n);case 19:return yi(e,t,n)}throw f(Error("Unknown unit of work tag. This error is likely caused by a bug in React. Please file an issue."))};var Ll=null,Yl=null;function Xl(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);Ll=function(e){try{t.onCommitFiberRoot(n,e,void 0,64==(64&e.current.effectTag))}catch(e){}},Yl=function(e){try{t.onCommitFiberUnmount(n,e)}catch(e){}}}catch(e){}return!0}function ql(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function $l(e,t,n,r){return new ql(e,t,n,r)}function Gl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Jl(e){if("function"==typeof e)return Gl(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===Be)return 11;if(e===Ye)return 14}return 2}function Kl(e,t){var n=e.alternate;return null===n?((n=$l(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.effectTag=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childExpirationTime=e.childExpirationTime,n.expirationTime=e.expirationTime,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{expirationTime:t.expirationTime,firstContext:t.firstContext,responders:t.responders},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Zl(e,t,n,r,i,l){var a=2;if(r=e,"function"==typeof e)Gl(e)&&(a=1);else if("string"==typeof e)a=5;else e:switch(e){case Fe:return ea(n.children,i,l,t);case Qe:a=8,i|=7;break;case Oe:a=8,i|=1;break;case je:return(e=$l(12,n,t,8|i)).elementType=je,e.type=je,e.expirationTime=l,e;case Ve:return(e=$l(13,n,t,i)).type=Ve,e.elementType=Ve,e.expirationTime=l,e;case Le:return(e=$l(19,n,t,i)).elementType=Le,e.expirationTime=l,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case We:a=10;break e;case He:a=9;break e;case Be:a=11;break e;case Ye:a=14;break e;case Xe:a=16,r=null;break e}throw f(Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+(null==e?e:typeof e)+"."))}return(t=$l(a,n,t,i)).elementType=e,t.type=r,t.expirationTime=l,t}function ea(e,t,n,r){return(e=$l(7,e,r,t)).expirationTime=n,e}function ta(e,t,n){return(e=$l(6,e,null,t)).expirationTime=n,e}function na(e,t,n){return(t=$l(4,null!==e.children?e.children:[],e.key,t)).expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ra(e,t,n){this.tag=t,this.current=null,this.containerInfo=e,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=this.firstBatch=null,this.pingTime=this.lastPendingTime=this.firstPendingTime=this.callbackExpirationTime=0}function ia(e){var t=e._reactInternalFiber;if(void 0===t){if("function"==typeof e.render)throw f(Error("Unable to find node on an unmounted component."));throw f(Error("Argument appears to not be a ReactComponent. Keys: "+Object.keys(e)))}return null===(e=et(t))?null:e.stateNode}function la(e,t,n,r){var i=t.current,l=wl(),a=jn.suspense;i=Sl(l,i,a),l=t.current;e:if(n){n=n._reactInternalFiber;t:{if(2!==Je(n)||1!==n.tag)throw f(Error("Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue."));var o=n;do{switch(o.tag){case 3:o=o.stateNode.context;break t;case 1:if(It(o.type)){o=o.stateNode.__reactInternalMemoizedMergedChildContext;break t}}o=o.return}while(null!==o);throw f(Error("Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue."))}if(1===n.tag){var u=n.type;if(It(u)){n=At(n,u,o);break e}}n=o}else n=Ct;return null===t.context?t.context=n:t.pendingContext=n,t=r,(a=Nn(i,a)).payload={element:e},null!==(t=void 0===t?null:t)&&(a.callback=t),Un(l,a),kl(l,i),i}function aa(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:De,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}function oa(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var ua;function ca(e){return null==e?null:"number"==typeof e?e:e._nativeTag?e._nativeTag:e.canonical&&e.canonical._nativeTag?e.canonical._nativeTag:null==(e=ia(e))?e:e.canonical?e.canonical._nativeTag:e._nativeTag}ua=function(){throw f(Error("getInspectorDataForViewTag() is not available in production"))},_e=function(e,t){var n=el;el|=1;try{return e(t)}finally{(el=n)===Li&&cn()}},Pe=function(){(49&el)===Li&&(Nl(),Ol())};var sa,fa,da=new Map,pa={NativeComponent:(function(e,t){return(function(n){function r(){if(!(this instanceof r))throw new TypeError("Cannot call a class as a function");var e=n.apply(this,arguments);if(!this)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?this:e}return oa(r,n),r.prototype.blur=function(){u.TextInputState.blurTextInput(e(this))},r.prototype.focus=function(){u.TextInputState.focusTextInput(e(this))},r.prototype.measure=function(n){var r=void 0;try{r=t(this)}catch(e){}null!=r&&(r.canonical?nativeFabricUIManager.measure(r.node,ct(this,n)):u.UIManager.measure(e(this),ct(this,n)))},r.prototype.measureInWindow=function(n){var r=void 0;try{r=t(this)}catch(e){}null!=r&&(r.canonical?nativeFabricUIManager.measureInWindow(r.node,ct(this,n)):u.UIManager.measureInWindow(e(this),ct(this,n)))},r.prototype.measureLayout=function(n,r,i){var l=void 0;try{l=t(this)}catch(e){}null==l||l.canonical||(l=void 0,"number"==typeof n?l=n:n._nativeTag&&(l=n._nativeTag),null!=l&&u.UIManager.measureLayout(e(this),l,ct(this,i),ct(this,r)))},r.prototype.setNativeProps=function(e){var n=void 0;try{n=t(this)}catch(e){}if(null!=n&&!n.canonical){var r=n._nativeTag||n.canonical._nativeTag;n=n.viewConfig||n.canonical.viewConfig,null!=(e=ut(null,tt,e,n.validAttributes))&&u.UIManager.updateView(r,n.uiViewClassName,e)}},r})(c.Component)})(ca,ia),findNodeHandle:ca,dispatchCommand:function(e,t,n){null!=e._nativeTag&&u.UIManager.dispatchViewManagerCommand(e._nativeTag,t,n)},setNativeProps:function(e,t){null!=e._nativeTag&&(null!=(t=ut(null,tt,t,e.viewConfig.validAttributes))&&u.UIManager.updateView(e._nativeTag,e.viewConfig.uiViewClassName,t))},render:function(e,t,n){var r=da.get(t);if(!r){r=new ra(t,0,!1);var i=$l(3,null,null,0);r.current=i,i.stateNode=r,da.set(t,r)}la(e,r,null,n);e:if(e=r.current,e.child)switch(e.child.tag){case 5:e=e.child.stateNode;break e;default:e=e.child.stateNode}else e=null;return e},unmountComponentAtNode:function(e){var t=da.get(e);t&&la(null,t,null,function(){da.delete(e)})},unmountComponentAtNodeAndRemoveContainer:function(e){pa.unmountComponentAtNode(e),u.UIManager.removeRootView(e)},createPortal:function(e,t){return aa(e,t,null,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)},unstable_batchedUpdates:Ne,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{NativeMethodsMixin:(function(e,t){return{measure:function(n){var r=void 0;try{r=t(this)}catch(e){}null!=r&&(r.canonical?nativeFabricUIManager.measure(r.node,ct(this,n)):u.UIManager.measure(e(this),ct(this,n)))},measureInWindow:function(n){var r=void 0;try{r=t(this)}catch(e){}null!=r&&(r.canonical?nativeFabricUIManager.measureInWindow(r.node,ct(this,n)):u.UIManager.measureInWindow(e(this),ct(this,n)))},measureLayout:function(n,r,i){var l=void 0;try{l=t(this)}catch(e){}null==l||l.canonical||(l=void 0,"number"==typeof n?l=n:n._nativeTag&&(l=n._nativeTag),null!=l&&u.UIManager.measureLayout(e(this),l,ct(this,i),ct(this,r)))},setNativeProps:function(e){var n=void 0;try{n=t(this)}catch(e){}if(null!=n&&!n.canonical){var r=n._nativeTag||n.canonical._nativeTag;n=n.viewConfig||n.canonical.viewConfig,null!=(e=ut(null,tt,e,n.validAttributes))&&u.UIManager.updateView(r,n.uiViewClassName,e)}},focus:function(){u.TextInputState.focusTextInput(e(this))},blur:function(){u.TextInputState.blurTextInput(e(this))}}})(ca,ia),computeComponentStackForErrorReporting:function(e){return(e=we(e))?Et(e):""}}};fa=(sa={findFiberByHostInstance:we,getInspectorDataForViewTag:ua,bundleType:0,version:"16.8.6",rendererPackageName:"react-native-renderer"}).findFiberByHostInstance,Xl(o({},sa,{overrideHookState:null,overrideProps:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ze.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=et(e))?null:e.stateNode},findFiberByHostInstance:function(e){return fa?fa(e):null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null}));var ha={default:pa},ma=ha&&pa||ha;i.exports=ma.default||ma},83,[13,84,155,54,161])
^~~~~~~~~~
/home/ubuntu/Codes/Reactnative/MEC/android/app/build/generated/assets/react/release/index.android.bundle:89:83621: warning: the variable "__REACT_DEVTOOLS_GLOBAL_HOOK__" was not declared in function "Xl"
-------Similar Big errors----------
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/Codes/Reactnative/MEC/android/app/build/generated/assets/react/release/index.android.bundle:89:22512: warning: the variable "clearTimeout" was not declared in function " 222#"
-------Similar Big errors----------
/home/ubuntu/Codes/Reactnative/MEC/android/app/build/generated/assets/react/release/index.android.bundle:89:89330: warning: the variable "nativeFabricUIManager" was not declared in function " 257#"
-------Similar Big errors----------
^~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/Codes/Reactnative/MEC/android/app/build/generated/assets/react/release/index.android.bundle:106:795: warning: the variable "setImmediate" was not declared in function "h 5#"
......... The errors keep going

@benjipott
Copy link

To fix :

Setup your app to Multidex:

 multidexVersion = "2.0.1"
implementation "androidx.multidex:multidex:${rootProject.ext.multidexVersion}"
MainApplication extends MultiDexApplication

And change pickFirst to this

packagingOptions {
    pickFirst '/armeabi-v7a/libc++_shared.so'
    pickFirst '/x86/libc++_shared.so'
    pickFirst '/arm64-v8a/libc++_shared.so'
    pickFirst '/x86_64/libc++_shared.so'
    pickFirst '/x86/libjsc.so'
    pickFirst '/armeabi-v7a/libjsc.so'
  }

To test , use Firebase test lab on all devices
Capture d’écran 2019-12-10 à 05 45 31

douglowder pushed a commit to react-native-tvos/react-native-tvos that referenced this issue Dec 11, 2019
Summary:
This PR bumps bumps Soloader to 0.8.0. This fixes white screen/ crash issues when downloading from Google Play.

Related to:
facebook/react-native#25927 #26400

## Changelog
[Android] [Changed] - Bump Soloader to 0.8.0
Pull Request resolved: facebook/react-native#26759

Test Plan:
A few CI tests fail, but I don't see the link with what I changed, especially the ios tests.
It's working locally though, and for people on github who tried this solution as well.

Differential Revision: D17828891

Pulled By: mdvacca

fbshipit-source-id: 1c7809aa681b41b8ed9a4da96d041d52f3cfbb76
@vardaan
Copy link

vardaan commented Dec 16, 2019

Changing the androidBuildToolVersion fix it for me. Initially, I was using 3.5.2 the build was completing but the app was getting stuck on the splash screen. So I've changed the build tool version to 3.4.2 now everything seems fine

Atleast true for me. You guys can try it once and see if it works for you.

@fontesrp
Copy link

I was having the exact same issue on 0.61.5 and #26400 (comment) solved it for me, as @radko93 suggested

@stale
Copy link

stale bot commented Jun 21, 2020

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as a "Discussion" or add it to the "Backlog" and I will leave it open. Thank you for your contributions.

@stale stale bot added the Stale There has been a lack of activity on this issue and it may be closed soon. label Jun 21, 2020
@stale
Copy link

stale bot commented Jun 28, 2020

Closing this issue after a prolonged period of inactivity. If this issue is still present in the latest release, please feel free to create a new issue with up-to-date information.

@stale stale bot closed this as completed Jun 28, 2020
@facebook facebook locked as resolved and limited conversation to collaborators Jun 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Bug Platform: Android Android applications. Stale There has been a lack of activity on this issue and it may be closed soon. Tech: Bundler 📦 This issue is related to the bundler (Metro, Haul, etc) used.
Projects
None yet
Development

No branches or pull requests