@perses-dev/trace-table-plugin 0.6.0
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/LICENSE +201 -0
- package/README.md +41 -0
- package/__mf/css/async/341.3d4493d2.css +1 -0
- package/__mf/css/async/759.3d4493d2.css +1 -0
- package/__mf/font/lato-all-300-normal.322bdf14.woff +0 -0
- package/__mf/font/lato-all-400-normal.63513b00.woff +0 -0
- package/__mf/font/lato-all-700-normal.bb27db94.woff +0 -0
- package/__mf/font/lato-all-900-normal.a27049a3.woff +0 -0
- package/__mf/font/lato-latin-300-normal.c5195215.woff2 +0 -0
- package/__mf/font/lato-latin-400-normal.b7ffde23.woff2 +0 -0
- package/__mf/font/lato-latin-700-normal.d5eb20bc.woff2 +0 -0
- package/__mf/font/lato-latin-900-normal.d884a71c.woff2 +0 -0
- package/__mf/font/lato-latin-ext-300-normal.abcc64a9.woff2 +0 -0
- package/__mf/font/lato-latin-ext-400-normal.6ebed106.woff2 +0 -0
- package/__mf/font/lato-latin-ext-700-normal.8697d1d5.woff2 +0 -0
- package/__mf/font/lato-latin-ext-900-normal.20a2b415.woff2 +0 -0
- package/__mf/js/152.cad35107.js +5 -0
- package/__mf/js/TraceTable.80656031.js +5 -0
- package/__mf/js/async/129.6a1a1c7d.js +147 -0
- package/__mf/js/async/129.6a1a1c7d.js.LICENSE.txt +27 -0
- package/__mf/js/async/156.525f3a44.js +1 -0
- package/__mf/js/async/173.f0db00ba.js +2 -0
- package/__mf/js/async/173.f0db00ba.js.LICENSE.txt +19 -0
- package/__mf/js/async/377.d6e7ba1a.js +2 -0
- package/__mf/js/async/377.d6e7ba1a.js.LICENSE.txt +32 -0
- package/__mf/js/async/559.b30e0b88.js +29 -0
- package/__mf/js/async/559.b30e0b88.js.LICENSE.txt +84 -0
- package/__mf/js/async/620.006d05f8.js +2 -0
- package/__mf/js/async/620.006d05f8.js.LICENSE.txt +9 -0
- package/__mf/js/async/651.4fdbe698.js +1 -0
- package/__mf/js/async/694.3c3c415f.js +1 -0
- package/__mf/js/async/740.fe5d3770.js +1 -0
- package/__mf/js/async/75.c1d82ca8.js +1 -0
- package/__mf/js/async/770.6cac4f4b.js +1 -0
- package/__mf/js/async/835.2f07f9d8.js +80 -0
- package/__mf/js/async/835.2f07f9d8.js.LICENSE.txt +9 -0
- package/__mf/js/async/960.dc16b984.js +2 -0
- package/__mf/js/async/960.dc16b984.js.LICENSE.txt +8 -0
- package/__mf/js/async/964.01c67113.js +2 -0
- package/__mf/js/async/964.01c67113.js.LICENSE.txt +9 -0
- package/__mf/js/async/__federation_expose_TraceTable.0f16deca.js +1 -0
- package/__mf/js/main.57cf0123.js +1 -0
- package/lib/DataTable.d.ts +15 -0
- package/lib/DataTable.d.ts.map +1 -0
- package/lib/DataTable.js +240 -0
- package/lib/DataTable.js.map +1 -0
- package/lib/TraceTable.d.ts +8 -0
- package/lib/TraceTable.d.ts.map +1 -0
- package/lib/TraceTable.js +25 -0
- package/lib/TraceTable.js.map +1 -0
- package/lib/TraceTablePanel.d.ts +19 -0
- package/lib/TraceTablePanel.d.ts.map +1 -0
- package/lib/TraceTablePanel.js +55 -0
- package/lib/TraceTablePanel.js.map +1 -0
- package/lib/bootstrap.d.ts +2 -0
- package/lib/bootstrap.d.ts.map +1 -0
- package/lib/bootstrap.js +19 -0
- package/lib/bootstrap.js.map +1 -0
- package/lib/cjs/DataTable.js +253 -0
- package/lib/cjs/TraceTable.js +31 -0
- package/lib/cjs/TraceTablePanel.js +71 -0
- package/lib/cjs/bootstrap.js +26 -0
- package/lib/cjs/env.d.js +14 -0
- package/lib/cjs/getPluginModule.js +27 -0
- package/lib/cjs/index-federation.js +55 -0
- package/lib/cjs/index.js +28 -0
- package/lib/cjs/setup-tests.js +19 -0
- package/lib/cjs/test/mock-trace-data.js +130 -0
- package/lib/cjs/trace-table-model.js +28 -0
- package/lib/cjs/utils/palette.js +83 -0
- package/lib/cjs/utils/utils.js +40 -0
- package/lib/env.d.js +15 -0
- package/lib/env.d.js.map +1 -0
- package/lib/getPluginModule.d.ts +6 -0
- package/lib/getPluginModule.d.ts.map +1 -0
- package/lib/getPluginModule.js +16 -0
- package/lib/getPluginModule.js.map +1 -0
- package/lib/index-federation.d.ts +1 -0
- package/lib/index-federation.d.ts.map +1 -0
- package/lib/index-federation.js +15 -0
- package/lib/index-federation.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -0
- package/lib/setup-tests.d.ts +2 -0
- package/lib/setup-tests.d.ts.map +1 -0
- package/lib/setup-tests.js +17 -0
- package/lib/setup-tests.js.map +1 -0
- package/lib/test/mock-trace-data.d.ts +73 -0
- package/lib/test/mock-trace-data.d.ts.map +1 -0
- package/lib/test/mock-trace-data.js +114 -0
- package/lib/test/mock-trace-data.js.map +1 -0
- package/lib/trace-table-model.d.ts +17 -0
- package/lib/trace-table-model.d.ts.map +1 -0
- package/lib/trace-table-model.js +22 -0
- package/lib/trace-table-model.js.map +1 -0
- package/lib/utils/palette.d.ts +6 -0
- package/lib/utils/palette.d.ts.map +1 -0
- package/lib/utils/palette.js +64 -0
- package/lib/utils/palette.js.map +1 -0
- package/lib/utils/utils.d.ts +4 -0
- package/lib/utils/utils.d.ts.map +1 -0
- package/lib/utils/utils.js +32 -0
- package/lib/utils/utils.js.map +1 -0
- package/mf-manifest.json +235 -0
- package/mf-stats.json +271 -0
- package/package.json +56 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see 377.d6e7ba1a.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunkTraceTable=self.webpackChunkTraceTable||[]).push([["377"],{5895:function(e,t,r){r.r(t),r.d(t,{useSearchParams:()=>rx,matchPath:()=>O,createHashRouter:()=>rt,useViewTransitionState:()=>rO,useRoutes:()=>td,UNSAFE_NavigationContext:()=>e2,UNSAFE_useRouteId:()=>tS,unstable_HistoryRouter:()=>rp,useNavigationType:()=>tr,redirect:()=>Q,isRouteErrorResponse:()=>er,NavigationType:()=>c,useMatches:()=>tC,Router:()=>tH,useRouteError:()=>tk,Link:()=>ry,createPath:()=>C,resolvePath:()=>B,useBeforeUnload:()=>rj,createRoutesFromChildren:()=>tq,NavLink:()=>rg,useSubmit:()=>rD,renderMatches:()=>tX,createBrowserRouter:()=>re,ScrollRestoration:()=>rw,useFetcher:()=>rk,generatePath:()=>M,AbortedDeferredError:()=>q,Outlet:()=>tI,useFormAction:()=>rL,MemoryRouter:()=>tN,Form:()=>rb,HashRouter:()=>rf,Navigate:()=>tB,RouterProvider:()=>rc,createMemoryRouter:()=>tQ,UNSAFE_DataRouterStateContext:()=>e4,useHref:()=>e9,useBlocker:()=>tU,useLinkClickHandler:()=>rR,Await:()=>t$,createSearchParams:()=>t4,replace:()=>ee,parsePath:()=>P,defer:()=>G,json:()=>Y,BrowserRouter:()=>rh,matchRoutes:()=>_,useAsyncValue:()=>t_,useAsyncError:()=>tT,useLocation:()=>tt,UNSAFE_RouteContext:()=>e6,UNSAFE_FetchersContext:()=>ra,useNavigate:()=>to,useParams:()=>tu,useResolvedPath:()=>tc,Routes:()=>tW,UNSAFE_ViewTransitionContext:()=>rn,useActionData:()=>tL,useOutlet:()=>ts,useRevalidator:()=>tx,UNSAFE_ErrorResponseImpl:()=>et,UNSAFE_LocationContext:()=>e3,UNSAFE_useScrollRestoration:()=>rU,createRoutesFromElements:()=>tq,redirectDocument:()=>Z,unstable_usePrompt:()=>rM,useMatch:()=>tn,useRouteLoaderData:()=>tD,useFetchers:()=>r_,UNSAFE_DataRouterContext:()=>e7,useLoaderData:()=>tP,Route:()=>tz,useInRouterContext:()=>te,useNavigation:()=>tR,useOutletContext:()=>tl});var n,a,o,i,l,s,u,c,d,h,f,p=r(4538),m=r(6085);function v(){return(v=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}).apply(this,arguments)}(n=c||(c={})).Pop="POP",n.Push="PUSH",n.Replace="REPLACE";let y="popstate";function g(e){let t;void 0===e&&(e={});let{initialEntries:r=["/"],initialIndex:n,v5Compat:a=!1}=e;t=r.map((e,t)=>u(e,"string"==typeof e?null:e.state,0===t?"default":void 0));let o=s(null==n?t.length-1:n),i=c.Pop,l=null;function s(e){return Math.min(Math.max(e,0),t.length-1)}function u(e,r,n){void 0===r&&(r=null);let a=x(t?t[o].pathname:"/",e,r,n);return S("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}function d(e){return"string"==typeof e?e:C(e)}return{get index(){return o},get action(){return i},get location(){return t[o]},createHref:d,createURL:e=>new URL(d(e),"http://localhost"),encodeLocation(e){let t="string"==typeof e?P(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,r){i=c.Push;let n=u(e,r);o+=1,t.splice(o,t.length,n),a&&l&&l({action:i,location:n,delta:1})},replace(e,r){i=c.Replace;let n=u(e,r);t[o]=n,a&&l&&l({action:i,location:n,delta:0})},go(e){i=c.Pop;let r=s(o+e),n=t[r];o=r,l&&l({action:i,location:n,delta:e})},listen:e=>(l=e,()=>{l=null})}}function b(e){return void 0===e&&(e={}),D(function(e,t){let{pathname:r,search:n,hash:a}=e.location;return x("",{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:C(t)},null,e)}function w(e){return void 0===e&&(e={}),D(function(e,t){let{pathname:r="/",search:n="",hash:a=""}=P(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),x("",{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:C(t))},function(e,t){S("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},e)}function E(e,t){if(!1===e||null==e)throw Error(t)}function S(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw Error(t)}catch(e){}}}function R(e,t){return{usr:e.state,key:e.key,idx:t}}function x(e,t,r,n){return void 0===r&&(r=null),v({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 C(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 D(e,t,r,n){void 0===n&&(n={});let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,l=c.Pop,s=null,u=d();function d(){return(i.state||{idx:null}).idx}function h(){l=c.Pop;let e=d(),t=null==e?null:e-u;u=e,s&&s({action:l,location:p.location,delta:t})}function f(e){let t="null"!==a.location.origin?a.location.origin:a.location.href,r="string"==typeof e?e:C(e);return E(t,"No window.location.(origin|href) available to create URL for href: "+(r=r.replace(/ $/,"%20"))),new URL(r,t)}null==u&&(u=0,i.replaceState(v({},i.state,{idx:u}),""));let p={get action(){return l},get location(){return e(a,i)},listen(e){if(s)throw Error("A history only accepts one active listener");return a.addEventListener(y,h),s=e,()=>{a.removeEventListener(y,h),s=null}},createHref:e=>t(a,e),createURL:f,encodeLocation(e){let t=f(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){l=c.Push;let n=x(p.location,e,t);r&&r(n,e);let h=R(n,u=d()+1),f=p.createHref(n);try{i.pushState(h,"",f)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;a.location.assign(f)}o&&s&&s({action:l,location:p.location,delta:1})},replace:function(e,t){l=c.Replace;let n=x(p.location,e,t);r&&r(n,e);let a=R(n,u=d()),h=p.createHref(n);i.replaceState(a,"",h),o&&s&&s({action:l,location:p.location,delta:0})},go:e=>i.go(e)};return p}(a=d||(d={})).data="data",a.deferred="deferred",a.redirect="redirect",a.error="error";let L=new Set(["lazy","caseSensitive","path","id","index","children"]);function k(e,t,r,n){return void 0===r&&(r=[]),void 0===n&&(n={}),e.map((e,a)=>{let o=[...r,String(a)],i="string"==typeof e.id?e.id:o.join("-");if(E(!0!==e.index||!e.children,"Cannot specify children on an index route"),E(!n[i],'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),!0===e.index){let r=v({},e,t(e),{id:i});return n[i]=r,r}{let r=v({},e,t(e),{id:i,children:void 0});return n[i]=r,e.children&&(r.children=k(e.children,t,o,n)),r}})}function _(e,t,r){return void 0===r&&(r="/"),T(e,t,r,!1)}function T(e,t,r,n){let a=N(("string"==typeof t?P(t):t).pathname||"/",r);if(null==a)return null;let o=function e(t,r,n,a){void 0===r&&(r=[]),void 0===n&&(n=[]),void 0===a&&(a="");let o=(t,o,i)=>{let l={relativePath:void 0===i?t.path||"":i,caseSensitive:!0===t.caseSensitive,childrenIndex:o,route:t};l.relativePath.startsWith("/")&&(E(l.relativePath.startsWith(a),'Absolute route path "'+l.relativePath+'" nested under path "'+a+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),l.relativePath=l.relativePath.slice(a.length));let s=$([a,l.relativePath]),u=n.concat(l);if(t.children&&t.children.length>0&&(E(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+s+'".'),e(t.children,r,u,s)),null!=t.path||t.index){var c,d;let e,n;r.push({path:s,score:(c=s,d=t.index,n=(e=c.split("/")).length,e.some(j)&&(n+=-2),d&&(n+=2),e.filter(e=>!j(e)).reduce((e,t)=>e+(U.test(t)?3:""===t?1:10),n)),routesMeta:u})}};return t.forEach((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let r of function e(t){let r=t.split("/");if(0===r.length)return[];let[n,...a]=r,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(0===a.length)return o?[i,""]:[i];let l=e(a.join("/")),s=[];return s.push(...l.map(e=>""===e?i:[i,e].join("/"))),o&&s.push(...l),s.map(e=>t.startsWith("/")&&""===e?"/":e)}(e.path))o(e,t,r);else o(e,t)}),r}(e);!function(e){e.sort((e,t)=>{var r,n;return e.score!==t.score?t.score-e.score:(r=e.routesMeta.map(e=>e.childrenIndex),n=t.routesMeta.map(e=>e.childrenIndex),r.length===n.length&&r.slice(0,-1).every((e,t)=>e===n[t])?r[r.length-1]-n[n.length-1]:0)})}(o);let i=null;for(let e=0;null==i&&e<o.length;++e){let t=F(a);i=function(e,t,r){void 0===r&&(r=!1);let{routesMeta:n}=e,a={},o="/",i=[];for(let e=0;e<n.length;++e){let l=n[e],s=e===n.length-1,u="/"===o?t:t.slice(o.length)||"/",c=O({path:l.relativePath,caseSensitive:l.caseSensitive,end:s},u),d=l.route;if(!c&&s&&r&&!n[n.length-1].route.index&&(c=O({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:$([o,c.pathname]),pathnameBase:V($([o,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(o=$([o,c.pathnameBase]))}return i}(o[e],t,n)}return i}function A(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}}let U=/^:[\w-]+$/,j=e=>"*"===e;function M(e,t){void 0===t&&(t={});let r=e;r.endsWith("*")&&"*"!==r&&!r.endsWith("/*")&&(S(!1,'Route path "'+r+'" will be treated as if it were "'+r.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+r.replace(/\*$/,"/*")+'".'),r=r.replace(/\*$/,"/*"));let n=r.startsWith("/")?"/":"",a=e=>null==e?"":"string"==typeof e?e:String(e);return n+r.split(/\/+/).map((e,r,n)=>{if(r===n.length-1&&"*"===e)return a(t["*"]);let o=e.match(/^:([\w-]+)(\??)$/);if(o){let[,e,r]=o,n=t[e];return E("?"===r||null!=n,'Missing ":'+e+'" param'),a(n)}return e.replace(/\?$/g,"")}).filter(e=>!!e).join("/")}function O(e,t){var r,n,a;let o,i;"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[l,s]=(r=e.path,n=e.caseSensitive,a=e.end,void 0===n&&(n=!1),void 0===a&&(a=!0),S("*"===r||!r.endsWith("*")||r.endsWith("/*"),'Route path "'+r+'" will be treated as if it were "'+r.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+r.replace(/\*$/,"/*")+'".'),o=[],i="^"+r.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,r)=>(o.push({paramName:t,isOptional:null!=r}),r?"/?([^\\/]+)?":"/([^\\/]+)")),r.endsWith("*")?(o.push({paramName:"*"}),i+="*"===r||"/*"===r?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?i+="\\/*$":""!==r&&"/"!==r&&(i+="(?:(?=\\/|$))"),[new RegExp(i,n?void 0:"i"),o]),u=t.match(l);if(!u)return null;let c=u[0],d=c.replace(/(.)\/+$/,"$1"),h=u.slice(1);return{params:s.reduce((e,t,r)=>{let{paramName:n,isOptional:a}=t;if("*"===n){let e=h[r]||"";d=c.slice(0,c.length-e.length).replace(/(.)\/+$/,"$1")}let o=h[r];return a&&!o?e[n]=void 0:e[n]=(o||"").replace(/%2F/g,"/"),e},{}),pathname:c,pathnameBase:d,pattern:e}}function F(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return S(!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 N(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 B(e,t){var r;let n;void 0===t&&(t="/");let{pathname:a,search:o="",hash:i=""}="string"==typeof e?P(e):e;return{pathname:a?a.startsWith("/")?a:(r=a,n=t.replace(/\/+$/,"").split("/"),r.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"):t,search:J(o),hash:K(i)}}function I(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 z(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function H(e,t){let r=z(e);return t?r.map((e,t)=>t===r.length-1?e.pathname:e.pathnameBase):r.map(e=>e.pathnameBase)}function W(e,t,r,n){let a,o;void 0===n&&(n=!1),"string"==typeof e?a=P(e):(E(!(a=v({},e)).pathname||!a.pathname.includes("?"),I("?","pathname","search",a)),E(!a.pathname||!a.pathname.includes("#"),I("#","pathname","hash",a)),E(!a.search||!a.search.includes("#"),I("#","search","hash",a)));let i=""===e||""===a.pathname,l=i?"/":a.pathname;if(null==l)o=r;else{let e=t.length-1;if(!n&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let s=B(a,o),u=l&&"/"!==l&&l.endsWith("/"),c=(i||"."===l)&&r.endsWith("/");return!s.pathname.endsWith("/")&&(u||c)&&(s.pathname+="/"),s}let $=e=>e.join("/").replace(/\/\/+/g,"/"),V=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),J=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",K=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",Y=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),v({},r,{headers:n}))};class q extends Error{}class X{constructor(e,t){let r;this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],E(e&&"object"==typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise((e,t)=>r=t),this.controller=new AbortController;let n=()=>r(new q("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",n),this.controller.signal.addEventListener("abort",n),this.data=Object.entries(e).reduce((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})},{}),this.done&&this.unlistenAbortSignal(),this.init=t}trackPromise(e,t){if(!(t instanceof Promise))return t;this.deferredKeys.push(e),this.pendingKeysSet.add(e);let r=Promise.race([t,this.abortPromise]).then(t=>this.onSettle(r,e,void 0,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 q)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);if(this.pendingKeysSet.delete(t),this.done&&this.unlistenAbortSignal(),void 0===r&&void 0===n){let r=Error('Deferred data for key "'+t+'" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.');return Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)}return void 0===n?(Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),this.emit(!1,t),n)}emit(e,t){this.subscribers.forEach(r=>r(e,t))}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach((e,t)=>this.pendingKeysSet.delete(t)),this.emit(!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.pendingKeysSet.size}get unwrappedData(){return E(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]:function(e){if(!(e instanceof Promise&&!0===e._tracked))return e;if(e._error)throw e._error;return e._data}(n)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}let G=function(e,t){return void 0===t&&(t={}),new X(e,"number"==typeof t?{status:t}:t)},Q=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,v({},r,{headers:n}))},Z=(e,t)=>{let r=Q(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},ee=(e,t)=>{let r=Q(e,t);return r.headers.set("X-Remix-Replace","true"),r};class et{constructor(e,t,r,n){void 0===n&&(n=!1),this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function er(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}let en=["post","put","patch","delete"],ea=new Set(en),eo=new Set(["get",...en]),ei=new Set([301,302,303,307,308]),el=new Set([307,308]),es={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},eu={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ec={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},ed=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,eh=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),ef="remix-router-transitions";function ep(e){let t,r,n,a,o,i;let l=e.window?e.window:"undefined"!=typeof window?window:void 0,s=void 0!==l&&void 0!==l.document&&void 0!==l.document.createElement,u=!s;if(E(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)t=e.mapRouteProperties;else if(e.detectErrorBoundary){let r=e.detectErrorBoundary;t=e=>({hasErrorBoundary:r(e)})}else t=eh;let h={},f=k(e.routes,t,void 0,h),p=e.basename||"/",m=e.dataStrategy||ex,y=e.patchRoutesOnNavigation,g=v({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),b=null,w=new Set,R=null,C=null,P=null,D=null!=e.hydrationData,L=_(f,e.history.location,p),U=!1,j=null;if(null==L&&!y){let t=eF(404,{pathname:e.history.location.pathname}),{matches:r,route:n}=eO(f);L=r,j={[n.id]:t}}if(L&&!e.hydrationData&&to(L,f,e.history.location.pathname).active&&(L=null),L){if(L.some(e=>e.route.lazy))n=!1;else if(L.some(e=>e.route.loader)){if(g.v7_partialHydration){let t=e.hydrationData?e.hydrationData.loaderData:null,r=e.hydrationData?e.hydrationData.errors:null;if(r){let e=L.findIndex(e=>void 0!==r[e.route.id]);n=L.slice(0,e+1).every(e=>!eb(e.route,t,r))}else n=L.every(e=>!eb(e.route,t,r))}else n=null!=e.hydrationData}else n=!0}else if(n=!1,L=[],g.v7_partialHydration){let t=to(null,f,e.history.location.pathname);t.active&&t.matches&&(U=!0,L=t.matches)}let M={historyAction:e.history.action,location:e.history.location,matches:L,initialized:n,navigation:es,restoreScrollPosition:null==e.hydrationData&&null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||j,fetchers:new Map,blockers:new Map},O=c.Pop,F=!1,B=!1,I=new Map,z=null,H=!1,W=!1,$=[],V=new Set,J=new Map,K=0,Y=-1,q=new Map,X=new Set,G=new Map,Q=new Map,Z=new Set,ee=new Map,et=new Map;function en(e,t){void 0===t&&(t={}),M=v({},M,e);let r=[],n=[];g.v7_fetcherPersist&&M.fetchers.forEach((e,t)=>{"idle"===e.state&&(Z.has(t)?n.push(t):r.push(t))}),Z.forEach(e=>{M.fetchers.has(e)||J.has(e)||n.push(e)}),[...w].forEach(e=>e(M,{deletedFetchers:n,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync})),g.v7_fetcherPersist?(r.forEach(e=>M.fetchers.delete(e)),n.forEach(e=>e4(e))):n.forEach(e=>Z.delete(e))}function ea(t,n,a){var o,i;let l,s;let{flushSync:u}=void 0===a?{}:a,d=null!=M.actionData&&null!=M.navigation.formMethod&&eV(M.navigation.formMethod)&&"loading"===M.navigation.state&&(null==(o=t.state)?void 0:o._isRedirect)!==!0;l=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:d?M.actionData:null;let h=n.loaderData?eU(M.loaderData,n.loaderData,n.matches||[],n.errors):M.loaderData,p=M.blockers;p.size>0&&(p=new Map(p)).forEach((e,t)=>p.set(t,ec));let m=!0===F||null!=M.navigation.formMethod&&eV(M.navigation.formMethod)&&(null==(i=t.state)?void 0:i._isRedirect)!==!0;if(r&&(f=r,r=void 0),H||O===c.Pop||(O===c.Push?e.history.push(t,t.state):O===c.Replace&&e.history.replace(t,t.state)),O===c.Pop){let e=I.get(M.location.pathname);e&&e.has(t.pathname)?s={currentLocation:M.location,nextLocation:t}:I.has(t.pathname)&&(s={currentLocation:t,nextLocation:M.location})}else if(B){let e=I.get(M.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),I.set(M.location.pathname,e)),s={currentLocation:M.location,nextLocation:t}}en(v({},n,{actionData:l,loaderData:h,historyAction:O,location:t,initialized:!0,navigation:es,revalidation:"idle",restoreScrollPosition:ta(t,n.matches||M.matches),preventScrollReset:m,blockers:p}),{viewTransitionOpts:s,flushSync:!0===u}),O=c.Pop,F=!1,B=!1,H=!1,W=!1,$=[]}async function eo(t,r){if("number"==typeof t){e.history.go(t);return}let n=em(M.location,M.matches,p,g.v7_prependBasename,t,g.v7_relativeSplatPath,null==r?void 0:r.fromRouteId,null==r?void 0:r.relative),{path:a,submission:o,error:i}=ev(g.v7_normalizeFormMethod,!1,n,r),l=M.location,s=x(M.location,a,r&&r.state);s=v({},s,e.history.encodeLocation(s));let u=r&&null!=r.replace?r.replace:void 0,d=c.Push;!0===u?d=c.Replace:!1===u||null!=o&&eV(o.formMethod)&&o.formAction===M.location.pathname+M.location.search&&(d=c.Replace);let h=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0,f=!0===(r&&r.flushSync),m=te({currentLocation:l,nextLocation:s,historyAction:d});if(m){e9(m,{state:"blocked",location:s,proceed(){e9(m,{state:"proceeding",proceed:void 0,reset:void 0,location:s}),eo(t,r)},reset(){let e=new Map(M.blockers);e.set(m,ec),en({blockers:e})}});return}return await ep(d,s,{submission:o,pendingError:i,preventScrollReset:h,replace:r&&r.replace,enableViewTransition:r&&r.viewTransition,flushSync:f})}async function ep(t,n,a){var i,l,s,u;let c;o&&o.abort(),o=null,O=t,H=!0===(a&&a.startUninterruptedRevalidation),i=M.location,l=M.matches,R&&P&&(R[tn(i,l)]=P()),F=!0===(a&&a.preventScrollReset),B=!0===(a&&a.enableViewTransition);let h=r||f,m=a&&a.overrideNavigation,y=null!=a&&a.initialHydration&&M.matches&&M.matches.length>0&&!U?M.matches:_(h,n,p),g=!0===(a&&a.flushSync);if(y&&M.initialized&&!W&&(s=M.location,u=n,s.pathname===u.pathname&&s.search===u.search&&(""===s.hash?""!==u.hash:s.hash===u.hash||""!==u.hash))&&!(a&&a.submission&&eV(a.submission.formMethod))){ea(n,{matches:y},{flushSync:g});return}let b=to(y,h,n.pathname);if(b.active&&b.matches&&(y=b.matches),!y){let{error:e,notFoundMatches:t,route:r}=tt(n.pathname);ea(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:g});return}o=new AbortController;let w=ek(e.history,n,o.signal,a&&a.submission);if(a&&a.pendingError)c=[eM(y).route.id,{type:d.error,error:a.pendingError}];else if(a&&a.submission&&eV(a.submission.formMethod)){let t=await ey(w,n,a.submission,y,b.active,{replace:a.replace,flushSync:g});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,r]=t.pendingActionResult;if(ez(r)&&er(r.error)&&404===r.error.status){o=null,ea(n,{matches:t.matches,loaderData:{},errors:{[e]:r.error}});return}}y=t.matches||y,c=t.pendingActionResult,m=eQ(n,a.submission),g=!1,b.active=!1,w=ek(e.history,w.url,w.signal)}let{shortCircuited:E,matches:S,loaderData:x,errors:C}=await ew(w,n,y,b.active,m,a&&a.submission,a&&a.fetcherSubmission,a&&a.replace,a&&!0===a.initialHydration,g,c);!E&&(o=null,ea(n,v({matches:S||y},ej(c),{loaderData:x,errors:C})))}async function ey(e,t,r,n,a,o){var i;let l;if(void 0===o&&(o={}),eW(),en({navigation:{state:"submitting",location:t,formMethod:(i=r).formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text}},{flushSync:!0===o.flushSync}),a){let r=await ti(n,t.pathname,e.signal);if("aborted"===r.type)return{shortCircuited:!0};if("error"===r.type){let e=eM(r.partialMatches).route.id;return{matches:r.partialMatches,pendingActionResult:[e,{type:d.error,error:r.error}]}}if(r.matches)n=r.matches;else{let{notFoundMatches:e,error:r,route:n}=tt(t.pathname);return{matches:e,pendingActionResult:[n.id,{type:d.error,error:r}]}}}let s=eX(n,t);if(s.route.action||s.route.lazy){if(l=(await eT("action",M,e,[s],n,null))[s.route.id],e.signal.aborted)return{shortCircuited:!0}}else l={type:d.error,error:eF(405,{method:e.method,pathname:t.pathname,routeId:s.route.id})};if(eH(l)){let t;return t=o&&null!=o.replace?o.replace:eL(l.response.headers.get("Location"),new URL(e.url),p)===M.location.pathname+M.location.search,await e_(e,l,!0,{submission:r,replace:t}),{shortCircuited:!0}}if(eI(l))throw eF(400,{type:"defer-action"});if(ez(l)){let e=eM(n,s.route.id);return!0!==(o&&o.replace)&&(O=c.Push),{matches:n,pendingActionResult:[e.route.id,l]}}return{matches:n,pendingActionResult:[s.route.id,l]}}async function ew(t,n,a,i,l,s,u,c,d,h,m){let y=l||eQ(n,s),b=s||u||eG(y),w=!H&&(!g.v7_partialHydration||!d);if(i){if(w){let e=eE(m);en(v({navigation:y},void 0!==e?{actionData:e}:{}),{flushSync:h})}let e=await ti(a,n.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=eM(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(e.matches)a=e.matches;else{let{error:e,notFoundMatches:t,route:r}=tt(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let E=r||f,[S,R]=eg(e.history,M,a,b,n,g.v7_partialHydration&&!0===d,g.v7_skipActionErrorRevalidation,W,$,V,Z,G,X,E,p,m);if(tr(e=>!(a&&a.some(t=>t.route.id===e))||S&&S.some(t=>t.route.id===e)),Y=++K,0===S.length&&0===R.length){let e=e3();return ea(n,v({matches:a,loaderData:{},errors:m&&ez(m[1])?{[m[0]]:m[1].error}:null},ej(m),e?{fetchers:new Map(M.fetchers)}:{}),{flushSync:h}),{shortCircuited:!0}}if(w){let e={};if(!i){e.navigation=y;let t=eE(m);void 0!==t&&(e.actionData=t)}R.length>0&&(e.fetchers=(R.forEach(e=>{let t=M.fetchers.get(e.key),r=eZ(void 0,t?t.data:void 0);M.fetchers.set(e.key,r)}),new Map(M.fetchers))),en(e,{flushSync:h})}R.forEach(e=>{e5(e.key),e.controller&&J.set(e.key,e.controller)});let x=()=>R.forEach(e=>e5(e.key));o&&o.signal.addEventListener("abort",x);let{loaderResults:C,fetcherResults:P}=await eB(M,a,S,R,t);if(t.signal.aborted)return{shortCircuited:!0};o&&o.signal.removeEventListener("abort",x),R.forEach(e=>J.delete(e.key));let D=eN(C);if(D)return await e_(t,D.result,!0,{replace:c}),{shortCircuited:!0};if(D=eN(P))return X.add(D.key),await e_(t,D.result,!0,{replace:c}),{shortCircuited:!0};let{loaderData:L,errors:k}=eA(M,a,C,m,R,P,ee);ee.forEach((e,t)=>{e.subscribe(r=>{(r||e.done)&&ee.delete(t)})}),g.v7_partialHydration&&d&&M.errors&&(k=v({},M.errors,k));let _=e3(),T=e6(Y),A=_||T||R.length>0;return v({matches:a,loaderData:L,errors:k},A?{fetchers:new Map(M.fetchers)}:{})}function eE(e){return e&&!ez(e[1])?{[e[0]]:e[1].data}:M.actionData?0===Object.keys(M.actionData).length?null:M.actionData:void 0}async function eR(t,n,a,i,l,s,u,c,d){var h,m;function v(e){if(!e.route.action&&!e.route.lazy){let e=eF(405,{method:d.formMethod,pathname:a,routeId:n});return e1(t,n,e,{flushSync:u}),!0}return!1}if(eW(),G.delete(t),!s&&v(i))return;let y=M.fetchers.get(t);eq(t,(h=d,m=y,{state:"submitting",formMethod:h.formMethod,formAction:h.formAction,formEncType:h.formEncType,formData:h.formData,json:h.json,text:h.text,data:m?m.data:void 0}),{flushSync:u});let b=new AbortController,w=ek(e.history,a,b.signal,d);if(s){let e=await ti(l,new URL(w.url).pathname,w.signal,t);if("aborted"===e.type)return;if("error"===e.type){e1(t,n,e.error,{flushSync:u});return}if(e.matches){if(v(i=eX(l=e.matches,a)))return}else{e1(t,n,eF(404,{pathname:a}),{flushSync:u});return}}J.set(t,b);let S=K,R=(await eT("action",M,w,[i],l,t))[i.route.id];if(w.signal.aborted){J.get(t)===b&&J.delete(t);return}if(g.v7_fetcherPersist&&Z.has(t)){if(eH(R)||ez(R)){eq(t,e0(void 0));return}}else{if(eH(R))return(J.delete(t),Y>S)?(eq(t,e0(void 0)),void 0):(X.add(t),eq(t,eZ(d)),e_(w,R,!1,{fetcherSubmission:d,preventScrollReset:c}));if(ez(R)){e1(t,n,R.error);return}}if(eI(R))throw eF(400,{type:"defer-action"});let x=M.navigation.location||M.location,C=ek(e.history,x,b.signal),P=r||f,D="idle"!==M.navigation.state?_(P,M.navigation.location,p):M.matches;E(D,"Didn't find any matches after fetcher action");let L=++K;q.set(t,L);let k=eZ(d,R.data);M.fetchers.set(t,k);let[T,A]=eg(e.history,M,D,d,x,!1,g.v7_skipActionErrorRevalidation,W,$,V,Z,G,X,P,p,[i.route.id,R]);A.filter(e=>e.key!==t).forEach(e=>{let t=e.key,r=M.fetchers.get(t),n=eZ(void 0,r?r.data:void 0);M.fetchers.set(t,n),e5(t),e.controller&&J.set(t,e.controller)}),en({fetchers:new Map(M.fetchers)});let U=()=>A.forEach(e=>e5(e.key));b.signal.addEventListener("abort",U);let{loaderResults:j,fetcherResults:F}=await eB(M,D,T,A,C);if(b.signal.aborted)return;b.signal.removeEventListener("abort",U),q.delete(t),J.delete(t),A.forEach(e=>J.delete(e.key));let N=eN(j);if(N)return e_(C,N.result,!1,{preventScrollReset:c});if(N=eN(F))return X.add(N.key),e_(C,N.result,!1,{preventScrollReset:c});let{loaderData:B,errors:I}=eA(M,D,j,void 0,A,F,ee);if(M.fetchers.has(t)){let e=e0(R.data);M.fetchers.set(t,e)}e6(L),"loading"===M.navigation.state&&L>Y?(E(O,"Expected pending action"),o&&o.abort(),ea(M.navigation.location,{matches:D,loaderData:B,errors:I,fetchers:new Map(M.fetchers)})):(en({errors:I,loaderData:eU(M.loaderData,B,D,I),fetchers:new Map(M.fetchers)}),W=!1)}async function eP(t,r,n,a,o,i,l,s,u){let c=M.fetchers.get(t);eq(t,eZ(u,c?c.data:void 0),{flushSync:l});let d=new AbortController,h=ek(e.history,n,d.signal);if(i){let e=await ti(o,new URL(h.url).pathname,h.signal,t);if("aborted"===e.type)return;if("error"===e.type){e1(t,r,e.error,{flushSync:l});return}if(e.matches)a=eX(o=e.matches,n);else{e1(t,r,eF(404,{pathname:n}),{flushSync:l});return}}J.set(t,d);let f=K,p=(await eT("loader",M,h,[a],o,t))[a.route.id];if(eI(p)&&(p=await eY(p,h.signal,!0)||p),J.get(t)===d&&J.delete(t),!h.signal.aborted){if(Z.has(t)){eq(t,e0(void 0));return}if(eH(p)){if(Y>f){eq(t,e0(void 0));return}X.add(t),await e_(h,p,!1,{preventScrollReset:s});return}if(ez(p)){e1(t,r,p.error);return}E(!eI(p),"Unhandled fetcher deferred data"),eq(t,e0(p.data))}}async function e_(t,r,n,a){let{submission:i,fetcherSubmission:u,preventScrollReset:d,replace:h}=void 0===a?{}:a;r.response.headers.has("X-Remix-Revalidate")&&(W=!0);let f=r.response.headers.get("Location");E(f,"Expected a Location header on the redirect Response"),f=eL(f,new URL(t.url),p);let m=x(M.location,f,{_isRedirect:!0});if(s){let t=!1;if(r.response.headers.has("X-Remix-Reload-Document"))t=!0;else if(ed.test(f)){let r=e.history.createURL(f);t=r.origin!==l.location.origin||null==N(r.pathname,p)}if(t){h?l.location.replace(f):l.location.assign(f);return}}o=null;let y=!0===h||r.response.headers.has("X-Remix-Replace")?c.Replace:c.Push,{formMethod:g,formAction:b,formEncType:w}=M.navigation;!i&&!u&&g&&b&&w&&(i=eG(M.navigation));let S=i||u;if(el.has(r.response.status)&&S&&eV(S.formMethod))await ep(y,m,{submission:v({},S,{formAction:f}),preventScrollReset:d||F,enableViewTransition:n?B:void 0});else{let e=eQ(m,i);await ep(y,m,{overrideNavigation:e,fetcherSubmission:u,preventScrollReset:d||F,enableViewTransition:n?B:void 0})}}async function eT(e,r,n,a,o,i){let l;let s={};try{l=await eC(m,e,r,n,a,o,i,h,t)}catch(e){return a.forEach(t=>{s[t.route.id]={type:d.error,error:e}}),s}for(let[e,t]of Object.entries(l)){var u;if(e$((u=t).result)&&ei.has(u.result.status)){let r=t.result;s[e]={type:d.redirect,response:function(e,t,r,n,a,o){let i=e.headers.get("Location");if(E(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!ed.test(i)){let l=n.slice(0,n.findIndex(e=>e.route.id===r)+1);i=em(new URL(t.url),l,a,!0,i,o),e.headers.set("Location",i)}return e}(r,n,e,o,p,g.v7_relativeSplatPath)}}else s[e]=await eD(t)}return s}async function eB(t,r,n,a,o){let i=t.matches,l=eT("loader",t,o,n,r,null),s=Promise.all(a.map(async r=>{if(!r.matches||!r.match||!r.controller)return Promise.resolve({[r.key]:{type:d.error,error:eF(404,{pathname:r.path})}});{let n=(await eT("loader",t,ek(e.history,r.path,r.controller.signal),[r.match],r.matches,r.key))[r.match.route.id];return{[r.key]:n}}})),u=await l,c=(await s).reduce((e,t)=>Object.assign(e,t),{});return await Promise.all([eJ(r,u,o.signal,i,t.loaderData),eK(r,c,a)]),{loaderResults:u,fetcherResults:c}}function eW(){W=!0,$.push(...tr()),G.forEach((e,t)=>{J.has(t)&&V.add(t),e5(t)})}function eq(e,t,r){void 0===r&&(r={}),M.fetchers.set(e,t),en({fetchers:new Map(M.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function e1(e,t,r,n){void 0===n&&(n={});let a=eM(M.matches,t);e4(e),en({errors:{[a.route.id]:r},fetchers:new Map(M.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function e7(e){return Q.set(e,(Q.get(e)||0)+1),Z.has(e)&&Z.delete(e),M.fetchers.get(e)||eu}function e4(e){let t=M.fetchers.get(e);J.has(e)&&!(t&&"loading"===t.state&&q.has(e))&&e5(e),G.delete(e),q.delete(e),X.delete(e),g.v7_fetcherPersist&&Z.delete(e),V.delete(e),M.fetchers.delete(e)}function e5(e){let t=J.get(e);t&&(t.abort(),J.delete(e))}function e2(e){for(let t of e){let e=e0(e7(t).data);M.fetchers.set(t,e)}}function e3(){let e=[],t=!1;for(let r of X){let n=M.fetchers.get(r);E(n,"Expected fetcher: "+r),"loading"===n.state&&(X.delete(r),e.push(r),t=!0)}return e2(e),t}function e6(e){let t=[];for(let[r,n]of q)if(n<e){let e=M.fetchers.get(r);E(e,"Expected fetcher: "+r),"loading"===e.state&&(e5(r),q.delete(r),t.push(r))}return e2(t),t.length>0}function e8(e){M.blockers.delete(e),et.delete(e)}function e9(e,t){let r=M.blockers.get(e)||ec;E("unblocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"proceeding"===t.state||"blocked"===r.state&&"unblocked"===t.state||"proceeding"===r.state&&"unblocked"===t.state,"Invalid blocker state transition: "+r.state+" -> "+t.state);let n=new Map(M.blockers);n.set(e,t),en({blockers:n})}function te(e){let{currentLocation:t,nextLocation:r,historyAction:n}=e;if(0===et.size)return;et.size>1&&S(!1,"A router only supports one blocker at a time");let a=Array.from(et.entries()),[o,i]=a[a.length-1],l=M.blockers.get(o);if((!l||"proceeding"!==l.state)&&i({currentLocation:t,nextLocation:r,historyAction:n}))return o}function tt(e){let t=eF(404,{pathname:e}),{matches:n,route:a}=eO(r||f);return tr(),{notFoundMatches:n,route:a,error:t}}function tr(e){let t=[];return ee.forEach((r,n)=>{(!e||e(n))&&(r.cancel(),t.push(n),ee.delete(n))}),t}function tn(e,t){return C&&C(e,t.map(e=>A(e,M.loaderData)))||e.key}function ta(e,t){if(R){let r=R[tn(e,t)];if("number"==typeof r)return r}return null}function to(e,t,r){if(y){if(!e)return{active:!0,matches:T(t,r,p,!0)||[]};if(Object.keys(e[0].params).length>0)return{active:!0,matches:T(t,r,p,!0)}}return{active:!1,matches:null}}async function ti(e,n,a,o){if(!y)return{type:"success",matches:e};let i=e;for(;;){let e=null==r,l=r||f,s=h;try{await y({signal:a,path:n,matches:i,fetcherKey:o,patch:(e,r)=>{a.aborted||eS(e,r,l,s,t)}})}catch(e){return{type:"error",error:e,partialMatches:i}}finally{e&&!a.aborted&&(f=[...f])}if(a.aborted)return{type:"aborted"};let u=_(l,n,p);if(u)return{type:"success",matches:u};let c=T(l,n,p,!0);if(!c||i.length===c.length&&i.every((e,t)=>e.route.id===c[t].route.id))return{type:"success",matches:null};i=c}}return a={get basename(){return p},get future(){return g},get state(){return M},get routes(){return f},get window(){return l},initialize:function(){if(b=e.history.listen(t=>{let{action:r,location:n,delta:a}=t;if(i){i(),i=void 0;return}S(0===et.size||null!=a,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let o=te({currentLocation:M.location,nextLocation:n,historyAction:r});if(o&&null!=a){let t=new Promise(e=>{i=e});e.history.go(-1*a),e9(o,{state:"blocked",location:n,proceed(){e9(o,{state:"proceeding",proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(a))},reset(){let e=new Map(M.blockers);e.set(o,ec),en({blockers:e})}});return}return ep(r,n)}),s){!function(e,t){try{let r=e.sessionStorage.getItem(ef);if(r){let e=JSON.parse(r);for(let[r,n]of Object.entries(e||{}))n&&Array.isArray(n)&&t.set(r,new Set(n||[]))}}catch(e){}}(l,I);let e=()=>(function(e,t){if(t.size>0){let r={};for(let[e,n]of t)r[e]=[...n];try{e.sessionStorage.setItem(ef,JSON.stringify(r))}catch(e){S(!1,"Failed to save applied view transitions in sessionStorage ("+e+").")}}})(l,I);l.addEventListener("pagehide",e),z=()=>l.removeEventListener("pagehide",e)}return M.initialized||ep(c.Pop,M.location,{initialHydration:!0}),a},subscribe:function(e){return w.add(e),()=>w.delete(e)},enableScrollRestoration:function(e,t,r){if(R=e,P=t,C=r||null,!D&&M.navigation===es){D=!0;let e=ta(M.location,M.matches);null!=e&&en({restoreScrollPosition:e})}return()=>{R=null,P=null,C=null}},navigate:eo,fetch:function(e,t,n,a){if(u)throw 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.");e5(e);let o=!0===(a&&a.flushSync),i=r||f,l=em(M.location,M.matches,p,g.v7_prependBasename,n,g.v7_relativeSplatPath,t,null==a?void 0:a.relative),s=_(i,l,p),c=to(s,i,l);if(c.active&&c.matches&&(s=c.matches),!s){e1(e,t,eF(404,{pathname:l}),{flushSync:o});return}let{path:d,submission:h,error:m}=ev(g.v7_normalizeFormMethod,!0,l,a);if(m){e1(e,t,m,{flushSync:o});return}let v=eX(s,d),y=!0===(a&&a.preventScrollReset);if(h&&eV(h.formMethod)){eR(e,t,d,v,s,c.active,o,y,h);return}G.set(e,{routeId:t,path:d}),eP(e,t,d,v,s,c.active,o,y,h)},revalidate:function(){if(eW(),en({revalidation:"loading"}),"submitting"!==M.navigation.state){if("idle"===M.navigation.state){ep(M.historyAction,M.location,{startUninterruptedRevalidation:!0});return}ep(O||M.historyAction,M.navigation.location,{overrideNavigation:M.navigation,enableViewTransition:!0===B})}},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:e7,deleteFetcher:function(e){let t=(Q.get(e)||0)-1;t<=0?(Q.delete(e),Z.add(e),g.v7_fetcherPersist||e4(e)):Q.set(e,t),en({fetchers:new Map(M.fetchers)})},dispose:function(){b&&b(),z&&z(),w.clear(),o&&o.abort(),M.fetchers.forEach((e,t)=>e4(t)),M.blockers.forEach((e,t)=>e8(t))},getBlocker:function(e,t){let r=M.blockers.get(e)||ec;return et.get(e)!==t&&et.set(e,t),r},deleteBlocker:e8,patchRoutes:function(e,n){let a=null==r;eS(e,n,r||f,h,t),a&&(f=[...f],en({}))},_internalFetchControllers:J,_internalActiveDeferreds:ee,_internalSetRoutes:function(e){r=k(e,t,void 0,h={})}}}function em(e,t,r,n,a,o,i,l){let s,u;if(i){for(let e of(s=[],t))if(s.push(e),e.route.id===i){u=e;break}}else s=t,u=t[t.length-1];let c=W(a||".",H(s,o),N(e.pathname,r)||e.pathname,"path"===l);if(null==a&&(c.search=e.search,c.hash=e.hash),(null==a||""===a||"."===a)&&u){let e=eq(c.search);if(u.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index";else if(!u.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll("index");e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let r=e.toString();c.search=r?"?"+r:""}}return n&&"/"!==r&&(c.pathname="/"===c.pathname?r:$([r,c.pathname])),C(c)}function ev(e,t,r,n){var a;let o,i;if(!n||!(null!=n&&("formData"in n&&null!=n.formData||"body"in n&&void 0!==n.body)))return{path:r};if(n.formMethod&&(a=n.formMethod,!eo.has(a.toLowerCase())))return{path:r,error:eF(405,{method:n.formMethod})};let l=()=>({path:r,error:eF(400,{type:"invalid-body"})}),s=n.formMethod||"get",u=e?s.toUpperCase():s.toLowerCase(),c=eB(r);if(void 0!==n.body){if("text/plain"===n.formEncType){if(!eV(u))return l();let e="string"==typeof n.body?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,t)=>{let[r,n]=t;return""+e+r+"="+n+"\n"},""):String(n.body);return{path:r,submission:{formMethod:u,formAction:c,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}if("application/json"===n.formEncType){if(!eV(u))return l();try{let e="string"==typeof n.body?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:u,formAction:c,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch(e){return l()}}}if(E("function"==typeof FormData,"FormData is not available in this environment"),n.formData)o=e_(n.formData),i=n.formData;else if(n.body instanceof FormData)o=e_(n.body),i=n.body;else if(n.body instanceof URLSearchParams)i=eT(o=n.body);else if(null==n.body)o=new URLSearchParams,i=new FormData;else try{o=new URLSearchParams(n.body),i=eT(o)}catch(e){return l()}let d={formMethod:u,formAction:c,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:i,json:void 0,text:void 0};if(eV(d.formMethod))return{path:r,submission:d};let h=P(r);return t&&h.search&&eq(h.search)&&o.append("index",""),h.search="?"+o,{path:C(h),submission:d}}function ey(e,t,r){void 0===r&&(r=!1);let n=e.findIndex(e=>e.route.id===t);return n>=0?e.slice(0,r?n+1:n):e}function eg(e,t,r,n,a,o,i,l,s,u,c,d,h,f,p,m){let y=m?ez(m[1])?m[1].error:m[1].data:void 0,g=e.createURL(t.location),b=e.createURL(a),w=r;o&&t.errors?w=ey(r,Object.keys(t.errors)[0],!0):m&&ez(m[1])&&(w=ey(r,m[0]));let E=m?m[1].statusCode:void 0,S=i&&E&&E>=400,R=w.filter((e,r)=>{var a,i,u;let c,d,{route:h}=e;if(h.lazy)return!0;if(null==h.loader)return!1;if(o)return eb(h,t.loaderData,t.errors);if(a=t.loaderData,i=t.matches[r],u=e,c=!i||u.route.id!==i.route.id,d=void 0===a[u.route.id],c||d||s.some(t=>t===e.route.id))return!0;let f=t.matches[r];return eE(e,v({currentUrl:g,currentParams:f.params,nextUrl:b,nextParams:e.params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!S&&(l||g.pathname+g.search===b.pathname+b.search||g.search!==b.search||ew(f,e))}))}),x=[];return d.forEach((e,a)=>{if(o||!r.some(t=>t.route.id===e.routeId)||c.has(a))return;let i=_(f,e.path,p);if(!i){x.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});return}let s=t.fetchers.get(a),d=eX(i,e.path),m=!1;h.has(a)?m=!1:u.has(a)?(u.delete(a),m=!0):m=s&&"idle"!==s.state&&void 0===s.data?l:eE(d,v({currentUrl:g,currentParams:t.matches[t.matches.length-1].params,nextUrl:b,nextParams:r[r.length-1].params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!S&&l})),m&&x.push({key:a,routeId:e.routeId,path:e.path,matches:i,match:d,controller:new AbortController})}),[R,x]}function eb(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=null!=t&&void 0!==t[e.id],a=null!=r&&void 0!==r[e.id];return(!!n||!a)&&("function"==typeof e.loader&&!0===e.loader.hydrate||!n&&!a)}function ew(e,t){let r=e.route.path;return e.pathname!==t.pathname||null!=r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function eE(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if("boolean"==typeof r)return r}return t.defaultShouldRevalidate}function eS(e,t,r,n,a){var o;let i;if(e){let t=n[e];E(t,"No route found to patch children into: routeId = "+e),t.children||(t.children=[]),i=t.children}else i=r;let l=k(t.filter(e=>!i.some(t=>(function e(t,r){return"id"in t&&"id"in r&&t.id===r.id||t.index===r.index&&t.path===r.path&&t.caseSensitive===r.caseSensitive&&((!t.children||0===t.children.length)&&(!r.children||0===r.children.length)||t.children.every((t,n)=>{var a;return null==(a=r.children)?void 0:a.some(r=>e(t,r))}))})(e,t))),a,[e||"_","patch",String((null==(o=i)?void 0:o.length)||"0")],n);i.push(...l)}async function eR(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];E(a,"No route found in manifest");let o={};for(let e in n){let t=void 0!==a[e]&&"hasErrorBoundary"!==e;S(!t,'Route "'+a.id+'" has a static property "'+e+'" defined but its lazy function is also returning a value for this property. The lazy route property "'+e+'" will be ignored.'),t||L.has(e)||(o[e]=n[e])}Object.assign(a,o),Object.assign(a,v({},t(a),{lazy:void 0}))}async function ex(e){let{matches:t}=e,r=t.filter(e=>e.shouldLoad);return(await Promise.all(r.map(e=>e.resolve()))).reduce((e,t,n)=>Object.assign(e,{[r[n].route.id]:t}),{})}async function eC(e,t,r,n,a,o,i,l,s,u){let c=o.map(e=>e.route.lazy?eR(e.route,s,l):void 0),h=o.map((e,r)=>{let o=c[r],i=a.some(t=>t.route.id===e.route.id),l=async r=>(r&&"GET"===n.method&&(e.route.lazy||e.route.loader)&&(i=!0),i?eP(t,n,e,o,r,u):Promise.resolve({type:d.data,result:void 0}));return v({},e,{shouldLoad:i,resolve:l})}),f=await e({matches:h,request:n,params:o[0].params,fetcherKey:i,context:u});try{await Promise.all(c)}catch(e){}return f}async function eP(e,t,r,n,a,o){let i,l;let s=n=>{let i;let s=new Promise((e,t)=>i=t);l=()=>i(),t.signal.addEventListener("abort",l);let u=a=>"function"!=typeof n?Promise.reject(Error("You cannot call the handler for a route which defines a boolean "+('"'+e+'" [routeId: ')+r.route.id+"]")):n({request:t,params:r.params,context:o},...void 0!==a?[a]:[]);return Promise.race([(async()=>{try{let e=await (a?a(e=>u(e)):u());return{type:"data",result:e}}catch(e){return{type:"error",result:e}}})(),s])};try{let a=r.route[e];if(n){if(a){let e;let[t]=await Promise.all([s(a).catch(t=>{e=t}),n]);if(void 0!==e)throw e;i=t}else if(await n,a=r.route[e])i=await s(a);else{if("action"!==e)return{type:d.data,result:void 0};let n=new URL(t.url),a=n.pathname+n.search;throw eF(405,{method:t.method,pathname:a,routeId:r.route.id})}}else if(a)i=await s(a);else{let e=new URL(t.url),r=e.pathname+e.search;throw eF(404,{pathname:r})}E(void 0!==i.result,"You defined "+("action"===e?"an action":"a loader")+" for route "+('"'+r.route.id+"\" but didn't return anything from your `")+e+"` function. Please return a value or `null`.")}catch(e){return{type:d.error,result:e}}finally{l&&t.signal.removeEventListener("abort",l)}return i}async function eD(e){var t,r,n,a,o,i,l,s,u;let{result:c,type:h}=e;if(e$(c)){let e;try{let t=c.headers.get("Content-Type");e=t&&/\bapplication\/json\b/.test(t)?null==c.body?null:await c.json():await c.text()}catch(e){return{type:d.error,error:e}}return h===d.error?{type:d.error,error:new et(c.status,c.statusText,e),statusCode:c.status,headers:c.headers}:{type:d.data,data:e,statusCode:c.status,headers:c.headers}}if(h===d.error)return eW(c)?c.data instanceof Error?{type:d.error,error:c.data,statusCode:null==(n=c.init)?void 0:n.status,headers:null!=(a=c.init)&&a.headers?new Headers(c.init.headers):void 0}:{type:d.error,error:new et((null==(t=c.init)?void 0:t.status)||500,void 0,c.data),statusCode:er(c)?c.status:void 0,headers:null!=(r=c.init)&&r.headers?new Headers(c.init.headers):void 0}:{type:d.error,error:c,statusCode:er(c)?c.status:void 0};return(u=c)&&"object"==typeof u&&"object"==typeof u.data&&"function"==typeof u.subscribe&&"function"==typeof u.cancel&&"function"==typeof u.resolveData?{type:d.deferred,deferredData:c,statusCode:null==(o=c.init)?void 0:o.status,headers:(null==(i=c.init)?void 0:i.headers)&&new Headers(c.init.headers)}:eW(c)?{type:d.data,data:c.data,statusCode:null==(l=c.init)?void 0:l.status,headers:null!=(s=c.init)&&s.headers?new Headers(c.init.headers):void 0}:{type:d.data,data:c}}function eL(e,t,r){if(ed.test(e)){let n=new URL(e.startsWith("//")?t.protocol+e:e),a=null!=N(n.pathname,r);if(n.origin===t.origin&&a)return n.pathname+n.search+n.hash}return e}function ek(e,t,r,n){let a=e.createURL(eB(t)).toString(),o={signal:r};if(n&&eV(n.formMethod)){let{formMethod:e,formEncType:t}=n;o.method=e.toUpperCase(),"application/json"===t?(o.headers=new Headers({"Content-Type":t}),o.body=JSON.stringify(n.json)):"text/plain"===t?o.body=n.text:"application/x-www-form-urlencoded"===t&&n.formData?o.body=e_(n.formData):o.body=n.formData}return new Request(a,o)}function e_(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,"string"==typeof n?n:n.name);return t}function eT(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function eA(e,t,r,n,a,o,i){let l,s,u,c,d,h;let{loaderData:f,errors:p}=(s={},u=null,c=!1,d={},h=n&&ez(n[1])?n[1].error:void 0,t.forEach(e=>{if(!(e.route.id in r))return;let n=e.route.id,a=r[n];if(E(!eH(a),"Cannot handle redirect results in processLoaderData"),ez(a)){let e=a.error;void 0!==h&&(e=h,h=void 0),u=u||{};{let r=eM(t,n);null==u[r.route.id]&&(u[r.route.id]=e)}s[n]=void 0,c||(c=!0,l=er(a.error)?a.error.status:500),a.headers&&(d[n]=a.headers)}else eI(a)?(i.set(n,a.deferredData),s[n]=a.deferredData.data,null==a.statusCode||200===a.statusCode||c||(l=a.statusCode)):(s[n]=a.data,a.statusCode&&200!==a.statusCode&&!c&&(l=a.statusCode)),a.headers&&(d[n]=a.headers)}),void 0!==h&&n&&(u={[n[0]]:h},s[n[0]]=void 0),{loaderData:s,errors:u,statusCode:l||200,loaderHeaders:d});return a.forEach(t=>{let{key:r,match:n,controller:a}=t,i=o[r];if(E(i,"Did not find corresponding fetcher result"),!a||!a.signal.aborted){if(ez(i)){let t=eM(e.matches,null==n?void 0:n.route.id);p&&p[t.route.id]||(p=v({},p,{[t.route.id]:i.error})),e.fetchers.delete(r)}else if(eH(i))E(!1,"Unhandled fetcher revalidation redirect");else if(eI(i))E(!1,"Unhandled fetcher deferred data");else{let t=e0(i.data);e.fetchers.set(r,t)}}}),{loaderData:f,errors:p}}function eU(e,t,r,n){let a=v({},t);for(let o of r){let r=o.route.id;if(t.hasOwnProperty(r)?void 0!==t[r]&&(a[r]=t[r]):void 0!==e[r]&&o.route.loader&&(a[r]=e[r]),n&&n.hasOwnProperty(r))break}return a}function ej(e){return e?ez(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function eM(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 eO(e){let t=1===e.length?e[0]:e.find(e=>e.index||!e.path||"/"===e.path)||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function eF(e,t){let{pathname:r,routeId:n,method:a,type:o,message:i}=void 0===t?{}:t,l="Unknown Server Error",s="Unknown @remix-run/router error";return 400===e?(l="Bad Request",a&&r&&n?s="You made a "+a+' request to "'+r+'" but did not provide a `loader` for route "'+n+'", so there is no way to handle the request.':"defer-action"===o?s="defer() is not supported in actions":"invalid-body"===o&&(s="Unable to encode submission body")):403===e?(l="Forbidden",s='Route "'+n+'" does not match URL "'+r+'"'):404===e?(l="Not Found",s='No route matches URL "'+r+'"'):405===e&&(l="Method Not Allowed",a&&r&&n?s="You made a "+a.toUpperCase()+' request to "'+r+'" but did not provide an `action` for route "'+n+'", so there is no way to handle the request.':a&&(s='Invalid request method "'+a.toUpperCase()+'"')),new et(e||500,l,Error(s),!0)}function eN(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[r,n]=t[e];if(eH(n))return{key:r,result:n}}}function eB(e){let t="string"==typeof e?P(e):e;return C(v({},t,{hash:""}))}function eI(e){return e.type===d.deferred}function ez(e){return e.type===d.error}function eH(e){return(e&&e.type)===d.redirect}function eW(e){return"object"==typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function e$(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"object"==typeof e.headers&&void 0!==e.body}function eV(e){return ea.has(e.toLowerCase())}async function eJ(e,t,r,n,a){let o=Object.entries(t);for(let i=0;i<o.length;i++){let[l,s]=o[i],u=e.find(e=>(null==e?void 0:e.route.id)===l);if(!u)continue;let c=n.find(e=>e.route.id===u.route.id),d=null!=c&&!ew(c,u)&&(a&&a[u.route.id])!==void 0;eI(s)&&d&&await eY(s,r,!1).then(e=>{e&&(t[l]=e)})}}async function eK(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:o,controller:i}=r[n],l=t[a];e.find(e=>(null==e?void 0:e.route.id)===o)&&eI(l)&&(E(i,"Expected an AbortController for revalidating fetcher deferred result"),await eY(l,i.signal,!0).then(e=>{e&&(t[a]=e)}))}}async function eY(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:d.data,data:e.deferredData.unwrappedData}}catch(e){return{type:d.error,error:e}}return{type:d.data,data:e.deferredData.data}}}function eq(e){return new URLSearchParams(e).getAll("index").some(e=>""===e)}function eX(e,t){let r="string"==typeof t?P(t).search:t.search;if(e[e.length-1].route.index&&eq(r||""))return e[e.length-1];let n=z(e);return n[n.length-1]}function eG(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(t&&r&&n){if(null!=a)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(null!=o)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};if(void 0!==i)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function eQ(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function eZ(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function e0(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function e1(){return(e1=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}).apply(this,arguments)}Symbol("deferred");let e7=p.createContext(null),e4=p.createContext(null),e5=p.createContext(null),e2=p.createContext(null),e3=p.createContext(null),e6=p.createContext({outlet:null,matches:[],isDataRoute:!1}),e8=p.createContext(null);function e9(e,t){let{relative:r}=void 0===t?{}:t;te()||E(!1);let{basename:n,navigator:a}=p.useContext(e2),{hash:o,pathname:i,search:l}=tc(e,{relative:r}),s=i;return"/"!==n&&(s="/"===i?n:$([n,i])),a.createHref({pathname:s,search:l,hash:o})}function te(){return null!=p.useContext(e3)}function tt(){return te()||E(!1),p.useContext(e3).location}function tr(){return p.useContext(e3).navigationType}function tn(e){te()||E(!1);let{pathname:t}=tt();return p.useMemo(()=>O(e,F(t)),[t,e])}function ta(e){p.useContext(e2).static||p.useLayoutEffect(e)}function to(){let{isDataRoute:e}=p.useContext(e6);return e?function(){let{router:e}=tb(ty.UseNavigateStable),t=tE(tg.UseNavigateStable),r=p.useRef(!1);return ta(()=>{r.current=!0}),p.useCallback(function(n,a){void 0===a&&(a={}),r.current&&("number"==typeof n?e.navigate(n):e.navigate(n,e1({fromRouteId:t},a)))},[e,t])}():function(){te()||E(!1);let e=p.useContext(e7),{basename:t,future:r,navigator:n}=p.useContext(e2),{matches:a}=p.useContext(e6),{pathname:o}=tt(),i=JSON.stringify(H(a,r.v7_relativeSplatPath)),l=p.useRef(!1);return ta(()=>{l.current=!0}),p.useCallback(function(r,a){if(void 0===a&&(a={}),!l.current)return;if("number"==typeof r){n.go(r);return}let s=W(r,JSON.parse(i),o,"path"===a.relative);null==e&&"/"!==t&&(s.pathname="/"===s.pathname?t:$([t,s.pathname])),(a.replace?n.replace:n.push)(s,a.state,a)},[t,n,i,o,e])}()}let ti=p.createContext(null);function tl(){return p.useContext(ti)}function ts(e){let t=p.useContext(e6).outlet;return t?p.createElement(ti.Provider,{value:e},t):t}function tu(){let{matches:e}=p.useContext(e6),t=e[e.length-1];return t?t.params:{}}function tc(e,t){let{relative:r}=void 0===t?{}:t,{future:n}=p.useContext(e2),{matches:a}=p.useContext(e6),{pathname:o}=tt(),i=JSON.stringify(H(a,n.v7_relativeSplatPath));return p.useMemo(()=>W(e,JSON.parse(i),o,"path"===r),[e,i,o,r])}function td(e,t){return th(e,t)}function th(e,t,r,n){let a;te()||E(!1);let{navigator:o,static:i}=p.useContext(e2),{matches:l}=p.useContext(e6),s=l[l.length-1],u=s?s.params:{};s&&s.pathname;let d=s?s.pathnameBase:"/";s&&s.route;let h=tt();if(t){var f;let e="string"==typeof t?P(t):t;"/"===d||(null==(f=e.pathname)?void 0:f.startsWith(d))||E(!1),a=e}else a=h;let m=a.pathname||"/",v=m;if("/"!==d){let e=d.replace(/^\//,"").split("/");v="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let y=!i&&r&&r.matches&&r.matches.length>0?r.matches:_(e,{pathname:v}),g=tv(y&&y.map(e=>Object.assign({},e,{params:Object.assign({},u,e.params),pathname:$([d,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?d:$([d,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),l,r,n);return t&&g?p.createElement(e3.Provider,{value:{location:e1({pathname:"/",search:"",hash:"",state:null,key:"default"},a),navigationType:c.Pop}},g):g}let tf=p.createElement(function(){let e=tk(),t=er(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null;return p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},t),r?p.createElement("pre",{style:{padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"}},r):null,null)},null);class tp extends p.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?p.createElement(e6.Provider,{value:this.props.routeContext},p.createElement(e8.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function tm(e){let{routeContext:t,match:r,children:n}=e,a=p.useContext(e7);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),p.createElement(e6.Provider,{value:t},n)}function tv(e,t,r,n){var a,o;if(void 0===t&&(t=[]),void 0===r&&(r=null),void 0===n&&(n=null),null==e){if(!r)return null;if(r.errors)e=r.matches;else{if(null==(o=n)||!o.v7_partialHydration||0!==t.length||r.initialized||!(r.matches.length>0))return null;e=r.matches}}let i=e,l=null==(a=r)?void 0:a.errors;if(null!=l){let e=i.findIndex(e=>e.route.id&&(null==l?void 0:l[e.route.id])!==void 0);e>=0||E(!1),i=i.slice(0,Math.min(i.length,e+1))}let s=!1,u=-1;if(r&&n&&n.v7_partialHydration)for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(u=e),t.route.id){let{loaderData:e,errors:n}=r,a=t.route.loader&&void 0===e[t.route.id]&&(!n||void 0===n[t.route.id]);if(t.route.lazy||a){s=!0,i=u>=0?i.slice(0,u+1):[i[0]];break}}}return i.reduceRight((e,n,a)=>{var o,c;let d;let h=!1,f=null,m=null;r&&(d=l&&n.route.id?l[n.route.id]:void 0,f=n.route.errorElement||tf,s&&(u<0&&0===a?(o="route-fallback",c=0,tj[o]||(tj[o]=!0),h=!0,m=null):u===a&&(h=!0,m=n.route.hydrateFallbackElement||null)));let v=t.concat(i.slice(0,a+1)),y=()=>{let t;return t=d?f:h?m:n.route.Component?p.createElement(n.route.Component,null):n.route.element?n.route.element:e,p.createElement(tm,{match:n,routeContext:{outlet:e,matches:v,isDataRoute:null!=r},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||0===a)?p.createElement(tp,{location:r.location,revalidation:r.revalidation,component:f,error:d,children:y(),routeContext:{outlet:null,matches:v,isDataRoute:!0}}):y()},null)}var ty=((o=ty||{}).UseBlocker="useBlocker",o.UseRevalidator="useRevalidator",o.UseNavigateStable="useNavigate",o),tg=((i=tg||{}).UseBlocker="useBlocker",i.UseLoaderData="useLoaderData",i.UseActionData="useActionData",i.UseRouteError="useRouteError",i.UseNavigation="useNavigation",i.UseRouteLoaderData="useRouteLoaderData",i.UseMatches="useMatches",i.UseRevalidator="useRevalidator",i.UseNavigateStable="useNavigate",i.UseRouteId="useRouteId",i);function tb(e){let t=p.useContext(e7);return t||E(!1),t}function tw(e){let t=p.useContext(e4);return t||E(!1),t}function tE(e){let t;let r=((t=p.useContext(e6))||E(!1),t),n=r.matches[r.matches.length-1];return n.route.id||E(!1),n.route.id}function tS(){return tE(tg.UseRouteId)}function tR(){return tw(tg.UseNavigation).navigation}function tx(){let e=tb(ty.UseRevalidator),t=tw(tg.UseRevalidator);return p.useMemo(()=>({revalidate:e.router.revalidate,state:t.revalidation}),[e.router.revalidate,t.revalidation])}function tC(){let{matches:e,loaderData:t}=tw(tg.UseMatches);return p.useMemo(()=>e.map(e=>A(e,t)),[e,t])}function tP(){let e=tw(tg.UseLoaderData),t=tE(tg.UseLoaderData);if(e.errors&&null!=e.errors[t]){console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")");return}return e.loaderData[t]}function tD(e){return tw(tg.UseRouteLoaderData).loaderData[e]}function tL(){let e=tw(tg.UseActionData),t=tE(tg.UseLoaderData);return e.actionData?e.actionData[t]:void 0}function tk(){var e;let t=p.useContext(e8),r=tw(tg.UseRouteError),n=tE(tg.UseRouteError);return void 0!==t?t:null==(e=r.errors)?void 0:e[n]}function t_(){let e=p.useContext(e5);return null==e?void 0:e._data}function tT(){let e=p.useContext(e5);return null==e?void 0:e._error}let tA=0;function tU(e){let{router:t,basename:r}=tb(ty.UseBlocker),n=tw(tg.UseBlocker),[a,o]=p.useState(""),i=p.useCallback(t=>{if("function"!=typeof e)return!!e;if("/"===r)return e(t);let{currentLocation:n,nextLocation:a,historyAction:o}=t;return e({currentLocation:e1({},n,{pathname:N(n.pathname,r)||n.pathname}),nextLocation:e1({},a,{pathname:N(a.pathname,r)||a.pathname}),historyAction:o})},[r,e]);return p.useEffect(()=>{let e=String(++tA);return o(e),()=>t.deleteBlocker(e)},[t]),p.useEffect(()=>{""!==a&&t.getBlocker(a,i)},[t,a,i]),a&&n.blockers.has(a)?n.blockers.get(a):ec}let tj={},tM=(e,t,r)=>{};function tO(e,t){(null==e?void 0:e.v7_startTransition)===void 0&&tM("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),(null==e?void 0:e.v7_relativeSplatPath)!==void 0||t&&t.v7_relativeSplatPath||tM("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath"),t&&(void 0===t.v7_fetcherPersist&&tM("v7_fetcherPersist","The persistence behavior of fetchers is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist"),void 0===t.v7_normalizeFormMethod&&tM("v7_normalizeFormMethod","Casing of `formMethod` fields is being normalized to uppercase in v7","https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod"),void 0===t.v7_partialHydration&&tM("v7_partialHydration","`RouterProvider` hydration behavior is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_partialhydration"),void 0===t.v7_skipActionErrorRevalidation&&tM("v7_skipActionErrorRevalidation","The revalidation behavior after 4xx/5xx `action` responses is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation"))}let tF=p.startTransition;function tN(e){let{basename:t,children:r,initialEntries:n,initialIndex:a,future:o}=e,i=p.useRef();null==i.current&&(i.current=g({initialEntries:n,initialIndex:a,v5Compat:!0}));let l=i.current,[s,u]=p.useState({action:l.action,location:l.location}),{v7_startTransition:c}=o||{},d=p.useCallback(e=>{c&&tF?tF(()=>u(e)):u(e)},[u,c]);return p.useLayoutEffect(()=>l.listen(d),[l,d]),p.useEffect(()=>tO(o),[o]),p.createElement(tH,{basename:t,children:r,location:s.location,navigationType:s.action,navigator:l,future:o})}function tB(e){let{to:t,replace:r,state:n,relative:a}=e;te()||E(!1);let{future:o,static:i}=p.useContext(e2),{matches:l}=p.useContext(e6),{pathname:s}=tt(),u=to(),c=JSON.stringify(W(t,H(l,o.v7_relativeSplatPath),s,"path"===a));return p.useEffect(()=>u(JSON.parse(c),{replace:r,state:n,relative:a}),[u,c,a,r,n]),null}function tI(e){return ts(e.context)}function tz(e){E(!1)}function tH(e){let{basename:t="/",children:r=null,location:n,navigationType:a=c.Pop,navigator:o,static:i=!1,future:l}=e;te()&&E(!1);let s=t.replace(/^\/*/,"/"),u=p.useMemo(()=>({basename:s,navigator:o,static:i,future:e1({v7_relativeSplatPath:!1},l)}),[s,l,o,i]);"string"==typeof n&&(n=P(n));let{pathname:d="/",search:h="",hash:f="",state:m=null,key:v="default"}=n,y=p.useMemo(()=>{let e=N(d,s);return null==e?null:{location:{pathname:e,search:h,hash:f,state:m,key:v},navigationType:a}},[s,d,h,f,m,v,a]);return null==y?null:p.createElement(e2.Provider,{value:u},p.createElement(e3.Provider,{children:r,value:y}))}function tW(e){let{children:t,location:r}=e;return th(tq(t),r)}function t$(e){let{children:t,errorElement:r,resolve:n}=e;return p.createElement(tK,{resolve:n,errorElement:r},p.createElement(tY,null,t))}var tV=((l=tV||{})[l.pending=0]="pending",l[l.success=1]="success",l[l.error=2]="error",l);let tJ=new Promise(()=>{});class tK extends p.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,a=tV.pending;if(r instanceof Promise){if(this.state.error){a=tV.error;let e=this.state.error;Object.defineProperty(n=Promise.reject().catch(()=>{}),"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?a="_error"in(n=r)?tV.error:"_data"in n?tV.success:tV.pending:(a=tV.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 a=tV.success,Object.defineProperty(n=Promise.resolve(),"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(a===tV.error&&n._error instanceof q)throw tJ;if(a===tV.error&&!t)throw n._error;if(a===tV.error)return p.createElement(e5.Provider,{value:n,children:t});if(a===tV.success)return p.createElement(e5.Provider,{value:n,children:e});throw n}}function tY(e){let{children:t}=e,r=t_(),n="function"==typeof t?t(r):t;return p.createElement(p.Fragment,null,n)}function tq(e,t){void 0===t&&(t=[]);let r=[];return p.Children.forEach(e,(e,n)=>{if(!p.isValidElement(e))return;let a=[...t,n];if(e.type===p.Fragment){r.push.apply(r,tq(e.props.children,a));return}e.type!==tz&&E(!1),e.props.index&&e.props.children&&E(!1);let o={id:e.props.id||a.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(o.children=tq(e.props.children,a)),r.push(o)}),r}function tX(e){return tv(e)}function tG(e){let t={hasErrorBoundary:null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&Object.assign(t,{element:p.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:p.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:p.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function tQ(e,t){return ep({basename:null==t?void 0:t.basename,future:e1({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:g({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:e,mapRouteProperties:tG,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation}).initialize()}function tZ(){return(tZ=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}).apply(this,arguments)}function t0(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}let t1="application/x-www-form-urlencoded";function t7(e){return null!=e&&"string"==typeof e.tagName}function t4(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]])},[]))}let t5=null,t2=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function t3(e){return null==e||t2.has(e)?e:null}let t6=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],t8=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],t9=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"];try{window.__reactRouterVersion="6"}catch(e){}function re(e,t){return ep({basename:null==t?void 0:t.basename,future:tZ({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:b({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||rr(),routes:e,mapRouteProperties:tG,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function rt(e,t){return ep({basename:null==t?void 0:t.basename,future:tZ({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:w({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||rr(),routes:e,mapRouteProperties:tG,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function rr(){var e;let t=null==(e=window)?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=tZ({},t,{errors:function(e){if(!e)return null;let t=Object.entries(e),r={};for(let[e,n]of t)if(n&&"RouteErrorResponse"===n.__type)r[e]=new et(n.status,n.statusText,n.data,!0===n.internal);else if(n&&"Error"===n.__type){if(n.__subType){let t=window[n.__subType];if("function"==typeof t)try{let a=new t(n.message);a.stack="",r[e]=a}catch(e){}}if(null==r[e]){let t=Error(n.message);t.stack="",r[e]=t}}else r[e]=n;return r}(t.errors)})),t}let rn=p.createContext({isTransitioning:!1}),ra=p.createContext(new Map),ro=p.startTransition,ri=m.flushSync,rl=p.useId;function rs(e){ri?ri(e):e()}class ru{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=t=>{"pending"===this.status&&(this.status="resolved",e(t))},this.reject=e=>{"pending"===this.status&&(this.status="rejected",t(e))}})}}function rc(e){let{fallbackElement:t,router:r,future:n}=e,[a,o]=p.useState(r.state),[i,l]=p.useState(),[s,u]=p.useState({isTransitioning:!1}),[c,d]=p.useState(),[h,f]=p.useState(),[m,v]=p.useState(),y=p.useRef(new Map),{v7_startTransition:g}=n||{},b=p.useCallback(e=>{if(g)ro?ro(e):e();else e()},[g]),w=p.useCallback((e,t)=>{let{deletedFetchers:n,flushSync:a,viewTransitionOpts:i}=t;e.fetchers.forEach((e,t)=>{void 0!==e.data&&y.current.set(t,e.data)}),n.forEach(e=>y.current.delete(e));let s=null==r.window||null==r.window.document||"function"!=typeof r.window.document.startViewTransition;if(!i||s){a?rs(()=>o(e)):b(()=>o(e));return}if(a){rs(()=>{h&&(c&&c.resolve(),h.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:i.currentLocation,nextLocation:i.nextLocation})});let t=r.window.document.startViewTransition(()=>{rs(()=>o(e))});t.finished.finally(()=>{rs(()=>{d(void 0),f(void 0),l(void 0),u({isTransitioning:!1})})}),rs(()=>f(t));return}h?(c&&c.resolve(),h.skipTransition(),v({state:e,currentLocation:i.currentLocation,nextLocation:i.nextLocation})):(l(e),u({isTransitioning:!0,flushSync:!1,currentLocation:i.currentLocation,nextLocation:i.nextLocation}))},[r.window,h,c,y,b]);p.useLayoutEffect(()=>r.subscribe(w),[r,w]),p.useEffect(()=>{s.isTransitioning&&!s.flushSync&&d(new ru)},[s]),p.useEffect(()=>{if(c&&i&&r.window){let e=c.promise,t=r.window.document.startViewTransition(async()=>{b(()=>o(i)),await e});t.finished.finally(()=>{d(void 0),f(void 0),l(void 0),u({isTransitioning:!1})}),f(t)}},[b,i,c,r.window]),p.useEffect(()=>{c&&i&&a.location.key===i.location.key&&c.resolve()},[c,h,a.location,i]),p.useEffect(()=>{!s.isTransitioning&&m&&(l(m.state),u({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))},[s.isTransitioning,m]),p.useEffect(()=>{},[]);let E=p.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,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]),S=r.basename||"/",R=p.useMemo(()=>({router:r,navigator:E,static:!1,basename:S}),[r,E,S]),x=p.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return p.useEffect(()=>tO(n,r.future),[n,r.future]),p.createElement(p.Fragment,null,p.createElement(e7.Provider,{value:R},p.createElement(e4.Provider,{value:a},p.createElement(ra.Provider,{value:y.current},p.createElement(rn.Provider,{value:s},p.createElement(tH,{basename:S,location:a.location,navigationType:a.historyAction,navigator:E,future:x},a.initialized||r.future.v7_partialHydration?p.createElement(rd,{routes:r.routes,future:r.future,state:a}):t))))),null)}let rd=p.memo(function(e){let{routes:t,future:r,state:n}=e;return th(t,void 0,n,r)});function rh(e){let{basename:t,children:r,future:n,window:a}=e,o=p.useRef();null==o.current&&(o.current=b({window:a,v5Compat:!0}));let i=o.current,[l,s]=p.useState({action:i.action,location:i.location}),{v7_startTransition:u}=n||{},c=p.useCallback(e=>{u&&ro?ro(()=>s(e)):s(e)},[s,u]);return p.useLayoutEffect(()=>i.listen(c),[i,c]),p.useEffect(()=>tO(n),[n]),p.createElement(tH,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i,future:n})}function rf(e){let{basename:t,children:r,future:n,window:a}=e,o=p.useRef();null==o.current&&(o.current=w({window:a,v5Compat:!0}));let i=o.current,[l,s]=p.useState({action:i.action,location:i.location}),{v7_startTransition:u}=n||{},c=p.useCallback(e=>{u&&ro?ro(()=>s(e)):s(e)},[s,u]);return p.useLayoutEffect(()=>i.listen(c),[i,c]),p.useEffect(()=>tO(n),[n]),p.createElement(tH,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i,future:n})}function rp(e){let{basename:t,children:r,future:n,history:a}=e,[o,i]=p.useState({action:a.action,location:a.location}),{v7_startTransition:l}=n||{},s=p.useCallback(e=>{l&&ro?ro(()=>i(e)):i(e)},[i,l]);return p.useLayoutEffect(()=>a.listen(s),[a,s]),p.useEffect(()=>tO(n),[n]),p.createElement(tH,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:a,future:n})}let rm="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,rv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ry=p.forwardRef(function(e,t){let r,{onClick:n,relative:a,reloadDocument:o,replace:i,state:l,target:s,to:u,preventScrollReset:c,viewTransition:d}=e,h=t0(e,t6),{basename:f}=p.useContext(e2),m=!1;if("string"==typeof u&&rv.test(u)&&(r=u,rm))try{let e=new URL(window.location.href),t=new URL(u.startsWith("//")?e.protocol+u:u),r=N(t.pathname,f);t.origin===e.origin&&null!=r?u=r+t.search+t.hash:m=!0}catch(e){}let v=e9(u,{relative:a}),y=rR(u,{replace:i,state:l,target:s,preventScrollReset:c,relative:a,viewTransition:d});return p.createElement("a",tZ({},h,{href:r||v,onClick:m||o?n:function(e){n&&n(e),e.defaultPrevented||y(e)},ref:t,target:s}))}),rg=p.forwardRef(function(e,t){let r,{"aria-current":n="page",caseSensitive:a=!1,className:o="",end:i=!1,style:l,to:s,viewTransition:u,children:c}=e,d=t0(e,t8),h=tc(s,{relative:d.relative}),f=tt(),m=p.useContext(e4),{navigator:v,basename:y}=p.useContext(e2),g=null!=m&&rO(h)&&!0===u,b=v.encodeLocation?v.encodeLocation(h).pathname:h.pathname,w=f.pathname,E=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;a||(w=w.toLowerCase(),E=E?E.toLowerCase():null,b=b.toLowerCase()),E&&y&&(E=N(E,y)||E);let S="/"!==b&&b.endsWith("/")?b.length-1:b.length,R=w===b||!i&&w.startsWith(b)&&"/"===w.charAt(S),x=null!=E&&(E===b||!i&&E.startsWith(b)&&"/"===E.charAt(b.length)),C={isActive:R,isPending:x,isTransitioning:g},P=R?n:void 0;r="function"==typeof o?o(C):[o,R?"active":null,x?"pending":null,g?"transitioning":null].filter(Boolean).join(" ");let D="function"==typeof l?l(C):l;return p.createElement(ry,tZ({},d,{"aria-current":P,className:r,ref:t,style:D,to:s,viewTransition:u}),"function"==typeof c?c(C):c)}),rb=p.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:o,state:i,method:l="get",action:s,onSubmit:u,relative:c,preventScrollReset:d,viewTransition:h}=e,f=t0(e,t9),m=rD(),v=rL(s,{relative:c}),y="get"===l.toLowerCase()?"get":"post";return p.createElement("form",tZ({ref:t,method:y,action:v,onSubmit:a?u:e=>{if(u&&u(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter,a=(null==t?void 0:t.getAttribute("formmethod"))||l;m(t||e.currentTarget,{fetcherKey:r,method:a,navigate:n,replace:o,state:i,relative:c,preventScrollReset:d,viewTransition:h})}},f))});function rw(e){let{getKey:t,storageKey:r}=e;return rU({getKey:t,storageKey:r}),null}function rE(e){let t=p.useContext(e7);return t||E(!1),t}function rS(e){let t=p.useContext(e4);return t||E(!1),t}function rR(e,t){let{target:r,replace:n,state:a,preventScrollReset:o,relative:i,viewTransition:l}=void 0===t?{}:t,s=to(),u=tt(),c=tc(e,{relative:i});return p.useCallback(t=>{0===t.button&&(!r||"_self"===r)&&!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&(t.preventDefault(),s(e,{replace:void 0!==n?n:C(u)===C(c),state:a,preventScrollReset:o,relative:i,viewTransition:l}))},[u,s,c,n,a,r,e,o,i,l])}function rx(e){let t=p.useRef(t4(e)),r=p.useRef(!1),n=tt(),a=p.useMemo(()=>{var e,a;let o;return e=n.search,a=r.current?null:t.current,o=t4(e),a&&a.forEach((e,t)=>{o.has(t)||a.getAll(t).forEach(e=>{o.append(t,e)})}),o},[n.search]),o=to(),i=p.useCallback((e,t)=>{let n=t4("function"==typeof e?e(a):e);r.current=!0,o("?"+n,t)},[o,a]);return[a,i]}(s=h||(h={})).UseScrollRestoration="useScrollRestoration",s.UseSubmit="useSubmit",s.UseSubmitFetcher="useSubmitFetcher",s.UseFetcher="useFetcher",s.useViewTransitionState="useViewTransitionState",(u=f||(f={})).UseFetcher="useFetcher",u.UseFetchers="useFetchers",u.UseScrollRestoration="useScrollRestoration";let rC=0,rP=()=>"__"+String(++rC)+"__";function rD(){let{router:e}=rE(h.UseSubmit),{basename:t}=p.useContext(e2),r=tS();return p.useCallback(function(n,a){void 0===a&&(a={}),function(){if("undefined"==typeof document)throw Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}();let{action:o,method:i,encType:l,formData:s,body:u}=function(e,t){let r,n,a,o,i;if(t7(e)&&"form"===e.tagName.toLowerCase()){let i=e.getAttribute("action");n=i?N(i,t):null,r=e.getAttribute("method")||"get",a=t3(e.getAttribute("enctype"))||t1,o=new FormData(e)}else if(t7(e)&&"button"===e.tagName.toLowerCase()||t7(e)&&"input"===e.tagName.toLowerCase()&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||i.getAttribute("action");if(n=l?N(l,t):null,r=e.getAttribute("formmethod")||i.getAttribute("method")||"get",a=t3(e.getAttribute("formenctype"))||t3(i.getAttribute("enctype"))||t1,o=new FormData(i,e),!function(){if(null===t5)try{new FormData(document.createElement("form"),0),t5=!1}catch(e){t5=!0}return t5}()){let{name:t,type:r,value:n}=e;if("image"===r){let e=t?t+".":"";o.append(e+"x","0"),o.append(e+"y","0")}else t&&o.append(t,n)}}else if(t7(e))throw Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');else r="get",n=null,a=t1,i=e;return o&&"text/plain"===a&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}(n,t);if(!1===a.navigate){let t=a.fetcherKey||rP();e.fetch(t,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:u,formMethod:a.method||i,formEncType:a.encType||l,flushSync:a.flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:u,formMethod:a.method||i,formEncType:a.encType||l,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,r])}function rL(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=p.useContext(e2),a=p.useContext(e6);a||E(!1);let[o]=a.matches.slice(-1),i=tZ({},tc(e||".",{relative:r})),l=tt();if(null==e){i.search=l.search;let e=new URLSearchParams(i.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let r=e.toString();i.search=r?"?"+r:""}}return(!e||"."===e)&&o.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(i.pathname="/"===i.pathname?n:$([n,i.pathname])),C(i)}function rk(e){var t;let{key:r}=void 0===e?{}:e,{router:n}=rE(h.UseFetcher),a=rS(f.UseFetcher),o=p.useContext(ra),i=p.useContext(e6),l=null==(t=i.matches[i.matches.length-1])?void 0:t.route.id;o||E(!1),i||E(!1),null==l&&E(!1);let s=rl?rl():"",[u,c]=p.useState(r||s);r&&r!==u?c(r):u||c(rP()),p.useEffect(()=>(n.getFetcher(u),()=>{n.deleteFetcher(u)}),[n,u]);let d=p.useCallback((e,t)=>{l||E(!1),n.fetch(u,l,e,t)},[u,l,n]),m=rD(),v=p.useCallback((e,t)=>{m(e,tZ({},t,{navigate:!1,fetcherKey:u}))},[u,m]),y=p.useMemo(()=>p.forwardRef((e,t)=>p.createElement(rb,tZ({},e,{navigate:!1,fetcherKey:u,ref:t}))),[u]),g=a.fetchers.get(u)||eu,b=o.get(u);return p.useMemo(()=>tZ({Form:y,submit:v,load:d},g,{data:b}),[y,v,d,g,b])}function r_(){return Array.from(rS(f.UseFetchers).fetchers.entries()).map(e=>{let[t,r]=e;return tZ({},r,{key:t})})}let rT="react-router-scroll-positions",rA={};function rU(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=rE(h.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:o}=rS(f.UseScrollRestoration),{basename:i}=p.useContext(e2),l=tt(),s=tC(),u=tR();p.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),function(e,t){let{capture:r}={};p.useEffect(()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("pagehide",e,t),()=>{window.removeEventListener("pagehide",e,t)}},[e,r])}(p.useCallback(()=>{"idle"===u.state&&(rA[(t?t(l,s):null)||l.key]=window.scrollY);try{sessionStorage.setItem(r||rT,JSON.stringify(rA))}catch(e){}window.history.scrollRestoration="auto"},[r,t,u.state,l,s])),"undefined"!=typeof document&&(p.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(r||rT);e&&(rA=JSON.parse(e))}catch(e){}},[r]),p.useLayoutEffect(()=>{let e=t&&"/"!==i?(e,r)=>t(tZ({},e,{pathname:N(e.pathname,i)||e.pathname}),r):t,r=null==n?void 0:n.enableScrollRestoration(rA,()=>window.scrollY,e);return()=>r&&r()},[n,i,t]),p.useLayoutEffect(()=>{if(!1!==a){if("number"==typeof a){window.scrollTo(0,a);return}if(l.hash){let e=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(e){e.scrollIntoView();return}}!0!==o&&window.scrollTo(0,0)}},[l,a,o]))}function rj(e,t){let{capture:r}=t||{};p.useEffect(()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("beforeunload",e,t),()=>{window.removeEventListener("beforeunload",e,t)}},[e,r])}function rM(e){let{when:t,message:r}=e,n=tU(t);p.useEffect(()=>{"blocked"===n.state&&(window.confirm(r)?setTimeout(n.proceed,0):n.reset())},[n,r]),p.useEffect(()=>{"blocked"!==n.state||t||n.reset()},[n,t])}function rO(e,t){void 0===t&&(t={});let r=p.useContext(rn);null==r&&E(!1);let{basename:n}=rE(h.useViewTransitionState),a=tc(e,{relative:t.relative});if(!r.isTransitioning)return!1;let o=N(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=N(r.nextLocation.pathname,n)||r.nextLocation.pathname;return null!=O(a.pathname,i)||null!=O(a.pathname,o)}}}]);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @remix-run/router v1.23.0
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) Remix Software Inc.
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* React Router DOM v6.30.0
|
|
14
|
+
*
|
|
15
|
+
* Copyright (c) Remix Software Inc.
|
|
16
|
+
*
|
|
17
|
+
* This source code is licensed under the MIT license found in the
|
|
18
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
19
|
+
*
|
|
20
|
+
* @license MIT
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* React Router v6.30.0
|
|
25
|
+
*
|
|
26
|
+
* Copyright (c) Remix Software Inc.
|
|
27
|
+
*
|
|
28
|
+
* This source code is licensed under the MIT license found in the
|
|
29
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
30
|
+
*
|
|
31
|
+
* @license MIT
|
|
32
|
+
*/
|