PageSourceSearch

https://adcreator.ai/assets/chunk-EPOLDU6W-B6BK35Gh.js

js adcreator.ai collected 2026-10-05 14:31:18 UTC 143,804 bytes, 43 lines download raw bytes

1function Ka(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const a in n)if(a!=="default"&&!(a in e)){const o=Object.getOwnPropertyDescriptor(n,a);o&&Object.defineProperty(e,a,o.get?o:{enumerable:!0,get:()=>n[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var cs=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ja(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var br={exports:{}},Tt={},Sr={exports:{}},Mt={exports:{}};Mt.exports;var cn;function Xa(){return cn||(cn=1,(function(e,t){(function(){function r(s,y){Object.defineProperty(o.prototype,s,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",y[0],y[1])}})}function n(s){return s===null||typeof s!="object"?null:(s=we&&s[we]||s["@@iterator"],typeof s=="function"?s:null)}function a(s,y){s=(s=s.constructor)&&(s.displayName||s.name)||"ReactClass";var P=s+"."+y;Ke[P]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",y,s),Ke[P]=!0)}function o(s,y,P){this.props=s,this.context=y,this.refs=Ue,this.updater=P||Rt}function i(){}function l(s,y,P){this.props=s,this.context=y,this.refs=Ue,this.updater=P||Rt}function u(){}function c(s){return""+s}function m(s){try{c(s);var y=!1}catch{y=!0}if(y){y=console;var P=y.error,D=typeof Symbol=="function"&&Symbol.toStringTag&&s[Symbol.toStringTag]||s.constructor.name||"Object";return P.call(y,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",D),c(s)}}function d(s){if(s==null)return null;if(typeof s=="function")return s.$$typeof===Yt?null:s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case S:return"Fragment";case te:return"Profiler";case U:return"StrictMode";case de:return"Suspense";case Te:return"SuspenseList";case Ht:return"Activity"}if(typeof s=="object")switch(typeof s.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),s.$$typeof){case ve:return"Portal";case ye:return s.displayName||"Context";case ae:return(s._context.displayName||"Context")+".Consumer";case Pe:var y=s.render;return s=s.displayName,s||(s=y.displayName||y.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case Ve:return y=s.displayName||null,y!==null?y:d(s.type)||"Memo";case Ge:y=s._payload,s=s._init;try{return d(s(y))}catch{}}return null}function p(s){if(s===S)return"<>";if(typeof s=="object"&&s!==null&&s.$$typeof===Ge)return"<...>";try{var y=d(s);return y?"<"+y+">":"<...>"}catch{return"<...>"}}function g(){var s=J.A;return s===null?null:s.getOwner()}function _(){return Error("react-stack-top-frame")}function C(s){if(dt.call(s,"key")){var y=Object.getOwnPropertyDescriptor(s,"key").get;if(y&&y.isReactWarning)return!1}return s.key!==void 0}function R(s,y){function P(){Gt||(Gt=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",y))}P.isReactWarning=!0,Object.defineProperty(s,"key",{get:P,configurable:!0})}function L(){var s=d(this.type);return qe[s]||(qe[s]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),s=this.props.ref,s!==void 0?s:null}function b(s,y,P,D,I,Q){var G=P.ref;return s={$$typeof:fe,type:s,key:y,props:P,_owner:D},(G!==void 0?G:null)!==null?Object.defineProperty(s,"ref",{enumerable:!1,get:L}):Object.defineProperty(s,"ref",{enumerable:!1,value:null}),s._store={},Object.defineProperty(s._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(s,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(s,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:
vendor: 18,863 bytes, lines 1-13
1I}),Object.defineProperty(s,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Q}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s}function M(s,y){return y=b(s.type,y,s.props,s._owner,s._debugStack,s._debugTask),s._store&&(y._store.validated=s._store.validated),y}function k(s){x(s)?s._store&&(s._store.validated=1):typeof s=="object"&&s!==null&&s.$$typeof===Ge&&(s._payload.status==="fulfilled"?x(s._payload.value)&&s._payload.value._store&&(s._payload.value._store.validated=1):s._store&&(s._store.validated=1))}function x(s){return typeof s=="object"&&s!==null&&s.$$typeof===fe}function N(s){var y={"=":"=0",":":"=2"};return"$"+s.replace(/[=:]/g,function(P){return y[P]})}function w(s,y){return typeof s=="object"&&s!==null&&s.key!=null?(m(s.key),N(""+s.key)):y.toString(36)}function A(s){switch(s.status){case"fulfilled":return s.value;case"rejected":throw s.reason;default:switch(typeof s.status=="string"?s.then(u,u):(s.status="pending",s.then(function(y){s.status==="pending"&&(s.status="fulfilled",s.value=y)},function(y){s.status==="pending"&&(s.status="rejected",s.reason=y)})),s.status){case"fulfilled":return s.value;case"rejected":throw s.reason}}throw s}function W(s,y,P,D,I){var Q=typeof s;(Q==="undefined"||Q==="boolean")&&(s=null);var G=!1;if(s===null)G=!0;else switch(Q){case"bigint":case"string":case"number":G=!0;break;case"object":switch(s.$$typeof){case fe:case ve:G=!0;break;case Ge:return G=s._init,W(G(s._payload),y,P,D,I)}}if(G){G=s,I=I(G);var se=D===""?"."+w(G,0):D;return Wt(I)?(P="",se!=null&&(P=se.replace(Ne,"$&/")+"/"),W(I,y,P,"",function(Me){return Me})):I!=null&&(x(I)&&(I.key!=null&&(G&&G.key===I.key||m(I.key)),P=M(I,P+(I.key==null||G&&G.key===I.key?"":(""+I.key).replace(Ne,"$&/")+"/")+se),D!==""&&G!=null&&x(G)&&G.key==null&&G._store&&!G._store.validated&&(P._store.validated=2),I=P),y.push(I)),1}if(G=0,se=D===""?".":D+":",Wt(s))for(var X=0;X<s.length;X++)D=s[X],Q=se+w(D,X),G+=W(D,y,P,Q,I);else if(X=n(s),typeof X=="function")for(X===s.entries&&(Ae||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),Ae=!0),s=X.call(s),X=0;!(D=s.next()).done;)D=D.value,Q=se+w(D,X++),G+=W(D,y,P,Q,I);else if(Q==="object"){if(typeof s.then=="function")return W(A(s),y,P,D,I);throw y=String(s),Error("Objects are not valid as a React child (found: "+(y==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":y)+"). If you meant to render a collection of children, use an array instead.")}return G}function Z(s,y,P){if(s==null)return s;var D=[],I=0;return W(s,D,"","",function(Q){return y.call(P,Q,I++)}),D}function ee(s){if(s._status===-1){var y=s._ioInfo;y!=null&&(y.start=y.end=performance.now()),y=s._result;var P=y();if(P.then(function(I){if(s._status===0||s._status===-1){s._status=1,s._result=I;var Q=s._ioInfo;Q!=null&&(Q.end=performance.now()),P.status===void 0&&(P.status="fulfilled",P.value=I)}},function(I){if(s._status===0||s._status===-1){s._status=2,s._result=I;var Q=s._ioInfo;Q!=null&&(Q.end=performance.now()),P.status===void 0&&(P.status="rejected",P.reason=I)}}),y=s._ioInfo,y!=null){y.value=P;var D=P.displayName;typeof D=="string"&&(y.name=D)}s._status===-1&&(s._status=0,s._result=P)}if(s._status===1)return y=s._result,y===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
2
3Your code should look like: 
4  const MyComponent = lazy(() => import('./MyComponent'))
5
6Did you accidentally put curly braces around the import?`,y),"default"in y||console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
7
8Your code should look like: 
9  const MyComponent = lazy(() => import('./MyComponent'))`,y),y.default;throw s._result}function Y(){var s=J.H;return s===null&&console.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:
101. You might have mismatching versions of React and the renderer (such as React DOM)
112. You might be breaking the Rules of Hooks
123. You might have more than one copy of React in the same app
13See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),s}function pe(){J.asyncTransitions--}function ue(s){if(Qe===null)try{var y=("require"+Math.random()).slice(0,7);Qe=(e&&e[y]).call(e,"timers").setImmediate}catch{Qe=function(D){Jt===!1&&(Jt=!0,typeof MessageChannel>"u"&&console.error("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var I=new MessageChannel;I.port1.onmessage=D,I.port2.postMessage(void 0)}}return Qe(s)}function q(s){return 1<s.length&&typeof AggregateError=="function"?new AggregateError(s):s[0]}function re(s,y){y!==ft-1&&console.error("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),ft=y}function ge(s,y,P){var D=J.actQueue;if(D!==null)if(D.length!==0)try{ne(D),ue(function(){return ge(s,y,P)});return}catch(I){J.thrownErrors.push(I)}else J.actQueue=null;0<J.thrownErrors.length?(D=q(J.thrownErrors),J.thrownErrors.length=0,P(D)):y(s)}function ne(s){if(!ht){ht=!0;var y=0;try{for(;y<s.length;y++){var P=s[y];do{J.didUsePromise=!1;var D=P(!1);if(D!==null){if(J.didUsePromise){s[y]=P,s.splice(0,y);return}P=D}else break}while(!0)}s.length=0}catch(I){s.splice(0,y+1),J.thrownErrors.push(I)}finally{ht=!1}}}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var fe=Symbol.for("react.transitional.element"),ve=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),U=Symbol.for("react.strict_mode"),te=Symbol.for("react.profiler"),ae=Symbol.for("react.consumer"),ye=Symbol.for("react.context"),Pe=Symbol.for("react.forward_ref"),de=Symbol.for("react.suspense"),Te=Symbol.for("react.suspense_list"),Ve=Symbol.for("react.memo"),Ge=Symbol.for("react.lazy"),Ht=Symbol.for("react.activity"),we=Symbol.iterator,Ke={},Rt={isMounted:function(){return!1},enqueueForceUpdate:function(s){a(s,"forceUpdate")},enqueueReplaceState:function(s){a(s,"replaceState")},enqueueSetState:function(s){a(s,"setState")}},Bt=Object.assign,Ue={};Object.freeze(Ue),o.prototype.isReactComponent={},o.prototype.setState=function(s,y){if(typeof s!="object"&&typeof s!="function"&&s!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,s,y,"setState")},o.prototype.forceUpdate=function(s){this.updater.enqueueForceUpdate(this,s,"forceUpdate")};var Le={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]};for(Ze in Le)Le.hasOwnProperty(Ze)&&r(Ze,Le[Ze]);i.prototype=o.prototype,Le=l.prototype=new i,Le.constructor=l,Bt(Le,o.prototype),Le.isPureReactComponent=!0;var Wt=Array.isArray,Yt=Symbol.for("react.client.reference"),J={H:null,A:null,T:null,S:null,actQueue:null,asyncTransitions:0,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1,didUsePromise:!1,thrownErrors:[],getCurrentStack:null,recentlyCreatedOwnerStacks:0},dt=Object.prototype.hasOwnProperty,Vt=console.createTask?console.createTask:function(){return null};Le={react_stack_bottom_frame:function(s){return s()}};var Gt,He,qe={},Kt=Le.react_stack_bottom_frame.bind(Le,_)(),bt=Vt(p(_)),Ae=!1,Ne=/\/+/g,St=typeof reportError=="function"?reportError:function(s){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var y=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof s=="object"&&s!==null&&typeof s.message=="string"?String(s.message):String(s),error:s});if(!window.dispatchEvent(y))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",s);return}console.error(s)},Jt=!1,Qe=null,ft=0,Oe=!1,ht=!1,_t=typeof queueMicrotask=="function"?function(s){queueMicrotask(function(){return queueMicrotask(s)})}:ue;Le=Object.freeze({__proto__:null,c:function(s){return Y().useMemoCache(s)}});var Ze={map:Z,forEach:function(s,y,P){Z(s,function(){y.apply(this,arguments)},P)},count:function(s){var y=0;return Z(s,function(){y++}),y},toArray:function(s){return Z(s,function(y){return y})||[]},only:function(s){if(!x(s))throw Error("React.Children.only expected to receive a single React element child.");return s}};t.Activity=Ht,t.Children=Ze,t.Component=o,t.Fragment=S,t.Profiler=te,t.PureComponent=l,t.StrictMode=U,t.Suspense=de,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=J,t.__COMPILER_RUNTIME=Le,t.act=function(s){var y=J.actQueue,P=ft;ft++;var D=J.actQueue=y!==null?y:[],I=!1;try{var Q=s()}catch(X){J.thrownErrors.push(X)}if(0<J.thrownErrors.length)throw re(y,P),s=q(J.thrownErrors),J.thrownErrors.length=0,s;if(Q!==null&&typeof Q=="object"&&typeof Q.then=="function"){var G=Q;return _t(function(){I||Oe||(Oe=!0,console.error("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),{then:function(X,Me){I=!0,G.then(function($e){if(re(y,P),P===0){try{ne(D),ue(function(){return ge($e,X,Me)})}catch(Er){J.thrownErrors.push(Er)}if(0<J.thrownErrors.length){var Xt=q(J.thrownErrors);J.thrownErrors.length=0,Me(Xt)}}else X($e)},function($e){re(y,P),0<J.thrownErrors.length&&($e=q(J.thrownErrors),J.thrownErrors.length=0),Me($e)})}}}var se=Q;if(re(y,P),P===0&&(ne(D),D.length!==0&&_t(function(){I||Oe||(Oe=!0,console.error("A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"))}),J.actQueue=null),0<J.thrownErrors.length)throw s=q(J.thrownErrors),J.thrownErrors.length=0,s;return{then:function(X,Me){I=!0,P===0?(J.actQueue=D,ue(function(){return ge(se,X,Me)})):X(se)}}},t.cache=function(s){return function(){return s.apply(null,arguments)}},t.cacheSignal=function(){return null},t.captureOwnerStack=function(){var s=J.getCurrentStack;return s===null?null:s()},t.cloneElement=function(s,y,P){if(s==null)throw Error("The argument must be a React element, but you passed "+s+".");var D=Bt({},s.props),I=s.key,Q=s._owner;if(y!=null){var G;e:{if(dt.call(y,"ref")&&(G=Object.getOwnPropertyDescriptor(y,"ref").get)&&G.isReactWarning){G=!1;break e}G=y.ref!==void 0}G&&(Q=g()),C(y)&&(m(y.key),I=""+y.key);for(se in y)!dt.call(y,se)||se==="key"||se==="__self"||se==="__source"||se==="ref"&&y.ref===void 0||(D[se]=y[se])}var se=arguments.length-2;if(se===1)D.children=P;else if(1<se){G=Array(se);for(var X=0;X<se;X++)G[X]=arguments[X+2];D.children=G}for(D=b(s.type,I,D,Q,s._debugStack,s._debugTask),I=2;I<arguments.length;I++)k(arguments[I]);return D},t.createContext=function(s){return s={$$typeof:ye,_currentValue:s,_currentValue2:s,_threadCount:0,Provider:null,Consumer:null},s.Provider=s,s.Consumer={$$typeof:ae,_context:s},s._currentRenderer=null,s._currentRenderer2=null,s},t.createElement=function(s,y,P){for(var D=2;D<arguments.length;D++)k(arguments[D]);D={};var I=null;if(y!=null)for(X in He||!("__self"in y)||"key"in y||(He=!0,console.warn("Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform")),C(y)&&(m(y.key),I=""+y.key),y)dt.call(y,X)&&X!=="key"&&X!=="__self"&&X!=="__source"&&(D[X]=y[X]);var Q=arguments.length-2;if(Q===1)D.children=P;else if(1<Q){for(var G=Array(Q),se=0;se<Q;se++)G[se]=arguments[se+2];Object.freeze&&Object.freeze(G),D.children=G}if(s&&s.defaultProps)for(X in Q=s.defaultProps,Q)D[X]===void 0&&(D[X]=Q[X]);I&&R(D,typeof s=="function"?s.displayName||s.name||"Unknown":s);var X=1e4>J.recentlyCreatedOwnerStacks++;return b(s,I,D,g(),X?Error("react-stack-top-frame"):Kt,X?Vt(p(s)):bt)},t.createRef=function(){var s={current:null};return Object.seal(s),s},t.forwardRef=function(s){s!=null&&s.$$typeof===Ve?console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof s!="function"?console.error("forwardRef requires a render function but was given %s.",s===null?"null":typeof s):s.length!==0&&s.length!==2&&console.error("forwardRef render functions accept exactly two parameters: props and ref. %s",s.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),s!=null&&s.defaultProps!=null&&console.error("forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?");var y={$$typeof:Pe,render:s},P;return Object.defineProperty(y,"displayName",{enumerable:!1,configurable:!0,get:function(){return P},set:function(D){P=D,s.name||s.displayName||(Object.defineProperty(s,"name",{value:D}),s.displayName=D)}}),y},t.isValidElement=x,t.lazy=function(s){s={_status:-1,_result:s};var y={$$typeof:Ge,_payload:s,_init:ee},P={name:"lazy",start:-1,end:-1,value:null,owner:null,debugStack:Error("react-stack-top-frame"),debugTask:console.createTask?console.createTask("lazy()"):null};return s._ioInfo=P,y._debugInfo=[{awaited:P}],y},t.memo=function(s,y){s==null&&console.error("memo: The first argument must be a component. Instead received: %s",s===null?"null":typeof s),y={$$typeof:Ve,type:s,compare:y===void 0?null:y};var P;return Object.defineProperty(y,"displayName",{enumerable:!1,configurable:!0,get:function(){return P},set:function(D){P=D,s.name||s.displayName||(Object.defineProperty(s,"name",{value:D}),s.displayName=D)}}),y},t.startTransition=function(s){var y=J.T,P={};P._updatedFibers=new Set,J.T=P;try{var D=s(),I=J.S;I!==null&&I(P,D),typeof D=="object"&&D!==null&&typeof D.then=="function"&&(J.asyncTransitions++,D.then(pe,pe),D.then(u,St))}catch(Q){St(Q)}finally{y===null&&P._updatedFibers&&(s=P._updatedFibers.size,P._updatedFibers.clear(),10<s&&console.warn("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.")),y!==null&&P.types!==null&&(y.types!==null&&y.types!==P.types&&console.error("We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React."),y.types=P.types),J.T=y}},t.unstable_useCacheRefresh=function(){return Y().useCacheRefresh()},t.use=function(s){return Y().use(s)},t.useActionState=function(s,y,P){return Y().useActionState(s,y,P)},t.useCallback=function(s,y){return Y().useCallback(s,y)},t.useContext=function(s){var y=Y();return s.$$typeof===ae&&console.error("Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?"),y.useContext(s)},t.useDebugValue=function(s,y){return Y().useDebugValue(s,y)},t.useDeferredValue=function(s,y){return Y().useDeferredValue(s,y)},t.useEffect=function(s,y){return s==null&&console.warn("React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?"),Y().useEffect(s,y)},t.useEffectEvent=function(s){return Y().useEffectEvent(s)},t.useId=function(){return Y().useId()},t.useImperativeHandle=function(s,y,P){return Y().useImperativeHandle(s,y,P)},t.useInsertionEffect=function(s,y){return s==null&&console.warn("React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?"),Y().useInsertionEffect(s,y)},t.useLayoutEffect=function(s,y){return s==null&&console.warn("React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?"),Y().useLayoutEffect(s,y)},t.useMemo=function(s,y){return Y().useMemo(s,y)},t.useOptimistic=function(s,y){return Y().useOptimistic(s,y)},t.useReducer=function(s,y,P){return Y().useReducer(s,y,P)},t.useRef=function(s){return Y().useRef(s)},t.useState=function(s){return Y().useState(s)},t.useSyncExternalStore=function(s,y,P){return Y().useSyncExternalStore(s,y,P)},t.useTransition=function(){return Y().useTransition()},t.version="19.2.4",typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})(Mt,Mt.exports)),Mt.exports}var dn;function Wn(){return dn||(dn=1,Sr.exports=Xa()),Sr.exports}var fn;function qa(){if(fn)return Tt;fn=1;return(function(){function e(S){if(S==null)return null;if(typeof S=="function")return S.$$typeof===ee?null:S.displayName||S.name||null;if(typeof S=="string")return S;switch(S){case R:return"Fragment";case b:return"Profiler";case L:return"StrictMode";case N:return"Suspense";case w:return"SuspenseList";case Z:return"Activity"}if(typeof S=="object")switch(typeof S.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),S.$$typeof){case C:return"Portal";case k:return S.displayName||"Context";case M:return(S._context.displayName||"Context")+".Consumer";case x:var U=S.render;return S=S.displayName,S||(S=U.displayName||U.name||"",S=S!==""?"ForwardRef("+S+")":"ForwardRef"),S;case A:return U=S.displayName||null,U!==null?U:e(S.type)||"Memo";case W:U=S._payload,S=S._init;try{return e(S(U))}catch{}}return null}function t(S){return""+S}function r(S){try{t(S);var U=!1}catch{U=!0}if(U){U=console;var te=U.error,ae=typeof Symbol=="function"&&Symbol.toStringTag&&S[Symbol.toStringTag]||S.constructor.name||"Object";return te.call(U,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",ae),t(S)}}function n(S){if(S===R)return"<>";if(typeof S=="object"&&S!==null&&S.$$typeof===W)return"<...>";try{var U=e(S);return U?"<"+U+">":"<...>"}catch{return"<...>"}}function a(){var S=Y.A;return S===null?null:S.getOwner()}function o(){return Error("react-stack-top-frame")}function i(S){if(pe.call(S,"key")){var U=Object.getOwnPropertyDescriptor(S,"key").get;if(U&&U.isReactWarning)return!1}return S.key!==void 0}function l(S,U){function te(){re||(re=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",U))}te.isReactWarning=!0,Object.defineProperty(S,"key",{get:te,configurable:!0})}function u(){var S=e(this.type);
13return ge[S]||(ge[S]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),S=this.props.ref,S!==void 0?S:null}function c(S,U,te,ae,ye,Pe){var de=te.ref;return S={$$typeof:_,type:S,key:U,props:te,_owner:ae},(de!==void 0?de:null)!==null?Object.defineProperty(S,"ref",{enumerable:!1,get:u}):Object.defineProperty(S,"ref",{enumerable:!1,value:null}),S._store={},Object.defineProperty(S._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(S,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(S,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ye}),Object.defineProperty(S,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Pe}),Object.freeze&&(Object.freeze(S.props),Object.freeze(S)),S}function m(S,U,te,ae,ye,Pe){var de=U.children;if(de!==void 0)if(ae)if(ue(de)){for(ae=0;ae<de.length;ae++)d(de[ae]);Object.freeze&&Object.freeze(de)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else d(de);if(pe.call(U,"key")){de=e(S);var Te=Object.keys(U).filter(function(Ge){return Ge!=="key"});ae=0<Te.length?"{key: someKey, "+Te.join(": ..., ")+": ...}":"{key: someKey}",ve[de+ae]||(Te=0<Te.length?"{"+Te.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
14  let props = %s;
15  <%s {...props} />
16React keys must be passed directly to JSX without using spread:
17  let props = %s;
18  <%s key={someKey} {...props} />`,ae,de,Te,de),ve[de+ae]=!0)}if(de=null,te!==void 0&&(r(te),de=""+te),i(U)&&(r(U.key),de=""+U.key),"key"in U){te={};for(var Ve in U)Ve!=="key"&&(te[Ve]=U[Ve])}else te=U;return de&&l(te,typeof S=="function"?S.displayName||S.name||"Unknown":S),c(S,de,te,a(),ye,Pe)}function d(S){p(S)?S._store&&(S._store.validated=1):typeof S=="object"&&S!==null&&S.$$typeof===W&&(S._payload.status==="fulfilled"?p(S._payload.value)&&S._payload.value._store&&(S._payload.value._store.validated=1):S._store&&(S._store.validated=1))}function p(S){return typeof S=="object"&&S!==null&&S.$$typeof===_}var g=Wn(),_=Symbol.for("react.transitional.element"),C=Symbol.for("react.portal"),R=Symbol.for("react.fragment"),L=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),M=Symbol.for("react.consumer"),k=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),N=Symbol.for("react.suspense"),w=Symbol.for("react.suspense_list"),A=Symbol.for("react.memo"),W=Symbol.for("react.lazy"),Z=Symbol.for("react.activity"),ee=Symbol.for("react.client.reference"),Y=g.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,pe=Object.prototype.hasOwnProperty,ue=Array.isArray,q=console.createTask?console.createTask:function(){return null};g={react_stack_bottom_frame:function(S){return S()}};var re,ge={},ne=g.react_stack_bottom_frame.bind(g,o)(),fe=q(n(o)),ve={};Tt.Fragment=R,Tt.jsx=function(S,U,te){var ae=1e4>Y.recentlyCreatedOwnerStacks++;return m(S,U,te,!1,ae?Error("react-stack-top-frame"):ne,ae?q(n(S)):fe)},Tt.jsxs=function(S,U,te){var ae=1e4>Y.recentlyCreatedOwnerStacks++;return m(S,U,te,!0,ae?Error("react-stack-top-frame"):ne,ae?q(n(S)):fe)}})(),Tt}var hn;function Qa(){return hn||(hn=1,br.exports=qa()),br.exports}var ds=Qa(),f=Wn();const Za=Ja(f),eo=Ka({__proto__:null,default:Za},[f]);var Yn=e=>{throw TypeError(e)},to=(e,t,r)=>t.has(e)||Yn("Cannot "+r),_r=(e,t,r)=>(to(e,t,"read from private field"),r?r.call(e):t.get(e)),ro=(e,t,r)=>t.has(e)?Yn("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),mn="popstate";function fs(e={}){function t(n,a){let{pathname:o,search:i,hash:l}=n.location;return Nt("",{pathname:o,search:i,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function r(n,a){return typeof a=="string"?a:Ye(a)}return ao(t,r,null,e)}function K(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function he(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function no(){return Math.random().toString(36).substring(2,10)}function pn(e,t){return{usr:e.state,key:e.key,idx:t}}function Nt(e,t,r=null,n){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?nt(t):t,state:r,key:t&&t.key||n||no()}}function Ye({pathname:e="/",search:t="",hash:r=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),r&&r!=="#"&&(e+=r.charAt(0)==="#"?r:"#"+r),e}function nt(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substring(r),e=e.substring(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substring(n),e=e.substring(0,n)),e&&(t.pathname=e)}return t}function ao(e,t,r,n={}){let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,l="POP",u=null,c=m();c==null&&(c=0,i.replaceState({...i.state,idx:c},""));function m(){return(i.state||{idx:null}).idx}function d(){l="POP";let R=m(),L=R==null?null:R-c;c=R,u&&u({action:l,location:C.location,delta:L})}function p(R,L){l="PUSH";let b=Nt(C.location,R,L);c=m()+1;let M=pn(b,c),k=C.createHref(b);try{i.pushState(M,"",k)}
18catch(x){if(x instanceof DOMException&&x.name==="DataCloneError")throw x;a.location.assign(k)}o&&u&&u({action:l,location:C.location,delta:1})}function g(R,L){l="REPLACE";let b=Nt(C.location,R,L);c=m();let M=pn(b,c),k=C.createHref(b);i.replaceState(M,"",k),o&&u&&u({action:l,location:C.location,delta:0})}function _(R){return Vn(R)}let C={get action(){return l},get location(){return e(a,i)},listen(R){if(u)throw new Error("A history only accepts one active listener");return a.addEventListener(mn,d),u=R,()=>{a.removeEventListener(mn,d),u=null}},createHref(R){return t(a,R)},createURL:_,encodeLocation(R){let L=_(R);return{pathname:L.pathname,search:L.search,hash:L.hash}},push:p,replace:g,go(R){return i.go(R)}};return C}function Vn(e,t=!1){let r="http://localhost";typeof window<"u"&&(r=window.location.origin!=="null"?window.location.origin:window.location.href),K(r,"No window.location.(origin|href) available to create URL");let n=typeof e=="string"?e:Ye(e);return n=n.replace(/ $/,"%20"),!t&&n.startsWith("//")&&(n=r+n),new URL(n,r)}var Dt,yn=class{constructor(e){if(ro(this,Dt,new Map),e)for(let[t,r]of e)this.set(t,r)}get(e){if(_r(this,Dt).has(e))return _r(this,Dt).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw new Error("No value found for context")}set(e,t){_r(this,Dt).set(e,t)}};Dt=new WeakMap;var oo=new Set(["lazy","caseSensitive","path","id","index","children"]);function io(e){return oo.has(e)}var lo=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function so(e){return lo.has(e)}function uo(e){return e.index===!0}function jt(e,t,r=[],n={},a=!1){return e.map((o,i)=>{let l=[...r,String(i)],u=typeof o.id=="string"?o.id:l.join("-");if(K(o.index!==!0||!o.children,"Cannot specify children on an index route"),K(a||!n[u],`Found a route id collision on i
18d "${u}".  Route id's must be globally unique within Data Router usages`),uo(o)){let c={...o,id:u};return n[u]=vn(c,t(c)),c}else{let c={...o,id:u,children:void 0};return n[u]=vn(c,t(c)),o.children&&(c.children=jt(o.children,t,l,n,a)),c}})}function vn(e,t){return Object.assign(e,{...t,...typeof t.lazy=="object"&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function Xe(e,t,r="/"){return kt(e,t,r,!1)}function kt(e,t,r,n){let a=typeof t=="string"?nt(t):t,o=ke(a.pathname||"/",r);if(o==null)return null;let i=Kn(e);co(i);let l=null;for(let u=0;l==null&&u<i.length;++u){let c=Ro(o);l=Eo(i[u],c,n)}return l}function Gn(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],loaderData:t[r.id],handle:r.handle}}function Kn(e,t=[],r=[],n="",a=!1){let o=(i,l,u=a,c)=>{let m={relativePath:c===void 0?i.path||"":c,caseSensitive:i.caseSensitive===!0,childrenIndex:l,route:i};if(m.relativePath.startsWith("/")){if(!m.relativePath.startsWith(n)&&u)return;K(m.relativePath.startsWith(n),`Absolute route path "${m.relativePath}" nested under path "${n}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),m.relativePath=m.relativePath.slice(n.length)}let d=We([n,m.relativePath]),p=r.concat(m);i.children&&i.children.length>0&&(K(i.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${d}".`),Kn(i.children,t,p,d,u)),!(i.path==null&&!i.index)&&t.push({path:d,score:go(d,i.index),routesMeta:p})};return e.forEach((i,l)=>{if(i.path===""||!i.path?.includes("?"))o(i,l);else for(let u of Jn(i.path))o(i,l,!0,u)}),t}function Jn(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith("?"),o=r.replace(/\?$/,"");if(n.length===0)return a?[o,""]:[o];let i=Jn(n.join("/")),l=[];return l.push(...i.map(u=>u===""?o:[o,u].join("/"))),a&&l.push(...i),l.map(u=>e.startsWith("/")&&u===""?"/":u)}function co(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:wo(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}var fo=/^:[\w-]+$/,ho=3,mo=2,po=1,yo=10,vo=-2,gn=e=>e==="*";function go(e,t){let r=e.split("/"),n=r.length;return r.some(gn)&&(n+=vo),t&&(n+=mo),r.filter(a=>!gn(a)).reduce((a,o)=>a+(fo.test(o)?ho:o===""?po:yo),n)}function wo(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function Eo(e,t,r=!1){let{routesMeta:n}=e,a={},o="/",i=[];for(let l=0;l<n.length;++l){let u=n[l],c=l===n.length-1,m=o==="/"?t:t.slice(o.length)||"/",d=cr({path:u.relativePath,caseSensitive:u.caseSensitive,end:c},m),p=u.route;if(!d&&c&&r&&!n[n.length-1].route.index&&(d=cr({path:u.relativePath,caseSensitive:u.caseSensitive,end:!1},m)),!d)return null;
18Object.assign(a,d.params),i.push({params:a,pathname:We([o,d.pathname]),pathnameBase:_o(We([o,d.pathnameBase])),route:p}),d.pathnameBase!=="/"&&(o=We([o,d.pathnameBase]))}return i}function cr(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=Xn(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:n.reduce((c,{paramName:m,isOptional:d},p)=>{if(m==="*"){let _=l[p]||"";i=o.slice(0,o.length-_.length).replace(/(.)\/+$/,"$1")}const g=l[p];return d&&!g?c[m]=void 0:c[m]=(g||"").replace(/%2F/g,"/"),c},{}),pathname:o,pathnameBase:i,pattern:e}}function Xn(e,t=!1,r=!0){he(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(i,l,u)=>(n.push({paramName:l,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(n.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}function Ro(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return he(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function ke(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function bo({basename:e,pathname:t}){return t==="/"?e:We([e,t])}var qn=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,hr=e=>qn.test(e);function So(e,t="/"){let{pathname:r,search:n="",hash:a=""}=typeof e=="string"?nt(e):e,o;if(r)if(hr(r))o=r;else{if(r.includes("//")){let i=r;r=r.replace(/\/\/+/g,"/"),he(!1,`Pathnames cannot have embedded double slashes - normalizing ${i} -> ${r}`)}r.startsWith("/")?o=wn(r.substring(1),"/"):o=wn(r,t)}else o=t;return{pathname:o,search:Co(n),hash:Po(a)}}function wn(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function Cr(e,t,r,n){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(n)}].  Please separate it out to the \`to.${r}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Qn(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function Vr(e){let t=Qn(e);return t.map((r,n)=>n===t.length-1?r.pathname:r.pathnameBase)}function Gr(e,t,r,n=!1){let a;typeof e=="string"?a=nt(e):(a={...e},K(!a.pathname||!a.pathname.includes("?"),Cr("?","pathname","search",a)),K(!a.pathname||!a.pathname.includes("#"),Cr("#","pathname","hash",a)),K(!a.search||!a.search.includes("#"),Cr("#","search","hash",a)));let o=e===""||a.pathname==="",i=o?"/":a.pathname,l;if(i==null)l=r;else{let d=t.length-1;if(!n&&i.startsWith("..")){let p=i.split("/");for(;p[0]==="..";)p.shift(),d-=1;a.pathname=p.join("/")}l=d>=0?t[d]:"/"}let u=So(a,l),c=i&&i!=="/"&&i.endsWith("/"),m=(o||i===".")&&r.endsWith("/");return!u.pathname.endsWith("/")&&(c||m)&&(u.pathname+="/"),u}var We=e=>e.join("/").replace(/\/\/+/g,"/"),_o=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Co=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Po=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,To=class{constructor(e,t){this.type="DataWithResponseInit",this.data=e,this.init=t||null}};function Lo(e,t){return new To(e,typeof t=="number"?{status:t}:t)}var Oo=(e,t=302)=>{let r=t;typeof r=="number"?r={status:r}:typeof r.status>"u"&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,{...r,headers:n})},at=class{constructor(e,t,r,n=!1){this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}};function ut(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Ft(e){return e.map(t=>
18t.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Zn=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function ea(e,t){let r=e;if(typeof r!="string"||!qn.test(r))return{absoluteURL:void 0,isExternal:!1,to:r};let n=r,a=!1;if(Zn)try{let o=new URL(window.location.href),i=r.startsWith("//")?new URL(o.protocol+r):new URL(r),l=ke(i.pathname,t);i.origin===o.origin&&l!=null?r=l+i.search+i.hash:a=!0}catch{he(!1,`<Link to="${r}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:n,isExternal:a,to:r}}var rt=Symbol("Uninstrumented");function xo(e,t){let r={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(a=>a({id:t.id,index:t.index,path:t.path,instrument(o){let i=Object.keys(r);for(let l of i)o[l]&&r[l].push(o[l])}}));let n={};if(typeof t.lazy=="function"&&r.lazy.length>0){let a=yt(r.lazy,t.lazy,()=>{});a&&(n.lazy=a)}if(typeof t.lazy=="object"){let a=t.lazy;["middleware","loader","action"].forEach(o=>{let i=a[o],l=r[`lazy.${o}`];if(typeof i=="function"&&l.length>0){let u=yt(l,i,()=>{});u&&(n.lazy=Object.assign(n.lazy||{},{[o]:u}))}})}return["loader","action"].forEach(a=>{let o=t[a];if(typeof o=="function"&&r[a].length>0){let i=o[rt]??o,l=yt(r[a],i,(...u)=>En(u[0]));l&&(a==="loader"&&i.hydrate===!0&&(l.hydrate=!0),l[rt]=i,n[a]=l)}}),t.middleware&&t.middleware.length>0&&r.middleware.length>0&&(n.middleware=t.middleware.map(a=>{let o=a[rt]??a,i=yt(r.middleware,o,(...l)=>En(l[0]));return i?(i[rt]=o,i):a})),n}function Mo(e,t){let r={navigate:[],fetch:[]};if(t.forEach(n=>n({instrument(a){let o=Object.keys(a);for(let i of o)a[i]&&r[i].push(a[i])}})),r.navigate.length>0){let n=e.navigate[rt]??e.navigate,a=yt(r.navigate,n,(...o)=>{let[i,l]=o;return{to:typeof i=="number"||typeof i=="string"?i:i?Ye(i):".",...Rn(e,l??{})}});a&&(a[rt]=n,e.navigate=a)}if(r.fetch.length>0){let n=e.fetch[rt]??e.fetch,a=yt(r.fetch,n,(...o)=>{let[i,,l,u]=o;return{href:l??".",fetcherKey:i,...Rn(e,u??{})}});a&&(a[rt]=n,e.fetch=a)}return e}function yt(e,t,r){return e.length===0?null:async(...n)=>{let a=await ta(e,r(...n),()=>t(...n),e.length-1);if(a.type==="error")throw a.value;return a.value}}async function ta(e,t,r,n){let a=e[n],o;if(a){let i,l=async()=>(i?console.error("You cannot call instrumented handlers more than once"):i=ta(e,t,r,n-1),o=await i,K(o,"Expected a result"),o.type==="error"&&o.value instanceof Error?{status:"error",error:o.value}:{status:"success",error:void 0});try{await a(l,t)}catch(u){console.error("An instrumentation function threw an error:",u)}i||await l(),await i}else try{o={type:"success",value:await r()}}catch(i){o={type:"error",value:i}}return o||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function En(e){let{request:t,context:r,params:n,unstable_pattern:a}=e;return{request:Do(t),params:{...n},unstable_pattern:a,context:ko(r)}}function Rn(e,t){return{currentUrl:Ye(e.state.location),..."formMethod"in t?{formMethod:t.formMethod}:{},..."formEncType"in t?{formEncType:t.formEncType}:{},..."formData"in t?{formData:t.formData}:{},..."body"in t?{body:t.body}:{}}}function Do(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function ko(e){if(No(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var Ao=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function No(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join("\0")===Ao}var ra=["POST","PUT","PATCH","DELETE"],jo=new Set(ra),Io=["GET",...ra],Fo=new Set(Io),na=new Set([301,302,303,307,308]),Uo=new Set([307,308]),Pr={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},aa={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Lt={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},$o=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),oa="remix-router-transitions",ia=Symbol("ResetLoaderData");function hs(e){const t=e.window?e.window:typeof window<"u"?window:void 0,r=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u";K(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let n=e.hydrationRouteProperties||[],a=e.mapRouteProperties||$o,o=a;if(e.unstable_instrumentations){let h=e.unstable_instrumentations;o=v=>({...a(v),...xo(h.map(E=>
18E.route).filter(Boolean),v)})}let i={},l=jt(e.routes,o,void 0,i),u,c=e.basename||"/";c.startsWith("/")||(c=`/${c}`);let m=e.dataStrategy||Yo,d={...e.future},p=null,g=new Set,_=null,C=null,R=null,L=e.hydrationData!=null,b=Xe(l,e.history.location,c),M=!1,k=null,x;if(b==null&&!e.patchRoutesOnNavigation){let h=Ie(404,{pathname:e.history.location.pathname}),{matches:v,route:E}=er(l);x=!0,b=v,k={[E.id]:h}}else if(b&&!e.hydrationData&&Me(b,l,e.history.location.pathname).active&&(b=null),b)if(b.some(h=>h.route.lazy))x=!1;else if(!b.some(h=>Kr(h.route)))x=!0;else{let h=e.hydrationData?e.hydrationData.loaderData:null,v=e.hydrationData?e.hydrationData.errors:null;if(v){let E=b.findIndex(T=>v[T.route.id]!==void 0);x=b.slice(0,E+1).every(T=>!Ar(T.route,h,v))}else x=b.every(E=>!Ar(E.route,h,v))}else{x=!1,b=[];let h=Me(null,l,e.history.location.pathname);h.active&&h.matches&&(M=!0,b=h.matches)}let N,w={historyAction:e.history.action,location:e.history.location,matches:b,initialized:x,navigation:Pr,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||k,fetchers:new Map,blockers:new Map},A="POP",W=null,Z=!1,ee,Y=!1,pe=new Map,ue=null,q=!1,re=!1,ge=new Set,ne=new Map,fe=0,ve=-1,S=new Map,U=new Set,te=new Map,ae=new Map,ye=new Set,Pe=new Map,de,Te=null;function Ve(){if(p=e.history.listen(({action:h,location:v,delta:E})=>{if(de){de(),de=void 0;return}he(Pe.size===0||E!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs.  This can also happen if you are using createHashRouter and the user manually changes the URL.");let T=D({currentLocation:w.location,nextLocation:v,historyAction:h});if(T&&E!=null){let O=new Promise($=>{de=$});e.history.go(E*-1),P(T,{state:"blocked",location:v,proceed(){P(T,{state:"proceeding",proceed:void 0,reset:void 0,location:v}),O.then(()=>e.history.go(E))},reset(){let $=new Map(w.blockers);$.set(T,Lt),we({blockers:$})}}),W?.resolve(),W=null;return}return Ue(h,v)}),r){ui(t,pe);let h=()=>ci(t,pe);t.addEventListener("pagehide",h),ue=()=>t.removeEventListener("pagehide",h)}return w.initialized||Ue("POP",w.location,{initialHydration:!0}),N}function Ge(){p&&p(),ue&&ue(),g.clear(),ee&&ee.abort(),w.fetchers.forEach((h,v)=>Qe(v)),w.blockers.forEach((h,v)=>y(v))}function Ht(h){return g.add(h),()=>g.delete(h)}function we(h,v={}){h.matches&&(h.matches=h.matches.map(O=>{let $=i[O.route.id],j=O.route;return j.element!==$.element||j.errorElement!==$.errorElement||j.hydrateFallbackElement!==$.hydrateFallbackElement?{...O,route:$}:O})),w={...w,...h};let E=[],T=[];w.fetchers.forEach((O,$)=>{O.state==="idle"&&(ye.has($)?E.push($):T.push($))}),ye.forEach(O=>{!w.fetchers.has(O)&&!ne.has(O)&&E.push(O)}),[...g].forEach(O=>O(w,{deletedFetchers:E,newErrors:h.errors??null,viewTransitionOpts:v.viewTransitionOpts,flushSync:v.flushSync===!0}
18)),E.forEach(O=>Qe(O)),T.forEach(O=>w.fetchers.delete(O))}function Ke(h,v,{flushSync:E}={}){let T=w.actionData!=null&&w.navigation.formMethod!=null&&Se(w.navigation.formMethod)&&w.navigation.state==="loading"&&h.state?._isRedirect!==!0,O;v.actionData?Object.keys(v.actionData).length>0?O=v.actionData:O=null:T?O=w.actionData:O=null;let $=v.loaderData?Mn(w.loaderData,v.loaderData,v.matches||[],v.errors):w.loaderData,j=w.blockers;j.size>0&&(j=new Map(j),j.forEach((V,H)=>j.set(H,Lt)));let F=q?!1:X(h,v.matches||w.matches),z=Z===!0||w.navigation.formMethod!=null&&Se(w.navigation.formMethod)&&h.state?._isRedirect!==!0;u&&(l=u,u=void 0),q||A==="POP"||(A==="PUSH"?e.history.push(h,h.state):A==="REPLACE"&&e.history.replace(h,h.state));let B;if(A==="POP"){let V=pe.get(w.location.pathname);V&&V.has(h.pathname)?B={currentLocation:w.location,nextLocation:h}:pe.has(h.pathname)&&(B={currentLocation:h,nextLocation:w.location})}else if(Y){let V=pe.get(w.location.pathname);V?V.add(h.pathname):(V=new Set([h.pathname]),pe.set(w.location.pathname,V)),B={currentLocation:w.location,nextLocation:h}}we({...v,actionData:O,loaderData:$,historyAction:A,location:h,initialized:!0,navigation:Pr,revalidation:"idle",restoreScrollPosition:F,preventScrollReset:z,blockers:j},{viewTransitionOpts:B,flushSync:E===!0}),A="POP",Z=!1,Y=!1,q=!1,re=!1,W?.resolve(),W=null,Te?.resolve(),Te=null}async function Rt(h,v){if(W?.resolve(),W=null,typeof h=="number"){W||(W=An());let le=W.promise;return e.history.go(h),le}let E=kr(w.location,w.matches,c,h,v?.fromRouteId,v?.relative),{path:T,submission:O,error:$}=bn(!1,E,v),j=w.location,F=Nt(w.location,T,v&&v.state);F={...F,...e.history.encodeLocation(F)};let z=v&&v.replace!=null?v.replace:void 0,B="PUSH";z===!0?B="REPLACE":z===!1||O!=null&&Se(O.formMethod)&&O.formAction===w.location.pathname+w.location.search&&(B="REPLACE");let V=v&&"preventScrollReset"in v?v.preventScrollReset===!0:void 0,H=(v&&v.flushSync)===!0,ie=D({currentLocation:j,nextLocation:F,historyAction:B});if(ie){P(ie,{state:"blocked",location:F,proceed(){P(ie,{state:"proceeding",proceed:void 0,reset:void 0,location:F}),Rt(h,v)},reset(){let le=new Map(w.blockers);le.set(ie,Lt),we({blockers:le})}});return}await Ue(B,F,{submission:O,pendingError:$,preventScrollReset:V,replace:v&&v.replace,enableViewTransition:v&&v.viewTransition,flushSync:H,callSiteDefaultShouldRevalidate:v&&v.unstable_defaultShouldRevalidate})}function Bt(){Te||(Te=An()),bt(),we({revalidation:"loading"});let h=Te.promise;return w.navigation.state==="submitting"?h:w.navigation.state==="idle"?(Ue(w.historyAction,w.location,{startUninterruptedRevalidation:!0}),h):(Ue(A||w.historyAction,w.navigation.location,{overrideNavigation:w.navigation,enableViewTransition:Y===!0}),h)}async function Ue(h,v,E){ee&&ee.abort(),ee=null,A=h,q=(E&&E.startUninterruptedRevalidation)===!0,se(w.location,w.matches),Z=(E&&E.preventScrollReset)===!0,Y=(E&&E.enableViewTransition)===!0;let T=u||l,O=E&&E.overrideNavigation,$=E?.initialHydration&&w.matches&&w.matches.length>0&&!M?w.matches:Xe(T,v,c),j=(E&&E.flushSync)===!0;if($&&w.initialized&&!re&&Zo(w.location,v)&&!(E&&E.submission&&Se(E.submission.formMethod))){Ke(v,{matches:$},{flushSync:j});return}let F=Me($,T,v.pathname);if(F.active&&F.matches&&($=F.matches),!$){let{error:Ee,notFoundMatches:_e,route:ce}=I(v.pathname);Ke(v,{matches:_e,loaderData:{},errors:{[ce.id]:Ee}},{flushSync:j});return}ee=new AbortController;let z=pt(e.history,v,ee.signal,E&&E.submission),B=e.getContext?await e.getContext():new yn,V;if(E&&E.pendingError)V=[tt($).route.id,{type:"error",error:E.pendingError}];else if(E&&E.submission&&Se(E.submission.formMethod)){let Ee=await Le(z,v,E.submission,$,B,F.active,E&&E.initialHydration===!0,{replace:E.replace,flushSync:j});if(Ee.shortCircuited)return;if(Ee.pendingActionResult){let[_e,ce]=Ee.pendingActionResult;if(De(ce)&&ut(ce.error)&&ce.error.status===404){ee=null,Ke(v,{matches:Ee.matches,loaderData:{},errors:{[_e]:ce.error}});return}}$=Ee.matches||$,V=Ee.pendingActionResult,O=Tr(v,E.submission),j=!1,F.active=!1,z=pt(e.history,z.url,z.signal)}let{shortCircuited:H,matches:ie,loaderData:le,errors:Re}=await Wt(z,v,$,B,F.active,O,E&&E.submission,E&&E.fetcherSubmission,E&&E.replace,E&&E.initialHydration===!0,j,V,E&&E.callSiteDefaultShouldRevalidate);H||(ee=null,Ke(v,{matches:ie||$,...Dn(V),loaderData:le,errors:Re}))}async function Le(h,v,E,T,O,$,j,F={}){bt();let z=li(v,E);if(we({navigation:z},{flushSync:F.flushSync===!0}),$){let H=await $e(T,v.pathname,h.signal);if(H.type==="aborted")return{shortCircuited:!0};if(H.type==="error"){if(H.partialMatches.length===0){let{matches:le,route:Re}=er(l);return{matches:le,pendingActionResult:[Re.id,{type:"error",error:H.error}]}}let ie=tt(H.partialMatches).route.id;return{matches:H.partialMatches,pendingActionResult:[ie,{type:"error",error:H.error}]}}else if(H.matches)T=H.matches;else{let{notFoundMatches:ie,error:le,route:Re}=I(v.pathname);return{matches:ie,pendingActionResult:[Re.id,{type:"error",error:le}]}}}let B,V=ir(T,v);if(!V.route.action&&!V.route.lazy)B={type:"error",error:Ie(405,{method:h.method,pathname:v.pathname,routeId:V.route.id})};else{let H=vt(o,i,h,T,V,j?[]:n,O),ie=await qe(h,H,O,null);if(B=ie[V.route.id],!B){for(let le of T)if(ie[le.route.id]){B=ie[le.route.id];break}}if(h.signal.aborted)return{shortCircuited:!0}}if(st(B)){let H;return F&&F.replace!=null?H=F.replace:H=Ln(B.response.headers.get("Location"),new URL(h.url),c,e.history)===w.location.pathname+w.location.search,await He(h,B,!0,{submission:E,replace:H}),{shortCircuited:!0}}if(De(B)){let H=tt(T,V.route.id);return(F&&F.replace)!==!0&&(A="PUSH"),{matches:T,pendingActionResult:[H.route.id,B,V.route.id]}}return{matches:T,pendingActionResult:[V.route.id,B]}}async function Wt(h,v,E,T,O,$,j,F,z,B,V,H,ie){let le=$||Tr(v,j),Re=j||F||kn(le),Ee=!q&&!B;if(O){if(Ee){let be=Yt(H);
18we({navigation:le,...be!==void 0?{actionData:be}:{}},{flushSync:V})}let oe=await $e(E,v.pathname,h.signal);if(oe.type==="aborted")return{shortCircuited:!0};if(oe.type==="error"){if(oe.partialMatches.length===0){let{matches:mt,route:lt}=er(l);return{matches:mt,loaderData:{},errors:{[lt.id]:oe.error}}}let be=tt(oe.partialMatches).route.id;return{matches:oe.partialMatches,loaderData:{},errors:{[be]:oe.error}}}else if(oe.matches)E=oe.matches;else{let{error:be,notFoundMatches:mt,route:lt}=I(v.pathname);return{matches:mt,loaderData:{},errors:{[lt.id]:be}}}}let _e=u||l,{dsMatches:ce,revalidatingFetchers:je}=Sn(h,T,o,i,e.history,w,E,Re,v,B?[]:n,B===!0,re,ge,ye,te,U,_e,c,e.patchRoutesOnNavigation!=null,H,ie);if(ve=++fe,!e.dataStrategy&&!ce.some(oe=>oe.shouldLoad)&&!ce.some(oe=>oe.route.middleware&&oe.route.middleware.length>0)&&je.length===0){let oe=_t();return Ke(v,{matches:E,loaderData:{},errors:H&&De(H[1])?{[H[0]]:H[1].error}:null,...Dn(H),...oe?{fetchers:new Map(w.fetchers)}:{}},{flushSync:V}),{shortCircuited:!0}}if(Ee){let oe={};if(!O){oe.navigation=le;let be=Yt(H);be!==void 0&&(oe.actionData=be)}je.length>0&&(oe.fetchers=J(je)),we(oe,{flushSync:V})}je.forEach(oe=>{Oe(oe.key),oe.controller&&ne.set(oe.key,oe.controller)});let ot=()=>je.forEach(oe=>Oe(oe.key));ee&&ee.signal.addEventListener("abort",ot);let{loaderResults:Ct,fetcherResults:et}=await Kt(ce,je,h,T);if(h.signal.aborted)return{shortCircuited:!0};ee&&ee.signal.removeEventListener("abort",ot),je.forEach(oe=>ne.delete(oe.key));let Be=tr(Ct);if(Be)return await He(h,Be.result,!0,{replace:z}),{shortCircuited:!0};if(Be=tr(et),Be)return U.add(Be.key),await He(h,Be.result,!0,{replace:z}),{shortCircuited:!0};let{loaderData:Rr,errors:Pt}=xn(w,E,Ct,H,je,et);B&&w.errors&&(Pt={...w.errors,...Pt});let it=_t(),qt=Ze(ve),Qt=it||qt||je.length>0;return{matches:E,loaderData:Rr,errors:Pt,...Qt?{fetchers:new Map(w.fetchers)}:{}}}function Yt(h){if(h&&!De(h[1]))return{[h[0]]:h[1].data};if(w.actionData)return Object.keys(w.actionData).length===0?null:w.actionData}function J(h){return h.forEach(v=>{let E=w.fetchers.get(v.key),T=Ot(void 0,E?E.data:void 0);w.fetchers.set(v.key,T)}),new Map(w.fetchers)}async function dt(h,v,E,T){Oe(h);let O=(T&&T.flushSync)===!0,$=u||l,j=kr(w.location,w.matches,c,E,v,T?.relative),F=Xe($,j,c),z=Me(F,$,j);if(z.active&&z.matches&&(F=z.matches),!F){Ne(h,v,Ie(404,{pathname:j}),{flushSync:O});return}let{path:B,submission:V,error:H}=bn(!0,j,T);if(H){Ne(h,v,H,{flushSync:O});return}let ie=e.getContext?await e.getContext():new yn,le=(T&&T.preventScrollReset)===!0;if(V&&Se(V.formMethod)){await Vt(h,v,B,F,ie,z.active,O,le,V,T&&T.unstable_defaultShouldRevalidate);return}te.set(h,{routeId:v,path:B}),await Gt(h,v,B,F,ie,z.active,O,le,V)}async function Vt(h,v,E,T,O,$,j,F,z,B){bt(),te.delete(h);let V=w.fetchers.get(h);Ae(h,si(z,V),{flushSync:j});let H=new AbortController,ie=pt(e.history,E,H.signal,z);if($){let me=await $e(T,new URL(ie.url).pathname,ie.signal,h);if(me.type==="aborted")return;if(me.type==="error"){Ne(h,v,me.error,{flushSync:j});return}else if(me.matches)T=me.matches;else{Ne(h,v,Ie(404,{pathname:E}),{flushSync:j});return}}let le=ir(T,E);if(!le.route.action&&!le.route.lazy){let me=Ie(405,{method:z.formMethod,pathname:E,routeId:v});Ne(h,v,me,{flushSync:j});return}ne.set(h,H);let Re=fe,Ee=vt(o,i,ie,T,le,n,O),_e=await qe(ie,Ee,O,h),ce=_e[le.route.id];if(!ce){for(let me of Ee)if(_e[me.route.id]){ce=_e[me.route.id];break}}if(ie.signal.aborted){ne.get(h)===H&&ne.delete(h);return}if(ye.has(h)){if(st(ce)||De(ce)){Ae(h,Je(void 0));return}}else{if(st(ce))if(ne.delete(h),ve>Re){Ae(h,Je(void 0));return}else return U.add(h),Ae(h,Ot(z)),He(ie,ce,!1,{fetcherSubmission:z,preventScrollReset:F});if(De(ce)){Ne(h,v,ce.error);return}}let je=w.navigation.location||w.location,ot=pt(e.history,je,H.signal),Ct=u||l,et=w.navigation.state!=="idle"?Xe(Ct,w.navigation.location,c):w.matches;K(et,"Didn't find any matches after fetcher action");let Be=++fe;S.set(h,Be);let Rr=Ot(z,ce.data);w.fetchers.set(h,Rr);let{dsMatches:Pt,revalidatingFetchers:it}=Sn(ot,O,o,i,e.history,w,et,z,je,n,!1,re,ge,ye,te,U,Ct,c,e.patchRoutesOnNavigation!=null,[le.route.id,ce],B);it.filter(me=>
18me.key!==h).forEach(me=>{let Zt=me.key,un=w.fetchers.get(Zt),Ga=Ot(void 0,un?un.data:void 0);w.fetchers.set(Zt,Ga),Oe(Zt),me.controller&&ne.set(Zt,me.controller)}),we({fetchers:new Map(w.fetchers)});let qt=()=>it.forEach(me=>Oe(me.key));H.signal.addEventListener("abort",qt);let{loaderResults:Qt,fetcherResults:oe}=await Kt(Pt,it,ot,O);if(H.signal.aborted)return;if(H.signal.removeEventListener("abort",qt),S.delete(h),ne.delete(h),it.forEach(me=>ne.delete(me.key)),w.fetchers.has(h)){let me=Je(ce.data);w.fetchers.set(h,me)}let be=tr(Qt);if(be)return He(ot,be.result,!1,{preventScrollReset:F});if(be=tr(oe),be)return U.add(be.key),He(ot,be.result,!1,{preventScrollReset:F});let{loaderData:mt,errors:lt}=xn(w,et,Qt,void 0,it,oe);Ze(Be),w.navigation.state==="loading"&&Be>ve?(K(A,"Expected pending action"),ee&&ee.abort(),Ke(w.navigation.location,{matches:et,loaderData:mt,errors:lt,fetchers:new Map(w.fetchers)})):(we({errors:lt,loaderData:Mn(w.loaderData,mt,et,lt),fetchers:new Map(w.fetchers)}),re=!1)}async function Gt(h,v,E,T,O,$,j,F,z){let B=w.fetchers.get(h);Ae(h,Ot(z,B?B.data:void 0),{flushSync:j});let V=new AbortController,H=pt(e.history,E,V.signal);if($){let ce=await $e(T,new URL(H.url).pathname,H.signal,h);if(ce.type==="aborted")return;if(ce.type==="error"){Ne(h,v,ce.error,{flushSync:j});return}else if(ce.matches)T=ce.matches;else{Ne(h,v,Ie(404,{pathname:E}),{flushSync:j});return}}let ie=ir(T,E);ne.set(h,V);let le=fe,Re=vt(o,i,H,T,ie,n,O),_e=(await qe(H,Re,O,h))[ie.route.id];if(ne.get(h)===V&&ne.delete(h),!H.signal.aborted){if(ye.has(h)){Ae(h,Je(void 0));return}if(st(_e))if(ve>le){Ae(h,Je(void 0));return}else{U.add(h),await He(H,_e,!1,{preventScrollReset:F});return}if(De(_e)){Ne(h,v,_e.error);return}Ae(h,Je(_e.data))}}async function He(h,v,E,{submission:T,fetcherSubmission:O,preventScrollReset:$,replace:j}={}){E||(W?.resolve(),W=null),v.response.headers.has("X-Remix-Revalidate")&&(re=!0);let F=v.response.headers.get("Location");K(F,"Expected a Location header on the redirect Response"),F=Ln(F,new URL(h.url),c,e.history);let z=Nt(w.location,F,{_isRedirect:!0});if(r){let Re=!1;if(v.response.headers.has("X-Remix-Reload-Document"))Re=!0;else if(hr(F)){const Ee=Vn(F,!0);Re=Ee.origin!==t.location.origin||ke(Ee.pathname,c)==null}if(Re){j?t.location.replace(F):t.location.assign(F);return}}ee=null;let B=j===!0||v.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:V,formAction:H,formEncType:ie}=w.navigation;!T&&!O&&V&&H&&ie&&(T=kn(w.navigation));let le=T||O;if(Uo.has(v.response.status)&&le&&Se(le.formMethod))await Ue(B,z,{submission:{...le,formAction:F},preventScrollReset:$||Z,enableViewTransition:E?Y:void 0});else{let Re=Tr(z,T);await Ue(B,z,{overrideNavigation:Re,fetcherSubmission:O,preventScrollReset:$||Z,enableViewTransition:E?Y:void 0})}}async function qe(h,v,E,T){let O,$={};try{O=await Go(m,h,v,T,E,!1)}catch(j){return v.filter(F=>F.shouldLoad).forEach(F=>{$[F.route.id]={type:"error",error:j}}),$}if(h.signal.aborted)return $;if(!Se(h.method))for(let j of v){if(O[j.route.id]?.type==="error")break;!O.hasOwnProperty(j.route.id)&&!w.loaderData.hasOwnProperty(j.route.id)&&(!w.errors||!w.errors.hasOwnProperty(j.route.id))&&j.shouldCallHandler()&&(O[j.route.id]={type:"error",result:new Error(`No result returned from dataStrategy for route ${j.route.id}`)})}for(let[j,F]of Object.entries(O))if(ni(F)){let z=F.result;$[j]={type:"redirect",response:qo(z,h,j,v,c)}}else $[j]=await Xo(F);return $}async function Kt(h,v,E,T){let O=qe(E,h,T,null),$=Promise.all(v.map(async z=>{if(z.matches&&z.match&&z.request&&z.controller){let V=(await qe(z.request,z.matches,T,z.key))[z.match.route.id];return{[z.key]:V}}else return Promise.resolve({[z.key]:{type:"error",error:Ie(404,{pathname:z.path})}})})),j=await O,F=(await $).reduce((z,B)=>Object.assign(z,B),{});return{loaderResults:j,fetcherResults:F}}function bt(){re=!0,te.forEach((h,v)=>{ne.has(v)&&ge.add(v),Oe(v)})}function Ae(h,v,E={}){w.fetchers.set(h,v),we({fetchers:new Map(w.fetchers)},{flushSync:(E&&E.flushSync)===!0})}function Ne(h,v,E,T={}){let O=tt(w.matches,v);Qe(h),we({errors:{[O.route.id]:E},fetchers:new Map(w.fetchers)},{flushSync:(T&&T.flushSync)===!0})}function St(h){return ae.set(h,(ae.get(h)||0)+1),ye.has(h)&&ye.delete(h),w.fetchers.get(h)||aa}function Jt(h,v){Oe(h,v?.reason),Ae(h,Je(null))}function Qe(h){let v=w.fetchers.get(h);ne.has(h)&&!(v&&v.state==="loading"&&S.has(h))&&Oe(h),te.delete(h),S.delete(h),U.delete(h),ye.delete(h),ge.delete(h),w.fetchers.delete(h)}function ft(h){let v=(ae.get(h)||0)-1;v<=0?(ae.delete(h),ye.add(h)):ae.set(h,v),we({fetchers:new Map(w.fetchers)})}function Oe(h,v){let E=ne.get(h);E&&(E.abort(v),ne.delete(h))}function ht(h){for(let v of h){let E=St(v),T=Je(E.data);w.fetchers.set(v,T)}}function _t(){let h=[],v=!1;for(let E of U){let T=w.fetchers.get(E);K(T,`Expected fetcher: ${E}`),T.state==="loading"&&(U.delete(E),h.push(E),v=!0)}return ht(h),v}function Ze(h){let v=[];for(let[E,T]of S)if(T<h){let O=w.fetchers.get(E);K(O,`Expected fetcher: ${E}`),O.state==="loading"&&(Oe(E),S.delete(E),v.push(E))}return ht(v),v.length>0}function s(h,v){let E=w.blockers.get(h)||Lt;return Pe.get(h)!==v&&Pe.set(h,v),E}function y(h){w.blockers.delete(h),Pe.delete(h)}function P(h,v){let E=w.blockers.get(h)||Lt;K(E.state==="unblocked"&&v.state==="blocked"||E.state==="blocked"&&v.state==="blocked"||E.state==="blocked"&&v.state==="proceeding"||E.state==="blocked"&&v.state==="unblocked"||E.state==="proceeding"&&v.state==="unblocked",`Invalid blocker state transition: ${E.state} -> ${v.state}`);let T=new Map(w.blockers);T.set(h,v),we({blockers:T})}function D({currentLocation:h,nextLocation:v,historyAction:E}){if(Pe.size===0)return;Pe.size>1&&he(!1,"A router only supports one blocker at a time");let T=Array.from(Pe.entries()),[O,$]=T[T.length-1],j=w.blockers.get(O);if(!(j&&j.state==="proceeding")&&$({currentLocation:h,nextLocation:v,historyAction:E}))return O}function I(h){let v=Ie(404,{pathname:h}),E=u||l,{matches:T,route:O}=er(E);return{notFoundMatches:T,route:O,error:v}}function Q(h,v,E){if(_=h,R=v,C=E||null,!L&&w.navigation===Pr){L=!0;let T=X(w.location,w.matches);T!=null&&we({restoreScrollPosition:T})}return()=>{_=null,R=null,C=null}}function G(h,v){return C&&C(h,v.map(T=>Gn(T,w.loaderData)))||h.key}function se(h,v){if(_&&R){let E=G(h,v);_[E]=R()}}function X(h,v){if(_){let E=G(h,v),T=_[E];if(typeof T=="number")return T}return null}
18function Me(h,v,E){if(e.patchRoutesOnNavigation)if(h){if(Object.keys(h[0].params).length>0)return{active:!0,matches:kt(v,E,c,!0)}}else return{active:!0,matches:kt(v,E,c,!0)||[]};return{active:!1,matches:null}}async function $e(h,v,E,T){if(!e.patchRoutesOnNavigation)return{type:"success",matches:h};let O=h;for(;;){let $=u==null,j=u||l,F=i;try{await e.patchRoutesOnNavigation({signal:E,path:v,matches:O,fetcherKey:T,patch:(V,H)=>{E.aborted||_n(V,H,j,F,o,!1)}})}catch(V){return{type:"error",error:V,partialMatches:O}}finally{$&&!E.aborted&&(l=[...l])}if(E.aborted)return{type:"aborted"};let z=Xe(j,v,c),B=null;if(z){if(Object.keys(z[0].params).length===0)return{type:"success",matches:z};if(B=kt(j,v,c,!0),!(B&&O.length<B.length&&Xt(O,B.slice(0,O.length))))return{type:"success",matches:z}}if(B||(B=kt(j,v,c,!0)),!B||Xt(O,B))return{type:"success",matches:null};O=B}}function Xt(h,v){return h.length===v.length&&h.every((E,T)=>E.route.id===v[T].route.id)}function Er(h){i={},u=jt(h,o,void 0,i)}function Va(h,v,E=!1){let T=u==null;_n(h,v,u||l,i,o,E),T&&(l=[...l],we({}))}return N={get basename(){return c},get future(){return d},get state(){return w},get routes(){return l},get window(){return t},initialize:Ve,subscribe:Ht,enableScrollRestoration:Q,navigate:Rt,fetch:dt,revalidate:Bt,createHref:h=>e.history.createHref(h),encodeLocation:h=>e.history.encodeLocation(h),getFetcher:St,resetFetcher:Jt,deleteFetcher:ft,dispose:Ge,getBlocker:s,deleteBlocker:y,patchRoutes:Va,_internalFetchControllers:ne,_internalSetRoutes:Er,_internalSetStateDoNotUseOrYouWillBreakYourApp(h){we(h)}},e.unstable_instrumentations&&(N=Mo(N,e.unstable_instrumentations.map(h=>h.router).filter(Boolean))),N}function zo(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function kr(e,t,r,n,a,o){let i,l;if(a){i=[];for(let c of t)if(i.push(c),c.route.id===a){l=c;break}}else i=t,l=t[t.length-1];let u=Gr(n||".",Vr(i),ke(e.pathname,r)||e.pathname,o==="path");if(n==null&&(u.search=e.search,u.hash=e.hash),(n==null||n===""||n===".")&&l){let c=Jr(u.search);if(l.route.index&&!c)u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index";else if(!l.route.index&&c){let m=new URLSearchParams(u.search),d=m.getAll("index");m.delete("index"),d.filter(g=>g).forEach(g=>m.append("index",g));let p=m.toString();u.search=p?`?${p}`:""}}return r!=="/"&&(u.pathname=bo({basename:r,pathname:u.pathname})),Ye(u)}function bn(e,t,r){if(!r||!zo(r))return{path:t};if(r.formMethod&&!ii(r.formMethod))return{path:t,error:Ie(405,{method:r.formMethod})};let n=()=>({path:t,error:Ie(400,{type:"invalid-body"})}),o=(r.formMethod||"get").toUpperCase(),i=fa(t);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!Se(o))return n();let d=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((p,[g,_])=>`${p}${g}=${_}
19`,""):String(r.body);return{path:t,submission:{formMethod:o,formAction:i,formEncType:r.formEncType,formData:void 0,json:void 0,text:d}}}else if(r.formEncType==="application/json"){if(!Se(o))return n();try{let d=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:t,submission:{formMethod:o,formAction:i,formEncType:r.formEncType,formData:void 0,json:d,text:void 0}}}catch{return n()}}}K(typeof FormData=="function","FormData is not available in this environment");let l,u;if(r.formData)l=jr(r.formData),u=r.formData;else if(r.body instanceof FormData)l=jr(r.body),u=r.body;else if(r.body instanceof URLSearchParams)l=r.body,u=On(l);else if(r.body==null)l=new URLSearchParams,u=new FormData;else try{l=new URLSearchParams(r.body),u=On(l)}catch{return n()}let c={formMethod:o,formAction:i,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(Se(c.formMethod))return{path:t,submission:c};let m=nt(t);return e&&m.search&&Jr(m.search)&&l.append("index",""),m.search=`?${l}`,{path:Ye(m),submission:c}}function Sn(e,t,r,n,a,o,i,l,u,c,m,d,p,g,_,C,R,L,b,M,k){let x=M?De(M[1])?M[1].error:M[1].data:void 0,N=a.createURL(o.location),w=a.createURL(u),A;if(m&&o.errors){let q=Object.keys(o.errors)[0];A=i.findIndex(re=>re.route.id===q)}else if(M&&De(M[1])){let q=M[0];A=i.findIndex(re=>re.route.id===q)-1}let W=M?M[1].statusCode:void 0,Z=W&&W>
19=400,ee={currentUrl:N,currentParams:o.matches[0]?.params||{},nextUrl:w,nextParams:i[0].params,...l,actionResult:x,actionStatus:W},Y=Ft(i),pe=i.map((q,re)=>{let{route:ge}=q,ne=null;if(A!=null&&re>A?ne=!1:ge.lazy?ne=!0:Kr(ge)?m?ne=Ar(ge,o.loaderData,o.errors):Ho(o.loaderData,o.matches[re],q)&&(ne=!0):ne=!1,ne!==null)return Nr(r,n,e,Y,q,c,t,ne);let fe=!1;typeof k=="boolean"?fe=k:Z?fe=!1:(d||N.pathname+N.search===w.pathname+w.search||N.search!==w.search||Bo(o.matches[re],q))&&(fe=!0);let ve={...ee,defaultShouldRevalidate:fe},S=At(q,ve);return Nr(r,n,e,Y,q,c,t,S,ve,k)}),ue=[];return _.forEach((q,re)=>{if(m||!i.some(ae=>ae.route.id===q.routeId)||g.has(re))return;let ge=o.fetchers.get(re),ne=ge&&ge.state!=="idle"&&ge.data===void 0,fe=Xe(R,q.path,L);if(!fe){if(b&&ne)return;ue.push({key:re,routeId:q.routeId,path:q.path,matches:null,match:null,request:null,controller:null});return}if(C.has(re))return;let ve=ir(fe,q.path),S=new AbortController,U=pt(a,q.path,S.signal),te=null;if(p.has(re))p.delete(re),te=vt(r,n,U,fe,ve,c,t);else if(ne)d&&(te=vt(r,n,U,fe,ve,c,t));else{let ae;typeof k=="boolean"?ae=k:Z?ae=!1:ae=d;let ye={...ee,defaultShouldRevalidate:ae};At(ve,ye)&&(te=vt(r,n,U,fe,ve,c,t,ye))}te&&ue.push({key:re,routeId:q.routeId,path:q.path,matches:te,match:ve,request:U,controller:S})}),{dsMatches:pe,revalidatingFetchers:ue}}function Kr(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function Ar(e,t,r){if(e.lazy)return!0;if(!Kr(e))return!1;let n=t!=null&&e.id in t,a=r!=null&&r[e.id]!==void 0;return!n&&a?!1:typeof e.loader=="function"&&e.loader.hydrate===!0?!0:!n&&!a}function Ho(e,t,r){let n=!t||r.route.id!==t.route.id,a=!e.hasOwnProperty(r.route.id);return n||a}function Bo(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function At(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function _n(e,t,r,n,a,o){let i;if(e){let c=n[e];K(c,`No route found to patch children into: routeId = ${e}`),c.children||(c.children=[]),i=c.children}else i=r;let l=[],u=[];if(t.forEach(c=>{let m=i.find(d=>la(c,d));m?u.push({existingRoute:m,newRoute:c}):l.push(c)}),l.length>0){let c=jt(l,a,[e||"_","patch",String(i?.length||"0")],n);i.push(...c)}if(o&&u.length>0)for(let c=0;c<u.length;c++){let{existingRoute:m,newRoute:d}=u[c],p=m,[g]=jt([d],a,[],{},!0);Object.assign(p,{element:g.element?g.element:p.element,errorElement:g.errorElement?g.errorElement:p.errorElement,hydrateFallbackElement:g.hydrateFallbackElement?g.hydrateFallbackElement:p.hydrateFallbackElement})}}function la(e,t){return"id"in e&&"id"in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children.every((r,n)=>t.children?.some(a=>la(r,a))):!1}var Cn=new WeakMap,sa=({key:e,route:t,manifest:r,mapRouteProperties:n})=>{let a=r[t.id];if(K(a,"No route found in manifest"),!a.lazy||typeof a.lazy!="object")return;let o=a.lazy[e];if(!o)return;let i=Cn.get(a);i||(i={},Cn.set(a,i));let l=i[e];if(l)return l;let u=(async()=>{let c=io(e),d=a[e]!==void 0&&e!=="hasErrorBoundary";if(c)he(!c,"Route property "+e+" is not a supported lazy route property. This property will be ignored."),i[e]=Promise.resolve();else if(d)he(!1,`Route "${a.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let p=await o();p!=null&&(Object.assign(a,{[e]:p}),Object.assign(a,n(a)))}typeof a.lazy=="object"&&(a.lazy[e]=void 0,Object.values(a.lazy).every(p=>p===void 0)&&(a.lazy=void 0))})();return i[e]=u,u},Pn=new WeakMap;function Wo(e,t,r,n,a){let o=r[e.id];if(K(o,"No route found in manifest"),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy=="function"){let m=Pn.get(o);if(m)return{lazyRoutePromise:m,lazyHandlerPromise:m};let d=(async()=>{K(typeof e.lazy=="function","No lazy route function found");let p=await e.lazy(),g={};for(let _ in p){let C=p[_];if(C===void 0)continue;let R=so(_),b=o[_]!==void 0&&_!=="hasErrorBoundary";R?he(!R,"Route property "+_+" is not a supported property to be returned from a lazy route function. This property will be ignored."):b?he(!b,`Route "${o.id}" has a static property "${_}" defined but its lazy function is also returning a value for this property. The lazy route property "${_}" will be ignored.`):g[_]=C}Object.assign(o,g),Object.assign(o,{...n(o),lazy:void 0})})();
19return Pn.set(o,d),d.catch(()=>{}),{lazyRoutePromise:d,lazyHandlerPromise:d}}let i=Object.keys(e.lazy),l=[],u;for(let m of i){if(a&&a.includes(m))continue;let d=sa({key:m,route:e,manifest:r,mapRouteProperties:n});d&&(l.push(d),m===t&&(u=d))}let c=l.length>0?Promise.all(l).then(()=>{}):void 0;return c?.catch(()=>{}),u?.catch(()=>{}),{lazyRoutePromise:c,lazyHandlerPromise:u}}async function Tn(e){let t=e.matches.filter(a=>a.shouldLoad),r={};return(await Promise.all(t.map(a=>a.resolve()))).forEach((a,o)=>{r[t[o].route.id]=a}),r}async function Yo(e){return e.matches.some(t=>t.route.middleware)?ua(e,()=>Tn(e)):Tn(e)}function ua(e,t){return Vo(e,t,n=>{if(oi(n))throw n;return n},ti,r);function r(n,a,o){if(o)return Promise.resolve(Object.assign(o.value,{[a]:{type:"error",result:n}}));{let{matches:i}=e,l=Math.min(Math.max(i.findIndex(c=>c.route.id===a),0),Math.max(i.findIndex(c=>c.shouldCallHandler()),0)),u=tt(i,i[l].route.id).route.id;return Promise.resolve({[u]:{type:"error",result:n}})}}}async function Vo(e,t,r,n,a){let{matches:o,request:i,params:l,context:u,unstable_pattern:c}=e,m=o.flatMap(p=>p.route.middleware?p.route.middleware.map(g=>[p.route.id,g]):[]);return await ca({request:i,params:l,context:u,unstable_pattern:c},m,t,r,n,a)}async function ca(e,t,r,n,a,o,i=0){let{request:l}=e;if(l.signal.aborted)throw l.signal.reason??new Error(`Request aborted: ${l.method} ${l.url}`);let u=t[i];if(!u)return await r();let[c,m]=u,d,p=async()=>{if(d)throw new Error("You may only call `next()` once per middleware");try{return d={value:await ca(e,t,r,n,a,o,i+1)},d.value}catch(g){return d={value:await o(g,c,d)},d.value}};try{let g=await m(e,p),_=g!=null?n(g):void 0;return a(_)?_:d?_??d.value:(d={value:await p()},d.value)}catch(g){return await o(g,c,d)}}function da(e,t,r,n,a){let o=sa({key:"middleware",route:n.route,manifest:t,mapRouteProperties:e}),i=Wo(n.route,Se(r.method)?"action":"loader",t,e,a);return{middleware:o,route:i.lazyRoutePromise,handler:i.lazyHandlerPromise}}function Nr(e,t,r,n,a,o,i,l,u=null,c){let m=!1,d=da(e,t,r,a,o);return{...a,_lazyPromises:d,shouldLoad:l,shouldRevalidateArgs:u,shouldCallHandler(p){return m=!0,u?typeof c=="boolean"?At(a,{...u,defaultShouldRevalidate:c}):typeof p=="boolean"?At(a,{...u,defaultShouldRevalidate:p}):At(a,u):l},resolve(p){let{lazy:g,loader:_,middleware:C}=a.route,R=m||l||p&&!Se(r.method)&&(g||_),L=C&&C.length>0&&!_&&!g;return R&&(Se(r.method)||!L)?Ko({request:r,unstable_pattern:n,match:a,lazyHandlerPromise:d?.handler,lazyRoutePromise:d?.route,handlerOverride:p,scopedContext:i}):Promise.resolve({type:"data",result:void 0})}}}function vt(e,t,r,n,a,o,i,l=null){return n.map(u=>u.route.id!==a.route.id?{...u,shouldLoad:!1,shouldRevalidateArgs:l,shouldCallHandler:()=>!1,_lazyPromises:da(e,t,r,u,o),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Nr(e,t,r,Ft(n),u,o,i,!0,l))}async function Go(e,t,r,n,a,o){r.some(c=>c._lazyPromises?.middleware)&&await Promise.all(r.map(c=>c._lazyPromises?.middleware));let i={request:t,unstable_pattern:Ft(r),params:r[0].params,context:a,matches:r},u=await e({...i,fetcherKey:n,runClientMiddleware:c=>{let m=i;return ua(m,()=>c({...m,fetcherKey:n,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(r.flatMap(c=>[c._lazyPromises?.handler,c._lazyPromises?.route]))}catch{}return u}async function Ko({request:e,unstable_pattern:t,match:r,lazyHandlerPromise:n,lazyRoutePromise:a,handlerOverride:o,scopedContext:i}){let l,u,c=Se(e.method),m=c?"action":"loader",d=p=>{let g,_=new Promise((L,b)=>g=b);u=()=>g(),e.signal.addEventListener("abort",u);let C=L=>typeof p!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${m}" [routeId: ${r.route.id}]`)):p({request:e,unstable_pattern:t,params:r.params,context:i},...L!==void 0?[L]:[]),R=(async()=>{try{return{type:"data",result:await(o?o(b=>C(b)):C())}}catch(L){return{type:"error",result:L}}})();return Promise.race([R,_])};try{let p=c?r.route.action:r.route.loader;if(n||a)if(p){let g,[_]=await Promise.all([d(p).catch(C=>{g=C}),n,a]);if(g!==void 0)throw g;l=_}else{await n;let g=c?r.route.action:r.route.loader;if(g)[l]=await Promise.all([d(g),a]);else if(m==="action"){let _=new URL(e.url),C=_.pathname+_.search;throw Ie(405,{method:e.method,pathname:C,routeId:r.route.id})}else return{type:"data",result:void 0}}
19else if(p)l=await d(p);else{let g=new URL(e.url),_=g.pathname+g.search;throw Ie(404,{pathname:_})}}catch(p){return{type:"error",result:p}}finally{u&&e.signal.removeEventListener("abort",u)}return l}async function Jo(e){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function Xo(e){let{result:t,type:r}=e;if(mr(t)){let n;try{n=await Jo(t)}catch(a){return{type:"error",error:a}}return r==="error"?{type:"error",error:new at(t.status,t.statusText,n),statusCode:t.status,headers:t.headers}:{type:"data",data:n,statusCode:t.status,headers:t.headers}}return r==="error"?Ir(t)?t.data instanceof Error?{type:"error",error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:ei(t),statusCode:ut(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"error",error:t,statusCode:ut(t)?t.status:void 0}:Ir(t)?{type:"data",data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:"data",data:t}}function qo(e,t,r,n,a){let o=e.headers.get("Location");if(K(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!hr(o)){let i=n.slice(0,n.findIndex(l=>l.route.id===r)+1);o=kr(new URL(t.url),i,a,o),e.headers.set("Location",o)}return e}function Ln(e,t,r,n){let a=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];if(hr(e)){let o=e,i=o.startsWith("//")?new URL(t.protocol+o):new URL(o);if(a.includes(i.protocol))throw new Error("Invalid redirect location");let l=ke(i.pathname,r)!=null;if(i.origin===t.origin&&l)return i.pathname+i.search+i.hash}try{let o=n.createURL(e);if(a.includes(o.protocol))throw new Error("Invalid redirect location")}catch{}return e}function pt(e,t,r,n){let a=e.createURL(fa(t)).toString(),o={signal:r};if(n&&Se(n.formMethod)){let{formMethod:i,formEncType:l}=n;o.method=i.toUpperCase(),l==="application/json"?(o.headers=new Headers({"Content-Type":l}),o.body=JSON.stringify(n.json)):l==="text/plain"?o.body=n.text:l==="application/x-www-form-urlencoded"&&n.formData?o.body=jr(n.formData):o.body=n.formData}return new Request(a,o)}function jr(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,typeof n=="string"?n:n.name);return t}function On(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function Qo(e,t,r,n=!1,a=!1){let o={},i=null,l,u=!1,c={},m=r&&De(r[1])?r[1].error:void 0;return e.forEach(d=>{if(!(d.route.id in t))return;let p=d.route.id,g=t[p];if(K(!st(g),"Cannot handle redirect results in processLoaderData"),De(g)){let _=g.error;if(m!==void 0&&(_=m,m=void 0),i=i||{},a)i[p]=_;else{let C=tt(e,p);i[C.route.id]==null&&(i[C.route.id]=_)}n||(o[p]=ia),u||(u=!0,l=ut(g.error)?g.error.status:500),g.headers&&(c[p]=g.headers)}else o[p]=g.data,g.statusCode&&g.statusCode!==200&&!u&&(l=g.statusCode),g.headers&&(c[p]=g.headers)}),m!==void 0&&r&&(i={[r[0]]:m},r[2]&&(o[r[2]]=void 0)),{loaderData:o,errors:i,statusCode:l||200,loaderHeaders:c}}function xn(e,t,r,n,a,o){let{loaderData:i,errors:l}=Qo(t,r,n);return a.filter(u=>!u.matches||u.matches.some(c=>c.shouldLoad)).forEach(u=>{let{key:c,match:m,controller:d}=u;if(d&&d.signal.aborted)return;let p=o[c];if(K(p,"Did not find corresponding fetcher result"),De(p)){let g=tt(e.matches,m?.route.id);l&&l[g.route.id]||(l={...l,[g.route.id]:p.error}),e.fetchers.delete(c)}else if(st(p))K(!1,"Unhandled fetcher revalidation redirect");else{let g=Je(p.data);e.fetchers.set(c,g)}}),{loaderData:i,errors:l}}function Mn(e,t,r,n){let a=Object.entries(t).filter(([,o])=>o!==ia).reduce((o,[i,l])=>(o[i]=l,o),{});for(let o of r){let i=o.route.id;if(!t.hasOwnProperty(i)&&e.hasOwnProperty(i)&&o.route.loader&&(a[i]=e[i]),n&&n.hasOwnProperty(i))break}return a}function Dn(e){return e?De(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function tt(e,t){return(t?e.slice(0,e.findIndex(n=>n.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function er(e){let t=e.length===1?e[0]:e.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function Ie(e,{pathname:t,routeId:r,method:n,type:a,message:o}={}){let i="Unknown Server Error",l="Unknown @remix-run/router error";return e===400?(i="Bad Request",n&&t&&r?l=`You made a ${n} request to "${t}" but did not provide a \`loader\` for route "${r}", so there is no way to handle the request.`:a==="invalid-body"&&(l="Unable to encode submission body")):e===403?(i="Forbidden",l=`Route "${r}" does not match URL "${t}"`):e===404?(i="Not Found",l=`No route matches URL "${t}"`):e===405&&(i="Method Not Allowed",n&&t&&r?l=`You made a ${n.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${r}", so there is no way to handle the request.`:n&&(l=`Invalid request method "${n.toUpperCase()}"`)),new at(e||500,i,new Error(l),!0)}function tr(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[n,a]=t[r];if(st(a))return{key:n,result:a}}}function fa(e){let t=typeof e=="string"?nt(e):e;return Ye({...t,hash:""})}function Zo(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function ei(e){return new at(e.init?.status??500,e.init?.statusText??"Internal Server Error",e.data)}function ti(e){return e!=null&&typeof e=="object"&&Object.entries(e).every(([t,r])=>typeof t=="string"&&ri(r))}function ri(e){return e!=null&&typeof e=="object"&&"type"in e&&"result"in e&&(e.type==="data"||e.type==="error")}function ni(e){return mr(e.result)&&na.has(e.result.status)}function De(e){return e.type==="error"}function st(e){return(e&&e.type)==="redirect"}function Ir(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function mr(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function ai(e){return na.has(e)}function oi(e){return mr(e)&&ai(e.status)&&e.headers.has("Location")}function ii(e){return Fo.has(e.toUpperCase())}function Se(e){return jo.has(e.toUpperCase())}function Jr(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function ir(e,t){let r=typeof t=="string"?nt(t).search:t.search;if(e[e.length-1].route.index&&Jr(r||""))return e[e.length-1];let n=Qn(e);return n[n.length-1]}function kn(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;
19if(!(!t||!r||!n)){if(a!=null)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(o!=null)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};if(i!==void 0)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function Tr(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function li(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function Ot(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function si(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function Je(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function ui(e,t){try{let r=e.sessionStorage.getItem(oa);if(r){let n=JSON.parse(r);for(let[a,o]of Object.entries(n||{}))o&&Array.isArray(o)&&t.set(a,new Set(o||[]))}}catch{}}function ci(e,t){if(t.size>0){let r={};for(let[n,a]of t)r[n]=[...a];try{e.sessionStorage.setItem(oa,JSON.stringify(r))}catch(n){he(!1,`Failed to save applied view transitions in sessionStorage (${n}).`)}}}function An(){let e,t,r=new Promise((n,a)=>{e=async o=>{n(o);try{await r}catch{}},t=async o=>{a(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}var ct=f.createContext(null);ct.displayName="DataRouter";var gt=f.createContext(null);gt.displayName="DataRouterState";var ha=f.createContext(!1);function ma(){return f.useContext(ha)}var Xr=f.createContext({isTransitioning:!1});Xr.displayName="ViewTransition";var qr=f.createContext(new Map);qr.displayName="Fetchers";var di=f.createContext(null);di.displayName="Await";var xe=f.createContext(null);xe.displayName="Navigation";var pr=f.createContext(null);pr.displayName="Location";var Fe=f.createContext({outlet:null,matches:[],isDataRoute:!1});Fe.displayName="Route";var Qr=f.createContext(null);Qr.displayName="RouteError";var pa="REACT_ROUTER_ERROR",fi="REDIRECT",hi="ROUTE_ERROR_RESPONSE";function mi(e){if(e.startsWith(`${pa}:${fi}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function pi(e){if(e.startsWith(`${pa}:${hi}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new at(t.status,t.statusText,t.data)}catch{}}function yi(e,{relative:t}={}){K(Ut(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:n}=f.useContext(xe),{hash:a,pathname:o,search:i}=$t(e,{relative:t}),l=o;return r!=="/"&&(l=o==="/"?r:We([r,o])),n.createHref({pathname:l,search:i,hash:a})}function Ut(){return f.useContext(pr)!=null}function ze(){return K(Ut(),"useLocation() may be used only in the context of a <Router> component."),f.useContext(pr).location}var ya="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function va(e){f.useContext(xe).static||f.useLayoutEffect(e)}function ga(){let{isDataRoute:e}=f.useContext(Fe);return e?Oi():vi()}function vi(){K(Ut(),"useNavigate() may be used only in the context of a <Router> component.");let e=f.useContext(ct),{basename:t,navigator:r}=f.useContext(xe),{matches:n}=f.useContext(Fe),{pathname:a}=ze(),o=JSON.stringify(Vr(n)),i=f.useRef(!1);return va(()=>{i.current=!0}),f.useCallback((u,c={})=>
19{if(he(i.current,ya),!i.current)return;if(typeof u=="number"){r.go(u);return}let m=Gr(u,JSON.parse(o),a,c.relative==="path");e==null&&t!=="/"&&(m.pathname=m.pathname==="/"?t:We([t,m.pathname])),(c.replace?r.replace:r.push)(m,c.state,c)},[t,r,o,a,e])}var gi=f.createContext(null);function wi(e){let t=f.useContext(Fe).outlet;return f.useMemo(()=>t&&f.createElement(gi.Provider,{value:e},t),[t,e])}function wa(){let{matches:e}=f.useContext(Fe),t=e[e.length-1];return t?t.params:{}}function $t(e,{relative:t}={}){let{matches:r}=f.useContext(Fe),{pathname:n}=ze(),a=JSON.stringify(Vr(r));return f.useMemo(()=>Gr(e,JSON.parse(a),n,t==="path"),[e,a,n,t])}function Ei(e,t,r,n,a){K(Ut(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:o}=f.useContext(xe),{matches:i}=f.useContext(Fe),l=i[i.length-1],u=l?l.params:{},c=l?l.pathname:"/",m=l?l.pathnameBase:"/",d=l&&l.route;{let b=d&&d.path||"";_a(c,!d||b.endsWith("*")||b.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${b}">) 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.
20
21Please change the parent <Route path="${b}"> to <Route path="${b==="/"?"*":`${b}/*`}">.`)}let p=ze(),g;g=p;let _=g.pathname||"/",C=_;if(m!=="/"){let b=m.replace(/^\//,"").split("/");C="/"+_.replace(/^\//,"").split("/").slice(b.length).join("/")}let R=Xe(e,{pathname:C});return he(d||R!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),he(R==null||R[R.length-1].route.element!==void 0||R[R.length-1].route.Component!==void 0||R[R.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`),Ci(R&&R.map(b=>Object.assign({},b,{params:Object.assign({},u,b.params),pathname:We([m,o.encodeLocation?o.encodeLocation(b.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?m:We([m,o.encodeLocation?o.encodeLocation(b.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:b.pathnameBase])})),i,r,n,a)}function Ri(){let e=tn(),t=ut(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:n},o={padding:"2px 4px",backgroundColor:n},i=null;return console.error("Error handled by React Router default ErrorBoundary:",e),i=f.createElement(f.Fragment,null,f.createElement("p",null,"💿 Hey developer 👋"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:o},"ErrorBoundary")," or"," ",f.createElement("code",{style:o},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},t),r?f.createElement("pre",{style:a},r):null,i)}var bi=f.createElement(Ri,null),Ea=class extends f.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const r=pi(e.digest);r&&(e=r)}let t=e!==void 0?f.createElement(Fe.Provider,{value:this.props.routeContext},f.createElement(Qr.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?f.createElement(Si,{error:e},t):t}};Ea.contextType=ha;var Lr=new WeakMap;function Si({children:e,error:t}){let{basename:r}=f.useContext(xe);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let n=mi(t.digest);if(n){let a=Lr.get(t);if(a)throw a;let o=ea(n.location,r);if(Zn&&!Lr.get(t))if(o.isExternal||n.reloadDocument)window.location.href=o.absoluteURL||o.to;else{const i=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(o.to,{replace:n.replace}));throw Lr.set(t,i),i}return f.createElement("meta",{httpEquiv:"refresh",content:`0;url=${o.absoluteURL||o.to}`})}}return e}function _i({routeContext:e,match:t,children:r}){let n=f.useContext(ct);return n&&n.static&&n.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(n.staticContext._deepestRenderedBoundaryId=t.route.id),f.createElement(Fe.Provider,{value:e},r)}function Ci(e,t=[],r=null,n=null,a=null){if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let o=e,i=r?.errors;if(i!=null){let m=o.findIndex(d=>d.route.id&&i?.[d.route.id]!==void 0);K(m>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(i).join(",")}`),o=o.slice(0,Math.min(o.length,m+1))}let l=!1,u=-1;if(r)for(let m=0;m<o.length;m++){let d=o[m];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(u=m),d.route.id){let{loaderData:p,errors:g}
21=r,_=d.route.loader&&!p.hasOwnProperty(d.route.id)&&(!g||g[d.route.id]===void 0);if(d.route.lazy||_){l=!0,u>=0?o=o.slice(0,u+1):o=[o[0]];break}}}let c=r&&n?(m,d)=>{n(m,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:Ft(r.matches),errorInfo:d})}:void 0;return o.reduceRight((m,d,p)=>{let g,_=!1,C=null,R=null;r&&(g=i&&d.route.id?i[d.route.id]:void 0,C=d.route.errorElement||bi,l&&(u<0&&p===0?(_a("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),_=!0,R=null):u===p&&(_=!0,R=d.route.hydrateFallbackElement||null)));let L=t.concat(o.slice(0,p+1)),b=()=>{let M;return g?M=C:_?M=R:d.route.Component?M=f.createElement(d.route.Component,null):d.route.element?M=d.route.element:M=m,f.createElement(_i,{match:d,routeContext:{outlet:m,matches:L,isDataRoute:r!=null},children:M})};return r&&(d.route.ErrorBoundary||d.route.errorElement||p===0)?f.createElement(Ea,{location:r.location,revalidation:r.revalidation,component:C,error:g,children:b(),routeContext:{outlet:null,matches:L,isDataRoute:!0},onError:c}):b()},null)}function Zr(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ra(e){let t=f.useContext(ct);return K(t,Zr(e)),t}function wt(e){let t=f.useContext(gt);return K(t,Zr(e)),t}function Pi(e){let t=f.useContext(Fe);return K(t,Zr(e)),t}function zt(e){let t=Pi(e),r=t.matches[t.matches.length-1];return K(r.route.id,`${e} can only be used on routes that contain a unique "id"`),r.route.id}function Ti(){return zt("useRouteId")}function Li(){return wt("useNavigation").navigation}function ms(){let e=Ra("useRevalidator"),t=wt("useRevalidator"),r=f.useCallback(async()=>{await e.router.revalidate()},[e.router]);return f.useMemo(()=>({revalidate:r,state:t.revalidation}),[r,t.revalidation])}function en(){let{matches:e,loaderData:t}=wt("useMatches");return f.useMemo(()=>e.map(r=>Gn(r,t)),[e,t])}function ba(){let e=wt("useLoaderData"),t=zt("useLoaderData");return e.loaderData[t]}function Sa(){let e=wt("useActionData"),t=zt("useLoaderData");return e.actionData?e.actionData[t]:void 0}function tn(){let e=f.useContext(Qr),t=wt("useRouteError"),r=zt("useRouteError");return e!==void 0?e:t.errors?.[r]}function Oi(){let{router:e}=Ra("useNavigate"),t=zt("useNavigate"),r=f.useRef(!1);return va(()=>{r.current=!0}),f.useCallback(async(a,o={})=>{he(r.current,ya),r.current&&(typeof a=="number"?await e.navigate(a):await e.navigate(a,{fromRouteId:t,...o}))},[e,t])}var Nn={};function _a(e,t,r){!t&&!Nn[e]&&(Nn[e]=!0,he(!1,r))}var jn={};function Fr(e,t){!e&&!jn[t]&&(jn[t]=!0,console.warn(t))}var xi="useOptimistic",In=eo[xi],Mi=()=>{};function Di(e){return In?In(e):[e,Mi]}function ps(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&he(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:f.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&he(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:f.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&he(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:f.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var ys=["HydrateFallback","hydrateFallbackElement"],ki=class{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",e(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",t(r))}})}};function vs({router:e,flushSync:t,onError:r,unstable_useTransitions:n}){n=ma()||n;let[o,i]=f.useState(e.state),[l,u]=Di(o),[c,m]=f.useState(),[d,p]=f.useState({isTransitioning:!1}),[g,_]=f.useState(),[C,R]=f.useState(),[L,b]=f.useState(),M=f.useRef(new Map),k=f.useCallback((A,{deletedFetchers:W,newErrors:Z,flushSync:ee,viewTransitionOpts:Y})=>
21{Z&&r&&Object.values(Z).forEach(ue=>r(ue,{location:A.location,params:A.matches[0]?.params??{},unstable_pattern:Ft(A.matches)})),A.fetchers.forEach((ue,q)=>{ue.data!==void 0&&M.current.set(q,ue.data)}),W.forEach(ue=>M.current.delete(ue)),Fr(ee===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable.  Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let pe=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition=="function";if(Fr(Y==null||pe,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!Y||!pe){t&&ee?t(()=>i(A)):n===!1?i(A):f.startTransition(()=>{n===!0&&u(ue=>Fn(ue,A)),i(A)});return}if(t&&ee){t(()=>{C&&(g?.resolve(),C.skipTransition()),p({isTransitioning:!0,flushSync:!0,currentLocation:Y.currentLocation,nextLocation:Y.nextLocation})});let ue=e.window.document.startViewTransition(()=>{t(()=>i(A))});ue.finished.finally(()=>{t(()=>{_(void 0),R(void 0),m(void 0),p({isTransitioning:!1})})}),t(()=>R(ue));return}C?(g?.resolve(),C.skipTransition(),b({state:A,currentLocation:Y.currentLocation,nextLocation:Y.nextLocation})):(m(A),p({isTransitioning:!0,flushSync:!1,currentLocation:Y.currentLocation,nextLocation:Y.nextLocation}))},[e.window,t,C,g,n,u,r]);f.useLayoutEffect(()=>e.subscribe(k),[e,k]),f.useEffect(()=>{d.isTransitioning&&!d.flushSync&&_(new ki)},[d]),f.useEffect(()=>{if(g&&c&&e.window){let A=c,W=g.promise,Z=e.window.document.startViewTransition(async()=>{n===!1?i(A):f.startTransition(()=>{n===!0&&u(ee=>Fn(ee,A)),i(A)}),await W});Z.finished.finally(()=>{_(void 0),R(void 0),m(void 0),p({isTransitioning:!1})}),R(Z)}},[c,g,e.window,n,u]),f.useEffect(()=>{g&&c&&l.location.key===c.location.key&&g.resolve()},[g,C,l.location,c]),f.useEffect(()=>{!d.isTransitioning&&L&&(m(L.state),p({isTransitioning:!0,flushSync:!1,currentLocation:L.currentLocation,nextLocation:L.nextLocation}),b(void 0))},[d.isTransitioning,L]);let x=f.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:A=>e.navigate(A),push:(A,W,Z)=>e.navigate(A,{state:W,preventScrollReset:Z?.preventScrollReset}),replace:(A,W,Z)=>e.navigate(A,{replace:!0,state:W,preventScrollReset:Z?.preventScrollReset})}),[e]),N=e.basename||"/",w=f.useMemo(()=>({router:e,navigator:x,static:!1,basename:N,onError:r}),[e,x,N,r]);return f.createElement(f.Fragment,null,f.createElement(ct.Provider,{value:w},f.createElement(gt.Provider,{value:l},f.createElement(qr.Provider,{value:M.current},f.createElement(Xr.Provider,{value:d},f.createElement(ji,{basename:N,location:l.location,navigationType:l.historyAction,navigator:x,unstable_useTransitions:n},f.createElement(Ai,{routes:e.routes,future:e.future,state:l,onError:r})))))),null)}function Fn(e,t){return{...e,navigation:t.navigation.state!=="idle"?t.navigation:e.navigation,revalidation:t.revalidation!=="idle"?t.revalidation:e.revalidation,actionData:t.navigation.state!=="submitting"?t.actionData:e.actionData,fetchers:t.fetchers}}var Ai=f.memo(Ni);function Ni({routes:e,future:t,state:r,onError:n}){return Ei(e,void 0,r,n,t)}function gs(e){return wi(e.context)}function ji({basename:e="/",children:t=null,location:r,navigationType:n="POP",navigator:a,static:o=!1,unstable_useTransitions:i}){K(!Ut(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let l=e.replace(/^\/*/,"/"),u=f.useMemo(()=>({basename:l,navigator:a,static:o,unstable_useTransitions:i,future:{}}),[l,a,o,i]);typeof r=="string"&&(r=nt(r));let{pathname:c="/",search:m="",hash:d="",state:p=null,key:g="default"}=r,_=f.useMemo(()=>{let C=ke(c,l);return C==null?null:{location:{pathname:C,search:m,hash:d,state:p,key:g},navigationType:n}},[l,c,m,d,p,g,n]);return he(_!=null,`<Router basename="${l}"> is not able to match the URL "${c}${m}${d}
21" because it does not start with the basename, so the <Router> won't render anything.`),_==null?null:f.createElement(xe.Provider,{value:u},f.createElement(pr.Provider,{children:t,value:_}))}function Ii(){return{params:wa(),loaderData:ba(),actionData:Sa(),matches:en()}}function ws(e){return function(){const r=Ii();return f.createElement(e,r)}}function Fi(){return{params:wa(),loaderData:ba(),actionData:Sa(),error:tn()}}function Es(e){return function(){const r=Fi();return f.createElement(e,r)}}var lr="get",sr="application/x-www-form-urlencoded";function yr(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function Ui(e){return yr(e)&&e.tagName.toLowerCase()==="button"}function $i(e){return yr(e)&&e.tagName.toLowerCase()==="form"}function zi(e){return yr(e)&&e.tagName.toLowerCase()==="input"}function Hi(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Bi(e,t){return e.button===0&&(!t||t==="_self")&&!Hi(e)}function Ur(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function Wi(e,t){let r=Ur(e);return t&&t.forEach((n,a)=>{r.has(a)||t.getAll(a).forEach(o=>{r.append(a,o)})}),r}var rr=null;function Yi(){if(rr===null)try{new FormData(document.createElement("form"),0),rr=!1}catch{rr=!0}return rr}var Vi=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Or(e){return e!=null&&!Vi.has(e)?(he(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${sr}"`),null):e}function Gi(e,t){let r,n,a,o,i;if($i(e)){let l=e.getAttribute("action");n=l?ke(l,t):null,r=e.getAttribute("method")||lr,a=Or(e.getAttribute("enctype"))||sr,o=new FormData(e)}else if(Ui(e)||zi(e)&&(e.type==="submit"||e.type==="image")){let l=e.form;if(l==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let u=e.getAttribute("formaction")||l.getAttribute("action");if(n=u?ke(u,t):null,r=e.getAttribute("formmethod")||l.getAttribute("method")||lr,a=Or(e.getAttribute("formenctype"))||Or(l.getAttribute("enctype"))||sr,o=new FormData(l,e),!Yi()){let{name:c,type:m,value:d}=e;if(m==="image"){let p=c?`${c}.`:"";o.append(`${p}x`,"0"),o.append(`${p}y`,"0")}else c&&o.append(c,d)}}else{if(yr(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=lr,n=null,a=sr,i=e}return o&&a==="text/plain"&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}var Ki=-1,Ji=-2,Xi=-3,qi=-4,Qi=-5,Zi=-6,el=-7,tl="B",rl="D",Ca="E",nl="M",al="N",Pa="P",ol="R",il="S",ll="Y",sl="U",ul="Z",Ta=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function cl(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,n){const a=e.decode(r,{stream:!0}),o=(t+a).split(`
22`);t=o.pop()||"";for(const i of o)n.enqueue(i)},flush(r){t&&r.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var xr=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function $r(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return Un.call(this,e);if(!Array.isArray(e)||!e.length)throw new SyntaxError;const n=r.length;for(const a of e)r.push(a);return t.length=r.length,Un.call(this,n)}function Un(e){const{hydrated:t,values:r,deferred:n,plugins:a}=this;let o;const i=[[e,u=>{o=u}]];let l=[];for(;i.length>0;){const[u,c]=i.pop();switch(u){case el:c(void 0);continue;case Qi:c(null);continue;case Ji:c(NaN);continue;case Zi:c(1/0);continue;case Xi:c(-1/0);continue;case qi:c(-0);continue}if(t[u]){c(t[u]);continue}const m=r[u];if(!m||typeof m!="object"){t[u]=m,c(m);continue}if(Array.isArray(m))if(typeof m[0]=="string"){const[d,p,g]=m;switch(d){case rl:c(t[u]=new Date(p));continue;case sl:c(t[u]=new URL(p));continue;case tl:c(t[u]=BigInt(p));continue;case ol:c(t[u]=new RegExp(p,g));continue;case ll:c(t[u]=Symbol.for(p));continue;case il:const _=new Set;t[u]=_;for(let k=m.length-1;k>0;k--)i.push([m[k],x=>{_.add(x)}]);c(_);continue;case nl:const C=new Map;t[u]=C;for(let k=m.length-2;k>0;k-=2){const x=[];i.push([m[k+1],N=>{x[1]=N}]),i.push([m[k],N=>{x[0]=N}]),l.push(()=>{C.set(x[0],x[1])})}c(C);continue;case al:const R=Object.create(null);t[u]=R;for(const k of Object.keys(p).reverse()){const x=[];i.push([p[k],N=>{x[1]=N}]),i.push([Number(k.slice(1)),N=>{x[0]=N}]),l.push(()=>{R[x[0]]=x[1]})}c(R);continue;case Pa:if(t[p])c(t[u]=t[p]);
22else{const k=new Ta;n[p]=k,c(t[u]=k.promise)}continue;case Ca:const[,L,b]=m;let M=b&&xr&&xr[b]?new xr[b](L):new Error(L);t[u]=M,c(M);continue;case ul:c(t[u]=t[p]);continue;default:if(Array.isArray(a)){const k=[],x=m.slice(1);for(let N=0;N<x.length;N++){const w=x[N];i.push([w,A=>{k[N]=A}])}l.push(()=>{for(const N of a){const w=N(m[0],...k);if(w){c(t[u]=w.value);return}}throw new SyntaxError});continue}throw new SyntaxError}}else{const d=[];t[u]=d;for(let p=0;p<m.length;p++){const g=m[p];g!==Ki&&i.push([g,_=>{d[p]=_}])}c(d);continue}else{const d={};t[u]=d;for(const p of Object.keys(m).reverse()){const g=[];i.push([m[p],_=>{g[1]=_}]),i.push([Number(p.slice(1)),_=>{g[0]=_}]),l.push(()=>{d[g[0]]=g[1]})}c(d);continue}}for(;l.length>0;)l.pop()();return o}async function dl(e,t){const{plugins:r}=t??{},n=new Ta,a=e.pipeThrough(cl()).getReader(),o={values:[],hydrated:[],deferred:{},plugins:r},i=await fl.call(o,a);let l=n.promise;return i.done?n.resolve():l=hl.call(o,a).then(n.resolve).catch(u=>{for(const c of Object.values(o.deferred))c.reject(u);n.reject(u)}),{done:l.then(()=>a.closed),value:i.value}}async function fl(e){const t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch{throw new SyntaxError}return{done:t.done,value:$r.call(this,r)}}async function hl(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case Pa:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),o=this.deferred[a];if(!o)throw new Error(`Deferred ID ${a} not found in stream`);const i=r.slice(n+1);let l;try{l=JSON.parse(i)}catch{throw new SyntaxError}const u=$r.call(this,l);o.resolve(u);break}case Ca:{const n=r.indexOf(":"),a=Number(r.slice(1,n)),o=this.deferred[a];if(!o)throw new Error(`Deferred ID ${a} not found in stream`);const i=r.slice(n+1);let l;try{l=JSON.parse(i)}catch{throw new SyntaxError}const u=$r.call(this,l);o.reject(u);break}default:throw new SyntaxError}t=await e.read()}}async function ml(e){let t={signal:e.signal};if(e.method!=="GET"){t.method=e.method;let r=e.headers.get("Content-Type");r&&/\bapplication\/json\b/.test(r)?(t.headers={"Content-Type":r},t.body=JSON.stringify(await e.json())):r&&/\btext\/plain\b/.test(r)?(t.headers={"Content-Type":r},t.body=await e.text()):r&&/\bapplication\/x-www-form-urlencoded\b/.test(r)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}var pl={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},yl=/[&><\u2028\u2029]/g;function zr(e){return e.replace(yl,t=>pl[t])}function Ce(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}var Hr=Symbol("SingleFetchRedirect"),La=class extends Error{},vl=202,gl=new Set([100,101,204,205]);function Rs(e,t,r,n,a,o){let i=wl(e,l=>{let u=t.routes[l.route.id];Ce(u,"Route not found in manifest");let c=r[l.route.id];return{hasLoader:u.hasLoader,hasClientLoader:u.hasClientLoader,hasS
22houldRevalidate:!!c?.shouldRevalidate}},Pl,n,a,o);return async l=>l.runClientMiddleware(i)}function wl(e,t,r,n,a,o,i=()=>!0){return async l=>{let{request:u,matches:c,fetcherKey:m}=l,d=e();if(u.method!=="GET")return El(l,r,a,o);let p=c.some(g=>{let{hasLoader:_,hasClientLoader:C}=t(g);return g.shouldCallHandler()&&_&&!C});return!n&&!p?Rl(l,t,r,a,o):m?_l(l,r,a,o):bl(l,d,t,r,n,a,o,i)}}async function El(e,t,r,n){let a=e.matches.find(l=>l.shouldCallHandler());Ce(a,"No action match found");let o,i=await a.resolve(async l=>await l(async()=>{let{data:c,status:m}=await t(e,r,n,[a.route.id]);return o=m,It(c,a.route.id)}));return mr(i.result)||ut(i.result)||Ir(i.result)?{[a.route.id]:i}:{[a.route.id]:{type:i.type,result:Lo(i.result,o)}}}async function Rl(e,t,r,n,a){let o=e.matches.filter(l=>l.shouldCallHandler()),i={};return await Promise.all(o.map(l=>l.resolve(async u=>{try{let{hasClientLoader:c}=t(l),m=l.route.id,d=c?await u(async()=>{let{data:p}=await r(e,n,a,[m]);return It(p,m)}):await u();i[l.route.id]={type:"data",result:d}}catch(c){i[l.route.id]={type:"error",result:c}}}))),i}async function bl(e,t,r,n,a,o,i,l=()=>!0){let u=new Set,c=!1,m=e.matches.map(()=>$n()),d=$n(),p={},g=Promise.all(e.matches.map(async(C,R)=>C.resolve(async L=>{m[R].resolve();let b=C.route.id,{hasLoader:M,hasClientLoader:k,hasShouldRevalidate:x}=r(C),N=!C.shouldRevalidateArgs||C.shouldRevalidateArgs.actionStatus==null||C.shouldRevalidateArgs.actionStatus<400;if(!C.shouldCallHandler(N)){c||(c=C.shouldRevalidateArgs!=null&&M&&x===!0);return}if(l(C)&&k){M&&(c=!0);try{let A=await L(async()=>{let{data:W}=await n(e,o,i,[b]);return It(W,b)});p[b]={type:"data",result:A}}catch(A){p[b]={type:"error",result:A}}return}M&&u.add(b);try{let A=await L(async()=>{let W=await d.promise;return It(W,b)});p[b]={type:"data",result:A}}catch(A){p[b]={type:"error",result:A}}})));if(await Promise.all(m.map(C=>C.promise)),(!t.state.initialized&&t.state.navigation.state==="idle"||u.size===0)&&!window.__reactRouterHdrActive)d.resolve({routes:{}});else{let C=a&&c&&u.size>0?[...u.keys()]:void 0;try{let R=await n(e,o,i,C);d.resolve(R.data)}catch(R){d.reject(R)}}return await g,await Sl(d.promise,e.matches,u,p),p}async function Sl(e,t,r,n){try{let a,o=await e;if("routes"in o){for(let i of t)if(i.route.id in o.routes){let l=o.routes[i.route.id];if("error"in l){a=l.error,n[i.route.id]?.result==null&&(n[i.route.id]={type:"error",result:a});break}}}a!==void 0&&Array.from(r.values()).forEach(i=>{n[i].result instanceof La&&(n[i].result=a)})}catch{}}async function _l(e,t,r,n){let a=e.matches.find(l=>l.shouldCallHandler());Ce(a,"No fetcher match found");let o=a.route.id,i=await a.resolve(async l=>l(async()=>{let{data:u}=await t(e,r,n,[o]);return It(u,o)}));return{[a.route.id]:i}}function Cl(e){let t=e.searchParams.getAll("index");e.searchParams.delete("index");let r=[];for(let n of t)n&&r.push(n);for(let n of r)e.searchParams.append("index",n);return e}function Oa(e,t,r,n){let a=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return r?a.pathname.endsWith("/")?a.pathname=`${a.pathname}_.${n}`:a.pathname=`${a.pathname}.${n}`:a.pathname==="/"?a.pathname=`_root.${n}`:t&&ke(a.pathname,t)==="/"?a.pathname=`${t.replace(/\/$/,"")}/_root.${n}`:a.pathname=`${a.pathname.replace(/\/$/,"")}.${n}`,a}async function Pl(e,t,r,n){let{request:a}=e,o=Oa(a.url,t,r,"data");a.method==="GET"&&(o=Cl(o),n&&o.searchParams.set("_routes",n.join(",")));let i=await fetch(o,await ml(a));if(i.status>=400&&!i.headers.has("X-Remix-Response"))throw new at(i.status,i.statusText,await i.text());if(i.status===204&&i.headers.has("X-Remix-Redirect"))return{status:vl,data:{redirect:{redirect:i.headers.get("X-Remix-Redirect"),status:Number(i.headers.get("X-Remix-Status")||"302"),revalidate:i.headers.get("X-Remix-Revalidate")==="true",reload:i.headers.get("X-Remix-Reload-Document")==="true",replace:i.headers.get("X-Remix-Replace")==="true"}}};if(gl.has(i.status)){let l={};return n&&a.method!=="GET"&&(l[n[0]]={data:void 0}),{status:i.status,data:{routes:l}}}Ce(i.body,"No response body to decode");try{let l=await Tl(i.body,window),u;if(a.method==="GET"){let c=l.value;Hr in c?u={redirect:c[Hr]}:u={routes:c}}else{let c=l.value,m=n?.[0];Ce(m,"No routeId found for single fetch call decoding"),"redirect"in c?u={redirect:c}:u={routes:{[m]:c}}}return{status:i.status,data:u}}catch{throw new Error("Unable to decode turbo-stream response")}}function Tl(e,t){return dl(e,{plugins:[(r,...n)=>{if(r==="SanitizedError"){let[a,o,i]=n,l=Error;a&&a in t&&typeof t[a]=="function"&&(l=t[a]);let u=new l(o);return u.stack=i,{value:u}}if(r==="ErrorResponse"){let[a,o,i]=n;return{value:new at(o,i,a)}}if(r==="SingleFetchRedirect")return{value:{[Hr]:n[0]}};if(r==="SingleFetchClassInstance")return{value:n[0]};if(r==="SingleFetchFallback")return{value:void 0}}]})}function It(e,t){if("redirect"in e){let{redirect:n,revalidate:a,reload:o,replace:i,status:l}=e.redirect;throw Oo(n,{status:l,headers:{...a?{"X-Remix-Revalidate":"yes"}:null,...o?{"X-Remix-Reload-Document":"yes"}:null,...i?{"X-Remix-Replace":"yes"}:null}})}let r=e.routes[t];if(r==null)throw new La(`No result found for routeId "${t}"`);if("error"in r)throw r.error;if("data"in r)return r.data;throw new Error(`Invalid response found for routeId "${t}"`)}function $n(){let e,t,r=new Promise((n,a)=>{e=async o=>
22{n(o);try{await r}catch{}},t=async o=>{a(o);try{await r}catch{}}});return{promise:r,resolve:e,reject:t}}async function xa(e,t){if(e.id in t)return t[e.id];try{let r=await import(e.module);return t[e.id]=r,r}catch(r){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(r),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Ll(e,t,r){let n=e.map(o=>{let i=t[o.route.id],l=r.routes[o.route.id];return[l&&l.css?l.css.map(u=>({rel:"stylesheet",href:u})):[],i?.links?.()||[]]}).flat(2),a=nn(e,r);return Aa(n,a)}function Ma(e){return e.css?e.css.map(t=>({rel:"stylesheet",href:t})):[]}async function Ol(e){if(!e.css)return;let t=Ma(e);await Promise.all(t.map(ka))}async function Da(e,t){if(!e.css&&!t.links||!Al())return;let r=[];if(e.css&&r.push(...Ma(e)),t.links&&r.push(...t.links()),r.length===0)return;let n=[];for(let a of r)!rn(a)&&a.rel==="stylesheet"&&n.push({...a,rel:"preload",as:"style"});await Promise.all(n.map(ka))}async function ka(e){return new Promise(t=>{if(e.media&&!window.matchMedia(e.media).matches||document.querySelector(`link[rel="stylesheet"][href="${e.href}"]`))return t();let r=document.createElement("link");Object.assign(r,e);function n(){document.head.contains(r)&&document.head.removeChild(r)}r.onload=()=>{n(),t()},r.onerror=()=>{n(),t()},document.head.appendChild(r)})}function rn(e){return e!=null&&typeof e.page=="string"}function xl(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function Ml(e,t,r){let n=await Promise.all(e.map(async a=>{let o=t.routes[a.route.id];if(o){let i=await xa(o,r);return i.links?i.links():[]}return[]}));return Aa(n.flat(1).filter(xl).filter(a=>a.rel==="stylesheet"||a.rel==="preload").map(a=>a.rel==="stylesheet"?{...a,rel:"prefetch",as:"style"}:{...a,rel:"prefetch"}))}function zn(e,t,r,n,a,o){let i=(u,c)=>r[c]?u.route.id!==r[c].route.id:!0,l=(u,c)=>r[c].pathname!==u.pathname||r[c].route.path?.endsWith("*")&&r[c].params["*"]!==u.params["*"];return o==="assets"?t.filter((u,c)=>i(u,c)||l(u,c)):o==="data"?t.filter((u,c)=>{let m=n.routes[u.route.id];if(!m||!m.hasLoader)return!1;if(i(u,c)||l(u,c))return!0;if(u.route.shouldRevalidate){let d=u.route.shouldRevalidate({currentUrl:new URL(a.pathname+a.search+a.hash,window.origin),currentParams:r[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:u.params,defaultShouldRevalidate:!0});if(typeof d=="boolean")return d}return!0}):[]}function nn(e,t,{includeHydrateFallback:r}={}){return Dl(e.map(n=>{let a=t.routes[n.route.id];if(!a)return[];let o=[a.module];return a.clientActionModule&&(o=o.concat(a.clientActionModule)),a.clientLoaderModule&&(o=o.concat(a.clientLoaderModule)),r&&a.hydrateFallbackModule&&(o=o.concat(a.hydrateFallbackModule)),a.imports&&(o=o.concat(a.imports)),o}).flat(1))}function Dl(e){return[...new Set(e)]}function kl(e){let t={},r=Object.keys(e).sort();for(let n of r)t[n]=e[n];return t}function Aa(e,t){let r=new Set,n=new Set(t);return e.reduce((a,o)=>{if(t&&!rn(o)&&o.as==="script"&&o.href&&n.has(o.href))return a;let l=JSON.stringify(kl(o));return r.has(l)||(r.add(l),a.push({key:l,link:o})),a},[])}var nr;function Al(){if(nr!==void 0)return nr;let e=document.createElement("link");return nr=e.relList.supports("preload"),e=null,nr}function Nl(){return f.createElement(Br,{title:"Loading...",renderScripts:!0},f.createElement("script",{dangerouslySetInnerHTML:{__html:`
23              console.log(
24                "💿 Hey developer 👋. You can provide a way better UX than this " +
25                "when your app is loading JS modules and/or running \`clientLoader\` " +
26                "functions. Check out https://reactrouter.com/start/framework/route-module#hydratefallback " +
27                "for more information."
28              );
29            `}}))}function Na(e){let t={};return Object.values(e).forEach(r=>{if(r){let n=r.parentId||"";t[n]||(t[n]=[]),t[n].push(r)}}),t}function jl(e,t,r){let n=ja(t),a=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?Nl:void 0,o=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>f.createElement(Ua,{error:tn()}):void 0;return e.id==="root"&&t.Layout?{...n?{element:f.createElement(t.Layout,null,f.createElement(n,null))}:{Component:n},...o?{errorElement:f.createElement(t.Layout,null,f.createElement(o,null))}:{ErrorBoundary:o},...a?{hydrateFallbackElement:f.createElement(t.Layout,null,f.createElement(a,null))}:{HydrateFallback:a}}:{Component:n,ErrorBoundary:o,HydrateFallback:a}}function bs(e,t,r,n,a,o){return an(t,r,n,a,o,"",Na(t),e)}function ar(e,t){if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction){let n=`You are trying to call ${e==="action"?"serverAction()":"serverLoader()"} on a route that does not have a server ${e} (routeId: "${t.id}")`;throw console.error(n),new at(400,"Bad Request",new Error(n),!0)}}function Mr(e,t){let r=e==="clientAction"?"a":"an",n=`Route "${t}" does not have ${r} ${e}, but you are trying to submit to it. To fix this, please add ${r} \`${e}\` function to the route`;throw console.error(n),new at(405,"Method Not Allowed",new Error(n),!0)}function an(e,t,r,n,a,o="",i=Na(e),l){return(i[o]||[]).map(u=>{let c=t[u.id];function m(b){return Ce(typeof b=="function","No single fetch function available for route handler"),b()}
29function d(b){return u.hasLoader?m(b):Promise.resolve(null)}function p(b){if(!u.hasAction)throw Mr("action",u.id);return m(b)}function g(b){import(b)}function _(b){b.clientActionModule&&g(b.clientActionModule),b.clientLoaderModule&&g(b.clientLoaderModule)}async function C(b){let M=t[u.id],k=M?Da(u,M):Promise.resolve();try{return b()}finally{await k}}let R={id:u.id,index:u.index,path:u.path};if(c){Object.assign(R,{...R,...jl(u,c,a),middleware:c.clientMiddleware,handle:c.handle,shouldRevalidate:Hn(R.path,c,u,n,l)});let b=r&&r.loaderData&&u.id in r.loaderData,M=b?r?.loaderData?.[u.id]:void 0,k=r&&r.errors&&u.id in r.errors,x=k?r?.errors?.[u.id]:void 0,N=l==null&&(c.clientLoader?.hydrate===!0||!u.hasLoader);R.loader=async({request:w,params:A,context:W,unstable_pattern:Z},ee)=>{try{return await C(async()=>(Ce(c,"No `routeModule` available for critical-route loader"),c.clientLoader?c.clientLoader({request:w,params:A,context:W,unstable_pattern:Z,async serverLoader(){if(ar("loader",u),N){if(b)return M;if(k)throw x}return d(ee)}}):d(ee)))}finally{N=!1}},R.loader.hydrate=Ul(u.id,c.clientLoader,u.hasLoader,a),R.action=({request:w,params:A,context:W,unstable_pattern:Z},ee)=>C(async()=>{if(Ce(c,"No `routeModule` available for critical-route action"),!c.clientAction){if(a)throw Mr("clientAction",u.id);return p(ee)}return c.clientAction({request:w,params:A,context:W,unstable_pattern:Z,async serverAction(){return ar("action",u),p(ee)}})})}else{u.hasClientLoader||(R.loader=(k,x)=>C(()=>d(x))),u.hasClientAction||(R.action=(k,x)=>C(()=>{if(a)throw Mr("clientAction",u.id);return p(x)}));let b;async function M(){return b?await b:(b=(async()=>{(u.clientLoaderModule||u.clientActionModule)&&await new Promise(x=>setTimeout(x,0));let k=Fl(u,t);return _(u),await k})(),await b)}R.lazy={loader:u.hasClientLoader?async()=>{let{clientLoader:k}=u.clientLoaderModule?await import(u.clientLoaderModule):await M();return Ce(k,"No `clientLoader` export found"),(x,N)=>k({...x,async serverLoader(){return ar("loader",u),d(N)}})}:void 0,action:u.hasClientAction?async()=>{let k=u.clientActionModule?import(u.clientActionModule):M();_(u);let{clientAction:x}=await k;return Ce(x,"No `clientAction` export found"),(N,w)=>x({...N,async serverAction(){return ar("action",u),p(w)}})}:void 0,middleware:u.hasClientMiddleware?async()=>{let{clientMiddleware:k}=u.clientMiddlewareModule?await import(u.clientMiddlewareModule):await M();return Ce(k,"No `clientMiddleware` export found"),k}:void 0,shouldRevalidate:async()=>{let k=await M();return Hn(R.path,k,u,n,l)},handle:async()=>(await M()).handle,Component:async()=>(await M()).Component,ErrorBoundary:u.hasErrorBoundary?async()=>(await M()).ErrorBoundary:void 0}}let L=an(e,t,r,n,a,u.id,i,l);return L.length>0&&(R.children=L),R})}function Hn(e,t,r,n,a){if(a)return Il(r.id,t.shouldRevalidate,a);if(!n&&r.hasLoader&&!r.hasClientLoader){let o=e?Xn(e)[1].map(l=>l.paramName):[];const i=l=>o.some(u=>l.currentParams[u]!==l.nextParams[u]);if(t.shouldRevalidate){let l=t.shouldRevalidate;return u=>l({...u,defaultShouldRevalidate:i(u)})}else return l=>i(l)}return t.shouldRevalidate}function Il(e,t,r){let n=!1;return a=>n?t?t(a):a.defaultShouldRevalidate:(n=!0,r.has(e))}async function Fl(e,t){let r=xa(e,t),n=Ol(e),a=await r;return await Promise.all([n,Da(e,a)]),{Component:ja(a),ErrorBoundary:a.ErrorBoundary,clientMiddleware:a.clientMiddleware,clientAction:a.clientAction,clientLoader:a.clientLoader,handle:a.handle,links:a.links,meta:a.meta,shouldRevalidate:a.shouldRevalidate}}function ja(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function Ul(e,t,r,n){return n&&e!=="root"||t!=null&&(t.hydrate===!0||r!==!0)}var ur=new Set,$l=1e3,dr=new Set,zl=7680;function on(e,t){return e.mode==="lazy"&&t===!0}function Hl({sri:e,...t},r){let n=new Set(r.state.matches.map(l=>l.route.id)),a=r.state.location.pathname.split("/").filter(Boolean),o=["/"];for(a.pop();a.length>0;)o.push(`/${a.join("/")}`),a.pop();o.forEach(l=>{let u=Xe(r.routes,l,r.basename);u&&u.forEach(c=>n.add(c.route.id))});let i=[...n].reduce((l,u)=>Object.assign(l,{[u]:t.routes[u]}),{});return{...t,routes:i,sri:e?!0:void 0}}function Ss(e,t,r,n,a,o){if(on(n,r))return async({path:i,patch:l,signal:u,fetcherKey:c})=>{dr.has(i)||await Ia([i],c?window.location.href:i,e,t,r,a,o,n.manifestPath,l,u)}}function _s(e,t,r,n,a,o){f.useEffect(()=>{if(!on(a,n)||window.navigator?.connection?.saveData===!0)return;function i(m){let d=m.tagName==="FORM"?m.getAttribute("action"):m.getAttribute("href");if(!d)return;let p=m.tagName==="A"?m.pathname:new URL(d,window.location.origin).pathname;dr.has(p)||ur.add(p)}async function l(){document.querySelectorAll("a[data-discover], form[data-discover]").forEach(i);let m=Array.from(ur.keys()).filter(d=>dr.has(d)?(ur.delete(d),!1):!0);if(m.length!==0)try{await Ia(m,null,t,r,n,o,e.basename,a.manifestPath,e.patchRoutes)}catch(d){console.error("Failed to fetch manifest patches",d)}}let u=Yl(l,100);l();let c=new MutationObserver(()=>u());return c.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["data-discover","href","action"]}),()=>c.disconnect()},[n,o,t,r,e,a])}function Bl(e,t){let r=e||"/__manifest";return t==null?r:`${t}${r}`.replace(/\/+/g,"/")}var Dr="react-router-manifest-version";async function Ia(e,t,r,n,a,o,i,l,u,c){const m=new URLSearchParams;m.set("paths",e.sort().join(",")),m.set("version",r.version);let d=new URL(Bl(l,i),window.location.origin);if(d.search=m.toString(),d.toString().length>zl){ur.clear();return}let p;try{let R=await fetch(d,{signal:c});if(R.ok){if(R.status===204&&R.headers.has("X-Remix-Reload-Document")){if(!t){console.warn("Detected a manifest version mismatch during eager route discovery. The next navigation/fetch to an undiscovered route will result in a 
29new document navigation to sync up with the latest manifest.");return}try{if(sessionStorage.getItem(Dr)===r.version){console.error("Unable to discover routes due to manifest version mismatch.");return}sessionStorage.setItem(Dr,r.version)}catch{}window.location.href=t,console.warn("Detected manifest version mismatch, reloading..."),await new Promise(()=>{})}else if(R.status>=400)throw new Error(await R.text())}else throw new Error(`${R.status} ${R.statusText}`);try{sessionStorage.removeItem(Dr)}catch{}p=await R.json()}catch(R){if(c?.aborted)return;throw R}let g=new Set(Object.keys(r.routes)),_=Object.values(p).reduce((R,L)=>(L&&!g.has(L.id)&&(R[L.id]=L),R),{});Object.assign(r.routes,_),e.forEach(R=>Wl(R,dr));let C=new Set;Object.values(_).forEach(R=>{R&&(!R.parentId||!_[R.parentId])&&C.add(R.parentId)}),C.forEach(R=>u(R||null,an(_,n,null,a,o,R)))}function Wl(e,t){if(t.size>=$l){let r=t.values().next().value;t.delete(r)}t.add(e)}function Yl(e,t){let r;return(...n)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...n),t)}}function ln(){let e=f.useContext(ct);return Ce(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function vr(){let e=f.useContext(gt);return Ce(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var gr=f.createContext(void 0);gr.displayName="FrameworkContext";function Et(){let e=f.useContext(gr);return Ce(e,"You must render this element inside a <HydratedRouter> element"),e}function Vl(e,t){let r=f.useContext(gr),[n,a]=f.useState(!1),[o,i]=f.useState(!1),{onFocus:l,onBlur:u,onMouseEnter:c,onMouseLeave:m,onTouchStart:d}=t,p=f.useRef(null);f.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let C=L=>{L.forEach(b=>{i(b.isIntersecting)})},R=new IntersectionObserver(C,{threshold:.5});return p.current&&R.observe(p.current),()=>{R.disconnect()}}},[e]),f.useEffect(()=>{if(n){let C=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(C)}}},[n]);let g=()=>{a(!0)},_=()=>{a(!1),i(!1)};return r?e!=="intent"?[o,p,{}]:[o,p,{onFocus:xt(l,g),onBlur:xt(u,_),onMouseEnter:xt(c,g),onMouseLeave:xt(m,_),onTouchStart:xt(d,g)}]:[!1,p,{}]}function xt(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function sn(e,t,r){if(r&&!fr)return[e[0]];if(t){let n=e.findIndex(a=>t[a.route.id]!==void 0);return e.slice(0,n+1)}return e}var Bn="data-react-router-critical-css";function Cs({nonce:e}){let{isSpaMode:t,manifest:r,routeModules:n,criticalCss:a}=Et(),{errors:o,matches:i}=vr(),l=sn(i,o,t),u=f.useMemo(()=>Ll(l,n,r),[l,n,r]);return f.createElement(f.Fragment,null,typeof a=="string"?f.createElement("style",{[Bn]:"",dangerouslySetInnerHTML:{__html:a}}):null,typeof a=="object"?f.createElement("link",{[Bn]:"",rel:"stylesheet",href:a.href,nonce:e}):null,u.map(({key:c,link:m})=>rn(m)?f.createElement(Fa,{key:c,nonce:e,...m}):f.createElement("link",{key:c,nonce:e,...m})))}function Fa({page:e,...t}){let{router:r}=ln(),n=f.useMemo(()=>Xe(r.routes,e,r.basename),[r.routes,e,r.basename]);return n?f.createElement(Kl,{page:e,matches:n,...t}):null}function Gl(e){let{manifest:t,routeModules:r}=Et(),[n,a]=f.useState([]);return f.useEffect(()=>{let o=!1;return Ml(e,t,r).then(i=>{o||a(i)}),()=>{o=!0}},[e,t,r]),n}function Kl({page:e,matches:t,...r}){let n=ze(),{future:a,manifest:o,routeModules:i}=Et(),{basename:l}=ln(),{loaderData:u,matches:c}=vr(),m=f.useMemo(()=>zn(e,t,c,o,n,"data"),[e,t,c,o,n]),d=f.useMemo(()=>zn(e,t,c,o,n,"assets"),[e,t,c,o,n]),p=f.useMemo(()=>{if(e===n.pathname+n.search+n.hash)return[];let C=new Set,R=!1;if(t.forEach(b=>{let M=o.routes[b.route.id];!M||!M.hasLoader||(!m.some(k=>k.route.id===b.route.id)&&b.route.id in u&&i[b.route.id]?.shouldRevalidate||M.hasClientLoader?R=!0:C.add(b.route.id))}),C.size===0)return[];let L=Oa(e,l,a.unstable_trailingSlashAwareDataRequests,"data");return R&&C.size>0&&L.searchParams.set("_routes",t.filter(b=>C.has(b.route.id)).map(b=>b.route.id).join(",")),[L.pathname+L.search]},[l,a.unstable_trailingSlashAwareDataRequests,u,n,o,m,t,e,i]),g=f.useMemo(()=>nn(d,o),[d,o]),_=Gl(d);return f.createElement(f.Fragment,null,p.map(C=>f.createElement("link",{key:C,rel:"prefetch",as:"fetch",href:C,...r})),g.map(C=>f.createElement("link",{key:C,rel:"modulepreload",href:C,...r})),_.map(({key:C,link:R})=>f.createElement("link",{key:C,nonce:r.nonce,...R})))}
29function Ps(){let{isSpaMode:e,routeModules:t}=Et(),{errors:r,matches:n,loaderData:a}=vr(),o=ze(),i=sn(n,r,e),l=null;r&&(l=r[i[i.length-1].route.id]);let u=[],c=null,m=[];for(let d=0;d<i.length;d++){let p=i[d],g=p.route.id,_=a[g],C=p.params,R=t[g],L=[],b={id:g,data:_,loaderData:_,meta:[],params:p.params,pathname:p.pathname,handle:p.route.handle,error:l};if(m[d]=b,R?.meta?L=typeof R.meta=="function"?R.meta({data:_,loaderData:_,params:C,location:o,matches:m,error:l}):Array.isArray(R.meta)?[...R.meta]:R.meta:c&&(L=[...c]),L=L||[],!Array.isArray(L))throw new Error("The route at "+p.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
30
31To reference the meta function API, see https://remix.run/route/meta`);b.meta=L,m[d]=b,u=[...L],c=u}return f.createElement(f.Fragment,null,u.flat().map(d=>{if(!d)return null;if("tagName"in d){let{tagName:p,...g}=d;if(!Jl(p))return console.warn(`A meta object uses an invalid tagName: ${p}. Expected either 'link' or 'meta'`),null;let _=p;return f.createElement(_,{key:JSON.stringify(g),...g})}if("title"in d)return f.createElement("title",{key:"title"},String(d.title));if("charset"in d&&(d.charSet??(d.charSet=d.charset),delete d.charset),"charSet"in d&&d.charSet!=null)return typeof d.charSet=="string"?f.createElement("meta",{key:"charSet",charSet:d.charSet}):null;if("script:ld+json"in d)try{let p=JSON.stringify(d["script:ld+json"]);return f.createElement("script",{key:`script:ld+json:${p}`,type:"application/ld+json",dangerouslySetInnerHTML:{__html:zr(p)}})}catch{return null}return f.createElement("meta",{key:JSON.stringify(d),...d})}))}function Jl(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}var fr=!1;function Xl(){fr=!0}function ql(e){let{manifest:t,serverHandoffString:r,isSpaMode:n,renderMeta:a,routeDiscovery:o,ssr:i}=Et(),{router:l,static:u,staticContext:c}=ln(),{matches:m}=vr(),d=ma(),p=on(o,i);a&&(a.didRenderScripts=!0);let g=sn(m,null,n);f.useEffect(()=>{Xl()},[]);let _=f.useMemo(()=>{if(d)return null;let b=c?`window.__reactRouterContext = ${r};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());`:" ",M=u?`${t.hmr?.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:""}${p?"":`import ${JSON.stringify(t.url)}`};
32${g.map((k,x)=>{let N=`route${x}`,w=t.routes[k.route.id];Ce(w,`Route ${k.route.id} not found in manifest`);let{clientActionModule:A,clientLoaderModule:W,clientMiddlewareModule:Z,hydrateFallbackModule:ee,module:Y}=w,pe=[...A?[{module:A,varName:`${N}_clientAction`}]:[],...W?[{module:W,varName:`${N}_clientLoader`}]:[],...Z?[{module:Z,varName:`${N}_clientMiddleware`}]:[],...ee?[{module:ee,varName:`${N}_HydrateFallback`}]:[],{module:Y,varName:`${N}_main`}];if(pe.length===1)return`import * as ${N} from ${JSON.stringify(Y)};`;let ue=pe.map(re=>`import * as ${re.varName} from "${re.module}";`).join(`
33`),q=`const ${N} = {${pe.map(re=>`...${re.varName}`).join(",")}};`;return[ue,q].join(`
34`)}).join(`
35`)}
36  ${p?`window.__reactRouterManifest = ${JSON.stringify(Hl(t,l),null,2)};`:""}
37  window.__reactRouterRouteModules = {${g.map((k,x)=>`${JSON.stringify(k.route.id)}:route${x}`).join(",")}};
38
39import(${JSON.stringify(t.entry.module)});`:" ";return f.createElement(f.Fragment,null,f.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:b},type:void 0}),f.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:M},type:"module",async:!0}))},[]),C=fr||d?[]:Ql(t.entry.imports.concat(nn(g,t,{includeHydrateFallback:!0}))),R=typeof t.sri=="object"?t.sri:{};return Fr(!d,"The <Scripts /> element is a no-op when using RSC and can be safely removed."),fr||d?null:f.createElement(f.Fragment,null,typeof t.sri=="object"?f.createElement("script",{...e,"rr-importmap":"",type:"importmap",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:R})}}):null,p?null:f.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin,integrity:R[t.url],suppressHydrationWarning:!0}),f.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin,integrity:R[t.entry.module],suppressHydrationWarning:!0}),C.map(L=>f.createElement("link",{key:L,rel:"modulepreload",href:L,crossOrigin:e.crossOrigin,integrity:R[L],suppressHydrationWarning:!0})),_)}function Ql(e){return[...new Set(e)]}function Zl(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var Ts=class extends f.Component{constructor(e){super(e),this.state={error:e.error||null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:e.error||null,location:e.location}:{error:e.error||t.error,location:t.location}}render(){return this.state.error?f.createElement(Ua,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}};function Ua({error:e,isOutsideRemixApp:t}){console.error(e);let r=f.createElement("script",{dangerouslySetInnerHTML:{__html:`
40        console.log(
41          "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."
42        );
43      `}});if(ut(e))return f.createElement(Br,{title:"Unhandled Thrown Response!"},f.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let n;if(e instanceof Error)n=e;else{let a=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);n=new Error(a)}
43return f.createElement(Br,{title:"Application Error!",isOutsideRemixApp:t},f.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),f.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),r)}function Br({title:e,renderScripts:t,isOutsideRemixApp:r,children:n}){let{routeModules:a}=Et();return a.root?.Layout&&!r?n:f.createElement("html",{lang:"en"},f.createElement("head",null,f.createElement("meta",{charSet:"utf-8"}),f.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),f.createElement("title",null,e)),f.createElement("body",null,f.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},n,t?f.createElement(ql,null):null)))}var es=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{es&&(window.__reactRouterVersion="7.12.0")}catch{}var $a=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,za=f.forwardRef(function({onClick:t,discover:r="render",prefetch:n="none",relative:a,reloadDocument:o,replace:i,state:l,target:u,to:c,preventScrollReset:m,viewTransition:d,unstable_defaultShouldRevalidate:p,...g},_){let{basename:C,unstable_useTransitions:R}=f.useContext(xe),L=typeof c=="string"&&$a.test(c),b=ea(c,C);c=b.to;let M=yi(c,{relative:a}),[k,x,N]=Vl(n,g),w=ns(c,{replace:i,state:l,target:u,preventScrollReset:m,relative:a,viewTransition:d,unstable_defaultShouldRevalidate:p,unstable_useTransitions:R});function A(Z){t&&t(Z),Z.defaultPrevented||w(Z)}let W=f.createElement("a",{...g,...N,href:b.absoluteURL||M,onClick:b.isExternal||o?t:A,ref:Zl(_,x),target:u,"data-discover":!L&&r==="render"?"true":void 0});return k&&!L?f.createElement(f.Fragment,null,W,f.createElement(Fa,{page:M})):W});za.displayName="Link";var ts=f.forwardRef(function({"aria-current":t="page",caseSensitive:r=!1,className:n="",end:a=!1,style:o,to:i,viewTransition:l,children:u,...c},m){let d=$t(i,{relative:c.relative}),p=ze(),g=f.useContext(gt),{navigator:_,basename:C}=f.useContext(xe),R=g!=null&&us(d)&&l===!0,L=_.encodeLocation?_.encodeLocation(d).pathname:d.pathname,b=p.pathname,M=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;r||(b=b.toLowerCase(),M=M?M.toLowerCase():null,L=L.toLowerCase()),M&&C&&(M=ke(M,C)||M);const k=L!=="/"&&L.endsWith("/")?L.length-1:L.length;let x=b===L||!a&&b.startsWith(L)&&b.charAt(k)==="/",N=M!=null&&(M===L||!a&&M.startsWith(L)&&M.charAt(L.length)==="/"),w={isActive:x,isPending:N,isTransitioning:R},A=x?t:void 0,W;typeof n=="function"?W=n(w):W=[n,x?"active":null,N?"pending":null,R?"transitioning":null].filter(Boolean).join(" ");let Z=typeof o=="function"?o(w):o;return f.createElement(za,{...c,"aria-current":A,className:W,ref:m,style:Z,to:i,viewTransition:l},typeof u=="function"?u(w):u)});ts.displayName="NavLink";var Ha=f.forwardRef(({discover:e="render",fetcherKey:t,navigate:r,reloadDocument:n,replace:a,state:o,method:i=lr,action:l,onSubmit:u,relative:c,preventScrollReset:m,viewTransition:d,unstable_defaultShouldRevalidate:p,...g},_)=>{let{unstable_useTransitions:C}=f.useContext(xe),R=Ya(),L=is(l,{relative:c}
43),b=i.toLowerCase()==="get"?"get":"post",M=typeof l=="string"&&$a.test(l),k=x=>{if(u&&u(x),x.defaultPrevented)return;x.preventDefault();let N=x.nativeEvent.submitter,w=N?.getAttribute("formmethod")||i,A=()=>R(N||x.currentTarget,{fetcherKey:t,method:w,navigate:r,replace:a,state:o,relative:c,preventScrollReset:m,viewTransition:d,unstable_defaultShouldRevalidate:p});C&&r!==!1?f.startTransition(()=>A()):A()};return f.createElement("form",{ref:_,method:b,action:L,onSubmit:n?u:k,...g,"data-discover":!M&&e==="render"?"true":void 0})});Ha.displayName="Form";function rs({getKey:e,storageKey:t,...r}){let n=f.useContext(gr),{basename:a}=f.useContext(xe),o=ze(),i=en();ls({getKey:e,storageKey:t});let l=f.useMemo(()=>{if(!n||!e)return null;let c=Yr(o,i,a,e);return c!==o.key?c:null},[]);if(!n||n.isSpaMode)return null;let u=((c,m)=>{if(!window.history.state||!window.history.state.key){let d=Math.random().toString(32).slice(2);window.history.replaceState({key:d},"")}try{let p=JSON.parse(sessionStorage.getItem(c)||"{}")[m||window.history.state.key];typeof p=="number"&&window.scrollTo(0,p)}catch(d){console.error(d),sessionStorage.removeItem(c)}}).toString();return f.createElement("script",{...r,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${u})(${zr(JSON.stringify(t||Wr))}, ${zr(JSON.stringify(l))})`}})}rs.displayName="ScrollRestoration";function Ba(e){return`${e} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function wr(e){let t=f.useContext(ct);return K(t,Ba(e)),t}function Wa(e){let t=f.useContext(gt);return K(t,Ba(e)),t}function ns(e,{target:t,replace:r,state:n,preventScrollReset:a,relative:o,viewTransition:i,unstable_defaultShouldRevalidate:l,unstable_useTransitions:u}={}){let c=ga(),m=ze(),d=$t(e,{relative:o});return f.useCallback(p=>{if(Bi(p,t)){p.preventDefault();let g=r!==void 0?r:Ye(m)===Ye(d),_=()=>c(e,{replace:g,state:n,preventScrollReset:a,relative:o,viewTransition:i,unstable_defaultShouldRevalidate:l});u?f.startTransition(()=>_()):_()}},[m,c,d,r,n,t,e,a,o,i,l,u])}function Ls(e){he(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=f.useRef(Ur(e)),r=f.useRef(!1),n=ze(),a=f.useMemo(()=>Wi(n.search,r.current?null:t.current),[n.search]),o=ga(),i=f.useCallback((l,u)=>{const c=Ur(typeof l=="function"?l(new URLSearchParams(a)):l);r.current=!0,o("?"+c,u)},[o,a]);return[a,i]}var as=0,os=()=>`__${String(++as)}__`;function Ya(){let{router:e}=wr("useSubmit"),{basename:t}=f.useContext(xe),r=Ti(),n=e.fetch,a=e.navigate;return f.useCallback(async(o,i={})=>{let{action:l,method:u,encType:c,formData:m,body:d}=Gi(o,t);if(i.navigate===!1){let p=i.fetcherKey||os();await n(p,r,i.action||l,{unstable_defaultShouldRevalidate:i.unstable_defaultShouldRevalidate,preventScrollReset:i.preventScrollReset,formData:m,body:d,formMethod:i.method||u,formEncType:i.encType||c,flushSync:i.flushSync})}else await a(i.action||l,{unstable_defaultShouldRevalidate:i.unstable_defaultShouldRevalidate,preventScrollReset:i.preventScrollReset,formData:m,body:d,formMethod:i.method||u,formEncType:i.encType||c,replace:i.replace,state:i.state,fromRouteId:r,flushSync:i.flushSync,viewTransition:i.viewTransition})},[n,a,t,r])}function is(e,{relative:t}={}){let{basename:r}=f.useContext(xe),n=f.useContext(Fe);K(n,"useFormAction must be used inside a RouteContext");let[a]=n.matches.slice(-1),o={...$t(e||".",{relative:t})},i=ze();if(e==null){o.search=i.search;let l=new URLSearchParams(o.search),u=l.getAll("index");if(u.some(m=>m==="")){l.delete("index"),u.filter(d=>d).forEach(d=>l.append("index",d));let m=l.toString();o.search=m?`?${m}`:""}}return(!e||e===".")&&a.route.index&&(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(o.pathname=o.pathname==="/"?r:We([r,o.pathname])),Ye(o)}function Os({key:e}={}){let{router:t}=wr("useFetcher"),r=Wa("useFetcher"),n=f.useContext(qr),a=f.useContext(Fe),o=a.matches[a.matches.length-1]?.route.id;K(n,"useFetcher must be used inside a FetchersContext"),K(a,"useFetcher must be used inside a RouteContext"),K(o!=null,'useFetcher can only be used on routes that contain a unique "id"');let i=f.useId(),[l,u]=f.useState(e||i);e&&e!==l&&u(e);let{deleteFetcher:c,getFetcher:m,resetFetcher:d,fetch:p}=t;f.useEffect(()=>(m(l),()=>c(l)),[c,m,l]);let g=f.useCallback(async(x,N)=>{K(o,"No routeId available for fetcher.load()"),await p(l,o,x,N)},[l,o,p]),_=Ya(),C=f.useCallback(async(x,N)=>{await _(x,{...N,navigate:!1,fetcherKey:l})},[l,_]),R=f.useCallback(x=>d(l,x),[d,l]),L=f.useMemo(()=>{let x=f.forwardRef((N,w)=>f.createElement(Ha,{...N,navigate:!1,fetcherKey:l,ref:w}));return x.displayName="fetcher.Form",x},[l]),b=r.fetchers.get(l)||aa,M=n.get(l);return f.useMemo(()=>({Form:L,submit:C,load:g,reset:R,...b,data:M}),[L,C,g,R,b,M])}var Wr="react-router-scroll-positions",or={};function Yr(e,t,r,n){let a=null;return n&&(r!=="/"?a=n({...e,pathname:ke(e.pathname,r)||e.pathname},t):a=n(e,t)),a==null&&(a=e.key),a}function ls({getKey:e,storageKey:t}={}){let{router:r}=wr("useScrollRestoration"),{restoreScrollPosition:n,preventScrollReset:a}
43=Wa("useScrollRestoration"),{basename:o}=f.useContext(xe),i=ze(),l=en(),u=Li();f.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),ss(f.useCallback(()=>{if(u.state==="idle"){let c=Yr(i,l,o,e);or[c]=window.scrollY}try{sessionStorage.setItem(t||Wr,JSON.stringify(or))}catch(c){he(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${c}).`)}window.history.scrollRestoration="auto"},[u.state,e,o,i,l,t])),typeof document<"u"&&(f.useLayoutEffect(()=>{try{let c=sessionStorage.getItem(t||Wr);c&&(or=JSON.parse(c))}catch{}},[t]),f.useLayoutEffect(()=>{let c=r?.enableScrollRestoration(or,()=>window.scrollY,e?(m,d)=>Yr(m,d,o,e):void 0);return()=>c&&c()},[r,o,e]),f.useLayoutEffect(()=>{if(n!==!1){if(typeof n=="number"){window.scrollTo(0,n);return}try{if(i.hash){let c=document.getElementById(decodeURIComponent(i.hash.slice(1)));if(c){c.scrollIntoView();return}}}catch{he(!1,`"${i.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}a!==!0&&window.scrollTo(0,0)}},[i,n,a]))}function ss(e,t){let{capture:r}={};f.useEffect(()=>{let n=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,n),()=>{window.removeEventListener("pagehide",e,n)}},[e,r])}function us(e,{relative:t}={}){let r=f.useContext(Xr);K(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:n}=wr("useViewTransitionState"),a=$t(e,{relative:t});if(!r.isTransitioning)return!1;let o=ke(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=ke(r.nextLocation.pathname,n)||r.nextLocation.pathname;return cr(a.pathname,i)!=null||cr(a.pathname,o)!=null}export{vs as A,Tl as B,Bn as C,an as D,at as E,Ha as F,hs as G,Ss as H,Rs as I,fs as J,bs as K,za as L,Ps as M,ts as N,gs as O,ps as P,ys as Q,Za as R,rs as S,Sa as a,Li as b,Ls as c,Os as d,ga as e,ms as f,Es as g,Cs as h,ql as i,ds as j,ze as k,ut as l,Ya as m,cs as n,Ja as o,Wn as p,Xe as q,f as r,Ul as s,gl as t,ba as u,K as v,ws as w,_s as x,gr as y,Ts as z};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.