create-monolayer-app 0.5.0 → 0.6.1

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 (86) hide show
  1. package/bin/index.js +91 -59
  2. package/package.json +19 -16
  3. package/template/.agents/skills/{monolayer-application-permissions → application-permissions}/SKILL.md +2 -2
  4. package/template/.agents/skills/application-permissions/agents/openai.yaml +4 -0
  5. package/template/.agents/skills/kysely/SKILL.md +48 -0
  6. package/template/.agents/skills/kysely/agents/openai.yaml +4 -0
  7. package/template/.agents/skills/kysely/references/execution-plugins-and-runtime.md +67 -0
  8. package/template/.agents/skills/kysely/references/expressions-and-helpers.md +102 -0
  9. package/template/.agents/skills/kysely/references/migrations.md +43 -0
  10. package/template/.agents/skills/kysely/references/official-docs-map.md +97 -0
  11. package/template/.agents/skills/kysely/references/query-building.md +119 -0
  12. package/template/.agents/skills/kysely/references/transactions.md +47 -0
  13. package/template/.agents/skills/kysely/references/troubleshooting-and-boundaries.md +67 -0
  14. package/template/.agents/skills/kysely/references/types.md +58 -0
  15. package/template/.agents/skills/persistent-app-data/SKILL.md +74 -0
  16. package/template/.agents/skills/persistent-app-data/agents/openai.yaml +4 -0
  17. package/template/.agents/skills/persistent-app-data/references/generated-types.md +23 -0
  18. package/template/.agents/skills/persistent-app-data/references/migrations.md +68 -0
  19. package/template/.agents/skills/vitest/GENERATION.md +25 -0
  20. package/template/.agents/skills/vitest/SKILL.md +59 -0
  21. package/template/.agents/skills/vitest/references/advanced-environments.md +26 -0
  22. package/template/.agents/skills/vitest/references/advanced-projects.md +31 -0
  23. package/template/.agents/skills/vitest/references/advanced-type-testing.md +30 -0
  24. package/template/.agents/skills/vitest/references/advanced-vi.md +23 -0
  25. package/template/.agents/skills/vitest/references/core-cli.md +23 -0
  26. package/template/.agents/skills/vitest/references/core-config.md +24 -0
  27. package/template/.agents/skills/vitest/references/core-describe.md +24 -0
  28. package/template/.agents/skills/vitest/references/core-expect.md +35 -0
  29. package/template/.agents/skills/vitest/references/core-hooks.md +26 -0
  30. package/template/.agents/skills/vitest/references/core-test-api.md +29 -0
  31. package/template/.agents/skills/vitest/references/features-benchmarking.md +25 -0
  32. package/template/.agents/skills/vitest/references/features-concurrency.md +20 -0
  33. package/template/.agents/skills/vitest/references/features-context.md +27 -0
  34. package/template/.agents/skills/vitest/references/features-coverage.md +17 -0
  35. package/template/.agents/skills/vitest/references/features-filtering.md +24 -0
  36. package/template/.agents/skills/vitest/references/features-mocking.md +32 -0
  37. package/template/.agents/skills/vitest/references/features-reporters.md +22 -0
  38. package/template/.agents/skills/vitest/references/features-snapshots.md +23 -0
  39. package/template/.agents/skills/vitest/references/features-test-tags.md +30 -0
  40. package/template/.agents/skills/vitest/references/version-compatibility.md +19 -0
  41. package/template/.claude/CLAUDE.md +2 -2
  42. package/template/.react-router/types/+routes.ts +41 -0
  43. package/template/.react-router/types/+server-build.d.ts +18 -0
  44. package/template/.react-router/types/app/+types/root.ts +68 -0
  45. package/template/.react-router/types/app/routes/+types/files.ts +71 -0
  46. package/template/.react-router/types/app/routes/+types/home.ts +71 -0
  47. package/template/AGENTS.md +6 -2
  48. package/template/app/routes/files.ts +3 -3
  49. package/template/build/client/assets/entry.client-Bc58m2-m.js +9 -0
  50. package/template/build/client/assets/errorBoundaries-CQxPIuVU.js +16 -0
  51. package/template/build/client/assets/files-BvRk9kiK.js +0 -0
  52. package/template/build/client/assets/home-CH2INc5e.js +1 -0
  53. package/template/build/client/assets/jsx-runtime-eLCqVKHJ.js +1 -0
  54. package/template/build/client/assets/logo-dark-pX2395Y0.svg +23 -0
  55. package/template/build/client/assets/logo-light-CVbx2LBR.svg +23 -0
  56. package/template/build/client/assets/manifest-2d65dd0f.js +1 -0
  57. package/template/build/client/assets/root-BeNS6njP.css +2 -0
  58. package/template/build/client/assets/root-C1tmjS9o.js +1 -0
  59. package/template/build/client/favicon.ico +0 -0
  60. package/template/build/server/index.js +1096 -0
  61. package/template/lib/db/client.ts +1 -27
  62. package/template/package-lock.json +8221 -0
  63. package/template/package.json +7 -3
  64. package/template/vendor/file-bucket/{client.ts → index.client.ts} +11 -9
  65. package/template/vendor/file-bucket/{server.ts → index.server.ts} +13 -8
  66. package/template/vendor/file-bucket/{index.ts → lib/file-bucket.ts} +2 -1
  67. package/template/vendor/file-bucket/{react-router.ts → react-router.server.ts} +15 -13
  68. package/template/vendor/kysely-dsql/dsql/dsql-kysely.ts +31 -3
  69. package/template/vendor/kysely-dsql/generator/migration-file.ts +3 -3
  70. package/template/vendor/kysely-dsql/plugins/index.ts +0 -2
  71. package/template/vendor/package-app/package-app.mjs +2 -2
  72. package/template/vite.config.ts +3 -1
  73. package/template/vitest.config.ts +1 -1
  74. package/template/.agents/skills/monolayer-application-permissions/agents/openai.yaml +0 -4
  75. package/template/vendor/kysely-dsql/plugins/soft-delete.plugin.ts +0 -217
  76. /package/template/.agents/skills/{monolayer-application-permissions → application-permissions}/references/development-and-verification.md +0 -0
  77. /package/template/.agents/skills/{monolayer-application-permissions → application-permissions}/references/interface-examples.md +0 -0
  78. /package/template/.agents/skills/{monolayer-application-permissions → application-permissions}/references/server-examples.md +0 -0
  79. /package/template/lib/{db/user-context.server.ts → user-context.server.ts} +0 -0
  80. /package/template/vendor/file-bucket/{errors.ts → lib/errors.server.ts} +0 -0
  81. /package/template/vendor/file-bucket/{multipart.ts → lib/multipart.ts} +0 -0
  82. /package/template/vendor/file-bucket/{protocol.ts → lib/protocol.ts} +0 -0
  83. /package/template/vendor/file-bucket/{transport.ts → lib/transport.client.ts} +0 -0
  84. /package/template/vendor/file-bucket/{types.ts → lib/types.ts} +0 -0
  85. /package/template/vendor/file-bucket/{transfers.ts → lib/upload-signed-url.ts} +0 -0
  86. /package/template/vendor/file-bucket/{xml.ts → lib/xml.ts} +0 -0
