entCharCode(event) : 0; }, keyCode: function(event) { return "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0; }, which: function(event) { return "keypress" === event.type ? getEventCharCode(event) : "keydown" === event.type || "keyup" === event.type ? event.keyCode : 0; } }), SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface), PointerEventInterface = assign({}, MouseEventInterface, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface), TouchEventInterface = assign({}, UIEventInterface, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: getEventModifierState }), SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface), TransitionEventInterface = assign({}, EventInterface, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface), WheelEventInterface = assign({}, MouseEventInterface, { deltaX: function(event) { return "deltaX" in event ? event.deltaX : "wheelDeltaX" in event ? -event.wheelDeltaX : 0; }, deltaY: function(event) { return "deltaY" in event ? event.deltaY : "wheelDeltaY" in event ? -event.wheelDeltaY : "wheelDelta" in event ? -event.wheelDelta : 0; }, deltaZ: 0, deltaMode: 0 }), SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface), ToggleEventInterface = assign({}, EventInterface, { newState: 0, oldState: 0 }), SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface), END_KEYCODES = [9, 13, 27, 32], START_KEYCODE = 229, canUseCompositionEvent = canUseDOM && "CompositionEvent" in window, documentMode = null; canUseDOM && "documentMode" in document && (documentMode = document.documentMode); var canUseTextInputEvent = canUseDOM && "TextEvent" in window && !documentMode, useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && 8 < documentMode && 11 >= documentMode), SPACEBAR_CODE = 32, SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE), hasSpaceKeypress = false, isComposing = false, supportedInputTypes = { color: true, date: true, datetime: true, "datetime-local": true, email: true, month: true, number: true, password: true, range: true, search: true, tel: true, text: true, time: true, url: true, week: true }, activeElement$1 = null, activeElementInst$1 = null, isInputEventSupported = false; canUseDOM && (isInputEventSupported = isEventSupported("input") && (!document.documentMode || 9 < document.documentMode)); var objectIs = "function" === typeof Object.is ? Object.is : is, skipSelectionChangeEvent = canUseDOM && "documentMode" in document && 11 >= document.documentMode, activeElement = null, activeElementInst = null, lastSelection = null, mouseDown = false, vendorPrefixes = { animationend: makePrefixMap("Animation", "AnimationEnd"), animationiteration: makePrefixMap("Animation", "AnimationIteration"), animationstart: makePrefixMap("Animation", "AnimationStart"), transitionrun: makePrefixMap("Transition", "TransitionRun"), transitionstart: makePrefixMap("Transition", "TransitionStart"), transitioncancel: makePrefixMap("Transition", "TransitionCancel"), transitionend: makePrefixMap("Transition", "TransitionEnd") }, prefixedEventNames = {}, style = {}; canUseDOM && (style = document.createElement("div").style, "AnimationEvent" in window || (delete vendorPrefixes.animationend.animation, delete vendorPrefixes.animationiteration.animation, delete vendorPrefixes.animationstart.animation), "TransitionEvent" in window || delete vendorPrefixes.transitionend.transition); var ANIMATION_END = getVendorPrefixedEventName("animationend"), ANIMATION_ITERATION = getVendorPrefixedEventName("animationiteration"), ANIMATION_START = getVendorPrefixedEventName("animationstart"), TRANSITION_RUN = getVendorPrefixedEventName("transitionrun"), TRANSITION_START = getVendorPrefixedEventName("transitionstart"), TRANSITION_CANCEL = getVendorPrefixedEventName("transitioncancel"), TRANSITION_END = getVendorPrefixedEventName("transitionend"), topLevelEventsToReactNames = /* @__PURE__ */ new Map(), simpleEventPluginEvents = "abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split( " " ), OffscreenVisible = 1, OffscreenDetached = 2, OffscreenPassiveEffectsConnected = 4, concurrentQueues = [], concurrentQueuesIndex = 0, concurrentlyUpdatedLanes = 0, emptyContextObject = {}; Object.freeze(emptyContextObject); var resolveFamily = null, failedBoundaries = null, NoMode = 0, ConcurrentMode = 1, ProfileMode = 2, StrictLegacyMode = 8, StrictEffectsMode = 16, NoStrictPassiveEffectsMode = 64, now = Scheduler.unstable_now, renderStartTime = -0, commitStartTime = -0, profilerStartTime = -1.1, profilerEffectDuration = -0, currentUpdateIsNested = false, nestedUpdateScheduled = false, ReactStrictModeWarnings = { recordUnsafeLifecycleWarnings: function() { }, flushPendingUnsafeLifecycleWarnings: function() { }, recordLegacyContextWarning: function() { }, flushLegacyContextWarning: function() { }, discardPendingWarnings: function() { } }, pendingComponentWillMountWarnings = [], pendingUNSAFE_ComponentWillMountWarnings = [], pendingComponentWillReceivePropsWarnings = [], pendingUNSAFE_ComponentWillReceivePropsWarnings = [], pendingComponentWillUpdateWarnings = [], pendingUNSAFE_ComponentWillUpdateWarnings = [], didWarnAboutUnsafeLifecycles = /* @__PURE__ */ new Set(); ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function(fiber, instance) { didWarnAboutUnsafeLifecycles.has(fiber.type) || ("function" === typeof instance.componentWillMount && true !== instance.componentWillMount.__suppressDeprecationWarning && pendingComponentWillMountWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillMount && pendingUNSAFE_ComponentWillMountWarnings.push(fiber), "function" === typeof instance.componentWillReceiveProps && true !== instance.componentWillReceiveProps.__suppressDeprecationWarning && pendingComponentWillReceivePropsWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillReceiveProps && pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber), "function" === typeof instance.componentWillUpdate && true !== instance.componentWillUpdate.__suppressDeprecationWarning && pendingComponentWillUpdateWarnings.push(fiber), fiber.mode & StrictLegacyMode && "function" === typeof instance.UNSAFE_componentWillUpdate && pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber)); }; ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function() { var componentWillMountUniqueNames = /* @__PURE__ */ new Set(); 0 < pendingComponentWillMountWarnings.length && (pendingComponentWillMountWarnings.forEach(function(fiber) { componentWillMountUniqueNames.add( getComponentNameFromFiber(fiber) || "Component" ); didWarnAboutUnsafeLifecycles.add(fiber.type); }), pendingComponentWillMountWarnings = []); var UNSAFE_componentWillMountUniqueNames = /* @__PURE__ */ new Set(); 0 < pendingUNSAFE_ComponentWillMountWarnings.length && (pendingUNSAFE_ComponentWillMountWarnings.forEach(function(fiber) { UNSAFE_componentWillMountUniqueNames.add( getComponentNameFromFiber(fiber) || "Component" ); didWarnAboutUnsafeLifecycles.add(fiber.type); }), pendingUNSAFE_ComponentWillMountWarnings = []); var componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); 0 < pendingComponentWillReceivePropsWarnings.length && (pendingComponentWillReceivePropsWarnings.forEach(function(fiber) { componentWillReceivePropsUniqueNames.add( getComponentNameFromFiber(fiber) || "Component" ); didWarnAboutUnsafeLifecycles.add(fiber.type); }), pendingComponentWillReceivePropsWarnings = []); var UNSAFE_componentWillReceivePropsUniqueNames = /* @__PURE__ */ new Set(); 0 < pendingUNSAFE_ComponentWillReceivePropsWarnings.length && (pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach( function(fiber) { UNSAFE_componentWillReceivePropsUniqueNames.add( getComponentNameFromFiber(fiber) || "Component" ); didWarnAboutUnsafeLifecycles.add(fiber.type); } ), pendingUNSAFE_ComponentWillReceivePropsWarnings = []); var componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); 0 < pendingComponentWillUpdateWarnings.length && (pendingComponentWillUpdateWarnings.forEach(function(fiber) { componentWillUpdateUniqueNames.add( getComponentNameFromFiber(fiber) || "Component" ); didWarnAboutUnsafeLifecycles.add(fiber.type); }), pendingComponentWillUpdateWarnings = []); var UNSAFE_componentWillUpdateUniqueNames = /* @__PURE__ */ new Set(); 0 < pendingUNSAFE_ComponentWillUpdateWarnings.length && (pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function(fiber) { UNSAFE_componentWillUpdateUniqueNames.add( getComponentNameFromFiber(fiber) || "Component" ); didWarnAboutUnsafeLifecycles.add(fiber.type); }), pendingUNSAFE_ComponentWillUpdateWarnings = []); if (0 < UNSAFE_componentWillMountUniqueNames.size) { var sortedNames = setToSortedString( UNSAFE_componentWillMountUniqueNames ); console.error( "Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n\nPlease update the following components: %s", sortedNames ); } 0 < UNSAFE_componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString( UNSAFE_componentWillReceivePropsUniqueNames ), console.error( "Using UNSAFE_componentWillReceiveProps in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n\nPlease update the following components: %s", sortedNames )); 0 < UNSAFE_componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString( UNSAFE_componentWillUpdateUniqueNames ), console.error( "Using UNSAFE_componentWillUpdate in strict mode is not recommended and may indicate bugs in your code. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n\nPlease update the following components: %s", sortedNames )); 0 < componentWillMountUniqueNames.size && (sortedNames = setToSortedString(componentWillMountUniqueNames), console.warn( "componentWillMount has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move code with side effects to componentDidMount, and set initial state in the constructor.\n* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", sortedNames )); 0 < componentWillReceivePropsUniqueNames.size && (sortedNames = setToSortedString( componentWillReceivePropsUniqueNames ), console.warn( "componentWillReceiveProps has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://react.dev/link/derived-state\n* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", sortedNames )); 0 < componentWillUpdateUniqueNames.size && (sortedNames = setToSortedString(componentWillUpdateUniqueNames), console.warn( "componentWillUpdate has been renamed, and is not recommended for use. See https://react.dev/link/unsafe-component-lifecycles for details.\n\n* Move data fetching code or side effects to componentDidUpdate.\n* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress this warning in non-strict mode. In React 18.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.\n\nPlease update the following components: %s", sortedNames )); }; var pendingLegacyContextWarning = /* @__PURE__ */ new Map(), didWarnAboutLegacyContext = /* @__PURE__ */ new Set(); ReactStrictModeWarnings.recordLegacyContextWarning = function(fiber, instance) { var strictRoot = null; for (var node = fiber; null !== node; ) node.mode & StrictLegacyMode && (strictRoot = node), node = node.return; null === strictRoot ? console.error( "Expected to find a StrictMode component in a strict mode tree. This error is likely caused by a bug in React. Please file an issue." ) : !didWarnAboutLegacyContext.has(fiber.type) && (node = pendingLegacyContextWarning.get(strictRoot), null != fiber.type.contextTypes || null != fiber.type.childContextTypes || null !== instance && "function" === typeof instance.getChildContext) && (void 0 === node && (node = [], pendingLegacyContextWarning.set(strictRoot, node)), node.push(fiber)); }; ReactStrictModeWarnings.flushLegacyContextWarning = function() { pendingLegacyContextWarning.forEach(function(fiberArray) { if (0 !== fiberArray.length) { var firstFiber = fiberArray[0], uniqueNames = /* @__PURE__ */ new Set(); fiberArray.forEach(function(fiber) { uniqueNames.add(getComponentNameFromFiber(fiber) || "Component"); didWarnAboutLegacyContext.add(fiber.type); }); var sortedNames = setToSortedString(uniqueNames); runWithFiberInDEV(firstFiber, function() { console.error( "Legacy context API has been detected within a strict-mode tree.\n\nThe old API will be supported in all 16.x releases, but applications using it should migrate to the new version.\n\nPlease update the following components: %s\n\nLearn more about this warning here: https://react.dev/link/legacy-context", sortedNames ); }); } }); }; ReactStrictModeWarnings.discardPendingWarnings = function() { pendingComponentWillMountWarnings = []; pendingUNSAFE_ComponentWillMountWarnings = []; pendingComponentWillReceivePropsWarnings = []; pendingUNSAFE_ComponentWillReceivePropsWarnings = []; pendingComponentWillUpdateWarnings = []; pendingUNSAFE_ComponentWillUpdateWarnings = []; pendingLegacyContextWarning = /* @__PURE__ */ new Map(); }; var CapturedStacks = /* @__PURE__ */ new WeakMap(), forkStack = [], forkStackIndex = 0, treeForkProvider = null, treeForkCount = 0, idStack = [], idStackIndex = 0, treeContextProvider = null, treeContextId = 1, treeContextOverflow = "", hydrationParentFiber = null, nextHydratableInstance = null, isHydrating = false, didSuspendOrErrorDEV = false, hydrationDiffRootDEV = null, hydrationErrors = null, rootOrSingletonContext = false, HydrationMismatchException = Error( "Hydration Mismatch Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React." ), SuspenseException = Error( "Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\n\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`" ), SuspenseyCommitException = Error( "Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React." ), noopSuspenseyCommitThenable = { then: function() { console.error( 'Internal React error: A listener was unexpectedly attached to a "noop" thenable. This is a bug in React. Please file an issue.' ); } }, suspendedThenable = null, needsToResetSuspendedThenableDEV = false, callComponent = { "react-stack-bottom-frame": function(Component, props, secondArg) { var wasRendering = isRendering; isRendering = true; try { return Component(props, secondArg); } finally { isRendering = wasRendering; } } }, callComponentInDEV = callComponent["react-stack-bottom-frame"].bind(callComponent), callRender = { "react-stack-bottom-frame": function(instance) { var wasRendering = isRendering; isRendering = true; try { return instance.render(); } finally { isRendering = wasRendering; } } }, callRenderInDEV = callRender["react-stack-bottom-frame"].bind(callRender), callComponentDidMount = { "react-stack-bottom-frame": function(finishedWork, instance) { try { instance.componentDidMount(); } catch (error) { captureCommitPhaseError(finishedWork, finishedWork.return, error); } } }, callComponentDidMountInDEV = callComponentDidMount["react-stack-bottom-frame"].bind(callComponentDidMount), callComponentDidUpdate = { "react-stack-bottom-frame": function(finishedWork, instance, prevProps, prevState, snapshot) { try { instance.componentDidUpdate(prevProps, prevState, snapshot); } catch (error) { captureCommitPhaseError(finishedWork, finishedWork.return, error); } } }, callComponentDidUpdateInDEV = callComponentDidUpdate["react-stack-bottom-frame"].bind(callComponentDidUpdate), callComponentDidCatch = { "react-stack-bottom-frame": function(instance, errorInfo) { var stack = errorInfo.stack; instance.componentDidCatch(errorInfo.value, { componentStack: null !== stack ? stack : "" }); } }, callComponentDidCatchInDEV = callComponentDidCatch["react-stack-bottom-frame"].bind(callComponentDidCatch), callComponentWillUnmount = { "react-stack-bottom-frame": function(current2, nearestMountedAncestor, instance) { try { instance.componentWillUnmount(); } catch (error) { captureCommitPhaseError(current2, nearestMountedAncestor, error); } } }, callComponentWillUnmountInDEV = callComponentWillUnmount["react-stack-bottom-frame"].bind(callComponentWillUnmount), callCreate = { "react-stack-bottom-frame": function(effect) { var create = effect.create; effect = effect.inst; create = create(); return effect.destroy = create; } }, callCreateInDEV = callCreate["react-stack-bottom-frame"].bind(callCreate), callDestroy = { "react-stack-bottom-frame": function(current2, nearestMountedAncestor, destroy) { try { destroy(); } catch (error) { captureCommitPhaseError(current2, nearestMountedAncestor, error); } } }, callDestroyInDEV = callDestroy["react-stack-bottom-frame"].bind(callDestroy), callLazyInit = { "react-stack-bottom-frame": function(lazy) { var init = lazy._init; return init(lazy._payload); } }, callLazyInitInDEV = callLazyInit["react-stack-bottom-frame"].bind(callLazyInit), thenableState$1 = null, thenableIndexCounter$1 = 0, currentDebugInfo = null, didWarnAboutMaps; var didWarnAboutGenerators = didWarnAboutMaps = false; var ownerHasKeyUseWarning = {}; var ownerHasFunctionTypeWarning = {}; var ownerHasSymbolTypeWarning = {}; warnForMissingKey = function(returnFiber, workInProgress2, child) { if (null !== child && "object" === typeof child && child._store && (!child._store.validated && null == child.key || 2 === child._store.validated)) { if ("object" !== typeof child._store) throw Error( "React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue." ); child._store.validated = 1; var componentName2 = getComponentNameFromFiber(returnFiber), componentKey = componentName2 || "null"; if (!ownerHasKeyUseWarning[componentKey]) { ownerHasKeyUseWarning[componentKey] = true; child = child._owner; returnFiber = returnFiber._debugOwner; var currentComponentErrorInfo = ""; returnFiber && "number" === typeof returnFiber.tag && (componentKey = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = "\n\nCheck the render method of `" + componentKey + "`."); currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = "\n\nCheck the top-level render call using <" + componentName2 + ">."); var childOwnerAppendix = ""; null != child && returnFiber !== child && (componentName2 = null, "number" === typeof child.tag ? componentName2 = getComponentNameFromFiber(child) : "string" === typeof child.name && (componentName2 = child.name), componentName2 && (childOwnerAppendix = " It was passed a child from " + componentName2 + ".")); runWithFiberInDEV(workInProgress2, function() { console.error( 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.', currentComponentErrorInfo, childOwnerAppendix ); }); } } }; var reconcileChildFibers = createChildReconciler(true), mountChildFibers = createChildReconciler(false), currentTreeHiddenStackCursor = createCursor(null), prevEntangledRenderLanesCursor = createCursor(0), suspenseHandlerStackCursor = createCursor(null), shellBoundary = null, SubtreeSuspenseContextMask = 1, ForceSuspenseFallback = 2, suspenseStackCursor = createCursor(0), NoFlags = 0, HasEffect = 1, Insertion = 2, Layout = 4, Passive = 8, AbortControllerLocal = "undefined" !== typeof AbortController ? AbortController : function() { var listeners = [], signal = this.signal = { aborted: false, addEventListener: function(type, listener) { listeners.push(listener); } }; this.abort = function() { signal.aborted = true; listeners.forEach(function(listener) { return listener(); }); }; }, scheduleCallback$2 = Scheduler.unstable_scheduleCallback, NormalPriority = Scheduler.unstable_NormalPriority, CacheContext = { $$typeof: REACT_CONTEXT_TYPE, Consumer: null, Provider: null, _currentValue: null, _currentValue2: null, _threadCount: 0, _currentRenderer: null, _currentRenderer2: null }, currentEntangledListeners = null, currentEntangledPendingCount = 0, currentEntangledLane = 0, currentEntangledActionThenable = null, prevOnStartTransitionFinish = ReactSharedInternals.S; ReactSharedInternals.S = function(transition, returnValue) { "object" === typeof returnValue && null !== returnValue && "function" === typeof returnValue.then && entangleAsyncAction(transition, returnValue); null !== prevOnStartTransitionFinish && prevOnStartTransitionFinish(transition, returnValue); }; var resumedCache = createCursor(null), didWarnUncachedGetSnapshot; var didWarnAboutMismatchedHooksForComponent = /* @__PURE__ */ new Set(); var didWarnAboutUseWrappedInTryCatch = /* @__PURE__ */ new Set(); var didWarnAboutAsyncClientComponent = /* @__PURE__ */ new Set(); var didWarnAboutUseFormState = /* @__PURE__ */ new Set(); var renderLanes = 0, currentlyRenderingFiber$1 = null, currentHook = null, workInProgressHook = null, didScheduleRenderPhaseUpdate = false, didScheduleRenderPhaseUpdateDuringThisPass = false, shouldDoubleInvokeUserFnsInHooksDEV = false, localIdCounter = 0, thenableIndexCounter = 0, thenableState = null, globalClientIdCounter = 0, RE_RENDER_LIMIT = 25, currentHookNameInDev = null, hookTypesDev = null, hookTypesUpdateIndexDev = -1, ignorePreviousDependencies = false; var createFunctionComponentUpdateQueue = function() { return { lastEffect: null, events: null, stores: null, memoCache: null }; }; var ContextOnlyDispatcher = { readContext, use, useCallback: throwInvalidHookError, useContext: throwInvalidHookError, useEffect: throwInvalidHookError, useImperativeHandle: throwInvalidHookError, useLayoutEffect: throwInvalidHookError, useInsertionEffect: throwInvalidHookError, useMemo: throwInvalidHookError, useReducer: throwInvalidHookError, useRef: throwInvalidHookError, useState: throwInvalidHookError, useDebugValue: throwInvalidHookError, useDeferredValue: throwInvalidHookError, useTransition: throwInvalidHookError, useSyncExternalStore: throwInvalidHookError, useId: throwInvalidHookError }; ContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError; ContextOnlyDispatcher.useMemoCache = throwInvalidHookError; ContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError; ContextOnlyDispatcher.useFormState = throwInvalidHookError; ContextOnlyDispatcher.useActionState = throwInvalidHookError; ContextOnlyDispatcher.useOptimistic = throwInvalidHookError; var HooksDispatcherOnMountInDEV = null, HooksDispatcherOnMountWithHookTypesInDEV = null, HooksDispatcherOnUpdateInDEV = null, HooksDispatcherOnRerenderInDEV = null, InvalidNestedHooksDispatcherOnMountInDEV = null, InvalidNestedHooksDispatcherOnUpdateInDEV = null, InvalidNestedHooksDispatcherOnRerenderInDEV = null; HooksDispatcherOnMountInDEV = { readContext: function(context) { return readContext(context); }, use, useCallback: function(callback, deps) { currentHookNameInDev = "useCallback"; mountHookTypesDev(); checkDepsAreArrayDev(deps); return mountCallback(callback, deps); }, useContext: function(context) { currentHookNameInDev = "useContext"; mountHookTypesDev(); return readContext(context); }, useEffect: function(create, deps) { currentHookNameInDev = "useEffect"; mountHookTypesDev(); checkDepsAreArrayDev(deps); return mountEffect(create, deps); }, useImperativeHandle: function(ref, create, deps) { currentHookNameInDev = "useImperativeHandle"; mountHookTypesDev(); checkDepsAreArrayDev(deps); return mountImperativeHandle(ref, create, deps); }, useInsertionEffect: function(create, deps) { currentHookNameInDev = "useInsertionEffect"; mountHookTypesDev(); checkDepsAreArrayDev(deps); mountEffectImpl(4, Insertion, create, deps); }, useLayoutEffect: function(create, deps) { currentHookNameInDev = "useLayoutEffect"; mountHookTypesDev(); checkDepsAreArrayDev(deps); return mountLayoutEffect(create, deps); }, useMemo: function(create, deps) { currentHookNameInDev = "useMemo"; mountHookTypesDev(); checkDepsAreArrayDev(deps); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; try { return mountMemo(create, deps); } finally { ReactSharedInternals.H = prevDispatcher; } }, useReducer: function(reducer, initialArg, init) { currentHookNameInDev = "useReducer"; mountHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; try { return mountReducer(reducer, initialArg, init); } finally { ReactSharedInternals.H = prevDispatcher; } }, useRef: function(initialValue) { currentHookNameInDev = "useRef"; mountHookTypesDev(); return mountRef(initialValue); }, useState: function(initialState) { currentHookNameInDev = "useState"; mountHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; try { return mountState(initialState); } finally { ReactSharedInternals.H = prevDispatcher; } }, useDebugValue: function() { currentHookNameInDev = "useDebugValue"; mountHookTypesDev(); }, useDeferredValue: function(value, initialValue) { currentHookNameInDev = "useDeferredValue"; mountHookTypesDev(); return mountDeferredValue(value, initialValue); }, useTransition: function() { currentHookNameInDev = "useTransition"; mountHookTypesDev(); return mountTransition(); }, useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { currentHookNameInDev = "useSyncExternalStore"; mountHookTypesDev(); return mountSyncExternalStore( subscribe, getSnapshot, getServerSnapshot ); }, useId: function() { currentHookNameInDev = "useId"; mountHookTypesDev(); return mountId(); }, useCacheRefresh: function() { currentHookNameInDev = "useCacheRefresh"; mountHookTypesDev(); return mountRefresh(); } }; HooksDispatcherOnMountInDEV.useMemoCache = useMemoCache; HooksDispatcherOnMountInDEV.useHostTransitionStatus = useHostTransitionStatus; HooksDispatcherOnMountInDEV.useFormState = function(action, initialState) { currentHookNameInDev = "useFormState"; mountHookTypesDev(); warnOnUseFormStateInDev(); return mountActionState(action, initialState); }; HooksDispatcherOnMountInDEV.useActionState = function(action, initialState) { currentHookNameInDev = "useActionState"; mountHookTypesDev(); return mountActionState(action, initialState); }; HooksDispatcherOnMountInDEV.useOptimistic = function(passthrough) { currentHookNameInDev = "useOptimistic"; mountHookTypesDev(); return mountOptimistic(passthrough); }; HooksDispatcherOnMountWithHookTypesInDEV = { readContext: function(context) { return readContext(context); }, use, useCallback: function(callback, deps) { currentHookNameInDev = "useCallback"; updateHookTypesDev(); return mountCallback(callback, deps); }, useContext: function(context) { currentHookNameInDev = "useContext"; updateHookTypesDev(); return readContext(context); }, useEffect: function(create, deps) { currentHookNameInDev = "useEffect"; updateHookTypesDev(); return mountEffect(create, deps); }, useImperativeHandle: function(ref, create, deps) { currentHookNameInDev = "useImperativeHandle"; updateHookTypesDev(); return mountImperativeHandle(ref, create, deps); }, useInsertionEffect: function(create, deps) { currentHookNameInDev = "useInsertionEffect"; updateHookTypesDev(); mountEffectImpl(4, Insertion, create, deps); }, useLayoutEffect: function(create, deps) { currentHookNameInDev = "useLayoutEffect"; updateHookTypesDev(); return mountLayoutEffect(create, deps); }, useMemo: function(create, deps) { currentHookNameInDev = "useMemo"; updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; try { return mountMemo(create, deps); } finally { ReactSharedInternals.H = prevDispatcher; } }, useReducer: function(reducer, initialArg, init) { currentHookNameInDev = "useReducer"; updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; try { return mountReducer(reducer, initialArg, init); } finally { ReactSharedInternals.H = prevDispatcher; } }, useRef: function(initialValue) { currentHookNameInDev = "useRef"; updateHookTypesDev(); return mountRef(initialValue); }, useState: function(initialState) { currentHookNameInDev = "useState"; updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; try { return mountState(initialState); } finally { ReactSharedInternals.H = prevDispatcher; } }, useDebugValue: function() { currentHookNameInDev = "useDebugValue"; updateHookTypesDev(); }, useDeferredValue: function(value, initialValue) { currentHookNameInDev = "useDeferredValue"; updateHookTypesDev(); return mountDeferredValue(value, initialValue); }, useTransition: function() { currentHookNameInDev = "useTransition"; updateHookTypesDev(); return mountTransition(); }, useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { currentHookNameInDev = "useSyncExternalStore"; updateHookTypesDev(); return mountSyncExternalStore( subscribe, getSnapshot, getServerSnapshot ); }, useId: function() { currentHookNameInDev = "useId"; updateHookTypesDev(); return mountId(); }, useCacheRefresh: function() { currentHookNameInDev = "useCacheRefresh"; updateHookTypesDev(); return mountRefresh(); } }; HooksDispatcherOnMountWithHookTypesInDEV.useMemoCache = useMemoCache; HooksDispatcherOnMountWithHookTypesInDEV.useHostTransitionStatus = useHostTransitionStatus; HooksDispatcherOnMountWithHookTypesInDEV.useFormState = function(action, initialState) { currentHookNameInDev = "useFormState"; updateHookTypesDev(); warnOnUseFormStateInDev(); return mountActionState(action, initialState); }; HooksDispatcherOnMountWithHookTypesInDEV.useActionState = function(action, initialState) { currentHookNameInDev = "useActionState"; updateHookTypesDev(); return mountActionState(action, initialState); }; HooksDispatcherOnMountWithHookTypesInDEV.useOptimistic = function(passthrough) { currentHookNameInDev = "useOptimistic"; updateHookTypesDev(); return mountOptimistic(passthrough); }; HooksDispatcherOnUpdateInDEV = { readContext: function(context) { return readContext(context); }, use, useCallback: function(callback, deps) { currentHookNameInDev = "useCallback"; updateHookTypesDev(); return updateCallback(callback, deps); }, useContext: function(context) { currentHookNameInDev = "useContext"; updateHookTypesDev(); return readContext(context); }, useEffect: function(create, deps) { currentHookNameInDev = "useEffect"; updateHookTypesDev(); updateEffectImpl(2048, Passive, create, deps); }, useImperativeHandle: function(ref, create, deps) { currentHookNameInDev = "useImperativeHandle"; updateHookTypesDev(); return updateImperativeHandle(ref, create, deps); }, useInsertionEffect: function(create, deps) { currentHookNameInDev = "useInsertionEffect"; updateHookTypesDev(); return updateEffectImpl(4, Insertion, create, deps); }, useLayoutEffect: function(create, deps) { currentHookNameInDev = "useLayoutEffect"; updateHookTypesDev(); return updateEffectImpl(4, Layout, create, deps); }, useMemo: function(create, deps) { currentHookNameInDev = "useMemo"; updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; try { return updateMemo(create, deps); } finally { ReactSharedInternals.H = prevDispatcher; } }, useReducer: function(reducer, initialArg, init) { currentHookNameInDev = "useReducer"; updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; try { return updateReducer(reducer, initialArg, init); } finally { ReactSharedInternals.H = prevDispatcher; } }, useRef: function() { currentHookNameInDev = "useRef"; updateHookTypesDev(); return updateWorkInProgressHook().memoizedState; }, useState: function() { currentHookNameInDev = "useState"; updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; try { return updateReducer(basicStateReducer); } finally { ReactSharedInternals.H = prevDispatcher; } }, useDebugValue: function() { currentHookNameInDev = "useDebugValue"; updateHookTypesDev(); }, useDeferredValue: function(value, initialValue) { currentHookNameInDev = "useDeferredValue"; updateHookTypesDev(); return updateDeferredValue(value, initialValue); }, useTransition: function() { currentHookNameInDev = "useTransition"; updateHookTypesDev(); return updateTransition(); }, useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { currentHookNameInDev = "useSyncExternalStore"; updateHookTypesDev(); return updateSyncExternalStore( subscribe, getSnapshot, getServerSnapshot ); }, useId: function() { currentHookNameInDev = "useId"; updateHookTypesDev(); return updateWorkInProgressHook().memoizedState; }, useCacheRefresh: function() { currentHookNameInDev = "useCacheRefresh"; updateHookTypesDev(); return updateWorkInProgressHook().memoizedState; } }; HooksDispatcherOnUpdateInDEV.useMemoCache = useMemoCache; HooksDispatcherOnUpdateInDEV.useHostTransitionStatus = useHostTransitionStatus; HooksDispatcherOnUpdateInDEV.useFormState = function(action) { currentHookNameInDev = "useFormState"; updateHookTypesDev(); warnOnUseFormStateInDev(); return updateActionState(action); }; HooksDispatcherOnUpdateInDEV.useActionState = function(action) { currentHookNameInDev = "useActionState"; updateHookTypesDev(); return updateActionState(action); }; HooksDispatcherOnUpdateInDEV.useOptimistic = function(passthrough, reducer) { currentHookNameInDev = "useOptimistic"; updateHookTypesDev(); return updateOptimistic(passthrough, reducer); }; HooksDispatcherOnRerenderInDEV = { readContext: function(context) { return readContext(context); }, use, useCallback: function(callback, deps) { currentHookNameInDev = "useCallback"; updateHookTypesDev(); return updateCallback(callback, deps); }, useContext: function(context) { currentHookNameInDev = "useContext"; updateHookTypesDev(); return readContext(context); }, useEffect: function(create, deps) { currentHookNameInDev = "useEffect"; updateHookTypesDev(); updateEffectImpl(2048, Passive, create, deps); }, useImperativeHandle: function(ref, create, deps) { currentHookNameInDev = "useImperativeHandle"; updateHookTypesDev(); return updateImperativeHandle(ref, create, deps); }, useInsertionEffect: function(create, deps) { currentHookNameInDev = "useInsertionEffect"; updateHookTypesDev(); return updateEffectImpl(4, Insertion, create, deps); }, useLayoutEffect: function(create, deps) { currentHookNameInDev = "useLayoutEffect"; updateHookTypesDev(); return updateEffectImpl(4, Layout, create, deps); }, useMemo: function(create, deps) { currentHookNameInDev = "useMemo"; updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; try { return updateMemo(create, deps); } finally { ReactSharedInternals.H = prevDispatcher; } }, useReducer: function(reducer, initialArg, init) { currentHookNameInDev = "useReducer"; updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; try { return rerenderReducer(reducer, initialArg, init); } finally { ReactSharedInternals.H = prevDispatcher; } }, useRef: function() { currentHookNameInDev = "useRef"; updateHookTypesDev(); return updateWorkInProgressHook().memoizedState; }, useState: function() { currentHookNameInDev = "useState"; updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnRerenderInDEV; try { return rerenderReducer(basicStateReducer); } finally { ReactSharedInternals.H = prevDispatcher; } }, useDebugValue: function() { currentHookNameInDev = "useDebugValue"; updateHookTypesDev(); }, useDeferredValue: function(value, initialValue) { currentHookNameInDev = "useDeferredValue"; updateHookTypesDev(); return rerenderDeferredValue(value, initialValue); }, useTransition: function() { currentHookNameInDev = "useTransition"; updateHookTypesDev(); return rerenderTransition(); }, useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { currentHookNameInDev = "useSyncExternalStore"; updateHookTypesDev(); return updateSyncExternalStore( subscribe, getSnapshot, getServerSnapshot ); }, useId: function() { currentHookNameInDev = "useId"; updateHookTypesDev(); return updateWorkInProgressHook().memoizedState; }, useCacheRefresh: function() { currentHookNameInDev = "useCacheRefresh"; updateHookTypesDev(); return updateWorkInProgressHook().memoizedState; } }; HooksDispatcherOnRerenderInDEV.useMemoCache = useMemoCache; HooksDispatcherOnRerenderInDEV.useHostTransitionStatus = useHostTransitionStatus; HooksDispatcherOnRerenderInDEV.useFormState = function(action) { currentHookNameInDev = "useFormState"; updateHookTypesDev(); warnOnUseFormStateInDev(); return rerenderActionState(action); }; HooksDispatcherOnRerenderInDEV.useActionState = function(action) { currentHookNameInDev = "useActionState"; updateHookTypesDev(); return rerenderActionState(action); }; HooksDispatcherOnRerenderInDEV.useOptimistic = function(passthrough, reducer) { currentHookNameInDev = "useOptimistic"; updateHookTypesDev(); return rerenderOptimistic(passthrough, reducer); }; InvalidNestedHooksDispatcherOnMountInDEV = { readContext: function(context) { warnInvalidContextAccess(); return readContext(context); }, use: function(usable) { warnInvalidHookAccess(); return use(usable); }, useCallback: function(callback, deps) { currentHookNameInDev = "useCallback"; warnInvalidHookAccess(); mountHookTypesDev(); return mountCallback(callback, deps); }, useContext: function(context) { currentHookNameInDev = "useContext"; warnInvalidHookAccess(); mountHookTypesDev(); return readContext(context); }, useEffect: function(create, deps) { currentHookNameInDev = "useEffect"; warnInvalidHookAccess(); mountHookTypesDev(); return mountEffect(create, deps); }, useImperativeHandle: function(ref, create, deps) { currentHookNameInDev = "useImperativeHandle"; warnInvalidHookAccess(); mountHookTypesDev(); return mountImperativeHandle(ref, create, deps); }, useInsertionEffect: function(create, deps) { currentHookNameInDev = "useInsertionEffect"; warnInvalidHookAccess(); mountHookTypesDev(); mountEffectImpl(4, Insertion, create, deps); }, useLayoutEffect: function(create, deps) { currentHookNameInDev = "useLayoutEffect"; warnInvalidHookAccess(); mountHookTypesDev(); return mountLayoutEffect(create, deps); }, useMemo: function(create, deps) { currentHookNameInDev = "useMemo"; warnInvalidHookAccess(); mountHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; try { return mountMemo(create, deps); } finally { ReactSharedInternals.H = prevDispatcher; } }, useReducer: function(reducer, initialArg, init) { currentHookNameInDev = "useReducer"; warnInvalidHookAccess(); mountHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; try { return mountReducer(reducer, initialArg, init); } finally { ReactSharedInternals.H = prevDispatcher; } }, useRef: function(initialValue) { currentHookNameInDev = "useRef"; warnInvalidHookAccess(); mountHookTypesDev(); return mountRef(initialValue); }, useState: function(initialState) { currentHookNameInDev = "useState"; warnInvalidHookAccess(); mountHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnMountInDEV; try { return mountState(initialState); } finally { ReactSharedInternals.H = prevDispatcher; } }, useDebugValue: function() { currentHookNameInDev = "useDebugValue"; warnInvalidHookAccess(); mountHookTypesDev(); }, useDeferredValue: function(value, initialValue) { currentHookNameInDev = "useDeferredValue"; warnInvalidHookAccess(); mountHookTypesDev(); return mountDeferredValue(value, initialValue); }, useTransition: function() { currentHookNameInDev = "useTransition"; warnInvalidHookAccess(); mountHookTypesDev(); return mountTransition(); }, useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { currentHookNameInDev = "useSyncExternalStore"; warnInvalidHookAccess(); mountHookTypesDev(); return mountSyncExternalStore( subscribe, getSnapshot, getServerSnapshot ); }, useId: function() { currentHookNameInDev = "useId"; warnInvalidHookAccess(); mountHookTypesDev(); return mountId(); }, useCacheRefresh: function() { currentHookNameInDev = "useCacheRefresh"; mountHookTypesDev(); return mountRefresh(); }, useMemoCache: function(size) { warnInvalidHookAccess(); return useMemoCache(size); } }; InvalidNestedHooksDispatcherOnMountInDEV.useHostTransitionStatus = useHostTransitionStatus; InvalidNestedHooksDispatcherOnMountInDEV.useFormState = function(action, initialState) { currentHookNameInDev = "useFormState"; warnInvalidHookAccess(); mountHookTypesDev(); return mountActionState(action, initialState); }; InvalidNestedHooksDispatcherOnMountInDEV.useActionState = function(action, initialState) { currentHookNameInDev = "useActionState"; warnInvalidHookAccess(); mountHookTypesDev(); return mountActionState(action, initialState); }; InvalidNestedHooksDispatcherOnMountInDEV.useOptimistic = function(passthrough) { currentHookNameInDev = "useOptimistic"; warnInvalidHookAccess(); mountHookTypesDev(); return mountOptimistic(passthrough); }; InvalidNestedHooksDispatcherOnUpdateInDEV = { readContext: function(context) { warnInvalidContextAccess(); return readContext(context); }, use: function(usable) { warnInvalidHookAccess(); return use(usable); }, useCallback: function(callback, deps) { currentHookNameInDev = "useCallback"; warnInvalidHookAccess(); updateHookTypesDev(); return updateCallback(callback, deps); }, useContext: function(context) { currentHookNameInDev = "useContext"; warnInvalidHookAccess(); updateHookTypesDev(); return readContext(context); }, useEffect: function(create, deps) { currentHookNameInDev = "useEffect"; warnInvalidHookAccess(); updateHookTypesDev(); updateEffectImpl(2048, Passive, create, deps); }, useImperativeHandle: function(ref, create, deps) { currentHookNameInDev = "useImperativeHandle"; warnInvalidHookAccess(); updateHookTypesDev(); return updateImperativeHandle(ref, create, deps); }, useInsertionEffect: function(create, deps) { currentHookNameInDev = "useInsertionEffect"; warnInvalidHookAccess(); updateHookTypesDev(); return updateEffectImpl(4, Insertion, create, deps); }, useLayoutEffect: function(create, deps) { currentHookNameInDev = "useLayoutEffect"; warnInvalidHookAccess(); updateHookTypesDev(); return updateEffectImpl(4, Layout, create, deps); }, useMemo: function(create, deps) { currentHookNameInDev = "useMemo"; warnInvalidHookAccess(); updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; try { return updateMemo(create, deps); } finally { ReactSharedInternals.H = prevDispatcher; } }, useReducer: function(reducer, initialArg, init) { currentHookNameInDev = "useReducer"; warnInvalidHookAccess(); updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; try { return updateReducer(reducer, initialArg, init); } finally { ReactSharedInternals.H = prevDispatcher; } }, useRef: function() { currentHookNameInDev = "useRef"; warnInvalidHookAccess(); updateHookTypesDev(); return updateWorkInProgressHook().memoizedState; }, useState: function() { currentHookNameInDev = "useState"; warnInvalidHookAccess(); updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; try { return updateReducer(basicStateReducer); } finally { ReactSharedInternals.H = prevDispatcher; } }, useDebugValue: function() { currentHookNameInDev = "useDebugValue"; warnInvalidHookAccess(); updateHookTypesDev(); }, useDeferredValue: function(value, initialValue) { currentHookNameInDev = "useDeferredValue"; warnInvalidHookAccess(); updateHookTypesDev(); return updateDeferredValue(value, initialValue); }, useTransition: function() { currentHookNameInDev = "useTransition"; warnInvalidHookAccess(); updateHookTypesDev(); return updateTransition(); }, useSyncExternalStore: function(subscribe, getSnapshot, getServerSnapshot) { currentHookNameInDev = "useSyncExternalStore"; warnInvalidHookAccess(); updateHookTypesDev(); return updateSyncExternalStore( subscribe, getSnapshot, getServerSnapshot ); }, useId: function() { currentHookNameInDev = "useId"; warnInvalidHookAccess(); updateHookTypesDev(); return updateWorkInProgressHook().memoizedState; }, useCacheRefresh: function() { currentHookNameInDev = "useCacheRefresh"; updateHookTypesDev(); return updateWorkInProgressHook().memoizedState; }, useMemoCache: function(size) { warnInvalidHookAccess(); return useMemoCache(size); } }; InvalidNestedHooksDispatcherOnUpdateInDEV.useHostTransitionStatus = useHostTransitionStatus; InvalidNestedHooksDispatcherOnUpdateInDEV.useFormState = function(action) { currentHookNameInDev = "useFormState"; warnInvalidHookAccess(); updateHookTypesDev(); return updateActionState(action); }; InvalidNestedHooksDispatcherOnUpdateInDEV.useActionState = function(action) { currentHookNameInDev = "useActionState"; warnInvalidHookAccess(); updateHookTypesDev(); return updateActionState(action); }; InvalidNestedHooksDispatcherOnUpdateInDEV.useOptimistic = function(passthrough, reducer) { currentHookNameInDev = "useOptimistic"; warnInvalidHookAccess(); updateHookTypesDev(); return updateOptimistic(passthrough, reducer); }; InvalidNestedHooksDispatcherOnRerenderInDEV = { readContext: function(context) { warnInvalidContextAccess(); return readContext(context); }, use: function(usable) { warnInvalidHookAccess(); return use(usable); }, useCallback: function(callback, deps) { currentHookNameInDev = "useCallback"; warnInvalidHookAccess(); updateHookTypesDev(); return updateCallback(callback, deps); }, useContext: function(context) { currentHookNameInDev = "useContext"; warnInvalidHookAccess(); updateHookTypesDev(); return readContext(context); }, useEffect: function(create, deps) { currentHookNameInDev = "useEffect"; warnInvalidHookAccess(); updateHookTypesDev(); updateEffectImpl(2048, Passive, create, deps); }, useImperativeHandle: function(ref, create, deps) { currentHookNameInDev = "useImperativeHandle"; warnInvalidHookAccess(); updateHookTypesDev(); return updateImperativeHandle(ref, create, deps); }, useInsertionEffect: function(create, deps) { currentHookNameInDev = "useInsertionEffect"; warnInvalidHookAccess(); updateHookTypesDev(); return updateEffectImpl(4, Insertion, create, deps); }, useLayoutEffect: function(create, deps) { currentHookNameInDev = "useLayoutEffect"; warnInvalidHookAccess(); updateHookTypesDev(); return updateEffectImpl(4, Layout, create, deps); }, useMemo: function(create, deps) { currentHookNameInDev = "useMemo"; warnInvalidHookAccess(); updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; try { return updateMemo(create, deps); } finally { ReactSharedInternals.H = prevDispatcher; } }, useReducer: function(reducer, initialArg, init) { currentHookNameInDev = "useReducer"; warnInvalidHookAccess(); updateHookTypesDev(); var prevDispatcher = ReactSharedInternals.H; ReactSharedInternals.H = InvalidNestedHooksDispatcherOnUpdateInDEV; try { return rerenderReducer(reducer, initialArg, init); } finally { ReactSharedInternals.H = prevDispatcher;