{"version":3,"file":"static/chunks/1389.3703992bcc4b0294.js","mappings":"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","sources":["webpack://_N_E/./node_modules/little-state-machine/dist/little-state-machine.es.js","webpack://_N_E/./node_modules/react-router/dist/index.js"],"sourcesContent":["import*as e from\"react\";var t=function(){var e={name:\"__LSM__\",middleWares:[],persist:\"action\"},t={};try{e.storageType=\"undefined\"!=typeof sessionStorage?window.sessionStorage:void 0}catch(e){}return{updateStore:function(n){try{t=e.storageType&&JSON.parse(e.storageType.getItem(e.name)||\"\")||n}catch(e){t=n}},saveStore:function(){e.storageType&&e.storageType.setItem(e.name,JSON.stringify(t))},get state(){return t},set state(e){t=e},get options(){return e},set options(t){e=t}}}(),n=e.createContext(void 0),o=function(o){var r=o.children,s=e.useState(t.state),a=s[0],i=s[1];return e.useEffect(function(){\"beforeUnload\"===t.options.persist&&(window.onbeforeunload=function(){return t.saveStore()},t.options.storageType&&t.options.storageType.removeItem(t.options.name))},[]),e.createElement(n.Provider,{value:{state:a,setState:i}},r)};function r(){return r=Object.assign||function(e){for(var t=1;t` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\n\nconst NavigationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n NavigationContext.displayName = \"Navigation\";\n}\nconst LocationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n LocationContext.displayName = \"Location\";\n}\nconst RouteContext = /*#__PURE__*/React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n RouteContext.displayName = \"Route\";\n}\nconst RouteErrorContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n RouteErrorContext.displayName = \"RouteError\";\n}\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/hooks/use-href\n */\nfunction useHref(to, _temp) {\n let {\n relative\n } = _temp === void 0 ? {} : _temp;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useHref() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let {\n basename,\n navigator\n } = React.useContext(NavigationContext);\n let {\n hash,\n pathname,\n search\n } = useResolvedPath(to, {\n relative\n });\n let joinedPathname = pathname;\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to creating the href. If this is a root navigation, then just use the raw\n // basename which allows the basename to have full control over the presence\n // of a trailing slash on root links\n if (basename !== \"/\") {\n joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n return navigator.createHref({\n pathname: joinedPathname,\n search,\n hash\n });\n}\n\n/**\n * Returns true if this component is a descendant of a ``.\n *\n * @see https://reactrouter.com/hooks/use-in-router-context\n */\nfunction useInRouterContext() {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/hooks/use-location\n */\nfunction useLocation() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useLocation() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/hooks/use-navigation-type\n */\nfunction useNavigationType() {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * ``.\n *\n * @see https://reactrouter.com/hooks/use-match\n */\nfunction useMatch(pattern) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useMatch() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let {\n pathname\n } = useLocation();\n return React.useMemo(() => matchPath(pattern, UNSAFE_decodePath(pathname)), [pathname, pattern]);\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\nconst navigateEffectWarning = \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\";\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(cb) {\n let isStatic = React.useContext(NavigationContext).static;\n if (!isStatic) {\n // We should be able to get rid of this once react 18.3 is released\n // See: https://github.com/facebook/react/pull/26395\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useLayoutEffect(cb);\n }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by ``s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/hooks/use-navigate\n */\nfunction useNavigate() {\n let {\n isDataRoute\n } = React.useContext(RouteContext);\n // Conditional usage is OK here because the usage of a data router is static\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useNavigate() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let dataRouterContext = React.useContext(DataRouterContext);\n let {\n basename,\n future,\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our history listener yet\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\");\n\n // If we're operating within a basename, prepend it to the pathname prior\n // to handing off to history (but only if we're not in a data router,\n // otherwise it'll prepend the basename inside of the router).\n // If this is a root navigation, then we navigate to the raw basename\n // which allows the basename to have full control over the presence of a\n // trailing slash on root links\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n (!!options.replace ? navigator.replace : navigator.push)(path, options.state, options);\n }, [basename, navigator, routePathnamesJson, locationPathname, dataRouterContext]);\n return navigate;\n}\nconst OutletContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/hooks/use-outlet-context\n */\nfunction useOutletContext() {\n return React.useContext(OutletContext);\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `` to render child routes.\n *\n * @see https://reactrouter.com/hooks/use-outlet\n */\nfunction useOutlet(context) {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return /*#__PURE__*/React.createElement(OutletContext.Provider, {\n value: context\n }, outlet);\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/hooks/use-params\n */\nfunction useParams() {\n let {\n matches\n } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/hooks/use-resolved-path\n */\nfunction useResolvedPath(to, _temp2) {\n let {\n relative\n } = _temp2 === void 0 ? {} : _temp2;\n let {\n future\n } = React.useContext(NavigationContext);\n let {\n matches\n } = React.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n return React.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [to, routePathnamesJson, locationPathname, relative]);\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/hooks/use-routes\n */\nfunction useRoutes(routes, locationArg) {\n return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nfunction useRoutesImpl(routes, locationArg, dataRouterState, future) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useRoutes() may be used only in the context of a component.\") : UNSAFE_invariant(false) : void 0;\n let {\n navigator\n } = React.useContext(NavigationContext);\n let {\n matches: parentMatches\n } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n if (process.env.NODE_ENV !== \"production\") {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under ) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent to .\"));\n }\n let locationFromContext = useLocation();\n let location;\n if (locationArg) {\n var _parsedLocationArg$pa;\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"When overriding the location using `` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : UNSAFE_invariant(false) : void 0;\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n let pathname = location.pathname || \"/\";\n let remainingPathname = pathname;\n if (parentPathnameBase !== \"/\") {\n // Determine the remaining pathname by removing the # of URL segments the\n // parentPathnameBase has, instead of removing based on character count.\n // This is because we can't guarantee that incoming/outgoing encodings/\n // decodings will match exactly.\n // We decode paths before matching on a per-segment basis with\n // decodeURIComponent(), but we re-encode pathnames via `new URL()` so they\n // match what `window.location.pathname` would reflect. Those don't 100%\n // align when it comes to encoded URI characters such as % and &.\n //\n // So we may end up with:\n // pathname: \"/descendant/a%25b/match\"\n // parentPathnameBase: \"/descendant/a%b\"\n //\n // And the direct substring removal approach won't work :/\n let parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n let segments = pathname.replace(/^\\//, \"\").split(\"/\");\n remainingPathname = \"/\" + segments.slice(parentSegments.length).join(\"/\");\n }\n let matches = matchRoutes(routes, {\n pathname: remainingPathname\n });\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(matches == null || matches[matches.length - 1].route.element !== undefined || matches[matches.length - 1].route.Component !== undefined || matches[matches.length - 1].route.lazy !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \" + \"does not have an element or Component. This means it will render an with a \" + \"null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n }\n let renderedMatches = _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation ? navigator.encodeLocation(match.pathname).pathname : match.pathname]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator.encodeLocation ? navigator.encodeLocation(match.pathnameBase).pathname : match.pathnameBase])\n })), parentMatches, dataRouterState, future);\n\n // When a user passes in a `locationArg`, the associated routes need to\n // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n // to use the scoped location instead of the global location.\n if (locationArg && renderedMatches) {\n return /*#__PURE__*/React.createElement(LocationContext.Provider, {\n value: {\n location: _extends({\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\"\n }, location),\n navigationType: Action.Pop\n }\n }, renderedMatches);\n }\n return renderedMatches;\n}\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error) ? error.status + \" \" + error.statusText : error instanceof Error ? error.message : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = {\n padding: \"0.5rem\",\n backgroundColor: lightgrey\n };\n let codeStyles = {\n padding: \"2px 4px\",\n backgroundColor: lightgrey\n };\n let devInfo = null;\n if (process.env.NODE_ENV !== \"production\") {\n console.error(\"Error handled by React Router default ErrorBoundary:\", error);\n devInfo = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", null, \"\\uD83D\\uDCBF Hey developer \\uD83D\\uDC4B\"), /*#__PURE__*/React.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own \", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"ErrorBoundary\"), \" or\", \" \", /*#__PURE__*/React.createElement(\"code\", {\n style: codeStyles\n }, \"errorElement\"), \" prop on your route.\"));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h2\", null, \"Unexpected Application Error!\"), /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n fontStyle: \"italic\"\n }\n }, message), stack ? /*#__PURE__*/React.createElement(\"pre\", {\n style: preStyles\n }, stack) : null, devInfo);\n}\nconst defaultErrorElement = /*#__PURE__*/React.createElement(DefaultErrorComponent, null);\nclass RenderErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error: error\n };\n }\n static getDerivedStateFromProps(props, state) {\n // When we get into an error state, the user will likely click \"back\" to the\n // previous page that didn't have an error. Because this wraps the entire\n // application, that will have no effect--the error page continues to display.\n // This gives us a mechanism to recover from the error when the location changes.\n //\n // Whether we're in an error state or not, we update the location in state\n // so that when we are in an error state, it gets reset when a new location\n // comes in and the user recovers from the error.\n if (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation\n };\n }\n\n // If we're not changing locations, preserve the location but still surface\n // any new errors that may come through. We retain the existing error, we do\n // this because the error provided from the app state may be cleared without\n // the location changing.\n return {\n error: props.error !== undefined ? props.error : state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\"React Router caught the following error during render\", error, errorInfo);\n }\n render() {\n return this.state.error !== undefined ? /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: this.props.routeContext\n }, /*#__PURE__*/React.createElement(RouteErrorContext.Provider, {\n value: this.state.error,\n children: this.props.component\n })) : this.props.children;\n }\n}\nfunction RenderedRoute(_ref) {\n let {\n routeContext,\n match,\n children\n } = _ref;\n let dataRouterContext = React.useContext(DataRouterContext);\n\n // Track how deep we got in our render pass to emulate SSR componentDidCatch\n // in a DataStaticRouter\n if (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n return /*#__PURE__*/React.createElement(RouteContext.Provider, {\n value: routeContext\n }, children);\n}\nfunction _renderMatches(matches, parentMatches, dataRouterState, future) {\n var _dataRouterState;\n if (parentMatches === void 0) {\n parentMatches = [];\n }\n if (dataRouterState === void 0) {\n dataRouterState = null;\n }\n if (future === void 0) {\n future = null;\n }\n if (matches == null) {\n var _future;\n if (!dataRouterState) {\n return null;\n }\n if (dataRouterState.errors) {\n // Don't bail if we have data router errors so we can render them in the\n // boundary. Use the pre-matched (or shimmed) matches\n matches = dataRouterState.matches;\n } else if ((_future = future) != null && _future.v7_partialHydration && parentMatches.length === 0 && !dataRouterState.initialized && dataRouterState.matches.length > 0) {\n // Don't bail if we're initializing with partial hydration and we have\n // router matches. That means we're actively running `patchRoutesOnNavigation`\n // so we should render down the partial matches to the appropriate\n // `HydrateFallback`. We only do this if `parentMatches` is empty so it\n // only impacts the root matches for `RouterProvider` and no descendant\n // ``\n matches = dataRouterState.matches;\n } else {\n return null;\n }\n }\n let renderedMatches = matches;\n\n // If we have data errors, trim matches to the highest error boundary\n let errors = (_dataRouterState = dataRouterState) == null ? void 0 : _dataRouterState.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(m => m.route.id && (errors == null ? void 0 : errors[m.route.id]) !== undefined);\n !(errorIndex >= 0) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"Could not find a matching route for errors on route IDs: \" + Object.keys(errors).join(\",\")) : UNSAFE_invariant(false) : void 0;\n renderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n }\n\n // If we're in a partial hydration mode, detect if we need to render down to\n // a given HydrateFallback while we load the rest of the hydration data\n let renderFallback = false;\n let fallbackIndex = -1;\n if (dataRouterState && future && future.v7_partialHydration) {\n for (let i = 0; i < renderedMatches.length; i++) {\n let match = renderedMatches[i];\n // Track the deepest fallback up until the first route without data\n if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n fallbackIndex = i;\n }\n if (match.route.id) {\n let {\n loaderData,\n errors\n } = dataRouterState;\n let needsToRunLoader = match.route.loader && loaderData[match.route.id] === undefined && (!errors || errors[match.route.id] === undefined);\n if (match.route.lazy || needsToRunLoader) {\n // We found the first route that's not ready to render (waiting on\n // lazy, or has a loader that hasn't run yet). Flag that we need to\n // render a fallback and render up until the appropriate fallback\n renderFallback = true;\n if (fallbackIndex >= 0) {\n renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n } else {\n renderedMatches = [renderedMatches[0]];\n }\n break;\n }\n }\n }\n }\n return renderedMatches.reduceRight((outlet, match, index) => {\n // Only data routers handle errors/fallbacks\n let error;\n let shouldRenderHydrateFallback = false;\n let errorElement = null;\n let hydrateFallbackElement = null;\n if (dataRouterState) {\n error = errors && match.route.id ? errors[match.route.id] : undefined;\n errorElement = match.route.errorElement || defaultErrorElement;\n if (renderFallback) {\n if (fallbackIndex < 0 && index === 0) {\n warningOnce(\"route-fallback\", false, \"No `HydrateFallback` element provided to render during initial hydration\");\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = null;\n } else if (fallbackIndex === index) {\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n }\n }\n }\n let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children;\n if (error) {\n children = errorElement;\n } else if (shouldRenderHydrateFallback) {\n children = hydrateFallbackElement;\n } else if (match.route.Component) {\n // Note: This is a de-optimized path since React won't re-use the\n // ReactElement since it's identity changes with each new\n // React.createElement call. We keep this so folks can use\n // `` in `` but generally `Component`\n // usage is only advised in `RouterProvider` when we can convert it to\n // `element` ahead of time.\n children = /*#__PURE__*/React.createElement(match.route.Component, null);\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return /*#__PURE__*/React.createElement(RenderedRoute, {\n match: match,\n routeContext: {\n outlet,\n matches,\n isDataRoute: dataRouterState != null\n },\n children: children\n });\n };\n // Only wrap in an error boundary within data router usages when we have an\n // ErrorBoundary/errorElement on this route. Otherwise let it bubble up to\n // an ancestor ErrorBoundary/errorElement\n return dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /*#__PURE__*/React.createElement(RenderErrorBoundary, {\n location: dataRouterState.location,\n revalidation: dataRouterState.revalidation,\n component: errorElement,\n error: error,\n children: getChildren(),\n routeContext: {\n outlet: null,\n matches,\n isDataRoute: true\n }\n }) : getChildren();\n }, null);\n}\nvar DataRouterHook = /*#__PURE__*/function (DataRouterHook) {\n DataRouterHook[\"UseBlocker\"] = \"useBlocker\";\n DataRouterHook[\"UseRevalidator\"] = \"useRevalidator\";\n DataRouterHook[\"UseNavigateStable\"] = \"useNavigate\";\n return DataRouterHook;\n}(DataRouterHook || {});\nvar DataRouterStateHook = /*#__PURE__*/function (DataRouterStateHook) {\n DataRouterStateHook[\"UseBlocker\"] = \"useBlocker\";\n DataRouterStateHook[\"UseLoaderData\"] = \"useLoaderData\";\n DataRouterStateHook[\"UseActionData\"] = \"useActionData\";\n DataRouterStateHook[\"UseRouteError\"] = \"useRouteError\";\n DataRouterStateHook[\"UseNavigation\"] = \"useNavigation\";\n DataRouterStateHook[\"UseRouteLoaderData\"] = \"useRouteLoaderData\";\n DataRouterStateHook[\"UseMatches\"] = \"useMatches\";\n DataRouterStateHook[\"UseRevalidator\"] = \"useRevalidator\";\n DataRouterStateHook[\"UseNavigateStable\"] = \"useNavigate\";\n DataRouterStateHook[\"UseRouteId\"] = \"useRouteId\";\n return DataRouterStateHook;\n}(DataRouterStateHook || {});\nfunction getDataRouterConsoleError(hookName) {\n return hookName + \" must be used within a data router. See https://reactrouter.com/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React.useContext(DataRouterContext);\n !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React.useContext(DataRouterStateContext);\n !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return state;\n}\nfunction useRouteContext(hookName) {\n let route = React.useContext(RouteContext);\n !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, hookName + \" can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nfunction useRouteId() {\n return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nfunction useNavigation() {\n let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nfunction useRevalidator() {\n let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n return React.useMemo(() => ({\n revalidate: dataRouterContext.router.revalidate,\n state: state.revalidation\n }), [dataRouterContext.router.revalidate, state.revalidation]);\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nfunction useMatches() {\n let {\n matches,\n loaderData\n } = useDataRouterState(DataRouterStateHook.UseMatches);\n return React.useMemo(() => matches.map(m => UNSAFE_convertRouteMatchToUiMatch(m, loaderData)), [matches, loaderData]);\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nfunction useLoaderData() {\n let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n if (state.errors && state.errors[routeId] != null) {\n console.error(\"You cannot `useLoaderData` in an errorElement (routeId: \" + routeId + \")\");\n return undefined;\n }\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nfunction useRouteLoaderData(routeId) {\n let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nfunction useActionData() {\n let state = useDataRouterState(DataRouterStateHook.UseActionData);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n return state.actionData ? state.actionData[routeId] : undefined;\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error. This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nfunction useRouteError() {\n var _state$errors;\n let error = React.useContext(RouteErrorContext);\n let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n // If this was a render error, we put it in a RouteError context inside\n // of RenderErrorBoundary\n if (error !== undefined) {\n return error;\n }\n\n // Otherwise look for errors from our data router state\n return (_state$errors = state.errors) == null ? void 0 : _state$errors[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `` value\n */\nfunction useAsyncValue() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `` value\n */\nfunction useAsyncError() {\n let value = React.useContext(AwaitContext);\n return value == null ? void 0 : value._error;\n}\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation. Mostly used to avoid\n * using half-filled form data. This does not handle hard-reloads or\n * cross-origin navigations.\n */\nfunction useBlocker(shouldBlock) {\n let {\n router,\n basename\n } = useDataRouterContext(DataRouterHook.UseBlocker);\n let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n let [blockerKey, setBlockerKey] = React.useState(\"\");\n let blockerFunction = React.useCallback(arg => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n\n // If they provided us a function and we've got an active basename, strip\n // it from the locations we expose to the user to match the behavior of\n // useLocation\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = arg;\n return shouldBlock({\n currentLocation: _extends({}, currentLocation, {\n pathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n }),\n nextLocation: _extends({}, nextLocation, {\n pathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n }),\n historyAction\n });\n }, [basename, shouldBlock]);\n\n // This effect is in charge of blocker key assignment and deletion (which is\n // tightly coupled to the key)\n React.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n\n // This effect handles assigning the blockerFunction. This is to handle\n // unstable blocker function identities, and happens only after the prior\n // effect so we don't get an orphaned blockerFunction in the router with a\n // key of \"\". Until then we just have the IDLE_BLOCKER.\n React.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n\n // Prefer the blocker from `state` not `router.state` since DataRouterContext\n // is memoized so this ensures we update on blocker state updates\n return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable() {\n let {\n router\n } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n let activeRef = React.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React.useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n // Short circuit here since if this happens on first render the navigate\n // is useless because we haven't wired up our router subscriber yet\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n router.navigate(to, _extends({\n fromRouteId: id\n }, options));\n }\n }, [router, id]);\n return navigate;\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, message) : void 0;\n }\n}\n\n/**\n Webpack + React 17 fails to compile on any of the following because webpack\n complains that `startTransition` doesn't exist in `React`:\n * import { startTransition } from \"react\"\n * import * as React from from \"react\";\n \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n * import * as React from from \"react\";\n \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n Moving it to a constant such as the following solves the Webpack/React 17 issue:\n * import * as React from from \"react\";\n const START_TRANSITION = \"startTransition\";\n START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n However, that introduces webpack/terser minification issues in production builds\n in React 18 where minification/obfuscation ends up removing the call of\n React.startTransition entirely from the first half of the ternary. Grabbing\n this exported reference once up front resolves that issue.\n\n See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n let {\n fallbackElement,\n router,\n future\n } = _ref;\n let [state, setStateImpl] = React.useState(router.state);\n let {\n v7_startTransition\n } = future || {};\n let setState = React.useCallback(newState => {\n if (v7_startTransition && startTransitionImpl) {\n startTransitionImpl(() => setStateImpl(newState));\n } else {\n setStateImpl(newState);\n }\n }, [setStateImpl, v7_startTransition]);\n\n // Need to use a layout effect here so we are subscribed early enough to\n // pick up on any render-driven redirects/navigations (useEffect/)\n React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n React.useEffect(() => {\n process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(fallbackElement == null || !router.future.v7_partialHydration, \"`` is deprecated when using \" + \"`v7_partialHydration`, use a `HydrateFallback` component instead\") : void 0;\n // Only log this once on initial mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n let navigator = React.useMemo(() => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: n => router.navigate(n),\n push: (to, state, opts) => router.navigate(to, {\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n }),\n replace: (to, state, opts) => router.navigate(to, {\n replace: true,\n state,\n preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n let dataRouterContext = React.useMemo(() => ({\n router,\n navigator,\n static: false,\n basename\n }), [router, navigator, basename]);\n\n // The fragment and {null} here are important! We need them to keep React 18's\n // useId happy when we are server-rendering since we may have a