@@ -0,0 +1,16 @@
1
+ import{A as e,D as t,F as n,H as r,J as i,K as a,M as o,O as s,P as c,R as l,c as u,d,f,j as p,k as m,m as h,u as g,w as _,y as v}from"./jsx-runtime-eLCqVKHJ.js";function y(e,t){if(e===!1||e==null)throw Error(t)}var ee={"&":`\\u0026`,">":`\\u003e`,"<":`\\u003c`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},te=/[&><\u2028\u2029]/g;function b(e){return e.replace(te,e=>ee[e])}var ne=class{promise;resolve;reject;constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}};function re(){let e=new TextDecoder,t=``;return new TransformStream({transform(n,r){let i=e.decode(n,{stream:!0}),a=(t+i).split(`
2
+ `);t=a.pop()||``;for(let e of a)r.enqueue(e)},flush(e){t&&e.enqueue(t)}})}var x=typeof window<`u`?window:typeof globalThis<`u`?globalThis:void 0;function S(e){let{hydrated:t,values:n}=this;if(typeof e==`number`)return ie.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,ie.call(this,r)}function ie(t){let{hydrated:n,values:r,deferred:i,plugins:a}=this,o,s=[[t,e=>{o=e}]],c=[];for(;s.length>0;){let[t,o]=s.pop();switch(t){case-7:o(void 0);continue;case-5:o(null);continue;case-2:o(NaN);continue;case-6:o(1/0);continue;case-3:o(-1/0);continue;case-4:o(-0);continue}if(n[t]){o(n[t]);continue}let l=r[t];if(!l||typeof l!=`object`)n[t]=l,o(l);else if(Array.isArray(l)){if(typeof l[0]==`string`){let[r,u,d]=l;switch(r){case`D`:o(n[t]=new Date(u));continue;case`U`:o(n[t]=new URL(u));continue;case`B`:o(n[t]=BigInt(u));continue;case`R`:o(n[t]=new RegExp(u,d));continue;case`Y`:o(n[t]=Symbol.for(u));continue;case`S`:let r=new Set;n[t]=r;for(let e=l.length-1;e>0;e--)s.push([l[e],e=>{r.add(e)}]);o(r);continue;case`M`:let f=new Map;n[t]=f;for(let e=l.length-2;e>0;e-=2){let t=[];s.push([l[e+1],e=>{t[1]=e}]),s.push([l[e],e=>{t[0]=e}]),c.push(()=>{f.set(t[0],t[1])})}o(f);continue;case`N`:let p=Object.create(null);n[t]=p;for(let e of Object.keys(u).reverse()){let t=[];s.push([u[e],e=>{t[1]=e}]),s.push([Number(e.slice(1)),e=>{t[0]=e}]),c.push(()=>{p[t[0]]=t[1]})}o(p);continue;case`P`:if(n[u])o(n[t]=n[u]);else{let e=new ne;i[u]=e,o(n[t]=e.promise)}continue;case`E`:let[,m,h]=l,g=h&&x&&e.includes(h)&&h in x&&typeof x[h]==`function`?new x[h](m):Error(m);n[t]=g,o(g);continue;case`Z`:o(n[t]=n[u]);continue;default:if(Array.isArray(a)){let e=[],r=l.slice(1);for(let t=0;t<r.length;t++){let n=r[t];s.push([n,n=>{e[t]=n}])}c.push(()=>{for(let r of a){let i=r(l[0],...e);if(i){o(n[t]=i.value);return}}throw SyntaxError()});continue}throw SyntaxError()}}else{let e=[];n[t]=e;for(let t=0;t<l.length;t++){let n=l[t];n!==-1&&s.push([n,n=>{e[t]=n}])}o(e);continue}}else{let e={};n[t]=e;for(let t of Object.keys(l).reverse()){let n=[];s.push([l[t],e=>{n[1]=e}]),s.push([Number(t.slice(1)),e=>{n[0]=e}]),c.push(()=>{e[n[0]]=n[1]})}o(e);continue}}for(;c.length>0;)c.pop()();return o}async function ae(e,t){let{plugins:n}=t??{},r=new ne,i=e.pipeThrough(re()).getReader(),a={values:[],hydrated:[],deferred:{},plugins:n},o=await oe.call(a,i),s=r.promise;return o.done?r.resolve():s=se.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 oe(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:S.call(this,n)}}async function se(e){let t=await e.read();for(;!t.done;){if(!t.value)continue;let n=t.value;switch(n[0]){case`P`:{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=S.call(this,a);r.resolve(o);break}case`E`:{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=S.call(this,a);r.reject(o);break}default:throw SyntaxError()}t=await e.read()}}async function ce(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()):t.body=n&&/\bapplication\/x-www-form-urlencoded\b/.test(n)?new URLSearchParams(await e.text()):await e.formData()}return t}var C=i(a(),1),w=Symbol(`SingleFetchRedirect`),T=class extends Error{},le=new Set([100,101,204,205]);function ue(e,t,n,r){let i=de(e,e=>{let n=t.routes[e.route.id];return y(n,`Route not found in manifest`),{hasLoader:n.hasLoader,hasClientLoader:n.hasClientLoader}},ve,r);return async e=>e.runClientMiddleware(i)}function de(e,t,n,r,i=()=>!0){return async a=>{let{request:o,matches:s,fetcherKey:c}=a,l=e();if(o.method!==`GET`)return fe(a,n);let u=s.some(e=>{let{hasLoader:n,hasClientLoader:r}=t(e);return e.shouldCallHandler()&&n&&!r});return!r&&!u?pe(a,t,n):c?ge(a,n):me(a,l,t,n,r,i)}}async function fe(e,n){let r=e.matches.find(e=>e.shouldCallHandler());y(r,`No action match found`);let i,a=await r.resolve(async t=>await t(async()=>{let{data:t,status:a}=await n(e,[r.route.id]);return i=a,D(t,r.route.id)}));return s(a.result)||c(a.result)||t(a.result)?{[r.route.id]:a}:{[r.route.id]:{type:a.type,result:o(a.result,i)}}}async function pe(e,t,n){let r=e.matches.filter(e=>e.shouldCallHandler()),i={};return await Promise.all(r.map(async r=>{let a=r.route.id;i[a]=await r.resolve(async i=>{let{hasClientLoader:o}=t(r);return o?i(async()=>{let{data:t}=await n(e,[a]);return D(t,a)}):i()})})),i}async function me(e,t,n,r,i,a=()=>!0){let o=new Set,s=!1,c=e.matches.map(()=>be()),l=be(),u={},d=Promise.all(e.matches.map(async(t,i)=>t.resolve(async d=>{c[i].resolve();let f=t.route.id,{hasLoader:p,hasClientLoader:m}=n(t),h=!t.shouldRevalidateArgs||t.shouldRevalidateArgs.actionStatus==null||t.shouldRevalidateArgs.actionStatus<400;if(!t.shouldCallHandler(h))s||=t.shouldRevalidateArgs!=null&&p;else if(a(t)&&m){p&&(s=!0);try{u[f]={type:`data`,result:await d(async()=>{let{data:t}=await r(e,[f]);return D(t,f)})}}catch(e){u[f]={type:`error`,result:e}}}else{p&&o.add(f);try{u[f]={type:`data`,result:await d(async()=>D(await l.promise,f))}}catch(e){u[f]={type:`error`,result:e}}}})));if(await Promise.all(c.map(e=>e.promise)),(!t.state.initialized&&t.state.navigation.state===`idle`||o.size===0)&&!window.__reactRouterHdrActive)l.resolve({routes:{}});else{let t=i&&s&&o.size>0?[...o.keys()]:void 0;try{let n=await r(e,t);l.resolve(n.data)}catch(e){l.reject(e)}}return await d,await he(l.promise,e.matches,o,u),u}async function he(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 T&&(r[e].result=i)})}catch{}}async function ge(e,t){let n=e.matches.find(e=>e.shouldCallHandler());y(n,`No fetcher match found`);let r=n.route.id,i=await n.resolve(async n=>n(async()=>{let{data:n}=await t(e,[r]);return D(n,r)}));return{[n.route.id]:i}}function _e(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 E(e,t){let n=typeof e==`string`?new URL(e,typeof window>`u`?`server://singlefetch/`:window.location.origin):e;return n.pathname=n.pathname.endsWith(`/`)?`${n.pathname}_.${t}`:`${n.pathname}.${t}`,n}async function ve(e,t){let{request:n}=e,r=E(n.url,`data`);n.method===`GET`&&(r=_e(r),t&&r.searchParams.set(`_routes`,t.join(`,`)));let i=await fetch(r,await ce(n));if(i.status>=400&&!i.headers.has(`X-Remix-Response`))throw new m(i.status,i.statusText,await i.text());if(i.status===204&&i.headers.has(`X-Remix-Redirect`))return{status:202,data:{redirect:{redirect:i.headers.get(`X-Remix-Redirect`),status:Number(i.headers.get(`X-Remix-Status`)||`302`),revalidate:i.headers.get(`X-Remix-Revalidate`)===`true`,reload:i.headers.get(`X-Remix-Reload-Document`)===`true`,replace:i.headers.get(`X-Remix-Replace`)===`true`}}};if(le.has(i.status)){let e={};return t&&n.method!==`GET`&&(e[t[0]]={data:void 0}),{status:i.status,data:{routes:e}}}y(i.body,`No response body to decode`);try{let e=await ye(i.body,window),r;if(n.method===`GET`){let t=e.value;r=w in t?{redirect:t[w]}:{routes:t}}else{let n=e.value,i=t?.[0];y(i,`No routeId found for single fetch call decoding`),r=`redirect`in n?{redirect:n}:{routes:{[i]:n}}}return{status:i.status,data:r}}catch(e){throw Error(`Unable to decode turbo-stream response`,{cause:e})}}function ye(t,n){return ae(t,{plugins:[(t,...r)=>{if(t===`SanitizedError`){let[t,i,a]=r,o=Error;t&&e.includes(t)&&t in n&&typeof n[t]==`function`&&(o=n[t]);let s=new o(i);return s.stack=a,{value:s}}if(t===`ErrorResponse`){let[e,t,n]=r;return{value:new m(t,n,e)}}if(t===`SingleFetchRedirect`)return{value:{[w]:r[0]}};if(t===`SingleFetchClassInstance`)return{value:r[0]};if(t===`SingleFetchFallback`)return{value:void 0}}]})}function D(e,t){if(`redirect`in e){let{redirect:t,revalidate:n,reload:r,replace:i,status:a}=e.redirect;throw l(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 T(`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 be(){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 xe=`modulepreload`,Se=function(e){return`/`+e},Ce={},we=function(e){return e.pathname.endsWith(`.css`)},Te=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},O=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=Se(t,n);let r=s(t),i=we(r);return Te(Ce,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:xe,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};async function k(e,t){if(e.id in t)return t[e.id];try{let n=await O(()=>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 Ee(e,t,n){return Ne(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),P(e,n))}function A(e){return e.css?e.css.map(e=>({rel:`stylesheet`,href:e})):[]}async function De(e){if(!e.css)return;let t=A(e);await Promise.all(t.map(M))}async function j(e,t){if(!e.css&&!t.links||!Pe())return;let n=[];if(e.css&&n.push(...A(e)),t.links&&n.push(...t.links()),n.length===0)return;let r=[];for(let e of n)!N(e)&&e.rel===`stylesheet`&&r.push({...e,rel:`preload`,as:`style`});await Promise.all(r.map(M))}async function M(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 N(e){return e!=null&&typeof e.page==`string`}function Oe(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 ke(e,t,n){return Ne((await Promise.all(e.map(async e=>{let r=t.routes[e.route.id];if(r){let e=await k(r,n);return e.links?e.links():[]}return[]}))).flat(1).filter(Oe).filter(e=>e.rel===`stylesheet`||e.rel===`preload`).map(e=>e.rel===`stylesheet`?{...e,rel:`prefetch`,as:`style`}:{...e,rel:`prefetch`}))}function Ae(e,t,n,r,i,a){let o=(e,t)=>!n[t]||e.route.id!==n[t].route.id,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 P(e,t,{includeHydrateFallback:n}={}){return je(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 je(e){return[...new Set(e)]}function Me(e){let t={},n=Object.keys(e).sort();for(let r of n)t[r]=e[r];return t}function Ne(e,t){let n=new Set,r=new Set(t);return e.reduce((e,i)=>{if(t&&!N(i)&&i.as===`script`&&i.href&&r.has(i.href))return e;let a=JSON.stringify(Me(i));return n.has(a)||(n.add(a),e.push({key:a,link:i})),e},[])}var F;function Pe(){if(F!==void 0)return F;let e=document.createElement(`link`);return F=e.relList.supports(`preload`),e=null,F}function Fe(){let{nonce:e}=J();return C.createElement($,{title:`Loading...`,renderScripts:!0},null)}function Ie(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 Le(e,t,n){let r=B(t),i=t.HydrateFallback&&(!n||e.id===`root`)?t.HydrateFallback:e.id===`root`?Fe:void 0,a=t.ErrorBoundary?t.ErrorBoundary:e.id===`root`?()=>C.createElement(ut,{error:v()}):void 0;return e.id===`root`&&t.Layout?{...r?{element:C.createElement(t.Layout,null,C.createElement(r,null))}:{Component:r},...a?{errorElement:C.createElement(t.Layout,null,C.createElement(a,null))}:{ErrorBoundary:a},...i?{hydrateFallbackElement:C.createElement(t.Layout,null,C.createElement(i,null))}:{HydrateFallback:i}}:{Component:r,ErrorBoundary:a,HydrateFallback:i}}function Re(e,t,n,r,i,a){return R(t,n,r,i,a,``,Ie(t),e)}function I(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 m(400,`Bad Request`,Error(n),!0)}}function L(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 m(405,`Method Not Allowed`,Error(r),!0)}function R(e,t,n,r,i,a=``,o=Ie(e),s){return(o[a]||[]).map(a=>{let c=t[a.id];function l(e){return y(typeof e==`function`,`No single fetch function available for route handler`),e()}function u(e){return a.hasLoader?l(e):Promise.resolve(null)}function d(e){if(!a.hasAction)throw L(`action`,a.id);return l(e)}function f(e){O(()=>import(e),[])}function p(e){e.clientActionModule&&f(e.clientActionModule),e.clientLoaderModule&&f(e.clientLoaderModule)}async function m(e){let n=t[a.id],r=n?j(a,n):Promise.resolve();try{return e()}finally{await r}}let h={id:a.id,index:a.index,path:a.path};if(c){Object.assign(h,{...h,...Le(a,c,i),middleware:c.clientMiddleware,handle:c.handle,shouldRevalidate:z(h.path,c,a,r,s)});let e=n&&n.loaderData&&a.id in n.loaderData,t=e?n?.loaderData?.[a.id]:void 0,o=n&&n.errors&&a.id in n.errors,l=o?n?.errors?.[a.id]:void 0,f=s==null&&(c.clientLoader?.hydrate===!0||!a.hasLoader);h.loader=async({request:n,params:r,context:i,pattern:s,url:d},p)=>{let h=f;return f=!1,await m(async()=>(y(c,"No `routeModule` available for critical-route loader"),c.clientLoader?c.clientLoader({request:n,params:r,context:i,pattern:s,url:d,async serverLoader(){if(I(`loader`,a),h){if(e)return t;if(o)throw l}return u(p)}}):u(p)))},h.loader.hydrate=V(a.id,c.clientLoader,a.hasLoader,i),h.action=({request:e,params:t,context:n,pattern:r,url:o},s)=>m(async()=>{if(y(c,"No `routeModule` available for critical-route action"),!c.clientAction){if(i)throw L(`clientAction`,a.id);return d(s)}return c.clientAction({request:e,params:t,context:n,pattern:r,url:o,async serverAction(){return I(`action`,a),d(s)}})})}else{a.hasClientLoader||(h.loader=(e,t)=>m(()=>u(t))),a.hasClientAction||(h.action=(e,t)=>m(()=>{if(i)throw L(`clientAction`,a.id);return d(t)}));let e;async function n(){return e||=(async()=>{(a.clientLoaderModule||a.clientActionModule)&&await new Promise(e=>setTimeout(e,0));let e=Be(a,t);return p(a),await e})(),await e}h.lazy={loader:a.hasClientLoader?async()=>{let{clientLoader:e}=a.clientLoaderModule?await O(()=>import(a.clientLoaderModule),[]):await n();return y(e,"No `clientLoader` export found"),(t,n)=>e({...t,async serverLoader(){return I(`loader`,a),u(n)}})}:void 0,action:a.hasClientAction?async()=>{let e=a.clientActionModule?O(()=>import(a.clientActionModule),[]):n();p(a);let{clientAction:t}=await e;return y(t,"No `clientAction` export found"),(e,n)=>t({...e,async serverAction(){return I(`action`,a),d(n)}})}:void 0,middleware:a.hasClientMiddleware?async()=>{let{clientMiddleware:e}=a.clientMiddlewareModule?await O(()=>import(a.clientMiddlewareModule),[]):await n();return y(e,"No `clientMiddleware` export found"),e}:void 0,shouldRevalidate:async()=>{let e=await n();return z(h.path,e,a,r,s)},handle:async()=>(await n()).handle,Component:async()=>(await n()).Component,ErrorBoundary:a.hasErrorBoundary?async()=>(await n()).ErrorBoundary:void 0}}let g=R(e,t,n,r,i,a.id,o,s);return g.length>0&&(h.children=g),h})}function z(e,t,n,r,i){if(i)return ze(n.id,t.shouldRevalidate,i);if(!r&&n.hasLoader&&!n.hasClientLoader){let n=e?p(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)})}return e=>r(e)}return t.shouldRevalidate}function ze(e,t,n){let r=!1;return i=>r?t?t(i):i.defaultShouldRevalidate:(r=!0,n.has(e))}async function Be(e,t){let n=k(e,t),r=De(e),i=await n;return await Promise.all([r,j(e,i)]),{Component:B(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 B(e){if(e.default!=null&&(typeof e.default!=`object`||Object.keys(e.default).length!==0))return e.default}function V(e,t,n,r){return r&&e!==`root`||t!=null&&(t.hydrate===!0||n!==!0)}var H=new Set,Ve=1e3,U=new Set;function He(e){let t=new Set;return e.forEach(e=>{e.startsWith(`/`)||(e=`/${e}`);for(let n=1;n<e.length;n++)e[n]===`/`&&t.add(e.slice(0,n));t.add(e)}),Array.from(t)}function W(e,t){return e.mode===`lazy`&&t===!0}function Ue({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=n.match(e);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 We(e,t,n,i,a,o,s){if(W(a,i))return async({path:c,patch:l,signal:u,fetcherKey:d})=>{if(U.has(c))return;let{state:f}=e();await Ye([c],d?window.location.href:r(f.navigation.location||f.location),t,n,i,o,s,a.manifestPath,l,u)}}function Ge(e,t,n,r,i,a){C.useEffect(()=>{if(!W(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;U.has(n)||H.add(n)}async function s(){document.querySelectorAll(`a[data-discover], form[data-discover]`).forEach(o);let s=Array.from(H.keys()).filter(e=>!U.has(e)||(H.delete(e),!1));if(s.length!==0)try{await Ye(s,null,t,n,r,a,e.basename,i.manifestPath,e.patchRoutes)}catch(e){console.error(`Failed to fetch manifest patches`,e)}}let c=Ze(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 Ke(e,t){let r=e||`/__manifest`;return t==null?r:n([t,r])}var G=`react-router-manifest-version`,qe=5e3,K;async function Je(e,t,n){if(K)return K;if(!e){try{sessionStorage.removeItem(G)}catch{}return!1}if(!n)return 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.`),!0;let r=!1;try{r=sessionStorage.getItem(G)===t,r||sessionStorage.setItem(G,t)}catch{}if(r)throw Error(`Unable to discover routes due to manifest version mismatch.`);let i,a=new Promise((e,t)=>{i=t});K=a;let o=()=>{clearTimeout(s),window.removeEventListener(`pageshow`,c),K=void 0,i(Error(`Unable to discover routes due to manifest version mismatch.`))},s=setTimeout(o,qe),c=e=>{e.persisted&&o()};window.addEventListener(`pageshow`,c);try{window.location.href=n,console.warn(`Detected manifest version mismatch, reloading...`)}catch{o()}return a}async function Ye(e,t,n,r,i,a,o,s,c,l){e=He(e);let u=new URLSearchParams;u.set(`paths`,e.sort().join(`,`)),u.set(`version`,n.version);let d=new URL(Ke(s,o),window.location.origin);if(d.search=u.toString(),d.toString().length>7680){H.clear();return}let f;try{let e=await fetch(d,{signal:l});if(!e.ok)throw Error(`${e.status} ${e.statusText}`);if(await Je(e.status===204&&e.headers.has(`X-Remix-Reload-Document`),n.version,t))return;f=await e.json()}catch(e){if(l?.aborted)return;throw e}if(l?.aborted)return;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=>Xe(e,U));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,R(m,r,null,i,a,e)))}function Xe(e,t){if(t.size>=Ve){let e=t.values().next().value;e!==void 0&&t.delete(e)}t.add(e)}function Ze(e,t){let n;return(...r)=>{window.clearTimeout(n),n=window.setTimeout(()=>e(...r),t)}}var q=C.createContext(void 0);q.displayName=`FrameworkContext`;function J(){let e=C.useContext(q);return y(e,`You must render this element inside a <HydratedRouter> element`),e}function Qe(e,t){let n=C.useContext(q),[r,i]=C.useState(!1),[a,o]=C.useState(!1),{onFocus:s,onBlur:c,onMouseEnter:l,onMouseLeave:u,onTouchStart:d}=t,f=C.useRef(null);C.useEffect(()=>{if(e===`render`&&o(!0),e===`viewport`){let e=new IntersectionObserver(e=>{e.forEach(e=>{o(e.isIntersecting)})},{threshold:.5});return f.current&&e.observe(f.current),()=>{e.disconnect()}}},[e]),C.useEffect(()=>{if(r){let e=setTimeout(()=>{o(!0)},100);return()=>{clearTimeout(e)}}},[r]);let p=()=>{i(!0)},m=()=>{i(!1),o(!1)};return n?e===`intent`?[a,f,{onFocus:Y(s,p),onBlur:Y(c,m),onMouseEnter:Y(l,p),onMouseLeave:Y(u,m),onTouchStart:Y(d,p)}]:[a,f,{}]:[!1,f,{}]}function Y(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function X(e,t,n){if(n&&!Q)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 Z=`data-react-router-critical-css`;function $e({nonce:e,crossOrigin:t}){let{isSpaMode:n,manifest:r,routeModules:i,criticalCss:a,nonce:o}=J(),{matches:s}=f(`Links`),{errors:c}=d(`Links`),l=X(s,c,n),u=C.useMemo(()=>Ee(l,i,r),[l,i,r]);return e==null&&o&&(e=o),C.createElement(C.Fragment,null,typeof a==`string`?C.createElement(`style`,{[Z]:``,nonce:e,dangerouslySetInnerHTML:{__html:a}}):null,typeof a==`object`?C.createElement(`link`,{[Z]:``,rel:`stylesheet`,href:a.href,nonce:e,crossOrigin:t}):null,u.map(({key:n,link:r})=>N(r)?C.createElement(et,{key:n,nonce:e,...r,crossOrigin:r.crossOrigin??t}):C.createElement(`link`,{key:n,nonce:e,...r,crossOrigin:r.crossOrigin??t})))}function et({page:e,...t}){let n=_(),{nonce:r}=J(),{router:i}=g(`PrefetchPageLinks`),a=C.useMemo(()=>i.match(e),[i,i.routes,e]);return a?(t.nonce==null&&r&&(t={...t,nonce:r}),n?C.createElement(nt,{page:e,matches:a,...t}):C.createElement(rt,{page:e,matches:a,...t})):null}function tt(e){let{manifest:t,routeModules:n}=J(),[r,i]=C.useState([]);return C.useEffect(()=>{let r=!1;return ke(e,t,n).then(e=>{r||i(e)}),()=>{r=!0}},[e,t,n]),r}function nt({page:e,matches:t,...n}){let r=h(),i=C.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=E(e,`rsc`),i=!1,a=[];for(let e of t)typeof e.route.shouldRevalidate==`function`?i=!0:a.push(e.route.id);return i&&a.length>0&&n.searchParams.set(`_routes`,a.join(`,`)),[n.pathname+n.search]},[e,r,t]);return C.createElement(C.Fragment,null,i.map(e=>C.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})))}function rt({page:e,matches:t,...n}){let r=h(),{manifest:i,routeModules:a}=J(),{matches:o}=f(`PrefetchPageLinks`),{loaderData:s}=d(`PrefetchPageLinks`),c=C.useMemo(()=>Ae(e,t,o,i,r,`data`),[e,t,o,i,r]),l=C.useMemo(()=>Ae(e,t,o,i,r,`assets`),[e,t,o,i,r]),u=C.useMemo(()=>{if(e===r.pathname+r.search+r.hash)return[];let n=new Set,o=!1;if(t.forEach(e=>{let t=i.routes[e.route.id];t&&t.hasLoader&&(!c.some(t=>t.route.id===e.route.id)&&e.route.id in s&&a[e.route.id]?.shouldRevalidate||t.hasClientLoader?o=!0:n.add(e.route.id))}),n.size===0)return[];let l=E(e,`data`);return o&&n.size>0&&l.searchParams.set(`_routes`,t.filter(e=>n.has(e.route.id)).map(e=>e.route.id).join(`,`)),[l.pathname+l.search]},[s,r,i,c,t,e,a]),p=C.useMemo(()=>P(l,i),[l,i]),m=tt(l);return C.createElement(C.Fragment,null,u.map(e=>C.createElement(`link`,{key:e,rel:`prefetch`,as:`fetch`,href:e,...n})),p.map(e=>C.createElement(`link`,{key:e,rel:`modulepreload`,href:e,...n})),m.map(({key:e,link:t})=>C.createElement(`link`,{key:e,nonce:n.nonce,...t,crossOrigin:t.crossOrigin??n.crossOrigin})))}function it(){let{isSpaMode:e,routeModules:t}=J(),{matches:n}=f(`Meta`),{errors:r,loaderData:i}=d(`Meta`),a=h(),o=X(n,r,e),s=null;r&&(s=r[o[o.length-1].route.id]);let c=[],l=null,u=[];for(let e=0;e<o.length;e++){let n=o[e],r=n.route.id,d=i[r],f=n.params,p=t[r],m=[],h={id:r,loaderData:d,meta:[],params:n.params,pathname:n.pathname,handle:n.route.handle,error:s};if(u[e]=h,p?.meta?m=typeof p.meta==`function`?p.meta({loaderData:d,params:f,location:a,matches:u,error:s}):Array.isArray(p.meta)?[...p.meta]:p.meta:l&&(m=[...l]),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.
3
+
4
+ To reference the meta function API, see https://reactrouter.com/start/framework/route-module#meta`);h.meta=m,u[e]=h,c=[...m],l=c}return C.createElement(C.Fragment,null,c.flat().map(e=>{if(!e)return null;if(`tagName`in e){let{tagName:t,...n}=e;if(!at(t))return console.warn(`A meta object uses an invalid tagName: ${t}. Expected either 'link' or 'meta'`),null;let r=t;return C.createElement(r,{key:JSON.stringify(n),...n})}if(`title`in e)return C.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`?C.createElement(`meta`,{key:`charSet`,charSet:e.charSet}):null;if(`script:ld+json`in e)try{let t=JSON.stringify(e[`script:ld+json`]);return C.createElement(`script`,{key:`script:ld+json:${t}`,type:`application/ld+json`,dangerouslySetInnerHTML:{__html:b(t)}})}catch{return null}return C.createElement(`meta`,{key:JSON.stringify(e),...e})}))}function at(e){return typeof e==`string`&&/^(meta|link)$/.test(e)}var Q=!1;function ot(){Q=!0}function st(e){let{manifest:t,serverHandoffString:n,isSpaMode:r,renderMeta:i,routeDiscovery:a,ssr:o,nonce:s}=J(),{router:c,static:l,staticContext:d}=g(`Scripts`),{matches:p}=f(`Scripts`),m=_(),h=W(a,o);e.nonce==null&&s&&(e={...e,nonce:s}),i&&(i.didRenderScripts=!0);let v=X(p,null,r);C.useEffect(()=>{ot()},[]);let ee=C.useMemo(()=>{if(m)return null;let r=d?`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)};`:``}${h?``:`import ${JSON.stringify(t.url)}`};
5
+ ${v.map((e,n)=>{let r=`route${n}`,i=t.routes[e.route.id];y(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(`
6
+ `),`const ${r} = {${u.map(e=>`...${e.varName}`).join(`,`)}};`].join(`
7
+ `)}).join(`
8
+ `)}
9
+ ${h?`window.__reactRouterManifest = ${JSON.stringify(Ue(t,c),null,2)};`:``}
10
+ window.__reactRouterRouteModules = {${v.map((e,t)=>`${JSON.stringify(e.route.id)}:route${t}`).join(`,`)}};
11
+
12
+ import(${JSON.stringify(t.entry.module)});`:` `;return C.createElement(C.Fragment,null,C.createElement(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:r},type:void 0}),C.createElement(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:i},type:`module`,async:!0}))},[]),te=Q||m?[]:[...new Set(t.entry.imports.concat(P(v,t,{includeHydrateFallback:!0})))],b=typeof t.sri==`object`?t.sri:{};return u(!m,`The <Scripts /> element is a no-op when using RSC and can be safely removed.`),Q||m?null:C.createElement(C.Fragment,null,typeof t.sri==`object`?C.createElement(`script`,{...e,"rr-importmap":``,type:`importmap`,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:JSON.stringify({integrity:b})}}):null,h?null:C.createElement(`link`,{rel:`modulepreload`,href:t.url,crossOrigin:e.crossOrigin,integrity:b[t.url],nonce:e.nonce,suppressHydrationWarning:!0}),C.createElement(`link`,{rel:`modulepreload`,href:t.entry.module,crossOrigin:e.crossOrigin,integrity:b[t.entry.module],nonce:e.nonce,suppressHydrationWarning:!0}),te.map(t=>C.createElement(`link`,{key:t,rel:`modulepreload`,href:t,crossOrigin:e.crossOrigin,integrity:b[t],nonce:e.nonce,suppressHydrationWarning:!0})),ee)}function ct(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}var lt=class extends C.Component{constructor(e){super(e),this.state={error:e.error||null,location:e.location}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location===e.location?{error:e.error||t.error,location:t.location}:{error:e.error||null,location:e.location}}render(){return this.state.error?C.createElement(ut,{error:this.state.error,isOutsideRemixApp:!0}):this.props.children}};function ut({error:e,isOutsideRemixApp:t}){let{nonce:n}=J();console.error(e);let r=C.createElement(`script`,{nonce:n,dangerouslySetInnerHTML:{__html:`
13
+ console.log(
14
+ "💿 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."
15
+ );
16
+ `}});if(c(e))return C.createElement($,{title:`Unhandled Thrown Response!`},C.createElement(`h1`,{style:{fontSize:`24px`}},e.status,` `,e.statusText),null);let i;if(e instanceof Error)i=e;else{let t=e==null?`Unknown Error`:typeof e==`object`&&`toString`in e?e.toString():JSON.stringify(e);i=Error(t)}return C.createElement($,{title:`Application Error!`,isOutsideRemixApp:t},C.createElement(`h1`,{style:{fontSize:`24px`}},`Application Error`),C.createElement(`pre`,{style:{padding:`2rem`,background:`hsla(10, 50%, 50%, 0.1)`,color:`red`,overflow:`auto`}},i.stack),r)}function $({title:e,renderScripts:t,isOutsideRemixApp:n,children:r}){let{routeModules:i}=J();return i.root?.Layout&&!n?r:C.createElement(`html`,{lang:`en`},C.createElement(`head`,null,C.createElement(`meta`,{charSet:`utf-8`}),C.createElement(`meta`,{name:`viewport`,content:`width=device-width,initial-scale=1,viewport-fit=cover`}),C.createElement(`title`,null,e)),C.createElement(`body`,null,C.createElement(`main`,{style:{fontFamily:`system-ui, sans-serif`,padding:`2rem`}},r,t?C.createElement(st,null):null)))}export{et as a,Qe as c,R as d,Re as f,b as g,ue as h,it as i,We as l,ye as m,q as n,st as o,V as p,$e as r,ct as s,lt as t,Ge as u};
File without changes
@@ -0,0 +1 @@
1
+ import{o as e,t}from"./jsx-runtime-eLCqVKHJ.js";var n=`/assets/logo-dark-pX2395Y0.svg`,r=`/assets/logo-light-CVbx2LBR.svg`,i=t();function a(){return(0,i.jsx)(`main`,{className:`flex items-center justify-center pt-16 pb-4`,children:(0,i.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center gap-16`,children:[(0,i.jsx)(`header`,{className:`flex flex-col items-center gap-9`,children:(0,i.jsxs)(`div`,{className:`w-[500px] max-w-[100vw] p-4`,children:[(0,i.jsx)(`img`,{src:r,alt:`React Router`,className:`block w-full dark:hidden`}),(0,i.jsx)(`img`,{src:n,alt:`React Router`,className:`hidden w-full dark:block`})]})}),(0,i.jsx)(`div`,{className:`w-full max-w-[300px] space-y-6 px-4`,children:(0,i.jsxs)(`nav`,{className:`space-y-4 rounded-3xl border border-gray-200 p-6 dark:border-gray-700`,children:[(0,i.jsx)(`p`,{className:`text-center leading-6 text-gray-700 dark:text-gray-200`,children:`What's next?`}),(0,i.jsx)(`ul`,{children:o.map(({href:e,text:t,icon:n})=>(0,i.jsx)(`li`,{children:(0,i.jsxs)(`a`,{className:`group flex items-center gap-3 self-stretch p-3 leading-normal text-blue-700 hover:underline dark:text-blue-500`,href:e,target:`_blank`,rel:`noreferrer`,children:[n,t]})},e))})]})})]})})}var o=[{href:`https://reactrouter.com/docs`,text:`React Router Docs`,icon:(0,i.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`20`,viewBox:`0 0 20 20`,fill:`none`,className:`stroke-gray-600 group-hover:stroke-current dark:stroke-gray-300`,children:(0,i.jsx)(`path`,{d:`M9.99981 10.0751V9.99992M17.4688 17.4688C15.889 19.0485 11.2645 16.9853 7.13958 12.8604C3.01467 8.73546 0.951405 4.11091 2.53116 2.53116C4.11091 0.951405 8.73546 3.01467 12.8604 7.13958C16.9853 11.2645 19.0485 15.889 17.4688 17.4688ZM2.53132 17.4688C0.951566 15.8891 3.01483 11.2645 7.13974 7.13963C11.2647 3.01471 15.8892 0.951453 17.469 2.53121C19.0487 4.11096 16.9854 8.73551 12.8605 12.8604C8.73562 16.9853 4.11107 19.0486 2.53132 17.4688Z`,strokeWidth:`1.5`,strokeLinecap:`round`})})},{href:`https://rmx.as/discord`,text:`Join Discord`,icon:(0,i.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`20`,viewBox:`0 0 24 20`,fill:`none`,className:`stroke-gray-600 group-hover:stroke-current dark:stroke-gray-300`,children:(0,i.jsx)(`path`,{d:`M15.0686 1.25995L14.5477 1.17423L14.2913 1.63578C14.1754 1.84439 14.0545 2.08275 13.9422 2.31963C12.6461 2.16488 11.3406 2.16505 10.0445 2.32014C9.92822 2.08178 9.80478 1.84975 9.67412 1.62413L9.41449 1.17584L8.90333 1.25995C7.33547 1.51794 5.80717 1.99419 4.37748 2.66939L4.19 2.75793L4.07461 2.93019C1.23864 7.16437 0.46302 11.3053 0.838165 15.3924L0.868838 15.7266L1.13844 15.9264C2.81818 17.1714 4.68053 18.1233 6.68582 18.719L7.18892 18.8684L7.50166 18.4469C7.96179 17.8268 8.36504 17.1824 8.709 16.4944L8.71099 16.4904C10.8645 17.0471 13.128 17.0485 15.2821 16.4947C15.6261 17.1826 16.0293 17.8269 16.4892 18.4469L16.805 18.8725L17.3116 18.717C19.3056 18.105 21.1876 17.1751 22.8559 15.9238L23.1224 15.724L23.1528 15.3923C23.5873 10.6524 22.3579 6.53306 19.8947 2.90714L19.7759 2.73227L19.5833 2.64518C18.1437 1.99439 16.6386 1.51826 15.0686 1.25995ZM16.6074 10.7755L16.6074 10.7756C16.5934 11.6409 16.0212 12.1444 15.4783 12.1444C14.9297 12.1444 14.3493 11.6173 14.3493 10.7877C14.3493 9.94885 14.9378 9.41192 15.4783 9.41192C16.0471 9.41192 16.6209 9.93851 16.6074 10.7755ZM8.49373 12.1444C7.94513 12.1444 7.36471 11.6173 7.36471 10.7877C7.36471 9.94885 7.95323 9.41192 8.49373 9.41192C9.06038 9.41192 9.63892 9.93712 9.6417 10.7815C9.62517 11.6239 9.05462 12.1444 8.49373 12.1444Z`,strokeWidth:`1.5`})})}];function s({}){return[{title:`New React Router App`},{name:`description`,content:`Welcome to React Router!`}]}var c=e(function(){return(0,i.jsx)(a,{})});export{c as default,s as meta};
@@ -0,0 +1 @@
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),e=null),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,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,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.for(`react.view_transition`),m=Symbol.iterator;function h(e){return typeof e!=`object`||!e?null:(e=m&&e[m]||e[`@@iterator`],typeof e==`function`?e:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,v={};function y(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}y.prototype.isReactComponent={},y.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`)},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function b(){}b.prototype=y.prototype;function x(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}var S=x.prototype=new b;S.constructor=x,_(S,y.prototype),S.isPureReactComponent=!0;var C=Array.isArray;function w(){}var T={H:null,A:null,T:null,S:null},E=Object.prototype.hasOwnProperty;function D(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function O(e,t){return D(e.type,t,e.props)}function k(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function A(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var j=/\/+/g;function M(e,t){return typeof e==`object`&&e&&e.key!=null?A(``+e.key):t.toString(36)}function N(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(w,w):(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 P(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,P(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+M(e,0):a,C(o)?(i=``,c!=null&&(i=c.replace(j,`$&/`)+`/`),P(o,r,i,``,function(e){return e})):o!=null&&(k(o)&&(o=O(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(j,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(C(e))for(var u=0;u<e.length;u++)a=e[u],s=l+M(a,u),c+=P(a,r,i,s,o);else if(u=h(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+M(a,u++),c+=P(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return P(N(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 F(e,t,n){if(e==null)return e;var r=[],i=0;return P(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function I(e){if(e._status===-1){var t=e._result,n=t();n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t,n.status===void 0&&(n.status=`fulfilled`,n.value=t))},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t,n.status===void 0&&(n.status=`rejected`,n.reason=t))}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var L=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)};function R(e){var t=T.T,n={};n.types=t===null?null:t.types,T.T=n;try{var r=e(),i=T.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(w,L)}catch(e){L(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),T.T=t}}function z(e){var t=T.T;if(t!==null){var n=t.types;n===null?t.types=[e]:n.indexOf(e)===-1&&n.push(e)}else R(z.bind(null,e))}var B={map:F,forEach:function(e,t,n){F(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return F(e,function(){t++}),t},toArray:function(e){return F(e,function(e){return e})||[]},only:function(e){if(!k(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=B,e.Component=y,e.Fragment=r,e.Profiler=a,e.PureComponent=x,e.StrictMode=i,e.Suspense=l,e.ViewTransition=p,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return T.H.useMemoCache(e)}},e.addTransitionType=z,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=_({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!E.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 D(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)E.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 D(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=k,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:I}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=R,e.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},e.use=function(e){return T.H.use(e)},e.useActionState=function(e,t,n){return T.H.useActionState(e,t,n)},e.useCallback=function(e,t){return T.H.useCallback(e,t)},e.useContext=function(e){return T.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return T.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return T.H.useEffect(e,t)},e.useEffectEvent=function(e){return T.H.useEffectEvent(e)},e.useId=function(){return T.H.useId()},e.useImperativeHandle=function(e,t,n){return T.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return T.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return T.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return T.H.useMemo(e,t)},e.useOptimistic=function(e,t){return T.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return T.H.useReducer(e,t,n)},e.useRef=function(e){return T.H.useRef(e)},e.useState=function(e){return T.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return T.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return T.H.useTransition()},e.version=`19.3.1`})),u=o(((e,t)=>{t.exports=l()})),d=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,f=/^[\\/]{2}/;function p(e,t){return t+e.replace(/\\/g,`/`)}var m=`popstate`;function h(e){return typeof e==`object`&&!!e&&`pathname`in e&&`search`in e&&`hash`in e&&`state`in e&&`key`in e}function g(e={}){function t(e,t){let n=t.state?.masked,{pathname:r,search:i,hash:a}=n||e.location;return x(``,{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:S(t)}return w(t,n,null,e)}function _(e,t){if(e===!1||e==null)throw Error(t)}function v(e,t){if(!e){typeof console<`u`&&console.warn(t);try{throw Error(t)}catch{}}}function y(){return Math.random().toString(36).substring(2,10)}function b(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function x(e,t,n=null,r,i){return{pathname:typeof e==`string`?e:e.pathname,search:``,hash:``,...typeof t==`string`?C(t):t,state:n,key:t&&t.key||r||y(),mask:i}}function S({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 C(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 w(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 d(){s=`POP`;let e=u(),t=e==null?null:e-l;l=e,c&&c({action:s,location:_.location,delta:t})}function f(e,t){s=`PUSH`;let r=h(e)?e:x(_.location,e,t);n&&n(r,e),l=u()+1;let d=b(r,l),f=_.createHref(r.mask||r);try{o.pushState(d,``,f)}catch(e){if(e instanceof DOMException&&e.name===`DataCloneError`)throw e;i.location.assign(f)}a&&c&&c({action:s,location:_.location,delta:1})}function p(e,t){s=`REPLACE`;let r=h(e)?e:x(_.location,e,t);n&&n(r,e),l=u();let i=b(r,l),d=_.createHref(r.mask||r);o.replaceState(i,``,d),a&&c&&c({action:s,location:_.location,delta:0})}function g(e){return T(i,e)}let _={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(m,d),c=e,()=>{i.removeEventListener(m,d),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:f,replace:p,go(e){return o.go(e)}};return _}function T(e,t,n=!1){let r=`http://localhost`;e&&(r=e.location.origin===`null`?e.location.href:e.location.origin),_(r,`No window.location.(origin|href) available to create URL`);let i=typeof t==`string`?t:S(t);return i=i.replace(/ $/,`%20`),!n&&f.test(i)&&(i=r+i),new URL(i,r)}var E=c(u(),1),D=class{#e=new Map;constructor(e){if(e)for(let[t,n]of e)this.set(t,n)}get(e){if(this.#e.has(e))return this.#e.get(e);if(e.defaultValue!==void 0)return e.defaultValue;throw Error(`No value found for context`)}set(e,t){this.#e.set(e,t)}},O=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`children`,`unstable_validateParams`]);function k(e){return O.has(e)}var A=new Set([`lazy`,`caseSensitive`,`path`,`id`,`index`,`middleware`,`children`,`unstable_validateParams`]);function j(e){return A.has(e)}function M(e){return e.index===!0}function N(e){let t={};return e.Component&&Object.assign(t,{element:E.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:E.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:E.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function P(e,t=N,n=[],r={},i=!1){return e.map((e,a)=>{let o=[...n,String(a)],s=typeof e.id==`string`?e.id:o.join(`-`);if(_(e.index!==!0||!e.children,`Cannot specify children on an index route`),_(i||!r[s],`Found a route id collision on id "${s}". Route id's must be globally unique within Data Router usages`),M(e)){let n={...e,id:s};return r[s]=F(n,t(n)),n}{let n={...e,id:s,children:void 0};return r[s]=F(n,t(n)),e.children&&(n.children=P(e.children,t,o,r,i)),n}})}function F(e,t){return Object.assign(e,{...t,...typeof t.lazy==`object`&&t.lazy!=null?{lazy:{...e.lazy,...t.lazy}}:{}})}function I(e,t,n=`/`){return L(e,t,n,!1)}function L(e,t,n,r,i){let a=he((typeof t==`string`?C(t):t).pathname||`/`,n);if(a==null)return null;let o=i??z(e),s=null,c=me(a);for(let e=0;s==null&&e<o.length;++e)s=ue(o[e],c,r);return s}function R(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,loaderData:t[n.id],handle:n.handle}}function z(e){let t=B(e);return ee(t),t}function B(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;_(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=G([r,c.relativePath]),u=n.concat(c);e.children&&e.children.length>0&&(_(e.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${l}".`),B(e.children,t,u,l,o)),(e.path!=null||e.index)&&t.push({path:l,score:le(l,e.index),routesMeta:u.map((e,t)=>{let[n,r]=pe(e.relativePath,e.caseSensitive,t===u.length-1);return{...e,matcher:n,compiledParams:r}})})};return e.forEach((e,t)=>{if(e.path===``||!e.path?.includes(`?`))a(e,t);else for(let n of V(e.path))a(e,t,!0,n)}),t}function V(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=V(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 ee(e){e.sort((e,t)=>e.score===t.score?U(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)):t.score-e.score)}var te=/^:[\w-]+$/,ne=/^:[\w-]+/,re=3.5,H=3,ie=2,ae=1,oe=10,se=-2,ce=e=>e===`*`;function le(e,t){let n=e.split(`/`),r=n.length;return n.some(ce)&&(r+=se),t&&(r+=ie),n.filter(e=>!ce(e)).reduce((e,t)=>e+(te.test(t)?H:ne.test(t)?re:t===``?ae:oe),r)}function U(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 ue(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={path:s.relativePath,caseSensitive:s.caseSensitive,end:c},d=s.matcher&&s.compiledParams?fe(u,l,s.matcher,s.compiledParams):de(u,l),f=s.route;if(!d&&c&&n&&!r[r.length-1].route.index&&(d=de({path:s.relativePath,caseSensitive:s.caseSensitive,end:!1},l)),!d)return null;Object.assign(i,d.params),o.push({params:i,pathname:G([a,d.pathname]),pathnameBase:Te(G([a,d.pathnameBase])),route:f}),d.pathnameBase!==`/`&&(a=G([a,d.pathnameBase]))}return o}function de(e,t){typeof e==`string`&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=pe(e.path,e.caseSensitive,e.end);return fe(e,t,n,r)}function fe(e,t,n,r){let i=t.match(n);if(!i)return null;let a=i[0],o=we(a,1),s=i.slice(1);return{params:r.reduce((e,{paramName:t,isOptional:n},r)=>{if(t===`*`){let e=s[r]||``;o=we(a.slice(0,a.length-e.length),1)}let i=s[r];return e[t]=n&&!i?void 0:(i||``).replace(/%2F/g,`/`),e},{}),pathname:a,pathnameBase:o,pattern:e}}function pe(e,t=!1,n=!0){v(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)?`);return e.endsWith(`*`)?(r.push({paramName:`*`}),i+=e===`*`||e===`/*`?`(.*)$`:`(?:\\/(.+)|\\/*)$`):n?i+=`\\/*$`:e!==``&&e!==`/`&&(i+=`(?:(?=\\/|$))`),[new RegExp(i,t?void 0:`i`),r]}function me(e){try{return e.split(`/`).map(e=>decodeURIComponent(e).replace(/\//g,`%2F`)).join(`/`)}catch(t){return v(!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 he(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 ge({basename:e,pathname:t}){return t===`/`?e:G([e,t])}var _e=e=>d.test(e);function W(e,t=`/`){let{pathname:n,search:r=``,hash:i=``}=typeof e==`string`?C(e):e,a;return n?(n=Ce(n),a=n.startsWith(`/`)||n.startsWith(`\\`)?ve(n.substring(1),`/`):ve(n,t)):a=t,{pathname:a,search:Ee(r),hash:De(i)}}function ve(e,t){let n=we(t).split(`/`);return e.split(`/`).forEach(e=>{e===`..`?n.length>1&&n.pop():e!==`.`&&n.push(e)}),n.length>1?n.join(`/`):`/`}function ye(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 be(e){return e.filter((e,t)=>t===0||e.route.path&&e.route.path.length>0)}function xe(e){let t=be(e);return t.map((e,n)=>n===t.length-1?e.pathname:e.pathnameBase)}function Se(e,t,n,r=!1){let i;typeof e==`string`?i=C(e):(i={...e},_(!i.pathname||!i.pathname.includes(`?`),ye(`?`,`pathname`,`search`,i)),_(!i.pathname||!i.pathname.includes(`#`),ye(`#`,`pathname`,`hash`,i)),_(!i.search||!i.search.includes(`#`),ye(`#`,`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=W(i,s),l=o&&o!==`/`&&o.endsWith(`/`),u=(a||o===`.`)&&n.endsWith(`/`);return!c.pathname.endsWith(`/`)&&(l||u)&&(c.pathname+=`/`),c}var Ce=e=>e.replace(/[\\/]{2,}/g,`/`),G=e=>Ce(e.join(`/`));function we(e,t=0){let n=e.length;for(;n>t&&e.charCodeAt(n-1)===47;)n--;return n===e.length?e:e.slice(0,n)}var Te=e=>we(e).replace(/^\/*/,`/`),Ee=e=>!e||e===`?`?``:e.startsWith(`?`)?e:`?`+e,De=e=>!e||e===`#`?``:e.startsWith(`#`)?e:`#`+e,Oe=class{type=`DataWithResponseInit`;data;init;constructor(e,t){this.data=e,this.init=t||null}};function ke(e,t){return new Oe(e,typeof t==`number`?{status:t}:t)}var Ae=(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})},je=[`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],K=class{status;statusText;data;error;internal;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 Me(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.internal==`boolean`&&`data`in e}function q(e){return G(e.map(e=>e.route.path).filter(Boolean))||`/`}function Ne(e,t){let n=new URL(typeof e==`string`||e instanceof URL?e:e.url),r=typeof t==`string`?C(t):t;if(n.pathname=r.pathname||`/`,r.search){let e=new URLSearchParams(r.search),t=e.getAll(`index`);e.delete(`index`);for(let n of t.filter(Boolean))e.append(`index`,n);let i=e.toString();n.search=i?`?${i}`:``}else n.search=``;return n.hash=r.hash||``,n}var Pe=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function Fe(e,t){let n=e;if(typeof n!=`string`||!d.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let r=n,i=!1;if(Pe)try{let e=new URL(window.location.href),r=f.test(n)?new URL(p(n,e.protocol)):new URL(n),a=he(r.pathname,t);r.origin===e.origin&&a!=null?n=a+r.search+r.hash:i=!0}catch{v(!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 Ie=Symbol(`Uninstrumented`),J=new WeakMap;function Le(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){e.lazy!=null&&n.lazy.push(e.lazy),e[`lazy.loader`]!=null&&n[`lazy.loader`].push(e[`lazy.loader`]),e[`lazy.action`]!=null&&n[`lazy.action`].push(e[`lazy.action`]),e[`lazy.middleware`]!=null&&n[`lazy.middleware`].push(e[`lazy.middleware`]),e.middleware!=null&&n.middleware.push(e.middleware),e.loader!=null&&n.loader.push(e.loader),e.action!=null&&n.action.push(e.action)}}));let r={};if(typeof t.lazy==`function`&&n.lazy.length>0){let e=t.lazy;r.lazy=async(...t)=>Ue(await Y(n.lazy,void 0,()=>e(...t),X))}if(typeof t.lazy==`object`){let e=t.lazy;if(typeof e.middleware==`function`&&n[`lazy.middleware`].length>0){let t=e.middleware;r.lazy=Object.assign(r.lazy||{},{middleware:async(...e)=>Ue(await Y(n[`lazy.middleware`],void 0,()=>t(...e),X))})}if(typeof e.loader==`function`&&n[`lazy.loader`].length>0){let t=e.loader;r.lazy=Object.assign(r.lazy||{},{loader:async(...e)=>Ue(await Y(n[`lazy.loader`],void 0,()=>t(...e),X))})}if(typeof e.action==`function`&&n[`lazy.action`].length>0){let t=e.action;r.lazy=Object.assign(r.lazy||{},{action:async(...e)=>Ue(await Y(n[`lazy.action`],void 0,()=>t(...e),X))})}}if(typeof t.loader==`function`&&n.loader.length>0){let e=ze(t.loader),i=async(...t)=>Ue(await Y(n.loader,We(t[0]),()=>e(...t),X));e.hydrate===!0&&(i.hydrate=!0),Be(i,e),r.loader=i}if(typeof t.action==`function`&&n.action.length>0){let e=ze(t.action),i=async(...t)=>Ue(await Y(n.action,We(t[0]),()=>e(...t),X));Be(i,e),r.action=i}return t.middleware&&t.middleware.length>0&&n.middleware.length>0&&(r.middleware=t.middleware.map(e=>{let t=ze(e),r=async(...e)=>Ue(await Y(n.middleware,We(e[0]),()=>t(...e),X));return Be(r,t),r})),r}function Re(e,t){let n={navigate:[],fetch:[]};if(t.forEach(e=>e({instrument(e){e.navigate!=null&&n.navigate.push(e.navigate),e.fetch!=null&&n.fetch.push(e.fetch)}})),n.navigate.length>0){let t=ze(e.navigate),r=async(...r)=>{let[i,a]=r,o,s={to:typeof i==`number`||typeof i==`string`?i:i?S(i):`.`,...Ge(e,a??{})};return Ue(await Y(n.navigate,s,async()=>{if(typeof i==`number`)return await t(...r);let n=Ve(e,e=>{o=e});try{return await t(...r)}finally{n()}},e=>({...X(e),meta:o})))};Be(r,t),e.navigate=r}if(n.fetch.length>0){let t=ze(e.fetch),r=async(...r)=>{let[i,a,o,s]=r,c;return Ue(await Y(n.fetch,{href:o??`.`,fetcherKey:i,...Ge(e,s??{})},async()=>{let n=Ve(e,e=>{c=e});try{return await t(...r)}finally{n()}},e=>({...X(e),meta:c})))};Be(r,t),e.fetch=r}return e}function ze(e){return e[Ie]??e}function Be(e,t){e[Ie]=t}function Ve(e,t){return J.set(e,t),()=>{J.get(e)===t&&J.delete(e)}}function He(e){let t=J.get(e);return J.delete(e),t}function Ue(e){if(e.type===`error`)throw e.value;return e.value}async function Y(e,t,n,r,i={result:null,innerResult:null},a=e.length-1){let o=e[a];if(o){let s,c=async()=>(s?console.error(`You cannot call instrumented handlers more than once`):s=Y(e,t,n,r,i,a-1),await s,_(i.innerResult,`Expected an inner result`),i.innerResult);try{await o(c,t)}catch(e){console.error(`An instrumentation function threw an error:`,e)}s||await c(),await s}else{try{i.result={type:`success`,value:await n()}}catch(e){i.result={type:`error`,value:e}}i.innerResult=r(i.result,t)}return i.result||(i.result={type:`error`,value:Error(`No result assigned in instrumentation chain.`)},i.innerResult=r(i.result,t)),i.result}function X(e){return e.type===`error`&&e.value instanceof Error?{status:`error`,error:e.value}:{status:`success`,error:void 0}}function We(e){let{request:t,context:n,params:r}=e;return{...e,request:Ke(t),params:{...r},context:qe(n)}}function Ge(e,t){return{currentUrl:S(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 Ke(e){return{method:e.method,url:e.url,headers:{get:(...t)=>e.headers.get(...t)}}}function qe(e){return{get:t=>e.get(t)}}var Je=class{#e=[];#t=[];#n;constructor(e){this.#n=e}update(e){this.#e=e,this.#t=z(e)}match(e,t=!1){return L(this.#e,e,this.#n,t,this.#t)}},Ye=new URL(`http://localhost`);function Xe(e){if(e.createURL)return e.createURL(`/`);try{return new URL(e.createHref(`/`),Ye)}catch{return Ye}}function Ze(e,t){return e.origin===t.origin&&(e.origin!==`null`||e.protocol===t.protocol&&e.host===t.host)}function Qe(e,t){if(e.startsWith(`//`))return!0;let n=t.protocol.toLowerCase();return e.toLowerCase().startsWith(n)?t.host===``||e.slice(n.length).startsWith(`//`):!1}function $e(e,t,n,r){let i=null;try{i=e==null?null:new URL(e,n)}catch{}let a=new URL(t,n),o=i!=null&&!Ze(i,n),s=!Ze(a,n);if(r===`reject`){if(o||s)throw Error(`External navigation is not allowed`)}else if(s&&(i==null||!Qe(e,i)||!Ze(i,a)))throw Error(`External navigation is not allowed`)}var et=[`POST`,`PUT`,`PATCH`,`DELETE`],tt=new Set(et),nt=[`GET`,...et],rt=new Set(nt),it=new Set([301,302,303,307,308]),at=new Set([307,308]),ot={state:`idle`,location:void 0,matches:void 0,historyAction:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},st={state:`idle`,data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ct={state:`unblocked`,proceed:void 0,reset:void 0,location:void 0},lt=`remix-router-transitions`,ut=Symbol(`ResetLoaderData`);function dt(e,t){return e.unstable_routePatternMatching?(_(void 0,`You must call unstable_preloadRoutePattern() from "react-router/route-pattern" before enabling future.unstable_routePatternMatching.`),new(void 0)(t)):new Je(t)}var ft=class{#e;#t;#n;constructor(e,t){this.#e=e,this.#n=t,this.#n.update(e)}get stableRoutes(){return this.#e}get activeRoutes(){return this.#t??this.#e}get hasHMRRoutes(){return this.#t!=null}setRoutes(e){this.#e=e,this.#t||this.#n.update(e)}setHmrRoutes(e){this.#t=e,this.#n.update(e)}commitHmrRoutes(){this.#t&&(this.#e=this.#t,this.#t=void 0,this.#n.update(this.#e))}};function pt(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;_(e.routes.length>0,`You must provide a non-empty routes array to createRouter`);let r=e.hydrationRouteProperties||[],i=e.mapRouteProperties,a=i||(()=>({}));if(e.instrumentations){let t=e.instrumentations;a=e=>({...i?.(e),...Le(t.map(e=>e.route).filter(Boolean),e)})}let o={...e.future},s=e.basename||`/`;s.startsWith(`/`)||(s=`/${s}`);let c=dt(o,s),l={},u=new ft(P(e.routes,a,void 0,l),c),d=e.dataStrategy||At,p=null,m=new Set,h=null,g=null,y=null,b=null,w=e.hydrationData!=null,E=c.match(e.history.location),O=!1,k=null,A,j;if(E==null&&!e.patchRoutesOnNavigation){let t=Z(404,{pathname:e.history.location.pathname}),{matches:n,route:r}=$t(u.activeRoutes);A=!0,j=!A,E=n,k={[r.id]:t}}else if(E&&!e.hydrationData&&Xe(E,e.history.location.pathname).active&&(E=null),!E){A=!1,j=!A,E=[];let t=Xe(null,e.history.location.pathname);t.active&&t.matches&&(O=!0,E=t.matches)}else if(E.some(e=>e.route.lazy))A=!1,j=!A;else if(!E.some(e=>vt(e.route)))A=!0,j=!A;else{let t=e.hydrationData?e.hydrationData.loaderData:null,n=e.hydrationData?e.hydrationData.errors:null,r=E;if(n){let e=E.findIndex(e=>n[e.route.id]!==void 0);r=r.slice(0,e+1)}j=!1,A=!0,r.forEach(e=>{let r=yt(e.route,t,n);j||=r.renderFallback,A&&=!r.shouldLoad})}let M,N={historyAction:e.history.action,location:e.history.location,matches:E,initialized:A,renderFallback:j,navigation:ot,restoreScrollPosition:e.hydrationData==null&&null,preventScrollReset:!1,revalidation:`idle`,loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||k,fetchers:new Map,blockers:new Map},F=`POP`,I=null,L=!1,z,B=!1,V=new Map,ee=null,te=!1,ne=!1,re=new Set,H=new Map,ie=0,ae=-1,oe=new Map,se=new Set,ce=new Map,le=new Map,U=new Set,ue=new Map,de,fe=null;function pe(){if(p=e.history.listen(({action:t,location:n,delta:r})=>{if(de){de(),de=void 0;return}v(ue.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=We({currentLocation:N.location,nextLocation:n,historyAction:t});if(i&&r!=null){let t=new Promise(e=>{de=e});e.history.go(r*-1),X(i,{state:`blocked`,location:n,proceed(){X(i,{state:`proceeding`,proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(r))},reset(){let e=new Map(N.blockers);e.set(i,ct),W({blockers:e})}}),I?.resolve(),I=null}else return xe(t,n)}),n){Cn(t,V);let e=()=>wn(t,V);t.addEventListener(`pagehide`,e),ee=()=>t.removeEventListener(`pagehide`,e)}return N.initialized||xe(`POP`,N.location,{initialHydration:!0}),M}function me(){p&&p(),ee&&ee(),m.clear(),z&&z.abort(),N.fetchers.forEach((e,t)=>Fe(N.fetchers,t)),N.blockers.forEach((e,t)=>Y(t))}function ge(e){if(m.add(e),h){let{newErrors:t}=h;h=null,e(N,{deletedFetchers:[],newErrors:t,viewTransitionOpts:void 0,flushSync:!1})}return()=>m.delete(e)}function W(e,t={}){e.matches&&=e.matches.map(e=>{let t=l[e.route.id],n=e.route;return n.element!==t.element||n.errorElement!==t.errorElement||n.hydrateFallbackElement!==t.hydrateFallbackElement?{...e,route:t}:e}),N={...N,...e};let n=[],r=[];N.fetchers.forEach((e,t)=>{e.state===`idle`&&(U.has(t)?n.push(t):r.push(t))}),U.forEach(e=>{!N.fetchers.has(e)&&!H.has(e)&&n.push(e)}),m.size===0&&(h={newErrors:e.errors??null}),[...m].forEach(r=>r(N,{deletedFetchers:n,newErrors:e.errors??null,viewTransitionOpts:t.viewTransitionOpts,flushSync:t.flushSync===!0})),n.forEach(e=>Fe(N.fetchers,e)),r.forEach(e=>N.fetchers.delete(e))}function ve(t,n,{flushSync:r}={}){let i=N.actionData!=null&&N.navigation.formMethod!=null&&$(N.navigation.formMethod)&&N.navigation.state===`loading`&&t.state?._isRedirect!==!0,a;a=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:i?N.actionData:null;let o=n.loaderData?Xt(N.loaderData,n.loaderData,n.matches||[],n.errors):N.loaderData,s=N.blockers;s.size>0&&!te&&(s=new Map(s),s.forEach((e,t)=>s.set(t,ct)));let c=!te&&Ye(t,n.matches||N.matches),l=L===!0||N.navigation.formMethod!=null&&$(N.navigation.formMethod)&&t.state?._isRedirect!==!0;u.commitHmrRoutes(),te||F===`POP`||(F===`PUSH`?e.history.push(t,t.state):F===`REPLACE`&&e.history.replace(t,t.state));let d;if(F===`POP`&&!te&&t!==N.location){let e=V.get(N.location.pathname);e&&e.has(t.pathname)?d={currentLocation:N.location,nextLocation:t}:V.has(t.pathname)&&(d={currentLocation:t,nextLocation:N.location})}else if(B){let e=V.get(N.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),V.set(N.location.pathname,e)),d={currentLocation:N.location,nextLocation:t}}W({...n,actionData:a,loaderData:o,historyAction:F,location:t,initialized:!0,renderFallback:!1,navigation:ot,revalidation:`idle`,restoreScrollPosition:c,preventScrollReset:l,blockers:s},{viewTransitionOpts:d,flushSync:r===!0}),F=`POP`,L=!1,B=!1,te=!1,ne=!1,I?.resolve(),I=null,fe?.resolve(),fe=null}async function ye(t,n){if(I?.resolve(),I=null,typeof t==`number`){I||=Tn();let n=I.promise;return e.history.go(t),n}let r=He(M),{path:i,submission:a,error:o}=gt(!1,ht(N.location,N.matches,s,t,n?.fromRouteId,n?.relative),n),c;if(n?.mask){let t=typeof n.mask==`string`?C(n.mask):{...N.location.mask,...n.mask};if(c={pathname:t.pathname??``,search:t.search??``,hash:t.hash??``},f.test(c.pathname))throw Error(`External navigation is not allowed`);c.pathname.startsWith(`\\`)&&(c.pathname=c.pathname.replace(/^\\+/,`/`)),$e(typeof n.mask==`string`?n.mask:S(n.mask),S(c),e.history.createURL(`/`),`reject`)}let l=N.location,u=x(l,i,n&&n.state,void 0,c);u={...u,...e.history.encodeLocation(u)},$e(t==null?e.history.createHref(N.location):typeof t==`string`?t:S(t),e.history.createHref(u.mask||u),e.history.createURL(`/`),`reject`);let d=n&&n.replace!=null?n.replace:void 0,p=`PUSH`;d===!0?p=`REPLACE`:d===!1||a!=null&&$(a.formMethod)&&a.formAction===N.location.pathname+N.location.search&&(p=`REPLACE`);let m=n&&`preventScrollReset`in n?n.preventScrollReset===!0:void 0,h=(n&&n.flushSync)===!0,g=We({currentLocation:l,nextLocation:u,historyAction:p});g?X(g,{state:`blocked`,location:u,proceed(){X(g,{state:`proceeding`,proceed:void 0,reset:void 0,location:u}),ye(t,n)},reset(){let e=new Map(N.blockers);e.set(g,ct),W({blockers:e})}}):await xe(p,u,{submission:a,pendingError:o,preventScrollReset:m,replace:n&&n.replace,enableViewTransition:n&&n.viewTransition,flushSync:h,callSiteDefaultShouldRevalidate:n&&n.defaultShouldRevalidate,instrumentationNavigateMetaReceiver:r})}function be(){fe||=Tn(),je(),W({revalidation:`loading`});let e=fe.promise;return N.navigation.state===`submitting`?e:N.navigation.state===`idle`?(xe(N.historyAction,N.location,{startUninterruptedRevalidation:!0}),e):(xe(F||N.historyAction,N.navigation.location,{overrideNavigation:N.navigation,enableViewTransition:B===!0}),e)}async function xe(t,n,r){z&&z.abort(),z=null,F=t,te=(r&&r.startUninterruptedRevalidation)===!0,Je(N.location,N.matches),L=(r&&r.preventScrollReset)===!0,B=(r&&r.enableViewTransition)===!0;let i=r?.initialHydration&&N.matches&&N.matches.length>0&&!O?N.matches:c.match(n),a=(r&&r.flushSync)===!0;if(i&&N.initialized&&!ne&&nn(N.location,n)&&!(r&&r.submission&&$(r.submission.formMethod))){ve(n,{matches:i},{flushSync:a});return}let o=Xe(i,n.pathname);if(o.active&&o.matches&&(i=o.matches),r?.instrumentationNavigateMetaReceiver){let t=gn(e.history,n,i);r.instrumentationNavigateMetaReceiver(t)}if(!i){let{error:e,notFoundMatches:t,route:r}=Ge(n.pathname);ve(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:a});return}let s=r&&r.overrideNavigation?{...r.overrideNavigation,matches:i,historyAction:t}:void 0;z=new AbortController;let l=Gt(e.history,n,z.signal,r&&r.submission),u=e.getContext?await e.getContext():new D,d;if(r&&r.pendingError)d=[Qt(i).route.id,{type:`error`,error:r.pendingError}];else if(r&&r.submission&&$(r.submission.formMethod)){let c=await Se(l,n,r.submission,i,t,u,o.active,r&&r.initialHydration===!0,{replace:r.replace,flushSync:a});if(c.shortCircuited)return;if(c.pendingActionResult){let[e,t]=c.pendingActionResult;if(Q(t)&&Me(t.error)&&t.error.status===404){z=null,ve(n,{matches:c.matches,loaderData:{},errors:{[e]:t.error}});return}}i=c.matches||i,d=c.pendingActionResult,s=vn(n,i,t,r.submission),a=!1,o.active=!1,l=Gt(e.history,l.url,l.signal)}let{shortCircuited:f,matches:p,loaderData:m,errors:h,workingFetchers:g}=await Ce(l,n,i,t,u,o.active,s,r&&r.submission,r&&r.fetcherSubmission,r&&r.replace,r&&r.initialHydration===!0,a,d,r&&r.callSiteDefaultShouldRevalidate);f||(z=null,ve(n,{matches:p||i,...Zt(d),loaderData:m,errors:h,...g?{fetchers:g}:{}}))}async function Se(t,n,i,o,c,d,f,p,m={}){if(je(),W({navigation:yn(n,o,c,i)},{flushSync:m.flushSync===!0}),f){let e=await Ze(o,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}=$t(u.activeRoutes);return{matches:t,pendingActionResult:[n.id,{type:`error`,error:e.error}]}}let t=Qt(e.partialMatches).route.id;return{matches:e.partialMatches,pendingActionResult:[t,{type:`error`,error:e.error}]}}if(e.matches)o=e.matches;else{let{notFoundMatches:e,error:t,route:r}=Ge(n.pathname);return{matches:e,pendingActionResult:[r.id,{type:`error`,error:t}]}}}let h,g=hn(o,n);if(!g.route.action&&!g.route.lazy)h={type:`error`,error:Z(405,{method:t.method,pathname:n.pathname,routeId:g.route.id})};else{let e=await ke(t,n,It(a,l,t,n,o,g,p?[]:r,d),d,null);if(h=e[g.route.id],!h){for(let t of o)if(e[t.route.id]){h=e[t.route.id];break}}if(t.signal.aborted)return{shortCircuited:!0}}if(cn(h)){let n;return n=m&&m.replace!=null?m.replace:Wt(h.response.headers.get(`Location`),new URL(t.url),s,e.history)===N.location.pathname+N.location.search,await Oe(t,h,!0,{submission:i,replace:n}),{shortCircuited:!0}}if(Q(h)){let e=Qt(o,g.route.id);return(m&&m.replace)!==!0&&(F=`PUSH`),{matches:o,pendingActionResult:[e.route.id,h,g.route.id]}}return{matches:o,pendingActionResult:[g.route.id,h]}}async function Ce(t,n,i,o,s,d,f,p,m,h,g,_,v,y){let b=f||vn(n,i,o,p),x=p||m||_n(b),S=!te&&!g;if(d){if(S){let e=G(v);W({navigation:b,...e===void 0?{}:{actionData:e}},{flushSync:_})}let e=await Ze(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}=$t(u.activeRoutes);return{matches:t,loaderData:{},errors:{[n.id]:e.error}}}let t=Qt(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(e.matches)i=e.matches;else{let{error:e,notFoundMatches:t,route:r}=Ge(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let{dsMatches:C,revalidatingFetchers:w}=_t(t,s,a,l,e.history,N,i,x,n,g?[]:r,g===!0,ne,re,U,ce,se,c,v,y);if(ae=++ie,!e.dataStrategy&&!C.some(e=>e.shouldLoad)&&!C.some(e=>e.route.middleware&&e.route.middleware.length>0)&&w.length===0){let e=new Map(N.fetchers),t=Be(e);return ve(n,{matches:i,loaderData:{},errors:v&&Q(v[1])?{[v[0]]:v[1].error}:null,...Zt(v),...t?{fetchers:e}:{}},{flushSync:_}),{shortCircuited:!0}}if(S){let e={};if(!d){e.navigation=b;let t=G(v);t!==void 0&&(e.actionData=t)}w.length>0&&(e.fetchers=we(w)),W(e,{flushSync:_})}w.forEach(e=>{J(e.key),e.controller&&H.set(e.key,e.controller)});let T=()=>w.forEach(e=>J(e.key));z&&z.signal.addEventListener(`abort`,T);let{loaderResults:E,fetcherResults:D}=await Ae(C,w,t,n,s);if(t.signal.aborted)return{shortCircuited:!0};z&&z.signal.removeEventListener(`abort`,T),w.forEach(e=>H.delete(e.key));let O=en(E);if(O)return await Oe(t,O.result,!0,{replace:h}),{shortCircuited:!0};if(O=en(D),O)return se.add(O.key),await Oe(t,O.result,!0,{replace:h}),{shortCircuited:!0};let k=new Map(N.fetchers),{loaderData:A,errors:j}=Yt(N,i,E,v,w,D,k);g&&N.errors&&(j={...N.errors,...j});let M=Be(k),P=Ve(ae,k),F=M||P||w.length>0;return{matches:i,loaderData:A,errors:j,...F?{workingFetchers:k}:{}}}function G(e){if(e&&!Q(e[1]))return{[e[0]]:e[1].data};if(N.actionData)return Object.keys(N.actionData).length===0?null:N.actionData}function we(e){let t=new Map(N.fetchers);return e.forEach(e=>{let n=t.get(e.key),r=bn(void 0,n?n.data:void 0);t.set(e.key,r)}),t}async function Te(t,n,r,i){J(t);let a=(i&&i.flushSync)===!0,o=He(M),l=ht(N.location,N.matches,s,r,n,i?.relative),u=c.match(l),d=Xe(u,l);if(d.active&&d.matches&&(u=d.matches),o&&o(gn(e.history,l,u)),!u){q(t,n,Z(404,{pathname:l}),{flushSync:a});return}let{path:f,submission:p,error:m}=gt(!0,l,i);if(m){q(t,n,m,{flushSync:a});return}let h=e.getContext?await e.getContext():new D,g=(i&&i.preventScrollReset)===!0;if(p&&$(p.formMethod)){await Ee(t,n,f,u,h,d.active,a,g,p,i&&i.defaultShouldRevalidate);return}let _={routeId:n,path:f,isDiscovering:d.active};ce.set(t,_),await De(t,_,u,h,a,g,p)}async function Ee(t,n,i,o,s,u,d,f,p,m){je(),ce.delete(t),K(t,xn(p,N.fetchers.get(t)),{flushSync:d});let h=new AbortController,g=Gt(e.history,i,h.signal,p);if(u){let e=await Ze(o,new URL(g.url).pathname,g.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){q(t,n,e.error,{flushSync:d});return}if(e.matches)o=e.matches;else{q(t,n,Z(404,{pathname:i}),{flushSync:d});return}}let v=hn(o,i);if(!v.route.action&&!v.route.lazy){q(t,n,Z(405,{method:p.formMethod,pathname:i,routeId:n}),{flushSync:d});return}H.set(t,h);let y=ie,b=It(a,l,g,i,o,v,r,s),x=await ke(g,i,b,s,t),S=x[v.route.id];if(!S){for(let e of b)if(x[e.route.id]){S=x[e.route.id];break}}if(g.signal.aborted){H.get(t)===h&&H.delete(t);return}if(U.has(t)){if(cn(S)||Q(S)){K(t,Sn(void 0));return}}else{if(cn(S)){if(H.delete(t),ae>y){K(t,Sn(void 0));return}return se.add(t),K(t,bn(p)),Oe(g,S,!1,{fetcherSubmission:p,preventScrollReset:f})}if(Q(S)){q(t,n,S.error);return}}let C=N.navigation.location||N.location,w=Gt(e.history,C,h.signal),T=N.navigation.state===`idle`?N.matches:c.match(N.navigation.location);_(T,`Didn't find any matches after fetcher action`);let E=++ie;oe.set(t,E);let{dsMatches:D,revalidatingFetchers:O}=_t(w,s,a,l,e.history,N,T,p,C,r,!1,ne,re,U,ce,se,c,[v.route.id,S],m),k=bn(p,S.data),A=new Map(N.fetchers);A.set(t,k),O.filter(e=>e.key!==t).forEach(e=>{let t=e.key,n=A.get(t),r=bn(void 0,n?n.data:void 0);A.set(t,r),J(t),e.controller&&H.set(t,e.controller)}),W({fetchers:A});let j=()=>O.forEach(e=>J(e.key));h.signal.addEventListener(`abort`,j);let{loaderResults:M,fetcherResults:P}=await Ae(D,O,w,C,s);if(h.signal.aborted){oe.get(t)===E&&oe.delete(t);return}h.signal.removeEventListener(`abort`,j),oe.delete(t),H.delete(t),O.forEach(e=>H.delete(e.key));let I=N.fetchers.has(t),L=e=>{if(!I)return e;let n=new Map(e.fetchers);return n.set(t,Sn(S.data)),{...e,fetchers:n}},R=en(M);if(R)return N=L(N),Oe(w,R.result,!1,{preventScrollReset:f});if(R=en(P),R)return se.add(R.key),N=L(N),Oe(w,R.result,!1,{preventScrollReset:f});let B=new Map(N.fetchers);I&&B.set(t,Sn(S.data));let{loaderData:V,errors:ee}=Yt(N,T,M,void 0,O,P,B);Ve(E,B),N.navigation.state===`loading`&&E>ae?(_(F,`Expected pending action`),z&&z.abort(),ve(N.navigation.location,{matches:T,loaderData:V,errors:ee,fetchers:B})):(W({errors:ee,loaderData:Xt(N.loaderData,V,T,ee),fetchers:B}),ne=!1)}async function De(t,n,i,o,s,c,u){let{routeId:d,path:f}=n,p=N.fetchers.get(t);K(t,bn(u,p?p.data:void 0),{flushSync:s});let m=new AbortController,h=Gt(e.history,f,m.signal);if(n.isDiscovering){let e=await Ze(i,new URL(h.url).pathname,h.signal,t);if(e.type===`aborted`)return;if(e.type===`error`){q(t,d,e.error,{flushSync:s});return}if(e.matches)i=e.matches,n.isDiscovering=!1;else{q(t,d,Z(404,{pathname:f}),{flushSync:s});return}}let g=hn(i,f);H.set(t,m);let _=ie,v=await ke(h,f,It(a,l,h,f,i,g,r,o),o,t),y=v[g.route.id];if(!y){for(let e of i)if(v[e.route.id]){y=v[e.route.id];break}}if(H.get(t)===m&&H.delete(t),!h.signal.aborted){if(U.has(t))K(t,Sn(void 0));else{if(cn(y)){if(ae>_){K(t,Sn(void 0));return}se.add(t),await Oe(h,y,!1,{preventScrollReset:c});return}Q(y)?q(t,d,y.error):K(t,Sn(y.data))}}}async function Oe(r,i,a,{submission:o,fetcherSubmission:c,preventScrollReset:l,replace:u}={}){a||(I?.resolve(),I=null),i.response.headers.has(`X-Remix-Revalidate`)&&(ne=!0);let d=i.response.headers.get(`Location`);_(d,`Expected a Location header on the redirect Response`);let f=d,p=new URL(r.url);d=Wt(d,p,s,e.history),$e(f,d,p,`allow-explicit`);let m=x(N.location,d,{_isRedirect:!0});if(n){let e=!1;if(i.response.headers.has(`X-Remix-Reload-Document`))e=!0;else if(_e(d)){let n=T(t,d,!0);e=n.origin!==t.location.origin||he(n.pathname,s)==null}if(e){u?t.location.replace(d):t.location.assign(d);return}}z=null;let h=u===!0||i.response.headers.has(`X-Remix-Replace`)?`REPLACE`:`PUSH`,{formMethod:g,formAction:v,formEncType:y}=N.navigation;!o&&!c&&g&&v&&y&&(o=_n(N.navigation));let b=o||c;at.has(i.response.status)&&b&&$(b.formMethod)?await xe(h,m,{submission:{...b,formAction:d},preventScrollReset:l||L,enableViewTransition:a?B:void 0}):await xe(h,m,{overrideNavigation:vn(m,[],h,o),fetcherSubmission:c,preventScrollReset:l||L,enableViewTransition:a?B:void 0})}async function ke(e,t,n,r,i){let a,o={};try{a=await Lt(d,e,t,n,i,r,!1)}catch(e){return n.filter(e=>e.shouldLoad).forEach(t=>{o[t.route.id]={type:`error`,error:e}}),o}if(e.signal.aborted)return o;if(!$(e.method))for(let e of n){if(a[e.route.id]?.type===`error`)break;!a.hasOwnProperty(e.route.id)&&!N.loaderData.hasOwnProperty(e.route.id)&&(!N.errors||!N.errors.hasOwnProperty(e.route.id))&&e.shouldCallHandler()&&(a[e.route.id]={type:`error`,result:Error(`No result returned from dataStrategy for route ${e.route.id}`)})}for(let[t,r]of Object.entries(a))if(sn(r)){let i=r.result;o[t]={type:`redirect`,response:Vt(i,e,t,n,s)}}else o[t]=await Bt(r);return o}async function Ae(e,t,n,r,i){let a=ke(n,r,e,i,null),o=Promise.all(t.map(async e=>{if(e.matches&&e.match&&e.request&&e.controller){let t=(await ke(e.request,e.path,e.matches,i,e.key))[e.match.route.id];return{[e.key]:t}}return Promise.resolve({[e.key]:{type:`error`,error:Z(404,{pathname:e.path})}})}));return{loaderResults:await a,fetcherResults:(await o).reduce((e,t)=>Object.assign(e,t),{})}}function je(){ne=!0,ce.forEach((e,t)=>{H.has(t)&&re.add(t),J(t)})}function K(e,t,n={}){let r=new Map(N.fetchers);r.set(e,t),W({fetchers:r},{flushSync:(n&&n.flushSync)===!0})}function q(e,t,n,r={}){let i=Qt(N.matches,t),a=new Map(N.fetchers);Fe(a,e),W({errors:{[i.route.id]:n},fetchers:a},{flushSync:(r&&r.flushSync)===!0})}function Ne(e){return le.set(e,(le.get(e)||0)+1),U.has(e)&&U.delete(e),N.fetchers.get(e)||st}function Pe(e,t){J(e,t?.reason),K(e,Sn(null))}function Fe(e,t){let n=N.fetchers.get(t);H.has(t)&&!(n&&n.state===`loading`&&oe.has(t))&&J(t),ce.delete(t),oe.delete(t),se.delete(t),U.delete(t),re.delete(t),e.delete(t)}function Ie(e){let t=(le.get(e)||0)-1;t<=0?(le.delete(e),U.add(e)):le.set(e,t),W({fetchers:new Map(N.fetchers)})}function J(e,t){let n=H.get(e);n&&(n.abort(t),H.delete(e))}function ze(e,t){for(let n of e){let e=t.get(n);_(e,`Expected fetcher: ${n}`);let r=Sn(e.data);t.set(n,r)}}function Be(e){let t=[],n=!1;for(let r of se){let i=e.get(r);_(i,`Expected fetcher: ${r}`),i.state===`loading`&&(se.delete(r),t.push(r),n=!0)}return ze(t,e),n}function Ve(e,t){let n=[];for(let[r,i]of oe)if(i<e){let e=t.get(r);_(e,`Expected fetcher: ${r}`),e.state===`loading`&&(J(r),oe.delete(r),n.push(r))}return ze(n,t),n.length>0}function Ue(e,t){let n=N.blockers.get(e)||ct;return ue.get(e)!==t&&ue.set(e,t),n}function Y(e){N.blockers.delete(e),ue.delete(e)}function X(e,t){let n=N.blockers.get(e)||ct;_(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(N.blockers);r.set(e,t),W({blockers:r})}function We({currentLocation:e,nextLocation:t,historyAction:n}){if(ue.size===0)return;ue.size>1&&v(!1,`A router only supports one blocker at a time`);let r=Array.from(ue.entries()),[i,a]=r[r.length-1],o=N.blockers.get(i);if(!(o&&o.state===`proceeding`)&&a({currentLocation:e,nextLocation:t,historyAction:n}))return i}function Ge(e){let t=Z(404,{pathname:e}),n=u.activeRoutes,{matches:r,route:i}=$t(n);return{notFoundMatches:r,route:i,error:t}}function Ke(e,t,n){if(g=e,b=t,y=n||null,!w&&N.navigation===ot){w=!0;let e=Ye(N.location,N.matches);e!=null&&W({restoreScrollPosition:e})}return()=>{g=null,b=null,y=null}}function qe(e,t){return y&&y(e,t.map(e=>R(e,N.loaderData)))||e.key}function Je(e,t){if(g&&b){let n=qe(e,t);g[n]=b()}}function Ye(e,t){if(g){let n=qe(e,t),r=g[n];if(typeof r==`number`)return r}return null}function Xe(t,n){if(e.patchRoutesOnNavigation){if(!t)return{active:!0,matches:c.match(n,!0)||[]};if(Object.keys(t[0].params).length>0)return{active:!0,matches:c.match(n,!0)}}return{active:!1,matches:null}}async function Ze(t,n,r,i){if(!e.patchRoutesOnNavigation)return{type:`success`,matches:t};let o=t;for(;;){let t=l;try{await e.patchRoutesOnNavigation({signal:r,path:n,matches:o,fetcherKey:i,patch:(e,n)=>{r.aborted||Ct(e,n,u,t,a,!1)}})}catch(e){return{type:`error`,error:e,partialMatches:o}}if(r.aborted)return{type:`aborted`};let s=c.match(n),d=null;if(s&&(Object.keys(s[0].params).length===0||(d=c.match(n,!0),!(d&&o.length<d.length&&Qe(o,d.slice(0,o.length))))))return{type:`success`,matches:s};if(d||=c.match(n,!0),!d||Qe(o,d))return{type:`success`,matches:null};o=d}}function Qe(e,t){return e.length===t.length&&e.every((e,n)=>e.route.id===t[n].route.id)}function et(e){l={},u.setHmrRoutes(P(e,a,void 0,l))}function tt(e,t,n=!1){Ct(e,t,u,l,a,n),u.hasHMRRoutes||W({})}return M={get basename(){return s},get future(){return o},get state(){return N},get routes(){return u.stableRoutes},match(e){return c.match(e)},get manifest(){return l},get window(){return t},initialize:pe,subscribe:ge,enableScrollRestoration:Ke,navigate:ye,fetch:Te,revalidate:be,createHref:t=>e.history.createHref(t),createURL:t=>e.history.createURL(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:Ne,resetFetcher:Pe,deleteFetcher:Ie,dispose:me,getBlocker:Ue,deleteBlocker:Y,patchRoutes:tt,_internalFetchControllers:H,_internalSetRoutes:et,_internalSetStateDoNotUseOrYouWillBreakYourApp(e){W(e)}},e.instrumentations&&(M=Re(M,e.instrumentations.map(e=>e.router).filter(Boolean))),M}function mt(e){return e!=null&&(`formData`in e&&e.formData!=null||`body`in e&&e.body!==void 0)}function ht(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=Se(r||`.`,xe(o),he(e.pathname,n)||e.pathname,a===`path`);if(r??(c.search=e.search,c.hash=e.hash),(r==null||r===``||r===`.`)&&s){let e=mn(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=ge({basename:n,pathname:c.pathname})),S(c)}function gt(e,t,n){if(!n||!mt(n))return{path:t};if(n.formMethod&&!pn(n.formMethod))return{path:t,error:Z(405,{method:n.formMethod})};let r=()=>({path:t,error:Z(400,{type:`invalid-body`})}),i=(n.formMethod||`get`).toUpperCase(),a=tn(t);if(n.body!==void 0){if(n.formEncType===`text/plain`){if(!$(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}\n`,``):String(n.body);return{path:t,submission:{formMethod:i,formAction:a,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}if(n.formEncType===`application/json`){if(!$(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()}}}_(typeof FormData==`function`,`FormData is not available in this environment`);let o,s;if(n.formData)o=Kt(n.formData),s=n.formData;else if(n.body instanceof FormData)o=Kt(n.body),s=n.body;else if(n.body instanceof URLSearchParams)o=n.body,s=qt(o);else if(n.body==null)o=new URLSearchParams,s=new FormData;else try{o=new URLSearchParams(n.body),s=qt(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($(c.formMethod))return{path:t,submission:c};let l=C(t);return e&&l.search&&mn(l.search)&&o.append(`index`,``),l.search=`?${o}`,{path:S(l),submission:c}}function _t(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){let y=_?Q(_[1])?_[1].error:_[1].data:void 0,b=i.createURL(a.location),x=i.createURL(c),S;if(u&&a.errors){let e=Object.keys(a.errors)[0];S=o.findIndex(t=>t.route.id===e)}else if(_&&Q(_[1])){let e=_[0];S=o.findIndex(t=>t.route.id===e)-1}let C=_?_[1].statusCode:void 0,w=C&&C>=400,T={currentUrl:b,currentParams:a.matches[0]?.params||{},nextUrl:x,nextParams:o[0].params,...s,actionResult:y,actionStatus:C},E=q(o),D=o.map((i,o)=>{let{route:s}=i,f=null;if(S!=null&&o>S)f=!1;else if(s.lazy)f=!0;else if(!vt(s))f=!1;else if(u){let{shouldLoad:e}=yt(s,a.loaderData,a.errors);f=e}else bt(a.loaderData,a.matches[o],i)&&(f=!0);if(f!==null)return Ft(n,r,e,c,E,i,l,t,f);let p=!1;typeof v==`boolean`?p=v:w?p=!1:d||b.pathname+b.search===x.pathname+x.search?p=!0:b.search===x.search?xt(a.matches[o],i)&&(p=!0):p=!0;let m={...T,defaultShouldRevalidate:p};return Ft(n,r,e,c,E,i,l,t,St(i,m),m,v)}),O=[];return m.forEach((e,s)=>{if(u||!o.some(t=>t.route.id===e.routeId)||p.has(s)||e.isDiscovering)return;let c=a.fetchers.get(s),m=c&&c.state!==`idle`&&c.data===void 0,_=g.match(e.path);if(!_){O.push({key:s,routeId:e.routeId,path:e.path,matches:null,match:null,request:null,controller:null});return}if(h.has(s))return;let y=hn(_,e.path),b=new AbortController,x=Gt(i,e.path,b.signal),S=null;if(f.has(s))f.delete(s),S=It(n,r,x,e.path,_,y,l,t);else if(m)d&&(S=It(n,r,x,e.path,_,y,l,t));else{let i;i=typeof v==`boolean`?v:!w&&d;let a={...T,defaultShouldRevalidate:i};St(y,a)&&(S=It(n,r,x,e.path,_,y,l,t,a))}S&&O.push({key:s,routeId:e.routeId,path:e.path,matches:S,match:y,request:x,controller:b})}),{dsMatches:D,revalidatingFetchers:O}}function vt(e){return e.loader!=null||e.middleware!=null&&e.middleware.length>0}function yt(e,t,n){if(e.lazy)return{shouldLoad:!0,renderFallback:!0};if(!vt(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 bt(e,t,n){let r=!t||n.route.id!==t.route.id,i=!e.hasOwnProperty(n.route.id);return r||i}function xt(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith(`*`)&&e.params[`*`]!==t.params[`*`]}function St(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n==`boolean`)return n}return t.defaultShouldRevalidate}function Ct(e,t,n,r,i,a){let o;if(e){let t=r[e];_(t,`No route found to patch children into: routeId = ${e}`),t.children||=[],o=t.children}else o=n.activeRoutes;let s=[],c=[];if(t.forEach(e=>{let t=o.find(t=>wt(e,t));t?c.push({existingRoute:t,newRoute:e}):s.push(e)}),s.length>0){let t=P(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]=P([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})}n.hasHMRRoutes||n.setRoutes([...n.activeRoutes])}function wt(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?!1:(!e.children||e.children.length===0)&&(!t.children||t.children.length===0)?!0:e.children?.every((e,n)=>t.children?.some(t=>wt(e,t)))??!1}var Tt=new WeakMap,Et=({key:e,route:t,manifest:n,mapRouteProperties:r})=>{let i=n[t.id];if(_(i,`No route found in manifest`),!i.lazy||typeof i.lazy!=`object`)return;let a=i.lazy[e];if(!a)return;let o=Tt.get(i);o||(o={},Tt.set(i,o));let s=o[e];if(s)return s;let c=(async()=>{let t=k(e),n=i[e]!==void 0;if(t)v(!t,`Route property `+e+` is not a supported lazy route property. This property will be ignored.`),o[e]=Promise.resolve();else if(n)v(!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},Dt=new WeakMap;function Ot(e,t,n,r,i){let a=n[e.id];if(_(a,`No route found in manifest`),!e.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof e.lazy==`function`){let t=Dt.get(a);if(t)return{lazyRoutePromise:t,lazyHandlerPromise:t};let n=(async()=>{_(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=j(e),o=a[e]!==void 0;i?v(!i,`Route property `+e+` is not a supported property to be returned from a lazy route function. This property will be ignored.`):o?v(!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 Dt.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=Et({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 kt(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 At(e){return e.matches.some(e=>e.route.middleware)?jt(e,()=>kt(e)):kt(e)}function jt(e,t){return Mt(e,t,e=>{if(fn(e))throw e;return e},an,n);async function n(t,n,r){if(r)return Object.assign(r.value,{[n]:{type:`error`,result:t}});{let{matches:r}=e,i=Math.min(Math.max(r.findIndex(e=>e.route.id===n),0),Math.max(r.findIndex(e=>e.shouldCallHandler()),0)),a=r[i].route.id;for(let e of r.slice(0,i+1))try{await e._lazyPromises?.route}catch{a=e.route.id;break}return{[Qt(r,a).route.id]:{type:`error`,result:t}}}}}async function Mt(e,t,n,r,i){let{matches:a,...o}=e;return await Nt(o,a.flatMap(e=>e.route.middleware?e.route.middleware.map(t=>[e.route.id,t]):[]),t,n,r,i)}async function Nt(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 Nt(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 Pt(e,t,n,r,i){let a=Et({key:`middleware`,route:r.route,manifest:t,mapRouteProperties:e}),o=Ot(r.route,$(n.method)?`action`:`loader`,t,e,i);return{middleware:a,route:o.lazyRoutePromise,handler:o.lazyHandlerPromise}}function Ft(e,t,n,r,i,a,o,s,c,l=null,u){let d=!1,f=Pt(e,t,n,a,o);return{...a,_lazyPromises:f,shouldLoad:c,shouldRevalidateArgs:l,shouldCallHandler(e){return d=!0,l?typeof u==`boolean`?St(a,{...l,defaultShouldRevalidate:u}):typeof e==`boolean`?St(a,{...l,defaultShouldRevalidate:e}):St(a,l):c},resolve(e){let{lazy:t,loader:o,middleware:l}=a.route,u=d||c||e&&!$(n.method)&&(t||o),p=l&&l.length>0&&!o&&!t;return u&&($(n.method)||!p)?Rt({request:n,path:r,pattern:i,match:a,lazyHandlerPromise:f?.handler,lazyRoutePromise:f?.route,handlerOverride:e,scopedContext:s}):Promise.resolve({type:`data`,result:void 0})}}}function It(e,t,n,r,i,a,o,s,c=null){return i.map(l=>l.route.id===a.route.id?Ft(e,t,n,r,q(i),l,o,s,!0,c):{...l,shouldLoad:!1,shouldRevalidateArgs:c,shouldCallHandler:()=>!1,_lazyPromises:Pt(e,t,n,l,o),resolve:()=>Promise.resolve({type:`data`,result:void 0})})}async function Lt(e,t,n,r,i,a,o){r.some(e=>e._lazyPromises?.middleware)&&await Promise.all(r.map(e=>e._lazyPromises?.middleware));let s={request:t,url:Ne(t,n),pattern:q(r),params:r[0].params,context:a,matches:r},c=o?()=>{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=s;return jt(t,()=>e({...t,fetcherKey:i,runClientMiddleware:()=>{throw Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))},l=await e({...s,fetcherKey:i,runClientMiddleware:c});try{await Promise.all(r.flatMap(e=>[e._lazyPromises?.handler,e._lazyPromises?.route]))}catch{}return l}async function Rt({request:e,path:t,pattern:n,match:r,lazyHandlerPromise:i,lazyRoutePromise:a,handlerOverride:o,scopedContext:s}){let c,l,u=$(e.method),d=u?`action`:`loader`,f=i=>{let a,c=new Promise((e,t)=>a=t);l=()=>a(),e.signal.addEventListener(`abort`,l);let u=a=>typeof i==`function`?i({request:e,url:Ne(e,t),pattern:n,params:r.params,context:s},...a===void 0?[]:[a]):Promise.reject(Error(`You cannot call the handler for a route which defines a boolean "${d}" [routeId: ${r.route.id}]`)),f=(async()=>{try{return{type:`data`,result:await(o?o(e=>u(e)):u())}}catch(e){return{type:`error`,result:e}}})();return Promise.race([f,c])};try{let t=u?r.route.action:r.route.loader;if(i||a){if(t){let e,[n]=await Promise.all([f(t).catch(t=>{e=t}),i,a]);if(e!==void 0)throw e;c=n}else{await i;let t=u?r.route.action:r.route.loader;if(t)[c]=await Promise.all([f(t),a]);else if(d===`action`){let t=new URL(e.url),n=t.pathname+t.search;throw Z(405,{method:e.method,pathname:n,routeId:r.route.id})}else return{type:`data`,result:void 0}}}else if(t)c=await f(t);else{let t=new URL(e.url);throw Z(404,{pathname:t.pathname+t.search})}}catch(e){return{type:`error`,result:e}}finally{l&&e.signal.removeEventListener(`abort`,l)}return c}async function zt(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 Bt(e){let{result:t,type:n}=e;if(un(t)){let e;try{e=await zt(t)}catch(e){return{type:`error`,error:e}}return n===`error`?{type:`error`,error:new K(t.status,t.statusText,e),statusCode:t.status,headers:t.headers}:{type:`data`,data:e,statusCode:t.status,headers:t.headers}}return n===`error`?ln(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:rn(t),statusCode:Me(t)?t.status:void 0,headers:t.init?.headers?new Headers(t.init.headers):void 0}:{type:`error`,error:t,statusCode:Me(t)?t.status:void 0}:ln(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 Vt(e,t,n,r,i){let a=e.headers.get(`Location`);if(_(a,`Redirects returned/thrown from loaders/actions must have a Location header`),!_e(a)){let o=r.slice(0,r.findIndex(e=>e.route.id===n)+1);a=ht(new URL(t.url),o,i,a),e.headers.set(`Location`,a)}return e}var Ht=[`about:`,`blob:`,`chrome:`,`chrome-untrusted:`,`content:`,`data:`,`devtools:`,`file:`,`filesystem:`,`javascript:`];function Ut(e){try{return Ht.includes(new URL(e).protocol)}catch{return!1}}function Wt(e,t,n,r){if(_e(e)){let r=e,i=f.test(r)?new URL(p(r,t.protocol)):new URL(r);if(Ut(i.toString()))throw Error(`Invalid redirect location`);let a=he(i.pathname,n)!=null;if(i.origin===t.origin&&a)return Ce(i.pathname)+i.search+i.hash}try{if(Ut(r.createURL(e).toString()))throw Error(`Invalid redirect location`)}catch{}return e}function Gt(e,t,n,r){let i=e.createURL(tn(t)).toString(),a={signal:n};if(r&&$(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)):a.body=t===`text/plain`?r.text:t===`application/x-www-form-urlencoded`&&r.formData?Kt(r.formData):r.formData}return new Request(i,a)}function Kt(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r==`string`?r:r.name);return t}function qt(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function Jt(e,t,n,r=!1,i=!1){let a={},o=null,s,c=!1,l={},u=n&&Q(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(_(!cn(f),`Cannot handle redirect results in processLoaderData`),Q(f)){let t=f.error;if(u!==void 0&&(t=u,u=void 0),o||={},i)o[d]=t;else{let n=Qt(e,d);o[n.route.id]??(o[n.route.id]=t)}r||(a[d]=ut),c||(c=!0,s=Me(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 Yt(e,t,n,r,i,a,o){let{loaderData:s,errors:c}=Jt(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 s=a[n];if(_(s,`Did not find corresponding fetcher result`),Q(s)){let t=Qt(e.matches,r?.route.id);c&&c[t.route.id]||(c={...c,[t.route.id]:s.error}),o.delete(n)}else if(cn(s))_(!1,`Unhandled fetcher revalidation redirect`);else{let e=Sn(s.data);o.set(n,e)}}),{loaderData:s,errors:c}}function Xt(e,t,n,r){let i=Object.entries(t).filter(([,e])=>e!==ut).reduce((e,[t,n])=>(e[t]=n,e),{}),a=0;for(let o of n){let n=o.route.id;if(!t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&o.route.loader&&(i[n]=e[n],a++),r&&r.hasOwnProperty(n))break}return Object.keys(t).length===0&&a===Object.keys(e).length?e:i}function Zt(e){return e?Q(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function Qt(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>e.route.ErrorBoundary!=null||e.route.errorElement!=null)||e[0]}function $t(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 Z(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 K(e||500,o,Error(s),!0)}function en(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[n,r]=t[e];if(cn(r))return{key:n,result:r}}}function tn(e){return S({...typeof e==`string`?C(e):e,hash:``})}function nn(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===``?t.hash!==``:e.hash===t.hash||t.hash!==``}function rn(e){return new K(e.init?.status??500,e.init?.statusText??`Internal Server Error`,e.data)}function an(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&on(t))}function on(e){return typeof e==`object`&&!!e&&`type`in e&&`result`in e&&(e.type===`data`||e.type===`error`)}function sn(e){return un(e.result)&&it.has(e.result.status)}function Q(e){return e.type===`error`}function cn(e){return(e&&e.type)===`redirect`}function ln(e){return typeof e==`object`&&!!e&&`type`in e&&`data`in e&&`init`in e&&e.type===`DataWithResponseInit`}function un(e){return e!=null&&typeof e.status==`number`&&typeof e.statusText==`string`&&typeof e.headers==`object`&&e.body!==void 0}function dn(e){return it.has(e)}function fn(e){return un(e)&&dn(e.status)&&e.headers.has(`Location`)}function pn(e){return rt.has(e.toUpperCase())}function $(e){return tt.has(e.toUpperCase())}function mn(e){return new URLSearchParams(e).getAll(`index`).some(e=>e===``)}function hn(e,t){let n=typeof t==`string`?C(t).search:t.search;if(e[e.length-1].route.index&&mn(n||``))return e[e.length-1];let r=be(e);return r[r.length-1]}function gn(e,t,n){return{url:Ne(e.createURL(t),t),pattern:n?q(n):``,params:n?.[0]?.params?{...n[0].params}:{}}}function _n(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 vn(e,t,n,r){return r?{state:`loading`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}:{state:`loading`,location:e,matches:t,historyAction:n,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function yn(e,t,n,r){return{state:`submitting`,location:e,matches:t,historyAction:n,formMethod:r.formMethod,formAction:r.formAction,formEncType:r.formEncType,formData:r.formData,json:r.json,text:r.text}}function bn(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 xn(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 Sn(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 Cn(e,t){try{let n=e.sessionStorage.getItem(lt);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 wn(e,t){if(t.size>0){let n={};for(let[e,r]of t)n[e]=[...r];try{e.sessionStorage.setItem(lt,JSON.stringify(n))}catch(e){v(!1,`Failed to save applied view transitions in sessionStorage (${e}).`)}}}function Tn(){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 En=E.createContext(null);En.displayName=`DataRouter`;var Dn=E.createContext(null);Dn.displayName=`DataRouterState`;var On=E.createContext(null);On.displayName=`DataRouterData`;var kn=E.createContext(null);kn.displayName=`DataRouterNavigation`;var An=E.createContext(!1);function jn(){return E.useContext(An)}var Mn=E.createContext({isTransitioning:!1});Mn.displayName=`ViewTransition`;var Nn=E.createContext(null);Nn.displayName=`Fetchers`;var Pn=E.createContext(null);Pn.displayName=`Await`;var Fn=E.createContext(null);Fn.displayName=`Navigation`;var In=E.createContext(null);In.displayName=`Location`;var Ln=E.createContext({outlet:null,matches:[],isDataRoute:!1});Ln.displayName=`Route`;var Rn=E.createContext(!1);Rn.displayName=`IsDataRoute`;var zn=E.createContext(void 0);zn.displayName=`RouteId`;var Bn=E.createContext(null);Bn.displayName=`RouteError`;var Vn=`REACT_ROUTER_ERROR`,Hn=`REDIRECT`,Un=`ROUTE_ERROR_RESPONSE`;function Wn(e){if(e.startsWith(`${Vn}:${Hn}:{`))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 Gn(e){if(e.startsWith(`${Vn}:${Un}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t==`object`&&t&&typeof t.status==`number`&&typeof t.statusText==`string`)return new K(t.status,t.statusText,t.data)}catch{}}function Kn(e,{relative:t}={}){_(qn(),`useHref() may be used only in the context of a <Router> component.`);let{basename:n,navigator:r}=E.useContext(Fn),{hash:i,pathname:a,search:o}=tr(e,{relative:t}),s=a;return n!==`/`&&(s=a===`/`?n:G([n,a])),r.createHref({pathname:s,search:o,hash:i})}function qn(){return E.useContext(In)!=null}function Jn(){return _(qn(),`useLocation() may be used only in the context of a <Router> component.`),E.useContext(In).location}var Yn=`You should call navigate() in a React.useEffect(), not when your component is first rendered.`;function Xn(){return E.useContext(Rn)?xr():Zn()}function Zn(){_(qn(),`useNavigate() may be used only in the context of a <Router> component.`);let e=E.useContext(En),{basename:t,navigator:n}=E.useContext(Fn),{matches:r}=E.useContext(Ln),{pathname:i}=Jn(),a=JSON.stringify(xe(r)),o=E.useRef(!1);return E.useLayoutEffect(()=>{o.current=!0}),E.useCallback((r,s={})=>{if(v(o.current,Yn),!o.current)return;if(typeof r==`number`){n.go(r);return}let c=Se(r,JSON.parse(a),i,s.relative===`path`);e==null&&t!==`/`&&(c.pathname=c.pathname===`/`?t:G([t,c.pathname])),$e(typeof r==`string`?r:S(r),n.createHref(c),Xe(n),`reject`),(s.replace?n.replace:n.push)(c,s.state,s)},[t,n,a,i,e])}var Qn=E.createContext(null);function $n(e){let t=E.useContext(Ln).outlet;return E.useMemo(()=>t&&E.createElement(Qn.Provider,{value:e},t),[t,e])}function er(){let{matches:e}=E.useContext(Ln);return e[e.length-1]?.params??{}}function tr(e,{relative:t}={}){let{matches:n}=E.useContext(Ln),{pathname:r}=Jn(),i=JSON.stringify(xe(n));return E.useMemo(()=>Se(e,JSON.parse(i),r,t===`path`),[e,i,r,t])}function nr(e,t,n){_(qn(),`useRoutes() may be used only in the context of a <Router> component.`);let{navigator:r}=E.useContext(Fn),{matches:i}=E.useContext(Ln),a=i[i.length-1],o=a?a.params:{};a&&a.pathname;let s=a?a.pathnameBase:`/`;a&&a.route;let c=Jn(),l;if(t){let e=typeof t==`string`?C(t):t;_(s===`/`||e.pathname?.startsWith(s),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${s}" but pathname "${e.pathname}" was given in the \`location\` prop.`),l=e}else l=c;let u=l.pathname||`/`,d=u;if(s!==`/`){let e=s.replace(/^\//,``).split(`/`);d=`/`+u.replace(/^\//,``).split(`/`).slice(e.length).join(`/`)}let f;f=n?n.state.matches.length?n.state.matches.map(e=>Object.assign(e,{route:n.manifest[e.route.id]||e.route})):n.router.match(n.state.location):I(e,{pathname:d});let p=lr(f&&f.map(e=>Object.assign({},e,{params:Object.assign({},o,e.params),pathname:G([s,r.encodeLocation?r.encodeLocation(e.pathname.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathname]),pathnameBase:e.pathnameBase===`/`?s:G([s,r.encodeLocation?r.encodeLocation(e.pathnameBase.replace(/%/g,`%25`).replace(/\?/g,`%3F`).replace(/#/g,`%23`)).pathname:e.pathnameBase])})),i,n);return t&&p?E.createElement(In.Provider,{value:{location:{pathname:`/`,search:``,hash:``,state:null,key:`default`,mask:void 0,...l},navigationType:`POP`}},p):p}function rr(){let e=br(),t=Me(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null;return E.createElement(E.Fragment,null,E.createElement(`h2`,null,`Unexpected Application Error!`),E.createElement(`h3`,{style:{fontStyle:`italic`}},t),n?E.createElement(`pre`,{style:{padding:`0.5rem`,backgroundColor:`rgba(200,200,200, 0.5)`}},n):null,null)}var ir=E.createElement(rr,null),ar=class extends E.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static contextType=An;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=Gn(e.digest);t&&(e=t)}let t=e===void 0?this.props.children:E.createElement(Ln.Provider,{value:this.props.routeContext},E.createElement(Rn.Provider,{value:this.props.routeContext.isDataRoute},E.createElement(zn.Provider,{value:this.props.routeContext.matches[this.props.routeContext.matches.length-1]?.route.id},E.createElement(Bn.Provider,{value:e,children:this.props.component}))));return this.context?E.createElement(sr,{error:e},t):t}},or=new WeakMap;function sr({children:e,error:t}){let{basename:n,navigator:r}=E.useContext(Fn);if(typeof t==`object`&&t&&`digest`in t&&typeof t.digest==`string`){let e=Wn(t.digest);if(e){let i=or.get(t);if(i)throw i;let a=Fe(e.location,n),o=a.absoluteURL||a.to;if($e(e.location,o,Xe(r),`allow-explicit`),Ut(o))throw Error(`Invalid redirect location`);if(Pe&&!or.get(t)){if(a.isExternal||e.reloadDocument)window.location.href=o;else{let n=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(a.to,{replace:e.replace}));throw or.set(t,n),n}}return E.createElement(`meta`,{httpEquiv:`refresh`,content:`0;url=${o}`})}}return e}function cr({routeContext:e,match:t,children:n}){let r=E.useContext(En);return r&&r.static&&r.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=t.route.id),E.createElement(Ln.Provider,{value:e},E.createElement(Rn.Provider,{value:e.isDataRoute},E.createElement(zn.Provider,{value:t.route.id},n)))}function lr(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);_(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 o=!1,s=-1;if(n&&r){o=r.renderFallback;for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(s=e),t.route.id){let{loaderData:e,errors:a}=r,c=t.route.loader&&!e.hasOwnProperty(t.route.id)&&(!a||a[t.route.id]===void 0);if(t.route.lazy||c){n.isStatic&&(o=!0),i=s>=0?i.slice(0,s+1):[i[0]];break}}}}let c=n?.onError,l=r&&c?(e,t)=>{c(e,{location:r.location,params:r.matches?.[0]?.params??{},pattern:q(r.matches),errorInfo:t})}:void 0;return i.reduceRight((e,n,c)=>{let u,d=!1,f=null,p=null;r&&(u=a&&n.route.id?a[n.route.id]:void 0,f=n.route.errorElement||ir,o&&(s<0&&c===0?(Cr(`route-fallback`,!1,"No `HydrateFallback` element provided to render during initial hydration"),d=!0,p=null):s===c&&(d=!0,p=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,c+1)),h=()=>{let t;return t=u?f:d?p:n.route.Component?E.createElement(n.route.Component,null):n.route.element?n.route.element:e,E.createElement(cr,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:r!=null},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||c===0)?E.createElement(ar,{location:r.location,revalidation:r.revalidation,component:f,error:u,children:h(),routeContext:{outlet:null,matches:m,isDataRoute:!0},onError:l}):h()},null)}function ur(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function dr(e){let t=E.useContext(En);return _(t,ur(e)),t}function fr(e){let t=E.useContext(Dn);return _(t,ur(e)),t}function pr(e){let t=E.useContext(On);return _(t,ur(e)),t}function mr(e){let t=E.useContext(kn);return _(t,ur(e)),t}function hr(e){let t=E.useContext(zn);return _(t,`${e} can only be used on routes that contain a unique "id"`),t}function gr(){let{navigation:e}=mr(`useNavigation`);return E.useMemo(()=>{let{matches:t,historyAction:n,...r}=e;return r},[e])}function _r(){let{matches:e}=fr(`useMatches`),{loaderData:t}=pr(`useMatches`);return E.useMemo(()=>e.map(e=>R(e,t)),[e,t])}function vr(){let e=pr(`useLoaderData`),t=hr(`useLoaderData`);return e.loaderData[t]}function yr(){let e=pr(`useActionData`),t=hr(`useActionData`);return e.actionData?e.actionData[t]:void 0}function br(){let e=E.useContext(Bn),t=pr(`useRouteError`),n=hr(`useRouteError`);return e===void 0?t.errors?.[n]:e}function xr(){let{router:e}=dr(`useNavigate`),t=hr(`useNavigate`),n=E.useRef(!1);return E.useLayoutEffect(()=>{n.current=!0}),E.useCallback(async(r,i={})=>{v(n.current,Yn),n.current&&(typeof r==`number`?await e.navigate(r):await e.navigate(r,{fromRouteId:t,...i}))},[e,t])}var Sr={};function Cr(e,t,n){!t&&!Sr[e]&&(Sr[e]=!0,v(!1,n))}var wr={};function Tr(e,t){!e&&!wr[t]&&(wr[t]=!0,console.warn(t))}var Er=[`HydrateFallback`,`hydrateFallbackElement`],Dr=class{status=`pending`;promise;resolve;reject;constructor(){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 Or({router:e,flushSync:t,onError:n,useTransitions:r}){r=jn()||r;let[i,a]=E.useState(e.state),[o,s]=(0,E.useOptimistic)(i),[c,l]=E.useState(),[u,d]=E.useState({isTransitioning:!1}),[f,p]=E.useState(),[m,h]=E.useState(),[g,_]=E.useState(),v=E.useRef(new Map),y=E.useCallback((i,{deletedFetchers:o,newErrors:c,flushSync:u,viewTransitionOpts:g})=>{c&&n&&Object.values(c).forEach(e=>n(e,{location:i.location,params:i.matches[0]?.params??{},pattern:q(i.matches)})),i.fetchers.forEach((e,t)=>{e.data!==void 0&&v.current.set(t,e.data)}),o.forEach(e=>v.current.delete(e)),Tr(u===!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 y=e.window!=null&&e.window.document!=null&&typeof e.window.document.startViewTransition==`function`;if(Tr(g==null||y,"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."),!g||!y)t&&u?t(()=>a(i)):r===!1?a(i):E.startTransition(()=>{r===!0&&s(e=>kr(e,i)),a(i)});else if(t&&u){t(()=>{m&&(f?.resolve(),m.skipTransition()),d({isTransitioning:!0,flushSync:!0,currentLocation:g.currentLocation,nextLocation:g.nextLocation})});let n=e.window.document.startViewTransition(()=>{t(()=>a(i))});n.finished.finally(()=>{t(()=>{p(void 0),h(void 0),l(void 0),d({isTransitioning:!1})})}),t(()=>h(n))}else m?(f?.resolve(),m.skipTransition(),_({state:i,currentLocation:g.currentLocation,nextLocation:g.nextLocation})):(l(i),d({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}))},[e.window,t,m,f,r,s,n]);E.useLayoutEffect(()=>e.subscribe(y),[e,y]),E.useEffect(()=>{u.isTransitioning&&!u.flushSync&&p(new Dr)},[u]),E.useEffect(()=>{if(f&&c&&e.window){let t=c,n=f.promise,i=e.window.document.startViewTransition(async()=>{r===!1?a(t):E.startTransition(()=>{r===!0&&s(e=>kr(e,t)),a(t)}),await n});i.finished.finally(()=>{p(void 0),h(void 0),l(void 0),d({isTransitioning:!1})}),h(i)}},[c,f,e.window,r,s]),E.useEffect(()=>{f&&c&&o.location.key===c.location.key&&f.resolve()},[f,m,o.location,c]),E.useEffect(()=>{!u.isTransitioning&&g&&(l(g.state),d({isTransitioning:!0,flushSync:!1,currentLocation:g.currentLocation,nextLocation:g.nextLocation}),_(void 0))},[u.isTransitioning,g]);let b=E.useMemo(()=>({createHref:e.createHref,createURL:e.createURL,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]),x=e.basename||`/`,S=E.useMemo(()=>({router:e,navigator:b,static:!1,basename:x,onError:n}),[e,b,x,n]),C=E.useMemo(()=>({historyAction:o.historyAction,location:o.location,matches:o.matches,initialized:o.initialized,renderFallback:o.renderFallback,restoreScrollPosition:o.restoreScrollPosition,preventScrollReset:o.preventScrollReset,blockers:o.blockers}),[o.historyAction,o.location,o.matches,o.initialized,o.renderFallback,o.restoreScrollPosition,o.preventScrollReset,o.blockers]),w=E.useMemo(()=>({navigation:o.navigation,revalidation:o.revalidation}),[o.navigation,o.revalidation]),T=E.useMemo(()=>({loaderData:o.loaderData,actionData:o.actionData,errors:o.errors}),[o.loaderData,o.actionData,o.errors]),D=E.useMemo(()=>({fetchers:o.fetchers,fetcherData:v.current}),[o.fetchers]);return E.createElement(E.Fragment,null,E.createElement(En.Provider,{value:S},E.createElement(Dn.Provider,{value:C},E.createElement(kn.Provider,{value:w},E.createElement(On.Provider,{value:T},E.createElement(Nn.Provider,{value:D},E.createElement(Mn.Provider,{value:u},E.createElement(Nr,{basename:x,location:o.location,navigationType:o.historyAction,navigator:b,useTransitions:r},E.createElement(Ar,{routes:e.routes,manifest:e.manifest,state:o,isStatic:!1,onError:n})))))))),null)}function kr(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 Ar=E.memo(jr);function jr({routes:e,manifest:t,state:n,isStatic:r,onError:i}){let a=E.useContext(En);return _(a,`You must render this element inside a <DataRouterContext.Provider> element`),nr(e,void 0,{router:a.router,manifest:t,state:n,isStatic:r,onError:i})}function Mr(e){return $n(e.context)}function Nr({basename:e=`/`,children:t=null,location:n,navigationType:r=`POP`,navigator:i,static:a=!1,useTransitions:o}){_(!qn(),`You cannot render a <Router> inside another <Router>. You should never have more than one in your app.`);let s=e.replace(/^\/*/,`/`),c=E.useMemo(()=>({basename:s,navigator:i,static:a,useTransitions:o,future:{}}),[s,i,a,o]);typeof n==`string`&&(n=C(n));let{pathname:l=`/`,search:u=``,hash:d=``,state:f=null,key:p=`default`,mask:m}=n,h=E.useMemo(()=>{let e=he(l,s);return e==null?null:{location:{pathname:e,search:u,hash:d,state:f,key:p,mask:m},navigationType:r}},[s,l,u,d,f,p,r,m]);return v(h!=null,`<Router basename="${s}"> is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the <Router> won't render anything.`),h==null?null:E.createElement(Fn.Provider,{value:c},E.createElement(In.Provider,{children:t,value:h}))}E.Component;function Pr(){return{params:er(),loaderData:vr(),actionData:yr(),matches:_r()}}function Fr(e){return function(){let t=Pr();return E.createElement(e,t)}}function Ir(){return{params:er(),loaderData:vr(),actionData:yr(),error:br()}}function Lr(e){return function(){let t=Ir();return E.createElement(e,t)}}var Rr=o((e=>{var t=Symbol.for(`react.transitional.element`);function n(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.jsx=n,e.jsxs=n})),zr=o(((e,t)=>{t.exports=Rr()}));export{je as A,he as B,Mn as C,ln as D,pt as E,G as F,d as G,S as H,de as I,c as J,u as K,Fe as L,ke as M,N,un as O,Me as P,Ae as R,Ln as S,dt as T,_ as U,g as V,v as W,gr as _,Er as a,kn as b,Tr as c,pr as d,fr as f,Xn as g,_r as h,Or as i,pe as j,K as k,hr as l,Jn as m,Mr as n,Fr as o,Kn as p,o as q,Nr as r,Lr as s,zr as t,dr as u,tr as v,jn as w,Fn as x,br as y,Se as z};
@@ -0,0 +1,23 @@
1
+ <svg width="1080" height="174" viewBox="0 0 1080 174" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M231.527 86.9999C231.527 94.9642 228.297 102.173 223.067 107.387C217.837 112.606 210.614 115.835 202.634 115.835C194.654 115.835 187.43 119.059 182.206 124.278C176.977 129.498 173.741 136.707 173.741 144.671C173.741 152.635 170.51 159.844 165.281 165.058C160.051 170.277 152.828 173.507 144.847 173.507C136.867 173.507 129.644 170.277 124.42 165.058C119.19 159.844 115.954 152.635 115.954 144.671C115.954 136.707 119.19 129.498 124.42 124.278C129.644 119.059 136.867 115.835 144.847 115.835C152.828 115.835 160.051 112.606 165.281 107.387C170.51 102.173 173.741 94.9642 173.741 86.9999C173.741 71.0711 160.808 58.1643 144.847 58.1643C136.867 58.1643 129.644 54.9347 124.42 49.7155C119.19 44.502 115.954 37.2931 115.954 29.3287C115.954 21.3643 119.19 14.1555 124.42 8.93622C129.644 3.71698 136.867 0.493164 144.847 0.493164C160.808 0.493164 173.741 13.4 173.741 29.3287C173.741 37.2931 176.977 44.502 182.206 49.7155C187.43 54.9347 194.654 58.1643 202.634 58.1643C218.594 58.1643 231.527 71.0711 231.527 86.9999Z" fill="#F44250"/>
3
+ <path d="M115.954 86.9996C115.954 71.0742 103.018 58.1641 87.061 58.1641C71.1037 58.1641 58.1677 71.0742 58.1677 86.9996C58.1677 102.925 71.1037 115.835 87.061 115.835C103.018 115.835 115.954 102.925 115.954 86.9996Z" fill="white"/>
4
+ <path d="M58.1676 144.671C58.1676 128.745 45.2316 115.835 29.2743 115.835C13.317 115.835 0.381104 128.745 0.381104 144.671C0.381104 160.596 13.317 173.506 29.2743 173.506C45.2316 173.506 58.1676 160.596 58.1676 144.671Z" fill="white"/>
5
+ <path d="M289.314 144.671C289.314 128.745 276.378 115.835 260.42 115.835C244.463 115.835 231.527 128.745 231.527 144.671C231.527 160.596 244.463 173.506 260.42 173.506C276.378 173.506 289.314 160.596 289.314 144.671Z" fill="white"/>
6
+ <g clip-path="url(#clip0_202_2131)">
7
+ <path d="M562.482 173.247C524.388 173.247 498.363 147.49 498.363 110.468C498.363 73.4455 524.388 47.6885 562.482 47.6885C600.576 47.6885 626.869 73.7135 626.869 110.468C626.869 147.222 600.576 173.247 562.482 173.247ZM562.482 144.007C579.385 144.007 587.703 130.319 587.703 110.468C587.703 90.6168 579.385 76.9289 562.482 76.9289C545.579 76.9289 537.529 90.6168 537.529 110.468C537.529 130.319 545.311 144.007 562.482 144.007Z" fill="white"/>
8
+ <path d="M833.64 141.116C824.217 141.116 819.237 136.684 819.237 126.156V74.8983H851.928V47.7792H819.237V1.15527H791.75L786.1 26.1978C783.343 36.4805 780.82 42.822 773.897 46.0821C773.105 46.4506 771.129 46.9976 769.409 47.3884C768.014 47.701 766.596 47.8573 765.167 47.8573H752.338V47.9243H734.832C723.578 47.9243 714.445 57.0459 714.445 68.3111V111.552C714.445 130.599 707.199 142.668 692.719 142.668C678.238 142.668 672.868 133.279 672.868 116.375V47.9243H634.249V125.765C634.249 151.254 644.442 173.248 676.63 173.248C691.915 173.248 703.895 167.231 711.096 157.182C712.145 155.72 714.445 156.49 714.445 158.276V170.022H753.332V83.8412C753.332 78.8953 757.34 74.8871 762.286 74.8871H779.882V136.952C779.882 164.663 797.89 173.248 817.842 173.248C833.908 173.248 844.436 169.374 853.58 162.441V136.126C846.1 139.453 839.725 141.116 833.629 141.116H833.64Z" fill="white"/>
9
+ <path d="M981.561 130.865C975.387 157.962 954.197 173.258 923.07 173.258C885.243 173.258 858.415 150.18 858.415 112.354C858.415 74.5281 885.779 47.6992 922.266 47.6992C961.699 47.6992 982.365 74.796 982.365 107.263V113.884H896.509C894.555 135.711 909.382 144.017 924.409 144.017C937.829 144.017 946.136 138.915 950.434 127.918L981.561 130.865ZM945.075 94.9372C944.271 83.1361 936.757 75.8567 921.998 75.8567C906.434 75.8567 899.188 82.321 897.045 94.9372H945.064H945.075Z" fill="white"/>
10
+ <path d="M1076.24 85.7486C1070.06 82.2652 1064.17 80.9142 1055.85 80.9142C1039.75 80.9142 1029.02 90.0358 1029.02 110.691V170.02H990.393V47.9225H1029.02V64.3235C1029.02 65.4623 1030.54 65.8195 1031.05 64.8035C1036.68 53.5718 1047.91 44.707 1062.03 44.707C1069.27 44.707 1075.45 46.8507 1078.66 49.5414L1076.25 85.7597L1076.24 85.7486Z" fill="white"/>
11
+ <path d="M547.32 31.5345V23.9983H522.457V31.5345H515.378V2.23828H542.14C553.562 2.23828 554.365 2.95282 554.365 13.1239C554.365 17.4111 553.472 18.5611 551.329 19.6553L549.408 20.6378L551.317 21.6426C553.595 22.8372 554.365 23.2391 554.365 30.0273V31.5345H547.332H547.32ZM522.457 18.3601H547.32V7.88763H522.457V18.349V18.3601Z" fill="white"/>
12
+ <path d="M578.493 2.23828H610.826V7.90996H580.067V14.5083H610.011V19.2868H580.067V25.8963H610.837V31.501L578.504 31.5345C575.344 31.5345 572.787 28.9778 572.787 25.8293V7.95462C572.787 4.80617 575.344 2.24945 578.493 2.24945V2.23828Z" fill="white"/>
13
+ <path d="M655.562 31.5345L653.151 26.3429H633.746L631.335 31.5345H624.58L637.006 4.75034C637.71 3.22078 639.262 2.23828 640.936 2.23828H645.927C647.613 2.23828 649.154 3.22078 649.857 4.75034L662.283 31.5345H655.529H655.562ZM643.46 8.06627C642.712 8.06627 642.053 8.49053 641.729 9.17158L635.968 21.5756H650.94L645.19 9.17158C644.878 8.49053 644.208 8.06627 643.46 8.06627Z" fill="white"/>
14
+ <path d="M694.862 32.4153C676.05 32.4153 675.313 32.4153 675.313 16.8852C675.313 1.35505 676.05 1.36621 694.862 1.36621C711.721 1.36621 713.764 2.06959 714.244 10.5325H707.333V7.01556H682.168V26.766H707.333V23.2714H714.244C713.775 31.7119 711.721 32.4153 694.862 32.4153Z" fill="white"/>
15
+ <path d="M745.282 31.5345V7.02795H729.16V2.23828H768.147V7.02795H752.025V31.5345H745.282Z" fill="white"/>
16
+ <path d="M454.419 169.819C450.935 165.264 448.792 154.814 447.452 137.397C446.112 118.104 437.806 113.817 422.532 113.817H392.254V169.83H347.494V0.986328H432.715C476.391 0.986328 498.106 21.6187 498.106 54.5882C498.106 79.2399 482.833 95.3171 462.201 98.0078C479.618 101.491 489.8 111.405 491.675 130.966C494.087 156.154 494.891 163.656 500.518 169.819H454.419ZM424.676 78.704C443.969 78.704 453.615 73.8808 453.615 58.3395C453.615 44.6739 443.969 37.4392 424.676 37.4392H392.254V78.7152H424.676V78.704Z" fill="white"/>
17
+ </g>
18
+ <defs>
19
+ <clipPath id="clip0_202_2131">
20
+ <rect width="731.156" height="172.261" fill="white" transform="translate(347.494 0.986328)"/>
21
+ </clipPath>
22
+ </defs>
23
+ </svg>
@@ -0,0 +1,23 @@
1
+ <svg width="1080" height="174" viewBox="0 0 1080 174" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M231.527 86.9999C231.527 94.9642 228.297 102.173 223.067 107.387C217.837 112.606 210.614 115.835 202.634 115.835C194.654 115.835 187.43 119.059 182.206 124.278C176.977 129.498 173.741 136.707 173.741 144.671C173.741 152.635 170.51 159.844 165.281 165.058C160.051 170.277 152.828 173.507 144.847 173.507C136.867 173.507 129.644 170.277 124.42 165.058C119.19 159.844 115.954 152.635 115.954 144.671C115.954 136.707 119.19 129.498 124.42 124.278C129.644 119.059 136.867 115.835 144.847 115.835C152.828 115.835 160.051 112.606 165.281 107.387C170.51 102.173 173.741 94.9642 173.741 86.9999C173.741 71.0711 160.808 58.1643 144.847 58.1643C136.867 58.1643 129.644 54.9347 124.42 49.7155C119.19 44.502 115.954 37.2931 115.954 29.3287C115.954 21.3643 119.19 14.1555 124.42 8.93622C129.644 3.71698 136.867 0.493164 144.847 0.493164C160.808 0.493164 173.741 13.4 173.741 29.3287C173.741 37.2931 176.977 44.502 182.206 49.7155C187.43 54.9347 194.654 58.1643 202.634 58.1643C218.594 58.1643 231.527 71.0711 231.527 86.9999Z" fill="#F44250"/>
3
+ <path d="M115.954 86.9996C115.954 71.0742 103.018 58.1641 87.0608 58.1641C71.1035 58.1641 58.1676 71.0742 58.1676 86.9996C58.1676 102.925 71.1035 115.835 87.0608 115.835C103.018 115.835 115.954 102.925 115.954 86.9996Z" fill="#121212"/>
4
+ <path d="M58.1676 144.671C58.1676 128.745 45.2316 115.835 29.2743 115.835C13.317 115.835 0.381104 128.745 0.381104 144.671C0.381104 160.596 13.317 173.506 29.2743 173.506C45.2316 173.506 58.1676 160.596 58.1676 144.671Z" fill="#121212"/>
5
+ <path d="M289.313 144.671C289.313 128.745 276.378 115.835 260.42 115.835C244.463 115.835 231.527 128.745 231.527 144.671C231.527 160.596 244.463 173.506 260.42 173.506C276.378 173.506 289.313 160.596 289.313 144.671Z" fill="#121212"/>
6
+ <g clip-path="url(#clip0_171_1761)">
7
+ <path d="M562.482 173.247C524.388 173.247 498.363 147.49 498.363 110.468C498.363 73.4455 524.388 47.6885 562.482 47.6885C600.576 47.6885 626.869 73.7135 626.869 110.468C626.869 147.222 600.576 173.247 562.482 173.247ZM562.482 144.007C579.386 144.007 587.703 130.319 587.703 110.468C587.703 90.6168 579.386 76.9289 562.482 76.9289C545.579 76.9289 537.529 90.6168 537.529 110.468C537.529 130.319 545.311 144.007 562.482 144.007Z" fill="#121212"/>
8
+ <path d="M833.64 141.116C824.217 141.116 819.237 136.684 819.237 126.156V74.8983H851.928V47.7792H819.237V1.15527H791.75L786.1 26.1978C783.343 36.4805 780.82 42.822 773.897 46.0821C773.105 46.4506 771.129 46.9976 769.409 47.3884C768.014 47.701 766.596 47.8573 765.167 47.8573H752.338V47.9243H734.832C723.578 47.9243 714.445 57.0459 714.445 68.3111V111.552C714.445 130.599 707.199 142.668 692.719 142.668C678.238 142.668 672.868 133.279 672.868 116.375V47.9243H634.249V125.765C634.249 151.254 644.442 173.248 676.63 173.248C691.915 173.248 703.895 167.231 711.096 157.182C712.145 155.72 714.445 156.49 714.445 158.276V170.022H753.332V83.8412C753.332 78.8953 757.34 74.8871 762.286 74.8871H779.882V136.952C779.882 164.663 797.89 173.248 817.842 173.248C833.908 173.248 844.436 169.374 853.58 162.441V136.126C846.1 139.453 839.725 141.116 833.629 141.116H833.64Z" fill="#121212"/>
9
+ <path d="M981.561 130.865C975.387 157.962 954.197 173.258 923.07 173.258C885.243 173.258 858.415 150.18 858.415 112.354C858.415 74.5281 885.779 47.6992 922.266 47.6992C961.699 47.6992 982.365 74.796 982.365 107.263V113.884H896.509C894.555 135.711 909.382 144.017 924.409 144.017C937.829 144.017 946.136 138.915 950.434 127.918L981.561 130.865ZM945.075 94.9372C944.271 83.1361 936.757 75.8567 921.998 75.8567C906.434 75.8567 899.188 82.321 897.045 94.9372H945.064H945.075Z" fill="#121212"/>
10
+ <path d="M1076.24 85.7486C1070.06 82.2652 1064.17 80.9142 1055.85 80.9142C1039.75 80.9142 1029.02 90.0358 1029.02 110.691V170.02H990.393V47.9225H1029.02V64.3235C1029.02 65.4623 1030.54 65.8195 1031.05 64.8035C1036.68 53.5718 1047.91 44.707 1062.03 44.707C1069.27 44.707 1075.45 46.8507 1078.66 49.5414L1076.25 85.7597L1076.24 85.7486Z" fill="#121212"/>
11
+ <path d="M547.321 31.5345V23.9983H522.457V31.5345H515.378V2.23828H542.14C553.562 2.23828 554.366 2.95282 554.366 13.1239C554.366 17.4111 553.472 18.5611 551.329 19.6553L549.408 20.6378L551.318 21.6426C553.595 22.8372 554.366 23.2391 554.366 30.0273V31.5345H547.332H547.321ZM522.457 18.3601H547.321V7.88763H522.457V18.349V18.3601Z" fill="#121212"/>
12
+ <path d="M578.493 2.23828H610.826V7.90996H580.067V14.5083H610.011V19.2868H580.067V25.8963H610.837V31.501L578.504 31.5345C575.344 31.5345 572.787 28.9778 572.787 25.8293V7.95462C572.787 4.80617 575.344 2.24945 578.493 2.24945V2.23828Z" fill="#121212"/>
13
+ <path d="M655.562 31.5345L653.151 26.3429H633.747L631.335 31.5345H624.58L637.007 4.75034C637.71 3.22078 639.262 2.23828 640.937 2.23828H645.927C647.613 2.23828 649.154 3.22078 649.857 4.75034L662.284 31.5345H655.529H655.562ZM643.46 8.06627C642.712 8.06627 642.053 8.49053 641.729 9.17158L635.968 21.5756H650.94L645.19 9.17158C644.878 8.49053 644.208 8.06627 643.46 8.06627Z" fill="#121212"/>
14
+ <path d="M694.862 32.4153C676.05 32.4153 675.313 32.4153 675.313 16.8852C675.313 1.35505 676.05 1.36621 694.862 1.36621C711.721 1.36621 713.764 2.06959 714.244 10.5325H707.333V7.01556H682.168V26.766H707.333V23.2714H714.244C713.775 31.7119 711.721 32.4153 694.862 32.4153Z" fill="#121212"/>
15
+ <path d="M745.282 31.5345V7.02795H729.16V2.23828H768.148V7.02795H752.026V31.5345H745.282Z" fill="#121212"/>
16
+ <path d="M454.419 169.819C450.935 165.264 448.792 154.814 447.452 137.397C446.112 118.104 437.806 113.817 422.532 113.817H392.254V169.83H347.494V0.986328H432.715C476.391 0.986328 498.106 21.6187 498.106 54.5882C498.106 79.2399 482.833 95.3171 462.201 98.0078C479.618 101.491 489.8 111.405 491.676 130.966C494.087 156.154 494.891 163.656 500.518 169.819H454.419ZM424.676 78.704C443.969 78.704 453.615 73.8808 453.615 58.3395C453.615 44.6739 443.969 37.4392 424.676 37.4392H392.254V78.7152H424.676V78.704Z" fill="#121212"/>
17
+ </g>
18
+ <defs>
19
+ <clipPath id="clip0_171_1761">
20
+ <rect width="731.156" height="172.261" fill="white" transform="translate(347.494 0.986328)"/>
21
+ </clipPath>
22
+ </defs>
23
+ </svg>
@@ -0,0 +1 @@
1
+ window.__reactRouterManifest={"entry":{"module":"/assets/entry.client-Bc58m2-m.js","imports":["/assets/jsx-runtime-eLCqVKHJ.js","/assets/errorBoundaries-CQxPIuVU.js"],"css":[]},"routes":{"root":{"id":"root","path":"","hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":true,"module":"/assets/root-C1tmjS9o.js","imports":["/assets/jsx-runtime-eLCqVKHJ.js","/assets/errorBoundaries-CQxPIuVU.js"],"css":["/assets/root-BeNS6njP.css"]},"routes/home":{"id":"routes/home","parentId":"root","index":true,"hasAction":false,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":true,"hasErrorBoundary":false,"module":"/assets/home-CH2INc5e.js","imports":["/assets/jsx-runtime-eLCqVKHJ.js"],"css":[]},"routes/files":{"id":"routes/files","parentId":"root","path":"resources/files","hasAction":true,"hasLoader":false,"hasClientAction":false,"hasClientLoader":false,"hasClientMiddleware":false,"hasDefaultExport":false,"hasErrorBoundary":false,"module":"/assets/files-BvRk9kiK.js","imports":[],"css":[]}},"url":"/assets/manifest-2d65dd0f.js","version":"2d65dd0f"};
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-950:oklch(13% .028 261.692);--color-white:#fff;--spacing:.25rem;--leading-normal:1.5;--radius-3xl:1.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.min-h-0{min-height:0}.w-\[500px\]{width:500px}.w-full{width:100%}.max-w-\[100vw\]{max-width:100vw}.max-w-\[300px\]{max-width:300px}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing) * 3)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-16{gap:calc(var(--spacing) * 16)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-3xl{border-radius:var(--radius-3xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.stroke-gray-600{stroke:var(--color-gray-600)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-4{padding-inline:calc(var(--spacing) * 4)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-center{text-align:center}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.text-blue-700{color:var(--color-blue-700)}.text-gray-700{color:var(--color-gray-700)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@media (hover:hover){.group-hover\:stroke-current:is(:where(.group):hover *){stroke:currentColor}.hover\:underline:hover{text-decoration-line:underline}}@media (prefers-color-scheme:dark){.dark\:block{display:block}.dark\:hidden{display:none}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:stroke-gray-300{stroke:var(--color-gray-300)}.dark\:text-blue-500{color:var(--color-blue-500)}.dark\:text-gray-200{color:var(--color-gray-200)}}}html,body{background-color:var(--color-white)}@media (prefers-color-scheme:dark){html,body{background-color:var(--color-gray-950);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
@@ -0,0 +1 @@
1
+ import{B as e,C as t,F as n,G as r,H as i,I as a,J as o,K as s,L as c,P as l,S as u,U as d,W as f,_ as p,b as m,f as h,g,h as _,l as v,m as y,n as b,o as x,p as S,s as C,t as w,u as T,v as E,x as D,z as O}from"./jsx-runtime-eLCqVKHJ.js";import{a as k,c as A,g as j,i as M,n as N,o as P,r as F,s as ee}from"./errorBoundaries-CQxPIuVU.js";var I=`application/x-www-form-urlencoded`;function L(e){return typeof HTMLElement<`u`&&e instanceof HTMLElement}function R(e){return L(e)&&e.tagName.toLowerCase()===`button`}function te(e){return L(e)&&e.tagName.toLowerCase()===`form`}function z(e){return L(e)&&e.tagName.toLowerCase()===`input`}function B(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function ne(e,t){return e.button===0&&(!t||t===`_self`)&&!B(e)}var V=null;function re(){if(V===null)try{new FormData(document.createElement(`form`),0),V=!1}catch{V=!0}return V}var ie=new Set([`application/x-www-form-urlencoded`,`multipart/form-data`,`text/plain`]);function H(e){return e!=null&&!ie.has(e)?(f(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${I}"`),null):e}function ae(t,n){let r,i,a,o,s;if(te(t)){let s=t.getAttribute(`action`);i=s?e(s,n):null,r=t.getAttribute(`method`)||`get`,a=H(t.getAttribute(`enctype`))||I,o=new FormData(t)}else if(R(t)||z(t)&&(t.type===`submit`||t.type===`image`)){let s=t.form;if(s==null)throw Error(`Cannot submit a <button> or <input type="submit"> without a <form>`);let c=t.getAttribute(`formaction`)||s.getAttribute(`action`);if(i=c?e(c,n):null,r=t.getAttribute(`formmethod`)||s.getAttribute(`method`)||`get`,a=H(t.getAttribute(`formenctype`))||H(s.getAttribute(`enctype`))||I,o=new FormData(s,t),!re()){let{name:e,type:n,value:r}=t;if(n===`image`){let t=e?`${e}.`:``;o.append(`${t}x`,`0`),o.append(`${t}y`,`0`)}else e&&o.append(e,r)}}else if(L(t))throw Error(`Cannot submit element that is not <form>, <button>, or <input type="submit|image">`);else r=`get`,i=null,a=I,s=t;return o&&a===`text/plain`&&(s=o,o=void 0),{action:i,method:r.toLowerCase(),encType:a,formData:o,body:s}}var U=o(s(),1),W=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;try{W&&(window.__reactRouterVersion=`8`)}catch{}var G=U.forwardRef(function({onClick:e,discover:t=`render`,prefetch:i=`none`,relative:a,reloadDocument:o,replace:s,mask:l,state:u,target:d,to:f,preventScrollReset:p,viewTransition:m,defaultShouldRevalidate:h,...g},_){let{basename:v,navigator:b,useTransitions:x}=U.useContext(D),C=typeof f==`string`&&r.test(f),w=c(f,v);f=w.to;let T=S(f,{relative:a}),E=y(),j=null;if(l){let e=O(l,[],E.mask?E.mask.pathname:`/`,!0);v!==`/`&&(e.pathname=e.pathname===`/`?v:n([v,e.pathname])),j=b.createHref(e)}let[M,N,P]=A(i,g),F=oe(f,{replace:s,mask:l,state:u,target:d,preventScrollReset:p,relative:a,viewTransition:m,defaultShouldRevalidate:h,useTransitions:x});function I(t){e&&e(t),t.defaultPrevented||F(t)}let L=!(w.isExternal||o),R=U.createElement(`a`,{...g,...P,href:(L?j:void 0)||w.absoluteURL||T,onClick:L?I:e,ref:ee(_,N),target:d,"data-discover":!C&&t===`render`?`true`:void 0});return M&&!C?U.createElement(U.Fragment,null,R,U.createElement(k,{page:T})):R});G.displayName=`Link`;var K=U.forwardRef(function({"aria-current":t=`page`,caseSensitive:n=!1,className:r=``,end:i=!1,style:a,to:o,viewTransition:s,children:c,...l},u){let d=E(o,{relative:l.relative}),f=y(),p=U.useContext(m),{navigator:h,basename:g}=U.useContext(D),_=p!=null&&me(d)&&s===!0,v=h.encodeLocation?h.encodeLocation(d).pathname:d.pathname,b=f.pathname,x=p?.navigation.location?p.navigation.location.pathname:null;n||(b=b.toLowerCase(),x=x?x.toLowerCase():null,v=v.toLowerCase()),x&&g&&(x=e(x,g)||x);let S=v!==`/`&&v.endsWith(`/`)?v.length-1:v.length,C=b===v||!i&&b.startsWith(v)&&b.charAt(S)===`/`,w=x!=null&&(x===v||!i&&x.startsWith(v)&&x.charAt(S)===`/`),T={isActive:C,isPending:w,isTransitioning:_},O=C?t:void 0,k;k=typeof r==`function`?r(T):[r,C?`active`:null,w?`pending`:null,_?`transitioning`:null].filter(Boolean).join(` `);let A=typeof a==`function`?a(T):a;return U.createElement(G,{...l,"aria-current":O,className:k,ref:u,style:A,to:o,viewTransition:s},typeof c==`function`?c(T):c)});K.displayName=`NavLink`;var q=U.forwardRef(({discover:e=`render`,fetcherKey:t,navigate:n,reloadDocument:i,replace:a,state:o,method:s=`get`,action:c,onSubmit:l,relative:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p,...m},h)=>{let{useTransitions:g}=U.useContext(D),_=le(),v=ue(c,{relative:u}),y=s.toLowerCase()===`get`?`get`:`post`,b=typeof c==`string`&&r.test(c);return U.createElement(`form`,{ref:h,method:y,action:v,onSubmit:i?l:e=>{if(l&&l(e),e.defaultPrevented)return;e.preventDefault();let r=e.nativeEvent.submitter,i=r?.getAttribute(`formmethod`)||s,c=()=>_(r||e.currentTarget,{fetcherKey:t,method:i,navigate:n,replace:a,state:o,relative:u,preventScrollReset:d,viewTransition:f,defaultShouldRevalidate:p});g&&n!==!1?U.startTransition(()=>c()):c()},...m,"data-discover":!b&&e===`render`?`true`:void 0})});q.displayName=`Form`;function J({getKey:e,storageKey:t,...n}){let r=U.useContext(N),{basename:i}=U.useContext(D),a=y(),o=_();de({getKey:e,storageKey:t});let s=U.useMemo(()=>{if(!r||!e)return null;let t=Z(a,o,i,e);return t===a.key?null:t},[]);if(!r||r.isSpaMode)return null;let c=((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 n.nonce==null&&r?.nonce&&(n.nonce=r.nonce),U.createElement(`script`,{...n,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${c})(${j(JSON.stringify(t||Y))}, ${j(JSON.stringify(s))})`}})}J.displayName=`ScrollRestoration`;function oe(e,{target:t,replace:n,mask:r,state:a,preventScrollReset:o,relative:s,viewTransition:c,defaultShouldRevalidate:l,useTransitions:u}={}){let d=g(),f=y(),p=E(e,{relative:s});return U.useCallback(m=>{if(ne(m,t)){m.preventDefault();let t=n===void 0?i(f)===i(p):n,h=()=>d(e,{replace:t,mask:r,state:a,preventScrollReset:o,relative:s,viewTransition:c,defaultShouldRevalidate:l});u?U.startTransition(()=>h()):h()}},[f,d,p,n,r,a,t,e,o,s,c,l,u])}var se=0,ce=()=>`__${String(++se)}__`;function le(){let{router:e}=T(`useSubmit`),{basename:t}=U.useContext(D),n=v(`useSubmit`),r=e.fetch,i=e.navigate;return U.useCallback(async(e,a={})=>{let{action:o,method:s,encType:c,formData:l,body:u}=ae(e,t);a.navigate===!1?await r(a.fetcherKey||ce(),n,a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,relative:a.relative,formData:l,body:u,formMethod:a.method||s,formEncType:a.encType||c,flushSync:a.flushSync}):await i(a.action||o,{defaultShouldRevalidate:a.defaultShouldRevalidate,preventScrollReset:a.preventScrollReset,relative:a.relative,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 ue(e,{relative:t}={}){let{basename:r}=U.useContext(D),a=U.useContext(u);d(a,`useFormAction must be used inside a RouteContext`);let[o]=a.matches.slice(-1),s={...E(e||`.`,{relative:t})},c=y();if(e==null){s.search=c.search;let e=new URLSearchParams(s.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();s.search=n?`?${n}`:``}}return(!e||e===`.`)&&o.route.index&&(s.search=s.search?s.search.replace(/^\?/,`?index&`):`?index`),r!==`/`&&(s.pathname=s.pathname===`/`?r:n([r,s.pathname])),i(s)}var Y=`react-router-scroll-positions`,X={};function Z(t,n,r,i){let a=null;return i&&(a=i(r===`/`?t:{...t,pathname:e(t.pathname,r)||t.pathname},n)),a??=t.key,a}function de({getKey:e,storageKey:t}={}){let{router:n}=T(`useScrollRestoration`),{restoreScrollPosition:r,preventScrollReset:i}=h(`useScrollRestoration`),{basename:a}=U.useContext(D),o=y(),s=_(),c=p();U.useEffect(()=>(window.history.scrollRestoration=`manual`,()=>{window.history.scrollRestoration=`auto`}),[]),pe(U.useCallback(e=>{e.persisted&&(window.history.scrollRestoration=`manual`)},[])),fe(U.useCallback(()=>{if(c.state===`idle`){let t=Z(o,s,a,e);X[t]=window.scrollY}try{sessionStorage.setItem(t||Y,JSON.stringify(X))}catch(e){f(!1,`Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${e}).`)}window.history.scrollRestoration=`auto`},[c.state,e,a,o,s,t])),typeof document<`u`&&(U.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(t||Y);e&&(X=JSON.parse(e))}catch{}},[t]),U.useLayoutEffect(()=>{let t=n?.enableScrollRestoration(X,()=>window.scrollY,e?(t,n)=>Z(t,n,a,e):void 0);return()=>t&&t()},[n,a,e]),U.useLayoutEffect(()=>{if(r!==!1){if(typeof r==`number`)window.scrollTo(0,r);else{try{if(o.hash){let e=document.getElementById(decodeURIComponent(o.hash.slice(1)));if(e){e.scrollIntoView();return}}}catch{f(!1,`"${o.hash.slice(1)}" is not a decodable element ID. The view will not scroll to it.`)}i!==!0&&window.scrollTo(0,0)}}},[o,r,i]))}function fe(e,t){let{capture:n}=t||{};U.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pagehide`,e,t),()=>{window.removeEventListener(`pagehide`,e,t)}},[e,n])}function pe(e,t){let{capture:n}=t||{};U.useEffect(()=>{let t=n==null?void 0:{capture:n};return window.addEventListener(`pageshow`,e,t),()=>{window.removeEventListener(`pageshow`,e,t)}},[e,n])}function me(n,{relative:r}={}){let i=U.useContext(t);d(i!=null,"`useViewTransitionState` must be used within `react-router/dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:o}=T(`useViewTransitionState`),s=E(n,{relative:r});if(!i.isTransitioning)return!1;let c=e(i.currentLocation.pathname,o)||i.currentLocation.pathname,l=e(i.nextLocation.pathname,o)||i.nextLocation.pathname;return a(s.pathname,l)!=null||a(s.pathname,c)!=null}var Q=w(),he=()=>[{rel:`preconnect`,href:`https://fonts.googleapis.com`},{rel:`preconnect`,href:`https://fonts.gstatic.com`,crossOrigin:`anonymous`},{rel:`stylesheet`,href:`https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap`}];function ge({children:e}){return(0,Q.jsxs)(`html`,{lang:`en`,children:[(0,Q.jsxs)(`head`,{children:[(0,Q.jsx)(`meta`,{charSet:`utf-8`}),(0,Q.jsx)(`meta`,{name:`viewport`,content:`width=device-width, initial-scale=1`}),(0,Q.jsx)(M,{}),(0,Q.jsx)(F,{})]}),(0,Q.jsxs)(`body`,{children:[e,(0,Q.jsx)(J,{}),(0,Q.jsx)(P,{})]})]})}var $=x(function(){return(0,Q.jsx)(b,{})}),_e=C(function({error:e}){let t=`Oops!`,n=`An unexpected error occurred.`,r;return l(e)&&(t=e.status===404?`404`:`Error`,n=e.status===404?`The requested page could not be found.`:e.statusText||n),(0,Q.jsxs)(`main`,{className:`container mx-auto p-4 pt-16`,children:[(0,Q.jsx)(`h1`,{children:t}),(0,Q.jsx)(`p`,{children:n}),r]})});export{_e as ErrorBoundary,ge as Layout,$ as default,he as links};