git-truck 3.0.2 → 3.1.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.
Files changed (50) hide show
  1. package/build/client/assets/GitTruckInfo-CiYjIacT.js +1 -0
  2. package/build/client/assets/RepoTabs-CWt-EVgp.js +1 -0
  3. package/build/client/assets/browse-Ce7uXDK8.js +1 -0
  4. package/build/client/assets/browse-wwHpvs7Z.js +9 -0
  5. package/build/client/assets/chunk-JPUPSTYD-YBbsfvLw.js +1 -0
  6. package/build/client/assets/clear-cache-C5k9U711.js +1 -0
  7. package/build/client/assets/clear-cache-Xrw5kNtu.js +1 -0
  8. package/build/client/assets/{compare-Br3z3FUS-OODPzXmX.js → compare-Br3z3FUS-CQWcjqXQ.js} +1 -1
  9. package/build/client/assets/{entry.client-NklqTk8N.js → entry.client-lU2GATMj.js} +2 -2
  10. package/build/client/assets/jsx-runtime-s_YwNCZb.js +26 -0
  11. package/build/client/assets/manifest-3c232792.js +1 -0
  12. package/build/client/assets/{react-dom-_FKEaPb7.js → react-dom-BkDQo3BN.js} +1 -1
  13. package/build/client/assets/{root-qwQAVU-u.css → root-CaiUVml-.css} +1 -1
  14. package/build/client/assets/{root-Djh_4EO9.js → root-CpxyjKLd.js} +2 -2
  15. package/build/client/assets/ui-EnssW_g_.js +1 -0
  16. package/build/client/assets/view-DhREUKDU.js +1 -0
  17. package/build/client/assets/view._index-jmCCN9mA.js +1 -0
  18. package/build/client/assets/view.commits-D8Z4b-x3.js +1 -0
  19. package/build/client/assets/view.details-Bsu_yyiE.js +1 -0
  20. package/build/server/assets/{server-build-D47uxE8F.js → server-build-DEt84pjT.js} +1200 -1275
  21. package/build/server/index.js +1 -1
  22. package/cli.mjs +1 -1
  23. package/package.json +2 -2
  24. package/build/client/assets/FullscreenButton-CFqdBqf-.js +0 -1
  25. package/build/client/assets/GitTruckInfo-C1VOiqSW.js +0 -1
  26. package/build/client/assets/RepoTabs-xQ7LCUn1.js +0 -1
  27. package/build/client/assets/UnionAuthorsModal-D-H775E5.js +0 -1
  28. package/build/client/assets/browse-CPxPbHtx.js +0 -1
  29. package/build/client/assets/browse-CuAoODR1.js +0 -9
  30. package/build/client/assets/chunk-JPUPSTYD-XO4UPun8.js +0 -1
  31. package/build/client/assets/chunk-LFPYN7LY-CPTP6242.js +0 -26
  32. package/build/client/assets/clear-cache-82hexQD7.js +0 -1
  33. package/build/client/assets/clear-cache-CrL0weu5.js +0 -1
  34. package/build/client/assets/jsx-runtime-BVRj4wYA.js +0 -1
  35. package/build/client/assets/manifest-b5d81016.js +0 -1
  36. package/build/client/assets/styling-B8OEge8x.js +0 -1
  37. package/build/client/assets/ui-nIuMvo3S.js +0 -1
  38. package/build/client/assets/util-1G1Ez1rt.js +0 -1
  39. package/build/client/assets/view-ESMBoxIY.js +0 -1
  40. package/build/client/assets/view._index-CjsEuBV6.js +0 -1
  41. package/build/client/assets/view.commits-DP_ltd6_.js +0 -1
  42. package/build/client/assets/view.details-C6kuGyhb.js +0 -1
  43. package/build/client/assets/view.merge-authors-VwPHWL-d.js +0 -1
  44. /package/build/client/assets/{_-RagYKtT_.js → _-CT17qCl3.js} +0 -0
  45. /package/build/client/assets/{_._well-known._-DIwl00oI.js → _._well-known._-8QUD84tm.js} +0 -0
  46. /package/build/client/assets/{_index-J0jvF8An.js → _index-VLoUE117.js} +0 -0
  47. /package/build/client/assets/{_path-bRAhzWvL.js → _path-DzSNgPJP.js} +0 -0
  48. /package/build/client/assets/{commitcount-eFguKtSp.js → commitcount-B_3CeIvr.js} +0 -0
  49. /package/build/client/assets/{commits-DPfZp-l3.js → commits-DDIAHyHU.js} +0 -0
  50. /package/build/client/assets/{view.progress-B7Os3EHt.js → view.progress-CEmcNaLe.js} +0 -0
