PageSourceSearch

https://www.flexcar.com/cdn/cfa/c9cd0935cb1346044d74dcab52f77f3fb8cb7ff9/assets/chunk-62JRHF6Z-Cg50Stu2.js

js flexcar.com collected 2026-09-24 09:44:43 UTC 134,057 bytes, 31 lines download raw bytes

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

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.