PageSourceSearch

https://mijn.bumastemra.nl/assets/vendor_react_router-Bfld9_Zp.js

js bumastemra.nl collected 2026-09-24 09:26:55 UTC 196,099 bytes, 19 lines download raw bytes

1import{r as f,R as So,d as pe,g as Zl}from"./vendor_react-Df7YFFEC.js";import{Q as Dn,S as es}from"./vendor-Pp8zYbt5.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"57166"};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e2169d1a-2e01-466e-9b10-49990284dd2b",e._sentryDebugIdIdentifier="sentry-dbid-e2169d1a-2e01-466e-9b10-49990284dd2b")}catch(r){}})();/**
2 * react-router v7.18.3
3 *
4 * Copyright (c) Remix Software Inc.
5 *
6 * This source code is licensed under the MIT license found in the
7 * LICENSE.md file in the root directory of this source tree.
8 *
9 * @license MIT
10 */var bo=e=>{throw TypeError(e)},Co=(e,t,r)=>t.has(e)||bo("Cannot "+r),Fe=(e,t,r)=>(Co(e,t,"read from private field"),r?r.call(e):t.get(e)),Ut=(e,t,r)=>t.has(e)?bo("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Ie=(e,t,r,a)=>(Co(e,t,"write to private field"),t.set(e,r),r),qt=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,_r=/^[\\/]{2}/;function xo(e,t){return t+e.replace(/\\/g,"/")}var Po=(e=>(e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE",e))(Po||{}),Tn="popstate";function Sr(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function Pa(e={}){let{initialEntries:t=["/"],initialIndex:r,v5Compat:a=!1}=e,n;n=t.map((y,m)=>c(y,typeof y=="string"?null:y.state,m===0?"default":void 0,typeof y=="string"?void 0:y.mask));let o=s(r==null?n.length-1:r),i="POP",l=null;function s(y){return Math.min(Math.max(y,0),n.length-1)}function u(){return n[o]}function c(y,m=null,R,p){let w=Xe(n?u().pathname:"/",y,m,R,p);return Z(w.pathname.charAt(0)==="/","relative pathnames are not supported in memory history: ".concat(JSON.stringify(y))),w}function d(y){return typeof y=="string"?y:ie(y)}return{get index(){return o},get action(){return i},get location(){return u()},createHref:d,createURL(y){return new URL(d(y),"http://localhost")},encodeLocation(y){let m=typeof y=="string"?be(y):y;return{pathname:m.pathname||"",search:m.search||"",hash:m.hash||""}},push(y,m){i="PUSH";let R=Sr(y)?y:c(y,m);o+=1,n.splice(o,n.length,R),a&&l&&l({action:i,location:R,delta:1})},replace(y,m){i="REPLACE";let R=Sr(y)?y:c(y,m);n[o]=R,a&&l&&l({action:i,location:R,delta:0})},go(y){i="POP";let m=s(o+y),R=n[m];o=m,l&&l({action:i,location:R,delta:y})},listen(y){return l=y,()=>{l=null}}}}function La(e={}){function t(a,n){var u;let o=(u=n.state)==null?void 0:u.masked,{pathname:i,search:l,hash:s}=o||a.location;return Xe("",{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:ie(n)}return Lo(t,r,null,e)}function Da(e={}){function t(n,o){let{pathname:i="/",search:l="",hash:s=""}=be(n.location.hash.substring(1));return!i.startsWith("/")&&!i.startsWith(".")&&(i="/"+i),Xe("",{pathname:i,search:l,hash:s},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function r(n,o){let i=n.document.querySelector("base"),l="";if(i&&i.getAttribute("href")){let s=n.location.href,u=s.indexOf("#");l=u===-1?s:s.slice(0,u)}return l+"#"+(typeof o=="string"?o:ie(o))}function a(n,o){Z(n.pathname.charAt(0)==="/","relative pathnames are not supported in hash history.push(".concat(JSON.stringify(o),")"))}return Lo(t,r,a,e)}function U(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Z(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch(r){}}}function ts(){return Math.random().toString(36).substring(2,10)}function _n(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 Xe(e,t,r=null,a,n){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?be(t):t,state:r,key:t&&t.key||a||ts(),mask:n}}function ie({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 be(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 Lo(e,t,r,a={}){let{window:n=document.defaultView,v5Compat:o=!1}=a,i=n.history,l="POP",s=null,u=c();u==null&&(u=0,i.replaceState({...i.state,idx:u},""));function c(){return(i.state||{idx:null}).idx}function d(){l="POP";let p=c(),w=p==null?null:p-u;u=p,s&&s({action:l,location:R.location,delta:w})}function h(p,w){l="PUSH";let S=Sr(p)?p:Xe(R.location,p,w);r&&r(S,p),u=c()+1;let P=_n(S,u),D=R.createHref(S.mask||S);try{i.pushState(P,"",D)}catch(C){if(C instanceof DOMException&&C.name==="DataCloneError")throw C;n.location.assign(D)}o&&s&&s({action:l,location:R.location,delta:1})}function y(p,w){l="REPLACE";let S=Sr(p)?p:Xe(R.location,p,w);r&&r(S,p),u=c();let P=_n(S,u),D=R.createHref(S.mask||S);i.replaceState(P,"",D),o&&s&&s({action:l,location:R.location,delta:0})}function m(p){return Do(n,p)}let R={get action(){return l},get location(){return e(n,i)},listen(p){if(s)throw new Error("A history only accepts one active listener");return n.addEventListener(Tn,d),s=p,()=>{n.removeEventListener(Tn,d),s=null}},createHref(p){return t(n,p)},createURL:m,encodeLocation(p){let w=m(p);return{pathname:w.pathname,search:w.search,hash:w.hash}},push:h,replace:y,go(p){return i.go(p)}};return R}function Do(e,t,r=!1){let a="http://localhost";
10e&&(a=e.location.origin!=="null"?e.location.origin:e.location.href),U(a,"No window.location.(origin|href) available to create URL");let n=typeof t=="string"?t:ie(t);return n=n.replace(/ $/,"%20"),!r&&_r.test(n)&&(n=a+n),new URL(n,a)}function rs(e){return{defaultValue:e}}var jt,Ue=class{constructor(e){if(Ut(this,jt,new Map),e)for(let[t,r]of e)this.set(t,r)}get(e){if(Fe(this,jt).has(e))return Fe(this,jt).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw new Error("No value found for context")}set(e,t){Fe(this,jt).set(e,t)}};jt=new WeakMap;var as=new Set(["lazy","caseSensitive","path","id","index","children"]);function ns(e){return as.has(e)}var os=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function is(e){return os.has(e)}function ls(e){return e.index===!0}function lt(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(U(o.index!==!0||!o.children,"Cannot specify children on an index route"),U(n||!a[s],'Found a route id collision on i
10d "'.concat(s,"\".  Route id's must be globally unique within Data Router usages")),ls(o)){let u={...o,id:s};return a[s]=Fn(u,t(u)),u}else{let u={...o,id:s,children:void 0};return a[s]=Fn(u,t(u)),o.children&&(u.children=lt(o.children,t,l,a,n)),u}})}function Fn(e,t){return Object.assign(e,{...t,...typeof t.lazy=="object"&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function Fr(e,t,r="/"){return Ee(e,t,r,!1)}function Ee(e,t,r,a,n){let o=typeof t=="string"?be(t):t,i=de(o.pathname||"/",r);if(i==null)return null;let l=n!=null?n:zt(e),s=null,u=Oo(i);for(let c=0;s==null&&c<l.length;++c)s=gs(l[c],u,a);return s}function To(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 zt(e){let t=_o(e);return ss(t),t}function _o(e,t=[],r=[],a="",n=!1){let o=(i,l,s=n,u)=>{let c={relativePath:u===void 0?i.path||"":u,caseSensitive:i.caseSensitive===!0,childrenIndex:l,route:i};if(c.relativePath.startsWith("/")){if(!c.relativePath.startsWith(a)&&s)return;U(c.relativePath.startsWith(a),'Absolute route path "'.concat(c.relativePath,'" nested under path "').concat(a,'" is not valid. An absolute child route path must start with the combined path of all its parent routes.')),c.relativePath=c.relativePath.slice(a.length)}let d=_e([a,c.relativePath]),h=r.concat(c);i.children&&i.children.length>0&&(U(i.index!==!0,'Index routes must not have child routes. Please remove all child routes from route path "'.concat(d,'".')),_o(i.children,t,h,d,s)),!(i.path==null&&!i.index)&&t.push({path:d,score:ps(d,i.index),routesMeta:h.map((y,m)=>{let[R,p]=Ta(y.relativePath,y.caseSensitive,m===h.length-1);return{...y,matcher:R,compiledParams:p}})})};return e.forEach((i,l)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))o(i,l);else for(let u of Fo(i.path))o(i,l,!0,u)}),t}function Fo(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=Fo(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 ss(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:ys(t.routesMeta.map(a=>a.childrenIndex),r.routesMeta.map(a=>a.childrenIndex)))}var us=/^:[\w-]+$/,cs=3,ds=2,fs=1,hs=10,ms=-2,kn=e=>e==="*";function ps(e,t){let r=e.split("/"),a=r.length;return r.some(kn)&&(a+=ms),t&&(a+=ds),r.filter(n=>!kn(n)).reduce((n,o)=>n+(us.test(o)?cs:o===""?fs:hs),a)}function ys(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 gs(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,c=o==="/"?t:t.slice(o.length)||"/",d={path:s.relativePath,caseSensitive:s.caseSensitive,end:u},h=s.matcher&&s.compiledParams?ko(d,c,s.matcher,s.compiledParams):_t(d,c),y=s.route;if(!h&&u&&r&&!a[a.length-1].route.index&&(h=_t({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},c)),!h)return null;
10Object.assign(n,h.params),i.push({params:n,pathname:_e([o,h.pathname]),pathnameBase:Rs(_e([o,h.pathnameBase])),route:y}),h.pathnameBase!=="/"&&(o=_e([o,h.pathnameBase]))}return i}function vs(e,t={}){let r=e;r.endsWith("*")&&r!=="*"&&!r.endsWith("/*")&&(Z(!1,'Route path "'.concat(r,'" will be treated as if it were "').concat(r.replace(/\*$/,"/*"),'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "').concat(r.replace(/\*$/,"/*"),'".')),r=r.replace(/\*$/,"/*"));const a=r.startsWith("/")?"/":"",n=i=>i==null?"":typeof i=="string"?i:String(i),o=r.split(/\/+/).map((i,l,s)=>{if(l===s.length-1&&i==="*")return n(t["*"]);const c=i.match(/^:([\w-]+)(\??)(.*)/);if(c){const[,d,h,y]=c;let m=t[d];return U(h==="?"||m!=null,'Missing ":'.concat(d,'" param')),encodeURIComponent(n(m))+y}return i.replace(/\?$/g,"")}).filter(i=>!!i);return a+o.join("/")}function _t(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,a]=Ta(e.path,e.caseSensitive,e.end);return ko(e,t,r,a)}function ko(e,t,r,a){let n=t.match(r);if(!n)return null;let o=n[0],i=Ft(o,1),l=n.slice(1);return{params:a.reduce((u,{paramName:c,isOptional:d},h)=>{if(c==="*"){let m=l[h]||"";i=Ft(o.slice(0,o.length-m.length),1)}const y=l[h];return d&&!y?u[c]=void 0:u[c]=(y||"").replace(/%2F/g,"/"),u},{}),pathname:o,pathnameBase:i,pattern:e}}function Ta(e,t=!1,r=!0){Z(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'.concat(e,'" will be treated as if it were "').concat(e.replace(/\*$/,"/*"),'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "').concat(e.replace(/\*$/,"/*"),'".'));let a=[],n="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(i,l,s,u,c)=>{if(a.push({paramName:l,isOptional:s!=null}),s){let d=c.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 Oo(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Z(!1,'The URL path "'.concat(e,'" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (').concat(t,").")),e}}function de(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 ws({basename:e,pathname:t}){return t==="/"?e:_e([e,t])}var _a=e=>qt.test(e);function Mo(e,t="/"){let{pathname:r,search:a="",hash:n=""}=typeof e=="string"?be(e):e,o;return r?(r=Fa(r),r.startsWith("/")||r.startsWith("\\")?o=On(r.substring(1),"/"):o=On(r,t)):o=t,{pathname:o,search:Es(a),hash:Ss(n)}}function On(e,t){let r=Ft(t).split("/");return e.split("/").forEach(n=>{n===".."?r.length>1&&r.pop():n!=="."&&r.push(n)}),r.length>1?r.join("/"):"/"}function qr(e,t,r,a){return"Cannot include a '".concat(e,"' character in a manually specified `to.").concat(t,"` field [").concat(JSON.stringify(a),"].  Please separate it out to the `to.").concat(r,'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.')}function No(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function kr(e){let t=No(e);return t.map((r,a)=>a===t.length-1?r.pathname:r.pathnameBase)}function Zt(e,t,r,a=!1){let n;typeof e=="string"?n=be(e):(n={...e},U(!n.pathname||!n.pathname.includes("?"),qr("?","pathname","search",n)),U(!n.pathname||!n.pathname.includes("#"),qr("#","pathname","hash",n)),U(!n.search||!n.search.includes("#"),qr("#","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 h=i.split("/");for(;h[0]==="..";)h.shift(),d-=1;n.pathname=h.join("/")}l=d>=0?t[d]:"/"}let s=Mo(n,l),u=i&&i!=="/"&&i.endsWith("/"),c=(o||i===".")&&r.endsWith("/");return!s.pathname.endsWith("/")&&(u||c)&&(s.pathname+="/"),s}var Fa=e=>e.replace(/[\\/]{2,}/g,"/"),_e=e=>Fa(e.join("/"));function Ft(e,t=0){let r=e.length;for(;r>t&&e.charCodeAt(r-1)===47;)r--;return r===e.length?e:e.slice(0,r)}var Rs=e=>Ft(e).replace(/^\/*/,"/"),Es=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Ss=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,bs=class{constructor(e,t){this.type="DataWithResponseInit",this.data=e,this.init=t||null}};function Ao(e,t){return new bs(e,typeof t=="number"?{status:t}:t)}var er=(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})},Io=(e,t)=>{let r=er(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},$o=(e,t)=>{let r=er(e,t);return r.headers.set("X-Remix-Replace","true"),r},ka=["EvalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Se=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 se(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Ke(e){let t=e.map(r=>
10r.route.path).filter(Boolean);return _e(t)||"/"}var Ho=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Uo(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(Ho)try{let o=new URL(window.location.href),i=_r.test(r)?new URL(xo(r,o.protocol)):new URL(r),l=de(i.pathname,t);i.origin===o.origin&&l!=null?r=l+i.search+i.hash:n=!0}catch(o){Z(!1,'<Link to="'.concat(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 at=Symbol("Uninstrumented");function jo(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=vt(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.".concat(o)];if(typeof i=="function"&&l.length>0){let s=vt(l,i,()=>{});s&&(a.lazy=Object.assign(a.lazy||{},{[o]:s}))}})}return["loader","action"].forEach(n=>{var i;let o=t[n];if(typeof o=="function"&&r[n].length>0){let l=(i=o[at])!=null?i:o,s=vt(r[n],l,(...u)=>Mn(u[0]));s&&(n==="loader"&&l.hydrate===!0&&(s.hydrate=!0),s[at]=l,a[n]=s)}}),t.middleware&&t.middleware.length>0&&r.middleware.length>0&&(a.middleware=t.middleware.map(n=>{var l;let o=(l=n[at])!=null?l:n,i=vt(r.middleware,o,(...s)=>Mn(s[0]));return i?(i[at]=o,i):n})),a}function Cs(e,t){var a,n;let r={navigate:[],fetch:[]};if(t.forEach(o=>o({instrument(i){let l=Object.keys(i);for(let s of l)i[s]&&r[s].push(i[s])}})),r.navigate.length>0){let o=(a=e.navigate[at])!=null?a:e.navigate,i=vt(r.navigate,o,(...l)=>{let[s,u]=l;return{to:typeof s=="number"||typeof s=="string"?s:s?ie(s):".",...Nn(e,u!=null?u:{})}});i&&(i[at]=o,e.navigate=i)}if(r.fetch.length>0){let o=(n=e.fetch[at])!=null?n:e.fetch,i=vt(r.fetch,o,(...l)=>{let[s,,u,c]=l;return{href:u!=null?u:".",fetcherKey:s,...Nn(e,c!=null?c:{})}});i&&(i[at]=o,e.fetch=i)}return e}function xs(e,t){let r={request:[]};t.forEach(n=>n({instrument(o){let i=Object.keys(o);for(let l of i)o[l]&&r[l].push(o[l])}}));let a=e;return r.request.length>0&&(a=vt(r.request,e,(...n)=>{let[o,i]=n;return{request:Bo(o),context:i!=null?Wo(i):i}})),a}function vt(e,t,r){return e.length===0?null:async(...a)=>{let n=await zo(e,r(...a),()=>t(...a),e.length-1);if(n.type==="error")throw n.value;return n.value}}async function zo(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=zo(e,t,r,a-1),o=await i,U(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 Mn(e){let{request:t,context:r,params:a,pattern:n}=e;return{request:Bo(t),params:{...a},pattern:n,context:Wo(r)}}function Nn(e,t){return{currentUrl:ie(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 Bo(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function Wo(e){if(Ls(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var Ps=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Ls(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")===Ps}var An=new URL("http://localhost");function Oa(e){if(e.createURL)return e.createURL("/");try{return new URL(e.createHref("/"),An)}catch(t){return An}}function Zr(e,t){return e.origin===t.origin&&(e.origin!=="null"||e.protocol===t.protocol&&e.host===t.host)}function Ds(e,t){if(e.startsWith("//"))return!0;let r=t.protocol.toLowerCase();return e.toLowerCase().startsWith(r)?t.host===""||e.slice(r.length).startsWith("//"):!1}function Pt(e,t,r,a){let n=null;try{n=e==null?null:new URL(e,r)}catch(s){}let o=new URL(t,r),i=n!=null&&!Zr(n,r),l=!Zr(o,r);if(a==="reject"){if(i||l)throw new Error("External navigation is not allowed")}else if(l&&(n==null||!Ds(e,n)||!Zr(n,o)))throw new Error("External navigation is not allowed")}var Yo=["POST","PUT","PATCH","DELETE"],Ts=new Set(Yo),_s=["GET",...Yo],Fs=new Set(_s),Vo=new Set([301,302,303,307,308]),ks=new Set([307,308]),Bt={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},Or={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},rt={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Jo=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Ko="remix-router-transitions",Xo=Symbol("ResetLoaderData"),gt,St,tt,bt,Os=class{constructor(e){Ut(this,gt),Ut(this,St),Ut(this,tt),Ut(this,bt),Ie(this,gt,e),Ie(this,St,zt(e))}get stableRoutes(){return Fe(this,gt)}get activeRoutes(){var e;return(e=Fe(this,tt))!=null?e:Fe(this,gt)}get branches(){var e;return(e=Fe(this,bt))!=null?e:Fe(this,St)}get hasHMRRoutes(){return Fe(this,tt)!=null}setRoutes(e){Ie(this,gt,e),Ie(this,St,zt(e))}setHmrRoutes(e){Ie(this,tt,e),Ie(this,bt,zt(e))}commitHmrRoutes(){Fe(this,tt)&&(Ie(this,gt,Fe(this,tt)),Ie(this,St,Fe(this,bt)),Ie(this,tt,void 0),Ie(this,bt,void 0))}};gt=new WeakMap;St=new WeakMap;tt=new WeakMap;bt=new WeakMap;function Mr(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";U(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let a=e.hydrationRouteProperties||[],n=e.mapRouteProperties||Jo,o=n;if(e.instrumentations){let v=e.instrumentations;o=E=>({...n(E),...jo(v.map(b=>
10b.route).filter(Boolean),E)})}let i={},l=new Os(lt(e.routes,o,void 0,i)),s=e.basename||"/";s.startsWith("/")||(s="/".concat(s));let u=e.dataStrategy||Hs,c={...e.future},d=null,h=new Set,y=null,m=null,R=null,p=null,w=e.hydrationData!=null,S=Ee(l.activeRoutes,e.history.location,s,!1,l.branches),P=!1,D=null,C,x;if(S==null&&!e.patchRoutesOnNavigation){let v=le(404,{pathname:e.history.location.pathname}),{matches:E,route:b}=xt(l.activeRoutes);C=!0,x=!C,S=E,D={[b.id]:v}}else if(S&&!e.hydrationData&&sr(S,l.activeRoutes,e.history.location.pathname).active&&(S=null),S)if(S.some(v=>v.route.lazy))C=!1,x=!C;else if(!S.some(v=>Ma(v.route)))C=!0,x=!C;else{let v=e.hydrationData?e.hydrationData.loaderData:null,E=e.hydrationData?e.hydrationData.errors:null,b=S;if(E){let T=S.findIndex(_=>E[_.route.id]!==void 0);b=b.slice(0,T+1)}x=!1,C=!0,b.forEach(T=>{let _=qo(T.route,v,E);x=x||_.renderFallback,C=C&&!_.shouldLoad})}else{C=!1,x=!C,S=[];let v=sr(null,l.activeRoutes,e.history.location.pathname);v.active&&v.matches&&(P=!0,S=v.matches)}let L,g={historyAction:e.history.action,location:e.history.location,matches:S,initialized:C,renderFallback:x,navigation:Bt,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||D,fetchers:new Map,blockers:new Map},A="POP",F=null,k=!1,O,$=!1,H=new Map,Y=null,te=!1,K=!1,q=new Set,ee=new Map,we=0,ue=-1,Re=new Map,Ce=new Set,Te=new Map,Oe=new Map,he=new Set,Me=new Map,ir,ft=null;function Ml(){if(d=e.history.listen(({action:v,location:E,delta:b})=>{if(ir){ir(),ir=void 0;return}Z(Me.size===0||b!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs.  This can also happen if you are using createHashRouter and the user manually changes the URL.");let T=Sn({currentLocation:g.location,nextLocation:E,historyAction:v});if(T&&b!=null){let _=new Promise(I=>{ir=I});e.history.go(b*-1),lr(T,{state:"blocked",location:E,proceed(){lr(T,{state:"proceeding",proceed:void 0,reset:void 0,location:E}),_.then(()=>e.history.go(b))},reset(){let I=new Map(g.blockers);I.set(T,rt),me({blockers:I})}}),F==null||F.resolve(),F=null;return}return ht(v,E)}),r){Vs(t,H);let v=()=>Js(t,H);t.addEventListener("pagehide",v),Y=()=>t.removeEventListener("pagehide",v)}return g.initialized||ht("POP",g.location,{initialHydration:!0}),L}function Nl(){d&&d(),Y&&Y(),h.clear(),O&&O.abort(),g.fetchers.forEach((v,E)=>Kr(g.fetchers,E)),g.blockers.forEach((v,E)=>En(E))}function Al(v){if(h.add(v),y){let{newErrors:E}=y;y=null,v(g,{deletedFetchers:[],newErrors:E,viewTransitionOpts:void 0,flushSync:!1})}return()=>h.delete(v)}function me(v,E={}){var _;v.matches&&(v.matches=v.matches.map(I=>{let M=i[I.route.id],B=I.route;return B.element!==M.element||B.errorElement!==M.errorElement||B.hydrateFallbackElement!==M.hydrateFallbackElement?{...I,route:M}:I})),g={...g,...v};let b=[],T=[];g.fetchers.forEach((I,M)=>{I.state==="idle"&&(he.has(M)?b.push(M):T.push(M))}),he.forEach(I=>{!g.fetchers.has(I)&&!ee.has(I)&&b.push(I)}),h.size===0&&(y={newErrors:(_=v.errors)!=null?_:null}),[...h].forEach(I=>{var M;return I(g,{deletedFetchers:b,newErrors:(M=v.errors)!=null?M:null,viewTransitionOpts:E.viewTransitionOpts,flushSync:E.flushSync===!0})}),b.forEach(I=>Kr(g.fetchers,I)),T.forEach(I=>g.fetchers.delete(I))}function Rt(v,E,{flushSync:b}={}){var W,V;let T=g.actionData!=null&&g.navigation.formMethod!=null&&ce(g.navigation.formMethod)&&g.navigation.state==="loading"&&((W=v.state)==null?void 0:W._isRedirect)!==!0,_;E.actionData?Object.keys(E.actionData).length>0?_=E.actionData:_=null:T?_=g.actionData:_=null;let I=E.loaderData?Xn(g.loaderData,E.loaderData,E.matches||[],E.errors):g.loaderData,M=g.blockers;M.size>0&&(M=new Map(M),M.forEach((z,G)=>M.set(G,rt)));let B=te?!1:Cn(v,E.matches||g.matches),N=k===!0||g.navigation.formMethod!=null&&ce(g.navigation.formMethod)&&((V=v.state)==null?void 0:V._isRedirect)!==!0;l.commitHmrRoutes(),te||A==="POP"||(A==="PUSH"?e.history.push(v,v.state):A==="REPLACE"&&e.history.replace(v,v.state));let j;if(A==="POP"){let z=H.get(g.location.pathname);z&&z.has(v.pathname)?j={currentLocation:g.location,nextLocation:v}:H.has(v.pathname)&&(j={currentLocation:v,nextLocation:g.location})}else if($){let z=H.get(g.location.pathname);z?z.add(v.pathname):(z=new Set([v.pathname]),H.set(g.location.pathname,z)),j={currentLocation:g.location,nextLocation:v}}me({...E,actionData:_,loaderData:I,historyAction:A,location:v,initialized:!0,renderFallback:!1,navigation:Bt,revalidation:"idle",restoreScrollPosition:B,preventScrollReset:N,blockers:M},{viewTransitionOpts:j,flushSync:b===!0}),A="POP",k=!1,$=!1,te=!1,K=!1,F==null||F.resolve(),F=null,ft==null||ft.resolve(),ft=null}async function pn(v,E){var oe,ne,Q;if(F==null||F.resolve(),F=null,typeof v=="number"){F||(F=qn());let J=F.promise;return e.history.go(v),J}let b=ca(g.location,g.matches,s,v,E==null?void 0:E.fromRouteId,E==null?void 0:E.relative),{path:T,submission:_,error:I}=Hn(!1,b,E),M;
10if(E!=null&&E.mask){let J=typeof E.mask=="string"?be(E.mask):{...g.location.mask,...E.mask};if(M={pathname:(oe=J.pathname)!=null?oe:"",search:(ne=J.search)!=null?ne:"",hash:(Q=J.hash)!=null?Q:""},_r.test(M.pathname))throw new Error("External navigation is not allowed");M.pathname.startsWith("\\")&&(M.pathname=M.pathname.replace(/^\\+/,"/")),Pt(typeof E.mask=="string"?E.mask:ie(E.mask),ie(M),e.history.createURL("/"),"reject")}let B=g.location,N=Xe(B,T,E&&E.state,void 0,M);N={...N,...e.history.encodeLocation(N)},Pt(v==null?e.history.createHref(g.location):typeof v=="string"?v:ie(v),e.history.createHref(N.mask||N),e.history.createURL("/"),"reject");let j=E&&E.replace!=null?E.replace:void 0,W="PUSH";j===!0?W="REPLACE":j===!1||_!=null&&ce(_.formMethod)&&_.formAction===g.location.pathname+g.location.search&&(W="REPLACE");let V=E&&"preventScrollReset"in E?E.preventScrollReset===!0:void 0,z=(E&&E.flushSync)===!0,G=Sn({currentLocation:B,nextLocation:N,historyAction:W});if(G){lr(G,{state:"blocked",location:N,proceed(){lr(G,{state:"proceeding",proceed:void 0,reset:void 0,location:N}),pn(v,E)},reset(){let J=new Map(g.blockers);J.set(G,rt),me({blockers:J})}});return}await ht(W,N,{submission:_,pendingError:I,preventScrollReset:V,replace:E&&E.replace,enableViewTransition:E&&E.viewTransition,flushSync:z,callSiteDefaultShouldRevalidate:E&&E.defaultShouldRevalidate})}function Il(){ft||(ft=qn()),Jr(),me({revalidation:"loading"});let v=ft.promise;return g.navigation.state==="submitting"?v:g.navigation.state==="idle"?(ht(g.historyAction,g.location,{startUninterruptedRevalidation:!0}),v):(ht(A||g.historyAction,g.navigation.location,{overrideNavigation:g.navigation,enableViewTransition:$===!0}),v)}async function ht(v,E,b){O&&O.abort(),O=null,A=v,te=(b&&b.startUninterruptedRevalidation)===!0,Xl(g.location,g.matches),k=(b&&b.preventScrollReset)===!0,$=(b&&b.enableViewTransition)===!0;let T=l.activeRoutes,_=b!=null&&b.initialHydration&&g.matches&&g.matches.length>0&&!P?g.matches:Ee(T,E,s,!1,l.branches),I=(b&&b.flushSync)===!0;if(_&&g.initialized&&!K&&zs(g.location,E)&&!(b&&b.submission&&ce(b.submission.formMethod))){Rt(E,{matches:_},{flushSync:I});return}let M=sr(_,T,E.pathname);if(M.active&&M.matches&&(_=M.matches),!_){let{error:Q,notFoundMatches:J,route:xe}=Xr(E.pathname);Rt(E,{matches:J,loaderData:{},errors:{[xe.id]:Q}},{flushSync:I});return}let B=b&&b.overrideNavigation?{...b.overrideNavigation,matches:_,historyAction:v}:void 0;O=new AbortController;let N=Ct(e.history,E,O.signal,b&&b.submission),j=e.getContext?await e.getContext():new Ue,W;if(b&&b.pendingError)W=[ke(_).route.id,{type:"error",error:b.pendingError}];else if(b&&b.submission&&ce(b.submission.formMethod)){let Q=await $l(N,E,b.submission,_,v,j,M.active,b&&b.initialHydration===!0,{replace:b.replace,flushSync:I});if(Q.shortCircuited)return;if(Q.pendingActionResult){let[J,xe]=Q.pendingActionResult;if(fe(xe)&&se(xe.error)&&xe.error.status===404){O=null,Rt(E,{matches:Q.matches,loaderData:{},errors:{[J]:xe.error}});return}}_=Q.matches||_,W=Q.pendingActionResult,B=ea(E,_,v,b.submission),I=!1,M.active=!1,N=Ct(e.history,N.url,N.signal)}let{shortCircuited:V,matches:z,loaderData:G,errors:oe,workingFetchers:ne}=await Hl(N,E,_,v,j,M.active,B,b&&b.submission,b&&b.fetcherSubmission,b&&b.replace,b&&b.initialHydration===!0,I,W,b&&b.callSiteDefaultShouldRevalidate);V||(O=null,Rt(E,{matches:z||_,...Gn(W),loaderData:G,errors:oe,...ne?{fetchers:ne}:{}}))}async function $l(v,E,b,T,_,I,M,B,N={}){Jr();let j=Ws(E,T,_,b);if(me({navigation:j},{flushSync:N.flushSync===!0}),M){let z=await ur(T,E.pathname,v.signal);if(z.type==="aborted")return{shortCircuited:!0};if(z.type==="error"){if(z.partialMatches.length===0){let{matches:oe,route:ne}=xt(l.activeRoutes);return{matches:oe,pendingActionResult:[ne.id,{type:"error",error:z.error}]}}let G=ke(z.partialMatches).route.id;return{matches:z.partialMatches,pendingActionResult:[G,{type:"error",error:z.error}]}}else if(z.matches)T=z.matches;else{let{notFoundMatches:G,error:oe,route:ne}=Xr(E.pathname);return{matches:G,pendingActionResult:[ne.id,{type:"error",error:oe}]}}}let W,V=Lt(T,E);if(!V.route.action&&!V.route.lazy)W={type:"error",error:le(405,{method:v.method,pathname:E.pathname,routeId:V.route.id})};else{let z=ot(o,i,v,E,T,V,B?[]:a,I),G=await At(v,E,z,I,null);if(W=G[V.route.id],!W){for(let oe of T)if(G[oe.route.id]){W=G[oe.route.id];break}}if(v.signal.aborted)return{shortCircuited:!0}}if(nt(W)){let z;return N&&N.replace!=null?z=N.replace:z=Vn(W.response.headers.get("Location"),new URL(v.url),s,e.history)===g.location.pathname+g.location.search,await mt(v,W,!0,{submission:b,replace:z}),{shortCircuited:!0}}if(fe(W)){let z=ke(T,V.route.id);return(N&&N.replace)!==!0&&(A="PUSH"),{matches:T,pendingActionResult:[z.route.id,W,V.route.id]}}return{matches:T,pendingActionResult:[V.route.id,W]}}async function Hl(v,E,b,T,_,I,M,B,N,j,W,V,z,G){let oe=M||ea(E,b,T,B),ne=B||N||Qn(oe),Q=!te&&!W;if(I){if(Q){let Le=yn(z);me({navigation:oe,...Le!==void 0?{actionData:Le}:{}},{flushSync:V})}let X=await ur(b,E.pathname,v.signal);if(X.type==="aborted")return{shortCircuited:!0};if(X.type==="error"){if(X.partialMatches.length===0){let{matches:Ae,route:Je}=xt(l.activeRoutes);return{matches:Ae,loaderData:{},errors:{[Je.id]:X.error}}}let Le=ke(X.partialMatches).route.id;return{matches:X.partialMatches,loaderData:{},errors:{[Le]:X.error}}}else if(X.matches)b=X.matches;else{let{error:Le,notFoundMatches:Ae,route:Je}=Xr(E.pathname);return{matches:Ae,loaderData:{},errors:{[Je.id]:Le}}}}let J=l.activeRoutes,{dsMatches:xe,revalidatingFetchers:Pe}=Un(v,_,o,i,e.history,g,b,ne,E,W?[]:a,W===!0,K,q,he,Te,Ce,J,s,e.patchRoutesOnNavigation!=null,l.branches,z,G);if(ue=++we,!e.dataStrategy&&!xe.some(X=>X.shouldLoad)&&!xe.some(X=>X.route.middleware&&X.route.middleware.length>0)&&Pe.length===0){let X=new Map(g.fetchers),Le=wn(X);return Rt(E,{matches:b,loaderData:{},errors:z&&fe(z[1])?{[z[0]]:z[1].error}:null,...Gn(z),...Le?{fetchers:X}:{}},{flushSync:V}),{shortCircuited:!0}}if(Q){let X={};if(!I){X.navigation=oe;let Le=yn(z);Le!==void 0&&(X.actionData=Le)}Pe.length>0&&(X.fetchers=Ul(Pe)),me(X,{flushSync:V})}Pe.forEach(X=>{Ve(X.key),X.controller&&ee.set(X.key,X.controller)});let It=()=>Pe.forEach(X=>Ve(X.key));O&&O.signal.addEventListener("abort",It);let{loaderResults:qe,fetcherResults:Et}=await gn(xe,Pe,v,E,_);if(v.signal.aborted)return{shortCircuited:!0};O&&O.signal.removeEventListener("abort",It),Pe.forEach(X=>ee.delete(X.key));let Ze=hr(qe);if(Ze)return await mt(v,Ze.result,!0,{replace:j}),{shortCircuited:!0};if(Ze=hr(Et),Ze)return Ce.add(Ze.key),await mt(v,Ze.result,!0,{replace:j}),{shortCircuited:!0};let Ne=new Map(g.fetchers),{loaderData:Gr,errors:et}=Kn(g,b,qe,z,Pe,Et,Ne);W&&g.errors&&(et={...g.errors,...et});let cr=wn(Ne),dr=Rn(ue,Ne),fr=cr||dr||Pe.length>0;return{matches:b,loaderData:Gr,errors:et,...fr?{workingFetchers:Ne}:{}}}function yn(v){if(v&&!fe(v[1]))return{[v[0]]:v[1].data};if(g.actionData)return Object.keys(g.actionData).length===0?null:g.actionData}function Ul(v){let E=new Map(g.fetchers);return v.forEach(b=>{let T=E.get(b.key),_=$t(void 0,T?T.data:void 0);E.set(b.key,_)}),E}async function jl(v,E,b,T){Ve(v);let _=(T&&T.flushSync)===!0,I=l.activeRoutes,M=ca(g.location,g.matches,s,b,E,T==null?void 0:T.relative),B=Ee(I,M,s,!1,l.branches),N=sr(B,I,M);if(N.active&&N.matches&&(B=N.matches),!B){Ye(v,E,le(404,{pathname:M}),{flushSync:_});return}let{path:j,submission:W,error:V}=Hn(!0,M,T);if(V){Ye(v,E,V,{flushSync:_});return}let z=e.getContext?await e.getContext():new Ue,G=(T&&T.preventScrollReset)===!0;if(W&&ce(W.formMethod)){await zl(v,E,j,B,z,N.active,_,G,W,T&&T.defaultShouldRevalidate);return}Te.set(v,{routeId:E,path:j}),await Bl(v,E,j,B,z,N.active,_,G,W)}async function zl(v,E,b,T,_,I,M,B,N,j){Jr(),Te.delete(v);let W=g.fetchers.get(v);We(v,Ys(N,W),{flushSync:M});let V=new AbortController,z=Ct(e.history,b,V.signal,N);if(I){let re=await ur(T,new URL(z.url).pathname,z.signal,v);if(re.type==="aborted")return;if(re.type==="error"){Ye(v,E,re.error,{flushSync:M});return}else if(re.matches)T=re.matches;else{Ye(v,E,le(404,{pathname:b}),{flushSync:M});return}}let G=Lt(T,b);if(!G.route.action&&!G.route.lazy){let re=le(405,{method:N.formMethod,pathname:b,routeId:E});Ye(v,E,re,{flushSync:M});return}ee.set(v,V);let oe=we,ne=ot(o,i,z,b,T,G,a,_),Q=await At(z,b,ne,_,v),J=Q[G.route.id];if(!J){for(let re of ne)if(Q[re.route.id]){J=Q[re.route.id];break}}
10if(z.signal.aborted){ee.get(v)===V&&ee.delete(v);return}if(he.has(v)){if(nt(J)||fe(J)){We(v,$e(void 0));return}}else{if(nt(J))if(ee.delete(v),ue>oe){We(v,$e(void 0));return}else return Ce.add(v),We(v,$t(N)),mt(z,J,!1,{fetcherSubmission:N,preventScrollReset:B});if(fe(J)){Ye(v,E,J.error);return}}let xe=g.navigation.location||g.location,Pe=Ct(e.history,xe,V.signal),It=l.activeRoutes,qe=g.navigation.state!=="idle"?Ee(It,g.navigation.location,s,!1,l.branches):g.matches;U(qe,"Didn't find any matches after fetcher action");let Et=++we;Re.set(v,Et);let{dsMatches:Ze,revalidatingFetchers:Ne}=Un(Pe,_,o,i,e.history,g,qe,N,xe,a,!1,K,q,he,Te,Ce,It,s,e.patchRoutesOnNavigation!=null,l.branches,[G.route.id,J],j),Gr=$t(N,J.data),et=new Map(g.fetchers);et.set(v,Gr),Ne.filter(re=>re.key!==v).forEach(re=>{let pt=re.key,Ln=et.get(pt),ql=$t(void 0,Ln?Ln.data:void 0);et.set(pt,ql),Ve(pt),re.controller&&ee.set(pt,re.controller)}),me({fetchers:et});let cr=()=>Ne.forEach(re=>Ve(re.key));V.signal.addEventListener("abort",cr);let{loaderResults:dr,fetcherResults:fr}=await gn(Ze,Ne,Pe,xe,_);if(V.signal.aborted)return;V.signal.removeEventListener("abort",cr),Re.delete(v),ee.delete(v),Ne.forEach(re=>ee.delete(re.key));let X=g.fetchers.has(v),Le=re=>{if(!X)return re;let pt=new Map(re.fetchers);return pt.set(v,$e(J.data)),{...re,fetchers:pt}},Ae=hr(dr);if(Ae)return g=Le(g),mt(Pe,Ae.result,!1,{preventScrollReset:B});if(Ae=hr(fr),Ae)return Ce.add(Ae.key),g=Le(g),mt(Pe,Ae.result,!1,{preventScrollReset:B});let Je=new Map(g.fetchers);X&&Je.set(v,$e(J.data));let{loaderData:Pn,errors:Qr}=Kn(g,qe,dr,void 0,Ne,fr,Je);Rn(Et,Je),g.navigation.state==="loading"&&Et>ue?(U(A,"Expected pending action"),O&&O.abort(),Rt(g.navigation.location,{matches:qe,loaderData:Pn,errors:Qr,fetchers:Je})):(me({errors:Qr,loaderData:Xn(g.loaderData,Pn,qe,Qr),fetchers:Je}),K=!1)}async function Bl(v,E,b,T,_,I,M,B,N){let j=g.fetchers.get(v);We(v,$t(N,j?j.data:void 0),{flushSync:M});let W=new AbortController,V=Ct(e.history,b,W.signal);if(I){let J=await ur(T,new URL(V.url).pathname,V.signal,v);if(J.type==="aborted")return;if(J.type==="error"){Ye(v,E,J.error,{flushSync:M});return}else if(J.matches)T=J.matches;else{Ye(v,E,le(404,{pathname:b}),{flushSync:M});return}}let z=Lt(T,b);ee.set(v,W);let G=we,oe=ot(o,i,V,b,T,z,a,_),ne=await At(V,b,oe,_,v),Q=ne[z.route.id];if(!Q){for(let J of T)if(ne[J.route.id]){Q=ne[J.route.id];break}}if(ee.get(v)===W&&ee.delete(v),!V.signal.aborted){if(he.has(v)){We(v,$e(void 0));return}if(nt(Q))if(ue>G){We(v,$e(void 0));return}else{Ce.add(v),await mt(V,Q,!1,{preventScrollReset:B});return}if(fe(Q)){Ye(v,E,Q.error);return}We(v,$e(Q.data))}}async function mt(v,E,b,{submission:T,fetcherSubmission:_,preventScrollReset:I,replace:M}={}){b||(F==null||F.resolve(),F=null),E.response.headers.has("X-Remix-Revalidate")&&(K=!0);let B=E.response.headers.get("Location");U(B,"Expected a Location header on the redirect Response");let N=B,j=new URL(v.url);B=Vn(B,j,s,e.history),Pt(N,B,j,"allow-explicit");let W=Xe(g.location,B,{_isRedirect:!0});if(r){let Q=!1;if(E.response.headers.has("X-Remix-Reload-Document"))Q=!0;else if(_a(B)){const J=Do(t,B,!0);Q=J.origin!==t.location.origin||de(J.pathname,s)==null}if(Q){M?t.location.replace(B):t.location.assign(B);return}}O=null;let V=M===!0||E.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:z,formAction:G,formEncType:oe}=g.navigation;!T&&!_&&z&&G&&oe&&(T=Qn(g.navigation));let ne=T||_;if(ks.has(E.response.status)&&ne&&ce(ne.formMethod))await ht(V,W,{submission:{...ne,formAction:B},preventScrollReset:I||k,enableViewTransition:b?$:void 0});else{let Q=ea(W,[],V,T);await ht(V,W,{overrideNavigation:Q,fetcherSubmission:_,preventScrollReset:I||k,enableViewTransition:b?$:void 0})}}async function At(v,E,b,T,_){var B;let I,M={};try{I=await ni(u,v,E,b,_,T,!1)}catch(N){return b.filter(j=>j.shouldLoad).forEach(j=>{M[j.route.id]={type:"error",error:N}}),M}if(v.signal.aborted)return M;if(!ce(v.method))for(let N of b){if(((B=I[N.route.id])==null?void 0:B.type)==="error")break;!I.hasOwnProperty(N.route.id)&&!g.loaderData.hasOwnProperty(N.route.id)&&
10(!g.errors||!g.errors.hasOwnProperty(N.route.id))&&N.shouldCallHandler()&&(I[N.route.id]={type:"error",result:new Error("No result returned from dataStrategy for route ".concat(N.route.id))})}for(let[N,j]of Object.entries(I))if(fi(j)){let W=j.result;M[N]={type:"redirect",response:li(W,v,N,b,s)}}else M[N]=await ii(j);return M}async function gn(v,E,b,T,_){let I=At(b,T,v,_,null),M=Promise.all(E.map(async j=>{if(j.matches&&j.match&&j.request&&j.controller){let V=(await At(j.request,j.path,j.matches,_,j.key))[j.match.route.id];return{[j.key]:V}}else return Promise.resolve({[j.key]:{type:"error",error:le(404,{pathname:j.path})}})})),B=await I,N=(await M).reduce((j,W)=>Object.assign(j,W),{});return{loaderResults:B,fetcherResults:N}}function Jr(){K=!0,Te.forEach((v,E)=>{ee.has(E)&&q.add(E),Ve(E)})}function We(v,E,b={}){let T=new Map(g.fetchers);T.set(v,E),me({fetchers:T},{flushSync:(b&&b.flushSync)===!0})}function Ye(v,E,b,T={}){let _=ke(g.matches,E),I=new Map(g.fetchers);Kr(I,v),me({errors:{[_.route.id]:b},fetchers:I},{flushSync:(T&&T.flushSync)===!0})}function Wl(v){return Oe.set(v,(Oe.get(v)||0)+1),he.has(v)&&he.delete(v),g.fetchers.get(v)||Or}function Yl(v,E){Ve(v,E==null?void 0:E.reason),We(v,$e(null))}function Kr(v,E){let b=g.fetchers.get(E);ee.has(E)&&!(b&&b.state==="loading"&&Re.has(E))&&Ve(E),Te.delete(E),Re.delete(E),Ce.delete(E),he.delete(E),q.delete(E),v.delete(E)}function Vl(v){let E=(Oe.get(v)||0)-1;E<=0?(Oe.delete(v),he.add(v)):Oe.set(v,E),me({fetchers:new Map(g.fetchers)})}function Ve(v,E){let b=ee.get(v);b&&(b.abort(E),ee.delete(v))}function vn(v,E){for(let b of v){let T=E.get(b);U(T,"Expected fetcher: ".concat(b));let _=$e(T.data);E.set(b,_)}}function wn(v){let E=[],b=!1;for(let T of Ce){let _=v.get(T);U(_,"Expected fetcher: ".concat(T)),_.state==="loading"&&(Ce.delete(T),E.push(T),b=!0)}return vn(E,v),b}function Rn(v,E){let b=[];for(let[T,_]of Re)if(_<v){let I=E.get(T);U(I,"Expected fetcher: ".concat(T)),I.state==="loading"&&(Ve(T),Re.delete(T),b.push(T))}return vn(b,E),b.length>0}function Jl(v,E){let b=g.blockers.get(v)||rt;return Me.get(v)!==E&&Me.set(v,E),b}function En(v){g.blockers.delete(v),Me.delete(v)}function lr(v,E){let b=g.blockers.get(v)||rt;U(b.state==="unblocked"&&E.state==="blocked"||b.state==="blocked"&&E.state==="blocked"||b.state==="blocked"&&E.state==="proceeding"||b.state==="blocked"&&E.state==="unblocked"||b.state==="proceeding"&&E.state==="unblocked","Invalid blocker state transition: ".concat(b.state," -> ").concat(E.state));let T=new Map(g.blockers);T.set(v,E),me({blockers:T})}function Sn({currentLocation:v,nextLocation:E,historyAction:b}){if(Me.size===0)return;Me.size>1&&Z(!1,"A router only supports one blocker at a time");let T=Array.from(Me.entries()),[_,I]=T[T.length-1],M=g.blockers.get(_);if(!(M&&M.state==="proceeding")&&I({currentLocation:v,nextLocation:E,historyAction:b}))return _}function Xr(v){let E=le(404,{pathname:v}),b=l.activeRoutes,{matches:T,route:_}=xt(b);return{notFoundMatches:T,route:_,error:E}}function Kl(v,E,b){if(m=v,p=E,R=b||null,!w&&g.navigation===Bt){w=!0;let T=Cn(g.location,g.matches);T!=null&&me({restoreScrollPosition:T})}return()=>{m=null,p=null,R=null}}function bn(v,E){return R&&R(v,E.map(T=>To(T,g.loaderData)))||v.key}function Xl(v,E){if(m&&p){let b=bn(v,E);m[b]=p()}}function Cn(v,E){if(m){let b=bn(v,E),T=m[b];if(typeof T=="number")return T}return null}function sr(v,E,b){if(e.patchRoutesOnNavigation){let T=l.branches;if(v){if(Object.keys(v[0].params).length>0)return{active:!0,matches:Ee(E,b,s,!0,T)}}else return{active:!0,matches:Ee(E,b,s,!0,T)||[]}}return{active:!1,matches:null}}async function ur(v,E,b,T){if(!e.patchRoutesOnNavigation)return{type:"success",matches:v};let _=v;for(;;){let I=i;try{await e.patchRoutesOnNavigation({signal:b,path:E,matches:_,fetcherKey:T,patch:(j,W)=>{b.aborted||jn(j,W,l,I,o,!1)}})}catch(j){return{type:"error",error:j,partialMatches:_}}if(b.aborted)return{type:"aborted"};let M=l.branches,B=Ee(l.activeRoutes,E,s,!1,M),N=null;if(B){if(Object.keys(B[0].params).length===0)return{type:"success",matches:B};if(N=Ee(l.activeRoutes,E,s,!0,M),!(N&&_.length<N.length&&xn(_,N.slice(0,_.length))))return{type:"success",matches:B}}if(N||(N=Ee(l.activeRoutes,E,s,!0,M)),!N||xn(_,N))return{type:"success",matches:null};_=N}}function xn(v,E){return v.length===E.length&&v.every((b,T)=>b.route.id===E[T].route.id)}function Gl(v){i={},l.setHmrRoutes(lt(v,o,void 0,i))}function Ql(v,E,b=!1){jn(v,E,l,i,o,b),l.hasHMRRoutes||me({})}return L={get basename(){return s},get future(){return c},get state(){return g},get routes(){return l.stableRoutes},get branches(){return l.branches},get manifest(){return i},get window(){return t},initialize:Ml,subscribe:Al,enableScrollRestoration:Kl,navigate:pn,fetch:jl,revalidate:Il,createHref:v=>e.history.createHref(v),createURL:v=>e.history.createURL(v),encodeLocation:v=>e.history.encodeLocation(v),getFetcher:Wl,resetFetcher:Yl,deleteFetcher:Vl,dispose:Nl,getBlocker:Jl,deleteBlocker:En,patchRoutes:Ql,_internalFetchControllers:ee,_internalSetRoutes:Gl,_internalSetStateDoNotUseOrYouWillBreakYourApp(v){me(v)}},e.instrumentations&&(L=Cs(L,e.instrumentations.map(v=>
10v.router).filter(Boolean))),L}function Go(e,t){U(e.length>0,"You must provide a non-empty routes array to createStaticHandler");let r={},a=(t?t.basename:null)||"/",n=(t==null?void 0:t.mapRouteProperties)||Jo,o=n;if({...t==null?void 0:t.future},t!=null&&t.instrumentations){let m=t.instrumentations;o=R=>({...n(R),...jo(m.map(p=>p.route).filter(Boolean),R)})}let i=lt(e,o,void 0,r),l=zt(i);async function s(m,{requestContext:R,filterMatchesToLoad:p,skipLoaderErrorBubbling:w,skipRevalidation:S,dataStrategy:P,generateMiddlewareResponse:D,normalizePath:C}={}){let x=C||$n,L=m.method,g=Xe("",x(m),null,"default"),A=Ee(i,g,a,!1,l);if(R=R!=null?R:new Ue,!ma(L)&&L!=="HEAD"){let k=le(405,{method:L}),{matches:O,route:$}=xt(i),H={basename:a,location:g,matches:O,loaderData:{},actionData:null,errors:{[$.id]:k},statusCode:k.status,loaderHeaders:{},actionHeaders:{}};return D?D(()=>Promise.resolve(H)):H}else if(!A){let k=le(404,{pathname:g.pathname}),{matches:O,route:$}=xt(i),H={basename:a,location:g,matches:O,loaderData:{},actionData:null,errors:{[$.id]:k},statusCode:k.status,loaderHeaders:{},actionHeaders:{}};return D?D(()=>Promise.resolve(H)):H}if(D){U(R instanceof Ue,"When using middleware in `staticHandler.query()`, any provided `requestContext` must be an instance of `RouterContextProvider`");try{await Wn(A,r,o);let k,O=await Yn({request:m,url:br(m,g),pattern:Ke(A),matches:A,params:A[0].params,context:R},async()=>await D(async(H,Y={})=>{var K;let te=await c(H,g,A,R,P||null,w===!0,null,"filterMatchesToLoad"in Y?(K=Y.filterMatchesToLoad)!=null?K:null:p!=null?p:null,S===!0);return ae(te)?te:(k={location:g,basename:a,...te},k)}),async($,H)=>{var Y;if(Jt($))return $;if(ae($))try{$=new Se($.status,$.statusText,await oi($))}catch(te){$=te}if(it($)&&($=ci($)),k){H in k.loaderData&&(k.loaderData[H]=void 0);let te=Qo(i,k,$,w?H:ke(A,H).route.id);return D(()=>Promise.resolve(te))}else{let te=w?H:ke(A,((Y=A.find(q=>q.route.id===H||q.route.loader))==null?void 0:Y.route.id)||H).route.id,K={matches:A,location:g,basename:a,loaderData:{},actionData:null,errors:{[te]:$},statusCode:se($)?$.status:500,actionHeaders:{},loaderHeaders:{}};return D(()=>Promise.resolve(K))}});return U(ae(O),"Expected a response in query()"),O}catch(k){if(ae(k))return k;throw k}}let F=await c(m,g,A,R,P||null,w===!0,null,p||null,S===!0);return ae(F)?F:{location:g,basename:a,...F}}async function u(m,{routeId:R,requestContext:p,dataStrategy:w,generateMiddlewareResponse:S,normalizePath:P}={}){let D=P||$n,C=m.method,x=Xe("",D(m),null,"default"),L=Ee(i,x,a,!1,l);if(p=p!=null?p:new Ue,!ma(C)&&C!=="HEAD"&&C!=="OPTIONS")throw le(405,{method:C});if(!L)throw le(404,{pathname:x.pathname});let g=R?L.find(k=>k.route.id===R):Lt(L,x);if(R&&!g)throw le(403,{pathname:x.pathname,routeId:R});if(!g)throw le(404,{pathname:x.pathname});if(S)return U(p instanceof Ue,"When using middleware in `staticHandler.queryRoute()`, any provided `requestContext` must be an instance of `RouterContextProvider`"),await Wn(L,r,o),await Yn({request:m,url:br(m,x),pattern:Ke(L),matches:L,params:L[0].params,context:p},async()=>await S(async $=>{let H=await c($,x,L,p,w||null,!1,g,null,!1),Y=F(H);return ae(Y)?Y:typeof Y=="string"?new Response(Y):Response.json(Y)}),O=>{if(it(O))return Promise.resolve(ha(O));if(ae(O))return Promise.resolve(O);throw O});let A=await c(m,x,L,p,w||null,!1,g,null,!1);return F(A);function F(k){if(ae(k))return k;let O=k.errors?Object.values(k.errors)[0]:void 0;if(O!==void 0)throw O;if(k.actionData)return Object.values(k.actionData)[0];if(k.loaderData)return Object.values(k.loaderData)[0]}}async function c(m,R,p,w,S,P,D,C,x){U(m.signal,"query()/queryRoute() requests must contain an AbortController signal");try{if(ce(m.method))return await d(m,R,p,D||Lt(p,R),w,S,P,D!=null,C,x);let L=await h(m,R,p,w,S,P,D,C);return ae(L)?L:{...L,actionData:null,actionHeaders:{}}}catch(L){if(di(L)&&ae(L.result)){if(L.type==="error")throw L.result;return L.result}if(Jt(L))return L;throw L}}async function d(m,R,p,w,S,P,D,C,x,L){let g;if(!w.route.action&&!w.route.lazy){let k=le(405,{method:m.method,pathname:new URL(m.url).pathname,routeId:w.route.id});if(C)throw k;g={type:"error",error:k}}else{let k=ot(o,r,m,R,p,w,[],S);g=(await y(m,R,k,C,S,P))[w.route.id],m.signal.aborted&&In(m,C)}if(nt(g))throw new Response(null,{status:g.response.status,headers:{Location:g.response.headers.get("Location")}});if(C){if(fe(g))throw g.error;return{matches:[w],loaderData:{},actionData:{[w.route.id]:g.data},errors:null,statusCode:200,loaderHeaders:{},actionHeaders:{}}}if(L)if(fe(g)){let k=D?w:ke(p,w.route.id);return{statusCode:se(g.error)?g.error.status:g.statusCode!=null?g.statusCode:500,actionData:null,actionHeaders:{...g.headers?{[w.route.id]:g.headers}:{}},matches:p,loaderData:{},errors:{[k.route.id]:g.error},loaderHeaders:{}}}else return{actionData:{[w.route.id]:g.data},actionHeaders:g.headers?{[w.route.id]:g.headers}:{},matches:p,loaderData:{},errors:null,statusCode:g.statusCode||200,loaderHeaders:{}};
10let A=new Request(m.url,{headers:m.headers,redirect:m.redirect,signal:m.signal});if(fe(g)){let k=D?w:ke(p,w.route.id);return{...await h(A,R,p,S,P,D,null,x,[k.route.id,g]),statusCode:se(g.error)?g.error.status:g.statusCode!=null?g.statusCode:500,actionData:null,actionHeaders:{...g.headers?{[w.route.id]:g.headers}:{}}}}return{...await h(A,R,p,S,P,D,null,x),actionData:{[w.route.id]:g.data},...g.statusCode?{statusCode:g.statusCode}:{},actionHeaders:g.headers?{[w.route.id]:g.headers}:{}}}async function h(m,R,p,w,S,P,D,C,x){let L=D!=null;if(L&&!(D!=null&&D.route.loader)&&!(D!=null&&D.route.lazy))throw le(400,{method:m.method,pathname:new URL(m.url).pathname,routeId:D==null?void 0:D.route.id});let g;if(D)g=ot(o,r,m,R,p,D,[],w);else{let k=x&&fe(x[1])?p.findIndex($=>$.route.id===x[0])-1:void 0,O=Ke(p);g=p.map(($,H)=>k!=null&&H>k?Vt(o,r,m,R,O,$,[],w,!1):Vt(o,r,m,R,O,$,[],w,($.route.loader||$.route.lazy)!=null&&(!C||C($))))}if(!S&&!g.some(k=>k.shouldLoad))return{matches:p,loaderData:{},errors:x&&fe(x[1])?{[x[0]]:x[1].error}:null,statusCode:200,loaderHeaders:{}};let A=await y(m,R,g,L,w,S);return m.signal.aborted&&In(m,L),{...si(p,A,x,!0,P),matches:p}}async function y(m,R,p,w,S,P){let D=await ni(P||da,m,R,p,null,S,!0),C={};return await Promise.all(p.map(async x=>{if(!(x.route.id in D))return;let L=D[x.route.id];if(fi(L)){let g=L.result;throw li(g,m,x.route.id,p,a)}if(w){if(ae(L.result))throw L;if(it(L.result))throw ha(L.result)}C[x.route.id]=await ii(L)})),C}return{dataRoutes:i,_internalRouteBranches:l,query:s,queryRoute:u}}function Qo(e,t,r,a){let n=a||t._deepestRenderedBoundaryId||e[0].id;return{...t,statusCode:se(r)?r.status:500,errors:{[n]:r}}}function In(e,t){if(e.signal.reason!==void 0)throw e.signal.reason;let r=t?"queryRoute":"query";throw new Error("".concat(r,"() call aborted without an `AbortSignal.reason`: ").concat(e.method," ").concat(e.url))}function Ms(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function $n(e){let t=new URL(e.url);return{pathname:t.pathname,search:t.search,hash:t.hash}}function ca(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=Zt(a||".",kr(i),de(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=Aa(s.search);if(l.route.index&&!u)s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index";else if(!l.route.index&&u){let c=new URLSearchParams(s.search),d=c.getAll("index");c.delete("index"),d.filter(y=>y).forEach(y=>c.append("index",y));let h=c.toString();s.search=h?"?".concat(h):""}}return r!=="/"&&(s.pathname=ws({basename:r,pathname:s.pathname})),ie(s)}function Hn(e,t,r){if(!r||!Ms(r))return{path:t};if(r.formMethod&&!ma(r.formMethod))return{path:t,error:le(405,{method:r.formMethod})};let a=()=>({path:t,error:le(400,{type:"invalid-body"})}),o=(r.formMethod||"get").toUpperCase(),i=ui(t);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!ce(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((h,[y,m])=>"".concat(h).concat(y,"=").concat(m,"\n"),""):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(!ce(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(d){return a()}}}U(typeof FormData=="function","FormData is not available in this environment");let l,s;if(r.formData)l=fa(r.formData),s=r.formData;else if(r.body instanceof FormData)l=fa(r.body),s=r.body;else if(r.body instanceof URLSearchParams)l=r.body,s=Jn(l);else if(r.body==null)l=new URLSearchParams,s=new FormData;else try{l=new URLSearchParams(r.body),s=Jn(l)}catch(d){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(ce(u.formMethod))return{path:t,submission:u};let c=be(t);return e&&c.search&&Aa(c.search)&&l.append("index",""),c.search="?".concat(l),{path:ie(c),submission:u}}function Un(e,t,r,a,n,o,i,l,s,u,c,d,h,y,m,R,p,w,S,P,D,C){var te;let x=D?fe(D[1])?D[1].error:D[1].data:void 0,L=n.createURL(o.location),g=n.createURL(s),A;if(c&&o.errors){let K=Object.keys(o.errors)[0];A=i.findIndex(q=>q.route.id===K)}else if(D&&fe(D[1])){let K=D[0];A=i.findIndex(q=>q.route.id===K)-1}let F=D?D[1].statusCode:void 0,k=F&&F>
10=400,O={currentUrl:L,currentParams:((te=o.matches[0])==null?void 0:te.params)||{},nextUrl:g,nextParams:i[0].params,...l,actionResult:x,actionStatus:F},$=Ke(i),H=i.map((K,q)=>{let{route:ee}=K,we=null;if(A!=null&&q>A)we=!1;else if(ee.lazy)we=!0;else if(!Ma(ee))we=!1;else if(c){let{shouldLoad:Te}=qo(ee,o.loaderData,o.errors);we=Te}else Ns(o.loaderData,o.matches[q],K)&&(we=!0);if(we!==null)return Vt(r,a,e,s,$,K,u,t,we);let ue=!1;typeof C=="boolean"?ue=C:k?ue=!1:(d||L.pathname+L.search===g.pathname+g.search||L.search!==g.search||As(o.matches[q],K))&&(ue=!0);let Re={...O,defaultShouldRevalidate:ue},Ce=Wt(K,Re);return Vt(r,a,e,s,$,K,u,t,Ce,Re,C)}),Y=[];return m.forEach((K,q)=>{if(c||!i.some(he=>he.route.id===K.routeId)||y.has(q))return;let ee=o.fetchers.get(q),we=ee&&ee.state!=="idle"&&ee.data===void 0,ue=Ee(p,K.path,w!=null?w:"/",!1,P);if(!ue){if(S&&we)return;Y.push({key:q,routeId:K.routeId,path:K.path,matches:null,match:null,request:null,controller:null});return}if(R.has(q))return;let Re=Lt(ue,K.path),Ce=new AbortController,Te=Ct(n,K.path,Ce.signal),Oe=null;if(h.has(q))h.delete(q),Oe=ot(r,a,Te,K.path,ue,Re,u,t);else if(we)d&&(Oe=ot(r,a,Te,K.path,ue,Re,u,t));else{let he;typeof C=="boolean"?he=C:k?he=!1:he=d;let Me={...O,defaultShouldRevalidate:he};Wt(Re,Me)&&(Oe=ot(r,a,Te,K.path,ue,Re,u,t,Me))}Oe&&Y.push({key:q,routeId:K.routeId,path:K.path,matches:Oe,match:Re,request:Te,controller:Ce})}),{dsMatches:H,revalidatingFetchers:Y}}function Ma(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function qo(e,t,r){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!Ma(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 Ns(e,t,r){let a=!t||r.route.id!==t.route.id,n=!e.hasOwnProperty(r.route.id);return a||n}function As(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function Wt(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r=="boolean")return r}return t.defaultShouldRevalidate}function jn(e,t,r,a,n,o){let i;if(e){let u=a[e];U(u,"No route found to patch children into: routeId = ".concat(e)),u.children||(u.children=[]),i=u.children}else i=r.activeRoutes;let l=[],s=[];if(t.forEach(u=>{let c=i.find(d=>Zo(u,d));c?s.push({existingRoute:c,newRoute:u}):l.push(u)}),l.length>0){let u=lt(l,n,[e||"_","patch",String((i==null?void 0:i.length)||"0")],a);i.push(...u)}if(o&&s.length>0)for(let u=0;u<s.length;u++){let{existingRoute:c,newRoute:d}=s[u],h=c,[y]=lt([d],n,[],{},!0);Object.assign(h,{element:y.element?y.element:h.element,errorElement:y.errorElement?y.errorElement:h.errorElement,hydrateFallbackElement:y.hydrateFallbackElement?y.hydrateFallbackElement:h.hydrateFallbackElement})}r.hasHMRRoutes||r.setRoutes([...r.activeRoutes])}function Zo(e,t){var r,a;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:(a=(r=e.children)==null?void 0:r.every((n,o)=>{var i;return(i=t.children)==null?void 0:i.some(l=>Zo(n,l))}))!=null?a:!1:!1}var zn=new WeakMap,Na=({key:e,route:t,manifest:r,mapRouteProperties:a})=>{let n=r[t.id];if(U(n,"No route found in manifest"),!n.lazy||typeof n.lazy!="object")return;let o=n.lazy[e];if(!o)return;let i=zn.get(n);i||(i={},zn.set(n,i));let l=i[e];if(l)return l;let s=(async()=>{let u=ns(e),d=n[e]!==void 0&&e!=="hasErrorBoundary";if(u)Z(!u,"Route property "+e+" is not a supported lazy route property. This property will be ignored."),i[e]=Promise.resolve();else if(d)Z(!1,'Route "'.concat(n.id,'" has a static property "').concat(e,'" defined. The lazy property will be ignored.'));else{let h=await o();h!=null&&(Object.assign(n,{[e]:h}),Object.assign(n,a(n)))}typeof n.lazy=="object"&&(n.lazy[e]=void 0,Object.values(n.lazy).every(h=>h===void 0)&&(n.lazy=void 0))})();return i[e]=s,s},Bn=new WeakMap;function Is(e,t,r,a,n){let o=r[e.id];if(U(o,"No route found in manifest"),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy=="function"){let c=Bn.get(o);if(c)return{lazyRoutePromise:c,lazyHandlerPromise:c};let d=(async()=>{U(typeof e.lazy=="function","No lazy route function found");let h=await e.lazy(),y={};for(let m in h){let R=h[m];if(R===void 0)continue;let p=is(m),S=o[m]!==void 0&&m!=="hasErrorBoundary";p?Z(!p,"Route property "+m+" is not a supported property to be returned from a lazy route function. This property will be ignored."):S?Z(!S,'Route "'.concat(o.id,'" has a static property "').concat(m,'" defined but its lazy function is also returning a value for this property. The lazy route property "').concat(m,'" will be ignored.')):y[m]=R}Object.assign(o,y),Object.assign(o,{...a(o),lazy:void 0})})();
10return Bn.set(o,d),d.catch(()=>{}),{lazyRoutePromise:d,lazyHandlerPromise:d}}let i=Object.keys(e.lazy),l=[],s;for(let c of i){if(n&&n.includes(c))continue;let d=Na({key:c,route:e,manifest:r,mapRouteProperties:a});d&&(l.push(d),c===t&&(s=d))}let u=l.length>0?Promise.all(l).then(()=>{}):void 0;return u==null||u.catch(()=>{}),s==null||s.catch(()=>{}),{lazyRoutePromise:u,lazyHandlerPromise:s}}function $s(e){return e!==void 0}function Wn(e,t,r){let a=e.map(({route:n})=>{if(!(typeof n.lazy!="object"||!n.lazy.middleware))return Na({key:"middleware",route:n,manifest:t,mapRouteProperties:r})}).filter($s);return a.length>0?Promise.all(a):void 0}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 Hs(e){return e.matches.some(t=>t.route.middleware)?ei(e,()=>da(e)):da(e)}function Yn(e,t,r){return ti(e,t,a,ae,r);function a(n){return it(n)?ha(n):n}}function ei(e,t){return ti(e,t,a=>{if(Jt(a))throw a;return a},Bs,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=ke(i,i[l].route.id).route.id;return Promise.resolve({[s]:{type:"error",result:a}})}}}async function ti(e,t,r,a,n){let{matches:o,...i}=e,l=o.flatMap(u=>u.route.middleware?u.route.middleware.map(c=>[u.route.id,c]):[]);return await ri(i,l,t,r,a,n)}async function ri(e,t,r,a,n,o,i=0){var y;let{request:l}=e;if(l.signal.aborted)throw(y=l.signal.reason)!=null?y:new Error("Request aborted: ".concat(l.method," ").concat(l.url));let s=t[i];if(!s)return await r();let[u,c]=s,d,h=async()=>{if(d)throw new Error("You may only call `next()` once per middleware");try{return d={value:await ri(e,t,r,a,n,o,i+1)},d.value}catch(m){return d={value:await o(m,u,d)},d.value}};try{let m=await c(e,h),R=m!=null?a(m):void 0;return n(R)?R:d?R!=null?R:d.value:(d={value:await h()},d.value)}catch(m){return await o(m,u,d)}}function ai(e,t,r,a,n){let o=Na({key:"middleware",route:a.route,manifest:t,mapRouteProperties:e}),i=Is(a.route,ce(r.method)?"action":"loader",t,e,n);return{middleware:o,route:i.lazyRoutePromise,handler:i.lazyHandlerPromise}}function Vt(e,t,r,a,n,o,i,l,s,u=null,c){let d=!1,h=ai(e,t,r,o,i);return{...o,_lazyPromises:h,shouldLoad:s,shouldRevalidateArgs:u,shouldCallHandler(y){return d=!0,u?typeof c=="boolean"?Wt(o,{...u,defaultShouldRevalidate:c}):typeof y=="boolean"?Wt(o,{...u,defaultShouldRevalidate:y}):Wt(o,u):s},resolve(y){let{lazy:m,loader:R,middleware:p}=o.route,w=d||s||y&&!ce(r.method)&&(m||R),S=p&&p.length>0&&!R&&!m;return w&&(ce(r.method)||!S)?Us({request:r,path:a,pattern:n,match:o,lazyHandlerPromise:h==null?void 0:h.handler,lazyRoutePromise:h==null?void 0:h.route,handlerOverride:y,scopedContext:l}):Promise.resolve({type:"data",result:void 0})}}}function ot(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:ai(e,t,r,u,i),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Vt(e,t,r,a,Ke(n),u,i,l,!0,s))}async function ni(e,t,r,a,n,o,i){a.some(c=>{var d;return(d=c._lazyPromises)==null?void 0:d.middleware})&&await Promise.all(a.map(c=>{var d;return(d=c._lazyPromises)==null?void 0:d.middleware}));let l={request:t,url:br(t,r),pattern:Ke(a),params:a[0].params,context:o,matches:a},u=await e({...l,fetcherKey:n,runClientMiddleware:i?()=>{throw new Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response.  You can enable middleware via the `respond` API in `query`/`queryRoute`")}:c=>{let d=l;return ei(d,()=>c({...d,fetcherKey:n,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(a.flatMap(c=>{var d,h;return[(d=c._lazyPromises)==null?void 0:d.handler,(h=c._lazyPromises)==null?void 0:h.route]}))}catch(c){}return u}async function Us({request:e,path:t,pattern:r,match:a,lazyHandlerPromise:n,lazyRoutePromise:o,handlerOverride:i,scopedContext:l}){let s,u,c=ce(e.method),d=c?"action":"loader",h=y=>{let m,R=new Promise((S,P)=>m=P);u=()=>m(),e.signal.addEventListener("abort",u);let p=S=>typeof y!="function"?Promise.reject(new Error('You cannot call the handler for a route which defines a boolean "'.concat(d,'" [routeId: ').concat(a.route.id,"]"))):y({request:e,url:br(e,t),pattern:r,params:a.params,context:l},...S!==void 0?[S]:[]),w=(async()=>{try{return{type:"data",result:await(i?i(P=>p(P)):p())}}catch(S){return{type:"error",result:S}}})();return Promise.race([w,R])};try{let y=c?a.route.action:a.route.loader;if(n||o)if(y){let m,[R]=await Promise.all([h(y).catch(p=>{m=p}
10),n,o]);if(m!==void 0)throw m;s=R}else{await n;let m=c?a.route.action:a.route.loader;if(m)[s]=await Promise.all([h(m),o]);else if(d==="action"){let R=new URL(e.url),p=R.pathname+R.search;throw le(405,{method:e.method,pathname:p,routeId:a.route.id})}else return{type:"data",result:void 0}}else if(y)s=await h(y);else{let m=new URL(e.url),R=m.pathname+m.search;throw le(404,{pathname:R})}}catch(y){return{type:"error",result:y}}finally{u&&e.signal.removeEventListener("abort",u)}return s}async function oi(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 ii(e){var a,n,o,i,l;let{result:t,type:r}=e;if(ae(t)){let s;try{s=await oi(t)}catch(u){return{type:"error",error:u}}return r==="error"?{type:"error",error:new Se(t.status,t.statusText,s),statusCode:t.status,headers:t.headers}:{type:"data",data:s,statusCode:t.status,headers:t.headers}}return r==="error"?it(t)?t.data instanceof Error?{type:"error",error:t.data,statusCode:(a=t.init)==null?void 0:a.status,headers:(n=t.init)!=null&&n.headers?new Headers(t.init.headers):void 0}:{type:"error",error:ci(t),statusCode:se(t)?t.status:void 0,headers:(o=t.init)!=null&&o.headers?new Headers(t.init.headers):void 0}:{type:"error",error:t,statusCode:se(t)?t.status:void 0}:it(t)?{type:"data",data:t.data,statusCode:(i=t.init)==null?void 0:i.status,headers:(l=t.init)!=null&&l.headers?new Headers(t.init.headers):void 0}:{type:"data",data:t}}function li(e,t,r,a,n){let o=e.headers.get("Location");if(U(o,"Redirects returned/thrown from loaders/actions must have a Location header"),!_a(o)){let i=a.slice(0,a.findIndex(l=>l.route.id===r)+1);o=ca(new URL(t.url),i,n,o),e.headers.set("Location",o)}return e}var js=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function He(e){try{return js.includes(new URL(e).protocol)}catch(t){return!1}}function Vn(e,t,r,a){if(_a(e)){let n=e,o=_r.test(n)?new URL(xo(n,t.protocol)):new URL(n);if(He(o.toString()))throw new Error("Invalid redirect location");let i=de(o.pathname,r)!=null;if(o.origin===t.origin&&i)return Fa(o.pathname)+o.search+o.hash}try{let n=a.createURL(e);if(He(n.toString()))throw new Error("Invalid redirect location")}catch(n){}return e}function Ct(e,t,r,a){let n=e.createURL(ui(t)).toString(),o={signal:r};if(a&&ce(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=fa(a.formData):o.body=a.formData}return new Request(n,o)}function br(e,t){let r=new URL(e.url),a=typeof t=="string"?be(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?"?".concat(n.toString()):""}else r.search="";return r.hash=a.hash||"",r}function fa(e){let t=new URLSearchParams;for(let[r,a]of e.entries())t.append(r,typeof a=="string"?a:a.name);return t}function Jn(e){let t=new FormData;for(let[r,a]of e.entries())t.append(r,a);return t}function si(e,t,r,a=!1,n=!1){let o={},i=null,l,s=!1,u={},c=r&&fe(r[1])?r[1].error:void 0;return e.forEach(d=>{if(!(d.route.id in t))return;let h=d.route.id,y=t[h];if(U(!nt(y),"Cannot handle redirect results in processLoaderData"),fe(y)){let m=y.error;if(c!==void 0&&(m=c,c=void 0),i=i||{},n)i[h]=m;else{let R=ke(e,h);i[R.route.id]==null&&(i[R.route.id]=m)}a||(o[h]=Xo),s||(s=!0,l=se(y.error)?y.error.status:500),y.headers&&(u[h]=y.headers)}else o[h]=y.data,y.statusCode&&y.statusCode!==200&&!s&&(l=y.statusCode),y.headers&&(u[h]=y.headers)}),c!==void 0&&r&&(i={[r[0]]:c},r[2]&&(o[r[2]]=void 0)),{loaderData:o,errors:i,statusCode:l||200,loaderHeaders:u}}function Kn(e,t,r,a,n,o,i){let{loaderData:l,errors:s}=si(t,r,a);return n.filter(u=>!u.matches||u.matches.some(c=>c.shouldLoad)).forEach(u=>{let{key:c,match:d,controller:h}=u;if(h&&h.signal.aborted)return;let y=o[c];if(U(y,"Did not find corresponding fetcher result"),fe(y)){let m=ke(e.matches,d==null?void 0:d.route.id);s&&s[m.route.id]||(s={...s,[m.route.id]:y.error}),i.delete(c)}else if(nt(y))U(!1,"Unhandled fetcher revalidation redirect");else{let m=$e(y.data);i.set(c,m)}}),{loaderData:l,errors:s}}function Xn(e,t,r,a){let n=Object.entries(t).filter(([,o])=>o!==Xo).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 Gn(e){return e?fe(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function ke(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 xt(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 le(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 ".concat(a,' request to "').concat(t,'" but did not provide a `loader` for route "').concat(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 "'.concat(r,'" does not match URL "').concat(t,'"')):e===404?(i="Not Found",l='No route matches URL "'.concat(t,'"')):e===405&&(i="Method Not Allowed",a&&t&&r?l="You made a ".concat(a.toUpperCase(),' request to "').concat(t,'" but did not provide an `action` for route "').concat(r,'", so there is no way to handle the request.'):a&&(l='Invalid request method "'.concat(a.toUpperCase(),'"'))),new Se(e||500,i,new Error(l),!0)}function hr(e){let t=Object.entries(e);for(let r=t.length-1;r>=0;r--){let[a,n]=t[r];
10if(nt(n))return{key:a,result:n}}}function ui(e){let t=typeof e=="string"?be(e):e;return ie({...t,hash:""})}function zs(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function ha(e){var t;return Response.json(e.data,(t=e.init)!=null?t:void 0)}function ci(e){var t,r,a,n;return new Se((r=(t=e.init)==null?void 0:t.status)!=null?r:500,(n=(a=e.init)==null?void 0:a.statusText)!=null?n:"Internal Server Error",e.data)}function Bs(e){return e!=null&&typeof e=="object"&&Object.entries(e).every(([t,r])=>typeof t=="string"&&di(r))}function di(e){return e!=null&&typeof e=="object"&&"type"in e&&"result"in e&&(e.type==="data"||e.type==="error")}function fi(e){return ae(e.result)&&Vo.has(e.result.status)}function fe(e){return e.type==="error"}function nt(e){return(e&&e.type)==="redirect"}function it(e){return typeof e=="object"&&e!=null&&"type"in e&&"data"in e&&"init"in e&&e.type==="DataWithResponseInit"}function ae(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Nr(e){return Vo.has(e)}function Jt(e){return ae(e)&&Nr(e.status)&&e.headers.has("Location")}function ma(e){return Fs.has(e.toUpperCase())}function ce(e){return Ts.has(e.toUpperCase())}function Aa(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Lt(e,t){let r=typeof t=="string"?be(t).search:t.search;if(e[e.length-1].route.index&&Aa(r||""))return e[e.length-1];let a=No(e);return a[a.length-1]}function Qn(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 ea(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 Ws(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 $t(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 Ys(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 $e(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 Vs(e,t){try{let r=e.sessionStorage.getItem(Ko);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(r){}}function Js(e,t){if(t.size>0){let r={};for(let[a,n]of t)r[a]=[...n];try{e.sessionStorage.setItem(Ko,JSON.stringify(r))}catch(a){Z(!1,"Failed to save applied view transitions in sessionStorage (".concat(a,")."))}}}function qn(){let e,t,r=new Promise((a,n)=>{e=async o=>{a(o);try{await r}catch(i){}},t=async o=>{n(o);try{await r}catch(i){}}});return{promise:r,resolve:e,reject:t}}var je=f.createContext(null);je.displayName="DataRouter";var Qe=f.createContext(null);Qe.displayName="DataRouterState";var Ia=f.createContext(!1);function $a(){return f.useContext(Ia)}var tr=f.createContext({isTransitioning:!1});tr.displayName="ViewTransition";var rr=f.createContext(new Map);rr.displayName="Fetchers";var kt=f.createContext(null);kt.displayName="Await";var Ks=e=>f.createElement(kt.Provider,e),ge=f.createContext(null);ge.displayName="Navigation";var wt=f.createContext(null);wt.displayName="Location";var De=f.createContext({outlet:null,matches:[],isDataRoute:!1});De.displayName="Route";var Ha=f.createContext(null);Ha.displayName="RouteError";var hi="REACT_ROUTER_ERROR",Xs="REDIRECT",Gs="ROUTE_ERROR_RESPONSE";function pa(e){if(e.startsWith("".concat(hi,":").concat(Xs,":{")))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
10ing"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch(t){}}function ya(e){if(e.startsWith("".concat(hi,":").concat(Gs,":{")))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new Se(t.status,t.statusText,t.data)}catch(t){}}function mi(e,{relative:t}={}){U(ut(),"useHref() may be used only in the context of a <Router> component.");let{basename:r,navigator:a}=f.useContext(ge),{hash:n,pathname:o,search:i}=Ot(e,{relative:t}),l=o;return r!=="/"&&(l=o==="/"?r:_e([r,o])),a.createHref({pathname:l,search:i,hash:n})}function ut(){return f.useContext(wt)!=null}function ve(){return U(ut(),"useLocation() may be used only in the context of a <Router> component."),f.useContext(wt).location}function Qs(){return f.useContext(wt).navigationType}function qs(e){U(ut(),"useMatch() may be used only in the context of a <Router> component.");let{pathname:t}=ve();return f.useMemo(()=>_t(e,Oo(t)),[t,e])}var pi="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function yi(e){f.useContext(ge).static||f.useLayoutEffect(e)}function Ar(){let{isDataRoute:e}=f.useContext(De);return e?du():Zs()}function Zs(){U(ut(),"useNavigate() may be used only in the context of a <Router> component.");let e=f.useContext(je),{basename:t,navigator:r}=f.useContext(ge),{matches:a}=f.useContext(De),{pathname:n}=ve(),o=JSON.stringify(kr(a)),i=f.useRef(!1);return yi(()=>{i.current=!0}),f.useCallback((s,u={})=>{if(Z(i.current,pi),!i.current)return;if(typeof s=="number"){r.go(s);return}let c=Zt(s,JSON.parse(o),n,u.relative==="path");e==null&&t!=="/"&&(c.pathname=c.pathname==="/"?t:_e([t,c.pathname])),Pt(typeof s=="string"?s:ie(s),r.createHref(c),Oa(r),"reject"),(u.replace?r.replace:r.push)(c,u.state,u)},[t,r,o,n,e])}var gi=f.createContext(null);function eu(){return f.useContext(gi)}function vi(e){let t=f.useContext(De).outlet;return f.useMemo(()=>t&&f.createElement(gi.Provider,{value:e},t),[t,e])}function Ir(){var r;let{matches:e}=f.useContext(De),t=e[e.length-1];return(r=t==null?void 0:t.params)!=null?r:{}}function Ot(e,{relative:t}={}){let{matches:r}=f.useContext(De),{pathname:a}=ve(),n=JSON.stringify(kr(r));return f.useMemo(()=>Zt(e,JSON.parse(n),a,t==="path"),[e,n,a,t])}function wi(e,t){return Ri(e,t)}function Ri(e,t,r){var p;U(ut(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:a}=f.useContext(ge),{matches:n}=f.useContext(De),o=n[n.length-1],i=o?o.params:{},l=o?o.pathname:"/",s=o?o.pathnameBase:"/",u=o&&o.route;{let w=u&&u.path||"";Pi(l,!u||w.endsWith("*")||w.endsWith("*?"),'You rendered descendant <Routes> (or called `useRoutes()`) at "'.concat(l,'" (under <Route path="').concat(w,'">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won\'t match anymore and therefore the child routes will never render.\n\nPlease change the parent <Route path="').concat(w,'"> to <Route path="').concat(w==="/"?"*":"".concat(w,"/*"),'">.'))}let c=ve(),d;if(t){let w=typeof t=="string"?be(t):t;U(s==="/"||((p=w.pathname)==null?void 0:p.startsWith(s)),'When overriding the location using `<Routes location>` or `useRoutes(routes, location)`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "'.concat(s,'" but pathname "').concat(w.pathname,'" was given in the `location` prop.')),d=w}else d=c;let h=d.pathname||"/",y=h;if(s!=="/"){let w=s.replace(/^\//,"").split("/");y="/"+h.replace(/^\//,"").split("/").slice(w.length).join("/")}let m=r&&r.state.matches.length?r.state.matches.map(w=>Object.assign(w,{route:r.manifest[w.route.id]||w.route})):Fr(e,{pathname:y});Z(u||m!=null,'No routes matched location "'.concat(d.pathname).concat(d.search).concat(d.hash,'" ')),Z(m==null||m[m.length-1].route.element!==void 0||m[m.length-1].route.Component!==void 0||m[m.length-1].route.lazy!==void 0,'Matched leaf route at location "'.concat(d.pathname).concat(d.search).concat(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.'));let R=Si(m&&m.map(w=>Object.assign({},w,{params:Object.assign({},i,w.params),pathname:_e([s,a.encodeLocation?a.encodeLocation(w.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?s:_e([s,a.encodeLocation?a.encodeLocation(w.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),n,r);return t&&R?f.createElement(wt.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...d},navigationType:"POP"}},R):R}function tu(){let e=ar(),t=se(e)?"".concat(e.status," ").concat(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=f.createElement(f.Fragment,null,f.createElement("p",null,"💿 Hey developer 👋"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:o},"ErrorBoundary")," or"," ",f.createElement("code",{style:o},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application 
10Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},t),r?f.createElement("pre",{style:n},r):null,i)}var ru=f.createElement(tu,null),Ei=class extends f.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const r=ya(e.digest);r&&(e=r)}let t=e!==void 0?f.createElement(De.Provider,{value:this.props.routeContext},f.createElement(Ha.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?f.createElement(au,{error:e},t):t}};Ei.contextType=Ia;var ta=new WeakMap;function au({children:e,error:t}){let{basename:r,navigator:a}=f.useContext(ge);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let n=pa(t.digest);if(n){let o=ta.get(t);if(o)throw o;let i=Uo(n.location,r),l=i.absoluteURL||i.to;if(Pt(n.location,l,Oa(a),"allow-explicit"),He(l))throw new Error("Invalid redirect location");if(Ho&&!ta.get(t))if(i.isExternal||n.reloadDocument)window.location.href=l;else{const s=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:n.replace}));throw ta.set(t,s),s}return f.createElement("meta",{httpEquiv:"refresh",content:"0;url=".concat(l)})}}return e}function nu({routeContext:e,match:t,children:r}){let a=f.useContext(je);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),f.createElement(De.Provider,{value:e},r)}function Si(e,t=[],r){let a=r==null?void 0: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==null?void 0:a.errors;if(o!=null){let c=n.findIndex(d=>d.route.id&&(o==null?void 0:o[d.route.id])!==void 0);U(c>=0,"Could not find a matching route for errors on route IDs: ".concat(Object.keys(o).join(","))),n=n.slice(0,Math.min(n.length,c+1))}let i=!1,l=-1;if(r&&a){i=a.renderFallback;for(let c=0;c<n.length;c++){let d=n[c];if((d.route.HydrateFallback||d.route.hydrateFallbackElement)&&(l=c),d.route.id){let{loaderData:h,errors:y}=a,m=d.route.loader&&!h.hasOwnProperty(d.route.id)&&(!y||y[d.route.id]===void 0);if(d.route.lazy||m){r.isStatic&&(i=!0),l>=0?n=n.slice(0,l+1):n=[n[0]];break}}}}let s=r==null?void 0:r.onError,u=a&&s?(c,d)=>{var h,y,m;s(c,{location:a.location,params:(m=(y=(h=a.matches)==null?void 0:h[0])==null?void 0:y.params)!=null?m:{},pattern:Ke(a.matches),errorInfo:d})}:void 0;return n.reduceRight((c,d,h)=>{let y,m=!1,R=null,p=null;a&&(y=o&&d.route.id?o[d.route.id]:void 0,R=d.route.errorElement||ru,i&&(l<0&&h===0?(Pi("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),m=!0,p=null):l===h&&(m=!0,p=d.route.hydrateFallbackElement||null)));let w=t.concat(n.slice(0,h+1)),S=()=>{let P;return y?P=R:m?P=p:d.route.Component?P=f.createElement(d.route.Component,null):d.route.element?P=d.route.element:P=c,f.createElement(nu,{match:d,routeContext:{outlet:c,matches:w,isDataRoute:a!=null},children:P})};return a&&(d.route.ErrorBoundary||d.route.errorElement||h===0)?f.createElement(Ei,{location:a.location,revalidation:a.revalidation,component:R,error:y,children:S(),routeC
10ontext:{outlet:null,matches:w,isDataRoute:!0},onError:u}):S()},null)}function Ua(e){return"".concat(e," must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.")}function ja(e){let t=f.useContext(je);return U(t,Ua(e)),t}function ze(e){let t=f.useContext(Qe);return U(t,Ua(e)),t}function ou(e){let t=f.useContext(De);return U(t,Ua(e)),t}function Mt(e){let t=ou(e),r=t.matches[t.matches.length-1];return U(r.route.id,"".concat(e,' can only be used on routes that contain a unique "id"')),r.route.id}function iu(){return Mt("useRouteId")}function bi(){let e=ze("useNavigation");return f.useMemo(()=>{let{matches:t,historyAction:r,...a}=e.navigation;return a},[e.navigation])}function lu(){let e=ja("useRevalidator"),t=ze("useRevalidator"),r=f.useCallback(async()=>{await e.router.revalidate()},[e.router]);return f.useMemo(()=>({revalidate:r,state:t.revalidation}),[r,t.revalidation])}function $r(){let{matches:e,loaderData:t}=ze("useMatches");return f.useMemo(()=>e.map(r=>To(r,t)),[e,t])}function Hr(){let e=ze("useLoaderData"),t=Mt("useLoaderData");return e.loaderData[t]}function su(e){return ze("useRouteLoaderData").loaderData[e]}function Ur(){let e=ze("useActionData"),t=Mt("useLoaderData");return e.actionData?e.actionData[t]:void 0}function ar(){var a;let e=f.useContext(Ha),t=ze("useRouteError"),r=Mt("useRouteError");return e!==void 0?e:(a=t.errors)==null?void 0:a[r]}function Ci(){let e=f.useContext(kt);return e==null?void 0:e._data}function uu(){let e=f.useContext(kt);return e==null?void 0:e._error}var cu=0;function xi(e){let{router:t,basename:r}=ja("useBlocker"),a=ze("useBlocker"),[n,o]=f.useState(""),i=f.useCallback(l=>{if(typeof e!="function")return!!e;if(r==="/")return e(l);let{currentLocation:s,nextLocation:u,historyAction:c}=l;return e({currentLocation:{...s,pathname:de(s.pathname,r)||s.pathname},nextLocation:{...u,pathname:de(u.pathname,r)||u.pathname},historyAction:c})},[r,e]);return f.useEffect(()=>{let l=String(++cu);return o(l),()=>t.deleteBlocker(l)},[t]),f.useEffect(()=>{n!==""&&t.getBlocker(n,i)},[t,n,i]),n&&a.blockers.has(n)?a.blockers.get(n):rt}function du(){let{router:e}=ja("useNavigate"),t=Mt("useNavigate"),r=f.useRef(!1);return yi(()=>{r.current=!0}),f.useCallback(async(n,o={})=>{Z(r.current,pi),r.current&&(typeof n=="number"?await e.navigate(n):await e.navigate(n,{fromRouteId:t,...o}))},[e,t])}var Zn={};function Pi(e,t,r){!t&&!Zn[e]&&(Zn[e]=!0,Z(!1,r))}function fu(...e){var o,i;const t=Mt("useRoute"),r=(o=e[0])!=null?o:t,a=ze("useRoute"),n=a.matches.find(({route:l})=>l.id===r);if(n!==void 0)return{handle:n.route.handle,loaderData:a.loaderData[r],actionData:(i=a.actionData)==null?void 0:i[r]}}function eo(e){return{id:e.route.id,pathname:e.pathname,params:e.params,handle:e.route.handle}}function hu(){let{location:e,historyAction:t,matches:r,navigation:a}=ze("unstable_useRouterState"),n=f.useMemo(()=>{var i,l;return{type:t,location:e,searchParams:new URLSearchParams(e.search),params:(l=(i=r[r.length-1])==null?void 0:i.params)!=null?l:{},matches:r.map(s=>eo(s))}},[e,r,t]),o=f.useMemo(()=>{var l,s;if(a.state==="idle")return null;let i={type:a.historyAction,location:a.location,searchParams:new URLSearchParams(a.location.search),params:(s=(l=a.matches[a.matches.length-1])==null?void 0:l.params)!=null?s:{},matches:a.matches.map(u=>eo(u))};return a.state==="loading"?{...i,state:"loading",formMethod:a.formMethod,formAction:a.formAction,formEncType:a.formEncType,formData:a.formData,json:a.json,text:a.text}:{...i,state:"submitting",formMethod:a.formMethod,formAction:a.formAction,formEncType:a.formEncType,formData:a.formData,json:a.json,text:a.text}},[a]);return f.useMemo(()=>({active:n,pending:o}),[n,o])}var to={};function Kt(e,t){!e&&!to[t]&&(to[t]=!0,console.warn(t))}var mu="useOptimistic",ro=So[mu],pu=()=>{};function yu(e){return ro?ro(e):[e,pu]}function Nt(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&Z(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:f.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&Z(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:f.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&Z(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:f.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var jr=["HydrateFallback","hydrateFallbackElement"];function Li(e,t){return Mr({basename:t==null?void 0:t.basename,getContext:t==null?void 0:t.getContext,future:t==null?void 0:t.future,history:Pa({initialEntries:t==null?void 0:t.initialEntries,initialIndex:t==null?void 0:t.initialIndex}),hydrationData:t==null?void 0:t.hydrationData,routes:e,hydrationRouteProperties:jr,mapRouteProperties:Nt,dataStrategy:t==null?void 0:t.dataStrategy,patchRoutesOnNavigation:t==null?void 0:t.patchRoutesOnNavigation,instrumentations:t==null?void 0:t.instrumentations}).initialize()}var gu=class{constructor(){this.status="pending",this.promise=new Promise((e,t)=>
10{this.resolve=r=>{this.status==="pending"&&(this.status="resolved",e(r))},this.reject=r=>{this.status==="pending"&&(this.status="rejected",t(r))}})}};function Di({router:e,flushSync:t,onError:r,useTransitions:a}){a=$a()||a;let[o,i]=f.useState(e.state),[l,s]=yu(o),[u,c]=f.useState(),[d,h]=f.useState({isTransitioning:!1}),[y,m]=f.useState(),[R,p]=f.useState(),[w,S]=f.useState(),P=f.useRef(new Map),D=f.useCallback((g,{deletedFetchers:A,newErrors:F,flushSync:k,viewTransitionOpts:O})=>{F&&r&&Object.values(F).forEach(H=>{var Y,te;return r(H,{location:g.location,params:(te=(Y=g.matches[0])==null?void 0:Y.params)!=null?te:{},pattern:Ke(g.matches)})}),g.fetchers.forEach((H,Y)=>{H.data!==void 0&&P.current.set(Y,H.data)}),A.forEach(H=>P.current.delete(H)),Kt(k===!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 $=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition=="function";if(Kt(O==null||$,"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."),!O||!$){t&&k?t(()=>i(g)):a===!1?i(g):f.startTransition(()=>{a===!0&&s(H=>ao(H,g)),i(g)});return}if(t&&k){t(()=>{R&&(y==null||y.resolve(),R.skipTransition()),h({isTransitioning:!0,flushSync:!0,currentLocation:O.currentLocation,nextLocation:O.nextLocation})});let H=e.window.document.startViewTransition(()=>{t(()=>i(g))});H.finished.finally(()=>{t(()=>{m(void 0),p(void 0),c(void 0),h({isTransitioning:!1})})}),t(()=>
10p(H));return}R?(y==null||y.resolve(),R.skipTransition(),S({state:g,currentLocation:O.currentLocation,nextLocation:O.nextLocation})):(c(g),h({isTransitioning:!0,flushSync:!1,currentLocation:O.currentLocation,nextLocation:O.nextLocation}))},[e.window,t,R,y,a,s,r]);f.useLayoutEffect(()=>e.subscribe(D),[e,D]),f.useEffect(()=>{d.isTransitioning&&!d.flushSync&&m(new gu)},[d]),f.useEffect(()=>{if(y&&u&&e.window){let g=u,A=y.promise,F=e.window.document.startViewTransition(async()=>{a===!1?i(g):f.startTransition(()=>{a===!0&&s(k=>ao(k,g)),i(g)}),await A});F.finished.finally(()=>{m(void 0),p(void 0),c(void 0),h({isTransitioning:!1})}),p(F)}},[u,y,e.window,a,s]),f.useEffect(()=>{y&&u&&l.location.key===u.location.key&&y.resolve()},[y,R,l.location,u]),f.useEffect(()=>{!d.isTransitioning&&w&&(c(w.state),h({isTransitioning:!0,flushSync:!1,currentLocation:w.currentLocation,nextLocation:w.nextLocation}),S(void 0))},[d.isTransitioning,w]);let C=f.useMemo(()=>({createHref:e.createHref,createURL:e.createURL,encodeLocation:e.encodeLocation,go:g=>e.navigate(g),push:(g,A,F)=>e.navigate(g,{state:A,preventScrollReset:F==null?void 0:F.preventScrollReset}),replace:(g,A,F)=>e.navigate(g,{replace:!0,state:A,preventScrollReset:F==null?void 0:F.preventScrollReset})}),[e]),x=e.basename||"/",L=f.useMemo(()=>({router:e,navigator:C,static:!1,basename:x,onError:r}),[e,C,x,r]);return f.createElement(f.Fragment,null,f.createElement(je.Provider,{value:L},f.createElement(Qe.Provider,{value:l},f.createElement(rr.Provider,{value:P.current},f.createElement(tr.Provider,{value:d},f.createElement(ct,{basename:x,location:l.location,navigationType:l.historyAction,navigator:C,useTransitions:a},f.createElement(vu,{routes:e.routes,manifest:e.manifest,future:e.future,state:l,isStatic:!1,onError:r})))))),null)}function ao(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 vu=f.memo(Ti);function Ti({routes:e,manifest:t,future:r,state:a,isStatic:n,onError:o}){return Ri(e,void 0,{manifest:t,state:a,isStatic:n,onError:o})}function wu({basename:e,children:t,initialEntries:r,initialIndex:a,useTransitions:n}){let o=f.useRef();o.current==null&&(o.current=Pa({initialEntries:r,initialIndex:a,v5Compat:!0}));let i=o.current,[l,s]=f.useState({action:i.action,location:i.location}),u=f.useCallback(c=>{n===!1?s(c):f.startTransition(()=>s(c))},[n]);return f.useLayoutEffect(()=>i.listen(u),[i,u]),f.createElement(ct,{basename:e,children:t,location:l.location,navigationType:l.action,navigator:i,useTransitions:n})}function Ru({to:e,replace:t,state:r,relative:a}){U(ut(),"<Navigate> may be used only in the context of a <Router> component.");let{static:n,navigator:o}=f.useContext(ge);Z(!n,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:i}=f.useContext(De),{pathname:l}=ve(),s=Ar(),u=Zt(e,kr(i),l,a==="path");Pt(typeof e=="string"?e:ie(e),o.createHref(u),Oa(o),"reject");let c=JSON.stringify(u);return f.useEffect(()=>{s(JSON.parse(c),{replace:t,state:r,relative:a})},[s,c,a,t,r]),null}function _i(e){return vi(e.context)}function Fi(e){U(!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 ct({basename:e="/",children:t=null,location:r,navigationType:a="POP",navigator:n,static:o=!1,useTransitions:i}){U(!ut(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let l=e.replace(/^\/*/,"/"),s=f.useMemo(()=>({basename:l,navigator:n,static:o,useTransitions:i,future:{}}),[l,n,o,i]);typeof r=="string"&&(r=be(r));let{pathname:u="/",search:c="",hash:d="",state:h=null,key:y="default",mask:m}=r,R=f.useMemo(()=>{let p=de(u,l);return p==null?null:{location:{pathname:p,search:c,hash:d,state:h,key:y,mask:m},navigationType:a}},[l,u,c,d,h,y,a,m]);
10return Z(R!=null,'<Router basename="'.concat(l,'"> is not able to match the URL "').concat(u).concat(c).concat(d,"\" because it does not start with the basename, so the <Router> won't render anything.")),R==null?null:f.createElement(ge.Provider,{value:s},f.createElement(wt.Provider,{children:t,value:R}))}function Eu({children:e,location:t}){return wi(Xt(e),t)}function Su({children:e,errorElement:t,resolve:r}){let a=f.useContext(je),n=f.useContext(Qe),o=f.useCallback((i,l)=>{var s;a&&a.onError&&n&&a.onError(i,{location:n.location,params:((s=n.matches[0])==null?void 0:s.params)||{},pattern:Ke(n.matches),errorInfo:l})},[a,n]);return f.createElement(bu,{resolve:r,errorElement:t,onError:o},f.createElement(Cu,null,e))}var bu=class extends f.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=>{var i,l;(l=(i=this.props).onError)==null||l.call(i,o),Object.defineProperty(r,"_error",{get:()=>o})}));if(n===2&&!t)throw a._error;if(n===2)return f.createElement(kt.Provider,{value:a,children:t});if(n===1)return f.createElement(kt.Provider,{value:a,children:e});throw a}};function Cu({children:e}){let t=Ci(),r=typeof e=="function"?e(t):e;return f.createElement(f.Fragment,null,r)}function Xt(e,t=[]){let r=[];return f.Children.forEach(e,(a,n)=>{if(!f.isValidElement(a))return;let o=[...t,n];if(a.type===f.Fragment){r.push.apply(r,Xt(a.props.children,o));return}U(a.type===Fi,"[".concat(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>")),U(!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=Xt(a.props.children,o)),r.push(i)}),r}var xu=Xt;function Pu(e){return Si(e)}function ki(){return{params:Ir(),loaderData:Hr(),actionData:Ur(),matches:$r()}}function Lu({children:e}){const t=ki();return f.cloneElement(e,t)}function Oi(e){return function(){const r=ki();return f.createElement(e,r)}}function Mi(){return{params:Ir(),loaderData:Hr(),actionData:Ur()}}function Du({children:e}){const t=Mi();return f.cloneElement(e,t)}function Ni(e){return function(){const r=Mi();return f.createElement(e,r)}}function Ai(){return{params:Ir(),loaderData:Hr(),actionData:Ur(),error:ar()}}function Tu({children:e}){const t=Ai();return f.cloneElement(e,t)}function Ii(e){return function(){const r=Ai();return f.createElement(e,r)}}var wr="get",Rr="application/x-www-form-urlencoded";function zr(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function _u(e){return zr(e)&&e.tagName.toLowerCase()==="button"}function Fu(e){return zr(e)&&e.tagName.toLowerCase()==="form"}function ku(e){return zr(e)&&e.tagName.toLowerCase()==="input"}function Ou(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Mu(e,t){return e.button===0&&(!t||t==="_self")&&!Ou(e)}function Cr(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 Nu(e,t){let r=Cr(e);return t&&t.forEach((a,n)=>
10{r.has(n)||t.getAll(n).forEach(o=>{r.append(n,o)})}),r}var mr=null;function Au(){if(mr===null)try{new FormData(document.createElement("form"),0),mr=!1}catch(e){mr=!0}return mr}var Iu=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ra(e){return e!=null&&!Iu.has(e)?(Z(!1,'"'.concat(e,'" is not a valid `encType` for `<Form>`/`<fetcher.Form>` and will default to "').concat(Rr,'"')),null):e}function $u(e,t){let r,a,n,o,i;if(Fu(e)){let l=e.getAttribute("action");a=l?de(l,t):null,r=e.getAttribute("method")||wr,n=ra(e.getAttribute("enctype"))||Rr,o=new FormData(e)}else if(_u(e)||ku(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?de(s,t):null,r=e.getAttribute("formmethod")||l.getAttribute("method")||wr,n=ra(e.getAttribute("formenctype"))||ra(l.getAttribute("enctype"))||Rr,o=new FormData(l,e),!Au()){let{name:u,type:c,value:d}=e;if(c==="image"){let h=u?"".concat(u,"."):"";o.append("".concat(h,"x"),"0"),o.append("".concat(h,"y"),"0")}else u&&o.append(u,d)}}else{if(zr(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');r=wr,a=null,n=Rr,i=e}return o&&n==="text/plain"&&(i=o,o=void 0),{action:a,method:r.toLowerCase(),encType:n,formData:o,body:i}}var $i=-1,za=-2,Ba=-3,Wa=-4,xr=-5,Ya=-6,Va=-7,Hi="B",Ui="D",Dt="E",ga="M",ji="N",Tt="P",zi="R",va="S",Bi="Y",Wi="U",wa="Z",Yi=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function Hu(){const e=new TextDecoder;let t="";return new TransformStream({transform(r,a){const n=e.decode(r,{stream:!0}),o=(t+n).split("\n");t=o.pop()||"";for(const i of o)a.enqueue(i)},flush(r){t&&r.enqueue(t)}})}var Uu=1,aa=()=>Date.now(),ju=()=>new Promise(e=>setTimeout(e,0));async function na(e){const{indices:t}=this,r=t.get(e);if(r)return[r];if(e===void 0)return Va;if(e===null)return xr;if(Number.isNaN(e))return za;if(e===Number.POSITIVE_INFINITY)return Ya;if(e===Number.NEGATIVE_INFINITY)return Ba;if(e===0&&1/e<0)return Wa;const a=this.index++;t.set(e,a);const n=[[e,a]];return await zu.call(this,n),a}async function zu(e){const{deferred:t,indices:r,plugins:a,postPlugins:n}=this,o=this.stringified;let i=aa();const l=u=>{const c=r.get(u);if(c)return[c];if(u===void 0)return Va;if(u===null)return xr;if(Number.isNaN(u))return za;if(u===Number.POSITIVE_INFINITY)return Ya;if(u===Number.NEGATIVE_INFINITY)return Ba;if(u===0&&1/u<0)return Wa;const d=this.index++;return r.set(u,d),e.push([u,d]),d};let s=0;for(;e.length>0;){const u=aa();++s%6e3===0&&u-i>=Uu&&(await ju(),i=aa());const[c,d]=e.pop(),h=m=>Object.keys(m).map(R=>'"_'.concat(l(R),'":').concat(l(m[R]))).join(",");let y=null;switch(typeof c){case"boolean":case"number":case"string":o[d]=JSON.stringify(c);break;case"bigint":o[d]='["'.concat(Hi,'","').concat(c,'"]');break;case"symbol":{const m=Symbol.keyFor(c);m?o[d]='["'.concat(Bi,'",').concat(JSON.stringify(m),"]"):y=new Error("Cannot encode symbol unless created with Symbol.for()");break}case"object":{if(!c){o[d]="".concat(xr);break}const m=Array.isArray(c);let R=!1;if(!m&&a)for(const p of a){const w=p(c);if(Array.isArray(w)){R=!0;const[S,...P]=w;o[d]="[".concat(JSON.stringify(S)),P.length>0&&(o[d]+=",".concat(P.map(D=>l(D)).join(","))),o[d]+="]";break}}if(!R){let p=m?"[":"{";if(m){for(let w=0;w<c.length;w++)p+=(w?",":"")+(w in c?l(c[w]):$i);o[d]="".concat(p,"]")}else if(c instanceof Date){const w=c.getTime();o[d]='["'.concat(Ui,'",').concat(Number.isNaN(w)?JSON.stringify("invalid"):w,"]")}else c instanceof URL?o[d]='["'.concat(Wi,'",').concat(JSON.stringify(c.href),"]"):c instanceof RegExp?o[d]='["'.concat(zi,'",').concat(JSON.stringify(c.source),",").concat(JSON.stringify(c.flags),"]"):c instanceof Set?c.size>0?o[d]='["'.concat(va,'",').concat([...c].map(w=>l(w)).join(","),"]"):o[d]='["'.concat(va,'"]'):c instanceof Map?c.size>0?o[d]='["'.concat(ga,'",').concat([...c].flatMap(([w,S])=>[l(w),l(S)]).join(","),"]"):o[d]='["'.concat(ga,'"]'):c instanceof Promise?(o[d]='["'.concat(Tt,'",').concat(d,"]"),t[d]=c):c instanceof Error?(o[d]='["'.concat(Dt,'",').concat(JSON.stringify(c.message)),c.name!=="Error"&&(o[d]+=",".concat(JSON.stringify(c.name))),o[d]+="]"):Object.getPrototypeOf(c)===null?o[d]='["'.concat(ji,'",{').concat(h(c),"}]"):Wu(c)?o[d]="{".concat(h(c),"}"):y=new Error("Cannot encode object with prototype")}break}default:{const m=Array.isArray(c);let R=!1;if(!m&&a)for(const p of a){const w=p(c);if(Array.isArray(w)){R=!0;const[S,...P]=w;o[d]="[".concat(JSON.stringify(S)),P.length>0&&(o[d]+=",".concat(P.map(D=>l(D)).join(","))),o[d]+="]";break}}
10R||(y=new Error("Cannot encode function or unexpected type"))}}if(y){let m=!1;if(n)for(const R of n){const p=R(c);if(Array.isArray(p)){m=!0;const[w,...S]=p;o[d]="[".concat(JSON.stringify(w)),S.length>0&&(o[d]+=",".concat(S.map(P=>l(P)).join(","))),o[d]+="]";break}}if(!m)throw y}}}var Bu=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function Wu(e){const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join("\0")===Bu}var pr=typeof window<"u"?window:typeof globalThis<"u"?globalThis:void 0;function Ra(e){const{hydrated:t,values:r}=this;if(typeof e=="number")return no.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,no.call(this,a)}function no(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 Va:u(void 0);continue;case xr:u(null);continue;case za:u(NaN);continue;case Ya:u(1/0);continue;case Ba:u(-1/0);continue;case Wa:u(-0);continue}if(t[s]){u(t[s]);continue}const c=r[s];if(!c||typeof c!="object"){t[s]=c,u(c);continue}if(Array.isArray(c))if(typeof c[0]=="string"){const[d,h,y]=c;switch(d){case Ui:u(t[s]=new Date(h));continue;case Wi:u(t[s]=new URL(h));continue;case Hi:u(t[s]=BigInt(h));continue;case zi:u(t[s]=new RegExp(h,y));continue;case Bi:u(t[s]=Symbol.for(h));continue;case va:const m=new Set;t[s]=m;for(let D=c.length-1;D>0;D--)i.push([c[D],C=>{m.add(C)}]);u(m);continue;case ga:const R=new Map;t[s]=R;for(let D=c.length-2;D>0;D-=2){const C=[];i.push([c[D+1],x=>{C[1]=x}]),i.push([c[D],x=>{C[0]=x}]),l.push(()=>{R.set(C[0],C[1])})}u(R);continue;case ji:const p=Object.create(null);t[s]=p;for(const D of Object.keys(h).reverse()){const C=[];i.push([h[D],x=>{C[1]=x}]),i.push([Number(D.slice(1)),x=>{C[0]=x}]),l.push(()=>{p[C[0]]=C[1]})}u(p);continue;case Tt:if(t[h])u(t[s]=t[h]);else{const D=new Yi;a[h]=D,u(t[s]=D.promise)}continue;case Dt:const[,w,S]=c;let P=S&&pr&&ka.includes(S)&&S in pr&&typeof pr[S]=="function"?new pr[S](w):new Error(w);t[s]=P,u(P);continue;case wa:u(t[s]=t[h]);continue;default:if(Array.isArray(n)){const D=[],C=c.slice(1);for(let x=0;x<C.length;x++){const L=C[x];i.push([L,g=>{D[x]=g}])}l.push(()=>{for(const x of n){const L=x(c[0],...D);if(L){u(t[s]=L.value);return}}throw new SyntaxError});continue}throw new SyntaxError}}else{const d=[];t[s]=d;for(let h=0;h<c.length;h++){const y=c[h];y!==$i&&i.push([y,m=>{d[h]=m}])}u(d);continue}else{const d={};t[s]=d;for(const h of Object.keys(c).reverse()){const y=[];i.push([c[h],m=>{y[1]=m}]),i.push([Number(h.slice(1)),m=>{y[0]=m}]),l.push(()=>{d[y[0]]=y[1]})}u(d);continue}}for(;l.length>0;)l.pop()();return o}async function Yu(e,t){const{plugins:r}=t!=null?t:{},a=new Yi,n=e.pipeThrough(Hu()).getReader(),o={values:[],hydrated:[],deferred:{},plugins:r},i=await Vu.call(o,n);let l=a.promise;return i.done?a.resolve():l=Ju.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 Vu(e){const t=await e.read();if(!t.value)throw new SyntaxError;let r;try{r=JSON.parse(t.value)}catch(a){throw new SyntaxError}return{done:t.done,value:Ra.call(this,r)}}async function Ju(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;const r=t.value;switch(r[0]){case Tt:{const a=r.indexOf(":"),n=Number(r.slice(1,a)),o=this.deferred[n];if(!o)throw new Error("Deferred ID ".concat(n," not found in stream"));const i=r.slice(a+1);let l;try{l=JSON.parse(i)}catch(u){throw new SyntaxError}const s=Ra.call(this,l);o.resolve(s);break}case Dt:{const a=r.indexOf(":"),n=Number(r.slice(1,a)),o=this.deferred[n];if(!o)throw new Error("Deferred ID ".concat(n," not found in stream"));const i=r.slice(a+1);let l;try{l=JSON.parse(i)}catch(u){throw new SyntaxError}const s=Ra.call(this,l);o.reject(s);break}default:throw new SyntaxError}t=await e.read()}}function Ku(e,t){const{onComplete:r,plugins:a,postPlugins:n,signal:o}=t!=null?t:{},i={deferred:{},index:0,indices:new Map,stringified:[],plugins:a,postPlugins:n,signal:o},l=new TextEncoder;let s=0;return new ReadableStream({async start(c){const d=await na.call(i,e);if(Array.isArray(d))throw new Error("This should never happen");d<0?c.enqueue(l.encode("".concat(d,"\n"))):(c.enqueue(l.encode("[".concat(i.stringified.join(","),"]\n"))),s=i.stringified.length-1);const h=new WeakSet;let y=Promise.resolve();if(Object.keys(i.deferred).length){let m;const R=new Promise((p,w)=>{if(m=p,o){const S=()=>w(o.reason||new Error("Signal was aborted."));o.aborted?S():o.addEventListener("abort",P=>{S()})}});for(;Object.keys(i.deferred).length>0;){for(const[p,w]of Object.entries(i.deferred))h.has(w)||h.add(i.deferred[Number(p)]=Promise.race([R,w]).then(S=>(y=y.then(async()=>{const P=await na.call(i,S);if(Array.isArray(P))c.enqueue(l.encode("".concat(Tt).concat(p,':[["').concat(wa,'",').concat(P[0],"]]\n"))),i.index++,s++;else if(P<0)c.enqueue(l.encode("".concat(Tt).concat(p,":").concat(P,"\n")));else{const D=i.stringified.slice(s+1).join(",");c.enqueue(l.encode("".concat(Tt).concat(p,":[").concat(D,"]\n"))),s=i.stringified.length-1}}),y),S=>(y=y.then(async()=>{(!S||typeof S!="object"||!(S instanceof Error))&&(S=new Error("An unknown error occurred"));const P=await na.call(i,S);if(Array.isArray(P))c.enqueue(l.encode("".concat(Dt).concat(p,':[["').concat(wa,'",').concat(P[0],"]]\n"))),i.index++,s++;else if(P<0)c.enqueue(l.encode("".concat(Dt).concat(p,":").concat(P,"\n")));else{const D=i.stringified.slice(s+1).join(",");c.enqueue(l.encode("".concat(Dt).concat(p,":[").concat(D,"]\n"))),s=i.stringified.length-1}}),y)).finally(()=>{delete i.deferred[Number(p)]}));await Promise.race(Object.values(i.deferred))}m()}await Promise.all(Object.values(i.deferred)),await y,c.close(),r==null||r()}})}async function Xu(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 Gu={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},Qu=/[&><\u2028\u2029]/g;function st(e){return e.replace(Qu,t=>Gu[t])}function ye(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}
10var Ge=Symbol("SingleFetchRedirect"),Vi=class extends Error{},Ja=202,Ji=new Set([100,101,204,205]);function Ki({context:e,identifier:t,reader:r,textDecoder:a,nonce:n}){if(!e.renderMeta||!e.renderMeta.didRenderScripts)return null;e.renderMeta.streamCache||(e.renderMeta.streamCache={});let{streamCache:o}=e.renderMeta,i=o[t];if(i||(i=o[t]=r.read().then(c=>{o[t].result={done:c.done,value:a.decode(c.value,{stream:!0})}}).catch(c=>{o[t].error=c})),i.error)throw i.error;if(i.result===void 0)throw i;let{done:l,value:s}=i.result,u=s?f.createElement("script",{nonce:n,dangerouslySetInnerHTML:{__html:"window.__reactRouterContext.streamController.enqueue(".concat(st(JSON.stringify(s)),");")}}):null;return l?f.createElement(f.Fragment,null,u,f.createElement("script",{nonce:n,dangerouslySetInnerHTML:{__html:"window.__reactRouterContext.streamController.close();"}})):f.createElement(f.Fragment,null,u,f.createElement(f.Suspense,null,f.createElement(Ki,{context:e,identifier:t+1,reader:r,textDecoder:a,nonce:n})))}function qu(e,t,r,a,n,o){let i=Zu(e,l=>{let s=t.routes[l.route.id];return ye(s,"Route not found in manifest"),{hasLoader:s.hasLoader,hasClientLoader:s.hasClientLoader}},ic,a,n,o);return async l=>l.runClientMiddleware(i)}function Zu(e,t,r,a,n,o,i=()=>!0){return async l=>{let{request:s,matches:u,fetcherKey:c}=l,d=e();if(s.method!=="GET")return ec(l,r,n,o);let h=u.some(y=>{let{hasLoader:m,hasClientLoader:R}=t(y);return y.shouldCallHandler()&&m&&!R});return!a&&!h?tc(l,t,r,n,o):c?nc(l,r,n,o):rc(l,d,t,r,a,n,o,i)}}async function ec(e,t,r,a){let n=e.matches.find(l=>l.shouldCallHandler());ye(n,"No action match found");let o,i=await n.resolve(async l=>await l(async()=>{let{data:u,status:c}=await t(e,r,a,[n.route.id]);return o=c,Gt(u,n.route.id)}));return ae(i.result)||se(i.result)||it(i.result)?{[n.route.id]:i}:{[n.route.id]:{type:i.type,result:Ao(i.result,o)}}}async function tc(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),c=l.route.id,d=u?await s(async()=>{let{data:h}=await r(e,a,n,[c]);return Gt(h,c)}):await s();i[l.route.id]={type:"data",result:d}}catch(u){i[l.route.id]={type:"error",result:u}}}))),i}async function rc(e,t,r,a,n,o,i,l=()=>!0){let s=new Set,u=!1,c=e.matches.map(()=>oo()),d=oo(),h={},y=Promise.all(e.matches.map(async(R,p)=>R.resolve(async w=>{c[p].resolve();let S=R.route.id,{hasLoader:P,hasClientLoader:D}=r(R),C=!R.shouldRevalidateArgs||R.shouldRevalidateArgs.actionStatus==null||R.shouldRevalidateArgs.actionStatus<400;if(!R.shouldCallHandler(C)){u||(u=R.shouldRevalidateArgs!=null&&P);return}if(l(R)&&D){P&&(u=!0);try{let L=await w(async()=>{let{data:g}=await a(e,o,i,[S]);return Gt(g,S)});h[S]={type:"data",result:L}}catch(L){h[S]={type:"error",result:L}}return}P&&s.add(S);try{let L=await w(async()=>{let g=await d.promise;return Gt(g,S)});h[S]={type:"data",result:L}}catch(L){h[S]={type:"error",result:L}}})));if(await Promise.all(c.map(R=>R.promise)),(!t.state.initialized&&t.state.navigation.state==="idle"||s.size===0)&&!window.__reactRouterHdrActive)d.resolve({routes:{}});else{let R=n&&u&&s.size>0?[...s.keys()]:void 0;try{let p=await a(e,o,i,R);d.resolve(p.data)}catch(p){d.reject(p)}}return await y,await ac(d.promise,e.matches,s,h),h}async function ac(e,t,r,a){var n;try{let o,i=await e;if("routes"in i){for(let l of t)if(l.route.id in i.routes){let s=i.routes[l.route.id];if("error"in s){o=s.error,((n=a[l.route.id])==null?void 0:n.result)==null&&(a[l.route.id]={type:"error",result:o});break}}}o!==void 0&&Array.from(r.values()).forEach(l=>{a[l].result instanceof Vi&&(a[l].result=o)})}catch(o){}}async function nc(e,t,r,a){let n=e.matches.find(l=>l.shouldCallHandler());ye(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 Gt(s,o)}));return{[n.route.id]:i}}function oc(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 Ka(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="".concat(n.pathname,"_.").concat(a):n.pathname="".concat(n.pathname,".").concat(a):n.pathname==="/"?n.pathname="_root.".concat(a):t&&de(n.pathname,t)==="/"?n.pathname="".concat(Ft(t),"/_root.").concat(a):n.pathname="".concat(Ft(n.pathname),".").concat(a),n}async function ic(e,t,r,a){let{request:n}=e,o=Ka(n.url,t,r,"data");n.method==="GET"&&(o=oc(o),a&&o.searchParams.set("_routes",a.join(",")));let i=await fetch(o,await Xu(n));if(i.status>=400&&!i.headers.has("X-Remix-Response"))throw new Se(i.status,i.statusText,await i.text());if(i.status===204&&i.headers.has("X-Remix-Redirect"))return{status:Ja,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(Ji.has(i.status)){let l={};return a&&n.method!=="GET"&&(l[a[0]]={data:void 0}),{status:i.status,data:{routes:l}}}ye(i.body,"No response body to decode");try{let l=await Xa(i.body,window),s;if(n.method==="GET"){let u=l.value;Ge in u?s={redirect:u[Ge]}:s={routes:u}}else{let u=l.value,c=a==null?void 0:a[0];ye(c,"No routeId found for single fetch call decoding"),"redirect"in u?s={redirect:u}:s={routes:{[c]:u}}}return{status:i.status,data:s}}catch(l){throw new Error("Unable to decode turbo-stream response")}}function Xa(e,t){return Yu(e,{plugins:[(r,...a)=>{if(r==="SanitizedError"){let[n,o,i]=a,l=Error;n&&ka.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 Se(o,i,n)}}if(r==="SingleFetchRedirect")return{value:{[Ge]:a[0]}};if(r==="SingleFetchClassInstance")return{value:a[0]};if(r==="SingleFetchFallback")return{value:void 0}}]})}function Gt(e,t){if("redirect"in e){let{redirect:a,revalidate:n,reload:o,replace:i,status:l}=e.redirect;throw er(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 Vi('No result found for routeId "'.concat(t,'"'));if("error"in r)throw r.error;if("data"in r)return r.data;throw new Error('Invalid response found for routeId "'.concat(t,'"'))}function oo(){let e,t,r=new Promise((a,n)=>{e=async o=>{a(o);try{await r}catch(i){}},t=async o=>
10{n(o);try{await r}catch(i){}}});return{promise:r,resolve:e,reject:t}}async function Xi(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 `".concat(e.module,"`, reloading page...")),console.error(r),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function lc(e,t,r){let a=e.map(o=>{var s;let i=t[o.route.id],l=r.routes[o.route.id];return[l&&l.css?l.css.map(u=>({rel:"stylesheet",href:u})):[],((s=i==null?void 0:i.links)==null?void 0:s.call(i))||[]]}).flat(2),n=Qa(e,r);return Zi(a,n)}function Gi(e){return e.css?e.css.map(t=>({rel:"stylesheet",href:t})):[]}async function sc(e){if(!e.css)return;let t=Gi(e);await Promise.all(t.map(qi))}async function Qi(e,t){if(!e.css&&!t.links||!hc())return;let r=[];if(e.css&&r.push(...Gi(e)),t.links&&r.push(...t.links()),r.length===0)return;let a=[];for(let n of r)!Ga(n)&&n.rel==="stylesheet"&&a.push({...n,rel:"preload",as:"style"});await Promise.all(a.map(qi))}async function qi(e){return new Promise(t=>{if(e.media&&!window.matchMedia(e.media).matches||document.querySelector('link[rel="stylesheet"][href="'.concat(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 Ga(e){return e!=null&&typeof e.page=="string"}function uc(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 cc(e,t,r){let a=await Promise.all(e.map(async n=>{let o=t.routes[n.route.id];if(o){let i=await Xi(o,r);return i.links?i.links():[]}return[]}));return Zi(a.flat(1).filter(uc).filter(n=>n.rel==="stylesheet"||n.rel==="preload").map(n=>n.rel==="stylesheet"?{...n,rel:"prefetch",as:"style"}:{...n,rel:"prefetch"}))}function io(e,t,r,a,n,o){let i=(s,u)=>r[u]?s.route.id!==r[u].route.id:!0,l=(s,u)=>{var c;return r[u].pathname!==s.pathname||((c=r[u].route.path)==null?void 0:c.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)=>{var d;let c=a.routes[s.route.id];if(!c||!c.hasLoader)return!1;if(i(s,u)||l(s,u))return!0;if(s.route.shouldRevalidate){let h=s.route.shouldRevalidate({currentUrl:new URL(n.pathname+n.search+n.hash,window.origin),currentParams:((d=r[0])==null?void 0:d.params)||{},nextUrl:new URL(e,window.origin),nextParams:s.params,defaultShouldRevalidate:!0});if(typeof h=="boolean")return h}return!0}):[]}function Qa(e,t,{includeHydrateFallback:r}={}){return dc(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 dc(e){return[...new Set(e)]}function fc(e){let t={},r=Object.keys(e).sort();for(let a of r)t[a]=e[a];return t}function Zi(e,t){let r=new Set,a=new Set(t);return e.reduce((n,o)=>{if(t&&!Ga(o)&&o.as==="script"&&o.href&&a.has(o.href))return n;let l=JSON.stringify(fc(o));return r.has(l)||(r.add(l),n.push({key:l,link:o})),n},[])}var yr;function hc(){if(yr!==void 0)return yr;let e=document.createElement("link");return yr=e.relList.supports("preload"),e=null,yr}function mc(){let{nonce:e}=Be();return f.createElement(Ea,{title:"Loading...",renderScripts:!0},f.createElement("script",{nonce:e,dangerouslySetInnerHTML:{__html:'\n              console.log(\n                "💿 Hey developer 👋. You can provide a way better UX than this " +\n                "when your app is loading JS modules and/or running `clientLoader` " +\n                "functions. Check out https://reactrouter.com/start/framework/route-module#hydratefallback " +\n                "for more information."\n              );\n            '}}))}function qa(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 el(e,t,r){let a=rl(t),n=t.HydrateFallback&&(!r||e.id==="root")?t.HydrateFallback:e.id==="root"?mc:void 0,o=t.ErrorBoundary?t.ErrorBoundary:e.id==="root"?()=>f.createElement(sl,{error:ar()}):void 0;return e.id==="root"&&t.Layout?{...a?{element:f.createElement(t.Layout,null,f.createElement(a,null))}:{Component:a},...o?{errorElement:f.createElement(t.Layout,null,f.createElement(o,null))}:{ErrorBoundary:o},...n?{hydrateFallbackElement:f.createElement(t.Layout,null,f.createElement(n,null))}:{HydrateFallback:n}}:{Component:a,ErrorBoundary:o,HydrateFallback:n}}function tl(e,t,r,a,n="",o=qa(e),i=Promise.resolve({Component:()=>null}
10)){return(o[n]||[]).map(l=>{let s=t[l.id];ye(s,"No `routeModule` available to create server routes");let u={...el(l,s,a),caseSensitive:l.caseSensitive,id:l.id,index:l.index,path:l.path,handle:s.handle,lazy:a?()=>i:void 0,loader:l.hasLoader||l.hasClientLoader?()=>null:void 0},c=tl(e,t,r,a,l.id,o,i);return c.length>0&&(u.children=c),u})}function pc(e,t,r,a,n,o){return Br(t,r,a,n,o,"",qa(t),e)}function gr(e,t){if(e==="loader"&&!t.hasLoader||e==="action"&&!t.hasAction){let r=e==="action"?"serverAction()":"serverLoader()",a="You are trying to call ".concat(r," on a route that does not have a server ").concat(e,' (routeId: "').concat(t.id,'")');throw console.error(a),new Se(400,"Bad Request",new Error(a),!0)}}function oa(e,t){let r=e==="clientAction"?"a":"an",a='Route "'.concat(t,'" does not have ').concat(r," ").concat(e,", but you are trying to submit to it. To fix this, please add ").concat(r," `").concat(e,"` function to the route");throw console.error(a),new Se(405,"Method Not Allowed",new Error(a),!0)}function Br(e,t,r,a,n,o="",i=qa(e),l){return(i[o]||[]).map(s=>{var S,P,D;let u=t[s.id];function c(C){return ye(typeof C=="function","No single fetch function available for route handler"),C()}function d(C){return s.hasLoader?c(C):Promise.resolve(null)}function h(C){if(!s.hasAction)throw oa("action",s.id);return c(C)}function y(C){import(C)}function m(C){C.clientActionModule&&y(C.clientActionModule),C.clientLoaderModule&&y(C.clientLoaderModule)}async function R(C){let x=t[s.id],L=x?Qi(s,x):Promise.resolve();try{return C()}finally{await L}}let p={id:s.id,index:s.index,path:s.path};if(u){Object.assign(p,{...p,...el(s,u,n),middleware:u.clientMiddleware,handle:u.handle,shouldRevalidate:lo(p.path,u,s,a,l)});let C=r&&r.loaderData&&s.id in r.loaderData,x=C?(S=r==null?void 0:r.loaderData)==null?void 0:S[s.id]:void 0,L=r&&r.errors&&s.id in r.errors,g=L?(P=r==null?void 0:r.errors)==null?void 0:P[s.id]:void 0,A=l==null&&(((D=u.clientLoader)==null?void 0:D.hydrate)===!0||!s.hasLoader);p.loader=async({request:F,params:k,context:O,pattern:$,url:H},Y)=>{let te=A;return A=!1,await R(async()=>(ye(u,"No `routeModule` available for critical-route loader"),u.clientLoader?u.clientLoader({request:F,params:k,context:O,pattern:$,url:H,async serverLoader(){if
10(gr("loader",s),te){if(C)return x;if(L)throw g}return d(Y)}}):d(Y)))},p.loader.hydrate=nr(s.id,u.clientLoader,s.hasLoader,n),p.action=({request:F,params:k,context:O,pattern:$,url:H},Y)=>R(async()=>{if(ye(u,"No `routeModule` available for critical-route action"),!u.clientAction){if(n)throw oa("clientAction",s.id);return h(Y)}return u.clientAction({request:F,params:k,context:O,pattern:$,url:H,async serverAction(){return gr("action",s),h(Y)}})})}else{s.hasClientLoader||(p.loader=(L,g)=>R(()=>d(g))),s.hasClientAction||(p.action=(L,g)=>R(()=>{if(n)throw oa("clientAction",s.id);return h(g)}));let C;async function x(){return C?await C:(C=(async()=>{(s.clientLoaderModule||s.clientActionModule)&&await new Promise(g=>setTimeout(g,0));let L=gc(s,t);return m(s),await L})(),await C)}p.lazy={loader:s.hasClientLoader?async()=>{let{clientLoader:L}=s.clientLoaderModule?await import(s.clientLoaderModule):await x();return ye(L,"No `clientLoader` export found"),(g,A)=>L({...g,async serverLoader(){return gr("loader",s),d(A)}})}:void 0,action:s.hasClientAction?async()=>{let L=s.clientActionModule?import(s.clientActionModule):x();m(s);let{clientAction:g}=await L;return ye(g,"No `clientAction` export found"),(A,F)=>g({...A,async serverAction(){return gr("action",s),h(F)}})}:void 0,middleware:s.hasClientMiddleware?async()=>{let{clientMiddleware:L}=s.clientMiddlewareModule?await import(s.clientMiddlewareModule):await x();return ye(L,"No `clientMiddleware` export found"),L}:void 0,shouldRevalidate:async()=>{let L=await x();return lo(p.path,L,s,a,l)},handle:async()=>(await x()).handle,Component:async()=>(await x()).Component,ErrorBoundary:s.hasErrorBoundary?async()=>(await x()).ErrorBoundary:void 0}}let w=Br(e,t,r,a,n,s.id,i,l);return w.length>0&&(p.children=w),p})}function lo(e,t,r,a,n){if(n)return yc(r.id,t.shouldRevalidate,n);if(!a&&r.hasLoader&&!r.hasClientLoader){let o=e?Ta(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 yc(e,t,r){let a=!1;return n=>a?t?t(n):n.defaultShouldRevalidate:(a=!0,r.has(e))}async function gc(e,t){let r=Xi(e,t),a=sc(e),n=await r;return await Promise.all([a,Qi(e,n)]),{Component:rl(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 rl(e){if(e.default==null)return;if(!(typeof e.default=="object"&&Object.keys(e.default).length===0))return e.default}function nr(e,t,r,a){return a&&e!=="root"||t!=null&&(t.hydrate===!0||r!==!0)}var Er=new Set,vc=1e3,Pr=new Set,al=7680;function wc(e){let t=new Set;return e.forEach(r=>{r.startsWith("/")||(r="/".concat(r));for(let a=1;a<r.length;a++)r[a]==="/"&&t.add(r.slice(0,a));t.add(r)}),Array.from(t)}function Za(e,t){return e.mode==="lazy"&&t===!0}function Rc({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("/".concat(n.join("/"))),n.pop();o.forEach(l=>{let s=Ee(r.routes,l,r.basename||"/",!1,r.branches);s&&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 Ec(e,t,r,a,n,o,i){if(Za(n,a))return async({path:l,patch:s,signal:u,fetcherKey:c})=>{if(Pr.has(l))return;let{state:d}=e();await ol([l],c?window.location.href:ie(d.navigation.location||d.location),t,r,a,o,i,n.manifestPath,s,u)}}function Sc(e,t,r,a,n,o){f.useEffect(()=>{var c,d;if(!Za(n,a)||((d=(c=window.navigator)==null?void 0:c.connection)==null?void 0:d.saveData)===!0)return;function i(h){let y=h.tagName==="FORM"?h.getAttribute("action"):h.getAttribute("href");if(!y)return;let m=h.tagName==="A"?h.pathname:new URL(y,window.location.origin).pathname;Pr.has(m)||Er.add(m)}async function l(){document.querySelectorAll("a[data-discover], form[data-discover]").forEach(i);let h=Array.from(Er.keys()).filter(y=>Pr.has(y)?(Er.delete(y),!1):!0);if(h.length!==0)try{await ol(h,null,t,r,a,o,e.basename,n.manifestPath,e.patchRoutes)}catch(y){console.error("Failed to fetch manifest patches",y)}}let s=Cc(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 nl(e,t){let r=e||"/__manifest";return t==null?r:_e([t,r])}var ia="react-router-manifest-version";async function ol(e,t,r,a,n,o,i,l,s,u){e=wc(e);const c=new URLSearchParams;c.set("paths",e.sort().join(",")),c.set("version",r.version);let d=new URL(nl(l,i),window.location.origin);if(d.search=c.toString(),d.toString().length>al){Er.clear();return}let h;try{let p=await fetch(d,{signal:u});if(p.ok){if(p.status===204&&p.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 
10new document navigation to sync up with the latest manifest.");return}try{if(sessionStorage.getItem(ia)===r.version){console.error("Unable to discover routes due to manifest version mismatch.");return}sessionStorage.setItem(ia,r.version)}catch(w){}window.location.href=t,console.warn("Detected manifest version mismatch, reloading..."),await new Promise(()=>{})}else if(p.status>=400)throw new Error(await p.text())}else throw new Error("".concat(p.status," ").concat(p.statusText));try{sessionStorage.removeItem(ia)}catch(w){}h=await p.json()}catch(p){if(u!=null&&u.aborted)return;throw p}let y=new Set(Object.keys(r.routes)),m=Object.values(h).reduce((p,w)=>(w&&!y.has(w.id)&&(p[w.id]=w),p),{});Object.assign(r.routes,m),e.forEach(p=>bc(p,Pr));let R=new Set;Object.values(m).forEach(p=>{p&&(!p.parentId||!m[p.parentId])&&R.add(p.parentId)}),R.forEach(p=>s(p||null,Br(m,a,null,n,o,p)))}function bc(e,t){if(t.size>=vc){let r=t.values().next().value;t.delete(r)}t.add(e)}function Cc(e,t){let r;return(...a)=>{window.clearTimeout(r),r=window.setTimeout(()=>e(...a),t)}}function Wr(){let e=f.useContext(je);return ye(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function Yr(){let e=f.useContext(Qe);return ye(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var dt=f.createContext(void 0);dt.displayName="FrameworkContext";function Be(){let e=f.useContext(dt);return ye(e,"You must render this element inside a <HydratedRouter> element"),e}function xc(e,t){let r=f.useContext(dt),[a,n]=f.useState(!1),[o,i]=f.useState(!1),{onFocus:l,onBlur:s,onMouseEnter:u,onMouseLeave:c,onTouchStart:d}=t,h=f.useRef(null);f.useEffect(()=>{if(e==="render"&&i(!0),e==="viewport"){let R=w=>{w.forEach(S=>{i(S.isIntersecting)})},p=new IntersectionObserver(R,{threshold:.5});return h.current&&p.observe(h.current),()=>{p.disconnect()}}},[e]),f.useEffect(()=>{if(a){let R=setTimeout(()=>{i(!0)},100);return()=>{clearTimeout(R)}}},[a]);let y=()=>{n(!0)},m=()=>{n(!1),i(!1)};return r?e!=="intent"?[o,h,{}]:[o,h,{onFocus:Ht(l,y),onBlur:Ht(s,m),onMouseEnter:Ht(u,y),onMouseLeave:Ht(c,m),onTouchStart:Ht(d,y)}]:[!1,h,{}]}function Ht(e,t){return r=>{e&&e(r),r.defaultPrevented||t(r)}}function en(e,t,r){if(r&&!Lr)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 so="data-react-router-critical-css";function Pc({nonce:e,crossOrigin:t}){let{isSpaMode:r,manifest:a,routeModules:n,criticalCss:o,nonce:i}=Be(),{errors:l,matches:s}=Yr(),u=en(s,l,r),c=f.useMemo(()=>lc(u,n,a),[u,n,a]);return e==null&&i&&(e=i),f.createElement(f.Fragment,null,typeof o=="string"?f.createElement("style",{[so]:"",nonce:e,dangerouslySetInnerHTML:{__html:o}}):null,typeof o=="object"?f.createElement("link",{[so]:"",rel:"stylesheet",href:o.href,nonce:e,crossOrigin:t}):null,c.map(({key:d,link:h})=>{var y,m;return Ga(h)?f.createElement(tn,{key:d,nonce:e,...h,crossOrigin:(y=h.crossOrigin)!=null?y:t}):f.createElement("link",{key:d,nonce:e,...h,crossOrigin:(m=h.crossOrigin)!=null?m:t})}))}function tn({page:e,...t}){let r=$a(),{nonce:a}=Be(),{router:n}=Wr(),o=f.useMemo(()=>Fr(n.routes,e,n.basename),[n.routes,e,n.basename]);return o?(t.nonce==null&&a&&(t={...t,nonce:a}),r?f.createElement(Dc,{page:e,matches:o,...t}):f.createElement(Tc,{page:e,matches:o,...t})):null}function Lc(e){let{manifest:t,routeModules:r}=Be(),[a,n]=f.useState([]);return f.useEffect(()=>{let o=!1;return cc(e,t,r).then(i=>{o||n(i)}),()=>{o=!0}},[e,t,r]),a}function Dc({page:e,matches:t,...r}){let a=ve(),{future:n}=Be(),{basename:o}=Wr(),i=f.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let l=Ka(e,o,n.v8_trailingSlashAwareDataRequests,"rsc"),s=!1,u=[];for(let c of t)typeof c.route.shouldRevalidate=="function"?s=!0:u.push(c.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 f.createElement(f.Fragment,null,i.map(l=>f.createElement("link",{key:l,rel:"prefetch",as:"fetch",href:l,...r})))}function Tc({page:e,matches:t,...r}){let a=ve(),{future:n,manifest:o,routeModules:i}=Be(),{basename:l}=Wr(),{loaderData:s,matches:u}=Yr(),c=f.useMemo(()=>io(e,t,u,o,a,"data"),[e,t,u,o,a]),d=f.useMemo(()=>io(e,t,u,o,a,"assets"),[e,t,u,o,a]),h=f.useMemo(()=>
10{if(e===a.pathname+a.search+a.hash)return[];let R=new Set,p=!1;if(t.forEach(S=>{var D;let P=o.routes[S.route.id];!P||!P.hasLoader||(!c.some(C=>C.route.id===S.route.id)&&S.route.id in s&&((D=i[S.route.id])!=null&&D.shouldRevalidate)||P.hasClientLoader?p=!0:R.add(S.route.id))}),R.size===0)return[];let w=Ka(e,l,n.v8_trailingSlashAwareDataRequests,"data");return p&&R.size>0&&w.searchParams.set("_routes",t.filter(S=>R.has(S.route.id)).map(S=>S.route.id).join(",")),[w.pathname+w.search]},[l,n.v8_trailingSlashAwareDataRequests,s,a,o,c,t,e,i]),y=f.useMemo(()=>Qa(d,o),[d,o]),m=Lc(d);return f.createElement(f.Fragment,null,h.map(R=>f.createElement("link",{key:R,rel:"prefetch",as:"fetch",href:R,...r})),y.map(R=>f.createElement("link",{key:R,rel:"modulepreload",href:R,...r})),m.map(({key:R,link:p})=>{var w;return f.createElement("link",{key:R,nonce:r.nonce,...p,crossOrigin:(w=p.crossOrigin)!=null?w:r.crossOrigin})}))}function _c(){let{isSpaMode:e,routeModules:t}=Be(),{errors:r,matches:a,loaderData:n}=Yr(),o=ve(),i=en(a,r,e),l=null;r&&(l=r[i[i.length-1].route.id]);let s=[],u=null,c=[];for(let d=0;d<i.length;d++){let h=i[d],y=h.route.id,m=n[y],R=h.params,p=t[y],w=[],S={id:y,data:m,loaderData:m,meta:[],params:h.params,pathname:h.pathname,handle:h.route.handle,error:l};if(c[d]=S,p!=null&&p.meta?w=typeof p.meta=="function"?p.meta({data:m,loaderData:m,params:R,location:o,matches:c,error:l}):Array.isArray(p.meta)?[...p.meta]:p.meta:u&&(w=[...u]),w=w||[],!Array.isArray(w))throw new Error("The route at "+h.route.path+" returns an invalid value. All route meta functions must return an array of meta objects.\n\nTo reference the meta function API, see https://reactrouter.com/start/framework/route-module#meta");S.meta=w,c[d]=S,s=[...w],u=s}return f.createElement(f.Fragment,null,s.flat().map(d=>{var h;if(!d)return null;if("tagName"in d){let{tagName:y,...m}=d;if(!Fc(y))return console.warn("A meta object uses an invalid tagName: ".concat(y,". Expected either 'link' or 'meta'")),null;let R=y;return f.createElement(R,{key:JSON.stringify(m),...m})}if("title"in d)return f.createElement("title",{key:"title"},String(d.title));if("charset"in d&&((h=d.charSet)!=null||(d.charSet=d.charset),delete d.charset),"charSet"in d&&d.charSet!=null)return typeof d.charSet=="string"?f.createElement("meta",{key:"charSet",charSet:d.charSet}):null;if("script:ld+json"in d)try{let y=JSON.stringify(d["script:ld+json"]);return f.createElement("script",{key:"script:ld+json:".concat(y),type:"application/ld+json",dangerouslySetInnerHTML:{__html:st(y)}})}catch(y){return null}return f.createElement("meta",{key:JSON.stringify(d),...d})}))}function Fc(e){return typeof e=="string"&&/^(meta|link)$/.test(e)}var Lr=!1;function kc(){Lr=!0}function il(e){let{manifest:t,serverHandoffString:r,isSpaMode:a,renderMeta:n,routeDiscovery:o,ssr:i,nonce:l}=Be(),{router:s,static:u,staticContext:c}=Wr(),{matches:d}=Yr(),h=$a(),y=Za(o,i);e.nonce==null&&l&&(e={...e,nonce:l}),n&&(n.didRenderScripts=!0);let m=en(d,null,a);f.useEffect(()=>{kc()},[]);let R=f.useMemo(()=>{var C;if(h)return null;let P=c?"window.__reactRouterContext = ".concat(r,";").concat("window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());"):" ",D=u?"".concat((C=t.hmr)!=null&&C.runtime?"import ".concat(JSON.stringify(t.hmr.runtime),";"):"").concat(y?"":"import ".concat(JSON.stringify(t.url)),";\n").concat(m.map((x,L)=>{let g="route".concat(L),A=t.routes[x.route.id];ye(A,"Route ".concat(x.route.id," not found in manifest"));let{clientActionModule:F,clientLoaderModule:k,clientMiddlewareModule:O,hydrateFallbackModule:$,module:H}=A,Y=[...F?[{module:F,varName:"".concat(g,"_clientAction")}]:[],...k?[{module:k,varName:"".concat(g,"_clientLoader")}]:[],...O?[{module:O,varName:"".concat(g,"_clientMiddleware")}]:[],...$?[{module:$,varName:"".concat(g,"_HydrateFallback")}]:[],{module:H,varName:"".concat(g,"_main")}];if(Y.length===1)return"import * as ".concat(g," from ").concat(JSON.stringify(H),";");let te=Y.map(q=>"import * as ".concat(q.varName,' from "').concat(q.module,'";
10')).join("\n"),K="const ".concat(g," = {").concat(Y.map(q=>"...".concat(q.varName)).join(","),"};");return[te,K].join("\n")}).join("\n"),"\n  ").concat(y?"window.__reactRouterManifest = ".concat(JSON.stringify(Rc(t,s),null,2),";"):"","\n  window.__reactRouterRouteModules = {").concat(m.map((x,L)=>"".concat(JSON.stringify(x.route.id),":route").concat(L)).join(","),"};\n\nimport(").concat(JSON.stringify(t.entry.module),");"):" ";return f.createElement(f.Fragment,null,f.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:P},type:void 0}),f.createElement("script",{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:D},type:"module",async:!0}))},[]),p=Lr||h?[]:[...new Set(t.entry.imports.concat(Qa(m,t,{includeHydrateFallback:!0})))],w=typeof t.sri=="object"?t.sri:{};return Kt(!h,"The <Scripts /> element is a no-op when using RSC and can be safely removed."),Lr||h?null:f.createElement(f.Fragment,null,typeof t.sri=="object"?f.createElement("script",{...e,"rr-importmap":"",type:"importmap",suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:w})}}):null,y?null:f.createElement("link",{rel:"modulepreload",href:t.url,crossOrigin:e.crossOrigin,integrity:w[t.url],nonce:e.nonce,suppressHydrationWarning:!0}),f.createElement("link",{rel:"modulepreload",href:t.entry.module,crossOrigin:e.crossOrigin,integrity:w[t.entry.module],nonce:e.nonce,suppressHydrationWarning:!0}),p.map(S=>f.createElement("link",{key:S,rel:"modulepreload",href:S,crossOrigin:e.crossOrigin,integrity:w[S],nonce:e.nonce,suppressHydrationWarning:!0})),R)}function Oc(...e){return t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})}}var ll=class extends f.Component{constructor(e){super(e),this.state={error:e.error||null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:e.error||null,location:e.location}:{error:e.error||t.error,location:t.location}}render(){return this.state.error?f.createElement(sl,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}};function sl({error:e,isOutsideRemixApp:t}){let{nonce:r}=Be();console.error(e);let a=f.createElement("script",{nonce:r,dangerouslySetInnerHTML:{__html:'\n        console.log(\n          "💿 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."\n        );\n      '}});if(se(e))return f.createElement(Ea,{title:"Unhandled Thrown Response!"},f.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 f.createElement(Ea,{title:"Application Error!",isOutsideRemixApp:t},f.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),f.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},n.stack),a)}function Ea({title:e,renderScripts:t,isOutsideRemixApp:r,children:a}){var o;let{routeModules:n}=Be();return(o=n.root)!=null&&o.Layout&&!r?a:f.createElement("html",{lang:"en"},f.createElement("head",null,f.createElement("meta",{charSet:"utf-8"}),f.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),f.createElement("title",null,e)),f.createElement("body",null,f.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},a,t?f.createElement(il,null):null)))}var Mc=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{Mc&&(window.__reactRouterVersion="7.18.3")}catch(e){}function Nc(e,t){return Mr({basename:t==null?void 0:t.basename,getContext:t==null?void 0:t.getContext,future:t==null?void 0:t.future,history:La({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||ul(),routes:e,mapRouteProperties:Nt,hydrationRouteProperties:jr,dataStrategy:t==null?void 0:t.dataStrategy,patchRoutesOnNavigation:t==null?void 0:t.patchRoutesOnNavigation,window:t==null?void 0:t.window,instrumentations:t==null?void 0:t.instrumentations}).initialize()}function Ac(e,t){return Mr({basename:t==null?void 0:t.basename,getContext:t==null?void 0:t.getContext,future:t==null?void 0:t.future,history:Da({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||ul(),routes:e,mapRouteProperties:Nt,hydrationRouteProperties:jr,dataStrategy:t==null?void 0:t.dataStrategy,patchRoutesOnNavigation:t==null?void 0:t.patchRoutesOnNavigation,window:t==null?void 0:t.window,instrumentations:t==null?void 0:t.instrumentations}).initialize()}function ul(){let e=window==null?void 0:window.__staticRouterHydrationData;return e&&e.errors&&(e={...e,errors:Ic(e.errors)}),e}function Ic(e){if(!e)return null;let t=Object.entries(e),r={};for(let[a,n]of t)if(n&&n.__type==="RouteErrorResponse")r[a]=new Se(n.status,n.statusText,n.data,n.internal===!0);else if(n&&n.__type==="Error"){if(typeof n.__subType=="string"&&ka.includes(n.__subType)){let o=window[n.__subType];if(typeof o=="function")try{let i=new o(n.message);i.stack="",r[a]=i}catch(i){}}if(r[a]==null){let o=new Error(n.message);o.stack="",r[a]=o}}else r[a]=n;return r}
10function $c({basename:e,children:t,useTransitions:r,window:a}){let n=f.useRef();n.current==null&&(n.current=La({window:a,v5Compat:!0}));let o=n.current,[i,l]=f.useState({action:o.action,location:o.location}),s=f.useCallback(u=>{r===!1?l(u):f.startTransition(()=>l(u))},[r]);return f.useLayoutEffect(()=>o.listen(s),[o,s]),f.createElement(ct,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:o,useTransitions:r})}function Hc({basename:e,children:t,useTransitions:r,window:a}){let n=f.useRef();n.current==null&&(n.current=Da({window:a,v5Compat:!0}));let o=n.current,[i,l]=f.useState({action:o.action,location:o.location}),s=f.useCallback(u=>{r===!1?l(u):f.startTransition(()=>l(u))},[r]);return f.useLayoutEffect(()=>o.listen(s),[o,s]),f.createElement(ct,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:o,useTransitions:r})}function cl({basename:e,children:t,history:r,useTransitions:a}){let[n,o]=f.useState({action:r.action,location:r.location}),i=f.useCallback(l=>{a===!1?o(l):f.startTransition(()=>o(l))},[a]);return f.useLayoutEffect(()=>r.listen(i),[r,i]),f.createElement(ct,{basename:e,children:t,location:n.location,navigationType:n.action,navigator:r,useTransitions:a})}cl.displayName="unstable_HistoryRouter";var rn=f.forwardRef(function({onClick:t,discover:r="render",prefetch:a="none",relative:n,reloadDocument:o,replace:i,mask:l,state:s,target:u,to:c,preventScrollReset:d,viewTransition:h,defaultShouldRevalidate:y,...m},R){let{basename:p,navigator:w,useTransitions:S}=f.useContext(ge),P=typeof c=="string"&&qt.test(c),D=Uo(c,p);c=D.to;let C=mi(c,{relative:n}),x=ve(),L=null;if(l){let Y=Zt(l,[],x.mask?x.mask.pathname:"/",!0);p!=="/"&&(Y.pathname=Y.pathname==="/"?p:_e([p,Y.pathname])),L=w.createHref(Y)}let[g,A,F]=xc(a,m),k=ml(c,{replace:i,mask:l,state:s,target:u,preventScrollReset:d,relative:n,viewTransition:h,defaultShouldRevalidate:y,useTransitions:S});function O(Y){t&&t(Y),Y.defaultPrevented||k(Y)}let $=!(D.isExternal||o),H=f.createElement("a",{...m,...F,href:($?L:void 0)||D.absoluteURL||C,onClick:$?O:t,ref:Oc(R,A),target:u,"data-discover":!P&&r==="render"?"true":void 0});return g&&!P?f.createElement(f.Fragment,null,H,f.createElement(tn,{page:C})):H});rn.displayName="Link";var dl=f.forwardRef(function({"aria-current":t="page",caseSensitive:r=!1,className:a="",end:n=!1,style:o,to:i,viewTransition:l,children:s,...u},c){let d=Ot(i,{relative:u.relative}),h=ve(),y=f.useContext(Qe),{navigator:m,basename:R}=f.useContext(ge),p=y!=null&&gl(d)&&l===!0,w=m.encodeLocation?m.encodeLocation(d).pathname:d.pathname,S=h.pathname,P=y&&y.navigation&&y.navigation.location?y.navigation.location.pathname:null;r||(S=S.toLowerCase(),P=P?P.toLowerCase():null,w=w.toLowerCase()),P&&R&&(P=de(P,R)||P);const D=w!=="/"&&w.endsWith("/")?w.length-1:w.length;let C=S===w||!n&&S.startsWith(w)&&S.charAt(D)==="/",x=P!=null&&(P===w||!n&&P.startsWith(w)&&P.charAt(w.length)==="/"),L={isActive:C,isPending:x,isTransitioning:p},g=C?t:void 0,A;typeof a=="function"?A=a(L):A=[a,C?"active":null,x?"pending":null,p?"transitioning":null].filter(Boolean).join(" ");let F=typeof o=="function"?o(L):o;return f.createElement(rn,{...u,"aria-current":g,className:A,ref:c,style:F,to:i,viewTransition:l},typeof s=="function"?s(L):s)});dl.displayName="NavLink";var an=f.forwardRef(({discover:e="render",fetcherKey:t,navigate:r,reloadDocument:a,replace:n,state:o,method:i=wr,action:l,onSubmit:s,relative:u,preventScrollReset:c,viewTransition:d,defaultShouldRevalidate:h,...y},m)=>{let{useTransitions:R}=f.useContext(ge),p=on(),w=pl(l,{relative:u}),S=i.toLowerCase()==="get"?"get":"post",P=typeof l=="string"&&qt.test(l),D=C=>{if(s&&s(C),C.defaultPrevented)return;C.preventDefault();let x=C.nativeEvent.submitter,L=(x==null?void 0:x.getAttribute("formmethod"))||i,g=()=>p(x||C.currentTarget,{fetcherKey:t,method:L,navigate:r,replace:n,state:o,relative:u,preventScrollReset:c,viewTransition:d,defaultShouldRevalidate:h});R&&r!==!1?f.startTransition(()=>g()):g()};return f.createElement("form",{ref:m,method:S,action:w,onSubmit:a?s:D,...y,"data-discover":!P&&e==="render"?"true":void 0})});an.displayName="Form";function fl({getKey:e,storageKey:t,...r}
10){let a=f.useContext(dt),{basename:n}=f.useContext(ge),o=ve(),i=$r();yl({getKey:e,storageKey:t});let l=f.useMemo(()=>{if(!a||!e)return null;let u=ba(o,i,n,e);return u!==o.key?u:null},[]);if(!a||a.isSpaMode)return null;let s=((u,c)=>{if(!window.history.state||!window.history.state.key){let d=Math.random().toString(32).slice(2);window.history.replaceState({key:d},"")}try{let h=JSON.parse(sessionStorage.getItem(u)||"{}")[c||window.history.state.key];typeof h=="number"&&window.scrollTo(0,h)}catch(d){console.error(d),sessionStorage.removeItem(u)}}).toString();return r.nonce==null&&(a!=null&&a.nonce)&&(r.nonce=a.nonce),f.createElement("script",{...r,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:"(".concat(s,")(").concat(st(JSON.stringify(t||Sa)),", ").concat(st(JSON.stringify(l)),")")}})}fl.displayName="ScrollRestoration";function hl(e){return"".concat(e," must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.")}function Vr(e){let t=f.useContext(je);return U(t,hl(e)),t}function nn(e){let t=f.useContext(Qe);return U(t,hl(e)),t}function ml(e,{target:t,replace:r,mask:a,state:n,preventScrollReset:o,relative:i,viewTransition:l,defaultShouldRevalidate:s,useTransitions:u}={}){let c=Ar(),d=ve(),h=Ot(e,{relative:i});return f.useCallback(y=>{if(Mu(y,t)){y.preventDefault();let m=r!==void 0?r:ie(d)===ie(h),R=()=>c(e,{replace:m,mask:a,state:n,preventScrollReset:o,relative:i,viewTransition:l,defaultShouldRevalidate:s});u?f.startTransition(()=>R()):R()}},[d,c,h,r,a,n,t,e,o,i,l,s,u])}function Uc(e){Z(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=f.useRef(Cr(e)),r=f.useRef(!1),a=ve(),n=f.useMemo(()=>Nu(a.search,r.current?null:t.current),[a.search]),o=Ar(),i=f.useCallback((l,s)=>{const u=Cr(typeof l=="function"?l(new URLSearchParams(n)):l);r.current=!0,o("?"+u,s)},[o,n]);return[n,i]}var jc=0,zc=()=>"__".concat(String(++jc),"__");function on(){let{router:e}=Vr("useSubmit"),{basename:t}=f.useContext(ge),r=iu(),a=e.fetch,n=e.navigate;return f.useCallback(async(o,i={})=>{let{action:l,method:s,encType:u,formData:c,body:d}=$u(o,t);if(i.navigate===!1){let h=i.fetcherKey||zc();await a(h,r,i.action||l,{defaultShouldRevalidate:i.defaultShouldRevalidate,preventScrollReset:i.preventScrollReset,formData:c,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:c,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 pl(e,{relative:t}={}){let{basename:r}=f.useContext(ge),a=f.useContext(De);U(a,"useFormAction must be used inside a RouteContext");let[n]=a.matches.slice(-1),o={...Ot(e||".",{relative:t})},i=ve();if(e==null){o.search=i.search;let l=new URLSearchParams(o.search),s=l.getAll("index");if(s.some(c=>c==="")){l.delete("index"),s.filter(d=>d).forEach(d=>l.append("index",d));let c=l.toString();o.search=c?"?".concat(c):""}}return(!e||e===".")&&n.route.index&&(o.search=o.search?o.search.replace(/^\?/,"?index&"):"?index"),r!=="/"&&(o.pathname=o.pathname==="/"?r:_e([r,o.pathname])),ie(o)}function Bc({key:e}={}){var C;let{router:t}=Vr("useFetcher"),r=nn("useFetcher"),a=f.useContext(rr),n=f.useContext(De),o=(C=n.matches[n.matches.length-1])==null?void 0:C.route.id;U(a,"useFetcher must be used inside a FetchersContext"),U(n,"useFetcher must be used inside a RouteContext"),U(o!=null,'useFetcher can only be used on routes that contain a unique "id"');let i=f.useId(),[l,s]=f.useState(e||i);e&&e!==l&&s(e);let{deleteFetcher:u,getFetcher:c,resetFetcher:d,fetch:h}=t;f.useEffect(()=>(c(l),()=>u(l)),[u,c,l]);let y=f.useCallback(async(x,L)=>{U(o,"No routeId available for fetcher.load()"),await h(l,o,x,L)},[l,o,h]),m=on(),R=f.useCallback(async(x,L)=>{await m(x,{...L,navigate:!1,fetcherKey:l})},[l,m]),p=f.useCallback(x=>d(l,x),[d,l]),w=f.useMemo(()=>{let x=f.forwardRef((L,g)=>f.createElement(an,{...L,navigate:!1,fetcherKey:l,ref:g}));return x.displayName="fetcher.Form",x},[l]),S=r.fetchers.get(l)||Or,P=a.get(l);return f.useMemo(()=>({Form:w,submit:R,load:y,reset:p,...S,data:P}),[w,R,y,p,S,P])}function Wc(){let e=nn("useFetchers");return f.useMemo(()=>Array.from(e.fetchers.entries()).map(([t,r])=>({...r,key:t})),[e.fetchers])}var Sa="react-router-scroll-positions",vr={};function ba(e,t,r,a){let n=null;return a&&(r!=="/"?n=a({...e,pathname:de(e.pathname,r)||e.pathname},t):n=a(e,t)),n==null&&(n=e.key),n}function yl({getKey:e,storageKey:t}={}){let{router:r}=Vr("useScrollRestoration"),{restoreScrollPosition:a,preventScrollReset:n}
10=nn("useScrollRestoration"),{basename:o}=f.useContext(ge),i=ve(),l=$r(),s=bi();f.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),Vc(f.useCallback(()=>{if(s.state==="idle"){let u=ba(i,l,o,e);vr[u]=window.scrollY}try{sessionStorage.setItem(t||Sa,JSON.stringify(vr))}catch(u){Z(!1,"Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (".concat(u,")."))}window.history.scrollRestoration="auto"},[s.state,e,o,i,l,t])),typeof document<"u"&&(f.useLayoutEffect(()=>{try{let u=sessionStorage.getItem(t||Sa);u&&(vr=JSON.parse(u))}catch(u){}},[t]),f.useLayoutEffect(()=>{let u=r==null?void 0:r.enableScrollRestoration(vr,()=>window.scrollY,e?(c,d)=>ba(c,d,o,e):void 0);return()=>u&&u()},[r,o,e]),f.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(u){Z(!1,'"'.concat(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 Yc(e,t){let{capture:r}=t||{};f.useEffect(()=>{let a=r!=null?{capture:r}:void 0;return window.addEventListener("beforeunload",e,a),()=>{window.removeEventListener("beforeunload",e,a)}},[e,r])}function Vc(e,t){let{capture:r}={};f.useEffect(()=>{let a=r!=null?{capture:r}:void 0;return window.addEventListener("pagehide",e,a),()=>{window.removeEventListener("pagehide",e,a)}},[e,r])}function Jc({when:e,message:t}){let r=xi(e);f.useEffect(()=>{r.state==="blocked"&&(window.confirm(t)?setTimeout(r.proceed,0):r.reset())},[r,t]),f.useEffect(()=>{r.state==="blocked"&&!e&&r.reset()},[r,e])}function gl(e,{relative:t}={}){let r=f.useContext(tr);U(r!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:a}=Vr("useViewTransitionState"),n=Ot(e,{relative:t});if(!r.isTransitioning)return!1;let o=de(r.currentLocation.pathname,a)||r.currentLocation.pathname,i=de(r.nextLocation.pathname,a)||r.nextLocation.pathname;return _t(n.pathname,i)!=null||_t(n.pathname,o)!=null}function Kc({basename:e,children:t,location:r="/"}){typeof r=="string"&&(r=be(r));let a="POP",n={pathname:r.pathname||"/",search:r.search||"",hash:r.hash||"",state:r.state!=null?r.state:null,key:r.key||"default",mask:void 0},o=vl();return f.createElement(ct,{basename:e,children:t,location:n,navigationType:a,navigator:o,static:!0,useTransitions:!1})}function ln({context:e,router:t,hydrate:r=!0,nonce:a}){U(t&&e,"You must provide `router` and `context` to <StaticRouterProvider>");let n={router:t,navigator:vl(),static:!0,staticContext:e,basename:e.basename||"/"},o=new Map,i="";if(r!==!1){let s={loaderData:e.loaderData,actionData:e.actionData,errors:Xc(e.errors)},u=st(JSON.stringify(JSON.stringify(s)));i="window.__staticRouterHydrationData = JSON.parse(".concat(u,");")}let{state:l}=n.router;return f.createElement(f.Fragment,null,f.createElement(je.Provider,{value:n},f.createElement(Qe.Provider,{value:l},f.createElement(rr.Provider,{value:o},f.createElement(tr.Provider,{value:{isTransitioning:!1}},f.createElement(ct,{basename:n.basename,location:l.location,navigationType:l.historyAction,navigator:n.navigator,static:n.static,useTransitions:!1},f.createElement(Ti,{manifest:t.manifest,routes:t.routes,future:t.future,state:l,isStatic:!0})))))),i?f.createElement("script",{suppressHydrationWarning:!0,nonce:a,dangerouslySetInnerHTML:{__html:i}}):null)}function Xc(e){if(!e)return null;let t=Object.entries(e),r={};for(let[a,n]of t)se(n)?r[a]={...n,__type:"RouteErrorResponse"}:n instanceof Error?r[a]={message:n.message,__type:"Error",...n.name!=="Error"?{__subType:n.name}:{}}:r[a]=n;return r}function vl(){return{createHref:wl,encodeLocation:Rl,push(e){throw new Error("You cannot use navigator.push() on the server because it is a stateless environment. This error was probably triggered when you did a `navigate(".concat(JSON.stringify(e),")` somewhere in your app."))},replace(e){throw new Error("You cannot use navigator.replace() on the server because it is a stateless environment. This error was probably triggered when you did a `navigate(".concat(JSON.stringify(e),", { replace: true })` somewhere in your app."))},go(e){throw new Error("You cannot use navigator.go() on the server because it is a stateless environment. This error was probably triggered when you did a `navigate(".concat(e,")` somewhere in your app."))},back(){throw new Error("You cannot use navigator.back() on the server because it is a stateless environment.")},forward(){throw new Error("You cannot use navigator.forward() on the server because it is a stateless environment.")}}}function Gc(e,t){return Go(e,{...t,mapRouteProperties:Nt})}function sn(e,t,r={}){let a={},n=lt(e,Nt,void 0,a),o=t.matches.map(l=>{let s=a[l.route.id]||l.route;return{...l,route:s}}),i=l=>"You cannot use router.".concat(l,"() on the server because it is a stateless environment");return{get basename(){return t.basename},get future(){return{v8_middleware:!1,v8_passThroughRequests:!1,v8_trailingSlashAwareDataRequests:!1,...r==null?void 0:r.future}},get state(){return{historyAction:"POP",location:t.location,matches:o,loaderData:t.loaderData,actionData:t.actionData,errors:t.errors,initialized:!0,renderFallback:!1,navigation:Bt,restoreScrollPosition:null,preventScrollReset:!1,revalidation:"idle",fetchers:new Map,blockers:new Map}},get routes(){return n},get branches(){return r.branches},get manifest(){return a},get window(){},initialize(){throw i("initialize")},subscribe(){throw i("subscribe")},enableScrollRestoration(){throw i("enableScrollRestoration")},navigate(){throw i("navigate")},fetch(){throw i("fetch")},revalidate(){throw i("revalidate")},createHref:wl,encodeLocation:Rl,getFetcher(){return Or},deleteFetcher(){throw i("deleteFetcher")},resetFetcher(){throw i("resetFetcher")},dispose(){throw i("dispose")},getBlocker(){return rt},deleteBlocker(){throw i("deleteBlocker")},patchRoutes(){throw i("patchRoutes")},_internalFetchControllers:new Map,_internalSetRoutes(){throw i("_internalSetRoutes")},_internalSetStateDoNotUseOrYouWillBreakYourApp(){throw i("_internalSetStateDoNotUseOrYouWillBreakYourApp")}}}function wl(e){return typeof e=="string"?e:ie(e)}function Rl(e){let t=typeof e=="string"?e:ie(e);t=t.replace(/ $/,"%20");let r=qt.test(t)?new URL(t):new URL(t,"http://localhost");return{pathname:r.pathname,search:r.search,hash:r.hash}}var uo={};function Qc({context:e,url:t,nonce:r}){typeof t=="string"&&(t=new URL(t));let{manifest:a,routeModules:n,criticalCss:o,serverHandoffString:i}=e,l=tl(a.routes,n,e.future,e.isSpaMode);e.staticHandlerContext.loaderData={...e.staticHandlerContext.loaderData};for(let u of e.staticHandlerContext.matches){let c=u.route.id,d=n[c],h=e.manifest.routes[c];d&&h&&nr(c,d.clientLoader,h.hasLoader,e.isSpaMode)&&(d.HydrateFallback||!h.hasLoader)&&delete e.staticHandlerContext.loaderData[c]}let s=sn(l,e.staticHandlerContext,{branches:e.branches});return f.createElement(f.Fragment,null,f.createElement(dt.Provider,{value:{manifest:a,routeModules:n,criticalCss:o,serverHandoffString:i,future:e.future,ssr:e.ssr,isSpaMode:e.isSpaMode,routeDiscovery:e.routeDiscovery,nonce:r,serializeError:e.serializeError,renderMeta:e.renderMeta}},f.createElement(ll,{location:s.state.location},f.createElement(ln,{router:s,context:e.staticHandlerContext,hydrate:!1}))),e.serverHandoffStream?f.createElement(f.Suspense,null,f.createElement(Ki,{context:e,identifier:0,reader:e.serverHandoffStream.getReader(),textDecoder:new TextDecoder,nonce:r})):null)}function qc(e,t){return function({initialEntries:a,initialIndex:n,hydrationData:o,future:i}){let l=f.useRef(),s=f.useRef();if(l.current==null){s.current={future:{v8_passThroughRequests:(i==null?void 0:i.v8_passThroughRequests)===!0,v8_middleware:(i==null?void 0:i.v8_middleware)===!0,v8_trailingSlashAwareDataRequests:(i==null?void 0:i.v8_trailingSlashAwareDataRequests)===!0},manifest:{routes:{},entry:{imports:[],module:""},url:"",version:""},routeModules:{},ssr:!1,isSpaMode:!1,routeDiscovery:{mode:"lazy",manifestPath:"/__manifest"}};let u=El(lt(e,c=>c),t!==void 0?t:i!=null&&i.v8_middleware?new Ue:{},s.current.manifest,s.current.routeModules);l.current=Li(u,{initialEntries:a,initialIndex:n,hydrationData:o})}return f.createElement(dt.Provider,{value:s.current},f.createElement(Di,{router:l.current}))}}function El(e,t,r,a,n){return e.map(o=>{if(!o.id)throw new Error("Expected a route.id in react-router processRoutes() function");
10let i={id:o.id,path:o.path,index:o.index,Component:o.Component?Oi(o.Component):void 0,HydrateFallback:o.HydrateFallback?Ni(o.HydrateFallback):void 0,ErrorBoundary:o.ErrorBoundary?Ii(o.ErrorBoundary):void 0,action:o.action?s=>o.action({...s,context:t}):void 0,loader:o.loader?s=>o.loader({...s,context:t}):void 0,middleware:o.middleware?o.middleware.map(s=>(...u)=>s({...u[0],context:t},u[1])):void 0,handle:o.handle,shouldRevalidate:o.shouldRevalidate},l={id:o.id,path:o.path,index:o.index,parentId:n,hasAction:o.action!=null,hasLoader:o.loader!=null,hasClientAction:!1,hasClientLoader:!1,hasClientMiddleware:!1,hasErrorBoundary:o.ErrorBoundary!=null,module:"build/stub-path-to-module.js",clientActionModule:void 0,clientLoaderModule:void 0,clientMiddlewareModule:void 0,hydrateFallbackModule:void 0};return r.routes[i.id]=l,a[o.id]={default:i.Component||_i,ErrorBoundary:i.ErrorBoundary||void 0,handle:o.handle,links:o.links,meta:o.meta,shouldRevalidate:o.shouldRevalidate},o.children&&(i.children=El(o.children,t,r,a,i.id)),i})}var un=new TextEncoder,Zc=async(e,t)=>{let r=un.encode(e),a=await Sl(t,["sign"]),n=await crypto.subtle.sign("HMAC",a,r),o=btoa(String.fromCharCode(...new Uint8Array(n))).replace(/=+$/,"");return e+"."+o},ed=async(e,t)=>{let r=e.lastIndexOf("."),a=e.slice(0,r),n=e.slice(r+1),o=un.encode(a),i=await Sl(t,["verify"]);try{let l=td(atob(n));return await crypto.subtle.verify("HMAC",i,l,o)?a:!1}catch(l){return!1}},Sl=async(e,t)=>crypto.subtle.importKey("raw",un.encode(e),{name:"HMAC",hash:"SHA-256"},!1,t);function td(e){let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}var cn=(e,t={})=>{let{secrets:r=[],...a}={path:"/",sameSite:"lax",...t};return ld(e,a.expires),{get name(){return e},get isSigned(){return r.length>0},get expires(){return typeof a.maxAge<"u"?new Date(Date.now()+a.maxAge*1e3):a.expires},async parse(n,o){if(!n)return null;let i=Dn.parse(n,{...a,...o});if(e in i){let l=i[e];return typeof l=="string"&&l!==""?await ad(l,r):""}else return null},async serialize(n,o){return Dn.serialize(e,n===""?"":await rd(n,r),{...a,...o})}}},dn=e=>e!=null&&typeof e.name=="string"&&typeof e.isSigned=="boolean"&&typeof e.parse=="function"&&typeof e.serialize=="function";async function rd(e,t){let r=nd(e);return t.length>0&&(r=await Zc(r,t[0])),r}async function ad(e,t){if(t.length>0){for(let r of t){let a=await ed(e,r);if(a!==!1)return co(a)}return null}return co(e)}function nd(e){return btoa(id(encodeURIComponent(JSON.stringify(e))))}function co(e){try{return JSON.parse(decodeURIComponent(od(atob(e))))}catch(t){return{}}}function od(e){let t=e.toString(),r="",a=0,n,o;for(;a<t.length;)n=t.charAt(a++),/[\w*+\-./@]/.exec(n)?r+=n:(o=n.charCodeAt(0),o<256?r+="%"+fo(o,2):r+="%u"+fo(o,4).toUpperCase());return r}function fo(e,t){let r=e.toString(16);for(;r.length<t;)r="0"+r;return r}function id(e){let t=e.toString(),r="",a=0,n,o;for(;a<t.length;){if(n=t.charAt(a++),n==="%"){if(t.charAt(a)==="u"){if(o=t.slice(a+1,a+5),/^[\da-f]{4}$/i.exec(o)){r+=String.fromCharCode(parseInt(o,16)),a+=5;continue}}else if(o=t.slice(a,a+2),/^[\da-f]{2}$/i.exec(o)){r+=String.fromCharCode(parseInt(o,16)),a+=2;continue}}r+=n}return r}function ld(e,t){Kt(!t,'The "'.concat(e,'" cookie has an "expires" property set. This will cause the expires value to not be updated when the session is committed. Instead, you should set the expires value when serializing the cookie. You can use `commitSession(session, { expires })` if using a session storage object, or `cookie.serialize("value", { expires })` if you\'re using the cookie directly.'))}function sd(e){return Object.keys(e).reduce((t,r)=>{let a=e[r];return a&&(t[r]=a.module),t},{})}var bl=(e=>(e.Development="development",e.Production="production",e.Test="test",e))(bl||{});function ud(e){return e==="development"||e==="production"||e==="test"}function fn(e,t){if(e instanceof Error&&t!=="development"){let r=new Error("Unexpected Server Error");return r.stack=void 0,r}return e}function Dr(e,t){return Object.entries(e).reduce((r,[a,n])=>Object.assign(r,{[a]:fn(n,t)}),{})}function Cl(e,t){let r=fn(e,t);return{message:r.message,stack:r.stack}}function Yt(e,t){if(e===!1||e===null||typeof e>"u")throw console.error("The following error is a bug in React Router; please open an issue! https://github.com/remix-run/react-router/issues/new/choose"),new Error(t)}function xl(e,t,r,a,n){let o=Ee(t,a,n!=null?n:"/",!1,r);return o?o.map(i=>{let l=e[i.route.id];return Yt(l,'Route with id "'.concat(i.route.id,'" not found in manifest.')),{params:i.params,pathname:i.pathname,route:l}}):null}async function ho(e,t,r){let a=await e({request:r.v8_passThroughRequests?t.request:dd(cd(t.request)),url:t.url,params:t.params,context:t.context,pattern:t.pattern});if(it(a)&&a.init&&a.init.status&&Nr(a.init.status))throw new Response(null,a.init);return a}function cd(e){let t=new URL(e.url),r=t.searchParams.getAll("index");t.searchParams.delete("index");let a=[];for(let o of r)o&&a.push(o);for(let o of a)t.searchParams.append("index",o);let n={method:e.method,body:e.body,headers:e.headers,signal:e.signal};
10return n.body&&(n.duplex="half"),new Request(t.href,n)}function dd(e){let t=new URL(e.url);t.searchParams.delete("_routes");let r={method:e.method,body:e.body,headers:e.headers,signal:e.signal};return r.body&&(r.duplex="half"),new Request(t.href,r)}var Pl="__reactRouterDevServerHooks";function fd(e){globalThis[Pl]=e}function la(){return globalThis[Pl]}function Ll(e,t){if(typeof process<"u")try{if(uo.hasOwnProperty("IS_RR_BUILD_REQUEST")&&uo.IS_RR_BUILD_REQUEST==="yes")return e.headers.get(t)}catch(r){}return null}function hd(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 Dl(e,t,r="",a=hd(e)){return(a[r]||[]).map(n=>{let o={hasErrorBoundary:n.id==="root"||n.module.ErrorBoundary!=null,id:n.id,path:n.path,middleware:n.module.middleware,loader:n.module.loader?async i=>{let l=Ll(i.request,"X-React-Router-Prerender-Data");if(l!=null){let u=l&&decodeURI(l);Yt(u,"Missing prerendered data for route");let c=new TextEncoder().encode(u),d=new ReadableStream({start(m){m.enqueue(c),m.close()}}),y=(await Xa(d,global)).value;if(y&&Ge in y){let m=y[Ge],R={status:m.status};throw m.reload?Io(m.redirect,R):m.replace?$o(m.redirect,R):er(m.redirect,R)}else{Yt(y&&n.id in y,"Unable to decode prerendered data");let m=y[n.id];return Yt("data"in m,"Unable to process prerendered data"),m.data}}return await ho(n.module.loader,i,t)}:void 0,action:n.module.action?i=>ho(n.module.action,i,t):void 0,handle:n.module.handle};return n.index?{index:!0,...o}:{caseSensitive:n.caseSensitive,children:Dl(e,t,n.id,a),...o}})}function mo(e){return st(JSON.stringify(e))}function hn(e,t){return md(e,r=>{let a=t.routes[r.route.id];return Yt(a,'Route with id "'.concat(r.route.id,'" not found in build')),a.module.headers})}function md(e,t,r){let a=e.errors?e.matches.findIndex(l=>e.errors[l.route.id]):-1,n=a>=0?e.matches.slice(0,a+1):e.matches,o;if(a>=0){let{actionHeaders:l,actionData:s,loaderHeaders:u,loaderData:c}=e;e.matches.slice(a).some(d=>{let h=d.route.id;return l[h]&&(!s||!s.hasOwnProperty(h))?o=l[h]:u[h]&&!c.hasOwnProperty(h)&&(o=u[h]),o!=null})}const i=new Headers(r);return n.reduce((l,s,u)=>{let{id:c}=s.route,d=e.loaderHeaders[c]||new Headers,h=e.actionHeaders[c]||new Headers,y=o!=null&&u===n.length-1,m=y&&o!==d&&o!==h,R=t(s);if(R==null){let w=new Headers(l);return m&&yt(o,w),yt(h,w),yt(d,w),w}let p=new Headers(typeof R=="function"?R({loaderHeaders:d,parentHeaders:l,actionHeaders:h,errorHeaders:y?o:void 0}):R);return m&&yt(o,p),yt(h,p),yt(d,p),yt(l,p),p},new Headers(i))}function yt(e,t){let r=e.get("Set-Cookie");if(r){let a=es.splitCookiesString(r),n=new Set(t.getSetCookie());a.forEach(o=>{n.has(o)||t.append("Set-Cookie",o)})}}function Tl(e,t){let r=e.headers.get("origin"),a=null,n=null;try{typeof r=="string"&&r!=="null"?(n=new URL(r),a=n.host):a=r}catch(l){throw new Error("`origin` header is not a valid URL. Aborting the action.")}let o=new URL(e.url),i=n?n.origin===o.origin:a===o.host;if(a&&!i&&!yd(a,t))throw new Error("The `request.url` origin does not match `origin` header from a forwarded action request. Aborting the action.")}function pd(e,t){const r=e.split("."),a=t.split(".");if(a.length<1||r.length<a.length)return!1;for(;a.length;){const n=a.pop(),o=r.pop();switch(n){case"":return!1;case"*":{if(o)continue;return!1}case"**":return a.length>0?!1:o!==void 0;case void 0:default:if(o!==n)return!1}}return r.length===0}function yd(e,t=[]){return t.some(r=>r&&(r===e||pd(e,r)))}function or(e,t,r){t=t||"/";let a=new URL(e.url),n=a.pathname;r!=null&&r.v8_trailingSlashAwareDataRequests?n.endsWith("/_.data")?n=n.replace(/_\.data$/,""):n=n.replace(/\.data$/,""):(de(n,t)==="/_root.data"?n=t:n.endsWith(".data")&&(n=n.replace(/\.data$/,"")),de(n,t)!=="/"&&n.endsWith("/")&&(n=n.slice(0,-1)));let o=new URLSearchParams(a.search);o.delete("_routes");let i=o.toString();return i&&(i="?".concat(i)),{pathname:n,search:i,hash:""}}var _l=new Set([...Ji,304]);async function gd(e,t,r,a,n,o,i){try{try{Tl(a,Array.isArray(e.allowedActionOrigins)?e.allowedActionOrigins:[])}catch(h){return s(new Error("Bad Request"),400)}
10let c=e.future.v8_passThroughRequests?a:new Request(n,{method:a.method,body:a.body,headers:a.headers,signal:a.signal,...a.body?{duplex:"half"}:void 0}),d=await r.query(c,{requestContext:o,skipLoaderErrorBubbling:!0,skipRevalidation:!0,generateMiddlewareResponse:e.future.v8_middleware?async h=>{try{let y=await h(c);return l(y)}catch(y){return s(y)}}:void 0,normalizePath:h=>or(h,e.basename,e.future)});return l(d)}catch(c){return s(c)}function l(c){return ae(c)?c:u(c)}function s(c,d=500){return i(c),Qt(a,e,t,{result:{error:c},headers:new Headers,status:d})}function u(c){let d=hn(c,e);if(Nr(c.statusCode)&&d.has("Location"))return new Response(null,{status:c.statusCode,headers:d});c.errors&&(Object.values(c.errors).forEach(y=>{(!se(y)||y.error)&&i(y)}),c.errors=Dr(c.errors,t));let h;return c.errors?h={error:Object.values(c.errors)[0]}:h={data:Object.values(c.actionData||{})[0]},Qt(a,e,t,{result:h,headers:d,status:c.statusCode})}}async function vd(e,t,r,a,n,o,i){let l=new URL(a.url).searchParams.get("_routes"),s=l?new Set(l.split(",")):null;try{let h=e.future.v8_passThroughRequests?a:new Request(n,{headers:a.headers,signal:a.signal}),y=await r.query(h,{requestContext:o,filterMatchesToLoad:m=>!s||s.has(m.route.id),skipLoaderErrorBubbling:!0,generateMiddlewareResponse:e.future.v8_middleware?async m=>{try{let R=await m(h);return u(R)}catch(R){return c(R)}}:void 0,normalizePath:m=>or(m,e.basename,e.future)});return u(y)}catch(h){return c(h)}function u(h){return ae(h)?h:d(h)}function c(h){return i(h),Qt(a,e,t,{result:{error:h},headers:new Headers,status:500})}function d(h){let y=hn(h,e);if(Nr(h.statusCode)&&y.has("Location"))return new Response(null,{status:h.statusCode,headers:y});h.errors&&(Object.values(h.errors).forEach(p=>{(!se(p)||p.error)&&i(p)}),h.errors=Dr(h.errors,t));let m={},R=new Set(h.matches.filter(p=>s?s.has(p.route.id):p.route.loader!=null).map(p=>p.route.id));if(h.errors)for(let[p,w]of Object.entries(h.errors))m[p]={error:w};for(let[p,w]of Object.entries(h.loaderData))!(p in m)&&R.has(p)&&(m[p]={data:w});return Qt(a,e,t,{result:m,headers:y,status:h.statusCode})}}function Qt(e,t,r,{result:a,headers:n,status:o}){let i=new Headers(n);return i.set("X-Remix-Response","yes"),_l.has(o)?new Response(null,{status:o,headers:i}):(i.set("Content-Type","text/x-script"),i.delete("Content-Length"),new Response(Ca(a,e.signal,t.entry.module.streamTimeout,r),{status:o||200,headers:i}))}function po(e,t,r,a){let n=wd(e.status,e.headers,r.basename),o=new Headers(e.headers);return o.delete("Location"),o.set("Content-Type","text/x-script"),Qt(t,r,a,{result:t.method==="GET"?{[Ge]:n}:n,headers:o,status:Ja})}function wd(e,t,r){let a=t.get("Location");return r&&(a=de(a,r)||a),{redirect:a,status:e,revalidate:t.has("X-Remix-Revalidate")||t.has("Set-Cookie"),reload:t.has("X-Remix-Reload-Document"),replace:t.has("X-Remix-Replace")}}function Ca(e,t,r,a){let n=new AbortController,o=setTimeout(()=>{n.abort(new Error("Server Timeout")),l()},typeof r=="number"?r:4950),i=()=>{n.abort(t.reason),l()};t.addEventListener("abort",i);let l=()=>{clearTimeout(o),t.removeEventListener("abort",i)};return Ku(e,{signal:n.signal,onComplete:l,plugins:[s=>{if(s instanceof Error){let{name:u,message:c,stack:d}=a==="production"?fn(s,a):s;return["SanitizedError",u,c,d]}if(s instanceof Se){let{data:u,status:c,statusText:d}=s;return["ErrorResponse",u,c,d]}if(s&&typeof s=="object"&&Ge in s)return["SingleFetchRedirect",s[Ge]]}],postPlugins:[s=>{if(s&&typeof s=="object")return["SingleFetchClassInstance",Object.fromEntries(Object.entries(s))]},()=>["SingleFetchFallback"]]})}function yo(e,t){let r=Dl(e.routes,e.future),a=ud(t)?t:"production",n=Go(r,{basename:e.basename,instrumentations:e.entry.module.instrumentations,future:e.future}),o=e.entry.module.handleError||((l,{request:s})=>{a!=="test"&&!s.signal.aborted&&console.error(se(l)&&l.error?l.error:l)}),i=async(l,s)=>{var S,P,D;let u={},c,d=C=>{var x,L;t==="development"&&((L=(x=la())==null?void 0:x.processRequestError)==null||L.call(x,C)),o(C,{context:c,params:u,request:l})};if(e.future.v8_middleware){if(s&&!(s instanceof Ue)){let C=new Error("Invalid `context` value provided to `handleRequest`. When middleware is enabled you must return an instance of `RouterContextProvider` from your `getLoadContext` function.");return d(C),Tr(C,a)}c=s||new Ue}else c=s||{};let h=new URL(l.url),y=or(l,e.basename,e.future).pathname,m=Ll(l,"X-React-Router-SPA-Mode")==="yes";if(!e.ssr){let C=decodeURI(y);if(e.basename&&e.basename!=="/"){let x=de(C,e.basename);if(x==null)return o(new Se(404,"Not Found","Refusing to prerender the `".concat(C,"` path because it does not start with the base
10name `").concat(e.basename,"`")),{context:c,params:u,request:l}),new Response("Not Found",{status:404,statusText:"Not Found"});C=x}if(e.prerender.length===0)m=!0;else if(!e.prerender.includes(C.replace(/\/$/,""))&&!e.prerender.includes(C.replace(/[^/]$/,"/"))){if(h.pathname.endsWith(".data"))return o(new Se(404,"Not Found","Refusing to SSR the path `".concat(C,"` because `ssr:false` is set and the path is not included in the `prerender` config, so in production the path will be a 404.")),{context:c,params:u,request:l}),new Response("Not Found",{status:404,statusText:"Not Found"});m=!0}}let R=nl(e.routeDiscovery.manifestPath,e.basename);if(e.routeDiscovery.mode==="lazy"&&h.pathname===R)try{return await Ed(e,n.dataRoutes,n._internalRouteBranches,h)}catch(C){return d(C),new Response("Unknown Server Error",{status:500})}let p=xl(e.routes,n.dataRoutes,n._internalRouteBranches,y,e.basename);p&&p.length>0&&Object.assign(u,p[0].params);let w;if(h.pathname.endsWith(".data"))w=await Sd(a,e,n,l,y,c,d),Jt(w)&&(w=po(w,l,e,a)),e.entry.module.handleDataRequest&&(w=await e.entry.module.handleDataRequest(w,{context:c,params:p?p[0].params:{},request:l}),Jt(w)&&(w=po(w,l,e,a)));else if(!m&&p&&p[p.length-1].route.module.default==null&&p[p.length-1].route.module.ErrorBoundary==null)w=await Cd(a,e,n,p.slice(-1)[0].route.id,l,c,d);else{let{pathname:C}=h,x;e.unstable_getCriticalCss?x=await e.unstable_getCriticalCss({pathname:C}):t==="development"&&((S=la())!=null&&S.getCriticalCss)&&(x=await((D=(P=la())==null?void 0:P.getCriticalCss)==null?void 0:D.call(P,C))),w=await bd(a,e,n,l,c,d,m,x)}return l.method==="HEAD"?new Response(null,{headers:w.headers,status:w.status,statusText:w.statusText}):w};return e.entry.module.instrumentations&&(i=xs(i,e.entry.module.instrumentations.map(l=>l.handler).filter(Boolean))),{serverMode:a,staticHandler:n,errorHandler:o,requestHandler:i}}var Rd=(e,t)=>{let r,a,n,o,i;return async function(s,u){if(r=typeof e=="function"?await e():e,typeof e=="function"){let c=yo(r,t);a=c.serverMode,n=c.staticHandler,o=c.errorHandler,i=c.requestHandler}else if(!a||!n||!o||!i){let c=yo(r,t);a=c.serverMode,n=c.staticHandler,o=c.errorHandler,i=c.requestHandler}return i(s,u)}};async function Ed(e,t,r,a){if(a.toString().length>al)return new Response(null,{statusText:"Bad Request",status:400});if(e.assets.version!==a.searchParams.get("version"))return new Response(null,{status:204,headers:{"X-Remix-Reload-Document":"true"}});let n={};if(a.searchParams.has("paths")){let o=a.searchParams.get("paths")||"",i=new Set(o.split(",").filter(Boolean));for(let l of i){l.startsWith("/")||(l="/".concat(l));let s=xl(e.routes,t,r,l,e.basename);if(s)for(let u of s){let c=u.route.id,d=e.assets.routes[c];d&&(n[c]=d)}}return Response.json(n,{headers:{"Cache-Control":"public, max-age=31536000, immutable"}})}return new Response("Invalid Request",{status:400})}async function Sd(e,t,r,a,n,o,i){let l=new URL(a.url);return l.pathname=n,ce(a.method)?await gd(t,e,r,a,l,o,i):await vd(t,e,r,a,l,o,i)}async function bd(e,t,r,a,n,o,i,l){try{if(ce(a.method))try{Tl(a,Array.isArray(t.allowedActionOrigins)?t.allowedActionOrigins:[])}catch(c){return o(c),new Response("Bad Request",{status:400})}let u=await r.query(a,{requestContext:n,generateMiddlewareResponse:t.future.v8_middleware?async c=>{try{let d=await c(a);return ae(d)||(d=await s(d,i)),d}catch(d){return o(d),new Response(null,{status:500})}}:void 0,normalizePath:c=>or(c,t.basename,t.future)});return ae(u)||(u=await s(u,i)),u}catch(u){return o(u),new Response(null,{status:500})}async function s(u,c){let d=hn(u,t);if(_l.has(u.statusCode))return new Response(null,{status:u.statusCode,headers:d});u.errors&&(Object.values(u.errors).forEach(p=>{(!se(p)||p.error)&&o(p)}),u.errors=Dr(u.errors,e));let h={loaderData:u.loaderData,actionData:u.actionData,errors:u.errors},y={basename:t.basename,future:t.future,routeDiscovery:t.routeDiscovery,ssr:t.
10ssr,isSpaMode:c},m={manifest:t.assets,branches:r._internalRouteBranches,routeModules:sd(t.routes),staticHandlerContext:u,criticalCss:l,serverHandoffString:mo({...y,criticalCss:l}),serverHandoffStream:Ca(h,a.signal,t.entry.module.streamTimeout,e),renderMeta:{},future:t.future,ssr:t.ssr,routeDiscovery:t.routeDiscovery,isSpaMode:c,serializeError:p=>Cl(p,e)},R=t.entry.module.default;try{return await R(a,u.statusCode,d,m,n)}catch(p){o(p);let w=p;if(ae(p))try{let P=await Pd(p);w=new Se(p.status,p.statusText,P)}catch(P){}u=Qo(r.dataRoutes,u,w),u.errors&&(u.errors=Dr(u.errors,e));let S={loaderData:u.loaderData,actionData:u.actionData,errors:u.errors};m={...m,staticHandlerContext:u,serverHandoffString:mo(y),serverHandoffStream:Ca(S,a.signal,t.entry.module.streamTimeout,e),renderMeta:{}};try{return await R(a,u.statusCode,d,m,n)}catch(P){return o(P),Tr(P,e)}}}}async function Cd(e,t,r,a,n,o,i){try{let u=await r.queryRoute(n,{routeId:a,requestContext:o,generateMiddlewareResponse:t.future.v8_middleware?async c=>{try{let d=await c(n);return l(d)}catch(d){return s(d)}}:void 0,normalizePath:c=>or(c,t.basename,t.future)});return l(u)}catch(u){return s(u)}function l(u){return ae(u)?u:typeof u=="string"?new Response(u):Response.json(u)}function s(u){if(ae(u))return u;if(se(u))return i(u),xd(u,e);if(u instanceof Error&&u.message==="Expected a response from queryRoute"){let c=new Error("Expected a Response to be returned from resource route handler");return i(c),Tr(c,e)}return i(u),Tr(u,e)}}function xd(e,t){return Response.json(Cl(e.error||new Error("Unexpected Server Error"),t),{status:e.status,statusText:e.statusText})}function Tr(e,t){let r="Unexpected Server Error";return t!=="production"&&(r+="\n\n".concat(String(e))),new Response(r,{status:500,headers:{"Content-Type":"text/plain"}})}function Pd(e){let t=e.headers.get("Content-Type");return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}function sa(e){return"__flash_".concat(e,"__")}var mn=(e={},t="")=>{let r=new Map(Object.entries(e));return{get id(){return t},get data(){return Object.fromEntries(r)},has(a){return r.has(a)||r.has(sa(a))},get(a){if(r.has(a))return r.get(a);let n=sa(a);if(r.has(n)){let o=r.get(n);return r.delete(n),o}},set(a,n){r.set(a,n)},flash(a,n){r.set(sa(a),n)},unset(a){r.delete(a)}}},Ld=e=>e!=null&&typeof e.id=="string"&&typeof e.data<"u"&&typeof e.has=="function"&&typeof e.get=="function"&&typeof e.set=="function"&&typeof e.flash=="function"&&typeof e.unset=="function";function Fl({cookie:e,createData:t,readData:r,updateData:a,deleteData:n}){let o=dn(e)?e:cn((e==null?void 0:e.name)||"__session",e);return kl(o),{async getSession(i,l){let s=i&&await o.parse(i,l),u=s&&await r(s);return mn(u||{},s||"")},async commitSession(i,l){let{id:s,data:u}=i,c=(l==null?void 0:l.maxAge)!=null?new Date(Date.now()+l.maxAge*1e3):(l==null?void 0:l.expires)!=null?l.expires:o.expires;return s?await a(s,u,c):s=await t(u,c),o.serialize(s,l)},async destroySession(i,l){return await n(i.id),o.serialize("",{...l,maxAge:void 0,expires:new Date(0)})}}}function kl(e){Kt(e.isSigned,'The "'.concat(e.name,'" cookie is not signed, but session cookies should be signed to prevent tampering on the client before they are sent back to the server. See https://reactrouter.com/explanation/sessions-and-cookies#signing-cookies for more information.'))}function Dd({cookie:e}={}){let t=dn(e)?e:cn((e==null?void 0:e.name)||"__session",e);return kl(t),{async getSession(r,a){return mn(r&&await t.parse(r,a)||{})},async commitSession(r,a){let n=await t.serialize(r.data,a);if(n.length>4096)throw new Error("Cookie length will exceed browser maximum. Length: "+n.length);return n},async destroySession(r,a){return t.serialize("",{...a,maxAge:void 0,expires:new Date(0)})}}}function Td({cookie:e}={}){let t=new Map;return Fl({cookie:e,async createData(r,a){let n=Math.random().toString(36).substring(2,10);return t.set(n,{data:r,expires:a}),n},async readData(r){if(t.has(r)){let{data:a,expires:n}=t.get(r);if(!n||n>new Date)return a;n&&t.delete(r)}return null},async updateData(r,a,n){t.set(r,{data:a,expires:n})},async deleteData(r){t.delete(r)}})}function _d(e,...t){let r=t[0],a=Fd(e).replace(/\/:([\w-]+)(\?)?/g,(n,o,i)=>{const l=i===void 0,s=r==null?void 0:r[o];if(l&&s===void 0)throw new Error("Path '".concat(e,"' requires param '").concat(o,"' but it was not provided"));return s===void 0?"":"/"+s}
10);if(e.endsWith("*")){const n=r==null?void 0:r["*"];n!==void 0&&(a+="/"+n)}return a||"/"}function Fd(e){let t=e.length-1,r=e[t];if(r!=="*"&&r!=="/")return e;for(t--;t>=0&&e[t]==="/";t--);return e.slice(0,t+1)}var xa=new TextEncoder,go="</body></html>";function vo(e){let t=new TextDecoder,r,a=new Promise(s=>r=s),n=!1,o=[],i=null;function l(s){for(let u of o){let c=t.decode(u,{stream:!0});c.endsWith(go)&&(c=c.slice(0,-go.length)),s.enqueue(xa.encode(c))}o.length=0,i=null}return new TransformStream({transform(s,u){o.push(s),!i&&(i=setTimeout(async()=>{l(u),n||(n=!0,kd(e,u).catch(c=>u.error(c)).then(r))},0))},async flush(s){await a,i&&(clearTimeout(i),l(s)),s.enqueue(xa.encode("</body></html>"))}})}async function kd(e,t){let r=new TextDecoder("utf-8",{fatal:!0});const a=e.getReader();try{let o;for(;(o=await a.read())&&!o.done;){const i=o.value;try{ua(JSON.stringify(r.decode(i,{stream:!0})),t)}catch(l){let s=JSON.stringify(btoa(String.fromCodePoint(...i)));ua("Uint8Array.from(atob(".concat(s,"), m => m.codePointAt(0))"),t)}}}finally{a.releaseLock()}let n=r.decode();n.length&&ua(JSON.stringify(n),t)}function ua(e,t){t.enqueue(xa.encode("<script>".concat(Od("(self.__FLIGHT_DATA||=[]).push(".concat(e,")")),"<\/script>")))}function Od(e){return e.replace(/<!--/g,"<\\!--").replace(/<\/(script)/gi,"</\\$1")}var Md=class extends pe.Component{constructor(e){super(e),this.state={error:null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:null,location:e.location}:{error:t.error,location:t.location}}render(){return this.state.error?pe.createElement(Ol,{error:this.state.error,renderAppShell:!0}):this.props.children}};function wo({renderAppShell:e,title:t,children:r}){return e?pe.createElement("html",{lang:"en"},pe.createElement("head",null,pe.createElement("meta",{charSet:"utf-8"}),pe.createElement("meta",{name:"viewport",content:"width=device-width,initial-scale=1,viewport-fit=cover"}),pe.createElement("title",null,t)),pe.createElement("body",null,pe.createElement("main",{style:{fontFamily:"system-ui, sans-serif",padding:"2rem"}},r))):r}function Ol({error:e,renderAppShell:t}){console.error(e);let r=pe.createElement("script",{dangerouslySetInnerHTML:{__html:'\n        console.log(\n          "💿 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."\n        );\n      '}});if(se(e))return pe.createElement(wo,{renderAppShell:t,title:"Unhandled Thrown Response!"},pe.createElement("h1",{style:{fontSize:"24px"}},e.status," ",e.statusText),r);let a;if(e instanceof Error)a=e;else{let n=e==null?"Unknown Error":typeof e=="object"&&"toString"in e?e.toString():JSON.stringify(e);a=new Error(n)}return pe.createElement(wo,{renderAppShell:t,title:"Application Error!"},pe.createElement("h1",{style:{fontSize:"24px"}},"Application Error"),pe.createElement("pre",{style:{padding:"2rem",background:"hsla(10, 50%, 50%, 0.1)",color:"red",overflow:"auto"}},a.stack),r)}function Nd({hasRootLayout:e}){let t=ar();if(e===void 0)throw new Error("Missing 'hasRootLayout' prop");return pe.createElement(Ol,{renderAppShell:!e,error:t})}function Ad(e){const t={};for(const r of e.matches)Id(t,r);return t}function Id(e,t){t=Array.isArray(t)?t:[t];for(const r of t)e[r.id]={links:r.links,meta:r.meta,default:$d}}var $d=()=>null,Ro="/__manifest",Hd="use",Eo=So[Hd];function Ud(e){if(Eo)return Eo(e);throw new Error("React Router v7 requires React 19+ for RSC features.")}async function jd({request:e,serverResponse:t,createFromReadableStream:r,renderHTML:a,hydrate:n=!0}){const o=new URL(e.url);if(Bd(o)||Wd(o)||e.headers.has("rsc-action-id")||t.headers.get("React-Router-Resource")==="true")return t;if(!t.body)throw new Error("Missing body in server response");const s=t.clone();let u=null;n&&(u=t.clone());const c=t.body;let d,h=[];const y=()=>d?new ReadableStream({start(S){d.forEach(P=>S.enqueue(P)),h.push(S)}}):(d=[],c.pipeThrough(new TransformStream({transform(S,P){d.push(S),P.enqueue(S),h.forEach(D=>D.enqueue(S))},flush(){h.forEach(S=>S.close()),h=[]}})));let m=null;const R=()=>{const S=Promise.resolve(r(y()));return Object.defineProperties(S,{_deepestRenderedBoundaryId:{get(){return m},set(P){m=P}},formState:{get(){return S.then(P=>P.type==="render"?P.formState:void 0)}}})};let p,w;try{if(!s.body)throw new Error("Failed to clone server response");const S=await r(s.body);if(t.status===Ja&&S.type==="redirect"){if(He(S.location))throw new Error("Invalid redirect location");const F=new Headers(t.headers);return F.delete("Content-Encoding"),F.delete("Content-Length"),F.delete("Content-Type"),F.delete("X-Remix-Response"),F.set("Location",S.location),new Response((u==null?void 0:u.body)||"",{headers:F,status:S.status,statusText:t.statusText})}let P=new Headers,D=t.status,C=t.statusText,x=await a(R,{onError(F){if(typeof F=="object"&&F&&"digest"in F&&typeof F.digest=="string"){if(p=pa(F.digest),p)return F.digest;let k=ya(F.digest);if(k)return w=k,D=k.status,C=k.statusText,F.digest}},onHeaders(F){for(const[k,O]of F)P.append(k,O)}});const L=new Headers(P);for(const[F,k]of t.headers)L.append(F,k);if(L.set("Content-Type","text/html; charset=utf-8"),p){if(He(p.location))throw new Error("Invalid redirect location");return L.set("Location",p.location),new Response(x,{status:p.status,headers:L})}const g=new TransformStream({flush(F){if(p){if(He(p.location))return;F.enqueue(new TextEncoder().encode('<meta http-equiv="refresh" content="0;url='.concat(st(p.location),'"/>')))}}});if(!n)return new Response(x.pipeThrough(g),{status:D,statusText:C,headers:L});if(!(u!=null&&u.body))throw new Error("Failed to clone server response");const A=x.pipeThrough(vo(u.body)).pipeThrough(g);return new Response(A,{status:D,statusText:C,headers:L})}catch(S){if(S instanceof Response)return S;if(p){if(He(p.location))throw new Error("Invalid redirect location");return new Response("Redirect: ".concat(p.location),{status:p.status,headers:{Location:p.location}})}try{let P=w!=null?w:S,[D,C]=se(P)?[P.status,P.statusText]:[500,""],x,L=new Headers;const g=await a(()=>{const $=Promise.resolve(r(y())).then(H=>Object.assign(H,{status:D,errors:m?{[m]:P}:{}}));return Object.defineProperties($,{_deepestRenderedBoundaryId:{get(){return m},set(H){m=H}},formState:{get(){return $.then(H=>H.type==="render"?H.formState:void 0)}}})},{onError(O){if(typeof O=="object"&&O&&"digest"in O&&typeof O.digest=="string"){if(x=pa(O.digest),x)return O.digest;let $=ya(O.digest);if($)return D=$.status,C=$.statusText,O.digest}},onHeaders(O){for(const[$,H]of O)L.append($,H)}}),A=new Headers(L);for(const[O,$]of t.headers)A.append(O,$);if(A.set("Content-Type","text/html; charset=utf-8"),x){if(He(x.location))throw new Error("Invalid redirect location");
10return A.set("Location",x.location),new Response(g,{status:x.status,headers:A})}const F=new TransformStream({flush(O){if(x){if(He(x.location))return;O.enqueue(new TextEncoder().encode('<meta http-equiv="refresh" content="0;url='.concat(st(x.location),'"/>')))}}});if(!n)return new Response(g.pipeThrough(F),{status:D,statusText:C,headers:A});if(!(u!=null&&u.body))throw new Error("Failed to clone server response");const k=g.pipeThrough(vo(u.body)).pipeThrough(F);return new Response(k,{status:D,statusText:C,headers:A})}catch(P){}throw S}}function zd({getPayload:e}){const t=e(),r=Ud(t);if(r.type==="redirect")throw He(r.location)?new Error("Invalid redirect location"):new Response(null,{status:r.status,headers:{Location:r.location}});if(r.type!=="render")return null;let a={...r.loaderData};for(const l of r.matches)nr(l.id,l.clientLoader,l.hasLoader,!1)&&(l.hydrateFallbackElement||!l.hasLoader)&&delete a[l.id];const n={get _deepestRenderedBoundaryId(){var l;return(l=t._deepestRenderedBoundaryId)!=null?l:null},set _deepestRenderedBoundaryId(l){t._deepestRenderedBoundaryId=l},actionData:r.actionData,actionHeaders:{},basename:r.basename,errors:r.errors,loaderData:a,loaderHeaders:{},location:r.location,statusCode:200,matches:r.matches.map(l=>({params:l.params,pathname:l.pathname,pathnameBase:l.pathnameBase,route:{id:l.id,action:l.hasAction||!!l.clientAction,handle:l.handle,hasErrorBoundary:l.hasErrorBoundary,loader:l.hasLoader||!!l.clientLoader,index:l.index,path:l.path,shouldRevalidate:l.shouldRevalidate}}))},o=sn(r.matches.reduceRight((l,s)=>{const u={id:s.id,action:s.hasAction||!!s.clientAction,element:s.element,errorElement:s.errorElement,handle:s.handle,hasErrorBoundary:!!s.errorElement,hydrateFallbackElement:s.hydrateFallbackElement,index:s.index,loader:s.hasLoader||!!s.clientLoader,path:s.path,shouldRevalidate:s.shouldRevalidate};return l.length>0&&(u.children=l),[u]},[]),n),i={future:{v8_middleware:!1,v8_trailingSlashAwareDataRequests:!0,v8_passThroughRequests:!0},isSpaMode:!1,ssr:!0,criticalCss:"",manifest:{routes:{},version:"1",url:"",entry:{module:"",imports:[]}},routeDiscovery:r.routeDiscovery.mode==="initial"?{mode:"initial",manifestPath:Ro}:{mode:"lazy",manifestPath:r.routeDiscovery.manifestPath||Ro},routeModules:Ad(r)};return f.createElement(Ia.Provider,{value:!0},f.createElement(Md,{location:r.location},f.createElement(dt.Provider,{value:i},f.createElement(ln,{context:n,router:o,hydrate:!1,nonce:r.nonce}))))}function Bd(e){return e.pathname.endsWith(".rsc")}function Wd(e){return e.pathname.endsWith(".manifest")}function Yd({state:e,routes:t,getRouteInfo:r,location:a,basename:n,isSpaMode:o}){let i={...e,loaderData:{...e.loaderData}},l=Fr(t,a,n);if(l)for(let s of l){let u=s.route.id,c=r(u);nr(u,c.clientLoader,c.hasLoader,o)&&(c.hasHydrateFallback||!c.hasLoader)?delete i.loaderData[u]:c.hasLoader||(i.loaderData[u]=null)}return i}/**
11 * react-router v7.18.3
12 *
13 * Copyright (c) Remix Software Inc.
14 *
15 * This source code is licensed under the MIT license found in the
16 * LICENSE.md file in the root directory of this source tree.
17 *
18 * @license MIT
19 */const Vd=Object.freeze(Object.defineProperty({__proto__:null,Await:Su,BrowserRouter:$c,Form:an,HashRouter:Hc,IDLE_BLOCKER:rt,IDLE_FETCHER:Or,IDLE_NAVIGATION:Bt,Link:rn,Links:Pc,MemoryRouter:wu,Meta:_c,NavLink:dl,Navigate:Ru,NavigationType:Po,Outlet:_i,PrefetchPageLinks:tn,Route:Fi,Router:ct,RouterContextProvider:Ue,RouterProvider:Di,Routes:Eu,Scripts:il,ScrollRestoration:fl,ServerRouter:Qc,StaticRouter:Kc,StaticRouterProvider:ln,UNSAFE_AwaitContextProvider:Ks,UNSAFE_DataRouterContext:je,UNSAFE_DataRouterStateContext:Qe,UNSAFE_ErrorResponseImpl:Se,UNSAFE_FetchersContext:rr,UNSAFE_FrameworkContext:dt,UNSAFE_LocationContext:wt,UNSAFE_NavigationContext:ge,UNSAFE_RSCDefaultRootErrorBoundary:Nd,UNSAFE_RemixErrorBoundary:ll,UNSAFE_RouteContext:De,UNSAFE_ServerMode:bl,UNSAFE_SingleFetchRedirectSymbol:Ge,UNSAFE_ViewTransitionContext:tr,UNSAFE_WithComponentProps:Lu,UNSAFE_WithErrorBoundaryProps:Tu,UNSAFE_WithHydrateFallbackProps:Du,UNSAFE_createBrowserHistory:La,UNSAFE_createClientRoutes:Br,UNSAFE_createClientRoutesWithHMRRevalidationOptOut:pc,UNSAFE_createHashHistory:Da,UNSAFE_createMemoryHistory:Pa,UNSAFE_createRouter:Mr,UNSAFE_decodeViaTurboStream:Xa,UNSAFE_getHydrationData:Yd,UNSAFE_getPatchRoutesOnNavigationFunction:Ec,UNSAFE_getTurboStreamSingleFetchDataStrategy:qu,UNSAFE_hydrationRouteProperties:jr,UNSAFE_invariant:U,UNSAFE_mapRouteProperties:Nt,UNSAFE_shouldHydrateRouteLoader:nr,UNSAFE_useFogOFWarDiscovery:Sc,UNSAFE_useScrollRestoration:yl,UNSAFE_withComponentProps:Oi,UNSAFE_withErrorBoundaryProps:Ii,UNSAFE_withHydrateFallbackProps:Ni,createBrowserRouter:Nc,createContext:rs,createCookie
19:cn,createCookieSessionStorage:Dd,createHashRouter:Ac,createMemoryRouter:Li,createMemorySessionStorage:Td,createPath:ie,createRequestHandler:Rd,createRoutesFromChildren:Xt,createRoutesFromElements:xu,createRoutesStub:qc,createSearchParams:Cr,createSession:mn,createSessionStorage:Fl,createStaticHandler:Gc,createStaticRouter:sn,data:Ao,generatePath:vs,href:_d,isCookie:dn,isRouteErrorResponse:se,isSession:Ld,matchPath:_t,matchRoutes:Fr,parsePath:be,redirect:er,redirectDocument:Io,renderMatches:Pu,replace:$o,resolvePath:Mo,unstable_HistoryRouter:cl,unstable_RSCStaticRouter:zd,unstable_routeRSCServerRequest:jd,unstable_setDevServerHooks:fd,unstable_usePrompt:Jc,unstable_useRoute:fu,unstable_useRouterState:hu,useActionData:Ur,useAsyncError:uu,useAsyncValue:Ci,useBeforeUnload:Yc,useBlocker:xi,useFetcher:Bc,useFetchers:Wc,useFormAction:pl,useHref:mi,useInRouterContext:ut,useLinkClickHandler:ml,useLoaderData:Hr,useLocation:ve,useMatch:qs,useMatches:$r,useNavigate:Ar,useNavigation:bi,useNavigationType:Qs,useOutlet:vi,useOutletContext:eu,useParams:Ir,useResolvedPath:Ot,useRevalidator:lu,useRouteError:ar,useRouteLoaderData:su,useRoutes:wi,useSearchParams:Uc,useSubmit:on,useViewTransitionState:gl},Symbol.toStringTag,{value:"Module"})),Xd=Zl(Vd);export{$c as B,rn as L,Ru as N,_i as O,Fi as R,ve as a,Ar as b,Uc as c,dl as d,Eu as e,_t as m,Xd as r,Ir as u};

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.