@@ -1 +0,0 @@
1
- import{i as e,n as t}from"./jsx-runtime-BVRj4wYA.js";import{E as n,T as r,c as i,n as a}from"./chunk-LFPYN7LY-CPTP6242.js";var o=e(t(),1);[...i];function s(e,...t){let n=t[0],r=c(e).replace(/\/:([\w-]+)(\?)?/g,(t,r,i)=>{let a=i===void 0,o=n?.[r];if(a&&o===void 0)throw Error(`Path '${e}' requires param '${r}' but it was not provided`);return o===void 0?``:`/`+o});if(e.endsWith(`*`)){let e=n?.[`*`];e!==void 0&&(r+=`/`+e)}return r||`/`}function c(e){let t=e.length-1,n=e[t];if(n!==`*`&&n!==`/`)return e;for(t--;t>=0&&e[t]===`/`;t--);return e.slice(0,t+1)}new TextEncoder,o.use;function l(e){if(!e)return null;let t=Object.entries(e),n={};for(let[e,r]of t)if(r&&r.__type===`RouteErrorResponse`)n[e]=new a(r.status,r.statusText,r.data,r.internal===!0);else if(r&&r.__type===`Error`){if(r.__subType){let t=window[r.__subType];if(typeof t==`function`)try{let i=new t(r.message);i.stack=r.stack,n[e]=i}catch{}}if(n[e]==null){let t=Error(r.message);t.stack=r.stack,n[e]=t}}else n[e]=r;return n}function u({state:e,routes:t,getRouteInfo:i,location:a,basename:o,isSpaMode:s}){let c={...e,loaderData:{...e.loaderData}},l=r(t,a,o);if(l)for(let e of l){let t=e.route.id,r=i(t);n(t,r.clientLoader,r.hasLoader,s)&&(r.hasHydrateFallback||!r.hasLoader)?delete c.loaderData[t]:r.hasLoader||(c.loaderData[t]=null)}return c}export{u as n,s as r,l as t};
@@ -1,26 +0,0 @@
1
- import{i as e,n as t}from"./jsx-runtime-BVRj4wYA.js";var n=`modulepreload`,r=function(e){return`/`+e},i={};const a=function(e,t,a){let o=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),s=document.querySelector(`meta[property=csp-nonce]`),c=s?.nonce||s?.getAttribute(`nonce`);function l(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}o=l(t.map(t=>{if(t=r(t,a),t in i)return;i[t]=!0;let o=t.endsWith(`.css`),s=o?`[rel="stylesheet"]`:``;if(a)for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.href===t&&(!o||r.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${s}`))return;let l=document.createElement(`link`);if(l.rel=o?`stylesheet`:n,o||(l.as=`script`),l.crossOrigin=``,l.href=t,c&&l.setAttribute(`nonce`,c),document.head.appendChild(l),o)return new Promise((e,n)=>{l.addEventListener(`load`,e),l.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function s(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return o.then(t=>{for(let e of t||[])e.status===`rejected`&&s(e.reason);return e().catch(s)})};var o=e(t(),1),s=e=>{throw TypeError(e)},c=(e,t,n)=>t.has(e)||s(`Cannot `+n),l=(e,t,n)=>(c(e,t,`read from private field`),n?n.call(e):t.get(e)),u=(e,t,n)=>t.has(e)?s(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),d=`popstate`;function f(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function p(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return v(``,{pathname:r,search:i,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||`default`,n?{pathname:e.location.pathname,search:e.location.search,hash:e.location.hash}:void 0)}function n(e,t){return typeof t==`string`?t:y(t)}return x(t,n,null,e)}function m(e,t){if(e===!1||e==null)throw Error(t)}function h(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function g(){return Math.random().toString(36).substring(2,10)}function _(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.unstable_mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function v(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?b(t):t,state:n,key:t&&t.key||r||g(),unstable_mask:i}}function y({pathname:e=`/`,search:t=``,hash:n=``}){return t&&t!==`?`&&(e+=t.charAt(0)===`?`?t:`?`+t),n&&n!==`#`&&(e+=n.charAt(0)===`#`?n:`#`+n),e}function b(e){let t={};if(e){let n=e.indexOf(`#`);n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let r=e.indexOf(`?`);r>=0&&(t.search=e.substring(r),e=e.substring(0,r)),e&&(t.pathname=e)}return t}function x(e,t,n,r={}){let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,s=`POP`,c=null,l=u();l??(l=0,o.replaceState({...o.state,idx:l},``));function u(){return(o.state||{idx:null}).idx}function p(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:y.location,delta:t})}function m(e,t){s=`PUSH`;let r=f(e)?e:v(y.location,e,t);n&&n(r,e),l=u()+1;let d=_(r,l),p=y.createHref(r.unstable_mask||r);try{o.pushState(d,``,p)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(p)}a&&c&&c({action:s,location:y.location,delta:1})}function h(e,t){s=`REPLACE`;let r=f(e)?e:v(y.location,e,t);n&&n(r,e),l=u();let i=_(r,l),d=y.createHref(r.unstable_mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:y.location,delta:0})}function g(e){return S(e)}let y={get action(){return s},get location(){return e(i,o)},listen(e){if(c)throw Error(`A history only accepts one active listener`);return i.addEventListener(d,p),c=e,()=>{i.removeEventListener(d,p),c=null}},createHref(e){return t(i,e)},createURL:g,encodeLocation(e){let t=g(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:m,replace:h,go(e){return o.go(e)}};return y}function S(e,t=!1){let n=`http://localhost`;typeof window<`u`&&(n=window.location.origin===`null`?window.location.href:window.location.origin),m(n,`No window.location.(origin|href) available to create URL`);let r=typeof e==`string`?e:y(e);return r=r.replace(/ $/,`%20`),!t&&r.startsWith(`//`)&&(r=n+r),new URL(r,n)}function C(e){return{defaultValue:e}}var w,T=class{constructor(e){if(u(this,w,new Map),e)for(let[t,n]of e)this.set(t,n)}get(e){if(l(this,w).has(e))return l(this,w).get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw Error(`No value found for context`)}set(e,t){l(this,w).set(e,t)}};w=new WeakMap;var E=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`children`]);function D(e){return E.has(e)}var O=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`middleware`,`children`]);function k(e){return O.has(e)}function A(e){return e.index===!0}function ee(e,t,n=[],r={},i=!1){return e.map((e,a)=>{let o=[...n,String(a)],s=typeof e.id==`string`?e.id:o.join(`-`);if(m(e.index!==!0||!e.children,`Cannot specify children on an index route`),m(i||!r[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),A(e)){let n={...e,id:s};return r[s]=j(n,t(n)),n}else{let n={...e,id:s,children:void 0};return r[s]=j(n,t(n)),e.children&&(n.children=ee(e.children,t,o,r,i)),n}})}function j(e,t){return Object.assign(e,{...t,...typeof t.lazy==`object`&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function M(e,t,n=`/`){return te(e,t,n,!1)}function te(e,t,n,r){let i=R((typeof t==`string`?b(t):t).pathname||`/`,n);if(i==null)return null;let a=N(e);P(a);let o=null;for(let e=0;o==null&&e<a.length;++e){let t=pe(i);o=de(a[e],t,r)}return o}function ne(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,data:t[n.id],loaderData:t[n.id],handle:n.handle}}function N(e,t=[],n=[],r=``,i=!1){let a=(e,a,o=i,s)=>{let c={relativePath:s===void 0?e.path||``:s,caseSensitive:e.caseSensitive===!0,childrenIndex:a,route:e};if(c.relativePath.startsWith(`/`)){if(!c.relativePath.startsWith(r)&&o)return;m(c.relativePath.startsWith(r),`Absolute route path "${c.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),c.relativePath=c.relativePath.slice(r.length)}let l=V([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(m(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),N(e.children,t,u,l,o)),!(e.path==null&&!e.index)&&t.push({path:l,score:le(l,e.index),routesMeta:u})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of re(e.path))a(e,t,!0,n)}),t}function re(e){let t=e.split(`/`);if(t.length===0)return[];let[n,...r]=t,i=n.endsWith(`?`),a=n.replace(/\?$/,``);if(r.length===0)return i?[a,``]:[a];let o=re(r.join(`/`)),s=[];return s.push(...o.map(e=>e===``?a:[a,e].join(`/`))),i&&s.push(...o),s.map(t=>e.startsWith(`/`)&&t===``?`/`:t)}function P(e){e.sort((e,t)=>e.score===t.score?ue(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var ie=/^:[\w-]+$/,F=3,ae=2,oe=1,se=10,ce=-2,I=e=>e===`*`;function le(e,t){let n=e.split(`/`),r=n.length;return n.some(I)&&(r+=ce),t&&(r+=ae),n.filter(e=>!I(e)).reduce((e,t)=>e+(ie.test(t)?F:t===``?oe:se),r)}function ue(e,t){return e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n])?e[e.length-1]-t[t.length-1]:0}function de(e,t,n=!1){let{routesMeta:r}=e,i={},a=`/`,o=[];for(let e=0;e<r.length;++e){let s=r[e],c=e===r.length-1,l=a===`/`?t:t.slice(a.length)||`/`,u=L({path:s.relativePath,caseSensitive:s.caseSensitive,end:c},l),d=s.route;if(!u&&c&&n&&!r[r.length-1].route.index&&(u=L({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!u)return null;Object.assign(i,u.params),o.push({params:i,pathname:V([a,u.pathname]),pathnameBase:xe(V([a,u.pathnameBase])),route:d}),u.pathnameBase!==`/`&&(a=V([a,u.pathnameBase]))}return o}function L(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=fe(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,`$1`),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=a.slice(0,a.length-e.length).replace(/(.)\/+$/,`$1`)}let i=s[r];return n&&!i?e[t]=void 0:e[t]=(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function fe(e,t=!1,n=!0){h(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 r=[],i=`^`+e.replace(/\/*\*?$/,``).replace(/^\/*/,`/`).replace(/[\\.*+^${}|()[\]]/g,`\\$&`).replace(/\/:([\w-]+)(\?)?/g,(e,t,n,i,a)=>{if(r.push({paramName:t,isOptional:n!=null}),n){let t=a.charAt(i+e.length);return t&&t!==`/`?`/([^\\/]*)`:`(?:/([^\\/]*))?`}return`/([^\\/]+)`}).replace(/\/([\w-]+)\?(\/|$)/g,`(/$1)?$2`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function pe(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return h(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function R(e,t){if(t===`/`)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith(`/`)?t.length-1:t.length,r=e.charAt(n);return r&&r!==`/`?null:e.slice(n)||`/`}function z({basename:e,pathname:t}){return t===`/`?e:V([e,t])}var me=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,he=e=>me.test(e);function ge(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?b(e):e,a;return n?(n=n.replace(/\/\/+/g,`/`),a=n.startsWith(`/`)?_e(n.substring(1),`/`):_e(n,t)):a=t,{pathname:a,search:Se(r),hash:Ce(i)}}function _e(e,t){let n=t.replace(/\/+$/,``).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function ve(e,t,n,r){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function ye(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function be(e){let t=ye(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function B(e,t,n,r=!1){let i;typeof e==`string`?i=b(e):(i={...e},m(!i.pathname||!i.pathname.includes(`?`),ve(`?`,`pathname`,`search`,i)),m(!i.pathname||!i.pathname.includes(`#`),ve(`#`,`pathname`,`hash`,i)),m(!i.search||!i.search.includes(`#`),ve(`#`,`search`,`hash`,i)));let a=e===``||i.pathname===``,o=a?`/`:i.pathname,s;if(o==null)s=n;else{let e=t.length-1;if(!r&&o.startsWith(`..`)){let t=o.split(`/`);for(;t[0]===`..`;)t.shift(),--e;i.pathname=t.join(`/`)}s=e>=0?t[e]:`/`}let c=ge(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var V=e=>e.join(`/`).replace(/\/\/+/g,`/`),xe=e=>e.replace(/\/+$/,``).replace(/^\/*/,`/`),Se=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,Ce=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,we=class{constructor(e,t){this.type=`DataWithResponseInit`,this.data=e,this.init=t||null}};function Te(e,t){return new we(e,typeof t==`number`?{status:t}:t)}var Ee=(e,t=302)=>{let n=t;typeof n==`number`?n={status:n}:n.status===void 0&&(n.status=302);let r=new Headers(n.headers);return r.set(`Location`,e),new Response(null,{...n,headers:r})},H=class{constructor(e,t,n,r=!1){this.status=e,this.statusText=t||``,this.internal=r,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function De(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function Oe(e){return e.map(e=>e.route.path).filter(Boolean).join(`/`).replace(/\/\/*/g,`/`)||`/`}var ke=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Ae(e,t){let n=e;if(typeof n!=`string`||!me.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(ke)try{let e=new URL(window.location.href),r=n.startsWith(`//`)?new URL(e.protocol+n):new URL(n),a=R(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{h(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:r,isExternal:i,to:n}}var U=Symbol(`Uninstrumented`);function je(e,t){let n={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};e.forEach(e=>e({id:t.id,index:t.index,path:t.path,instrument(e){let t=Object.keys(n);for(let r of t)e[r]&&n[r].push(e[r])}}));let r={};if(typeof t.lazy==`function`&&n.lazy.length>0){let e=W(n.lazy,t.lazy,()=>void 0);e&&(r.lazy=e)}if(typeof t.lazy==`object`){let e=t.lazy;[`middleware`,`loader`,`action`].forEach(t=>{let i=e[t],a=n[`lazy.${t}`];if(typeof i==`function`&&a.length>0){let e=W(a,i,()=>void 0);e&&(r.lazy=Object.assign(r.lazy||{},{[t]:e}))}})}return[`loader`,`action`].forEach(e=>{let i=t[e];if(typeof i==`function`&&n[e].length>0){let t=i[U]??i,a=W(n[e],t,(...e)=>Pe(e[0]));a&&(e===`loader`&&t.hydrate===!0&&(a.hydrate=!0),a[U]=t,r[e]=a)}}),t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=e[U]??e,r=W(n.middleware,t,(...e)=>Pe(e[0]));return r?(r[U]=t,r):e})),r}function Me(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){let t=Object.keys(e);for(let r of t)e[r]&&n[r].push(e[r])}})),n.navigate.length>0){let t=e.navigate[U]??e.navigate,r=W(n.navigate,t,(...t)=>{let[n,r]=t;return{to:typeof n==`number`||typeof n==`string`?n:n?y(n):`.`,...G(e,r??{})}});r&&(r[U]=t,e.navigate=r)}if(n.fetch.length>0){let t=e.fetch[U]??e.fetch,r=W(n.fetch,t,(...t)=>{let[n,,r,i]=t;return{href:r??`.`,fetcherKey:n,...G(e,i??{})}});r&&(r[U]=t,e.fetch=r)}return e}function W(e,t,n){return e.length===0?null:async(...r)=>{let i=await Ne(e,n(...r),()=>t(...r),e.length-1);if(i.type===`error`)throw i.value;return i.value}}async function Ne(e,t,n,r){let i=e[r],a;if(i){let o,s=async()=>(o?console.error(`You cannot call instrumented handlers more than once`):o=Ne(e,t,n,r-1),a=await o,m(a,`Expected a result`),a.type===`error`&&a.value instanceof Error?{status:`error`,error:a.value}:{status:`success`,error:void 0});try{await i(s,t)}catch(e){console.error(`An instrumentation function threw an error:`,e)}o||await s(),await o}else try{a={type:`success`,value:await n()}}catch(e){a={type:`error`,value:e}}return a||{type:`error`,value:Error(`No result assigned in instrumentation chain.`)}}function Pe(e){let{request:t,context:n,params:r,unstable_pattern:i}=e;return{request:K(t),params:{...r},unstable_pattern:i,context:Fe(n)}}function G(e,t){return{currentUrl:y(e.state.location),...`formMethod`in t?{formMethod:t.formMethod}:{},...`formEncType`in t?{formEncType:t.formEncType}:{},...`formData`in t?{formData:t.formData}:{},...`body`in t?{body:t.body}:{}}}function K(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function Fe(e){if(Le(e)){let t={...e};return Object.freeze(t),t}else return{get:t=>e.get(t)}}var Ie=Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);function Le(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Object.getOwnPropertyNames(t).sort().join(`\0`)===Ie}var Re=[`POST`,`PUT`,`PATCH`,`DELETE`],ze=new Set(Re),Be=[`GET`,...Re],Ve=new Set(Be),He=new Set([301,302,303,307,308]),Ue=new Set([307,308]),We={state:`idle`,location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ge={state:`idle`,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Ke={state:`unblocked`,proceed:void 0,reset:void 0,location:void 0},qe=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Je=`remix-router-transitions`,Ye=Symbol(`ResetLoaderData`);function Xe(e){let t=e.window?e.window:typeof window<`u`?window:void 0,n=t!==void 0&&t.document!==void 0&&t.document.createElement!==void 0;m(e.routes.length>0,`You must provide a non-empty routes array to createRouter`);let r=e.hydrationRouteProperties||[],i=e.mapRouteProperties||qe,a=i;if(e.unstable_instrumentations){let t=e.unstable_instrumentations;a=e=>({...i(e),...je(t.map(e=>e.route).filter(Boolean),e)})}let o={},s=ee(e.routes,a,void 0,o),c,l=e.basename||`/`;l.startsWith(`/`)||(l=`/${l}`);let u=e.dataStrategy||pt,d={...e.future},f=null,p=new Set,g=null,_=null,y=null,x=e.hydrationData!=null,C=M(s,e.history.location,l),w=!1,E=null,D,O;if(C==null&&!e.patchRoutesOnNavigation){let t=q(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=Pt(s);D=!0,O=!D,C=n,E={[r.id]:t}}else if(C&&!e.hydrationData&&lt(C,s,e.history.location.pathname).active&&(C=null),C)if(C.some(e=>e.route.lazy))D=!1,O=!D;else if(!C.some(e=>tt(e.route)))D=!0,O=!D;else{let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=C;if(n){let e=C.findIndex(e=>n[e.route.id]!==void 0);r=r.slice(0,e+1)}O=!1,D=r.every(e=>{let r=nt(e.route,t,n);return O||=r.renderFallback,!r.shouldLoad})}else{D=!1,O=!D,C=[];let t=lt(null,s,e.history.location.pathname);t.active&&t.matches&&(w=!0,C=t.matches)}let k,A={historyAction:e.history.action,location:e.history.location,matches:C,initialized:D,renderFallback:O,navigation:We,restoreScrollPosition:e.hydrationData==null?null:!1,preventScrollReset:!1,revalidation:`idle`,loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||E,fetchers:new Map,blockers:new Map},j=`POP`,N=null,re=!1,P,ie=!1,F=new Map,ae=null,oe=!1,se=!1,ce=new Set,I=new Map,le=0,ue=-1,de=new Map,L=new Set,fe=new Map,pe=new Map,z=new Set,me=new Map,ge,_e=null;function ve(){if(f=e.history.listen(({action:t,location:n,delta:r})=>{if(ge){ge(),ge=void 0;return}h(me.size===0||r!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let i=Ze({currentLocation:A.location,nextLocation:n,historyAction:t});if(i&&r!=null){let t=new Promise(e=>{ge=e});e.history.go(r*-1),Xe(i,{state:`blocked`,location:n,proceed(){Xe(i,{state:`proceeding`,proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(r))},reset(){let e=new Map(A.blockers);e.set(i,Ke),B({blockers:e})}}),N?.resolve(),N=null;return}return Ce(t,n)}),n){nn(t,F);let e=()=>rn(t,F);t.addEventListener(`pagehide`,e),ae=()=>t.removeEventListener(`pagehide`,e)}return A.initialized||Ce(`POP`,A.location,{initialHydration:!0}),k}function ye(){f&&f(),ae&&ae(),p.clear(),P&&P.abort(),A.fetchers.forEach((e,t)=>Le(t)),A.blockers.forEach((e,t)=>Ye(t))}function be(e){return p.add(e),()=>p.delete(e)}function B(e,t={}){e.matches&&=e.matches.map(e=>{let t=o[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e}),A={...A,...e};let n=[],r=[];A.fetchers.forEach((e,t)=>{e.state===`idle`&&(z.has(t)?n.push(t):r.push(t))}),z.forEach(e=>{!A.fetchers.has(e)&&!I.has(e)&&n.push(e)}),[...p].forEach(r=>r(A,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:t.flushSync===!0})),n.forEach(e=>Le(e)),r.forEach(e=>A.fetchers.delete(e))}function V(t,n,{flushSync:r}={}){let i=A.actionData!=null&&A.navigation.formMethod!=null&&Y(A.navigation.formMethod)&&A.navigation.state===`loading`&&t.state?._isRedirect!==!0,a;a=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:i?A.actionData:null;let o=n.loaderData?jt(A.loaderData,n.loaderData,n.matches||[],n.errors):A.loaderData,l=A.blockers;l.size>0&&(l=new Map(l),l.forEach((e,t)=>l.set(t,Ke)));let u=oe?!1:ct(t,n.matches||A.matches),d=re===!0||A.navigation.formMethod!=null&&Y(A.navigation.formMethod)&&t.state?._isRedirect!==!0;c&&=(s=c,void 0),oe||j===`POP`||(j===`PUSH`?e.history.push(t,t.state):j===`REPLACE`&&e.history.replace(t,t.state));let f;if(j===`POP`){let e=F.get(A.location.pathname);e&&e.has(t.pathname)?f={currentLocation:A.location,nextLocation:t}:F.has(t.pathname)&&(f={currentLocation:t,nextLocation:A.location})}else if(ie){let e=F.get(A.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),F.set(A.location.pathname,e)),f={currentLocation:A.location,nextLocation:t}}B({...n,actionData:a,loaderData:o,historyAction:j,location:t,initialized:!0,renderFallback:!1,navigation:We,revalidation:`idle`,restoreScrollPosition:u,preventScrollReset:d,blockers:l},{viewTransitionOpts:f,flushSync:r===!0}),j=`POP`,re=!1,ie=!1,oe=!1,se=!1,N?.resolve(),N=null,_e?.resolve(),_e=null}async function xe(t,n){if(N?.resolve(),N=null,typeof t==`number`){N||=an();let n=N.promise;return e.history.go(t),n}let{path:r,submission:i,error:a}=$e(!1,Qe(A.location,A.matches,l,t,n?.fromRouteId,n?.relative),n),o;n?.unstable_mask&&(o={pathname:``,search:``,hash:``,...typeof n.unstable_mask==`string`?b(n.unstable_mask):{...A.location.unstable_mask,...n.unstable_mask}});let s=A.location,c=v(s,r,n&&n.state,void 0,o);c={...c,...e.history.encodeLocation(c)};let u=n&&n.replace!=null?n.replace:void 0,d=`PUSH`;u===!0?d=`REPLACE`:u===!1||i!=null&&Y(i.formMethod)&&i.formAction===A.location.pathname+A.location.search&&(d=`REPLACE`);let f=n&&`preventScrollReset`in n?n.preventScrollReset===!0:void 0,p=(n&&n.flushSync)===!0,m=Ze({currentLocation:s,nextLocation:c,historyAction:d});if(m){Xe(m,{state:`blocked`,location:c,proceed(){Xe(m,{state:`proceeding`,proceed:void 0,reset:void 0,location:c}),xe(t,n)},reset(){let e=new Map(A.blockers);e.set(m,Ke),B({blockers:e})}});return}await Ce(d,c,{submission:i,pendingError:a,preventScrollReset:f,replace:n&&n.replace,enableViewTransition:n&&n.viewTransition,flushSync:p,callSiteDefaultShouldRevalidate:n&&n.unstable_defaultShouldRevalidate})}function Se(){_e||=an(),Pe(),B({revalidation:`loading`});let e=_e.promise;return A.navigation.state===`submitting`?e:A.navigation.state===`idle`?(Ce(A.historyAction,A.location,{startUninterruptedRevalidation:!0}),e):(Ce(j||A.historyAction,A.navigation.location,{overrideNavigation:A.navigation,enableViewTransition:ie===!0}),e)}async function Ce(t,n,r){P&&P.abort(),P=null,j=t,oe=(r&&r.startUninterruptedRevalidation)===!0,st(A.location,A.matches),re=(r&&r.preventScrollReset)===!0,ie=(r&&r.enableViewTransition)===!0;let i=c||s,a=r&&r.overrideNavigation,o=r?.initialHydration&&A.matches&&A.matches.length>0&&!w?A.matches:M(i,n,l),u=(r&&r.flushSync)===!0;if(o&&A.initialized&&!se&&Lt(A.location,n)&&!(r&&r.submission&&Y(r.submission.formMethod))){V(n,{matches:o},{flushSync:u});return}let d=lt(o,i,n.pathname);if(d.active&&d.matches&&(o=d.matches),!o){let{error:e,notFoundMatches:t,route:r}=rt(n.pathname);V(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:u});return}P=new AbortController;let f=Et(e.history,n,P.signal,r&&r.submission),p=e.getContext?await e.getContext():new T,m;if(r&&r.pendingError)m=[Nt(o).route.id,{type:`error`,error:r.pendingError}];else if(r&&r.submission&&Y(r.submission.formMethod)){let t=await we(f,n,r.submission,o,p,d.active,r&&r.initialHydration===!0,{replace:r.replace,flushSync:u});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,r]=t.pendingActionResult;if(J(r)&&De(r.error)&&r.error.status===404){P=null,V(n,{matches:t.matches,loaderData:{},errors:{[e]:r.error}});return}}o=t.matches||o,m=t.pendingActionResult,a=Zt(n,r.submission),u=!1,d.active=!1,f=Et(e.history,f.url,f.signal)}let{shortCircuited:h,matches:g,loaderData:_,errors:v}=await Te(f,n,o,p,d.active,a,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&r.initialHydration===!0,u,m,r&&r.callSiteDefaultShouldRevalidate);h||(P=null,V(n,{matches:g||o,...Mt(m),loaderData:_,errors:v}))}async function we(t,n,i,c,u,d,f,p={}){if(Pe(),B({navigation:Qt(n,i)},{flushSync:p.flushSync===!0}),d){let e=await ut(c,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=Pt(s);return{matches:t,pendingActionResult:[n.id,{type:`error`,error:e.error}]}}let t=Nt(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:`error`,error:e.error}]}}else if(e.matches)c=e.matches;else{let{notFoundMatches:e,error:t,route:r}=rt(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:`error`,error:t}]}}}let m,h=Yt(c,n);if(!h.route.action&&!h.route.lazy)m={type:`error`,error:q(405,{method:t.method,pathname:n.pathname,routeId:h.route.id})};else{let e=await W(t,yt(a,o,t,c,h,f?[]:r,u),u,null);if(m=e[h.route.id],!m){for(let t of c)if(e[t.route.id]){m=e[t.route.id];break}}if(t.signal.aborted)return{shortCircuited:!0}}if(Ht(m)){let n;return n=p&&p.replace!=null?p.replace:Tt(m.response.headers.get(`Location`),new URL(t.url),l,e.history)===A.location.pathname+A.location.search,await U(t,m,!0,{submission:i,replace:n}),{shortCircuited:!0}}if(J(m)){let e=Nt(c,h.route.id);return(p&&p.replace)!==!0&&(j=`PUSH`),{matches:c,pendingActionResult:[e.route.id,m,h.route.id]}}return{matches:c,pendingActionResult:[h.route.id,m]}}async function Te(t,n,i,u,d,f,p,m,h,g,_,v,y){let b=f||Zt(n,p),x=p||m||Xt(b),S=!oe&&!g;if(d){if(S){let e=Ee(v);B({navigation:b,...e===void 0?{}:{actionData:e}},{flushSync:_})}let e=await ut(i,n.pathname,t.signal);if(e.type===`aborted`)return{shortCircuited:!0};if(e.type===`error`){if(e.partialMatches.length===0){let{matches:t,route:n}=Pt(s);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=Nt(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}else if(e.matches)i=e.matches;else{let{error:e,notFoundMatches:t,route:r}=rt(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let C=c||s,{dsMatches:w,revalidatingFetchers:T}=et(t,u,a,o,e.history,A,i,x,n,g?[]:r,g===!0,se,ce,z,fe,L,C,l,e.patchRoutesOnNavigation!=null,v,y);if(ue=++le,!e.dataStrategy&&!w.some(e=>e.shouldLoad)&&!w.some(e=>e.route.middleware&&e.route.middleware.length>0)&&T.length===0){let e=Ve();return V(n,{matches:i,loaderData:{},errors:v&&J(v[1])?{[v[0]]:v[1].error}:null,...Mt(v),...e?{fetchers:new Map(A.fetchers)}:{}},{flushSync:_}),{shortCircuited:!0}}if(S){let e={};if(!d){e.navigation=b;let t=Ee(v);t!==void 0&&(e.actionData=t)}T.length>0&&(e.fetchers=H(T)),B(e,{flushSync:_})}T.forEach(e=>{ze(e.key),e.controller&&I.set(e.key,e.controller)});let E=()=>T.forEach(e=>ze(e.key));P&&P.signal.addEventListener(`abort`,E);let{loaderResults:D,fetcherResults:O}=await Ne(w,T,t,u);if(t.signal.aborted)return{shortCircuited:!0};P&&P.signal.removeEventListener(`abort`,E),T.forEach(e=>I.delete(e.key));let k=Ft(D);if(k)return await U(t,k.result,!0,{replace:h}),{shortCircuited:!0};if(k=Ft(O),k)return L.add(k.key),await U(t,k.result,!0,{replace:h}),{shortCircuited:!0};let{loaderData:ee,errors:j}=At(A,i,D,v,T,O);g&&A.errors&&(j={...A.errors,...j});let M=Ve(),te=He(ue),ne=M||te||T.length>0;return{matches:i,loaderData:ee,errors:j,...ne?{fetchers:new Map(A.fetchers)}:{}}}function Ee(e){if(e&&!J(e[1]))return{[e[0]]:e[1].data};if(A.actionData)return Object.keys(A.actionData).length===0?null:A.actionData}function H(e){return e.forEach(e=>{let t=A.fetchers.get(e.key),n=$t(void 0,t?t.data:void 0);A.fetchers.set(e.key,n)}),new Map(A.fetchers)}async function Oe(t,n,r,i){ze(t);let a=(i&&i.flushSync)===!0,o=c||s,u=Qe(A.location,A.matches,l,r,n,i?.relative),d=M(o,u,l),f=lt(d,o,u);if(f.active&&f.matches&&(d=f.matches),!d){K(t,n,q(404,{pathname:u}),{flushSync:a});return}let{path:p,submission:m,error:h}=$e(!0,u,i);if(h){K(t,n,h,{flushSync:a});return}let g=e.getContext?await e.getContext():new T,_=(i&&i.preventScrollReset)===!0;if(m&&Y(m.formMethod)){await ke(t,n,p,d,g,f.active,a,_,m,i&&i.unstable_defaultShouldRevalidate);return}fe.set(t,{routeId:n,path:p}),await Ae(t,n,p,d,g,f.active,a,_,m)}async function ke(t,n,i,u,d,f,p,h,g,_){Pe(),fe.delete(t),G(t,en(g,A.fetchers.get(t)),{flushSync:p});let v=new AbortController,y=Et(e.history,i,v.signal,g);if(f){let e=await ut(u,new URL(y.url).pathname,y.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){K(t,n,e.error,{flushSync:p});return}else if(e.matches)u=e.matches;else{K(t,n,q(404,{pathname:i}),{flushSync:p});return}}let b=Yt(u,i);if(!b.route.action&&!b.route.lazy){K(t,n,q(405,{method:g.formMethod,pathname:i,routeId:n}),{flushSync:p});return}I.set(t,v);let x=le,S=yt(a,o,y,u,b,r,d),C=await W(y,S,d,t),w=C[b.route.id];if(!w){for(let e of S)if(C[e.route.id]){w=C[e.route.id];break}}if(y.signal.aborted){I.get(t)===v&&I.delete(t);return}if(z.has(t)){if(Ht(w)||J(w)){G(t,tn(void 0));return}}else{if(Ht(w))if(I.delete(t),ue>x){G(t,tn(void 0));return}else return L.add(t),G(t,$t(g)),U(y,w,!1,{fetcherSubmission:g,preventScrollReset:h});if(J(w)){K(t,n,w.error);return}}let T=A.navigation.location||A.location,E=Et(e.history,T,v.signal),D=c||s,O=A.navigation.state===`idle`?A.matches:M(D,A.navigation.location,l);m(O,`Didn't find any matches after fetcher action`);let k=++le;de.set(t,k);let ee=$t(g,w.data);A.fetchers.set(t,ee);let{dsMatches:te,revalidatingFetchers:ne}=et(E,d,a,o,e.history,A,O,g,T,r,!1,se,ce,z,fe,L,D,l,e.patchRoutesOnNavigation!=null,[b.route.id,w],_);ne.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=A.fetchers.get(t),r=$t(void 0,n?n.data:void 0);A.fetchers.set(t,r),ze(t),e.controller&&I.set(t,e.controller)}),B({fetchers:new Map(A.fetchers)});let N=()=>ne.forEach(e=>ze(e.key));v.signal.addEventListener(`abort`,N);let{loaderResults:re,fetcherResults:ie}=await Ne(te,ne,E,d);if(v.signal.aborted)return;if(v.signal.removeEventListener(`abort`,N),de.delete(t),I.delete(t),ne.forEach(e=>I.delete(e.key)),A.fetchers.has(t)){let e=tn(w.data);A.fetchers.set(t,e)}let F=Ft(re);if(F)return U(E,F.result,!1,{preventScrollReset:h});if(F=Ft(ie),F)return L.add(F.key),U(E,F.result,!1,{preventScrollReset:h});let{loaderData:ae,errors:oe}=At(A,O,re,void 0,ne,ie);He(k),A.navigation.state===`loading`&&k>ue?(m(j,`Expected pending action`),P&&P.abort(),V(A.navigation.location,{matches:O,loaderData:ae,errors:oe,fetchers:new Map(A.fetchers)})):(B({errors:oe,loaderData:jt(A.loaderData,ae,O,oe),fetchers:new Map(A.fetchers)}),se=!1)}async function Ae(t,n,i,s,c,l,u,d,f){let p=A.fetchers.get(t);G(t,$t(f,p?p.data:void 0),{flushSync:u});let m=new AbortController,h=Et(e.history,i,m.signal);if(l){let e=await ut(s,new URL(h.url).pathname,h.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){K(t,n,e.error,{flushSync:u});return}else if(e.matches)s=e.matches;else{K(t,n,q(404,{pathname:i}),{flushSync:u});return}}let g=Yt(s,i);I.set(t,m);let _=le,v=(await W(h,yt(a,o,h,s,g,r,c),c,t))[g.route.id];if(I.get(t)===m&&I.delete(t),!h.signal.aborted){if(z.has(t)){G(t,tn(void 0));return}if(Ht(v))if(ue>_){G(t,tn(void 0));return}else{L.add(t),await U(h,v,!1,{preventScrollReset:d});return}if(J(v)){K(t,n,v.error);return}G(t,tn(v.data))}}async function U(r,i,a,{submission:o,fetcherSubmission:s,preventScrollReset:c,replace:u}={}){a||(N?.resolve(),N=null),i.response.headers.has(`X-Remix-Revalidate`)&&(se=!0);let d=i.response.headers.get(`Location`);m(d,`Expected a Location header on the redirect Response`),d=Tt(d,new URL(r.url),l,e.history);let f=v(A.location,d,{_isRedirect:!0});if(n){let e=!1;if(i.response.headers.has(`X-Remix-Reload-Document`))e=!0;else if(he(d)){let n=S(d,!0);e=n.origin!==t.location.origin||R(n.pathname,l)==null}if(e){u?t.location.replace(d):t.location.assign(d);return}}P=null;let p=u===!0||i.response.headers.has(`X-Remix-Replace`)?`REPLACE`:`PUSH`,{formMethod:h,formAction:g,formEncType:_}=A.navigation;!o&&!s&&h&&g&&_&&(o=Xt(A.navigation));let y=o||s;Ue.has(i.response.status)&&y&&Y(y.formMethod)?await Ce(p,f,{submission:{...y,formAction:d},preventScrollReset:c||re,enableViewTransition:a?ie:void 0}):await Ce(p,f,{overrideNavigation:Zt(f,o),fetcherSubmission:s,preventScrollReset:c||re,enableViewTransition:a?ie:void 0})}async function W(e,t,n,r){let i,a={};try{i=await bt(u,e,t,r,n,!1)}catch(e){return t.filter(e=>e.shouldLoad).forEach(t=>{a[t.route.id]={type:`error`,error:e}}),a}if(e.signal.aborted)return a;if(!Y(e.method))for(let e of t){if(i[e.route.id]?.type===`error`)break;!i.hasOwnProperty(e.route.id)&&!A.loaderData.hasOwnProperty(e.route.id)&&(!A.errors||!A.errors.hasOwnProperty(e.route.id))&&e.shouldCallHandler()&&(i[e.route.id]={type:`error`,result:Error(`No result returned from dataStrategy for route ${e.route.id}`)})}for(let[n,r]of Object.entries(i))if(Vt(r)){let i=r.result;a[n]={type:`redirect`,response:wt(i,e,n,t,l)}}else a[n]=await Ct(r);return a}async function Ne(e,t,n,r){let i=W(n,e,r,null),a=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await W(e.request,e.matches,r,e.key))[e.match.route.id];return{[e.key]:t}}else return Promise.resolve({[e.key]:{type:`error`,error:q(404,{pathname:e.path})}})}));return{loaderResults:await i,fetcherResults:(await a).reduce((e,t)=>Object.assign(e,t),{})}}function Pe(){se=!0,fe.forEach((e,t)=>{I.has(t)&&ce.add(t),ze(t)})}function G(e,t,n={}){A.fetchers.set(e,t),B({fetchers:new Map(A.fetchers)},{flushSync:(n&&n.flushSync)===!0})}function K(e,t,n,r={}){let i=Nt(A.matches,t);Le(e),B({errors:{[i.route.id]:n},fetchers:new Map(A.fetchers)},{flushSync:(r&&r.flushSync)===!0})}function Fe(e){return pe.set(e,(pe.get(e)||0)+1),z.has(e)&&z.delete(e),A.fetchers.get(e)||Ge}function Ie(e,t){ze(e,t?.reason),G(e,tn(null))}function Le(e){let t=A.fetchers.get(e);I.has(e)&&!(t&&t.state===`loading`&&de.has(e))&&ze(e),fe.delete(e),de.delete(e),L.delete(e),z.delete(e),ce.delete(e),A.fetchers.delete(e)}function Re(e){let t=(pe.get(e)||0)-1;t<=0?(pe.delete(e),z.add(e)):pe.set(e,t),B({fetchers:new Map(A.fetchers)})}function ze(e,t){let n=I.get(e);n&&(n.abort(t),I.delete(e))}function Be(e){for(let t of e){let e=tn(Fe(t).data);A.fetchers.set(t,e)}}function Ve(){let e=[],t=!1;for(let n of L){let r=A.fetchers.get(n);m(r,`Expected fetcher: ${n}`),r.state===`loading`&&(L.delete(n),e.push(n),t=!0)}return Be(e),t}function He(e){let t=[];for(let[n,r]of de)if(r<e){let e=A.fetchers.get(n);m(e,`Expected fetcher: ${n}`),e.state===`loading`&&(ze(n),de.delete(n),t.push(n))}return Be(t),t.length>0}function Je(e,t){let n=A.blockers.get(e)||Ke;return me.get(e)!==t&&me.set(e,t),n}function Ye(e){A.blockers.delete(e),me.delete(e)}function Xe(e,t){let n=A.blockers.get(e)||Ke;m(n.state===`unblocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`blocked`||n.state===`blocked`&&t.state===`proceeding`||n.state===`blocked`&&t.state===`unblocked`||n.state===`proceeding`&&t.state===`unblocked`,`Invalid blocker state transition: ${n.state} -> ${t.state}`);let r=new Map(A.blockers);r.set(e,t),B({blockers:r})}function Ze({currentLocation:e,nextLocation:t,historyAction:n}){if(me.size===0)return;me.size>1&&h(!1,`A router only supports one blocker at a time`);let r=Array.from(me.entries()),[i,a]=r[r.length-1],o=A.blockers.get(i);if(!(o&&o.state===`proceeding`)&&a({currentLocation:e,nextLocation:t,historyAction:n}))return i}function rt(e){let t=q(404,{pathname:e}),{matches:n,route:r}=Pt(c||s);return{notFoundMatches:n,route:r,error:t}}function it(e,t,n){if(g=e,y=t,_=n||null,!x&&A.navigation===We){x=!0;let e=ct(A.location,A.matches);e!=null&&B({restoreScrollPosition:e})}return()=>{g=null,y=null,_=null}}function at(e,t){return _&&_(e,t.map(e=>ne(e,A.loaderData)))||e.key}function st(e,t){if(g&&y){let n=at(e,t);g[n]=y()}}function ct(e,t){if(g){let n=at(e,t),r=g[n];if(typeof r==`number`)return r}return null}function lt(t,n,r){if(e.patchRoutesOnNavigation)if(t){if(Object.keys(t[0].params).length>0)return{active:!0,matches:te(n,r,l,!0)}}else return{active:!0,matches:te(n,r,l,!0)||[]};return{active:!1,matches:null}}async function ut(t,n,r,i){if(!e.patchRoutesOnNavigation)return{type:`success`,matches:t};let u=t;for(;;){let t=c==null,d=c||s,f=o;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:u,fetcherKey:i,patch:(e,t)=>{r.aborted||ot(e,t,d,f,a,!1)}})}catch(e){return{type:`error`,error:e,partialMatches:u}}finally{t&&!r.aborted&&(s=[...s])}if(r.aborted)return{type:`aborted`};let p=M(d,n,l),m=null;if(p&&(Object.keys(p[0].params).length===0||(m=te(d,n,l,!0),!(m&&u.length<m.length&&dt(u,m.slice(0,u.length))))))return{type:`success`,matches:p};if(m||=te(d,n,l,!0),!m||dt(u,m))return{type:`success`,matches:null};u=m}}function dt(e,t){return e.length===t.length&&e.every((e,n)=>e.route.id===t[n].route.id)}function ft(e){o={},c=ee(e,a,void 0,o)}function mt(e,t,n=!1){let r=c==null;ot(e,t,c||s,o,a,n),r&&(s=[...s],B({}))}return k={get basename(){return l},get future(){return d},get state(){return A},get routes(){return s},get window(){return t},initialize:ve,subscribe:be,enableScrollRestoration:it,navigate:xe,fetch:Oe,revalidate:Se,createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Fe,resetFetcher:Ie,deleteFetcher:Re,dispose:ye,getBlocker:Je,deleteBlocker:Ye,patchRoutes:mt,_internalFetchControllers:I,_internalSetRoutes:ft,_internalSetStateDoNotUseOrYouWillBreakYourApp(e){B(e)}},e.unstable_instrumentations&&(k=Me(k,e.unstable_instrumentations.map(e=>e.router).filter(Boolean))),k}function Ze(e){return e!=null&&(`formData`in e&&e.formData!=null||`body`in e&&e.body!==void 0)}function Qe(e,t,n,r,i,a){let o,s;if(i){o=[];for(let e of t)if(o.push(e),e.route.id===i){s=e;break}}else o=t,s=t[t.length-1];let c=B(r||`.`,be(o),R(e.pathname,n)||e.pathname,a===`path`);if(r??(c.search=e.search,c.hash=e.hash),(r==null||r===``||r===`.`)&&s){let e=Jt(c.search);if(s.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,`?index&`):`?index`;else if(!s.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 n=e.toString();c.search=n?`?${n}`:``}}return n!==`/`&&(c.pathname=z({basename:n,pathname:c.pathname})),y(c)}function $e(e,t,n){if(!n||!Ze(n))return{path:t};if(n.formMethod&&!qt(n.formMethod))return{path:t,error:q(405,{method:n.formMethod})};let r=()=>({path:t,error:q(400,{type:`invalid-body`})}),i=(n.formMethod||`get`).toUpperCase(),a=It(t);if(n.body!==void 0){if(n.formEncType===`text/plain`){if(!Y(i))return r();let e=typeof n.body==`string`?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,[t,n])=>`${e}${t}=${n}
2
- `,``):String(n.body);return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if(n.formEncType===`application/json`){if(!Y(i))return r();try{let e=typeof n.body==`string`?JSON.parse(n.body):n.body;return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch{return r()}}}m(typeof FormData==`function`,`FormData is not available in this environment`);let o,s;if(n.formData)o=Dt(n.formData),s=n.formData;else if(n.body instanceof FormData)o=Dt(n.body),s=n.body;else if(n.body instanceof URLSearchParams)o=n.body,s=Ot(o);else if(n.body==null)o=new URLSearchParams,s=new FormData;else try{o=new URLSearchParams(n.body),s=Ot(o)}catch{return r()}let c={formMethod:i,formAction:a,formEncType:n&&n.formEncType||`application/x-www-form-urlencoded`,formData:s,json:void 0,text:void 0};if(Y(c.formMethod))return{path:t,submission:c};let l=b(t);return e&&l.search&&Jt(l.search)&&o.append(`index`,``),l.search=`?${o}`,{path:y(l),submission:c}}function et(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b){let x=y?J(y[1])?y[1].error:y[1].data:void 0,S=i.createURL(a.location),C=i.createURL(c),w;if(u&&a.errors){let e=Object.keys(a.errors)[0];w=o.findIndex(t=>t.route.id===e)}else if(y&&J(y[1])){let e=y[0];w=o.findIndex(t=>t.route.id===e)-1}let T=y?y[1].statusCode:void 0,E=T&&T>=400,D={currentUrl:S,currentParams:a.matches[0]?.params||{},nextUrl:C,nextParams:o[0].params,...s,actionResult:x,actionStatus:T},O=Oe(o),k=o.map((i,o)=>{let{route:s}=i,c=null;if(w!=null&&o>w)c=!1;else if(s.lazy)c=!0;else if(!tt(s))c=!1;else if(u){let{shouldLoad:e}=nt(s,a.loaderData,a.errors);c=e}else rt(a.loaderData,a.matches[o],i)&&(c=!0);if(c!==null)return vt(n,r,e,O,i,l,t,c);let f=!1;typeof b==`boolean`?f=b:E?f=!1:d||S.pathname+S.search===C.pathname+C.search?f=!0:S.search===C.search?it(a.matches[o],i)&&(f=!0):f=!0;let p={...D,defaultShouldRevalidate:f};return vt(n,r,e,O,i,l,t,at(i,p),p,b)}),A=[];return m.forEach((e,s)=>{if(u||!o.some(t=>t.route.id===e.routeId)||p.has(s))return;let c=a.fetchers.get(s),m=c&&c.state!==`idle`&&c.data===void 0,y=M(g,e.path,_);if(!y){if(v&&m)return;A.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(h.has(s))return;let x=Yt(y,e.path),S=new AbortController,C=Et(i,e.path,S.signal),w=null;if(f.has(s))f.delete(s),w=yt(n,r,C,y,x,l,t);else if(m)d&&(w=yt(n,r,C,y,x,l,t));else{let e;e=typeof b==`boolean`?b:E?!1:d;let i={...D,defaultShouldRevalidate:e};at(x,i)&&(w=yt(n,r,C,y,x,l,t,i))}w&&A.push({key:s,routeId:e.routeId,path:e.path,matches:w,match:x,request:C,controller:S})}),{dsMatches:k,revalidatingFetchers:A}}function tt(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function nt(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!tt(e))return{shouldLoad:!1,renderFallback:!1};let r=t!=null&&e.id in t,i=n!=null&&n[e.id]!==void 0;if(!r&&i)return{shouldLoad:!1,renderFallback:!1};if(typeof e.loader==`function`&&e.loader.hydrate===!0)return{shouldLoad:!0,renderFallback:!r};let a=!r&&!i;return{shouldLoad:a,renderFallback:a}}function rt(e,t,n){let r=!t||n.route.id!==t.route.id,i=!e.hasOwnProperty(n.route.id);return r||i}function it(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith(`*`)&&e.params[`*`]!==t.params[`*`]}function at(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n==`boolean`)return n}return t.defaultShouldRevalidate}function ot(e,t,n,r,i,a){let o;if(e){let t=r[e];m(t,`No route found to patch children into: routeId = ${e}`),t.children||=[],o=t.children}else o=n;let s=[],c=[];if(t.forEach(e=>{let t=o.find(t=>st(e,t));t?c.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=ee(s,i,[e||`_`,`patch`,String(o?.length||`0`)],r);o.push(...t)}if(a&&c.length>0)for(let e=0;e<c.length;e++){let{existingRoute:t,newRoute:n}=c[e],r=t,[a]=ee([n],i,[],{},!0);Object.assign(r,{element:a.element?a.element:r.element,errorElement:a.errorElement?a.errorElement:r.errorElement,hydrateFallbackElement:a.hydrateFallbackElement?a.hydrateFallbackElement:r.hydrateFallbackElement})}}function st(e,t){return`id`in e&&`id`in t&&e.id===t.id?!0:e.index===t.index&&e.path===t.path&&e.caseSensitive===t.caseSensitive?(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((e,n)=>t.children?.some(t=>st(e,t)))??!1:!1}var ct=new WeakMap,lt=({key:e,route:t,manifest:n,mapRouteProperties:r})=>{let i=n[t.id];if(m(i,`No route found in manifest`),!i.lazy||typeof i.lazy!=`object`)return;let a=i.lazy[e];if(!a)return;let o=ct.get(i);o||(o={},ct.set(i,o));let s=o[e];if(s)return s;let c=(async()=>{let t=D(e),n=i[e]!==void 0&&e!==`hasErrorBoundary`;if(t)h(!t,`Route property `+e+` is not a supported lazy route property. This property will be ignored.`),o[e]=Promise.resolve();else if(n)h(!1,`Route "${i.id}" has a static property "${e}" defined. The lazy property will be ignored.`);else{let t=await a();t!=null&&(Object.assign(i,{[e]:t}),Object.assign(i,r(i)))}typeof i.lazy==`object`&&(i.lazy[e]=void 0,Object.values(i.lazy).every(e=>e===void 0)&&(i.lazy=void 0))})();return o[e]=c,c},ut=new WeakMap;function dt(e,t,n,r,i){let a=n[e.id];if(m(a,`No route found in manifest`),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy==`function`){let t=ut.get(a);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{m(typeof e.lazy==`function`,`No lazy route function found`);let t=await e.lazy(),n={};for(let e in t){let r=t[e];if(r===void 0)continue;let i=k(e),o=a[e]!==void 0&&e!==`hasErrorBoundary`;i?h(!i,`Route property `+e+` is not a supported property to be returned from a lazy route function. This property will be ignored.`):o?h(!o,`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.`):n[e]=r}Object.assign(a,n),Object.assign(a,{...r(a),lazy:void 0})})();return ut.set(a,n),n.catch(()=>{}),{lazyRoutePromise:n,lazyHandlerPromise:n}}let o=Object.keys(e.lazy),s=[],c;for(let a of o){if(i&&i.includes(a))continue;let o=lt({key:a,route:e,manifest:n,mapRouteProperties:r});o&&(s.push(o),a===t&&(c=o))}let l=s.length>0?Promise.all(s).then(()=>{}):void 0;return l?.catch(()=>{}),c?.catch(()=>{}),{lazyRoutePromise:l,lazyHandlerPromise:c}}async function ft(e){let t=e.matches.filter(e=>e.shouldLoad),n={};return(await Promise.all(t.map(e=>e.resolve()))).forEach((e,r)=>{n[t[r].route.id]=e}),n}async function pt(e){return e.matches.some(e=>e.route.middleware)?mt(e,()=>ft(e)):ft(e)}function mt(e,t){return ht(e,t,e=>{if(Kt(e))throw e;return e},zt,n);function n(t,n,r){if(r)return Promise.resolve(Object.assign(r.value,{[n]:{type:`error`,result:t}}));{let{matches:r}=e,i=Nt(r,r[Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0))].route.id).route.id;return Promise.resolve({[i]:{type:`error`,result:t}})}}}async function ht(e,t,n,r,i){let{matches:a,request:o,params:s,context:c,unstable_pattern:l}=e,u=a.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]);return await gt({request:o,params:s,context:c,unstable_pattern:l},u,t,n,r,i)}async function gt(e,t,n,r,i,a,o=0){let{request:s}=e;if(s.signal.aborted)throw s.signal.reason??Error(`Request aborted: ${s.method} ${s.url}`);let c=t[o];if(!c)return await n();let[l,u]=c,d,f=async()=>{if(d)throw Error("You may only call `next()` once per middleware");try{return d={value:await gt(e,t,n,r,i,a,o+1)},d.value}catch(e){return d={value:await a(e,l,d)},d.value}};try{let t=await u(e,f),n=t==null?void 0:r(t);return i(n)?n:d?n??d.value:(d={value:await f()},d.value)}catch(e){return await a(e,l,d)}}function _t(e,t,n,r,i){let a=lt({key:`middleware`,route:r.route,manifest:t,mapRouteProperties:e}),o=dt(r.route,Y(n.method)?`action`:`loader`,t,e,i);return{middleware:a,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function vt(e,t,n,r,i,a,o,s,c=null,l){let u=!1,d=_t(e,t,n,i,a);return{...i,_lazyPromises:d,shouldLoad:s,shouldRevalidateArgs:c,shouldCallHandler(e){return u=!0,c?typeof l==`boolean`?at(i,{...c,defaultShouldRevalidate:l}):typeof e==`boolean`?at(i,{...c,defaultShouldRevalidate:e}):at(i,c):s},resolve(e){let{lazy:t,loader:a,middleware:c}=i.route,l=u||s||e&&!Y(n.method)&&(t||a),f=c&&c.length>0&&!a&&!t;return l&&(Y(n.method)||!f)?xt({request:n,unstable_pattern:r,match:i,lazyHandlerPromise:d?.handler,lazyRoutePromise:d?.route,handlerOverride:e,scopedContext:o}):Promise.resolve({type:`data`,result:void 0})}}}function yt(e,t,n,r,i,a,o,s=null){return r.map(c=>c.route.id===i.route.id?vt(e,t,n,Oe(r),c,a,o,!0,s):{...c,shouldLoad:!1,shouldRevalidateArgs:s,shouldCallHandler:()=>!1,_lazyPromises:_t(e,t,n,c,a),resolve:()=>Promise.resolve({type:`data`,result:void 0})})}async function bt(e,t,n,r,i,a){n.some(e=>e._lazyPromises?.middleware)&&await Promise.all(n.map(e=>e._lazyPromises?.middleware));let o={request:t,unstable_pattern:Oe(n),params:n[0].params,context:i,matches:n},s=a?()=>{throw Error("You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`")}:e=>{let t=o;return mt(t,()=>e({...t,fetcherKey:r,runClientMiddleware:()=>{throw Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},c=await e({...o,fetcherKey:r,runClientMiddleware:s});try{await Promise.all(n.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch{}return c}async function xt({request:e,unstable_pattern:t,match:n,lazyHandlerPromise:r,lazyRoutePromise:i,handlerOverride:a,scopedContext:o}){let s,c,l=Y(e.method),u=l?`action`:`loader`,d=r=>{let i,s=new Promise((e,t)=>i=t);c=()=>i(),e.signal.addEventListener(`abort`,c);let l=i=>typeof r==`function`?r({request:e,unstable_pattern:t,params:n.params,context:o},...i===void 0?[]:[i]):Promise.reject(Error(`You cannot call the handler for a route which defines a boolean "${u}" [routeId: ${n.route.id}]`)),d=(async()=>{try{return{type:`data`,result:await(a?a(e=>l(e)):l())}}catch(e){return{type:`error`,result:e}}})();return Promise.race([d,s])};try{let t=l?n.route.action:n.route.loader;if(r||i)if(t){let e,[n]=await Promise.all([d(t).catch(t=>{e=t}),r,i]);if(e!==void 0)throw e;s=n}else{await r;let t=l?n.route.action:n.route.loader;if(t)[s]=await Promise.all([d(t),i]);else if(u===`action`){let t=new URL(e.url),r=t.pathname+t.search;throw q(405,{method:e.method,pathname:r,routeId:n.route.id})}else return{type:`data`,result:void 0}}else if(t)s=await d(t);else{let t=new URL(e.url);throw q(404,{pathname:t.pathname+t.search})}}catch(e){return{type:`error`,result:e}}finally{c&&e.signal.removeEventListener(`abort`,c)}return s}async function St(e){let t=e.headers.get(`Content-Type`);return t&&/\bapplication\/json\b/.test(t)?e.body==null?null:e.json():e.text()}async function Ct(e){let{result:t,type:n}=e;if(Wt(t)){let e;try{e=await St(t)}catch(e){return{type:`error`,error:e}}return n===`error`?{type:`error`,error:new H(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:`data`,data:e,statusCode:t.status,headers:t.headers}}return n===`error`?Ut(t)?t.data instanceof Error?{type:`error`,error:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:Rt(t),statusCode:De(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:t,statusCode:De(t)?t.status:void 0}:Ut(t)?{type:`data`,data:t.data,statusCode:t.init?.status,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`data`,data:t}}function wt(e,t,n,r,i){let a=e.headers.get(`Location`);if(m(a,`Redirects returned/thrown from loaders/actions must have a Location header`),!he(a)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);a=Qe(new URL(t.url),o,i,a),e.headers.set(`Location`,a)}return e}function Tt(e,t,n,r){let i=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];if(he(e)){let r=e,a=r.startsWith(`//`)?new URL(t.protocol+r):new URL(r);if(i.includes(a.protocol))throw Error(`Invalid redirect location`);let o=R(a.pathname,n)!=null;if(a.origin===t.origin&&o)return a.pathname+a.search+a.hash}try{let t=r.createURL(e);if(i.includes(t.protocol))throw Error(`Invalid redirect location`)}catch{}return e}function Et(e,t,n,r){let i=e.createURL(It(t)).toString(),a={signal:n};if(r&&Y(r.formMethod)){let{formMethod:e,formEncType:t}=r;a.method=e.toUpperCase(),t===`application/json`?(a.headers=new Headers({"Content-Type":t}),a.body=JSON.stringify(r.json)):t===`text/plain`?a.body=r.text:t===`application/x-www-form-urlencoded`&&r.formData?a.body=Dt(r.formData):a.body=r.formData}return new Request(i,a)}function Dt(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r==`string`?r:r.name);return t}function Ot(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function kt(e,t,n,r=!1,i=!1){let a={},o=null,s,c=!1,l={},u=n&&J(n[1])?n[1].error:void 0;return e.forEach(n=>{if(!(n.route.id in t))return;let d=n.route.id,f=t[d];if(m(!Ht(f),`Cannot handle redirect results in processLoaderData`),J(f)){let t=f.error;if(u!==void 0&&(t=u,u=void 0),o||={},i)o[d]=t;else{let n=Nt(e,d);o[n.route.id]??(o[n.route.id]=t)}r||(a[d]=Ye),c||(c=!0,s=De(f.error)?f.error.status:500),f.headers&&(l[d]=f.headers)}else a[d]=f.data,f.statusCode&&f.statusCode!==200&&!c&&(s=f.statusCode),f.headers&&(l[d]=f.headers)}),u!==void 0&&n&&(o={[n[0]]:u},n[2]&&(a[n[2]]=void 0)),{loaderData:a,errors:o,statusCode:s||200,loaderHeaders:l}}function At(e,t,n,r,i,a){let{loaderData:o,errors:s}=kt(t,n,r);return i.filter(e=>!e.matches||e.matches.some(e=>e.shouldLoad)).forEach(t=>{let{key:n,match:r,controller:i}=t;if(i&&i.signal.aborted)return;let o=a[n];if(m(o,`Did not find corresponding fetcher result`),J(o)){let t=Nt(e.matches,r?.route.id);s&&s[t.route.id]||(s={...s,[t.route.id]:o.error}),e.fetchers.delete(n)}else if(Ht(o))m(!1,`Unhandled fetcher revalidation redirect`);else{let t=tn(o.data);e.fetchers.set(n,t)}}),{loaderData:o,errors:s}}function jt(e,t,n,r){let i=Object.entries(t).filter(([,e])=>e!==Ye).reduce((e,[t,n])=>(e[t]=n,e),{});for(let a of n){let n=a.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&a.route.loader&&(i[n]=e[n]),r&&r.hasOwnProperty(n))break}return i}function Mt(e){return e?J(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Nt(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>e.route.hasErrorBoundary===!0)||e[0]}function Pt(e){let t=e.length===1?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 q(e,{pathname:t,routeId:n,method:r,type:i,message:a}={}){let o=`Unknown Server Error`,s=`Unknown @remix-run/router error`;return e===400?(o=`Bad Request`,r&&t&&n?s=`You made a ${r} request to "${t}" but did not provide a \`loader\` for route "${n}", so there is no way to handle the request.`:i===`invalid-body`&&(s=`Unable to encode submission body`)):e===403?(o=`Forbidden`,s=`Route "${n}" does not match URL "${t}"`):e===404?(o=`Not Found`,s=`No route matches URL "${t}"`):e===405&&(o=`Method Not Allowed`,r&&t&&n?s=`You made a ${r.toUpperCase()} request to "${t}" but did not provide an \`action\` for route "${n}", so there is no way to handle the request.`:r&&(s=`Invalid request method "${r.toUpperCase()}"`)),new H(e||500,o,Error(s),!0)}function Ft(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(Ht(r))return{key:n,result:r}}}function It(e){return y({...typeof e==`string`?b(e):e,hash:``})}function Lt(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===``?t.hash!==``:e.hash===t.hash?!0:t.hash!==``}function Rt(e){return new H(e.init?.status??500,e.init?.statusText??`Internal Server Error`,e.data)}function zt(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&Bt(t))}function Bt(e){return typeof e==`object`&&!!e&&`type`in e&&`result`in e&&(e.type===`data`||e.type===`error`)}function Vt(e){return Wt(e.result)&&He.has(e.result.status)}function J(e){return e.type===`error`}function Ht(e){return(e&&e.type)===`redirect`}function Ut(e){return typeof e==`object`&&!!e&&`type`in e&&`data`in e&&`init`in e&&e.type===`DataWithResponseInit`}function Wt(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.headers==`object`&&e.body!==void 0}function Gt(e){return He.has(e)}function Kt(e){return Wt(e)&&Gt(e.status)&&e.headers.has(`Location`)}function qt(e){return Ve.has(e.toUpperCase())}function Y(e){return ze.has(e.toUpperCase())}function Jt(e){return new URLSearchParams(e).getAll(`index`).some(e=>e===``)}function Yt(e,t){let n=typeof t==`string`?b(t).search:t.search;if(e[e.length-1].route.index&&Jt(n||``))return e[e.length-1];let r=ye(e);return r[r.length-1]}function Xt(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function Zt(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 Qt(e,t){return{state:`submitting`,location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function $t(e,t){return e?{state:`loading`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:`loading`,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function en(e,t){return{state:`submitting`,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0}}function tn(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 nn(e,t){try{let n=e.sessionStorage.getItem(Je);if(n){let e=JSON.parse(n);for(let[n,r]of Object.entries(e||{}))r&&Array.isArray(r)&&t.set(n,new Set(r||[]))}}catch{}}function rn(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(Je,JSON.stringify(n))}catch(e){h(!1,`Failed to save applied view transitions in sessionStorage (${e}).`)}}}function an(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}var on=o.createContext(null);on.displayName=`DataRouter`;var sn=o.createContext(null);sn.displayName=`DataRouterState`;var cn=o.createContext(!1);function ln(){return o.useContext(cn)}var un=o.createContext({isTransitioning:!1});un.displayName=`ViewTransition`;var dn=o.createContext(new Map);dn.displayName=`Fetchers`;var fn=o.createContext(null);fn.displayName=`Await`;var X=o.createContext(null);X.displayName=`Navigation`;var pn=o.createContext(null);pn.displayName=`Location`;var Z=o.createContext({outlet:null,matches:[],isDataRoute:!1});Z.displayName=`Route`;var mn=o.createContext(null);mn.displayName=`RouteError`;var hn=`REACT_ROUTER_ERROR`,gn=`REDIRECT`,_n=`ROUTE_ERROR_RESPONSE`;function vn(e){if(e.startsWith(`${hn}:${gn}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`&&typeof t.location==`string`&&typeof t.reloadDocument==`boolean`&&typeof t.replace==`boolean`)return t}catch{}}function yn(e){if(e.startsWith(`${hn}:${_n}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new H(t.status,t.statusText,t.data)}catch{}}function bn(e,{relative:t}={}){m(xn(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=o.useContext(X),{hash:i,pathname:a,search:s}=jn(e,{relative:t}),c=a;return n!==`/`&&(c=a===`/`?n:V([n,a])),r.createHref({pathname:c,search:s,hash:i})}function xn(){return o.useContext(pn)!=null}function Q(){return m(xn(),`useLocation() may be used only in the context of a <Router> component.`),o.useContext(pn).location}function Sn(e){m(xn(),`useMatch() may be used only in the context of a <Router> component.`);let{pathname:t}=Q();return o.useMemo(()=>L(e,pe(t)),[t,e])}var Cn=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function wn(e){o.useContext(X).static||o.useLayoutEffect(e)}function Tn(){let{isDataRoute:e}=o.useContext(Z);return e?$n():En()}function En(){m(xn(),`useNavigate() may be used only in the context of a <Router> component.`);let e=o.useContext(on),{basename:t,navigator:n}=o.useContext(X),{matches:r}=o.useContext(Z),{pathname:i}=Q(),a=JSON.stringify(be(r)),s=o.useRef(!1);return wn(()=>{s.current=!0}),o.useCallback((r,o={})=>{if(h(s.current,Cn),!s.current)return;if(typeof r==`number`){n.go(r);return}let c=B(r,JSON.parse(a),i,o.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:V([t,c.pathname])),(o.replace?n.replace:n.push)(c,o.state,o)},[t,n,a,i,e])}var Dn=o.createContext(null);function On(){return o.useContext(Dn)}function kn(e){let t=o.useContext(Z).outlet;return o.useMemo(()=>t&&o.createElement(Dn.Provider,{value:e},t),[t,e])}function An(){let{matches:e}=o.useContext(Z),t=e[e.length-1];return t?t.params:{}}function jn(e,{relative:t}={}){let{matches:n}=o.useContext(Z),{pathname:r}=Q(),i=JSON.stringify(be(n));return o.useMemo(()=>B(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function Mn(e,t,n){m(xn(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=o.useContext(X),{matches:i}=o.useContext(Z),a=i[i.length-1],s=a?a.params:{},c=a?a.pathname:`/`,l=a?a.pathnameBase:`/`,u=a&&a.route;{let e=u&&u.path||``;tr(c,!u||e.endsWith(`*`)||e.endsWith(`*?`),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${c}" (under <Route path="${e}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
3
-
4
- Please change the parent <Route path="${e}"> to <Route path="${e===`/`?`*`:`${e}/*`}">.`)}let d=Q(),f;if(t){let e=typeof t==`string`?b(t):t;m(l===`/`||e.pathname?.startsWith(l),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${l}" but pathname "${e.pathname}" was given in the \`location\` prop.`),f=e}else f=d;let p=f.pathname||`/`,g=p;if(l!==`/`){let e=l.replace(/^\//,``).split(`/`);g=`/`+p.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let _=M(e,{pathname:g});h(u||_!=null,`No routes matched location "${f.pathname}${f.search}${f.hash}" `),h(_==null||_[_.length-1].route.element!==void 0||_[_.length-1].route.Component!==void 0||_[_.length-1].route.lazy!==void 0,`Matched leaf route at location "${f.pathname}${f.search}${f.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let v=zn(_&&_.map(e=>Object.assign({},e,{params:Object.assign({},s,e.params),pathname:V([l,r.encodeLocation?r.encodeLocation(e.pathname.replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?l:V([l,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&v?o.createElement(pn.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,unstable_mask:void 0,...f},navigationType:`POP`}},v):v}function Nn(){let e=Zn(),t=De(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r=`rgba(200,200,200, 0.5)`,i={padding:`0.5rem`,backgroundColor:r},a={padding:`2px 4px`,backgroundColor:r},s=null;return console.error(`Error handled by React Router default ErrorBoundary:`,e),s=o.createElement(o.Fragment,null,o.createElement(`p`,null,`💿 Hey developer 👋`),o.createElement(`p`,null,`You can provide a way better UX than this when your app throws errors by providing your own `,o.createElement(`code`,{style:a},`ErrorBoundary`),` or`,` `,o.createElement(`code`,{style:a},`errorElement`),` prop on your route.`)),o.createElement(o.Fragment,null,o.createElement(`h2`,null,`Unexpected Application Error!`),o.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?o.createElement(`pre`,{style:i},n):null,s)}var Pn=o.createElement(Nn,null),Fn=class extends o.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!==`idle`&&e.revalidation===`idle`?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error===void 0?t.error:e.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`React Router caught the following error during render`,e)}render(){let e=this.state.error;if(this.context&&typeof e==`object`&&e&&`digest`in e&&typeof e.digest==`string`){let t=yn(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:o.createElement(Z.Provider,{value:this.props.routeContext},o.createElement(mn.Provider,{value:e,children:this.props.component}));return this.context?o.createElement(Ln,{error:e},t):t}};Fn.contextType=cn;var In=new WeakMap;function Ln({children:e,error:t}){let{basename:n}=o.useContext(X);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=vn(t.digest);if(e){let r=In.get(t);if(r)throw r;let i=Ae(e.location,n);if(ke&&!In.get(t))if(i.isExternal||e.reloadDocument)window.location.href=i.absoluteURL||i.to;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(i.to,{replace:e.replace}));throw In.set(t,n),n}return o.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${i.absoluteURL||i.to}`})}}return e}function Rn({routeContext:e,match:t,children:n}){let r=o.useContext(on);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),o.createElement(Z.Provider,{value:e},n)}function zn(e,t=[],n){let r=n?.state;if(e==null){if(!r)return null;if(r.errors)e=r.matches;else if(t.length===0&&!r.initialized&&r.matches.length>0)e=r.matches;else return null}let i=e,a=r?.errors;if(a!=null){let e=i.findIndex(e=>e.route.id&&a?.[e.route.id]!==void 0);m(e>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(a).join(`,`)}`),i=i.slice(0,Math.min(i.length,e+1))}let s=!1,c=-1;if(n&&r){s=r.renderFallback;for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(c=e),t.route.id){let{loaderData:e,errors:a}=r,o=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!a||a[t.route.id]===void 0);if(t.route.lazy||o){n.isStatic&&(s=!0),i=c>=0?i.slice(0,c+1):[i[0]];break}}}}let l=n?.onError,u=r&&l?(e,t)=>{l(e,{location:r.location,params:r.matches?.[0]?.params??{},unstable_pattern:Oe(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,l)=>{let d,f=!1,p=null,m=null;r&&(d=a&&n.route.id?a[n.route.id]:void 0,p=n.route.errorElement||Pn,s&&(c<0&&l===0?(tr(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),f=!0,m=null):c===l&&(f=!0,m=n.route.hydrateFallbackElement||null)));let h=t.concat(i.slice(0,l+1)),g=()=>{let t;return t=d?p:f?m:n.route.Component?o.createElement(n.route.Component,null):n.route.element?n.route.element:e,o.createElement(Rn,{match:n,routeContext:{outlet:e,matches:h,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||l===0)?o.createElement(Fn,{location:r.location,revalidation:r.revalidation,component:p,error:d,children:g(),routeContext:{outlet:null,matches:h,isDataRoute:!0},onError:u}):g()},null)}function Bn(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Vn(e){let t=o.useContext(on);return m(t,Bn(e)),t}function Hn(e){let t=o.useContext(sn);return m(t,Bn(e)),t}function Un(e){let t=o.useContext(Z);return m(t,Bn(e)),t}function Wn(e){let t=Un(e),n=t.matches[t.matches.length-1];return m(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function Gn(){return Wn(`useRouteId`)}function Kn(){return Hn(`useNavigation`).navigation}function qn(){let{matches:e,loaderData:t}=Hn(`useMatches`);return o.useMemo(()=>e.map(e=>ne(e,t)),[e,t])}function Jn(){let e=Hn(`useLoaderData`),t=Wn(`useLoaderData`);return e.loaderData[t]}function Yn(e){return Hn(`useRouteLoaderData`).loaderData[e]}function Xn(){let e=Hn(`useActionData`),t=Wn(`useLoaderData`);return e.actionData?e.actionData[t]:void 0}function Zn(){let e=o.useContext(mn),t=Hn(`useRouteError`),n=Wn(`useRouteError`);return e===void 0?t.errors?.[n]:e}function Qn(){return o.useContext(fn)?._data}function $n(){let{router:e}=Vn(`useNavigate`),t=Wn(`useNavigate`),n=o.useRef(!1);return wn(()=>{n.current=!0}),o.useCallback(async(r,i={})=>{h(n.current,Cn),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var er={};function tr(e,t,n){!t&&!er[e]&&(er[e]=!0,h(!1,n))}var nr={};function rr(e,t){!e&&!nr[t]&&(nr[t]=!0,console.warn(t))}var ir=o.useOptimistic,ar=()=>void 0;function or(e){return ir?ir(e):[e,ar]}function sr(e){let t={hasErrorBoundary:e.hasErrorBoundary||e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&(e.element&&h(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(t,{element:o.createElement(e.Component),Component:void 0})),e.HydrateFallback&&(e.hydrateFallbackElement&&h(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(t,{hydrateFallbackElement:o.createElement(e.HydrateFallback),HydrateFallback:void 0})),e.ErrorBoundary&&(e.errorElement&&h(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(t,{errorElement:o.createElement(e.ErrorBoundary),ErrorBoundary:void 0})),t}var cr=[`HydrateFallback`,`hydrateFallbackElement`],lr=class{constructor(){this.status=`pending`,this.promise=new Promise((e,t)=>{this.resolve=t=>{this.status===`pending`&&(this.status=`resolved`,e(t))},this.reject=e=>{this.status===`pending`&&(this.status=`rejected`,t(e))}})}};function ur({router:e,flushSync:t,onError:n,unstable_useTransitions:r}){r=ln()||r;let[i,a]=o.useState(e.state),[s,c]=or(i),[l,u]=o.useState(),[d,f]=o.useState({isTransitioning:!1}),[p,m]=o.useState(),[h,g]=o.useState(),[_,v]=o.useState(),y=o.useRef(new Map),b=o.useCallback((i,{deletedFetchers:s,newErrors:l,flushSync:d,viewTransitionOpts:_})=>{l&&n&&Object.values(l).forEach(e=>n(e,{location:i.location,params:i.matches[0]?.params??{},unstable_pattern:Oe(i.matches)})),i.fetchers.forEach((e,t)=>{e.data!==void 0&&y.current.set(t,e.data)}),s.forEach(e=>y.current.delete(e)),rr(d===!1||t!=null,'You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from "react-router/dom"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');let b=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition==`function`;if(rr(_==null||b,"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available."),!_||!b){t&&d?t(()=>a(i)):r===!1?a(i):o.startTransition(()=>{r===!0&&c(e=>dr(e,i)),a(i)});return}if(t&&d){t(()=>{h&&(p?.resolve(),h.skipTransition()),f({isTransitioning:!0,flushSync:!0,currentLocation:_.currentLocation,nextLocation:_.nextLocation})});let n=e.window.document.startViewTransition(()=>{t(()=>a(i))});n.finished.finally(()=>{t(()=>{m(void 0),g(void 0),u(void 0),f({isTransitioning:!1})})}),t(()=>g(n));return}h?(p?.resolve(),h.skipTransition(),v({state:i,currentLocation:_.currentLocation,nextLocation:_.nextLocation})):(u(i),f({isTransitioning:!0,flushSync:!1,currentLocation:_.currentLocation,nextLocation:_.nextLocation}))},[e.window,t,h,p,r,c,n]);o.useLayoutEffect(()=>e.subscribe(b),[e,b]),o.useEffect(()=>{d.isTransitioning&&!d.flushSync&&m(new lr)},[d]),o.useEffect(()=>{if(p&&l&&e.window){let t=l,n=p.promise,i=e.window.document.startViewTransition(async()=>{r===!1?a(t):o.startTransition(()=>{r===!0&&c(e=>dr(e,t)),a(t)}),await n});i.finished.finally(()=>{m(void 0),g(void 0),u(void 0),f({isTransitioning:!1})}),g(i)}},[l,p,e.window,r,c]),o.useEffect(()=>{p&&l&&s.location.key===l.location.key&&p.resolve()},[p,h,s.location,l]),o.useEffect(()=>{!d.isTransitioning&&_&&(u(_.state),f({isTransitioning:!0,flushSync:!1,currentLocation:_.currentLocation,nextLocation:_.nextLocation}),v(void 0))},[d.isTransitioning,_]);let x=o.useMemo(()=>({createHref:e.createHref,encodeLocation:e.encodeLocation,go:t=>e.navigate(t),push:(t,n,r)=>e.navigate(t,{state:n,preventScrollReset:r?.preventScrollReset}),replace:(t,n,r)=>e.navigate(t,{replace:!0,state:n,preventScrollReset:r?.preventScrollReset})}),[e]),S=e.basename||`/`,C=o.useMemo(()=>({router:e,navigator:x,static:!1,basename:S,onError:n}),[e,x,S,n]);return o.createElement(o.Fragment,null,o.createElement(on.Provider,{value:C},o.createElement(sn.Provider,{value:s},o.createElement(dn.Provider,{value:y.current},o.createElement(un.Provider,{value:d},o.createElement(hr,{basename:S,location:s.location,navigationType:s.historyAction,navigator:x,unstable_useTransitions:r},o.createElement(fr,{routes:e.routes,future:e.future,state:s,isStatic:!1,onError:n})))))),null)}function dr(e,t){return{...e,navigation:t.navigation.state===`idle`?e.navigation:t.navigation,revalidation:t.revalidation===`idle`?e.revalidation:t.revalidation,actionData:t.navigation.state===`submitting`?e.actionData:t.actionData,fetchers:t.fetchers}}var fr=o.memo(pr);function pr({routes:e,future:t,state:n,isStatic:r,onError:i}){return Mn(e,void 0,{state:n,isStatic:r,onError:i,future:t})}function mr(e){return kn(e.context)}function hr({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,unstable_useTransitions:s}){m(!xn(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let c=e.replace(/^\/*/,`/`),l=o.useMemo(()=>({basename:c,navigator:i,static:a,unstable_useTransitions:s,future:{}}),[c,i,a,s]);typeof n==`string`&&(n=b(n));let{pathname:u=`/`,search:d=``,hash:f=``,state:p=null,key:g=`default`,unstable_mask:_}=n,v=o.useMemo(()=>{let e=R(u,c);return e==null?null:{location:{pathname:e,search:d,hash:f,state:p,key:g,unstable_mask:_},navigationType:r}},[c,u,d,f,p,g,r,_]);return h(v!=null,`<Router basename="${c}"> is not able to match the URL "${u}${d}${f}" because it does not start with the basename, so the <Router> won't render anything.`),v==null?null:o.createElement(X.Provider,{value:l},o.createElement(pn.Provider,{children:t,value:v}))}function gr({children:e,errorElement:t,resolve:n}){let r=o.useContext(on),i=o.useContext(sn),a=o.useCallback((e,t)=>{r&&r.onError&&i&&r.onError(e,{location:i.location,params:i.matches[0]?.params||{},unstable_pattern:Oe(i.matches),errorInfo:t})},[r,i]);return o.createElement(_r,{resolve:n,errorElement:t,onError:a},o.createElement(vr,null,e))}var _r=class extends o.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error(`<Await> caught the following error during render`,e,t)}render(){let{children:e,errorElement:t,resolve:n}=this.props,r=null,i=0;if(!(n instanceof Promise))i=1,r=Promise.resolve(),Object.defineProperty(r,`_tracked`,{get:()=>!0}),Object.defineProperty(r,`_data`,{get:()=>n});else if(this.state.error){i=2;let e=this.state.error;r=Promise.reject().catch(()=>{}),Object.defineProperty(r,`_tracked`,{get:()=>!0}),Object.defineProperty(r,`_error`,{get:()=>e})}else n._tracked?(r=n,i=`_error`in r?2:`_data`in r?1:0):(i=0,Object.defineProperty(n,`_tracked`,{get:()=>!0}),r=n.then(e=>Object.defineProperty(n,`_data`,{get:()=>e}),e=>{this.props.onError?.(e),Object.defineProperty(n,`_error`,{get:()=>e})}));if(i===2&&!t)throw r._error;if(i===2)return o.createElement(fn.Provider,{value:r,children:t});if(i===1)return o.createElement(fn.Provider,{value:r,children:e});throw r}};function vr({children:e}){let t=Qn(),n=typeof e==`function`?e(t):e;return o.createElement(o.Fragment,null,n)}function yr(){return{params:An(),loaderData:Jn(),actionData:Xn(),matches:qn()}}function br(e){return function(){let t=yr();return o.createElement(e,t)}}function xr(){return{params:An(),loaderData:Jn(),actionData:Xn()}}function Sr(e){return function(){let t=xr();return o.createElement(e,t)}}function Cr(){return{params:An(),loaderData:Jn(),actionData:Xn(),error:Zn()}}function wr(e){return function(){let t=Cr();return o.createElement(e,t)}}var Tr=`get`,Er=`application/x-www-form-urlencoded`;function Dr(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function Or(e){return Dr(e)&&e.tagName.toLowerCase()===`button`}function kr(e){return Dr(e)&&e.tagName.toLowerCase()===`form`}function Ar(e){return Dr(e)&&e.tagName.toLowerCase()===`input`}function jr(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Mr(e,t){return e.button===0&&(!t||t===`_self`)&&!jr(e)}function Nr(e=``){return new URLSearchParams(typeof e==`string`||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(e=>[n,e]):[[n,r]])},[]))}function Pr(e,t){let n=Nr(e);return t&&t.forEach((e,r)=>{n.has(r)||t.getAll(r).forEach(e=>{n.append(r,e)})}),n}var Fr=null;function Ir(){if(Fr===null)try{new FormData(document.createElement(`form`),0),Fr=!1}catch{Fr=!0}return Fr}var Lr=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function Rr(e){return e!=null&&!Lr.has(e)?(h(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Er}"`),null):e}function zr(e,t){let n,r,i,a,o;if(kr(e)){let o=e.getAttribute(`action`);r=o?R(o,t):null,n=e.getAttribute(`method`)||Tr,i=Rr(e.getAttribute(`enctype`))||Er,a=new FormData(e)}else if(Or(e)||Ar(e)&&(e.type===`submit`||e.type===`image`)){let o=e.form;if(o==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let s=e.getAttribute(`formaction`)||o.getAttribute(`action`);if(r=s?R(s,t):null,n=e.getAttribute(`formmethod`)||o.getAttribute(`method`)||Tr,i=Rr(e.getAttribute(`formenctype`))||Rr(o.getAttribute(`enctype`))||Er,a=new FormData(o,e),!Ir()){let{name:t,type:n,value:r}=e;if(n===`image`){let e=t?`${t}.`:``;a.append(`${e}x`,`0`),a.append(`${e}y`,`0`)}else t&&a.append(t,r)}}else if(Dr(e))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else n=Tr,r=null,i=Er,o=e;return a&&i===`text/plain`&&(o=a,a=void 0),{action:r,method:n.toLowerCase(),encType:i,formData:a,body:o}}var Br=-1,Vr=-2,Hr=-3,Ur=-4,Wr=-5,Gr=-6,Kr=-7,qr=`B`,Jr=`D`,Yr=`E`,Xr=`M`,Zr=`N`,Qr=`P`,$r=`R`,ei=`S`,ti=`Y`,ni=`U`,ri=`Z`,ii=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function ai(){let e=new TextDecoder,t=``;return new TransformStream({transform(n,r){let i=e.decode(n,{stream:!0}),a=(t+i).split(`
5
- `);t=a.pop()||``;for(let e of a)r.enqueue(e)},flush(e){t&&e.enqueue(t)}})}Object.getOwnPropertyNames(Object.prototype).sort().join(`\0`);var oi=typeof window<`u`?window:typeof globalThis<`u`?globalThis:void 0;function si(e){let{hydrated:t,values:n}=this;if(typeof e==`number`)return ci.call(this,e);if(!Array.isArray(e)||!e.length)throw SyntaxError();let r=n.length;for(let t of e)n.push(t);return t.length=n.length,ci.call(this,r)}function ci(e){let{hydrated:t,values:n,deferred:r,plugins:i}=this,a,o=[[e,e=>{a=e}]],s=[];for(;o.length>0;){let[e,a]=o.pop();switch(e){case Kr:a(void 0);continue;case Wr:a(null);continue;case Vr:a(NaN);continue;case Gr:a(1/0);continue;case Hr:a(-1/0);continue;case Ur:a(-0);continue}if(t[e]){a(t[e]);continue}let c=n[e];if(!c||typeof c!=`object`){t[e]=c,a(c);continue}if(Array.isArray(c))if(typeof c[0]==`string`){let[n,l,u]=c;switch(n){case Jr:a(t[e]=new Date(l));continue;case ni:a(t[e]=new URL(l));continue;case qr:a(t[e]=BigInt(l));continue;case $r:a(t[e]=new RegExp(l,u));continue;case ti:a(t[e]=Symbol.for(l));continue;case ei:let n=new Set;t[e]=n;for(let e=c.length-1;e>0;e--)o.push([c[e],e=>{n.add(e)}]);a(n);continue;case Xr:let d=new Map;t[e]=d;for(let e=c.length-2;e>0;e-=2){let t=[];o.push([c[e+1],e=>{t[1]=e}]),o.push([c[e],e=>{t[0]=e}]),s.push(()=>{d.set(t[0],t[1])})}a(d);continue;case Zr:let f=Object.create(null);t[e]=f;for(let e of Object.keys(l).reverse()){let t=[];o.push([l[e],e=>{t[1]=e}]),o.push([Number(e.slice(1)),e=>{t[0]=e}]),s.push(()=>{f[t[0]]=t[1]})}a(f);continue;case Qr:if(t[l])a(t[e]=t[l]);else{let n=new ii;r[l]=n,a(t[e]=n.promise)}continue;case Yr:let[,p,m]=c,h=m&&oi&&oi[m]?new oi[m](p):Error(p);t[e]=h,a(h);continue;case ri:a(t[e]=t[l]);continue;default:if(Array.isArray(i)){let n=[],r=c.slice(1);for(let e=0;e<r.length;e++){let t=r[e];o.push([t,t=>{n[e]=t}])}s.push(()=>{for(let r of i){let i=r(c[0],...n);if(i){a(t[e]=i.value);return}}throw SyntaxError()});continue}throw SyntaxError()}}else{let n=[];t[e]=n;for(let e=0;e<c.length;e++){let t=c[e];t!==Br&&o.push([t,t=>{n[e]=t}])}a(n);continue}else{let n={};t[e]=n;for(let e of Object.keys(c).reverse()){let t=[];o.push([c[e],e=>{t[1]=e}]),o.push([Number(e.slice(1)),e=>{t[0]=e}]),s.push(()=>{n[t[0]]=t[1]})}a(n);continue}}for(;s.length>0;)s.pop()();return a}async function li(e,t){let{plugins:n}=t??{},r=new ii,i=e.pipeThrough(ai()).getReader(),a={values:[],hydrated:[],deferred:{},plugins:n},o=await ui.call(a,i),s=r.promise;return o.done?r.resolve():s=di.call(a,i).then(r.resolve).catch(e=>{for(let t of Object.values(a.deferred))t.reject(e);r.reject(e)}),{done:s.then(()=>i.closed),value:o.value}}async function ui(e){let t=await e.read();if(!t.value)throw SyntaxError();let n;try{n=JSON.parse(t.value)}catch{throw SyntaxError()}return{done:t.done,value:si.call(this,n)}}async function di(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;let n=t.value;switch(n[0]){case Qr:{let e=n.indexOf(`:`),t=Number(n.slice(1,e)),r=this.deferred[t];if(!r)throw Error(`Deferred ID ${t} not found in stream`);let i=n.slice(e+1),a;try{a=JSON.parse(i)}catch{throw SyntaxError()}let o=si.call(this,a);r.resolve(o);break}case Yr:{let e=n.indexOf(`:`),t=Number(n.slice(1,e)),r=this.deferred[t];if(!r)throw Error(`Deferred ID ${t} not found in stream`);let i=n.slice(e+1),a;try{a=JSON.parse(i)}catch{throw SyntaxError()}let o=si.call(this,a);r.reject(o);break}default:throw SyntaxError()}t=await e.read()}}async function fi(e){let t={signal:e.signal};if(e.method!==`GET`){t.method=e.method;let n=e.headers.get(`Content-Type`);n&&/\bapplication\/json\b/.test(n)?(t.headers={"Content-Type":n},t.body=JSON.stringify(await e.json())):n&&/\btext\/plain\b/.test(n)?(t.headers={"Content-Type":n},t.body=await e.text()):n&&/\bapplication\/x-www-form-urlencoded\b/.test(n)?t.body=new URLSearchParams(await e.text()):t.body=await e.formData()}return t}var pi={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},mi=/[&><\u2028\u2029]/g;function hi(e){return e.replace(mi,e=>pi[e])}function $(e,t){if(e===!1||e==null)throw Error(t)}var gi=Symbol(`SingleFetchRedirect`),_i=class extends Error{},vi=new Set([100,101,204,205]);function yi(e,t,n,r,i,a){let o=bi(e,e=>{let r=t.routes[e.route.id];$(r,`Route not found in manifest`);let i=n[e.route.id];return{hasLoader:r.hasLoader,hasClientLoader:r.hasClientLoader,hasShouldRevalidate:!!i?.shouldRevalidate}},Oi,r,i,a);return async e=>e.runClientMiddleware(o)}function bi(e,t,n,r,i,a,o=()=>!0){return async s=>{let{request:c,matches:l,fetcherKey:u}=s,d=e();if(c.method!==`GET`)return xi(s,n,i,a);let f=l.some(e=>{let{hasLoader:n,hasClientLoader:r}=t(e);return e.shouldCallHandler()&&n&&!r});return!r&&!f?Si(s,t,n,i,a):u?Ti(s,n,i,a):Ci(s,d,t,n,r,i,a,o)}}async function xi(e,t,n,r){let i=e.matches.find(e=>e.shouldCallHandler());$(i,`No action match found`);let a,o=await i.resolve(async o=>await o(async()=>{let{data:o,status:s}=await t(e,n,r,[i.route.id]);return a=s,Ai(o,i.route.id)}));return Wt(o.result)||De(o.result)||Ut(o.result)?{[i.route.id]:o}:{[i.route.id]:{type:o.type,result:Te(o.result,a)}}}async function Si(e,t,n,r,i){let a=e.matches.filter(e=>e.shouldCallHandler()),o={};return await Promise.all(a.map(a=>a.resolve(async s=>{try{let{hasClientLoader:c}=t(a),l=a.route.id,u=c?await s(async()=>{let{data:t}=await n(e,r,i,[l]);return Ai(t,l)}):await s();o[a.route.id]={type:`data`,result:u}}catch(e){o[a.route.id]={type:`error`,result:e}}}))),o}async function Ci(e,t,n,r,i,a,o,s=()=>!0){let c=new Set,l=!1,u=e.matches.map(()=>ji()),d=ji(),f={},p=Promise.all(e.matches.map(async(t,i)=>t.resolve(async p=>{u[i].resolve();let m=t.route.id,{hasLoader:h,hasClientLoader:g,hasShouldRevalidate:_}=n(t),v=!t.shouldRevalidateArgs||t.shouldRevalidateArgs.actionStatus==null||t.shouldRevalidateArgs.actionStatus<400;if(!t.shouldCallHandler(v)){l||=t.shouldRevalidateArgs!=null&&h&&_===!0;return}if(s(t)&&g){h&&(l=!0);try{f[m]={type:`data`,result:await p(async()=>{let{data:t}=await r(e,a,o,[m]);return Ai(t,m)})}}catch(e){f[m]={type:`error`,result:e}}return}h&&c.add(m);try{f[m]={type:`data`,result:await p(async()=>Ai(await d.promise,m))}}catch(e){f[m]={type:`error`,result:e}}})));if(await Promise.all(u.map(e=>e.promise)),(!t.state.initialized&&t.state.navigation.state===`idle`||c.size===0)&&!window.__reactRouterHdrActive)d.resolve({routes:{}});else{let t=i&&l&&c.size>0?[...c.keys()]:void 0;try{let n=await r(e,a,o,t);d.resolve(n.data)}catch(e){d.reject(e)}}return await p,await wi(d.promise,e.matches,c,f),f}async function wi(e,t,n,r){try{let i,a=await e;if(`routes`in a){for(let e of t)if(e.route.id in a.routes){let t=a.routes[e.route.id];if(`error`in t){i=t.error,r[e.route.id]?.result??(r[e.route.id]={type:`error`,result:i});break}}}i!==void 0&&Array.from(n.values()).forEach(e=>{r[e].result instanceof _i&&(r[e].result=i)})}catch{}}async function Ti(e,t,n,r){let i=e.matches.find(e=>e.shouldCallHandler());$(i,`No fetcher match found`);let a=i.route.id,o=await i.resolve(async i=>i(async()=>{let{data:i}=await t(e,n,r,[a]);return Ai(i,a)}));return{[i.route.id]:o}}function Ei(e){let t=e.searchParams.getAll(`index`);e.searchParams.delete(`index`);let n=[];for(let e of t)e&&n.push(e);for(let t of n)e.searchParams.append(`index`,t);return e}function Di(e,t,n,r){let i=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n?i.pathname.endsWith(`/`)?i.pathname=`${i.pathname}_.${r}`:i.pathname=`${i.pathname}.${r}`:i.pathname===`/`?i.pathname=`_root.${r}`:t&&R(i.pathname,t)===`/`?i.pathname=`${t.replace(/\/$/,``)}/_root.${r}`:i.pathname=`${i.pathname.replace(/\/$/,``)}.${r}`,i}async function Oi(e,t,n,r){let{request:i}=e,a=Di(i.url,t,n,`data`);i.method===`GET`&&(a=Ei(a),r&&a.searchParams.set(`_routes`,r.join(`,`)));let o=await fetch(a,await fi(i));if(o.status>=400&&!o.headers.has(`X-Remix-Response`))throw new H(o.status,o.statusText,await o.text());if(o.status===204&&o.headers.has(`X-Remix-Redirect`))return{status:202,data:{redirect:{redirect:o.headers.get(`X-Remix-Redirect`),status:Number(o.headers.get(`X-Remix-Status`)||`302`),revalidate:o.headers.get(`X-Remix-Revalidate`)===`true`,reload:o.headers.get(`X-Remix-Reload-Document`)===`true`,replace:o.headers.get(`X-Remix-Replace`)===`true`}}};if(vi.has(o.status)){let e={};return r&&i.method!==`GET`&&(e[r[0]]={data:void 0}),{status:o.status,data:{routes:e}}}$(o.body,`No response body to decode`);try{let e=await ki(o.body,window),t;if(i.method===`GET`){let n=e.value;t=gi in n?{redirect:n[gi]}:{routes:n}}else{let n=e.value,i=r?.[0];$(i,`No routeId found for single fetch call decoding`),t=`redirect`in n?{redirect:n}:{routes:{[i]:n}}}return{status:o.status,data:t}}catch{throw Error(`Unable to decode turbo-stream response`)}}function ki(e,t){return li(e,{plugins:[(e,...n)=>{if(e===`SanitizedError`){let[e,r,i]=n,a=Error;e&&e in t&&typeof t[e]==`function`&&(a=t[e]);let o=new a(r);return o.stack=i,{value:o}}if(e===`ErrorResponse`){let[e,t,r]=n;return{value:new H(t,r,e)}}if(e===`SingleFetchRedirect`)return{value:{[gi]:n[0]}};if(e===`SingleFetchClassInstance`)return{value:n[0]};if(e===`SingleFetchFallback`)return{value:void 0}}]})}function Ai(e,t){if(`redirect`in e){let{redirect:t,revalidate:n,reload:r,replace:i,status:a}=e.redirect;throw Ee(t,{status:a,headers:{...n?{"X-Remix-Revalidate":`yes`}:null,...r?{"X-Remix-Reload-Document":`yes`}:null,...i?{"X-Remix-Replace":`yes`}:null}})}let n=e.routes[t];if(n==null)throw new _i(`No result found for routeId "${t}"`);if(`error`in n)throw n.error;if(`data`in n)return n.data;throw Error(`Invalid response found for routeId "${t}"`)}function ji(){let e,t,n=new Promise((r,i)=>{e=async e=>{r(e);try{await n}catch{}},t=async e=>{i(e);try{await n}catch{}}});return{promise:n,resolve:e,reject:t}}async function Mi(e,t){if(e.id in t)return t[e.id];try{let n=await a(()=>import(e.module),[]);return t[e.id]=n,n}catch(t){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(t),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Ni(e,t,n){return Gi(e.map(e=>{let r=t[e.route.id],i=n.routes[e.route.id];return[i&&i.css?i.css.map(e=>({rel:`stylesheet`,href:e})):[],r?.links?.()||[]]}).flat(2),Hi(e,n))}function Pi(e){return e.css?e.css.map(e=>({rel:`stylesheet`,href:e})):[]}async function Fi(e){if(!e.css)return;let t=Pi(e);await Promise.all(t.map(Li))}async function Ii(e,t){if(!e.css&&!t.links||!qi())return;let n=[];if(e.css&&n.push(...Pi(e)),t.links&&n.push(...t.links()),n.length===0)return;let r=[];for(let e of n)!Ri(e)&&e.rel===`stylesheet`&&r.push({...e,rel:`preload`,as:`style`});await Promise.all(r.map(Li))}async function Li(e){return new Promise(t=>{if(e.media&&!window.matchMedia(e.media).matches||document.querySelector(`link[rel="stylesheet"][href="${e.href}"]`))return t();let n=document.createElement(`link`);Object.assign(n,e);function r(){document.head.contains(n)&&document.head.removeChild(n)}n.onload=()=>{r(),t()},n.onerror=()=>{r(),t()},document.head.appendChild(n)})}function Ri(e){return e!=null&&typeof e.page==`string`}function zi(e){return e==null?!1:e.href==null?e.rel===`preload`&&typeof e.imageSrcSet==`string`&&typeof e.imageSizes==`string`:typeof e.rel==`string`&&typeof e.href==`string`}async function Bi(e,t,n){return Gi((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await Mi(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(zi).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Vi(e,t,n,r,i,a){let o=(e,t)=>n[t]?e.route.id!==n[t].route.id:!0,s=(e,t)=>n[t].pathname!==e.pathname||n[t].route.path?.endsWith(`*`)&&n[t].params[`*`]!==e.params[`*`];return a===`assets`?t.filter((e,t)=>o(e,t)||s(e,t)):a===`data`?t.filter((t,a)=>{let c=r.routes[t.route.id];if(!c||!c.hasLoader)return!1;if(o(t,a)||s(t,a))return!0;if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate({currentUrl:new URL(i.pathname+i.search+i.hash,window.origin),currentParams:n[0]?.params||{},nextUrl:new URL(e,window.origin),nextParams:t.params,defaultShouldRevalidate:!0});if(typeof r==`boolean`)return r}return!0}):[]}function Hi(e,t,{includeHydrateFallback:n}={}){return Ui(e.map(e=>{let r=t.routes[e.route.id];if(!r)return[];let i=[r.module];return r.clientActionModule&&(i=i.concat(r.clientActionModule)),r.clientLoaderModule&&(i=i.concat(r.clientLoaderModule)),n&&r.hydrateFallbackModule&&(i=i.concat(r.hydrateFallbackModule)),r.imports&&(i=i.concat(r.imports)),i}).flat(1))}function Ui(e){return[...new Set(e)]}function Wi(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Gi(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!Ri(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(Wi(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}var Ki;function qi(){if(Ki!==void 0)return Ki;let e=document.createElement(`link`);return Ki=e.relList.supports(`preload`),e=null,Ki}function Ji(){return o.createElement(Ba,{title:`Loading...`,renderScripts:!0},o.createElement(`script`,{dangerouslySetInnerHTML:{__html:`
6
- console.log(
7
- "💿 Hey developer 👋. You can provide a way better UX than this " +
8
- "when your app is loading JS modules and/or running \`clientLoader\` " +
9
- "functions. Check out https://reactrouter.com/start/framework/route-module#hydratefallback " +
10
- "for more information."
11
- );
12
- `}}))}function Yi(e){let t={};return Object.values(e).forEach(e=>{if(e){let n=e.parentId||``;t[n]||(t[n]=[]),t[n].push(e)}}),t}function Xi(e,t,n){let r=ia(t),i=t.HydrateFallback&&(!n||e.id===`root`)?t.HydrateFallback:e.id===`root`?Ji:void 0,a=t.ErrorBoundary?t.ErrorBoundary:e.id===`root`?()=>o.createElement(za,{error:Zn()}):void 0;return e.id===`root`&&t.Layout?{...r?{element:o.createElement(t.Layout,null,o.createElement(r,null))}:{Component:r},...a?{errorElement:o.createElement(t.Layout,null,o.createElement(a,null))}:{ErrorBoundary:a},...i?{hydrateFallbackElement:o.createElement(t.Layout,null,o.createElement(i,null))}:{HydrateFallback:i}}:{Component:r,ErrorBoundary:a,HydrateFallback:i}}function Zi(e,t,n,r,i,a){return ea(t,n,r,i,a,``,Yi(t),e)}function Qi(e,t){if(e===`loader`&&!t.hasLoader||e===`action`&&!t.hasAction){let n=`You are trying to call ${e===`action`?`serverAction()`:`serverLoader()`} on a route that does not have a server ${e} (routeId: "${t.id}")`;throw console.error(n),new H(400,`Bad Request`,Error(n),!0)}}function $i(e,t){let n=e===`clientAction`?`a`:`an`,r=`Route "${t}" does not have ${n} ${e}, but you are trying to submit to it. To fix this, please add ${n} \`${e}\` function to the route`;throw console.error(r),new H(405,`Method Not Allowed`,Error(r),!0)}function ea(e,t,n,r,i,o=``,s=Yi(e),c){return(s[o]||[]).map(o=>{let l=t[o.id];function u(e){return $(typeof e==`function`,`No single fetch function available for route handler`),e()}function d(e){return o.hasLoader?u(e):Promise.resolve(null)}function f(e){if(!o.hasAction)throw $i(`action`,o.id);return u(e)}function p(e){a(()=>import(e),[])}function m(e){e.clientActionModule&&p(e.clientActionModule),e.clientLoaderModule&&p(e.clientLoaderModule)}async function h(e){let n=t[o.id],r=n?Ii(o,n):Promise.resolve();try{return e()}finally{await r}}let g={id:o.id,index:o.index,path:o.path};if(l){Object.assign(g,{...g,...Xi(o,l,i),middleware:l.clientMiddleware,handle:l.handle,shouldRevalidate:ta(g.path,l,o,r,c)});let e=n&&n.loaderData&&o.id in n.loaderData,t=e?n?.loaderData?.[o.id]:void 0,a=n&&n.errors&&o.id in n.errors,s=a?n?.errors?.[o.id]:void 0,u=c==null&&(l.clientLoader?.hydrate===!0||!o.hasLoader);g.loader=async({request:n,params:r,context:i,unstable_pattern:c},f)=>{try{return await h(async()=>($(l,"No `routeModule` available for critical-route loader"),l.clientLoader?l.clientLoader({request:n,params:r,context:i,unstable_pattern:c,async serverLoader(){if(Qi(`loader`,o),u){if(e)return t;if(a)throw s}return d(f)}}):d(f)))}finally{u=!1}},g.loader.hydrate=aa(o.id,l.clientLoader,o.hasLoader,i),g.action=({request:e,params:t,context:n,unstable_pattern:r},a)=>h(async()=>{if($(l,"No `routeModule` available for critical-route action"),!l.clientAction){if(i)throw $i(`clientAction`,o.id);return f(a)}return l.clientAction({request:e,params:t,context:n,unstable_pattern:r,async serverAction(){return Qi(`action`,o),f(a)}})})}else{o.hasClientLoader||(g.loader=(e,t)=>h(()=>d(t))),o.hasClientAction||(g.action=(e,t)=>h(()=>{if(i)throw $i(`clientAction`,o.id);return f(t)}));let e;async function n(){return e||=(async()=>{(o.clientLoaderModule||o.clientActionModule)&&await new Promise(e=>setTimeout(e,0));let e=ra(o,t);return m(o),await e})(),await e}g.lazy={loader:o.hasClientLoader?async()=>{let{clientLoader:e}=o.clientLoaderModule?await a(()=>import(o.clientLoaderModule),[]):await n();return $(e,"No `clientLoader` export found"),(t,n)=>e({...t,async serverLoader(){return Qi(`loader`,o),d(n)}})}:void 0,action:o.hasClientAction?async()=>{let e=o.clientActionModule?a(()=>import(o.clientActionModule),[]):n();m(o);let{clientAction:t}=await e;return $(t,"No `clientAction` export found"),(e,n)=>t({...e,async serverAction(){return Qi(`action`,o),f(n)}})}:void 0,middleware:o.hasClientMiddleware?async()=>{let{clientMiddleware:e}=o.clientMiddlewareModule?await a(()=>import(o.clientMiddlewareModule),[]):await n();return $(e,"No `clientMiddleware` export found"),e}:void 0,shouldRevalidate:async()=>{let e=await n();return ta(g.path,e,o,r,c)},handle:async()=>(await n()).handle,Component:async()=>(await n()).Component,ErrorBoundary:o.hasErrorBoundary?async()=>(await n()).ErrorBoundary:void 0}}let _=ea(e,t,n,r,i,o.id,s,c);return _.length>0&&(g.children=_),g})}function ta(e,t,n,r,i){if(i)return na(n.id,t.shouldRevalidate,i);if(!r&&n.hasLoader&&!n.hasClientLoader){let n=e?fe(e)[1].map(e=>e.paramName):[],r=e=>n.some(t=>e.currentParams[t]!==e.nextParams[t]);if(t.shouldRevalidate){let e=t.shouldRevalidate;return t=>e({...t,defaultShouldRevalidate:r(t)})}else return e=>r(e)}return t.shouldRevalidate}function na(e,t,n){let r=!1;return i=>r?t?t(i):i.defaultShouldRevalidate:(r=!0,n.has(e))}async function ra(e,t){let n=Mi(e,t),r=Fi(e),i=await n;return await Promise.all([r,Ii(e,i)]),{Component:ia(i),ErrorBoundary:i.ErrorBoundary,clientMiddleware:i.clientMiddleware,clientAction:i.clientAction,clientLoader:i.clientLoader,handle:i.handle,links:i.links,meta:i.meta,shouldRevalidate:i.shouldRevalidate}}function ia(e){if(e.default!=null&&!(typeof e.default==`object`&&Object.keys(e.default).length===0))return e.default}function aa(e,t,n,r){return r&&e!==`root`||t!=null&&(t.hydrate===!0||n!==!0)}var oa=new Set,sa=1e3,ca=new Set,la=7680;function ua(e,t){return e.mode===`lazy`&&t===!0}function da({sri:e,...t},n){let r=new Set(n.state.matches.map(e=>e.route.id)),i=n.state.location.pathname.split(`/`).filter(Boolean),a=[`/`];for(i.pop();i.length>0;)a.push(`/${i.join(`/`)}`),i.pop();a.forEach(e=>{let t=M(n.routes,e,n.basename);t&&t.forEach(e=>r.add(e.route.id))});let o=[...r].reduce((e,n)=>Object.assign(e,{[n]:t.routes[n]}),{});return{...t,routes:o,sri:e?!0:void 0}}function fa(e,t,n,r,i,a,o){if(ua(i,r))return async({path:s,patch:c,signal:l,fetcherKey:u})=>{if(ca.has(s))return;let{state:d}=e();await ga([s],u?window.location.href:y(d.navigation.location||d.location),t,n,r,a,o,i.manifestPath,c,l)}}function pa(e,t,n,r,i,a){o.useEffect(()=>{if(!ua(i,r)||window.navigator?.connection?.saveData===!0)return;function o(e){let t=e.tagName===`FORM`?e.getAttribute(`action`):e.getAttribute(`href`);if(!t)return;let n=e.tagName===`A`?e.pathname:new URL(t,window.location.origin).pathname;ca.has(n)||oa.add(n)}async function s(){document.querySelectorAll(`a[data-discover], form[data-discover]`).forEach(o);let s=Array.from(oa.keys()).filter(e=>ca.has(e)?(oa.delete(e),!1):!0);if(s.length!==0)try{await ga(s,null,t,n,r,a,e.basename,i.manifestPath,e.patchRoutes)}catch(e){console.error(`Failed to fetch manifest patches`,e)}}let c=va(s,100);s();let l=new MutationObserver(()=>c());return l.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[`data-discover`,`href`,`action`]}),()=>l.disconnect()},[r,a,t,n,e,i])}function ma(e,t){let n=e||`/__manifest`;return t==null?n:`${t}${n}`.replace(/\/+/g,`/`)}var ha=`react-router-manifest-version`;async function ga(e,t,n,r,i,a,o,s,c,l){let u=new URLSearchParams;u.set(`paths`,e.sort().join(`,`)),u.set(`version`,n.version);let d=new URL(ma(s,o),window.location.origin);if(d.search=u.toString(),d.toString().length>la){oa.clear();return}let f;try{let e=await fetch(d,{signal:l});if(e.ok){if(e.status===204&&e.headers.has(`X-Remix-Reload-Document`)){if(!t){console.warn(`Detected a manifest version mismatch during eager route discovery. The next navigation/fetch to an undiscovered route will result in a new document navigation to sync up with the latest manifest.`);return}try{if(sessionStorage.getItem(ha)===n.version){console.error(`Unable to discover routes due to manifest version mismatch.`);return}sessionStorage.setItem(ha,n.version)}catch{}window.location.href=t,console.warn(`Detected manifest version mismatch, reloading...`),await new Promise(()=>{})}else if(e.status>=400)throw Error(await e.text())}else throw Error(`${e.status} ${e.statusText}`);try{sessionStorage.removeItem(ha)}catch{}f=await e.json()}catch(e){if(l?.aborted)return;throw e}let p=new Set(Object.keys(n.routes)),m=Object.values(f).reduce((e,t)=>(t&&!p.has(t.id)&&(e[t.id]=t),e),{});Object.assign(n.routes,m),e.forEach(e=>_a(e,ca));let h=new Set;Object.values(m).forEach(e=>{e&&(!e.parentId||!m[e.parentId])&&h.add(e.parentId)}),h.forEach(e=>c(e||null,ea(m,r,null,i,a,e)))}function _a(e,t){if(t.size>=sa){let e=t.values().next().value;t.delete(e)}t.add(e)}function va(e,t){let n;return(...r)=>{window.clearTimeout(n),n=window.setTimeout(()=>e(...r),t)}}function ya(){let e=o.useContext(on);return $(e,`You must render this element inside a <DataRouterContext.Provider> element`),e}function ba(){let e=o.useContext(sn);return $(e,`You must render this element inside a <DataRouterStateContext.Provider> element`),e}var xa=o.createContext(void 0);xa.displayName=`FrameworkContext`;function Sa(){let e=o.useContext(xa);return $(e,`You must render this element inside a <HydratedRouter> element`),e}function Ca(e,t){let n=o.useContext(xa),[r,i]=o.useState(!1),[a,s]=o.useState(!1),{onFocus:c,onBlur:l,onMouseEnter:u,onMouseLeave:d,onTouchStart:f}=t,p=o.useRef(null);o.useEffect(()=>{if(e===`render`&&s(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{s(e.isIntersecting)})},{threshold:.5});return p.current&&e.observe(p.current),()=>{e.disconnect()}}},[e]),o.useEffect(()=>{if(r){let e=setTimeout(()=>{s(!0)},100);return()=>{clearTimeout(e)}}},[r]);let m=()=>{i(!0)},h=()=>{i(!1),s(!1)};return n?e===`intent`?[a,p,{onFocus:wa(c,m),onBlur:wa(l,h),onMouseEnter:wa(u,m),onMouseLeave:wa(d,h),onTouchStart:wa(f,m)}]:[a,p,{}]:[!1,p,{}]}function wa(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function Ta(e,t,n){if(n&&!Na)return[e[0]];if(t){let n=e.findIndex(e=>t[e.route.id]!==void 0);return e.slice(0,n+1)}return e}var Ea=`data-react-router-critical-css`;function Da({nonce:e,crossOrigin:t}){let{isSpaMode:n,manifest:r,routeModules:i,criticalCss:a}=Sa(),{errors:s,matches:c}=ba(),l=Ta(c,s,n),u=o.useMemo(()=>Ni(l,i,r),[l,i,r]);return o.createElement(o.Fragment,null,typeof a==`string`?o.createElement(`style`,{[Ea]:``,nonce:e,dangerouslySetInnerHTML:{__html:a}}):null,typeof a==`object`?o.createElement(`link`,{[Ea]:``,rel:`stylesheet`,href:a.href,nonce:e,crossOrigin:t}):null,u.map(({key:n,link:r})=>Ri(r)?o.createElement(Oa,{key:n,nonce:e,...r,crossOrigin:r.crossOrigin??t}):o.createElement(`link`,{key:n,nonce:e,...r,crossOrigin:r.crossOrigin??t})))}function Oa({page:e,...t}){let{router:n}=ya(),r=o.useMemo(()=>M(n.routes,e,n.basename),[n.routes,e,n.basename]);return r?o.createElement(Aa,{page:e,matches:r,...t}):null}function ka(e){let{manifest:t,routeModules:n}=Sa(),[r,i]=o.useState([]);return o.useEffect(()=>{let r=!1;return Bi(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function Aa({page:e,matches:t,...n}){let r=Q(),{future:i,manifest:a,routeModules:s}=Sa(),{basename:c}=ya(),{loaderData:l,matches:u}=ba(),d=o.useMemo(()=>Vi(e,t,u,a,r,`data`),[e,t,u,a,r]),f=o.useMemo(()=>Vi(e,t,u,a,r,`assets`),[e,t,u,a,r]),p=o.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,o=!1;if(t.forEach(e=>{let t=a.routes[e.route.id];!t||!t.hasLoader||(!d.some(t=>t.route.id===e.route.id)&&e.route.id in l&&s[e.route.id]?.shouldRevalidate||t.hasClientLoader?o=!0:n.add(e.route.id))}),n.size===0)return[];let u=Di(e,c,i.unstable_trailingSlashAwareDataRequests,`data`);return o&&n.size>0&&u.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[u.pathname+u.search]},[c,i.unstable_trailingSlashAwareDataRequests,l,r,a,d,t,e,s]),m=o.useMemo(()=>Hi(f,a),[f,a]),h=ka(f);return o.createElement(o.Fragment,null,p.map(e=>o.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),m.map(e=>o.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),h.map(({key:e,link:t})=>o.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function ja(){let{isSpaMode:e,routeModules:t}=Sa(),{errors:n,matches:r,loaderData:i}=ba(),a=Q(),s=Ta(r,n,e),c=null;n&&(c=n[s[s.length-1].route.id]);let l=[],u=null,d=[];for(let e=0;e<s.length;e++){let n=s[e],r=n.route.id,o=i[r],f=n.params,p=t[r],m=[],h={id:r,data:o,loaderData:o,meta:[],params:n.params,pathname:n.pathname,handle:n.route.handle,error:c};if(d[e]=h,p?.meta?m=typeof p.meta==`function`?p.meta({data:o,loaderData:o,params:f,location:a,matches:d,error:c}):Array.isArray(p.meta)?[...p.meta]:p.meta:u&&(m=[...u]),m||=[],!Array.isArray(m))throw Error(`The route at `+n.route.path+` returns an invalid value. All route meta functions must return an array of meta objects.
13
-
14
- To reference the meta function API, see https://reactrouter.com/start/framework/route-module#meta`);h.meta=m,d[e]=h,l=[...m],u=l}return o.createElement(o.Fragment,null,l.flat().map(e=>{if(!e)return null;if(`tagName`in e){let{tagName:t,...n}=e;if(!Ma(t))return console.warn(`A meta object uses an invalid tagName: ${t}. Expected either 'link' or 'meta'`),null;let r=t;return o.createElement(r,{key:JSON.stringify(n),...n})}if(`title`in e)return o.createElement(`title`,{key:`title`},String(e.title));if(`charset`in e&&(e.charSet??=e.charset,delete e.charset),`charSet`in e&&e.charSet!=null)return typeof e.charSet==`string`?o.createElement(`meta`,{key:`charSet`,charSet:e.charSet}):null;if(`script:ld+json`in e)try{let t=JSON.stringify(e[`script:ld+json`]);return o.createElement(`script`,{key:`script:ld+json:${t}`,type:`application/ld+json`,dangerouslySetInnerHTML:{__html:hi(t)}})}catch{return null}return o.createElement(`meta`,{key:JSON.stringify(e),...e})}))}function Ma(e){return typeof e==`string`&&/^(meta|link)$/.test(e)}var Na=!1;function Pa(){Na=!0}function Fa(e){let{manifest:t,serverHandoffString:n,isSpaMode:r,renderMeta:i,routeDiscovery:a,ssr:s}=Sa(),{router:c,static:l,staticContext:u}=ya(),{matches:d}=ba(),f=ln(),p=ua(a,s);i&&(i.didRenderScripts=!0);let m=Ta(d,null,r);o.useEffect(()=>{Pa()},[]);let h=o.useMemo(()=>{if(f)return null;let r=u?`window.__reactRouterContext = ${n};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());`:` `,i=l?`${t.hmr?.runtime?`import ${JSON.stringify(t.hmr.runtime)};`:``}${p?``:`import ${JSON.stringify(t.url)}`};
15
- ${m.map((e,n)=>{let r=`route${n}`,i=t.routes[e.route.id];$(i,`Route ${e.route.id} not found in manifest`);let{clientActionModule:a,clientLoaderModule:o,clientMiddlewareModule:s,hydrateFallbackModule:c,module:l}=i,u=[...a?[{module:a,varName:`${r}_clientAction`}]:[],...o?[{module:o,varName:`${r}_clientLoader`}]:[],...s?[{module:s,varName:`${r}_clientMiddleware`}]:[],...c?[{module:c,varName:`${r}_HydrateFallback`}]:[],{module:l,varName:`${r}_main`}];return u.length===1?`import * as ${r} from ${JSON.stringify(l)};`:[u.map(e=>`import * as ${e.varName} from "${e.module}";`).join(`
16
- `),`const ${r} = {${u.map(e=>`...${e.varName}`).join(`,`)}};`].join(`
17
- `)}).join(`
18
- `)}
19
- ${p?`window.__reactRouterManifest = ${JSON.stringify(da(t,c),null,2)};`:``}
20
- window.__reactRouterRouteModules = {${m.map((e,t)=>`${JSON.stringify(e.route.id)}:route${t}`).join(`,`)}};
21
-
22
- import(${JSON.stringify(t.entry.module)});`:` `;return o.createElement(o.Fragment,null,o.createElement(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:r},type:void 0}),o.createElement(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:i},type:`module`,async:!0}))},[]),g=Na||f?[]:Ia(t.entry.imports.concat(Hi(m,t,{includeHydrateFallback:!0}))),_=typeof t.sri==`object`?t.sri:{};return rr(!f,`The <Scripts /> element is a no-op when using RSC and can be safely removed.`),Na||f?null:o.createElement(o.Fragment,null,typeof t.sri==`object`?o.createElement(`script`,{...e,"rr-importmap":``,type:`importmap`,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:_})}}):null,p?null:o.createElement(`link`,{rel:`modulepreload`,href:t.url,crossOrigin:e.crossOrigin,integrity:_[t.url],suppressHydrationWarning:!0}),o.createElement(`link`,{rel:`modulepreload`,href:t.entry.module,crossOrigin:e.crossOrigin,integrity:_[t.entry.module],suppressHydrationWarning:!0}),g.map(t=>o.createElement(`link`,{key:t,rel:`modulepreload`,href:t,crossOrigin:e.crossOrigin,integrity:_[t],suppressHydrationWarning:!0})),h)}function Ia(e){return[...new Set(e)]}function La(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}var Ra=class extends o.Component{constructor(e){super(e),this.state={error:e.error||null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location===e.location?{error:e.error||t.error,location:t.location}:{error:e.error||null,location:e.location}}render(){return this.state.error?o.createElement(za,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}};function za({error:e,isOutsideRemixApp:t}){console.error(e);let n=o.createElement(`script`,{dangerouslySetInnerHTML:{__html:`
23
- console.log(
24
- "💿 Hey developer 👋. You can provide a way better UX than this when your app throws errors. Check out https://reactrouter.com/how-to/error-boundary for more information."
25
- );
26
- `}});if(De(e))return o.createElement(Ba,{title:`Unhandled Thrown Response!`},o.createElement(`h1`,{style:{fontSize:`24px`}},e.status,` `,e.statusText),n);let r;if(e instanceof Error)r=e;else{let t=e==null?`Unknown Error`:typeof e==`object`&&`toString`in e?e.toString():JSON.stringify(e);r=Error(t)}return o.createElement(Ba,{title:`Application Error!`,isOutsideRemixApp:t},o.createElement(`h1`,{style:{fontSize:`24px`}},`Application Error`),o.createElement(`pre`,{style:{padding:`2rem`,background:`hsla(10, 50%, 50%, 0.1)`,color:`red`,overflow:`auto`}},r.stack),n)}function Ba({title:e,renderScripts:t,isOutsideRemixApp:n,children:r}){let{routeModules:i}=Sa();return i.root?.Layout&&!n?r:o.createElement(`html`,{lang:`en`},o.createElement(`head`,null,o.createElement(`meta`,{charSet:`utf-8`}),o.createElement(`meta`,{name:`viewport`,content:`width=device-width,initial-scale=1,viewport-fit=cover`}),o.createElement(`title`,null,e)),o.createElement(`body`,null,o.createElement(`main`,{style:{fontFamily:`system-ui, sans-serif`,padding:`2rem`}},r,t?o.createElement(Fa,null):null)))}var Va=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{Va&&(window.__reactRouterVersion=`7.13.1`)}catch{}function Ha({basename:e,children:t,history:n,unstable_useTransitions:r}){let[i,a]=o.useState({action:n.action,location:n.location}),s=o.useCallback(e=>{r===!1?a(e):o.startTransition(()=>a(e))},[r]);return o.useLayoutEffect(()=>n.listen(s),[n,s]),o.createElement(hr,{basename:e,children:t,location:i.location,navigationType:i.action,navigator:n,unstable_useTransitions:r})}Ha.displayName=`unstable_HistoryRouter`;var Ua=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Wa=o.forwardRef(function({onClick:e,discover:t=`render`,prefetch:n=`none`,relative:r,reloadDocument:i,replace:a,unstable_mask:s,state:c,target:l,to:u,preventScrollReset:d,viewTransition:f,unstable_defaultShouldRevalidate:p,...m},h){let{basename:g,navigator:_,unstable_useTransitions:v}=o.useContext(X),y=typeof u==`string`&&Ua.test(u),b=Ae(u,g);u=b.to;let x=bn(u,{relative:r}),S=Q(),C=null;if(s){let e=B(s,[],S.unstable_mask?S.unstable_mask.pathname:`/`,!0);g!==`/`&&(e.pathname=e.pathname===`/`?g:V([g,e.pathname])),C=_.createHref(e)}let[w,T,E]=Ca(n,m),D=Za(u,{replace:a,unstable_mask:s,state:c,target:l,preventScrollReset:d,relative:r,viewTransition:f,unstable_defaultShouldRevalidate:p,unstable_useTransitions:v});function O(t){e&&e(t),t.defaultPrevented||D(t)}let k=!(b.isExternal||i),A=o.createElement(`a`,{...m,...E,href:(k?C:void 0)||b.absoluteURL||x,onClick:k?O:e,ref:La(h,T),target:l,"data-discover":!y&&t===`render`?`true`:void 0});return w&&!y?o.createElement(o.Fragment,null,A,o.createElement(Oa,{page:x})):A});Wa.displayName=`Link`;var Ga=o.forwardRef(function({"aria-current":e=`page`,caseSensitive:t=!1,className:n=``,end:r=!1,style:i,to:a,viewTransition:s,children:c,...l},u){let d=jn(a,{relative:l.relative}),f=Q(),p=o.useContext(sn),{navigator:m,basename:h}=o.useContext(X),g=p!=null&&lo(d)&&s===!0,_=m.encodeLocation?m.encodeLocation(d).pathname:d.pathname,v=f.pathname,y=p&&p.navigation&&p.navigation.location?p.navigation.location.pathname:null;t||(v=v.toLowerCase(),y=y?y.toLowerCase():null,_=_.toLowerCase()),y&&h&&(y=R(y,h)||y);let b=_!==`/`&&_.endsWith(`/`)?_.length-1:_.length,x=v===_||!r&&v.startsWith(_)&&v.charAt(b)===`/`,S=y!=null&&(y===_||!r&&y.startsWith(_)&&y.charAt(_.length)===`/`),C={isActive:x,isPending:S,isTransitioning:g},w=x?e:void 0,T;T=typeof n==`function`?n(C):[n,x?`active`:null,S?`pending`:null,g?`transitioning`:null].filter(Boolean).join(` `);let E=typeof i==`function`?i(C):i;return o.createElement(Wa,{...l,"aria-current":w,className:T,ref:u,style:E,to:a,viewTransition:s},typeof c==`function`?c(C):c)});Ga.displayName=`NavLink`;var Ka=o.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:r,replace:i,state:a,method:s=Tr,action:c,onSubmit:l,relative:u,preventScrollReset:d,viewTransition:f,unstable_defaultShouldRevalidate:p,...m},h)=>{let{unstable_useTransitions:g}=o.useContext(X),_=to(),v=no(c,{relative:u}),y=s.toLowerCase()===`get`?`get`:`post`,b=typeof c==`string`&&Ua.test(c);return o.createElement(`form`,{ref:h,method:y,action:v,onSubmit:r?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,c=r?.getAttribute(`formmethod`)||s,m=()=>_(r||e.currentTarget,{fetcherKey:t,method:c,navigate:n,replace:i,state:a,relative:u,preventScrollReset:d,viewTransition:f,unstable_defaultShouldRevalidate:p});g&&n!==!1?o.startTransition(()=>m()):m()},...m,"data-discover":!b&&e===`render`?`true`:void 0})});Ka.displayName=`Form`;function qa({getKey:e,storageKey:t,...n}){let r=o.useContext(xa),{basename:i}=o.useContext(X),a=Q(),s=qn();so({getKey:e,storageKey:t});let c=o.useMemo(()=>{if(!r||!e)return null;let t=oo(a,s,i,e);return t===a.key?null:t},[]);if(!r||r.isSpaMode)return null;let l=((e,t)=>{if(!window.history.state||!window.history.state.key){let e=Math.random().toString(32).slice(2);window.history.replaceState({key:e},``)}try{let n=JSON.parse(sessionStorage.getItem(e)||`{}`)[t||window.history.state.key];typeof n==`number`&&window.scrollTo(0,n)}catch(t){console.error(t),sessionStorage.removeItem(e)}}).toString();return o.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${l})(${hi(JSON.stringify(t||io))}, ${hi(JSON.stringify(c))})`}})}qa.displayName=`ScrollRestoration`;function Ja(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Ya(e){let t=o.useContext(on);return m(t,Ja(e)),t}function Xa(e){let t=o.useContext(sn);return m(t,Ja(e)),t}function Za(e,{target:t,replace:n,unstable_mask:r,state:i,preventScrollReset:a,relative:s,viewTransition:c,unstable_defaultShouldRevalidate:l,unstable_useTransitions:u}={}){let d=Tn(),f=Q(),p=jn(e,{relative:s});return o.useCallback(m=>{if(Mr(m,t)){m.preventDefault();let t=n===void 0?y(f)===y(p):n,h=()=>d(e,{replace:t,unstable_mask:r,state:i,preventScrollReset:a,relative:s,viewTransition:c,unstable_defaultShouldRevalidate:l});u?o.startTransition(()=>h()):h()}},[f,d,p,n,r,i,t,e,a,s,c,l,u])}function Qa(e){h(typeof URLSearchParams<`u`,"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=o.useRef(Nr(e)),n=o.useRef(!1),r=Q(),i=o.useMemo(()=>Pr(r.search,n.current?null:t.current),[r.search]),a=Tn();return[i,o.useCallback((e,t)=>{let r=Nr(typeof e==`function`?e(new URLSearchParams(i)):e);n.current=!0,a(`?`+r,t)},[a,i])]}var $a=0,eo=()=>`__${String(++$a)}__`;function to(){let{router:e}=Ya(`useSubmit`),{basename:t}=o.useContext(X),n=Gn(),r=e.fetch,i=e.navigate;return o.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=zr(e,t);a.navigate===!1?await r(a.fetcherKey||eo(),n,a.action||o,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync}):await i(a.action||o,{unstable_defaultShouldRevalidate:a.unstable_defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,replace:a.replace,state:a.state,fromRouteId:n,flushSync:a.flushSync,viewTransition:a.viewTransition})},[r,i,t,n])}function no(e,{relative:t}={}){let{basename:n}=o.useContext(X),r=o.useContext(Z);m(r,`useFormAction must be used inside a RouteContext`);let[i]=r.matches.slice(-1),a={...jn(e||`.`,{relative:t})},s=Q();if(e==null){a.search=s.search;let e=new URLSearchParams(a.search),t=e.getAll(`index`);if(t.some(e=>e===``)){e.delete(`index`),t.filter(e=>e).forEach(t=>e.append(`index`,t));let n=e.toString();a.search=n?`?${n}`:``}}return(!e||e===`.`)&&i.route.index&&(a.search=a.search?a.search.replace(/^\?/,`?index&`):`?index`),n!==`/`&&(a.pathname=a.pathname===`/`?n:V([n,a.pathname])),y(a)}function ro({key:e}={}){let{router:t}=Ya(`useFetcher`),n=Xa(`useFetcher`),r=o.useContext(dn),i=o.useContext(Z),a=i.matches[i.matches.length-1]?.route.id;m(r,`useFetcher must be used inside a FetchersContext`),m(i,`useFetcher must be used inside a RouteContext`),m(a!=null,`useFetcher can only be used on routes that contain a unique "id"`);let s=o.useId(),[c,l]=o.useState(e||s);e&&e!==c&&l(e);let{deleteFetcher:u,getFetcher:d,resetFetcher:f,fetch:p}=t;o.useEffect(()=>(d(c),()=>u(c)),[u,d,c]);let h=o.useCallback(async(e,t)=>{m(a,`No routeId available for fetcher.load()`),await p(c,a,e,t)},[c,a,p]),g=to(),_=o.useCallback(async(e,t)=>{await g(e,{...t,navigate:!1,fetcherKey:c})},[c,g]),v=o.useCallback(e=>f(c,e),[f,c]),y=o.useMemo(()=>{let e=o.forwardRef((e,t)=>o.createElement(Ka,{...e,navigate:!1,fetcherKey:c,ref:t}));return e.displayName=`fetcher.Form`,e},[c]),b=n.fetchers.get(c)||Ge,x=r.get(c);return o.useMemo(()=>({Form:y,submit:_,load:h,reset:v,...b,data:x}),[y,_,h,v,b,x])}var io=`react-router-scroll-positions`,ao={};function oo(e,t,n,r){let i=null;return r&&(i=r(n===`/`?e:{...e,pathname:R(e.pathname,n)||e.pathname},t)),i??=e.key,i}function so({getKey:e,storageKey:t}={}){let{router:n}=Ya(`useScrollRestoration`),{restoreScrollPosition:r,preventScrollReset:i}=Xa(`useScrollRestoration`),{basename:a}=o.useContext(X),s=Q(),c=qn(),l=Kn();o.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),co(o.useCallback(()=>{if(l.state===`idle`){let t=oo(s,c,a,e);ao[t]=window.scrollY}try{sessionStorage.setItem(t||io,JSON.stringify(ao))}catch(e){h(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[l.state,e,a,s,c,t])),typeof document<`u`&&(o.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||io);e&&(ao=JSON.parse(e))}catch{}},[t]),o.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(ao,()=>window.scrollY,e?(t,n)=>oo(t,n,a,e):void 0);return()=>t&&t()},[n,a,e]),o.useLayoutEffect(()=>{if(r!==!1){if(typeof r==`number`){window.scrollTo(0,r);return}try{if(s.hash){let e=document.getElementById(decodeURIComponent(s.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{h(!1,`"${s.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}i!==!0&&window.scrollTo(0,0)}},[s,r,i]))}function co(e,t){let{capture:n}=t||{};o.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function lo(e,{relative:t}={}){let n=o.useContext(un);m(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=Ya(`useViewTransitionState`),i=jn(e,{relative:t});if(!n.isTransitioning)return!1;let a=R(n.currentLocation.pathname,r)||n.currentLocation.pathname,s=R(n.nextLocation.pathname,r)||n.nextLocation.pathname;return L(i.pathname,s)!=null||L(i.pathname,a)!=null}export{Q as A,wr as B,m as C,ro as D,aa as E,Zn as F,Yn as I,Qa as L,Tn as M,Kn as N,pa as O,On as P,to as R,cr as S,M as T,Sr as V,C as _,Wa as a,fa as b,vi as c,ur as d,Fa as f,Zi as g,ea as h,xa as i,Sn as j,Jn as k,mr as l,p as m,H as n,Da as o,qa as p,Ka as r,ja as s,gr as t,Ra as u,Xe as v,sr as w,yi as x,ki as y,br as z};
@@ -1 +0,0 @@
1
- import"./jsx-runtime-BVRj4wYA.js";import"./react-dom-_FKEaPb7.js";import"./styling-B8OEge8x.js";import"./util-1G1Ez1rt.js";import"./GitTruckInfo-C1VOiqSW.js";import{n as e}from"./clear-cache-CrL0weu5.js";export{e as default};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./jsx-runtime-BVRj4wYA.js";import{A as n,D as r,a as i,k as a,z as o}from"./chunk-LFPYN7LY-CPTP6242.js";import{Wt as s,it as c,t as l}from"./styling-B8OEge8x.js";import{t as u}from"./GitTruckInfo-C1VOiqSW.js";var d=e(t(),1);function f({redirectPath:e,className:t=``}={}){let i=n(),a=r({key:`clear-cache-form`}),o=`/clear-cache?${new URLSearchParams({redirect:e??i.pathname+i.search}).toString()}`,u=a.state!==`idle`;return(0,d.jsx)(a.Form,{action:o,method:`post`,children:(0,d.jsxs)(`button`,{type:`submit`,disabled:u,className:l(`btn btn--danger`,t),title:`Click here if you are experiencing issues`,children:[(0,d.jsx)(s,{path:c,className:`hover-swap inline-block h-full`}),u?`Clearing...`:`Clear all data`]})},a.state)}var p=o(function(){let{versionInfo:e}=a();return(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)(`div`,{className:`app-container flex flex-col gap-2 p-2`,children:[(0,d.jsx)(`div`,{className:`card`,children:(0,d.jsx)(u,{installedVersion:e.installedVersion,latestVersion:e.latestVersion})}),(0,d.jsxs)(`div`,{className:`card`,children:[(0,d.jsx)(`h1`,{className:`text-2xl font-bold`,children:`Clear Git Truck cache`}),(0,d.jsx)(`p`,{children:`This will clear all analyzed results and reset the database cache. This is only necessary if you are experiencing issues.`}),(0,d.jsxs)(`div`,{className:`flex h-full place-items-center gap-2 rounded-lg border bg-amber-500/70 p-4 text-white`,children:[(0,d.jsx)(s,{path:c,className:`inline-block h-12`}),(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{className:`font-bold`,children:`Warning: `}),(0,d.jsx)(`span`,{children:`Merged authors and hidden files will be reset.`})]})]}),(0,d.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,d.jsx)(i,{to:`/`,className:`btn btn--text`,children:`Go back`}),(0,d.jsx)(f,{redirectPath:`/`})]})]})]})})});export{p as n,f as t};
@@ -1 +0,0 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function N(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,N(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),N(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=N(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=N(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return N(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function P(e,t,n){if(e==null)return e;var r=[],i=0;return N(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function F(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var I=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=L,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:F}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,I)}catch(e){I(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.4`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),f=o(((e,t)=>{t.exports=d()}));export{c as i,u as n,o as r,f as t};
@@ -1 +0,0 @@
1
- window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-NklqTk8N.js","imports":["/assets/chunk-LFPYN7LY-CPTP6242.js","/assets/react-dom-_FKEaPb7.js","/assets/chunk-JPUPSTYD-XO4UPun8.js","/assets/jsx-runtime-BVRj4wYA.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-Djh_4EO9.js","imports":["/assets/chunk-LFPYN7LY-CPTP6242.js","/assets/react-dom-_FKEaPb7.js","/assets/chunk-JPUPSTYD-XO4UPun8.js","/assets/jsx-runtime-BVRj4wYA.js","/assets/styling-B8OEge8x.js","/assets/util-1G1Ez1rt.js","/assets/compare-Br3z3FUS-OODPzXmX.js","/assets/GitTruckInfo-C1VOiqSW.js","/assets/clear-cache-CrL0weu5.js"],"css":["/assets/root-qwQAVU-u.css"]},"routes/FullscreenButton":{"id":"routes/FullscreenButton","parentId":"root","path":"FullscreenButton","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/FullscreenButton-CFqdBqf-.js","imports":["/assets/styling-B8OEge8x.js","/assets/jsx-runtime-BVRj4wYA.js"],"css":[]},"routes/[.]well-known.$":{"id":"routes/[.]well-known.$","parentId":"root","path":".well-known/*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/_._well-known._-DIwl00oI.js","imports":[],"css":[]},"routes/clear-cache":{"id":"routes/clear-cache","parentId":"root","path":"clear-cache","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/clear-cache-82hexQD7.js","imports":["/assets/styling-B8OEge8x.js","/assets/util-1G1Ez1rt.js","/assets/react-dom-_FKEaPb7.js","/assets/jsx-runtime-BVRj4wYA.js","/assets/GitTruckInfo-C1VOiqSW.js","/assets/clear-cache-CrL0weu5.js","/assets/chunk-LFPYN7LY-CPTP6242.js"],"css":[]},"routes/commitcount":{"id":"routes/commitcount","parentId":"root","path":"commitcount","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/commitcount-eFguKtSp.js","imports":[],"css":[]},"routes/commits":{"id":"routes/commits","parentId":"root","path":"commits","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/commits-DPfZp-l3.js","imports":[],"css":[]},"routes/_index":{"id":"routes/_index","parentId":"root","index":true,"hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/_index-J0jvF8An.js","imports":[],"css":[]},"routes/browse":{"id":"routes/browse","parentId":"root","path":"browse","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/browse-CPxPbHtx.js","imports":["/assets/browse-CuAoODR1.js","/assets/styling-B8OEge8x.js","/assets/util-1G1Ez1rt.js","/assets/react-dom-_FKEaPb7.js","/assets/jsx-runtime-BVRj4wYA.js","/assets/GitTruckInfo-C1VOiqSW.js","/assets/UnionAuthorsModal-D-H775E5.js","/assets/chunk-LFPYN7LY-CPTP6242.js","/assets/compare-Br3z3FUS-OODPzXmX.js","/assets/chunk-JPUPSTYD-XO4UPun8.js"],"css":[]},"routes/$path":{"id":"routes/$path","parentId":"root","path":":path","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/_path-bRAhzWvL.js","imports":[],"css":[]},"routes/view":{"id":"routes/view","parentId":"root","path":"view","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/view-ESMBoxIY.js","imports":["/assets/browse-CuAoODR1.js","/assets/styling-B8OEge8x.js","/assets/util-1G1Ez1rt.js","/assets/react-dom-_FKEaPb7.js","/assets/jsx-runtime-BVRj4wYA.js","/assets/GitTruckInfo-C1VOiqSW.js","/assets/UnionAuthorsModal-D-H775E5.js","/assets/chunk-LFPYN7LY-CPTP6242.js","/assets/compare-Br3z3FUS-OODPzXmX.js","/assets/chunk-JPUPSTYD-XO4UPun8.js"],"css":[]},"routes/view.merge-authors":{"id":"routes/view.merge-authors","parentId":"routes/view","path":"merge-authors","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/view.merge-authors-VwPHWL-d.js","imports":["/assets/chunk-LFPYN7LY-CPTP6242.js","/assets/styling-B8OEge8x.js","/assets/util-1G1Ez1rt.js","/assets/react-dom-_FKEaPb7.js","/assets/jsx-runtime-BVRj4wYA.js","/assets/UnionAuthorsModal-D-H775E5.js","/assets/chunk-JPUPSTYD-XO4UPun8.js"],"css":[]},"routes/view.progress":{"id":"routes/view.progress","parentId":"routes/view","path":"progress","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/view.progress-B7Os3EHt.js","imports":[],"css":[]},"routes/view.commits":{"id":"routes/view.commits","parentId":"routes/view","path":"commits","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/view.commits-DP_ltd6_.js","imports":["/assets/chunk-LFPYN7LY-CPTP6242.js","/assets/browse-CuAoODR1.js","/assets/styling-B8OEge8x.js","/assets/util-1G1Ez1rt.js","/assets/react-dom-_FKEaPb7.js","/assets/jsx-runtime-BVRj4wYA.js","/assets/GitTruckInfo-C1VOiqSW.js","/assets/RepoTabs-xQ7LCUn1.js","/assets/UnionAuthorsModal-D-H775E5.js","/assets/compare-Br3z3FUS-OODPzXmX.js","/assets/chunk-JPUPSTYD-XO4UPun8.js"],"css":[]},"routes/view.details":{"id":"routes/view.details","parentId":"routes/view","path":"details","hasAction":true,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/view.details-C6kuGyhb.js","imports":["/assets/chunk-LFPYN7LY-CPTP6242.js","/assets/browse-CuAoODR1.js","/assets/styling-B8OEge8x.js","/assets/util-1G1Ez1rt.js","/assets/react-dom-_FKEaPb7.js","/assets/jsx-runtime-BVRj4wYA.js","/assets/GitTruckInfo-C1VOiqSW.js","/assets/RepoTabs-xQ7LCUn1.js","/assets/UnionAuthorsModal-D-H775E5.js","/assets/compare-Br3z3FUS-OODPzXmX.js","/assets/chunk-JPUPSTYD-XO4UPun8.js"],"css":[]},"routes/view._index":{"id":"routes/view._index","parentId":"routes/view","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/view._index-CjsEuBV6.js","imports":["/assets/chunk-LFPYN7LY-CPTP6242.js","/assets/jsx-runtime-BVRj4wYA.js"],"css":[]},"routes/ui":{"id":"routes/ui","parentId":"root","path":"ui","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/ui-nIuMvo3S.js","imports":["/assets/chunk-LFPYN7LY-CPTP6242.js","/assets/browse-CuAoODR1.js","/assets/styling-B8OEge8x.js","/assets/util-1G1Ez1rt.js","/assets/react-dom-_FKEaPb7.js","/assets/jsx-runtime-BVRj4wYA.js","/assets/GitTruckInfo-C1VOiqSW.js","/assets/UnionAuthorsModal-D-H775E5.js","/assets/compare-Br3z3FUS-OODPzXmX.js","/assets/chunk-JPUPSTYD-XO4UPun8.js"],"css":[]},"routes/$":{"id":"routes/$","parentId":"root","path":"*","hasAction":false,"hasLoader":true,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/_-RagYKtT_.js","imports":[],"css":[]}},"url":"/assets/manifest-b5d81016.js","version":"b5d81016"};