@kenyaemr/esm-version-app 5.1.1-pre.357 → 5.1.1-pre.359

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/574.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_kenyaemr_esm_version_app=globalThis.webpackChunk_kenyaemr_esm_version_app||[]).push([[574],{3574:e=>{e.exports=JSON.parse('{"systemInfo":"System Info"}')}}]);
1
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_version_app=globalThis.webpackChunk_kenyaemr_esm_version_app||[]).push([[574],{574:e=>{e.exports=JSON.parse('{"systemInfo":"System Info"}')}}]);
package/dist/591.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see 591.js.LICENSE.txt */
2
- "use strict";(globalThis.webpackChunk_kenyaemr_esm_version_app=globalThis.webpackChunk_kenyaemr_esm_version_app||[]).push([[591],{6591:(e,t,r)=>{r.r(t),r.d(t,{AbortedDeferredError:()=>J,Await:()=>Ct,BrowserRouter:()=>$t,Form:()=>Vt,HashRouter:()=>Jt,Link:()=>Yt,MemoryRouter:()=>wt,NavLink:()=>qt,Navigate:()=>bt,NavigationType:()=>n,Outlet:()=>Et,Route:()=>Rt,Router:()=>Dt,RouterProvider:()=>yt,Routes:()=>St,ScrollRestoration:()=>Xt,UNSAFE_DataRouterContext:()=>_e,UNSAFE_DataRouterStateContext:()=>Ne,UNSAFE_DataStaticRouterContext:()=>ke,UNSAFE_LocationContext:()=>Be,UNSAFE_NavigationContext:()=>Ie,UNSAFE_RouteContext:()=>He,UNSAFE_enhanceManualRouteObjects:()=>Ot,createBrowserRouter:()=>Kt,createHashRouter:()=>Wt,createMemoryRouter:()=>Tt,createPath:()=>f,createRoutesFromChildren:()=>Lt,createRoutesFromElements:()=>Lt,createSearchParams:()=>Ft,defer:()=>q,generatePath:()=>M,isRouteErrorResponse:()=>X,json:()=>$,matchPath:()=>O,matchRoutes:()=>w,parsePath:()=>p,redirect:()=>V,renderMatches:()=>Mt,resolvePath:()=>_,unstable_HistoryRouter:()=>zt,useActionData:()=>pt,useAsyncError:()=>gt,useAsyncValue:()=>vt,useFetcher:()=>sr,useFetchers:()=>cr,useFormAction:()=>ir,useHref:()=>We,useInRouterContext:()=>$e,useLinkClickHandler:()=>rr,useLoaderData:()=>ht,useLocation:()=>Je,useMatch:()=>Ye,useMatches:()=>dt,useNavigate:()=>qe,useNavigation:()=>ct,useNavigationType:()=>ze,useOutlet:()=>Xe,useOutletContext:()=>Ge,useParams:()=>Qe,useResolvedPath:()=>Ze,useRevalidator:()=>ut,useRouteError:()=>mt,useRouteLoaderData:()=>ft,useRoutes:()=>et,useSearchParams:()=>nr,useSubmit:()=>ar});var n,a=r(5206);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(n||(n={}));const i="popstate";function l(e){void 0===e&&(e={});let t,{initialEntries:r=["/"],initialIndex:a,v5Compat:o=!1}=e;t=r.map(((e,t)=>p(e,"string"==typeof e?null:e.state,0===t?"default":void 0)));let i=c(null==a?t.length-1:a),l=n.Pop,s=null;function c(e){return Math.min(Math.max(e,0),t.length-1)}function d(){return t[i]}function p(e,r,n){void 0===r&&(r=null);let a=h(t?d().pathname:"/",e,r,n);return u("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}return{get index(){return i},get action(){return l},get location(){return d()},createHref:e=>"string"==typeof e?e:f(e),encodeLocation:e=>e,push(e,r){l=n.Push;let a=p(e,r);i+=1,t.splice(i,t.length,a),o&&s&&s({action:l,location:a})},replace(e,r){l=n.Replace;let a=p(e,r);t[i]=a,o&&s&&s({action:l,location:a})},go(e){l=n.Pop,i=c(i+e),s&&s({action:l,location:d()})},listen:e=>(s=e,()=>{s=null})}}function s(e){return void 0===e&&(e={}),v((function(e,t){let{pathname:r,search:n,hash:a}=e.location;return h("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){return"string"==typeof t?t:f(t)}),null,e)}function c(e){return void 0===e&&(e={}),v((function(e,t){let{pathname:r="/",search:n="",hash:a=""}=p(e.location.hash.substr(1));return h("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){let r=e.document.querySelector("base"),n="";if(r&&r.getAttribute("href")){let t=e.location.href,r=t.indexOf("#");n=-1===r?t:t.slice(0,r)}return n+"#"+("string"==typeof t?t:f(t))}),(function(e,t){u("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}function u(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function d(e){return{usr:e.state,key:e.key}}function h(e,t,r,n){return void 0===r&&(r=null),o({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?p(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function f(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&"?"!==r&&(t+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(t+="#"===n.charAt(0)?n:"#"+n),t}function p(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function m(e){let t="undefined"!=typeof window&&void 0!==window.location&&"null"!==window.location.origin?window.location.origin:"unknown://unknown",r="string"==typeof e?e:f(e);return new URL(r,t)}function v(e,t,r,a){void 0===a&&(a={});let{window:l=document.defaultView,v5Compat:s=!1}=a,c=l.history,u=n.Pop,p=null;function v(){u=n.Pop,p&&p({action:u,location:g.location})}let g={get action(){return u},get location(){return e(l,c)},listen(e){if(p)throw new Error("A history only accepts one active listener");return l.addEventListener(i,v),p=e,()=>{l.removeEventListener(i,v),p=null}},createHref:e=>t(l,e),encodeLocation(e){let t=m(f(e));return o({},e,{pathname:t.pathname,search:t.search,hash:t.hash})},push:function(e,t){u=n.Push;let a=h(g.location,e,t);r&&r(a,e);let o=d(a),i=g.createHref(a);try{c.pushState(o,"",i)}catch(e){l.location.assign(i)}s&&p&&p({action:u,location:g.location})},replace:function(e,t){u=n.Replace;let a=h(g.location,e,t);r&&r(a,e);let o=d(a),i=g.createHref(a);c.replaceState(o,"",i),s&&p&&p({action:u,location:g.location})},go:e=>c.go(e)};return g}var g;function y(e,t,r){return void 0===t&&(t=[]),void 0===r&&(r=new Set),e.map(((e,n)=>{let a=[...t,n],i="string"==typeof e.id?e.id:a.join("-");return j(!0!==e.index||!e.children,"Cannot specify children on an index route"),j(!r.has(i),'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),r.add(i),function(e){return!0===e.index}(e)?o({},e,{id:i}):o({},e,{id:i,children:e.children?y(e.children,a,r):void 0})}))}function w(e,t,r){void 0===r&&(r="/");let n=U(("string"==typeof t?p(t):t).pathname||"/",r);if(null==n)return null;let a=b(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every(((e,r)=>e===t[r]))?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(a);let o=null;for(let e=0;null==o&&e<a.length;++e)o=L(a[e],T(n));return o}function b(e,t,r,n){return void 0===t&&(t=[]),void 0===r&&(r=[]),void 0===n&&(n=""),e.forEach(((e,a)=>{let o={relativePath:e.path||"",caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};o.relativePath.startsWith("/")&&(j(o.relativePath.startsWith(n),'Absolute route path "'+o.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(n.length));let i=B([n,o.relativePath]),l=r.concat(o);e.children&&e.children.length>0&&(j(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+i+'".'),b(e.children,t,l,i)),(null!=e.path||e.index)&&t.push({path:i,score:A(i,e.index),routesMeta:l})})),t}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(g||(g={}));const E=/^:\w+$/,R=3,D=2,S=1,C=10,x=-2,P=e=>"*"===e;function A(e,t){let r=e.split("/"),n=r.length;return r.some(P)&&(n+=x),t&&(n+=D),r.filter((e=>!P(e))).reduce(((e,t)=>e+(E.test(t)?R:""===t?S:C)),n)}function L(e,t){let{routesMeta:r}=e,n={},a="/",o=[];for(let e=0;e<r.length;++e){let i=r[e],l=e===r.length-1,s="/"===a?t:t.slice(a.length)||"/",c=O({path:i.relativePath,caseSensitive:i.caseSensitive,end:l},s);if(!c)return null;Object.assign(n,c.params);let u=i.route;o.push({params:n,pathname:B([a,c.pathname]),pathnameBase:H(B([a,c.pathnameBase])),route:u}),"/"!==c.pathnameBase&&(a=B([a,c.pathnameBase]))}return o}function M(e,t){return void 0===t&&(t={}),e.replace(/:(\w+)/g,((e,r)=>(j(null!=t[r],'Missing ":'+r+'" param'),t[r]))).replace(/(\/?)\*/,((e,r,n,a)=>null==t["*"]?"/*"===a?"/":"":""+r+t["*"]))}function O(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=function(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!0),k("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/:(\w+)/g,((e,t)=>(n.push(t),"([^\\/]+)")));return e.endsWith("*")?(n.push("*"),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:n.reduce(((e,t,r)=>{if("*"===t){let e=l[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}return e[t]=function(e,t){try{return decodeURIComponent(e)}catch(r){return k(!1,'The value for the URL param "'+t+'" will not be decoded because the string "'+e+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+r+")."),e}}(l[r]||"",t),e}),{}),pathname:o,pathnameBase:i,pattern:e}}function T(e){try{return decodeURI(e)}catch(t){return k(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function U(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&"/"!==n?null:e.slice(r)||"/"}function j(e,t){if(!1===e||null==e)throw new Error(t)}function k(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function _(e,t){void 0===t&&(t="/");let{pathname:r,search:n="",hash:a=""}="string"==typeof e?p(e):e,o=r?r.startsWith("/")?r:function(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?r.length>1&&r.pop():"."!==e&&r.push(e)})),r.length>1?r.join("/"):"/"}(r,t):t;return{pathname:o,search:K(n),hash:W(a)}}function N(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the `to."+r+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function F(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function I(e,t,r,n){let a;void 0===n&&(n=!1),"string"==typeof e?a=p(e):(a=o({},e),j(!a.pathname||!a.pathname.includes("?"),N("?","pathname","search",a)),j(!a.pathname||!a.pathname.includes("#"),N("#","pathname","hash",a)),j(!a.search||!a.search.includes("#"),N("#","search","hash",a)));let i,l=""===e||""===a.pathname,s=l?"/":a.pathname;if(n||null==s)i=r;else{let e=t.length-1;if(s.startsWith("..")){let t=s.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}i=e>=0?t[e]:"/"}let c=_(a,i),u=s&&"/"!==s&&s.endsWith("/"),d=(l||"."===s)&&r.endsWith("/");return c.pathname.endsWith("/")||!u&&!d||(c.pathname+="/"),c}const B=e=>e.join("/").replace(/\/\/+/g,"/"),H=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),K=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",W=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",$=function(e,t){void 0===t&&(t={});let r="number"==typeof t?{status:t}:t,n=new Headers(r.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),o({},r,{headers:n}))};class J extends Error{}class z{constructor(e){let t;this.pendingKeys=new Set,this.subscriber=void 0,j(e&&"object"==typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise(((e,r)=>t=r)),this.controller=new AbortController;let r=()=>t(new J("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",r),this.controller.signal.addEventListener("abort",r),this.data=Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})}),{})}trackPromise(e,t){if(!(t instanceof Promise))return t;this.pendingKeys.add(e);let r=Promise.race([t,this.abortPromise]).then((t=>this.onSettle(r,e,null,t)),(t=>this.onSettle(r,e,t)));return r.catch((()=>{})),Object.defineProperty(r,"_tracked",{get:()=>!0}),r}onSettle(e,t,r,n){if(this.controller.signal.aborted&&r instanceof J)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);this.pendingKeys.delete(t),this.done&&this.unlistenAbortSignal();const a=this.subscriber;return r?(Object.defineProperty(e,"_error",{get:()=>r}),a&&a(!1),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),a&&a(!1),n)}subscribe(e){this.subscriber=e}cancel(){this.controller.abort(),this.pendingKeys.forEach(((e,t)=>this.pendingKeys.delete(t)));let e=this.subscriber;e&&e(!0)}async resolveData(e){let t=!1;if(!this.done){let r=()=>this.cancel();e.addEventListener("abort",r),t=await new Promise((t=>{this.subscribe((n=>{e.removeEventListener("abort",r),(n||this.done)&&t(n)}))}))}return t}get done(){return 0===this.pendingKeys.size}get unwrappedData(){return j(null!==this.data&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:Y(n)})}),{})}}function Y(e){if(!function(e){return e instanceof Promise&&!0===e._tracked}(e))return e;if(e._error)throw e._error;return e._data}function q(e){return new z(e)}const V=function(e,t){void 0===t&&(t=302);let r=t;"number"==typeof r?r={status:r}:void 0===r.status&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,o({},r,{headers:n}))};class G{constructor(e,t,r){this.status=e,this.statusText=t||"",this.data=r}}function X(e){return e instanceof G}const Q={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},Z={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},ee=!("undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement);function te(e){j(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let t=y(e.routes),r=null,a=new Set,i=null,l=null,s=null,c=!1,u=w(t,e.history.location,e.basename),d=null;if(null==u){let{matches:e,route:r,error:n}=pe(t);u=e,d={[r.id]:n}}let f,p,m=!u.some((e=>e.route.loader))||null!=e.hydrationData,v={historyAction:e.history.action,location:e.history.location,matches:u,initialized:m,navigation:Q,restoreScrollPosition: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},g=n.Pop,b=!1,E=!1,R=!1,D=[],S=[],C=new Map,x=0,P=-1,A=new Map,L=new Set,M=new Map,O=new Map;function T(e){v=o({},v,e),a.forEach((e=>e(v)))}function U(t,r){var a;T(o({},null!=v.actionData&&null!=v.navigation.formMethod&&"loading"===v.navigation.state&&(null==(a=v.navigation.formAction)?void 0:a.split("?")[0])===t.pathname?{}:{actionData:null},r,r.loaderData?{loaderData:he(v.loaderData,r.loaderData,r.matches||[])}:{},{historyAction:g,location:t,initialized:!0,navigation:Q,revalidation:"idle",restoreScrollPosition:!v.navigation.formData&&z(t,r.matches||v.matches),preventScrollReset:b})),E||g===n.Pop||(g===n.Push?e.history.push(t,t.state):g===n.Replace&&e.history.replace(t,t.state)),g=n.Pop,b=!1,E=!1,R=!1,D=[],S=[]}async function k(r,a,c){p&&p.abort(),p=null,g=r,E=!0===(c&&c.startUninterruptedRevalidation),function(e,t){if(i&&l&&s){let r=t.map((e=>Se(e,v.loaderData))),n=l(e,r)||e.key;i[n]=s()}}(v.location,v.matches),b=!0===(c&&c.preventScrollReset);let u=c&&c.overrideNavigation,d=w(t,a,e.basename);if(!d){let{matches:e,route:r,error:n}=pe(t);return J(),void U(a,{matches:e,loaderData:{},errors:{[r.id]:n}})}if(y=a,(m=v.location).pathname===y.pathname&&m.search===y.search&&m.hash!==y.hash)return void U(a,{matches:d});var m,y;p=new AbortController;let A,k,_=ce(a,p.signal,c&&c.submission);if(c&&c.pendingError)k={[fe(d).route.id]:c.pendingError};else if(c&&c.submission){let e=await async function(e,t,r,a,i){let l;I(),T({navigation:o({state:"submitting",location:t},r)});let s=Ce(a,t);if(s.route.action){if(l=await se("action",e,s,a,f.basename),e.signal.aborted)return{shortCircuited:!0}}else l=me(t);if(be(l)){let e=o({state:"loading",location:h(v.location,l.location)},r);return await N(l,e,i&&i.replace),{shortCircuited:!0}}if(we(l)){let e=fe(a,s.route.id);return!0!==(i&&i.replace)&&(g=n.Push),{pendingActionError:{[e.route.id]:l.error}}}if(ye(l))throw new Error("defer() is not supported in actions");return{pendingActionData:{[s.route.id]:l.data}}}(_,a,c.submission,d,{replace:c.replace});if(e.shortCircuited)return;A=e.pendingActionData,k=e.pendingActionError,u=o({state:"loading",location:a},c.submission)}let{shortCircuited:B,loaderData:H,errors:K}=await async function(e,t,r,n,a,i,l,s){let c=n;c||(c={state:"loading",location:t,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0});let[u,d]=oe(v,r,a,t,R,D,S,l,s,M);if(J((e=>!(r&&r.some((t=>t.route.id===e)))||u&&u.some((t=>t.route.id===e)))),0===u.length&&0===d.length)return U(t,{matches:r,loaderData:he(v.loaderData,{},r),errors:s||null,actionData:l||null}),{shortCircuited:!0};E||(d.forEach((e=>{let[t]=e,r=v.fetchers.get(t),n={state:"loading",data:r&&r.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,n)})),T(o({navigation:c,actionData:l||v.actionData||null},d.length>0?{fetchers:new Map(v.fetchers)}:{}))),P=++x,d.forEach((e=>{let[t]=e;return C.set(t,p)}));let{results:h,loaderResults:f,fetcherResults:m}=await F(v.matches,r,u,d,e);if(e.signal.aborted)return{shortCircuited:!0};d.forEach((e=>{let[t]=e;return C.delete(t)}));let g=ve(h);if(g){let e=ae(v,g);return await N(g,e,i),{shortCircuited:!0}}let{loaderData:y,errors:w}=de(v,r,u,f,s,d,m,O);return O.forEach(((e,t)=>{e.subscribe((r=>{(r||e.done)&&O.delete(t)}))})),function(){let e=[];for(let t of L){let r=v.fetchers.get(t);j(r,"Expected fetcher: "+t),"loading"===r.state&&(L.delete(t),e.push(t))}W(e)}(),o({loaderData:y,errors:w},$(P)||d.length>0?{fetchers:new Map(v.fetchers)}:{})}(_,a,d,u,c&&c.submission,c&&c.replace,A,k);B||(p=null,U(a,{matches:d,loaderData:H,errors:K}))}function _(e){return v.fetchers.get(e)||Z}async function N(e,t,r){e.revalidate&&(R=!0),j(t.location,"Expected a location on the redirect navigation"),p=null;let a=!0===r?n.Replace:n.Push;await k(a,t.location,{overrideNavigation:t})}async function F(e,t,r,n,a){let o=await Promise.all([...r.map((e=>se("loader",a,e,t,f.basename))),...n.map((e=>{let[,t,r,n]=e;return se("loader",ce(t,a.signal),r,n,f.basename)}))]),i=o.slice(0,r.length),l=o.slice(r.length);return await Promise.all([Ee(e,r,i,a.signal,!1,v.loaderData),Ee(e,n.map((e=>{let[,,t]=e;return t})),l,a.signal,!0)]),{results:o,loaderResults:i,fetcherResults:l}}function I(){R=!0,D.push(...J()),M.forEach(((e,t)=>{C.has(t)&&(S.push(t),K(t))}))}function B(e,t,r){let n=fe(v.matches,t);H(e),T({errors:{[n.route.id]:r},fetchers:new Map(v.fetchers)})}function H(e){C.has(e)&&K(e),M.delete(e),A.delete(e),L.delete(e),v.fetchers.delete(e)}function K(e){let t=C.get(e);j(t,"Expected fetch controller: "+e),t.abort(),C.delete(e)}function W(e){for(let t of e){let e={state:"idle",data:_(t).data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,e)}}function $(e){let t=[];for(let[r,n]of A)if(n<e){let e=v.fetchers.get(r);j(e,"Expected fetcher: "+r),"loading"===e.state&&(K(r),A.delete(r),t.push(r))}return W(t),t.length>0}function J(e){let t=[];return O.forEach(((r,n)=>{e&&!e(n)||(r.cancel(),t.push(n),O.delete(n))})),t}function z(e,t){if(i&&l&&s){let r=t.map((e=>Se(e,v.loaderData))),n=l(e,r)||e.key,a=i[n];if("number"==typeof a)return a}return null}return f={get basename(){return e.basename},get state(){return v},get routes(){return t},initialize:function(){return r=e.history.listen((e=>{let{action:t,location:r}=e;return k(t,r)})),v.initialized||k(n.Pop,v.location),f},subscribe:function(e){return a.add(e),()=>a.delete(e)},enableScrollRestoration:function(e,t,r){if(i=e,s=t,l=r||(e=>e.key),!c&&v.navigation===Q){c=!0;let e=z(v.location,v.matches);null!=e&&T({restoreScrollPosition:e})}return()=>{i=null,s=null,l=null}},navigate:async function(t,r){if("number"==typeof t)return void e.history.go(t);let{path:a,submission:o,error:i}=ne(t,r),l=h(v.location,a,r&&r.state);l=e.history.encodeLocation(l);let s=!0===(r&&r.replace)||null!=o?n.Replace:n.Push,c=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0;return await k(s,l,{submission:o,pendingError:i,preventScrollReset:c,replace:r&&r.replace})},fetch:function(r,n,a,i){if(ee)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");C.has(r)&&K(r);let l=w(t,a,e.basename);if(!l)return void B(r,n,new G(404,"Not Found",null));let{path:s,submission:c}=ne(a,i,!0),u=Ce(l,s);c?async function(r,n,a,i,l,s){if(I(),M.delete(r),!i.route.action){let{error:e}=me(a);return void B(r,n,e)}let c=v.fetchers.get(r),u=o({state:"submitting"},s,{data:c&&c.data});v.fetchers.set(r,u),T({fetchers:new Map(v.fetchers)});let d=new AbortController,m=ce(a,d.signal,s);C.set(r,d);let y=await se("action",m,i,l,f.basename);if(m.signal.aborted)return void(C.get(r)===d&&C.delete(r));if(be(y)){C.delete(r),L.add(r);let e=o({state:"loading"},s,{data:void 0});v.fetchers.set(r,e),T({fetchers:new Map(v.fetchers)});let t=o({state:"loading",location:h(v.location,y.location)},s);return void await N(y,t)}if(we(y))return void B(r,n,y.error);ye(y)&&j(!1,"defer() is not supported in actions");let b=v.navigation.location||v.location,E=ce(b,d.signal),k="idle"!==v.navigation.state?w(t,v.navigation.location,e.basename):v.matches;j(k,"Didn't find any matches after fetcher action");let _=++x;A.set(r,_);let H=o({state:"loading",data:y.data},s);v.fetchers.set(r,H);let[K,W]=oe(v,k,s,b,R,D,S,{[i.route.id]:y.data},void 0,M);W.filter((e=>{let[t]=e;return t!==r})).forEach((e=>{let[t]=e,r=v.fetchers.get(t),n={state:"loading",data:r&&r.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,n),C.set(t,d)})),T({fetchers:new Map(v.fetchers)});let{results:J,loaderResults:z,fetcherResults:Y}=await F(v.matches,k,K,W,E);if(d.signal.aborted)return;A.delete(r),C.delete(r),W.forEach((e=>{let[t]=e;return C.delete(t)}));let q=ve(J);if(q){let e=ae(v,q);return void await N(q,e)}let{loaderData:V,errors:G}=de(v,v.matches,K,z,void 0,W,Y,O),X={state:"idle",data:y.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(r,X);let Q=$(_);"loading"===v.navigation.state&&_>P?(j(g,"Expected pending action"),p&&p.abort(),U(v.navigation.location,{matches:k,loaderData:V,errors:G,fetchers:new Map(v.fetchers)})):(T(o({errors:G,loaderData:he(v.loaderData,V,k)},Q?{fetchers:new Map(v.fetchers)}:{})),R=!1)}(r,n,s,u,l,c):(M.set(r,[s,u,l]),async function(e,t,r,n,a){let o=v.fetchers.get(e),i={state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,data:o&&o.data};v.fetchers.set(e,i),T({fetchers:new Map(v.fetchers)});let l=new AbortController,s=ce(r,l.signal);C.set(e,l);let c=await se("loader",s,n,a,f.basename);if(ye(c)&&(c=await Re(c,s.signal,!0)||c),C.get(e)===l&&C.delete(e),s.signal.aborted)return;if(be(c)){let e=ae(v,c);return void await N(c,e)}if(we(c)){let r=fe(v.matches,t);return v.fetchers.delete(e),void T({fetchers:new Map(v.fetchers),errors:{[r.route.id]:c.error}})}j(!ye(c),"Unhandled fetcher deferred data");let u={state:"idle",data:c.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(e,u),T({fetchers:new Map(v.fetchers)})}(r,n,s,u,l))},revalidate:function(){I(),T({revalidation:"loading"}),"submitting"!==v.navigation.state&&("idle"!==v.navigation.state?k(g||v.historyAction,v.navigation.location,{overrideNavigation:v.navigation}):k(v.historyAction,v.location,{startUninterruptedRevalidation:!0}))},createHref:t=>e.history.createHref(t),getFetcher:_,deleteFetcher:H,dispose:function(){r&&r(),a.clear(),p&&p.abort(),v.fetchers.forEach(((e,t)=>H(t)))},_internalFetchControllers:C,_internalActiveDeferreds:O},f}const re=new Set(["POST","PUT","PATCH","DELETE"]);function ne(e,t,r){void 0===r&&(r=!1);let n="string"==typeof e?e:f(e);if(!t||!("formMethod"in t)&&!("formData"in t))return{path:n};if(null!=t.formMethod&&"get"!==t.formMethod)return{path:n,submission:{formMethod:t.formMethod,formAction:ge(n),formEncType:t&&t.formEncType||"application/x-www-form-urlencoded",formData:t.formData}};if(!t.formData)return{path:n};let a=p(n);try{let e=ue(t.formData);r&&a.search&&De(a.search)&&e.append("index",""),a.search="?"+e}catch(e){return{path:n,error:new G(400,"Bad Request","Cannot submit binary form data using GET")}}return{path:f(a)}}function ae(e,t){let{formMethod:r,formAction:n,formEncType:a,formData:o}=e.navigation;return{state:"loading",location:h(e.location,t.location),formMethod:r||void 0,formAction:n||void 0,formEncType:a||void 0,formData:o||void 0}}function oe(e,t,r,n,a,o,i,l,s,c){let u=s?Object.values(s)[0]:l?Object.values(l)[0]:null,d=function(e,t){let r=e;if(t){let n=e.findIndex((e=>e.route.id===t));n>=0&&(r=e.slice(0,n))}return r}(t,s?Object.keys(s)[0]:void 0).filter(((t,i)=>null!=t.route.loader&&(function(e,t,r){let n=!t||r.route.id!==t.route.id,a=void 0===e[r.route.id];return n||a}(e.loaderData,e.matches[i],t)||o.some((e=>e===t.route.id))||le(e.location,e.matches[i],r,n,t,a,u)))),h=[];return c&&c.forEach(((e,t)=>{let[n,o,l]=e;(i.includes(t)||a&&le(n,o,r,n,o,a,u))&&h.push([t,n,o,l])})),[d,h]}function ie(e,t){let r=e.route.path;return e.pathname!==t.pathname||r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function le(e,t,r,n,a,i,l){let s=m(e),c=t.params,u=m(n),d=a.params,h=ie(t,a)||s.toString()===u.toString()||s.search!==u.search||i;if(a.route.shouldRevalidate){let e=a.route.shouldRevalidate(o({currentUrl:s,currentParams:c,nextUrl:u,nextParams:d},r,{actionResult:l,defaultShouldRevalidate:h}));if("boolean"==typeof e)return e}return h}async function se(e,t,r,n,a,o,i){let l,s,c;void 0===o&&(o=!1),void 0===i&&(i=!1);let u=new Promise(((e,t)=>c=t)),d=()=>c();t.signal.addEventListener("abort",d);try{let n=r.route[e];j(n,"Could not find the "+e+' to run on the "'+r.route.id+'" route'),s=await Promise.race([n({request:t,params:r.params}),u])}catch(e){l=g.error,s=e}finally{t.signal.removeEventListener("abort",d)}if(s instanceof Response){let e,c=s.status;if(c>=300&&c<=399){let e=s.headers.get("Location");j(e,"Redirects returned/thrown from loaders/actions must have a Location header");let i=I(e,F(n.slice(0,n.indexOf(r)+1)).map((e=>e.pathnameBase)),m(t.url).pathname);if(j(f(i),"Unable to resolve redirect location: "+s.headers.get("Location")),a){let e=i.pathname;i.pathname="/"===e?a:B([a,e])}if(e=f(i),o)throw s.headers.set("Location",e),s;return{type:g.redirect,status:c,location:e,revalidate:null!==s.headers.get("X-Remix-Revalidate")}}if(i)throw{type:l||g.data,response:s};let u=s.headers.get("Content-Type");return e=u&&u.startsWith("application/json")?await s.json():await s.text(),l===g.error?{type:l,error:new G(c,s.statusText,e),headers:s.headers}:{type:g.data,data:e,statusCode:s.status,headers:s.headers}}return l===g.error?{type:l,error:s}:s instanceof z?{type:g.deferred,deferredData:s}:{type:g.data,data:s}}function ce(e,t,r){let n=m(ge(e)).toString(),a={signal:t};if(r){let{formMethod:e,formEncType:t,formData:n}=r;a.method=e.toUpperCase(),a.body="application/x-www-form-urlencoded"===t?ue(n):n}return new Request(n,a)}function ue(e){let t=new URLSearchParams;for(let[r,n]of e.entries())j("string"==typeof n,'File inputs are not supported with encType "application/x-www-form-urlencoded", please use "multipart/form-data" instead.'),t.append(r,n);return t}function de(e,t,r,n,a,i,l,s){let{loaderData:c,errors:u}=function(e,t,r,n,a){let o,i={},l=null,s=!1,c={};return r.forEach(((r,u)=>{let d=t[u].route.id;if(j(!be(r),"Cannot handle redirect results in processLoaderData"),we(r)){let t=fe(e,d),a=r.error;n&&(a=Object.values(n)[0],n=void 0),l=Object.assign(l||{},{[t.route.id]:a}),s||(s=!0,o=X(r.error)?r.error.status:500),r.headers&&(c[d]=r.headers)}else ye(r)?(a&&a.set(d,r.deferredData),i[d]=r.deferredData.data):(i[d]=r.data,null==r.statusCode||200===r.statusCode||s||(o=r.statusCode),r.headers&&(c[d]=r.headers))})),n&&(l=n),{loaderData:i,errors:l,statusCode:o||200,loaderHeaders:c}}(t,r,n,a,s);for(let t=0;t<i.length;t++){let[r,,n]=i[t];j(void 0!==l&&void 0!==l[t],"Did not find corresponding fetcher result");let a=l[t];if(we(a)){let t=fe(e.matches,n.route.id);u&&u[t.route.id]||(u=o({},u,{[t.route.id]:a.error})),e.fetchers.delete(r)}else{if(be(a))throw new Error("Unhandled fetcher revalidation redirect");if(ye(a))throw new Error("Unhandled fetcher deferred data");{let t={state:"idle",data:a.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};e.fetchers.set(r,t)}}}return{loaderData:c,errors:u}}function he(e,t,r){let n=o({},t);return r.forEach((r=>{let a=r.route.id;void 0===t[a]&&void 0!==e[a]&&(n[a]=e[a])})),n}function fe(e,t){return(t?e.slice(0,e.findIndex((e=>e.route.id===t))+1):[...e]).reverse().find((e=>!0===e.route.hasErrorBoundary))||e[0]}function pe(e){return function(e,t,r){let n=e.find((e=>e.index||!e.path||"/"===e.path))||{id:"__shim-"+t+"-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:n}],route:n,error:new G(t,r,null)}}(e,404,"Not Found")}function me(e){let t="string"==typeof e?e:f(e);return console.warn("You're trying to submit to a route that does not have an action. To fix this, please add an `action` function to the route for ["+t+"]"),{type:g.error,error:new G(405,"Method Not Allowed","")}}function ve(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(be(r))return r}}function ge(e){return f(o({},"string"==typeof e?p(e):e,{hash:""}))}function ye(e){return e.type===g.deferred}function we(e){return e.type===g.error}function be(e){return(e&&e.type)===g.redirect}async function Ee(e,t,r,n,a,o){for(let i=0;i<r.length;i++){let l=r[i],s=t[i],c=e.find((e=>e.route.id===s.route.id)),u=null!=c&&!ie(c,s)&&void 0!==(o&&o[s.route.id]);ye(l)&&(a||u)&&await Re(l,n,a).then((e=>{e&&(r[i]=e||r[i])}))}}async function Re(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:g.data,data:e.deferredData.unwrappedData}}catch(e){return{type:g.error,error:e}}return{type:g.data,data:e.deferredData.data}}}function De(e){return new URLSearchParams(e).getAll("index").some((e=>""===e))}function Se(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}function Ce(e,t){let r="string"==typeof t?p(t).search:t.search;if(e[e.length-1].route.index&&De(r||""))return e[e.length-1];let n=F(e);return n[n.length-1]}function xe(){return xe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},xe.apply(this,arguments)}new Set(["GET","HEAD",...re]);const Pe="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},{useState:Ae,useEffect:Le,useLayoutEffect:Me,useDebugValue:Oe}=a;function Te(e){const t=e.getSnapshot,r=e.value;try{const e=t();return!Pe(r,e)}catch(e){return!0}}const Ue="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t,r){return t()}:function(e,t,r){const n=t(),[{inst:a},o]=Ae({inst:{value:n,getSnapshot:t}});return Me((()=>{a.value=n,a.getSnapshot=t,Te(a)&&o({inst:a})}),[e,n,t]),Le((()=>(Te(a)&&o({inst:a}),e((()=>{Te(a)&&o({inst:a})})))),[e]),Oe(n),n},je="useSyncExternalStore"in a?a.useSyncExternalStore:Ue,ke=a.createContext(null),_e=a.createContext(null),Ne=a.createContext(null),Fe=a.createContext(null),Ie=a.createContext(null),Be=a.createContext(null),He=a.createContext({outlet:null,matches:[]}),Ke=a.createContext(null);function We(e,t){let{relative:r}=void 0===t?{}:t;$e()||j(!1);let{basename:n,navigator:o}=a.useContext(Ie),{hash:i,pathname:l,search:s}=Ze(e,{relative:r}),c=l;return"/"!==n&&(c="/"===l?n:B([n,l])),o.createHref({pathname:c,search:s,hash:i})}function $e(){return null!=a.useContext(Be)}function Je(){return $e()||j(!1),a.useContext(Be).location}function ze(){return a.useContext(Be).navigationType}function Ye(e){$e()||j(!1);let{pathname:t}=Je();return a.useMemo((()=>O(e,t)),[t,e])}function qe(){$e()||j(!1);let{basename:e,navigator:t}=a.useContext(Ie),{matches:r}=a.useContext(He),{pathname:n}=Je(),o=JSON.stringify(F(r).map((e=>e.pathnameBase))),i=a.useRef(!1);return a.useEffect((()=>{i.current=!0})),a.useCallback((function(r,a){if(void 0===a&&(a={}),!i.current)return;if("number"==typeof r)return void t.go(r);let l=I(r,JSON.parse(o),n,"path"===a.relative);"/"!==e&&(l.pathname="/"===l.pathname?e:B([e,l.pathname])),(a.replace?t.replace:t.push)(l,a.state,a)}),[e,t,o,n])}const Ve=a.createContext(null);function Ge(){return a.useContext(Ve)}function Xe(e){let t=a.useContext(He).outlet;return t?a.createElement(Ve.Provider,{value:e},t):t}function Qe(){let{matches:e}=a.useContext(He),t=e[e.length-1];return t?t.params:{}}function Ze(e,t){let{relative:r}=void 0===t?{}:t,{matches:n}=a.useContext(He),{pathname:o}=Je(),i=JSON.stringify(F(n).map((e=>e.pathnameBase)));return a.useMemo((()=>I(e,JSON.parse(i),o,"path"===r)),[e,i,o,r])}function et(e,t){$e()||j(!1);let r=a.useContext(Ne),{matches:o}=a.useContext(He),i=o[o.length-1],l=i?i.params:{},s=(i&&i.pathname,i?i.pathnameBase:"/");i&&i.route;let c,u=Je();if(t){var d;let e="string"==typeof t?p(t):t;"/"===s||(null==(d=e.pathname)?void 0:d.startsWith(s))||j(!1),c=e}else c=u;let h=c.pathname||"/",f=w(e,{pathname:"/"===s?h:h.slice(s.length)||"/"}),m=at(f&&f.map((e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:B([s,e.pathname]),pathnameBase:"/"===e.pathnameBase?s:B([s,e.pathnameBase])}))),o,r||void 0);return t&&m?a.createElement(Be.Provider,{value:{location:xe({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:n.Pop}},m):m}function tt(){let e=mt(),t=X(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:n},i={padding:"2px 4px",backgroundColor:n};return a.createElement(a.Fragment,null,a.createElement("h2",null,"Unhandled Thrown Error!"),a.createElement("h3",{style:{fontStyle:"italic"}},t),r?a.createElement("pre",{style:o},r):null,a.createElement("p",null,"💿 Hey developer 👋"),a.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",a.createElement("code",{style:i},"errorElement")," props on ",a.createElement("code",{style:i},"<Route>")))}class rt extends a.Component{constructor(e){super(e),this.state={location:e.location,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return this.state.error?a.createElement(Ke.Provider,{value:this.state.error,children:this.props.component}):this.props.children}}function nt(e){let{routeContext:t,match:r,children:n}=e,o=a.useContext(ke);return o&&r.route.errorElement&&(o._deepestRenderedBoundaryId=r.route.id),a.createElement(He.Provider,{value:t},n)}function at(e,t,r){if(void 0===t&&(t=[]),null==e){if(null==r||!r.errors)return null;e=r.matches}let n=e,o=null==r?void 0:r.errors;if(null!=o){let e=n.findIndex((e=>e.route.id&&(null==o?void 0:o[e.route.id])));e>=0||j(!1),n=n.slice(0,Math.min(n.length,e+1))}return n.reduceRight(((e,i,l)=>{let s=i.route.id?null==o?void 0:o[i.route.id]:null,c=r?i.route.errorElement||a.createElement(tt,null):null,u=()=>a.createElement(nt,{match:i,routeContext:{outlet:e,matches:t.concat(n.slice(0,l+1))}},s?c:void 0!==i.route.element?i.route.element:e);return r&&(i.route.errorElement||0===l)?a.createElement(rt,{location:r.location,component:c,error:s,children:u()}):u()}),null)}var ot,it,lt;function st(e){let t=a.useContext(Ne);return t||j(!1),t}function ct(){return st(it.UseNavigation).navigation}function ut(){let e=function(e){let t=a.useContext(_e);return t||j(!1),t}(ot.UseRevalidator),t=st(it.UseRevalidator);return{revalidate:e.router.revalidate,state:t.revalidation}}function dt(){let{matches:e,loaderData:t}=st(it.UseMatches);return a.useMemo((()=>e.map((e=>{let{pathname:r,params:n}=e;return{id:e.route.id,pathname:r,params:n,data:t[e.route.id],handle:e.route.handle}}))),[e,t])}function ht(){let e=st(it.UseLoaderData),t=a.useContext(He);t||j(!1);let r=t.matches[t.matches.length-1];return r.route.id||j(!1),e.loaderData[r.route.id]}function ft(e){return st(it.UseRouteLoaderData).loaderData[e]}function pt(){let e=st(it.UseActionData);return a.useContext(He)||j(!1),Object.values((null==e?void 0:e.actionData)||{})[0]}function mt(){var e;let t=a.useContext(Ke),r=st(it.UseRouteError),n=a.useContext(He),o=n.matches[n.matches.length-1];return t||(n||j(!1),o.route.id||j(!1),null==(e=r.errors)?void 0:e[o.route.id])}function vt(){let e=a.useContext(Fe);return null==e?void 0:e._data}function gt(){let e=a.useContext(Fe);return null==e?void 0:e._error}function yt(e){let{fallbackElement:t,router:r}=e,n=je(r.subscribe,(()=>r.state),(()=>r.state)),o=a.useMemo((()=>({createHref:r.createHref,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})})),[r]),i=r.basename||"/";return a.createElement(_e.Provider,{value:{router:r,navigator:o,static:!1,basename:i}},a.createElement(Ne.Provider,{value:n},a.createElement(Dt,{basename:r.basename,location:r.state.location,navigationType:r.state.historyAction,navigator:o},r.state.initialized?a.createElement(St,null):t)))}function wt(e){let{basename:t,children:r,initialEntries:n,initialIndex:o}=e,i=a.useRef();null==i.current&&(i.current=l({initialEntries:n,initialIndex:o,v5Compat:!0}));let s=i.current,[c,u]=a.useState({action:s.action,location:s.location});return a.useLayoutEffect((()=>s.listen(u)),[s]),a.createElement(Dt,{basename:t,children:r,location:c.location,navigationType:c.action,navigator:s})}function bt(e){let{to:t,replace:r,state:n,relative:o}=e;$e()||j(!1);let i=a.useContext(Ne),l=qe();return a.useEffect((()=>{i&&"idle"!==i.navigation.state||l(t,{replace:r,state:n,relative:o})})),null}function Et(e){return Xe(e.context)}function Rt(e){j(!1)}function Dt(e){let{basename:t="/",children:r=null,location:o,navigationType:i=n.Pop,navigator:l,static:s=!1}=e;$e()&&j(!1);let c=t.replace(/^\/*/,"/"),u=a.useMemo((()=>({basename:c,navigator:l,static:s})),[c,l,s]);"string"==typeof o&&(o=p(o));let{pathname:d="/",search:h="",hash:f="",state:m=null,key:v="default"}=o,g=a.useMemo((()=>{let e=U(d,c);return null==e?null:{pathname:e,search:h,hash:f,state:m,key:v}}),[c,d,h,f,m,v]);return null==g?null:a.createElement(Ie.Provider,{value:u},a.createElement(Be.Provider,{children:r,value:{location:g,navigationType:i}}))}function St(e){let{children:t,location:r}=e,n=a.useContext(_e);return et(n&&!t?n.router.routes:Lt(t),r)}function Ct(e){let{children:t,errorElement:r,resolve:n}=e;return a.createElement(Pt,{resolve:n,errorElement:r},a.createElement(At,null,t))}!function(e){e.UseRevalidator="useRevalidator"}(ot||(ot={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(it||(it={})),function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(lt||(lt={}));const xt=new Promise((()=>{}));class Pt extends a.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,n=null,o=lt.pending;if(r instanceof Promise)if(this.state.error){o=lt.error;let e=this.state.error;n=Promise.reject().catch((()=>{})),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?(n=r,o=void 0!==n._error?lt.error:void 0!==n._data?lt.success:lt.pending):(o=lt.pending,Object.defineProperty(r,"_tracked",{get:()=>!0}),n=r.then((e=>Object.defineProperty(r,"_data",{get:()=>e})),(e=>Object.defineProperty(r,"_error",{get:()=>e}))));else o=lt.success,n=Promise.resolve(),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(o===lt.error&&n._error instanceof J)throw xt;if(o===lt.error&&!t)throw n._error;if(o===lt.error)return a.createElement(Fe.Provider,{value:n,children:t});if(o===lt.success)return a.createElement(Fe.Provider,{value:n,children:e});throw n}}function At(e){let{children:t}=e,r=vt();return"function"==typeof t?t(r):a.createElement(a.Fragment,null,t)}function Lt(e,t){void 0===t&&(t=[]);let r=[];return a.Children.forEach(e,((e,n)=>{if(!a.isValidElement(e))return;if(e.type===a.Fragment)return void r.push.apply(r,Lt(e.props.children,t));e.type!==Rt&&j(!1),e.props.index&&e.props.children&&j(!1);let o=[...t,n],i={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(i.children=Lt(e.props.children,o)),r.push(i)})),r}function Mt(e){return at(e)}function Ot(e){return e.map((e=>{let t=xe({},e);return null==t.hasErrorBoundary&&(t.hasErrorBoundary=null!=t.errorElement),t.children&&(t.children=Ot(t.children)),t}))}function Tt(e,t){return te({basename:null==t?void 0:t.basename,history:l({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:Ot(e)}).initialize()}function Ut(){return Ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ut.apply(this,arguments)}function jt(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}const kt="get",_t="application/x-www-form-urlencoded";function Nt(e){return null!=e&&"string"==typeof e.tagName}function Ft(e){return void 0===e&&(e=""),new URLSearchParams("string"==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map((e=>[r,e])):[[r,n]])}),[]))}const It=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],Bt=["aria-current","caseSensitive","className","end","style","to","children"],Ht=["reloadDocument","replace","method","action","onSubmit","fetcherKey","routeId","relative"];function Kt(e,t){var r;return te({basename:null==t?void 0:t.basename,history:s({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||(null==(r=window)?void 0:r.__staticRouterHydrationData),routes:Ot(e)}).initialize()}function Wt(e,t){var r;return te({basename:null==t?void 0:t.basename,history:c({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||(null==(r=window)?void 0:r.__staticRouterHydrationData),routes:Ot(e)}).initialize()}function $t(e){let{basename:t,children:r,window:n}=e,o=a.useRef();null==o.current&&(o.current=s({window:n,v5Compat:!0}));let i=o.current,[l,c]=a.useState({action:i.action,location:i.location});return a.useLayoutEffect((()=>i.listen(c)),[i]),a.createElement(Dt,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i})}function Jt(e){let{basename:t,children:r,window:n}=e,o=a.useRef();null==o.current&&(o.current=c({window:n,v5Compat:!0}));let i=o.current,[l,s]=a.useState({action:i.action,location:i.location});return a.useLayoutEffect((()=>i.listen(s)),[i]),a.createElement(Dt,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i})}function zt(e){let{basename:t,children:r,history:n}=e;const[o,i]=a.useState({action:n.action,location:n.location});return a.useLayoutEffect((()=>n.listen(i)),[n]),a.createElement(Dt,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:n})}const Yt=a.forwardRef((function(e,t){let{onClick:r,relative:n,reloadDocument:o,replace:i,state:l,target:s,to:c,preventScrollReset:u}=e,d=jt(e,It),h=We(c,{relative:n}),f=rr(c,{replace:i,state:l,target:s,preventScrollReset:u,relative:n});return a.createElement("a",Ut({},d,{href:h,onClick:o?r:function(e){r&&r(e),e.defaultPrevented||f(e)},ref:t,target:s}))})),qt=a.forwardRef((function(e,t){let{"aria-current":r="page",caseSensitive:n=!1,className:o="",end:i=!1,style:l,to:s,children:c}=e,u=jt(e,Bt),d=Ze(s,{relative:u.relative}),h=Je(),f=a.useContext(Ne),p=d.pathname,m=h.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;n||(m=m.toLowerCase(),v=v?v.toLowerCase():null,p=p.toLowerCase());let g,y=m===p||!i&&m.startsWith(p)&&"/"===m.charAt(p.length),w=null!=v&&(v===p||!i&&v.startsWith(p)&&"/"===v.charAt(p.length)),b=y?r:void 0;g="function"==typeof o?o({isActive:y,isPending:w}):[o,y?"active":null,w?"pending":null].filter(Boolean).join(" ");let E="function"==typeof l?l({isActive:y,isPending:w}):l;return a.createElement(Yt,Ut({},u,{"aria-current":b,className:g,ref:t,style:E,to:s}),"function"==typeof c?c({isActive:y,isPending:w}):c)})),Vt=a.forwardRef(((e,t)=>a.createElement(Gt,Ut({},e,{ref:t})))),Gt=a.forwardRef(((e,t)=>{let{reloadDocument:r,replace:n,method:o=kt,action:i,onSubmit:l,fetcherKey:s,routeId:c,relative:u}=e,d=jt(e,Ht),h=or(s,c),f="get"===o.toLowerCase()?"get":"post",p=ir(i,{relative:u});return a.createElement("form",Ut({ref:t,method:f,action:p,onSubmit:r?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter;h(t||e.currentTarget,{method:o,replace:n,relative:u})}},d))}));function Xt(e){let{getKey:t,storageKey:r}=e;return function(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=er(Qt.UseScrollRestoration),{restoreScrollPosition:o,preventScrollReset:i}=tr(Zt.UseScrollRestoration),l=Je(),s=dt(),c=ct();var u;a.useEffect((()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"})),[]),u=a.useCallback((()=>{if("idle"===c.state){let e=(t?t(l,s):null)||l.key;dr[e]=window.scrollY}sessionStorage.setItem(r||ur,JSON.stringify(dr)),window.history.scrollRestoration="auto"}),[r,t,c.state,l,s]),a.useEffect((()=>(window.addEventListener("beforeunload",u),()=>{window.removeEventListener("beforeunload",u)})),[u]),a.useLayoutEffect((()=>{try{let e=sessionStorage.getItem(r||ur);e&&(dr=JSON.parse(e))}catch(e){}}),[r]),a.useLayoutEffect((()=>{let e=null==n?void 0:n.enableScrollRestoration(dr,(()=>window.scrollY),t);return()=>e&&e()}),[n,t]),a.useLayoutEffect((()=>{if(!1!==o)if("number"!=typeof o){if(l.hash){let e=document.getElementById(l.hash.slice(1));if(e)return void e.scrollIntoView()}!0!==i&&window.scrollTo(0,0)}else window.scrollTo(0,o)}),[l,o,i])}({getKey:t,storageKey:r}),null}var Qt,Zt;function er(e){let t=a.useContext(_e);return t||j(!1),t}function tr(e){let t=a.useContext(Ne);return t||j(!1),t}function rr(e,t){let{target:r,replace:n,state:o,preventScrollReset:i,relative:l}=void 0===t?{}:t,s=qe(),c=Je(),u=Ze(e,{relative:l});return a.useCallback((t=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(t,r)){t.preventDefault();let r=void 0!==n?n:f(c)===f(u);s(e,{replace:r,state:o,preventScrollReset:i,relative:l})}}),[c,s,u,n,o,r,e,i,l])}function nr(e){let t=a.useRef(Ft(e)),r=Je(),n=a.useMemo((()=>function(e,t){let r=Ft(e);for(let e of t.keys())r.has(e)||t.getAll(e).forEach((t=>{r.append(e,t)}));return r}(r.search,t.current)),[r.search]),o=qe(),i=a.useCallback(((e,t)=>{const r=Ft("function"==typeof e?e(n):e);o("?"+r,t)}),[o,n]);return[n,i]}function ar(){return or()}function or(e,t){let{router:r}=er(Qt.UseSubmitImpl),n=ir();return a.useCallback((function(a,o){if(void 0===o&&(o={}),"undefined"==typeof document)throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");let{method:i,encType:l,formData:s,url:c}=function(e,t,r){let n,a,o,i;if(Nt(l=e)&&"form"===l.tagName.toLowerCase()){let l=r.submissionTrigger;n=r.method||e.getAttribute("method")||kt,a=r.action||e.getAttribute("action")||t,o=r.encType||e.getAttribute("enctype")||_t,i=new FormData(e),l&&l.name&&i.append(l.name,l.value)}else if(function(e){return Nt(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return Nt(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let l=e.form;if(null==l)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');n=r.method||e.getAttribute("formmethod")||l.getAttribute("method")||kt,a=r.action||e.getAttribute("formaction")||l.getAttribute("action")||t,o=r.encType||e.getAttribute("formenctype")||l.getAttribute("enctype")||_t,i=new FormData(l),e.name&&i.append(e.name,e.value)}else{if(Nt(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');if(n=r.method||kt,a=r.action||t,o=r.encType||_t,e instanceof FormData)i=e;else if(i=new FormData,e instanceof URLSearchParams)for(let[t,r]of e)i.append(t,r);else if(null!=e)for(let t of Object.keys(e))i.append(t,e[t])}var l;let{protocol:s,host:c}=window.location;return{url:new URL(a,s+"//"+c),method:n,encType:o,formData:i}}(a,n,o),u=c.pathname+c.search,d={replace:o.replace,formData:s,formMethod:i,formEncType:l};e?(null==t&&j(!1),r.fetch(e,t,u,d)):r.navigate(u,d)}),[n,r,e,t])}function ir(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=a.useContext(Ie),o=a.useContext(He);o||j(!1);let[i]=o.matches.slice(-1),l=Ut({},Ze(null!=e?e:".",{relative:r})),s=Je();if(null==e&&(l.search=s.search,l.hash=s.hash,i.route.index)){let e=new URLSearchParams(l.search);e.delete("index"),l.search=e.toString()?"?"+e.toString():""}return e&&"."!==e||!i.route.index||(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(l.pathname="/"===l.pathname?n:B([n,l.pathname])),f(l)}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(Qt||(Qt={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Zt||(Zt={}));let lr=0;function sr(){var e;let{router:t}=er(Qt.UseFetcher),r=a.useContext(He);r||j(!1);let n=null==(e=r.matches[r.matches.length-1])?void 0:e.route.id;null==n&&j(!1);let[o]=a.useState((()=>String(++lr))),[i]=a.useState((()=>(n||j(!1),function(e,t){return a.forwardRef(((r,n)=>a.createElement(Gt,Ut({},r,{ref:n,fetcherKey:e,routeId:t}))))}(o,n)))),[l]=a.useState((()=>e=>{t||j(!1),n||j(!1),t.fetch(o,n,e)})),s=or(o,n),c=t.getFetcher(o),u=a.useMemo((()=>Ut({Form:i,submit:s,load:l},c)),[c,i,s,l]);return a.useEffect((()=>()=>{t?t.deleteFetcher(o):console.warn("No fetcher available to clean up from useFetcher()")}),[t,o]),u}function cr(){return[...tr(Zt.UseFetchers).fetchers.values()]}const ur="react-router-scroll-positions";let dr={}}}]);
2
+ "use strict";(globalThis.webpackChunk_kenyaemr_esm_version_app=globalThis.webpackChunk_kenyaemr_esm_version_app||[]).push([[591],{591:(e,t,r)=>{r.r(t),r.d(t,{AbortedDeferredError:()=>J,Await:()=>Ct,BrowserRouter:()=>$t,Form:()=>Vt,HashRouter:()=>Jt,Link:()=>Yt,MemoryRouter:()=>wt,NavLink:()=>qt,Navigate:()=>bt,NavigationType:()=>n,Outlet:()=>Et,Route:()=>Rt,Router:()=>Dt,RouterProvider:()=>yt,Routes:()=>St,ScrollRestoration:()=>Xt,UNSAFE_DataRouterContext:()=>_e,UNSAFE_DataRouterStateContext:()=>Ne,UNSAFE_DataStaticRouterContext:()=>ke,UNSAFE_LocationContext:()=>Be,UNSAFE_NavigationContext:()=>Ie,UNSAFE_RouteContext:()=>He,UNSAFE_enhanceManualRouteObjects:()=>Ot,createBrowserRouter:()=>Kt,createHashRouter:()=>Wt,createMemoryRouter:()=>Tt,createPath:()=>f,createRoutesFromChildren:()=>Lt,createRoutesFromElements:()=>Lt,createSearchParams:()=>Ft,defer:()=>q,generatePath:()=>M,isRouteErrorResponse:()=>X,json:()=>$,matchPath:()=>O,matchRoutes:()=>w,parsePath:()=>p,redirect:()=>V,renderMatches:()=>Mt,resolvePath:()=>_,unstable_HistoryRouter:()=>zt,useActionData:()=>pt,useAsyncError:()=>gt,useAsyncValue:()=>vt,useFetcher:()=>sr,useFetchers:()=>cr,useFormAction:()=>ir,useHref:()=>We,useInRouterContext:()=>$e,useLinkClickHandler:()=>rr,useLoaderData:()=>ht,useLocation:()=>Je,useMatch:()=>Ye,useMatches:()=>dt,useNavigate:()=>qe,useNavigation:()=>ct,useNavigationType:()=>ze,useOutlet:()=>Xe,useOutletContext:()=>Ge,useParams:()=>Qe,useResolvedPath:()=>Ze,useRevalidator:()=>ut,useRouteError:()=>mt,useRouteLoaderData:()=>ft,useRoutes:()=>et,useSearchParams:()=>nr,useSubmit:()=>ar});var n,a=r(206);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(n||(n={}));const i="popstate";function l(e){void 0===e&&(e={});let t,{initialEntries:r=["/"],initialIndex:a,v5Compat:o=!1}=e;t=r.map(((e,t)=>p(e,"string"==typeof e?null:e.state,0===t?"default":void 0)));let i=c(null==a?t.length-1:a),l=n.Pop,s=null;function c(e){return Math.min(Math.max(e,0),t.length-1)}function d(){return t[i]}function p(e,r,n){void 0===r&&(r=null);let a=h(t?d().pathname:"/",e,r,n);return u("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}return{get index(){return i},get action(){return l},get location(){return d()},createHref:e=>"string"==typeof e?e:f(e),encodeLocation:e=>e,push(e,r){l=n.Push;let a=p(e,r);i+=1,t.splice(i,t.length,a),o&&s&&s({action:l,location:a})},replace(e,r){l=n.Replace;let a=p(e,r);t[i]=a,o&&s&&s({action:l,location:a})},go(e){l=n.Pop,i=c(i+e),s&&s({action:l,location:d()})},listen:e=>(s=e,()=>{s=null})}}function s(e){return void 0===e&&(e={}),v((function(e,t){let{pathname:r,search:n,hash:a}=e.location;return h("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){return"string"==typeof t?t:f(t)}),null,e)}function c(e){return void 0===e&&(e={}),v((function(e,t){let{pathname:r="/",search:n="",hash:a=""}=p(e.location.hash.substr(1));return h("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){let r=e.document.querySelector("base"),n="";if(r&&r.getAttribute("href")){let t=e.location.href,r=t.indexOf("#");n=-1===r?t:t.slice(0,r)}return n+"#"+("string"==typeof t?t:f(t))}),(function(e,t){u("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}function u(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function d(e){return{usr:e.state,key:e.key}}function h(e,t,r,n){return void 0===r&&(r=null),o({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?p(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function f(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&"?"!==r&&(t+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(t+="#"===n.charAt(0)?n:"#"+n),t}function p(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function m(e){let t="undefined"!=typeof window&&void 0!==window.location&&"null"!==window.location.origin?window.location.origin:"unknown://unknown",r="string"==typeof e?e:f(e);return new URL(r,t)}function v(e,t,r,a){void 0===a&&(a={});let{window:l=document.defaultView,v5Compat:s=!1}=a,c=l.history,u=n.Pop,p=null;function v(){u=n.Pop,p&&p({action:u,location:g.location})}let g={get action(){return u},get location(){return e(l,c)},listen(e){if(p)throw new Error("A history only accepts one active listener");return l.addEventListener(i,v),p=e,()=>{l.removeEventListener(i,v),p=null}},createHref:e=>t(l,e),encodeLocation(e){let t=m(f(e));return o({},e,{pathname:t.pathname,search:t.search,hash:t.hash})},push:function(e,t){u=n.Push;let a=h(g.location,e,t);r&&r(a,e);let o=d(a),i=g.createHref(a);try{c.pushState(o,"",i)}catch(e){l.location.assign(i)}s&&p&&p({action:u,location:g.location})},replace:function(e,t){u=n.Replace;let a=h(g.location,e,t);r&&r(a,e);let o=d(a),i=g.createHref(a);c.replaceState(o,"",i),s&&p&&p({action:u,location:g.location})},go:e=>c.go(e)};return g}var g;function y(e,t,r){return void 0===t&&(t=[]),void 0===r&&(r=new Set),e.map(((e,n)=>{let a=[...t,n],i="string"==typeof e.id?e.id:a.join("-");return j(!0!==e.index||!e.children,"Cannot specify children on an index route"),j(!r.has(i),'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),r.add(i),function(e){return!0===e.index}(e)?o({},e,{id:i}):o({},e,{id:i,children:e.children?y(e.children,a,r):void 0})}))}function w(e,t,r){void 0===r&&(r="/");let n=U(("string"==typeof t?p(t):t).pathname||"/",r);if(null==n)return null;let a=b(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){return e.length===t.length&&e.slice(0,-1).every(((e,r)=>e===t[r]))?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(a);let o=null;for(let e=0;null==o&&e<a.length;++e)o=L(a[e],T(n));return o}function b(e,t,r,n){return void 0===t&&(t=[]),void 0===r&&(r=[]),void 0===n&&(n=""),e.forEach(((e,a)=>{let o={relativePath:e.path||"",caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};o.relativePath.startsWith("/")&&(j(o.relativePath.startsWith(n),'Absolute route path "'+o.relativePath+'" nested under path "'+n+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(n.length));let i=B([n,o.relativePath]),l=r.concat(o);e.children&&e.children.length>0&&(j(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+i+'".'),b(e.children,t,l,i)),(null!=e.path||e.index)&&t.push({path:i,score:A(i,e.index),routesMeta:l})})),t}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(g||(g={}));const E=/^:\w+$/,R=3,D=2,S=1,C=10,x=-2,P=e=>"*"===e;function A(e,t){let r=e.split("/"),n=r.length;return r.some(P)&&(n+=x),t&&(n+=D),r.filter((e=>!P(e))).reduce(((e,t)=>e+(E.test(t)?R:""===t?S:C)),n)}function L(e,t){let{routesMeta:r}=e,n={},a="/",o=[];for(let e=0;e<r.length;++e){let i=r[e],l=e===r.length-1,s="/"===a?t:t.slice(a.length)||"/",c=O({path:i.relativePath,caseSensitive:i.caseSensitive,end:l},s);if(!c)return null;Object.assign(n,c.params);let u=i.route;o.push({params:n,pathname:B([a,c.pathname]),pathnameBase:H(B([a,c.pathnameBase])),route:u}),"/"!==c.pathnameBase&&(a=B([a,c.pathnameBase]))}return o}function M(e,t){return void 0===t&&(t={}),e.replace(/:(\w+)/g,((e,r)=>(j(null!=t[r],'Missing ":'+r+'" param'),t[r]))).replace(/(\/?)\*/,((e,r,n,a)=>null==t["*"]?"/*"===a?"/":"":""+r+t["*"]))}function O(e,t){"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=function(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!0),k("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let n=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/:(\w+)/g,((e,t)=>(n.push(t),"([^\\/]+)")));return e.endsWith("*")?(n.push("*"),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),n]}(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let o=a[0],i=o.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:n.reduce(((e,t,r)=>{if("*"===t){let e=l[r]||"";i=o.slice(0,o.length-e.length).replace(/(.)\/+$/,"$1")}return e[t]=function(e,t){try{return decodeURIComponent(e)}catch(r){return k(!1,'The value for the URL param "'+t+'" will not be decoded because the string "'+e+'" is a malformed URL segment. This is probably due to a bad percent encoding ('+r+")."),e}}(l[r]||"",t),e}),{}),pathname:o,pathnameBase:i,pattern:e}}function T(e){try{return decodeURI(e)}catch(t){return k(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function U(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&"/"!==n?null:e.slice(r)||"/"}function j(e,t){if(!1===e||null==e)throw new Error(t)}function k(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw new Error(t)}catch(e){}}}function _(e,t){void 0===t&&(t="/");let{pathname:r,search:n="",hash:a=""}="string"==typeof e?p(e):e,o=r?r.startsWith("/")?r:function(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?r.length>1&&r.pop():"."!==e&&r.push(e)})),r.length>1?r.join("/"):"/"}(r,t):t;return{pathname:o,search:K(n),hash:W(a)}}function N(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the `to."+r+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function F(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function I(e,t,r,n){let a;void 0===n&&(n=!1),"string"==typeof e?a=p(e):(a=o({},e),j(!a.pathname||!a.pathname.includes("?"),N("?","pathname","search",a)),j(!a.pathname||!a.pathname.includes("#"),N("#","pathname","hash",a)),j(!a.search||!a.search.includes("#"),N("#","search","hash",a)));let i,l=""===e||""===a.pathname,s=l?"/":a.pathname;if(n||null==s)i=r;else{let e=t.length-1;if(s.startsWith("..")){let t=s.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}i=e>=0?t[e]:"/"}let c=_(a,i),u=s&&"/"!==s&&s.endsWith("/"),d=(l||"."===s)&&r.endsWith("/");return c.pathname.endsWith("/")||!u&&!d||(c.pathname+="/"),c}const B=e=>e.join("/").replace(/\/\/+/g,"/"),H=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),K=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",W=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",$=function(e,t){void 0===t&&(t={});let r="number"==typeof t?{status:t}:t,n=new Headers(r.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),o({},r,{headers:n}))};class J extends Error{}class z{constructor(e){let t;this.pendingKeys=new Set,this.subscriber=void 0,j(e&&"object"==typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise(((e,r)=>t=r)),this.controller=new AbortController;let r=()=>t(new J("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",r),this.controller.signal.addEventListener("abort",r),this.data=Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})}),{})}trackPromise(e,t){if(!(t instanceof Promise))return t;this.pendingKeys.add(e);let r=Promise.race([t,this.abortPromise]).then((t=>this.onSettle(r,e,null,t)),(t=>this.onSettle(r,e,t)));return r.catch((()=>{})),Object.defineProperty(r,"_tracked",{get:()=>!0}),r}onSettle(e,t,r,n){if(this.controller.signal.aborted&&r instanceof J)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);this.pendingKeys.delete(t),this.done&&this.unlistenAbortSignal();const a=this.subscriber;return r?(Object.defineProperty(e,"_error",{get:()=>r}),a&&a(!1),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),a&&a(!1),n)}subscribe(e){this.subscriber=e}cancel(){this.controller.abort(),this.pendingKeys.forEach(((e,t)=>this.pendingKeys.delete(t)));let e=this.subscriber;e&&e(!0)}async resolveData(e){let t=!1;if(!this.done){let r=()=>this.cancel();e.addEventListener("abort",r),t=await new Promise((t=>{this.subscribe((n=>{e.removeEventListener("abort",r),(n||this.done)&&t(n)}))}))}return t}get done(){return 0===this.pendingKeys.size}get unwrappedData(){return j(null!==this.data&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce(((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:Y(n)})}),{})}}function Y(e){if(!function(e){return e instanceof Promise&&!0===e._tracked}(e))return e;if(e._error)throw e._error;return e._data}function q(e){return new z(e)}const V=function(e,t){void 0===t&&(t=302);let r=t;"number"==typeof r?r={status:r}:void 0===r.status&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,o({},r,{headers:n}))};class G{constructor(e,t,r){this.status=e,this.statusText=t||"",this.data=r}}function X(e){return e instanceof G}const Q={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},Z={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},ee=!("undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement);function te(e){j(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let t=y(e.routes),r=null,a=new Set,i=null,l=null,s=null,c=!1,u=w(t,e.history.location,e.basename),d=null;if(null==u){let{matches:e,route:r,error:n}=pe(t);u=e,d={[r.id]:n}}let f,p,m=!u.some((e=>e.route.loader))||null!=e.hydrationData,v={historyAction:e.history.action,location:e.history.location,matches:u,initialized:m,navigation:Q,restoreScrollPosition: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},g=n.Pop,b=!1,E=!1,R=!1,D=[],S=[],C=new Map,x=0,P=-1,A=new Map,L=new Set,M=new Map,O=new Map;function T(e){v=o({},v,e),a.forEach((e=>e(v)))}function U(t,r){var a;T(o({},null!=v.actionData&&null!=v.navigation.formMethod&&"loading"===v.navigation.state&&(null==(a=v.navigation.formAction)?void 0:a.split("?")[0])===t.pathname?{}:{actionData:null},r,r.loaderData?{loaderData:he(v.loaderData,r.loaderData,r.matches||[])}:{},{historyAction:g,location:t,initialized:!0,navigation:Q,revalidation:"idle",restoreScrollPosition:!v.navigation.formData&&z(t,r.matches||v.matches),preventScrollReset:b})),E||g===n.Pop||(g===n.Push?e.history.push(t,t.state):g===n.Replace&&e.history.replace(t,t.state)),g=n.Pop,b=!1,E=!1,R=!1,D=[],S=[]}async function k(r,a,c){p&&p.abort(),p=null,g=r,E=!0===(c&&c.startUninterruptedRevalidation),function(e,t){if(i&&l&&s){let r=t.map((e=>Se(e,v.loaderData))),n=l(e,r)||e.key;i[n]=s()}}(v.location,v.matches),b=!0===(c&&c.preventScrollReset);let u=c&&c.overrideNavigation,d=w(t,a,e.basename);if(!d){let{matches:e,route:r,error:n}=pe(t);return J(),void U(a,{matches:e,loaderData:{},errors:{[r.id]:n}})}if(y=a,(m=v.location).pathname===y.pathname&&m.search===y.search&&m.hash!==y.hash)return void U(a,{matches:d});var m,y;p=new AbortController;let A,k,_=ce(a,p.signal,c&&c.submission);if(c&&c.pendingError)k={[fe(d).route.id]:c.pendingError};else if(c&&c.submission){let e=await async function(e,t,r,a,i){let l;I(),T({navigation:o({state:"submitting",location:t},r)});let s=Ce(a,t);if(s.route.action){if(l=await se("action",e,s,a,f.basename),e.signal.aborted)return{shortCircuited:!0}}else l=me(t);if(be(l)){let e=o({state:"loading",location:h(v.location,l.location)},r);return await N(l,e,i&&i.replace),{shortCircuited:!0}}if(we(l)){let e=fe(a,s.route.id);return!0!==(i&&i.replace)&&(g=n.Push),{pendingActionError:{[e.route.id]:l.error}}}if(ye(l))throw new Error("defer() is not supported in actions");return{pendingActionData:{[s.route.id]:l.data}}}(_,a,c.submission,d,{replace:c.replace});if(e.shortCircuited)return;A=e.pendingActionData,k=e.pendingActionError,u=o({state:"loading",location:a},c.submission)}let{shortCircuited:B,loaderData:H,errors:K}=await async function(e,t,r,n,a,i,l,s){let c=n;c||(c={state:"loading",location:t,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0});let[u,d]=oe(v,r,a,t,R,D,S,l,s,M);if(J((e=>!(r&&r.some((t=>t.route.id===e)))||u&&u.some((t=>t.route.id===e)))),0===u.length&&0===d.length)return U(t,{matches:r,loaderData:he(v.loaderData,{},r),errors:s||null,actionData:l||null}),{shortCircuited:!0};E||(d.forEach((e=>{let[t]=e,r=v.fetchers.get(t),n={state:"loading",data:r&&r.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,n)})),T(o({navigation:c,actionData:l||v.actionData||null},d.length>0?{fetchers:new Map(v.fetchers)}:{}))),P=++x,d.forEach((e=>{let[t]=e;return C.set(t,p)}));let{results:h,loaderResults:f,fetcherResults:m}=await F(v.matches,r,u,d,e);if(e.signal.aborted)return{shortCircuited:!0};d.forEach((e=>{let[t]=e;return C.delete(t)}));let g=ve(h);if(g){let e=ae(v,g);return await N(g,e,i),{shortCircuited:!0}}let{loaderData:y,errors:w}=de(v,r,u,f,s,d,m,O);return O.forEach(((e,t)=>{e.subscribe((r=>{(r||e.done)&&O.delete(t)}))})),function(){let e=[];for(let t of L){let r=v.fetchers.get(t);j(r,"Expected fetcher: "+t),"loading"===r.state&&(L.delete(t),e.push(t))}W(e)}(),o({loaderData:y,errors:w},$(P)||d.length>0?{fetchers:new Map(v.fetchers)}:{})}(_,a,d,u,c&&c.submission,c&&c.replace,A,k);B||(p=null,U(a,{matches:d,loaderData:H,errors:K}))}function _(e){return v.fetchers.get(e)||Z}async function N(e,t,r){e.revalidate&&(R=!0),j(t.location,"Expected a location on the redirect navigation"),p=null;let a=!0===r?n.Replace:n.Push;await k(a,t.location,{overrideNavigation:t})}async function F(e,t,r,n,a){let o=await Promise.all([...r.map((e=>se("loader",a,e,t,f.basename))),...n.map((e=>{let[,t,r,n]=e;return se("loader",ce(t,a.signal),r,n,f.basename)}))]),i=o.slice(0,r.length),l=o.slice(r.length);return await Promise.all([Ee(e,r,i,a.signal,!1,v.loaderData),Ee(e,n.map((e=>{let[,,t]=e;return t})),l,a.signal,!0)]),{results:o,loaderResults:i,fetcherResults:l}}function I(){R=!0,D.push(...J()),M.forEach(((e,t)=>{C.has(t)&&(S.push(t),K(t))}))}function B(e,t,r){let n=fe(v.matches,t);H(e),T({errors:{[n.route.id]:r},fetchers:new Map(v.fetchers)})}function H(e){C.has(e)&&K(e),M.delete(e),A.delete(e),L.delete(e),v.fetchers.delete(e)}function K(e){let t=C.get(e);j(t,"Expected fetch controller: "+e),t.abort(),C.delete(e)}function W(e){for(let t of e){let e={state:"idle",data:_(t).data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,e)}}function $(e){let t=[];for(let[r,n]of A)if(n<e){let e=v.fetchers.get(r);j(e,"Expected fetcher: "+r),"loading"===e.state&&(K(r),A.delete(r),t.push(r))}return W(t),t.length>0}function J(e){let t=[];return O.forEach(((r,n)=>{e&&!e(n)||(r.cancel(),t.push(n),O.delete(n))})),t}function z(e,t){if(i&&l&&s){let r=t.map((e=>Se(e,v.loaderData))),n=l(e,r)||e.key,a=i[n];if("number"==typeof a)return a}return null}return f={get basename(){return e.basename},get state(){return v},get routes(){return t},initialize:function(){return r=e.history.listen((e=>{let{action:t,location:r}=e;return k(t,r)})),v.initialized||k(n.Pop,v.location),f},subscribe:function(e){return a.add(e),()=>a.delete(e)},enableScrollRestoration:function(e,t,r){if(i=e,s=t,l=r||(e=>e.key),!c&&v.navigation===Q){c=!0;let e=z(v.location,v.matches);null!=e&&T({restoreScrollPosition:e})}return()=>{i=null,s=null,l=null}},navigate:async function(t,r){if("number"==typeof t)return void e.history.go(t);let{path:a,submission:o,error:i}=ne(t,r),l=h(v.location,a,r&&r.state);l=e.history.encodeLocation(l);let s=!0===(r&&r.replace)||null!=o?n.Replace:n.Push,c=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0;return await k(s,l,{submission:o,pendingError:i,preventScrollReset:c,replace:r&&r.replace})},fetch:function(r,n,a,i){if(ee)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");C.has(r)&&K(r);let l=w(t,a,e.basename);if(!l)return void B(r,n,new G(404,"Not Found",null));let{path:s,submission:c}=ne(a,i,!0),u=Ce(l,s);c?async function(r,n,a,i,l,s){if(I(),M.delete(r),!i.route.action){let{error:e}=me(a);return void B(r,n,e)}let c=v.fetchers.get(r),u=o({state:"submitting"},s,{data:c&&c.data});v.fetchers.set(r,u),T({fetchers:new Map(v.fetchers)});let d=new AbortController,m=ce(a,d.signal,s);C.set(r,d);let y=await se("action",m,i,l,f.basename);if(m.signal.aborted)return void(C.get(r)===d&&C.delete(r));if(be(y)){C.delete(r),L.add(r);let e=o({state:"loading"},s,{data:void 0});v.fetchers.set(r,e),T({fetchers:new Map(v.fetchers)});let t=o({state:"loading",location:h(v.location,y.location)},s);return void await N(y,t)}if(we(y))return void B(r,n,y.error);ye(y)&&j(!1,"defer() is not supported in actions");let b=v.navigation.location||v.location,E=ce(b,d.signal),k="idle"!==v.navigation.state?w(t,v.navigation.location,e.basename):v.matches;j(k,"Didn't find any matches after fetcher action");let _=++x;A.set(r,_);let H=o({state:"loading",data:y.data},s);v.fetchers.set(r,H);let[K,W]=oe(v,k,s,b,R,D,S,{[i.route.id]:y.data},void 0,M);W.filter((e=>{let[t]=e;return t!==r})).forEach((e=>{let[t]=e,r=v.fetchers.get(t),n={state:"loading",data:r&&r.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(t,n),C.set(t,d)})),T({fetchers:new Map(v.fetchers)});let{results:J,loaderResults:z,fetcherResults:Y}=await F(v.matches,k,K,W,E);if(d.signal.aborted)return;A.delete(r),C.delete(r),W.forEach((e=>{let[t]=e;return C.delete(t)}));let q=ve(J);if(q){let e=ae(v,q);return void await N(q,e)}let{loaderData:V,errors:G}=de(v,v.matches,K,z,void 0,W,Y,O),X={state:"idle",data:y.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(r,X);let Q=$(_);"loading"===v.navigation.state&&_>P?(j(g,"Expected pending action"),p&&p.abort(),U(v.navigation.location,{matches:k,loaderData:V,errors:G,fetchers:new Map(v.fetchers)})):(T(o({errors:G,loaderData:he(v.loaderData,V,k)},Q?{fetchers:new Map(v.fetchers)}:{})),R=!1)}(r,n,s,u,l,c):(M.set(r,[s,u,l]),async function(e,t,r,n,a){let o=v.fetchers.get(e),i={state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,data:o&&o.data};v.fetchers.set(e,i),T({fetchers:new Map(v.fetchers)});let l=new AbortController,s=ce(r,l.signal);C.set(e,l);let c=await se("loader",s,n,a,f.basename);if(ye(c)&&(c=await Re(c,s.signal,!0)||c),C.get(e)===l&&C.delete(e),s.signal.aborted)return;if(be(c)){let e=ae(v,c);return void await N(c,e)}if(we(c)){let r=fe(v.matches,t);return v.fetchers.delete(e),void T({fetchers:new Map(v.fetchers),errors:{[r.route.id]:c.error}})}j(!ye(c),"Unhandled fetcher deferred data");let u={state:"idle",data:c.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};v.fetchers.set(e,u),T({fetchers:new Map(v.fetchers)})}(r,n,s,u,l))},revalidate:function(){I(),T({revalidation:"loading"}),"submitting"!==v.navigation.state&&("idle"!==v.navigation.state?k(g||v.historyAction,v.navigation.location,{overrideNavigation:v.navigation}):k(v.historyAction,v.location,{startUninterruptedRevalidation:!0}))},createHref:t=>e.history.createHref(t),getFetcher:_,deleteFetcher:H,dispose:function(){r&&r(),a.clear(),p&&p.abort(),v.fetchers.forEach(((e,t)=>H(t)))},_internalFetchControllers:C,_internalActiveDeferreds:O},f}const re=new Set(["POST","PUT","PATCH","DELETE"]);function ne(e,t,r){void 0===r&&(r=!1);let n="string"==typeof e?e:f(e);if(!t||!("formMethod"in t)&&!("formData"in t))return{path:n};if(null!=t.formMethod&&"get"!==t.formMethod)return{path:n,submission:{formMethod:t.formMethod,formAction:ge(n),formEncType:t&&t.formEncType||"application/x-www-form-urlencoded",formData:t.formData}};if(!t.formData)return{path:n};let a=p(n);try{let e=ue(t.formData);r&&a.search&&De(a.search)&&e.append("index",""),a.search="?"+e}catch(e){return{path:n,error:new G(400,"Bad Request","Cannot submit binary form data using GET")}}return{path:f(a)}}function ae(e,t){let{formMethod:r,formAction:n,formEncType:a,formData:o}=e.navigation;return{state:"loading",location:h(e.location,t.location),formMethod:r||void 0,formAction:n||void 0,formEncType:a||void 0,formData:o||void 0}}function oe(e,t,r,n,a,o,i,l,s,c){let u=s?Object.values(s)[0]:l?Object.values(l)[0]:null,d=function(e,t){let r=e;if(t){let n=e.findIndex((e=>e.route.id===t));n>=0&&(r=e.slice(0,n))}return r}(t,s?Object.keys(s)[0]:void 0).filter(((t,i)=>null!=t.route.loader&&(function(e,t,r){let n=!t||r.route.id!==t.route.id,a=void 0===e[r.route.id];return n||a}(e.loaderData,e.matches[i],t)||o.some((e=>e===t.route.id))||le(e.location,e.matches[i],r,n,t,a,u)))),h=[];return c&&c.forEach(((e,t)=>{let[n,o,l]=e;(i.includes(t)||a&&le(n,o,r,n,o,a,u))&&h.push([t,n,o,l])})),[d,h]}function ie(e,t){let r=e.route.path;return e.pathname!==t.pathname||r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function le(e,t,r,n,a,i,l){let s=m(e),c=t.params,u=m(n),d=a.params,h=ie(t,a)||s.toString()===u.toString()||s.search!==u.search||i;if(a.route.shouldRevalidate){let e=a.route.shouldRevalidate(o({currentUrl:s,currentParams:c,nextUrl:u,nextParams:d},r,{actionResult:l,defaultShouldRevalidate:h}));if("boolean"==typeof e)return e}return h}async function se(e,t,r,n,a,o,i){let l,s,c;void 0===o&&(o=!1),void 0===i&&(i=!1);let u=new Promise(((e,t)=>c=t)),d=()=>c();t.signal.addEventListener("abort",d);try{let n=r.route[e];j(n,"Could not find the "+e+' to run on the "'+r.route.id+'" route'),s=await Promise.race([n({request:t,params:r.params}),u])}catch(e){l=g.error,s=e}finally{t.signal.removeEventListener("abort",d)}if(s instanceof Response){let e,c=s.status;if(c>=300&&c<=399){let e=s.headers.get("Location");j(e,"Redirects returned/thrown from loaders/actions must have a Location header");let i=I(e,F(n.slice(0,n.indexOf(r)+1)).map((e=>e.pathnameBase)),m(t.url).pathname);if(j(f(i),"Unable to resolve redirect location: "+s.headers.get("Location")),a){let e=i.pathname;i.pathname="/"===e?a:B([a,e])}if(e=f(i),o)throw s.headers.set("Location",e),s;return{type:g.redirect,status:c,location:e,revalidate:null!==s.headers.get("X-Remix-Revalidate")}}if(i)throw{type:l||g.data,response:s};let u=s.headers.get("Content-Type");return e=u&&u.startsWith("application/json")?await s.json():await s.text(),l===g.error?{type:l,error:new G(c,s.statusText,e),headers:s.headers}:{type:g.data,data:e,statusCode:s.status,headers:s.headers}}return l===g.error?{type:l,error:s}:s instanceof z?{type:g.deferred,deferredData:s}:{type:g.data,data:s}}function ce(e,t,r){let n=m(ge(e)).toString(),a={signal:t};if(r){let{formMethod:e,formEncType:t,formData:n}=r;a.method=e.toUpperCase(),a.body="application/x-www-form-urlencoded"===t?ue(n):n}return new Request(n,a)}function ue(e){let t=new URLSearchParams;for(let[r,n]of e.entries())j("string"==typeof n,'File inputs are not supported with encType "application/x-www-form-urlencoded", please use "multipart/form-data" instead.'),t.append(r,n);return t}function de(e,t,r,n,a,i,l,s){let{loaderData:c,errors:u}=function(e,t,r,n,a){let o,i={},l=null,s=!1,c={};return r.forEach(((r,u)=>{let d=t[u].route.id;if(j(!be(r),"Cannot handle redirect results in processLoaderData"),we(r)){let t=fe(e,d),a=r.error;n&&(a=Object.values(n)[0],n=void 0),l=Object.assign(l||{},{[t.route.id]:a}),s||(s=!0,o=X(r.error)?r.error.status:500),r.headers&&(c[d]=r.headers)}else ye(r)?(a&&a.set(d,r.deferredData),i[d]=r.deferredData.data):(i[d]=r.data,null==r.statusCode||200===r.statusCode||s||(o=r.statusCode),r.headers&&(c[d]=r.headers))})),n&&(l=n),{loaderData:i,errors:l,statusCode:o||200,loaderHeaders:c}}(t,r,n,a,s);for(let t=0;t<i.length;t++){let[r,,n]=i[t];j(void 0!==l&&void 0!==l[t],"Did not find corresponding fetcher result");let a=l[t];if(we(a)){let t=fe(e.matches,n.route.id);u&&u[t.route.id]||(u=o({},u,{[t.route.id]:a.error})),e.fetchers.delete(r)}else{if(be(a))throw new Error("Unhandled fetcher revalidation redirect");if(ye(a))throw new Error("Unhandled fetcher deferred data");{let t={state:"idle",data:a.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0};e.fetchers.set(r,t)}}}return{loaderData:c,errors:u}}function he(e,t,r){let n=o({},t);return r.forEach((r=>{let a=r.route.id;void 0===t[a]&&void 0!==e[a]&&(n[a]=e[a])})),n}function fe(e,t){return(t?e.slice(0,e.findIndex((e=>e.route.id===t))+1):[...e]).reverse().find((e=>!0===e.route.hasErrorBoundary))||e[0]}function pe(e){return function(e,t,r){let n=e.find((e=>e.index||!e.path||"/"===e.path))||{id:"__shim-"+t+"-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:n}],route:n,error:new G(t,r,null)}}(e,404,"Not Found")}function me(e){let t="string"==typeof e?e:f(e);return console.warn("You're trying to submit to a route that does not have an action. To fix this, please add an `action` function to the route for ["+t+"]"),{type:g.error,error:new G(405,"Method Not Allowed","")}}function ve(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(be(r))return r}}function ge(e){return f(o({},"string"==typeof e?p(e):e,{hash:""}))}function ye(e){return e.type===g.deferred}function we(e){return e.type===g.error}function be(e){return(e&&e.type)===g.redirect}async function Ee(e,t,r,n,a,o){for(let i=0;i<r.length;i++){let l=r[i],s=t[i],c=e.find((e=>e.route.id===s.route.id)),u=null!=c&&!ie(c,s)&&void 0!==(o&&o[s.route.id]);ye(l)&&(a||u)&&await Re(l,n,a).then((e=>{e&&(r[i]=e||r[i])}))}}async function Re(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:g.data,data:e.deferredData.unwrappedData}}catch(e){return{type:g.error,error:e}}return{type:g.data,data:e.deferredData.data}}}function De(e){return new URLSearchParams(e).getAll("index").some((e=>""===e))}function Se(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}function Ce(e,t){let r="string"==typeof t?p(t).search:t.search;if(e[e.length-1].route.index&&De(r||""))return e[e.length-1];let n=F(e);return n[n.length-1]}function xe(){return xe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},xe.apply(this,arguments)}new Set(["GET","HEAD",...re]);const Pe="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},{useState:Ae,useEffect:Le,useLayoutEffect:Me,useDebugValue:Oe}=a;function Te(e){const t=e.getSnapshot,r=e.value;try{const e=t();return!Pe(r,e)}catch(e){return!0}}const Ue="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t,r){return t()}:function(e,t,r){const n=t(),[{inst:a},o]=Ae({inst:{value:n,getSnapshot:t}});return Me((()=>{a.value=n,a.getSnapshot=t,Te(a)&&o({inst:a})}),[e,n,t]),Le((()=>(Te(a)&&o({inst:a}),e((()=>{Te(a)&&o({inst:a})})))),[e]),Oe(n),n},je="useSyncExternalStore"in a?a.useSyncExternalStore:Ue,ke=a.createContext(null),_e=a.createContext(null),Ne=a.createContext(null),Fe=a.createContext(null),Ie=a.createContext(null),Be=a.createContext(null),He=a.createContext({outlet:null,matches:[]}),Ke=a.createContext(null);function We(e,t){let{relative:r}=void 0===t?{}:t;$e()||j(!1);let{basename:n,navigator:o}=a.useContext(Ie),{hash:i,pathname:l,search:s}=Ze(e,{relative:r}),c=l;return"/"!==n&&(c="/"===l?n:B([n,l])),o.createHref({pathname:c,search:s,hash:i})}function $e(){return null!=a.useContext(Be)}function Je(){return $e()||j(!1),a.useContext(Be).location}function ze(){return a.useContext(Be).navigationType}function Ye(e){$e()||j(!1);let{pathname:t}=Je();return a.useMemo((()=>O(e,t)),[t,e])}function qe(){$e()||j(!1);let{basename:e,navigator:t}=a.useContext(Ie),{matches:r}=a.useContext(He),{pathname:n}=Je(),o=JSON.stringify(F(r).map((e=>e.pathnameBase))),i=a.useRef(!1);return a.useEffect((()=>{i.current=!0})),a.useCallback((function(r,a){if(void 0===a&&(a={}),!i.current)return;if("number"==typeof r)return void t.go(r);let l=I(r,JSON.parse(o),n,"path"===a.relative);"/"!==e&&(l.pathname="/"===l.pathname?e:B([e,l.pathname])),(a.replace?t.replace:t.push)(l,a.state,a)}),[e,t,o,n])}const Ve=a.createContext(null);function Ge(){return a.useContext(Ve)}function Xe(e){let t=a.useContext(He).outlet;return t?a.createElement(Ve.Provider,{value:e},t):t}function Qe(){let{matches:e}=a.useContext(He),t=e[e.length-1];return t?t.params:{}}function Ze(e,t){let{relative:r}=void 0===t?{}:t,{matches:n}=a.useContext(He),{pathname:o}=Je(),i=JSON.stringify(F(n).map((e=>e.pathnameBase)));return a.useMemo((()=>I(e,JSON.parse(i),o,"path"===r)),[e,i,o,r])}function et(e,t){$e()||j(!1);let r=a.useContext(Ne),{matches:o}=a.useContext(He),i=o[o.length-1],l=i?i.params:{},s=(i&&i.pathname,i?i.pathnameBase:"/");i&&i.route;let c,u=Je();if(t){var d;let e="string"==typeof t?p(t):t;"/"===s||(null==(d=e.pathname)?void 0:d.startsWith(s))||j(!1),c=e}else c=u;let h=c.pathname||"/",f=w(e,{pathname:"/"===s?h:h.slice(s.length)||"/"}),m=at(f&&f.map((e=>Object.assign({},e,{params:Object.assign({},l,e.params),pathname:B([s,e.pathname]),pathnameBase:"/"===e.pathnameBase?s:B([s,e.pathnameBase])}))),o,r||void 0);return t&&m?a.createElement(Be.Provider,{value:{location:xe({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:n.Pop}},m):m}function tt(){let e=mt(),t=X(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:n},i={padding:"2px 4px",backgroundColor:n};return a.createElement(a.Fragment,null,a.createElement("h2",null,"Unhandled Thrown Error!"),a.createElement("h3",{style:{fontStyle:"italic"}},t),r?a.createElement("pre",{style:o},r):null,a.createElement("p",null,"💿 Hey developer 👋"),a.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",a.createElement("code",{style:i},"errorElement")," props on ",a.createElement("code",{style:i},"<Route>")))}class rt extends a.Component{constructor(e){super(e),this.state={location:e.location,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return this.state.error?a.createElement(Ke.Provider,{value:this.state.error,children:this.props.component}):this.props.children}}function nt(e){let{routeContext:t,match:r,children:n}=e,o=a.useContext(ke);return o&&r.route.errorElement&&(o._deepestRenderedBoundaryId=r.route.id),a.createElement(He.Provider,{value:t},n)}function at(e,t,r){if(void 0===t&&(t=[]),null==e){if(null==r||!r.errors)return null;e=r.matches}let n=e,o=null==r?void 0:r.errors;if(null!=o){let e=n.findIndex((e=>e.route.id&&(null==o?void 0:o[e.route.id])));e>=0||j(!1),n=n.slice(0,Math.min(n.length,e+1))}return n.reduceRight(((e,i,l)=>{let s=i.route.id?null==o?void 0:o[i.route.id]:null,c=r?i.route.errorElement||a.createElement(tt,null):null,u=()=>a.createElement(nt,{match:i,routeContext:{outlet:e,matches:t.concat(n.slice(0,l+1))}},s?c:void 0!==i.route.element?i.route.element:e);return r&&(i.route.errorElement||0===l)?a.createElement(rt,{location:r.location,component:c,error:s,children:u()}):u()}),null)}var ot,it,lt;function st(e){let t=a.useContext(Ne);return t||j(!1),t}function ct(){return st(it.UseNavigation).navigation}function ut(){let e=function(e){let t=a.useContext(_e);return t||j(!1),t}(ot.UseRevalidator),t=st(it.UseRevalidator);return{revalidate:e.router.revalidate,state:t.revalidation}}function dt(){let{matches:e,loaderData:t}=st(it.UseMatches);return a.useMemo((()=>e.map((e=>{let{pathname:r,params:n}=e;return{id:e.route.id,pathname:r,params:n,data:t[e.route.id],handle:e.route.handle}}))),[e,t])}function ht(){let e=st(it.UseLoaderData),t=a.useContext(He);t||j(!1);let r=t.matches[t.matches.length-1];return r.route.id||j(!1),e.loaderData[r.route.id]}function ft(e){return st(it.UseRouteLoaderData).loaderData[e]}function pt(){let e=st(it.UseActionData);return a.useContext(He)||j(!1),Object.values((null==e?void 0:e.actionData)||{})[0]}function mt(){var e;let t=a.useContext(Ke),r=st(it.UseRouteError),n=a.useContext(He),o=n.matches[n.matches.length-1];return t||(n||j(!1),o.route.id||j(!1),null==(e=r.errors)?void 0:e[o.route.id])}function vt(){let e=a.useContext(Fe);return null==e?void 0:e._data}function gt(){let e=a.useContext(Fe);return null==e?void 0:e._error}function yt(e){let{fallbackElement:t,router:r}=e,n=je(r.subscribe,(()=>r.state),(()=>r.state)),o=a.useMemo((()=>({createHref:r.createHref,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})})),[r]),i=r.basename||"/";return a.createElement(_e.Provider,{value:{router:r,navigator:o,static:!1,basename:i}},a.createElement(Ne.Provider,{value:n},a.createElement(Dt,{basename:r.basename,location:r.state.location,navigationType:r.state.historyAction,navigator:o},r.state.initialized?a.createElement(St,null):t)))}function wt(e){let{basename:t,children:r,initialEntries:n,initialIndex:o}=e,i=a.useRef();null==i.current&&(i.current=l({initialEntries:n,initialIndex:o,v5Compat:!0}));let s=i.current,[c,u]=a.useState({action:s.action,location:s.location});return a.useLayoutEffect((()=>s.listen(u)),[s]),a.createElement(Dt,{basename:t,children:r,location:c.location,navigationType:c.action,navigator:s})}function bt(e){let{to:t,replace:r,state:n,relative:o}=e;$e()||j(!1);let i=a.useContext(Ne),l=qe();return a.useEffect((()=>{i&&"idle"!==i.navigation.state||l(t,{replace:r,state:n,relative:o})})),null}function Et(e){return Xe(e.context)}function Rt(e){j(!1)}function Dt(e){let{basename:t="/",children:r=null,location:o,navigationType:i=n.Pop,navigator:l,static:s=!1}=e;$e()&&j(!1);let c=t.replace(/^\/*/,"/"),u=a.useMemo((()=>({basename:c,navigator:l,static:s})),[c,l,s]);"string"==typeof o&&(o=p(o));let{pathname:d="/",search:h="",hash:f="",state:m=null,key:v="default"}=o,g=a.useMemo((()=>{let e=U(d,c);return null==e?null:{pathname:e,search:h,hash:f,state:m,key:v}}),[c,d,h,f,m,v]);return null==g?null:a.createElement(Ie.Provider,{value:u},a.createElement(Be.Provider,{children:r,value:{location:g,navigationType:i}}))}function St(e){let{children:t,location:r}=e,n=a.useContext(_e);return et(n&&!t?n.router.routes:Lt(t),r)}function Ct(e){let{children:t,errorElement:r,resolve:n}=e;return a.createElement(Pt,{resolve:n,errorElement:r},a.createElement(At,null,t))}!function(e){e.UseRevalidator="useRevalidator"}(ot||(ot={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(it||(it={})),function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(lt||(lt={}));const xt=new Promise((()=>{}));class Pt extends a.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,n=null,o=lt.pending;if(r instanceof Promise)if(this.state.error){o=lt.error;let e=this.state.error;n=Promise.reject().catch((()=>{})),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?(n=r,o=void 0!==n._error?lt.error:void 0!==n._data?lt.success:lt.pending):(o=lt.pending,Object.defineProperty(r,"_tracked",{get:()=>!0}),n=r.then((e=>Object.defineProperty(r,"_data",{get:()=>e})),(e=>Object.defineProperty(r,"_error",{get:()=>e}))));else o=lt.success,n=Promise.resolve(),Object.defineProperty(n,"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(o===lt.error&&n._error instanceof J)throw xt;if(o===lt.error&&!t)throw n._error;if(o===lt.error)return a.createElement(Fe.Provider,{value:n,children:t});if(o===lt.success)return a.createElement(Fe.Provider,{value:n,children:e});throw n}}function At(e){let{children:t}=e,r=vt();return"function"==typeof t?t(r):a.createElement(a.Fragment,null,t)}function Lt(e,t){void 0===t&&(t=[]);let r=[];return a.Children.forEach(e,((e,n)=>{if(!a.isValidElement(e))return;if(e.type===a.Fragment)return void r.push.apply(r,Lt(e.props.children,t));e.type!==Rt&&j(!1),e.props.index&&e.props.children&&j(!1);let o=[...t,n],i={id:e.props.id||o.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(i.children=Lt(e.props.children,o)),r.push(i)})),r}function Mt(e){return at(e)}function Ot(e){return e.map((e=>{let t=xe({},e);return null==t.hasErrorBoundary&&(t.hasErrorBoundary=null!=t.errorElement),t.children&&(t.children=Ot(t.children)),t}))}function Tt(e,t){return te({basename:null==t?void 0:t.basename,history:l({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:Ot(e)}).initialize()}function Ut(){return Ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Ut.apply(this,arguments)}function jt(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}const kt="get",_t="application/x-www-form-urlencoded";function Nt(e){return null!=e&&"string"==typeof e.tagName}function Ft(e){return void 0===e&&(e=""),new URLSearchParams("string"==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map((e=>[r,e])):[[r,n]])}),[]))}const It=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],Bt=["aria-current","caseSensitive","className","end","style","to","children"],Ht=["reloadDocument","replace","method","action","onSubmit","fetcherKey","routeId","relative"];function Kt(e,t){var r;return te({basename:null==t?void 0:t.basename,history:s({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||(null==(r=window)?void 0:r.__staticRouterHydrationData),routes:Ot(e)}).initialize()}function Wt(e,t){var r;return te({basename:null==t?void 0:t.basename,history:c({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||(null==(r=window)?void 0:r.__staticRouterHydrationData),routes:Ot(e)}).initialize()}function $t(e){let{basename:t,children:r,window:n}=e,o=a.useRef();null==o.current&&(o.current=s({window:n,v5Compat:!0}));let i=o.current,[l,c]=a.useState({action:i.action,location:i.location});return a.useLayoutEffect((()=>i.listen(c)),[i]),a.createElement(Dt,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i})}function Jt(e){let{basename:t,children:r,window:n}=e,o=a.useRef();null==o.current&&(o.current=c({window:n,v5Compat:!0}));let i=o.current,[l,s]=a.useState({action:i.action,location:i.location});return a.useLayoutEffect((()=>i.listen(s)),[i]),a.createElement(Dt,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i})}function zt(e){let{basename:t,children:r,history:n}=e;const[o,i]=a.useState({action:n.action,location:n.location});return a.useLayoutEffect((()=>n.listen(i)),[n]),a.createElement(Dt,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:n})}const Yt=a.forwardRef((function(e,t){let{onClick:r,relative:n,reloadDocument:o,replace:i,state:l,target:s,to:c,preventScrollReset:u}=e,d=jt(e,It),h=We(c,{relative:n}),f=rr(c,{replace:i,state:l,target:s,preventScrollReset:u,relative:n});return a.createElement("a",Ut({},d,{href:h,onClick:o?r:function(e){r&&r(e),e.defaultPrevented||f(e)},ref:t,target:s}))})),qt=a.forwardRef((function(e,t){let{"aria-current":r="page",caseSensitive:n=!1,className:o="",end:i=!1,style:l,to:s,children:c}=e,u=jt(e,Bt),d=Ze(s,{relative:u.relative}),h=Je(),f=a.useContext(Ne),p=d.pathname,m=h.pathname,v=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;n||(m=m.toLowerCase(),v=v?v.toLowerCase():null,p=p.toLowerCase());let g,y=m===p||!i&&m.startsWith(p)&&"/"===m.charAt(p.length),w=null!=v&&(v===p||!i&&v.startsWith(p)&&"/"===v.charAt(p.length)),b=y?r:void 0;g="function"==typeof o?o({isActive:y,isPending:w}):[o,y?"active":null,w?"pending":null].filter(Boolean).join(" ");let E="function"==typeof l?l({isActive:y,isPending:w}):l;return a.createElement(Yt,Ut({},u,{"aria-current":b,className:g,ref:t,style:E,to:s}),"function"==typeof c?c({isActive:y,isPending:w}):c)})),Vt=a.forwardRef(((e,t)=>a.createElement(Gt,Ut({},e,{ref:t})))),Gt=a.forwardRef(((e,t)=>{let{reloadDocument:r,replace:n,method:o=kt,action:i,onSubmit:l,fetcherKey:s,routeId:c,relative:u}=e,d=jt(e,Ht),h=or(s,c),f="get"===o.toLowerCase()?"get":"post",p=ir(i,{relative:u});return a.createElement("form",Ut({ref:t,method:f,action:p,onSubmit:r?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter;h(t||e.currentTarget,{method:o,replace:n,relative:u})}},d))}));function Xt(e){let{getKey:t,storageKey:r}=e;return function(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=er(Qt.UseScrollRestoration),{restoreScrollPosition:o,preventScrollReset:i}=tr(Zt.UseScrollRestoration),l=Je(),s=dt(),c=ct();var u;a.useEffect((()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"})),[]),u=a.useCallback((()=>{if("idle"===c.state){let e=(t?t(l,s):null)||l.key;dr[e]=window.scrollY}sessionStorage.setItem(r||ur,JSON.stringify(dr)),window.history.scrollRestoration="auto"}),[r,t,c.state,l,s]),a.useEffect((()=>(window.addEventListener("beforeunload",u),()=>{window.removeEventListener("beforeunload",u)})),[u]),a.useLayoutEffect((()=>{try{let e=sessionStorage.getItem(r||ur);e&&(dr=JSON.parse(e))}catch(e){}}),[r]),a.useLayoutEffect((()=>{let e=null==n?void 0:n.enableScrollRestoration(dr,(()=>window.scrollY),t);return()=>e&&e()}),[n,t]),a.useLayoutEffect((()=>{if(!1!==o)if("number"!=typeof o){if(l.hash){let e=document.getElementById(l.hash.slice(1));if(e)return void e.scrollIntoView()}!0!==i&&window.scrollTo(0,0)}else window.scrollTo(0,o)}),[l,o,i])}({getKey:t,storageKey:r}),null}var Qt,Zt;function er(e){let t=a.useContext(_e);return t||j(!1),t}function tr(e){let t=a.useContext(Ne);return t||j(!1),t}function rr(e,t){let{target:r,replace:n,state:o,preventScrollReset:i,relative:l}=void 0===t?{}:t,s=qe(),c=Je(),u=Ze(e,{relative:l});return a.useCallback((t=>{if(function(e,t){return!(0!==e.button||t&&"_self"!==t||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e))}(t,r)){t.preventDefault();let r=void 0!==n?n:f(c)===f(u);s(e,{replace:r,state:o,preventScrollReset:i,relative:l})}}),[c,s,u,n,o,r,e,i,l])}function nr(e){let t=a.useRef(Ft(e)),r=Je(),n=a.useMemo((()=>function(e,t){let r=Ft(e);for(let e of t.keys())r.has(e)||t.getAll(e).forEach((t=>{r.append(e,t)}));return r}(r.search,t.current)),[r.search]),o=qe(),i=a.useCallback(((e,t)=>{const r=Ft("function"==typeof e?e(n):e);o("?"+r,t)}),[o,n]);return[n,i]}function ar(){return or()}function or(e,t){let{router:r}=er(Qt.UseSubmitImpl),n=ir();return a.useCallback((function(a,o){if(void 0===o&&(o={}),"undefined"==typeof document)throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");let{method:i,encType:l,formData:s,url:c}=function(e,t,r){let n,a,o,i;if(Nt(l=e)&&"form"===l.tagName.toLowerCase()){let l=r.submissionTrigger;n=r.method||e.getAttribute("method")||kt,a=r.action||e.getAttribute("action")||t,o=r.encType||e.getAttribute("enctype")||_t,i=new FormData(e),l&&l.name&&i.append(l.name,l.value)}else if(function(e){return Nt(e)&&"button"===e.tagName.toLowerCase()}(e)||function(e){return Nt(e)&&"input"===e.tagName.toLowerCase()}(e)&&("submit"===e.type||"image"===e.type)){let l=e.form;if(null==l)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');n=r.method||e.getAttribute("formmethod")||l.getAttribute("method")||kt,a=r.action||e.getAttribute("formaction")||l.getAttribute("action")||t,o=r.encType||e.getAttribute("formenctype")||l.getAttribute("enctype")||_t,i=new FormData(l),e.name&&i.append(e.name,e.value)}else{if(Nt(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');if(n=r.method||kt,a=r.action||t,o=r.encType||_t,e instanceof FormData)i=e;else if(i=new FormData,e instanceof URLSearchParams)for(let[t,r]of e)i.append(t,r);else if(null!=e)for(let t of Object.keys(e))i.append(t,e[t])}var l;let{protocol:s,host:c}=window.location;return{url:new URL(a,s+"//"+c),method:n,encType:o,formData:i}}(a,n,o),u=c.pathname+c.search,d={replace:o.replace,formData:s,formMethod:i,formEncType:l};e?(null==t&&j(!1),r.fetch(e,t,u,d)):r.navigate(u,d)}),[n,r,e,t])}function ir(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=a.useContext(Ie),o=a.useContext(He);o||j(!1);let[i]=o.matches.slice(-1),l=Ut({},Ze(null!=e?e:".",{relative:r})),s=Je();if(null==e&&(l.search=s.search,l.hash=s.hash,i.route.index)){let e=new URLSearchParams(l.search);e.delete("index"),l.search=e.toString()?"?"+e.toString():""}return e&&"."!==e||!i.route.index||(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(l.pathname="/"===l.pathname?n:B([n,l.pathname])),f(l)}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(Qt||(Qt={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Zt||(Zt={}));let lr=0;function sr(){var e;let{router:t}=er(Qt.UseFetcher),r=a.useContext(He);r||j(!1);let n=null==(e=r.matches[r.matches.length-1])?void 0:e.route.id;null==n&&j(!1);let[o]=a.useState((()=>String(++lr))),[i]=a.useState((()=>(n||j(!1),function(e,t){return a.forwardRef(((r,n)=>a.createElement(Gt,Ut({},r,{ref:n,fetcherKey:e,routeId:t}))))}(o,n)))),[l]=a.useState((()=>e=>{t||j(!1),n||j(!1),t.fetch(o,n,e)})),s=or(o,n),c=t.getFetcher(o),u=a.useMemo((()=>Ut({Form:i,submit:s,load:l},c)),[c,i,s,l]);return a.useEffect((()=>()=>{t?t.deleteFetcher(o):console.warn("No fetcher available to clean up from useFetcher()")}),[t,o]),u}function cr(){return[...tr(Zt.UseFetchers).fetchers.values()]}const ur="react-router-scroll-positions";let dr={}}}]);