From b1a0edb474446c36ae1a26f37db7f7089049145d Mon Sep 17 00:00:00 2001 From: T'JAMPENS QUENTIN p2406187 Date: Sun, 23 Nov 2025 23:35:24 +0100 Subject: [PATCH 1/3] Create docker configuration --- Dockerfile | 13 +++++++++++++ docker-compose.yml | 23 +++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2f68456 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM php:8.4-fpm + +RUN apt-get update && apt-get install -y \ + git unzip libzip-dev libpng-dev libonig-dev \ + && docker-php-ext-install pdo_mysql zip + +COPY --from=composer:2 /usr/bin/composer /usr/bin/composer + +WORKDIR /var/www + +COPY . . + +RUN composer install --no-dev --optimize-autoloader diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..0ea0115 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,23 @@ +services: + laravel: + build: . + container_name: laravel-app + volumes: + - .:/var/www + ports: + - "8000:8000" + depends_on: + - mariadb + command: php artisan serve --host=0.0.0.0 --port=8000 + + mariadb: + image: mariadb:latest + container_name: mariadb + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: laravel + volumes: + - db_data:/var/lib/mysql + +volumes: + db_data: From bd4dceace6e6ecc4af1c7d42343fd0706122a2b8 Mon Sep 17 00:00:00 2001 From: T'JAMPENS QUENTIN p2406187 Date: Sun, 23 Nov 2025 23:35:32 +0100 Subject: [PATCH 2/3] Add sample website --- public/assets/index-Cv4kaukA.css | 1 + public/assets/index-Hf0teXvl.js | 61 ++++++++++++++++++++++++++++++++ public/index.html | 14 ++++++++ public/vite.svg | 1 + 4 files changed, 77 insertions(+) create mode 100644 public/assets/index-Cv4kaukA.css create mode 100644 public/assets/index-Hf0teXvl.js create mode 100644 public/index.html create mode 100644 public/vite.svg diff --git a/public/assets/index-Cv4kaukA.css b/public/assets/index-Cv4kaukA.css new file mode 100644 index 0000000..cf5561a --- /dev/null +++ b/public/assets/index-Cv4kaukA.css @@ -0,0 +1 @@ +*{margin:0;padding:0;width:100%;box-sizing:border-box;overflow-x:hidden}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.content{padding:1.5rem;z-index:1}a{font-weight:500;color:#646cff;text-decoration:inherit}body{margin:0;display:flex;place-items:center;width:100%;min-width:320px;min-height:100vh}.glassCard{width:100%;padding:10px 20px;height:fit-content;background:#ffffffa6;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border-radius:20px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a,inset 0 1px #ffffff80,inset 0 -1px #ffffff1a,inset 0 0 8px 4px #fff6;position:relative;overflow:hidden}h1{font-size:3.2em;line-height:1.1}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}._footer_ilvdx_1{width:100%;display:flex;align-items:center;height:fit-content;padding:2rem}._footerContent_ilvdx_9{display:flex;width:100%;justify-content:center;gap:2rem}._link_ilvdx_16{color:#000;width:fit-content;text-align:center}@media screen and (max-width: 480px){._footer_ilvdx_1{padding:1rem}._footerContent_ilvdx_9{flex-direction:column;align-items:center;gap:.5rem}}._headerContainer_1bnos_1{position:relative;height:fit-content;overflow:visible}._header_1bnos_1{display:flex;align-items:center;padding:.8rem;height:fit-content;z-index:2;position:relative;justify-content:space-between}._activeHeaderContent_1bnos_20{display:flex;justify-content:space-between;width:100%;opacity:1;transition:opacity .3s ease;pointer-events:auto}._inactiveHeaderContent_1bnos_28{opacity:0;pointer-events:none;transition:opacity .3s ease;position:absolute;top:.8rem;left:.8rem}._inactiveMobileMenu_1bnos_38{max-height:0;position:absolute;top:100%;left:0}._activeMobileMenu_1bnos_45{transition:max-height 3s ease;max-height:500px;display:flex;flex-direction:column;align-items:start;gap:.5rem}._headerLeftContent_1bnos_57{display:flex;width:fit-content;align-items:center;gap:1.5rem;font-size:1.2rem}._headerRightContent_1bnos_65{width:fit-content;display:flex;align-items:center}._logo_1bnos_71{height:4rem;width:auto;flex-shrink:0}._logoLink_1bnos_77{display:inline-flex;align-items:center;justify-content:center;width:fit-content;height:fit-content;flex-shrink:0}._link_1bnos_87{color:#000;width:fit-content;text-align:center;font-weight:700;border-bottom:2px solid transparent}._link_1bnos_87:hover{border-bottom:2px solid #019AFF}._activeLink_1bnos_100{width:fit-content;text-align:center;font-weight:700;color:#019aff;border-bottom:2px solid #019AFF}svg{width:fit-content}._bellBtn_1bnos_112,._profileLink_1bnos_112{display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:transform .5s ease;background:none;padding:7px;border-radius:50%;width:55px;height:55px;position:relative}._bellBtn_1bnos_112 svg{stroke:#000;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}._bellBtn_1bnos_112:focus{outline:none}._bellBtn_1bnos_112:focus-visible{outline:2px solid black}._activeBellBtn_1bnos_141{transform:translateY(-4px);background:#bfbfbf80}._activeBellBtn_1bnos_141 svg{stroke:#019aff}._bellBtn_1bnos_112:hover{transform:translateY(-4px);background:#bfbfbf80}._bellBtn_1bnos_112:hover svg{stroke:#019aff}._profileLink_1bnos_112:hover{transform:translateY(-4px);background:#bfbfbf80}._profileLink_1bnos_112:hover svg{fill:#019aff}._bellBtn_1bnos_112 svg{height:28px}._profileLink_1bnos_112 svg{height:40px}._notificationDiv_1bnos_174{position:absolute;width:250px;top:105%;right:2rem;opacity:0;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease;z-index:1}._activeNotificationDiv_1bnos_185{opacity:1;transform:translateY(0);z-index:3}._notification_1bnos_174{margin-bottom:7%;display:flex;justify-content:space-between;align-items:center}._notificationBadge_1bnos_199{position:absolute;top:6px;right:9px;width:15px;height:15px;background-color:red;border-radius:50%}._closeBtn_1bnos_209{display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;background:none;margin:0;width:fit-content}._closeBtn_1bnos_209:focus{outline:none}._closeBtn_1bnos_209:focus-visible{outline:2px solid black}._burgerBtn_1bnos_227{flex-direction:column;justify-content:space-between;width:30px;height:22px;border:none;cursor:pointer;display:none;z-index:10}._burgerBar_1bnos_238{width:100%;height:3px;background-color:#000;border-radius:2px;transition:all .3s ease}._activeBurgerBtn_1bnos_246 ._burgerBar_1bnos_238:nth-child(1){transform:translateY(10px) rotate(45deg)}._activeBurgerBtn_1bnos_246 ._burgerBar_1bnos_238:nth-child(2){opacity:0}._activeBurgerBtn_1bnos_246 ._burgerBar_1bnos_238:nth-child(3){transform:translateY(-9px) rotate(-45deg)}._navLinks_1bnos_257{display:flex;align-items:center;justify-content:center;gap:1rem}@media screen and (max-width: 768px){._navLinks_1bnos_257{display:none}._burgerBtn_1bnos_227{display:flex}}._background-container_1wtd6_2{z-index:0;margin:0;padding:0;min-height:100vh;background:#00f0ff;overflow:hidden;position:relative;width:100vw;display:flex;justify-content:center;align-items:center}._circle_1wtd6_16{position:absolute;border-radius:50%;opacity:.8;z-index:1}._circle-1_1wtd6_23{width:600px;height:600px;background-color:#019aff;top:-10%;left:-10%}._circle-2_1wtd6_31{width:250px;height:250px;background-color:#91fcff;top:51%;left:10%}._circle-3_1wtd6_39{width:280px;height:280px;background-color:#91fcff;top:28%;right:9%}._circle-4_1wtd6_47{width:500px;height:500px;background-color:#019aff;bottom:0;right:0}._circle-5_1wtd6_55{width:240px;height:240px;background-color:#015aff;top:2%;right:2%}._circle-1_1wtd6_23,._circle-2_1wtd6_31,._circle-3_1wtd6_39,._circle-4_1wtd6_47,._circle-5_1wtd6_55,._circle_1wtd6_16{animation:_float_1wtd6_1 6s ease-in-out infinite}@keyframes _float_1wtd6_1{0%,to{transform:translate(0)}50%{transform:translate(var(--random-x),var(--random-y))}}@media (max-width:600px){._circle-1_1wtd6_23{width:300px;height:300px;background-color:#019aff;top:-5%;left:-5%}._circle-2_1wtd6_31{width:175px;height:175px;background-color:#91fcff;top:58%;left:10%}._circle-3_1wtd6_39{width:140px;height:140px;background-color:#91fcff;top:29%;right:9%}._circle-4_1wtd6_47{width:250px;height:250px;background-color:#019aff;bottom:0;right:0}._circle-5_1wtd6_55{width:240px;height:240px;background-color:#015aff;top:2%;right:10%}}._container_14kxm_1{position:relative;z-index:2;display:flex;width:600px;overflow:hidden;max-height:80%;justify-content:center;align-items:center;padding:20px;border-radius:12px}.glassCard{--glass-bg: #ffffff9f}input{width:100%;height:60px;padding:0 10px;border:none;border-radius:10px;font-size:19px;color:#111;background:var(--glass-bg);box-shadow:0 2px 6px #5b5a5a0f inset}input::placeholder{font-size:20px;color:#00000073}._logButton_aljej_21{display:flex;justify-content:center;align-items:center;margin-top:12px}._formgroup_aljej_27{margin-top:23px}._loginButton_aljej_32{display:inline-block;height:50px;width:90%;border-radius:16px;margin-bottom:3%;margin-top:3%;background-color:#fff5;color:#000;font-weight:600;border:none;cursor:pointer;transition:background-color .16s ease,transform .12s ease,box-shadow .16s ease;font-size:15px}._loginButton_aljej_32:hover{background-color:#54585e;transform:translateY(-2px);box-shadow:0 6px 14px #2b6cb02e}._loginButton_aljej_32:active{transform:translateY(0);box-shadow:0 3px 8px #2b6cb01f} diff --git a/public/assets/index-Hf0teXvl.js b/public/assets/index-Hf0teXvl.js new file mode 100644 index 0000000..ec2bcf5 --- /dev/null +++ b/public/assets/index-Hf0teXvl.js @@ -0,0 +1,61 @@ +(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))f(s);new MutationObserver(s=>{for(const m of s)if(m.type==="childList")for(const v of m.addedNodes)v.tagName==="LINK"&&v.rel==="modulepreload"&&f(v)}).observe(document,{childList:!0,subtree:!0});function o(s){const m={};return s.integrity&&(m.integrity=s.integrity),s.referrerPolicy&&(m.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?m.credentials="include":s.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function f(s){if(s.ep)return;s.ep=!0;const m=o(s);fetch(s.href,m)}})();var Of={exports:{}},Nu={};/** + * @license React + * react-jsx-runtime.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Qh;function Wy(){if(Qh)return Nu;Qh=1;var i=Symbol.for("react.transitional.element"),c=Symbol.for("react.fragment");function o(f,s,m){var v=null;if(m!==void 0&&(v=""+m),s.key!==void 0&&(v=""+s.key),"key"in s){m={};for(var S in s)S!=="key"&&(m[S]=s[S])}else m=s;return s=m.ref,{$$typeof:i,type:f,key:v,ref:s!==void 0?s:null,props:m}}return Nu.Fragment=c,Nu.jsx=o,Nu.jsxs=o,Nu}var Zh;function Py(){return Zh||(Zh=1,Of.exports=Wy()),Of.exports}var ee=Py(),xf={exports:{}},me={};/** + * @license React + * react.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Vh;function Iy(){if(Vh)return me;Vh=1;var i=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),f=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),m=Symbol.for("react.consumer"),v=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),T=Symbol.for("react.activity"),H=Symbol.iterator;function L(b){return b===null||typeof b!="object"?null:(b=H&&b[H]||b["@@iterator"],typeof b=="function"?b:null)}var G={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$=Object.assign,K={};function Z(b,j,Q){this.props=b,this.context=j,this.refs=K,this.updater=Q||G}Z.prototype.isReactComponent={},Z.prototype.setState=function(b,j){if(typeof b!="object"&&typeof b!="function"&&b!=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,b,j,"setState")},Z.prototype.forceUpdate=function(b){this.updater.enqueueForceUpdate(this,b,"forceUpdate")};function P(){}P.prototype=Z.prototype;function ne(b,j,Q){this.props=b,this.context=j,this.refs=K,this.updater=Q||G}var De=ne.prototype=new P;De.constructor=ne,$(De,Z.prototype),De.isPureReactComponent=!0;var se=Array.isArray;function O(){}var k={H:null,A:null,T:null,S:null},pe=Object.prototype.hasOwnProperty;function he(b,j,Q){var W=Q.ref;return{$$typeof:i,type:b,key:j,ref:W!==void 0?W:null,props:Q}}function Be(b,j){return he(b.type,j,b.props)}function Fe(b){return typeof b=="object"&&b!==null&&b.$$typeof===i}function et(b){var j={"=":"=0",":":"=2"};return"$"+b.replace(/[=:]/g,function(Q){return j[Q]})}var xe=/\/+/g;function Ue(b,j){return typeof b=="object"&&b!==null&&b.key!=null?et(""+b.key):j.toString(36)}function ke(b){switch(b.status){case"fulfilled":return b.value;case"rejected":throw b.reason;default:switch(typeof b.status=="string"?b.then(O,O):(b.status="pending",b.then(function(j){b.status==="pending"&&(b.status="fulfilled",b.value=j)},function(j){b.status==="pending"&&(b.status="rejected",b.reason=j)})),b.status){case"fulfilled":return b.value;case"rejected":throw b.reason}}throw b}function A(b,j,Q,W,de){var ve=typeof b;(ve==="undefined"||ve==="boolean")&&(b=null);var Ne=!1;if(b===null)Ne=!0;else switch(ve){case"bigint":case"string":case"number":Ne=!0;break;case"object":switch(b.$$typeof){case i:case c:Ne=!0;break;case z:return Ne=b._init,A(Ne(b._payload),j,Q,W,de)}}if(Ne)return de=de(b),Ne=W===""?"."+Ue(b,0):W,se(de)?(Q="",Ne!=null&&(Q=Ne.replace(xe,"$&/")+"/"),A(de,j,Q,"",function(tt){return tt})):de!=null&&(Fe(de)&&(de=Be(de,Q+(de.key==null||b&&b.key===de.key?"":(""+de.key).replace(xe,"$&/")+"/")+Ne)),j.push(de)),1;Ne=0;var yt=W===""?".":W+":";if(se(b))for(var Ie=0;Ie>>1,ye=A[be];if(0>>1;bes(Q,te))Ws(de,Q)?(A[be]=de,A[W]=te,be=W):(A[be]=Q,A[j]=te,be=j);else if(Ws(de,te))A[be]=de,A[W]=te,be=W;else break e}}return X}function s(A,X){var te=A.sortIndex-X.sortIndex;return te!==0?te:A.id-X.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var m=performance;i.unstable_now=function(){return m.now()}}else{var v=Date,S=v.now();i.unstable_now=function(){return v.now()-S}}var y=[],h=[],z=1,T=null,H=3,L=!1,G=!1,$=!1,K=!1,Z=typeof setTimeout=="function"?setTimeout:null,P=typeof clearTimeout=="function"?clearTimeout:null,ne=typeof setImmediate<"u"?setImmediate:null;function De(A){for(var X=o(h);X!==null;){if(X.callback===null)f(h);else if(X.startTime<=A)f(h),X.sortIndex=X.expirationTime,c(y,X);else break;X=o(h)}}function se(A){if($=!1,De(A),!G)if(o(y)!==null)G=!0,O||(O=!0,et());else{var X=o(h);X!==null&&ke(se,X.startTime-A)}}var O=!1,k=-1,pe=5,he=-1;function Be(){return K?!0:!(i.unstable_now()-heA&&Be());){var be=T.callback;if(typeof be=="function"){T.callback=null,H=T.priorityLevel;var ye=be(T.expirationTime<=A);if(A=i.unstable_now(),typeof ye=="function"){T.callback=ye,De(A),X=!0;break t}T===o(y)&&f(y),De(A)}else f(y);T=o(y)}if(T!==null)X=!0;else{var b=o(h);b!==null&&ke(se,b.startTime-A),X=!1}}break e}finally{T=null,H=te,L=!1}X=void 0}}finally{X?et():O=!1}}}var et;if(typeof ne=="function")et=function(){ne(Fe)};else if(typeof MessageChannel<"u"){var xe=new MessageChannel,Ue=xe.port2;xe.port1.onmessage=Fe,et=function(){Ue.postMessage(null)}}else et=function(){Z(Fe,0)};function ke(A,X){k=Z(function(){A(i.unstable_now())},X)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(A){A.callback=null},i.unstable_forceFrameRate=function(A){0>A||125be?(A.sortIndex=te,c(h,A),o(y)===null&&A===o(h)&&($?(P(k),k=-1):$=!0,ke(se,te-be))):(A.sortIndex=ye,c(y,A),G||L||(G=!0,O||(O=!0,et()))),A},i.unstable_shouldYield=Be,i.unstable_wrapCallback=function(A){var X=H;return function(){var te=H;H=X;try{return A.apply(this,arguments)}finally{H=te}}}})(Hf)),Hf}var $h;function t0(){return $h||($h=1,Nf.exports=e0()),Nf.exports}var Lf={exports:{}},Mt={};/** + * @license React + * react-dom.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Fh;function l0(){if(Fh)return Mt;Fh=1;var i=Vf();function c(y){var h="https://react.dev/errors/"+y;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(c){console.error(c)}}return i(),Lf.exports=l0(),Lf.exports}/** + * @license React + * react-dom-client.production.js + * + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Wh;function n0(){if(Wh)return Hu;Wh=1;var i=t0(),c=Vf(),o=a0();function f(e){var t="https://react.dev/errors/"+e;if(1ye||(e.current=be[ye],be[ye]=null,ye--)}function Q(e,t){ye++,be[ye]=e.current,e.current=t}var W=b(null),de=b(null),ve=b(null),Ne=b(null);function yt(e,t){switch(Q(ve,t),Q(de,e),Q(W,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?dh(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=dh(t),e=hh(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}j(W),Q(W,e)}function Ie(){j(W),j(de),j(ve)}function tt(e){e.memoizedState!==null&&Q(Ne,e);var t=W.current,l=hh(t,e.type);t!==l&&(Q(de,e),Q(W,l))}function cl(e){de.current===e&&(j(W),j(de)),Ne.current===e&&(j(Ne),Cu._currentValue=te)}var ka,Ku;function Rt(e){if(ka===void 0)try{throw Error()}catch(l){var t=l.stack.trim().match(/\n( *(at )?)/);ka=t&&t[1]||"",Ku=-1)":-1n||g[a]!==D[n]){var B=` +`+g[a].replace(" at new "," at ");return e.displayName&&B.includes("")&&(B=B.replace("",e.displayName)),B}while(1<=a&&0<=n);break}}}finally{Yn=!1,Error.prepareStackTrace=l}return(l=e?e.displayName||e.name:"")?Rt(l):""}function Ju(e,t){switch(e.tag){case 26:case 27:case 5:return Rt(e.type);case 16:return Rt("Lazy");case 13:return e.child!==t&&t!==null?Rt("Suspense Fallback"):Rt("Suspense");case 19:return Rt("SuspenseList");case 0:case 15:return qn(e.type,!1);case 11:return qn(e.type.render,!1);case 1:return qn(e.type,!0);case 31:return Rt("Activity");default:return""}}function $u(e){try{var t="",l=null;do t+=Ju(e,l),l=e,e=e.return;while(e);return t}catch(a){return` +Error generating stack: `+a.message+` +`+a.stack}}var Gn=Object.prototype.hasOwnProperty,Xn=i.unstable_scheduleCallback,Qn=i.unstable_cancelCallback,Dl=i.unstable_shouldYield,Ma=i.unstable_requestPaint,Tt=i.unstable_now,Zn=i.unstable_getCurrentPriorityLevel,Vt=i.unstable_ImmediatePriority,Kt=i.unstable_UserBlockingPriority,Ra=i.unstable_NormalPriority,bc=i.unstable_LowPriority,Wa=i.unstable_IdlePriority,Ec=i.log,rl=i.unstable_setDisableYieldValue,Fl=null,zt=null;function fl(e){if(typeof Ec=="function"&&rl(e),zt&&typeof zt.setStrictMode=="function")try{zt.setStrictMode(Fl,e)}catch{}}var Dt=Math.clz32?Math.clz32:ku,Fu=Math.log,Pa=Math.LN2;function ku(e){return e>>>=0,e===0?32:31-(Fu(e)/Pa|0)|0}var kl=256,Ia=262144,Da=4194304;function Al(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Aa(e,t,l){var a=e.pendingLanes;if(a===0)return 0;var n=0,u=e.suspendedLanes,r=e.pingedLanes;e=e.warmLanes;var d=a&134217727;return d!==0?(a=d&~u,a!==0?n=Al(a):(r&=d,r!==0?n=Al(r):l||(l=d&~e,l!==0&&(n=Al(l))))):(d=a&~u,d!==0?n=Al(d):r!==0?n=Al(r):l||(l=a&~e,l!==0&&(n=Al(l)))),n===0?0:t!==0&&t!==n&&(t&u)===0&&(u=n&-n,l=t&-t,u>=l||u===32&&(l&4194048)!==0)?t:n}function yl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function en(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Wu(){var e=Da;return Da<<=1,(Da&62914560)===0&&(Da=4194304),e}function Vn(e){for(var t=[],l=0;31>l;l++)t.push(e);return t}function p(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function M(e,t,l,a,n,u){var r=e.pendingLanes;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=l,e.entangledLanes&=l,e.errorRecoveryDisabledLanes&=l,e.shellSuspendCounter=0;var d=e.entanglements,g=e.expirationTimes,D=e.hiddenUpdates;for(l=r&~l;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Vm=/[\n"\\]/g;function kt(e){return e.replace(Vm,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function zc(e,t,l,a,n,u,r,d){e.name="",r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?e.type=r:e.removeAttribute("type"),t!=null?r==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ft(t)):e.value!==""+Ft(t)&&(e.value=""+Ft(t)):r!=="submit"&&r!=="reset"||e.removeAttribute("value"),t!=null?_c(e,r,Ft(t)):l!=null?_c(e,r,Ft(l)):a!=null&&e.removeAttribute("value"),n==null&&u!=null&&(e.defaultChecked=!!u),n!=null&&(e.checked=n&&typeof n!="function"&&typeof n!="symbol"),d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"?e.name=""+Ft(d):e.removeAttribute("name")}function uo(e,t,l,a,n,u,r,d){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.type=u),t!=null||l!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){Tc(e);return}l=l!=null?""+Ft(l):"",t=t!=null?""+Ft(t):l,d||t===e.value||(e.value=t),e.defaultValue=t}a=a??n,a=typeof a!="function"&&typeof a!="symbol"&&!!a,e.checked=d?e.checked:!!a,e.defaultChecked=!!a,r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"&&(e.name=r),Tc(e)}function _c(e,t,l){t==="number"&&Pu(e.ownerDocument)===e||e.defaultValue===""+l||(e.defaultValue=""+l)}function tn(e,t,l,a){if(e=e.options,t){t={};for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Cc=!1;if(Ul)try{var Jn={};Object.defineProperty(Jn,"passive",{get:function(){Cc=!0}}),window.addEventListener("test",Jn,Jn),window.removeEventListener("test",Jn,Jn)}catch{Cc=!1}var Wl=null,Oc=null,ei=null;function ho(){if(ei)return ei;var e,t=Oc,l=t.length,a,n="value"in Wl?Wl.value:Wl.textContent,u=n.length;for(e=0;e=kn),So=" ",bo=!1;function Eo(e,t){switch(e){case"keyup":return Sv.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function To(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var un=!1;function Ev(e,t){switch(e){case"compositionend":return To(t);case"keypress":return t.which!==32?null:(bo=!0,So);case"textInput":return e=t.data,e===So&&bo?null:e;default:return null}}function Tv(e,t){if(un)return e==="compositionend"||!Lc&&Eo(e,t)?(e=ho(),ei=Oc=Wl=null,un=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:l,offset:t-e};e=a}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=Oo(l)}}function Uo(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Uo(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function No(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Pu(e.document);t instanceof e.HTMLIFrameElement;){try{var l=typeof t.contentWindow.location.href=="string"}catch{l=!1}if(l)e=t.contentWindow;else break;t=Pu(e.document)}return t}function wc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Ov=Ul&&"documentMode"in document&&11>=document.documentMode,cn=null,Yc=null,eu=null,qc=!1;function Ho(e,t,l){var a=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;qc||cn==null||cn!==Pu(a)||(a=cn,"selectionStart"in a&&wc(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),eu&&In(eu,a)||(eu=a,a=Ji(Yc,"onSelect"),0>=r,n-=r,bl=1<<32-Dt(t)+n|l<Se?(Ce=ae,ae=null):Ce=ae.sibling;var Le=C(_,ae,R[Se],w);if(Le===null){ae===null&&(ae=Ce);break}e&&ae&&Le.alternate===null&&t(_,ae),E=u(Le,E,Se),He===null?fe=Le:He.sibling=Le,He=Le,ae=Ce}if(Se===R.length)return l(_,ae),Oe&&Hl(_,Se),fe;if(ae===null){for(;SeSe?(Ce=ae,ae=null):Ce=ae.sibling;var Sa=C(_,ae,Le.value,w);if(Sa===null){ae===null&&(ae=Ce);break}e&&ae&&Sa.alternate===null&&t(_,ae),E=u(Sa,E,Se),He===null?fe=Sa:He.sibling=Sa,He=Sa,ae=Ce}if(Le.done)return l(_,ae),Oe&&Hl(_,Se),fe;if(ae===null){for(;!Le.done;Se++,Le=R.next())Le=Y(_,Le.value,w),Le!==null&&(E=u(Le,E,Se),He===null?fe=Le:He.sibling=Le,He=Le);return Oe&&Hl(_,Se),fe}for(ae=a(ae);!Le.done;Se++,Le=R.next())Le=N(ae,_,Se,Le.value,w),Le!==null&&(e&&Le.alternate!==null&&ae.delete(Le.key===null?Se:Le.key),E=u(Le,E,Se),He===null?fe=Le:He.sibling=Le,He=Le);return e&&ae.forEach(function(ky){return t(_,ky)}),Oe&&Hl(_,Se),fe}function Ze(_,E,R,w){if(typeof R=="object"&&R!==null&&R.type===$&&R.key===null&&(R=R.props.children),typeof R=="object"&&R!==null){switch(R.$$typeof){case L:e:{for(var fe=R.key;E!==null;){if(E.key===fe){if(fe=R.type,fe===$){if(E.tag===7){l(_,E.sibling),w=n(E,R.props.children),w.return=_,_=w;break e}}else if(E.elementType===fe||typeof fe=="object"&&fe!==null&&fe.$$typeof===pe&&qa(fe)===E.type){l(_,E.sibling),w=n(E,R.props),iu(w,R),w.return=_,_=w;break e}l(_,E);break}else t(_,E);E=E.sibling}R.type===$?(w=La(R.props.children,_.mode,w,R.key),w.return=_,_=w):(w=oi(R.type,R.key,R.props,null,_.mode,w),iu(w,R),w.return=_,_=w)}return r(_);case G:e:{for(fe=R.key;E!==null;){if(E.key===fe)if(E.tag===4&&E.stateNode.containerInfo===R.containerInfo&&E.stateNode.implementation===R.implementation){l(_,E.sibling),w=n(E,R.children||[]),w.return=_,_=w;break e}else{l(_,E);break}else t(_,E);E=E.sibling}w=Jc(R,_.mode,w),w.return=_,_=w}return r(_);case pe:return R=qa(R),Ze(_,E,R,w)}if(ke(R))return I(_,E,R,w);if(et(R)){if(fe=et(R),typeof fe!="function")throw Error(f(150));return R=fe.call(R),oe(_,E,R,w)}if(typeof R.then=="function")return Ze(_,E,gi(R),w);if(R.$$typeof===ne)return Ze(_,E,hi(_,R),w);pi(_,R)}return typeof R=="string"&&R!==""||typeof R=="number"||typeof R=="bigint"?(R=""+R,E!==null&&E.tag===6?(l(_,E.sibling),w=n(E,R),w.return=_,_=w):(l(_,E),w=Kc(R,_.mode,w),w.return=_,_=w),r(_)):l(_,E)}return function(_,E,R,w){try{uu=0;var fe=Ze(_,E,R,w);return pn=null,fe}catch(ae){if(ae===gn||ae===vi)throw ae;var He=wt(29,ae,null,_.mode);return He.lanes=w,He.return=_,He}finally{}}}var Xa=as(!0),ns=as(!1),la=!1;function ur(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ir(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function aa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function na(e,t,l){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(we&2)!==0){var n=a.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),a.pending=t,t=fi(e),Go(e,null,l),t}return ri(e,a,t,l),fi(e)}function cu(e,t,l){if(t=t.updateQueue,t!==null&&(t=t.shared,(l&4194048)!==0)){var a=t.lanes;a&=e.pendingLanes,l|=a,t.lanes=l,q(e,l)}}function cr(e,t){var l=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,l===a)){var n=null,u=null;if(l=l.firstBaseUpdate,l!==null){do{var r={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};u===null?n=u=r:u=u.next=r,l=l.next}while(l!==null);u===null?n=u=t:u=u.next=t}else n=u=t;l={baseState:a.baseState,firstBaseUpdate:n,lastBaseUpdate:u,shared:a.shared,callbacks:a.callbacks},e.updateQueue=l;return}e=l.lastBaseUpdate,e===null?l.firstBaseUpdate=t:e.next=t,l.lastBaseUpdate=t}var rr=!1;function ru(){if(rr){var e=yn;if(e!==null)throw e}}function fu(e,t,l,a){rr=!1;var n=e.updateQueue;la=!1;var u=n.firstBaseUpdate,r=n.lastBaseUpdate,d=n.shared.pending;if(d!==null){n.shared.pending=null;var g=d,D=g.next;g.next=null,r===null?u=D:r.next=D,r=g;var B=e.alternate;B!==null&&(B=B.updateQueue,d=B.lastBaseUpdate,d!==r&&(d===null?B.firstBaseUpdate=D:d.next=D,B.lastBaseUpdate=g))}if(u!==null){var Y=n.baseState;r=0,B=D=g=null,d=u;do{var C=d.lane&-536870913,N=C!==d.lane;if(N?(Ae&C)===C:(a&C)===C){C!==0&&C===vn&&(rr=!0),B!==null&&(B=B.next={lane:0,tag:d.tag,payload:d.payload,callback:null,next:null});e:{var I=e,oe=d;C=t;var Ze=l;switch(oe.tag){case 1:if(I=oe.payload,typeof I=="function"){Y=I.call(Ze,Y,C);break e}Y=I;break e;case 3:I.flags=I.flags&-65537|128;case 0:if(I=oe.payload,C=typeof I=="function"?I.call(Ze,Y,C):I,C==null)break e;Y=T({},Y,C);break e;case 2:la=!0}}C=d.callback,C!==null&&(e.flags|=64,N&&(e.flags|=8192),N=n.callbacks,N===null?n.callbacks=[C]:N.push(C))}else N={lane:C,tag:d.tag,payload:d.payload,callback:d.callback,next:null},B===null?(D=B=N,g=Y):B=B.next=N,r|=C;if(d=d.next,d===null){if(d=n.shared.pending,d===null)break;N=d,d=N.next,N.next=null,n.lastBaseUpdate=N,n.shared.pending=null}}while(!0);B===null&&(g=Y),n.baseState=g,n.firstBaseUpdate=D,n.lastBaseUpdate=B,u===null&&(n.shared.lanes=0),fa|=r,e.lanes=r,e.memoizedState=Y}}function us(e,t){if(typeof e!="function")throw Error(f(191,e));e.call(t)}function is(e,t){var l=e.callbacks;if(l!==null)for(e.callbacks=null,e=0;eu?u:8;var r=A.T,d={};A.T=d,Dr(e,!1,t,l);try{var g=n(),D=A.S;if(D!==null&&D(d,g),g!==null&&typeof g=="object"&&typeof g.then=="function"){var B=Yv(g,a);du(e,t,B,Qt(e))}else du(e,t,a,Qt(e))}catch(Y){du(e,t,{then:function(){},status:"rejected",reason:Y},Qt())}finally{X.p=u,r!==null&&d.types!==null&&(r.types=d.types),A.T=r}}function Vv(){}function Mr(e,t,l,a){if(e.tag!==5)throw Error(f(476));var n=ws(e).queue;js(e,n,t,te,l===null?Vv:function(){return Ys(e),l(a)})}function ws(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:te,baseState:te,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:wl,lastRenderedState:te},next:null};var l={};return t.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:wl,lastRenderedState:l},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ys(e){var t=ws(e);t.next===null&&(t=e.alternate.memoizedState),du(e,t.next.queue,{},Qt())}function Rr(){return St(Cu)}function qs(){return it().memoizedState}function Gs(){return it().memoizedState}function Kv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var l=Qt();e=aa(l);var a=na(t,e,l);a!==null&&(Lt(a,t,l),cu(a,t,l)),t={cache:tr()},e.payload=t;return}t=t.return}}function Jv(e,t,l){var a=Qt();l={lane:a,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Ai(e)?Qs(t,l):(l=Zc(e,t,l,a),l!==null&&(Lt(l,e,a),Zs(l,t,a)))}function Xs(e,t,l){var a=Qt();du(e,t,l,a)}function du(e,t,l,a){var n={lane:a,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(Ai(e))Qs(t,n);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var r=t.lastRenderedState,d=u(r,l);if(n.hasEagerState=!0,n.eagerState=d,jt(d,r))return ri(e,t,n,0),Ve===null&&ci(),!1}catch{}finally{}if(l=Zc(e,t,n,a),l!==null)return Lt(l,e,a),Zs(l,t,a),!0}return!1}function Dr(e,t,l,a){if(a={lane:2,revertLane:uf(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Ai(e)){if(t)throw Error(f(479))}else t=Zc(e,l,a,2),t!==null&&Lt(t,e,2)}function Ai(e){var t=e.alternate;return e===ge||t!==null&&t===ge}function Qs(e,t){bn=Ei=!0;var l=e.pending;l===null?t.next=t:(t.next=l.next,l.next=t),e.pending=t}function Zs(e,t,l){if((l&4194048)!==0){var a=t.lanes;a&=e.pendingLanes,l|=a,t.lanes=l,q(e,l)}}var hu={readContext:St,use:_i,useCallback:lt,useContext:lt,useEffect:lt,useImperativeHandle:lt,useLayoutEffect:lt,useInsertionEffect:lt,useMemo:lt,useReducer:lt,useRef:lt,useState:lt,useDebugValue:lt,useDeferredValue:lt,useTransition:lt,useSyncExternalStore:lt,useId:lt,useHostTransitionStatus:lt,useFormState:lt,useActionState:lt,useOptimistic:lt,useMemoCache:lt,useCacheRefresh:lt};hu.useEffectEvent=lt;var Vs={readContext:St,use:_i,useCallback:function(e,t){return Ct().memoizedState=[e,t===void 0?null:t],e},useContext:St,useEffect:As,useImperativeHandle:function(e,t,l){l=l!=null?l.concat([e]):null,Ri(4194308,4,Us.bind(null,t,e),l)},useLayoutEffect:function(e,t){return Ri(4194308,4,e,t)},useInsertionEffect:function(e,t){Ri(4,2,e,t)},useMemo:function(e,t){var l=Ct();t=t===void 0?null:t;var a=e();if(Qa){fl(!0);try{e()}finally{fl(!1)}}return l.memoizedState=[a,t],a},useReducer:function(e,t,l){var a=Ct();if(l!==void 0){var n=l(t);if(Qa){fl(!0);try{l(t)}finally{fl(!1)}}}else n=t;return a.memoizedState=a.baseState=n,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},a.queue=e,e=e.dispatch=Jv.bind(null,ge,e),[a.memoizedState,e]},useRef:function(e){var t=Ct();return e={current:e},t.memoizedState=e},useState:function(e){e=br(e);var t=e.queue,l=Xs.bind(null,ge,t);return t.dispatch=l,[e.memoizedState,l]},useDebugValue:zr,useDeferredValue:function(e,t){var l=Ct();return _r(l,e,t)},useTransition:function(){var e=br(!1);return e=js.bind(null,ge,e.queue,!0,!1),Ct().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,l){var a=ge,n=Ct();if(Oe){if(l===void 0)throw Error(f(407));l=l()}else{if(l=t(),Ve===null)throw Error(f(349));(Ae&127)!==0||ds(a,t,l)}n.memoizedState=l;var u={value:l,getSnapshot:t};return n.queue=u,As(ms.bind(null,a,u,e),[e]),a.flags|=2048,Tn(9,{destroy:void 0},hs.bind(null,a,u,l,t),null),l},useId:function(){var e=Ct(),t=Ve.identifierPrefix;if(Oe){var l=El,a=bl;l=(a&~(1<<32-Dt(a)-1)).toString(32)+l,t="_"+t+"R_"+l,l=Ti++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof a.is=="string"?r.createElement("select",{is:a.is}):r.createElement("select"),a.multiple?u.multiple=!0:a.size&&(u.size=a.size);break;default:u=typeof a.is=="string"?r.createElement(n,{is:a.is}):r.createElement(n)}}u[J]=t,u[F]=a;e:for(r=t.child;r!==null;){if(r.tag===5||r.tag===6)u.appendChild(r.stateNode);else if(r.tag!==4&&r.tag!==27&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break e;for(;r.sibling===null;){if(r.return===null||r.return===t)break e;r=r.return}r.sibling.return=r.return,r=r.sibling}t.stateNode=u;e:switch(Et(u,n,a),n){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}a&&ql(t)}}return $e(t),Gr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,l),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==a&&ql(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(f(166));if(e=ve.current,hn(t)){if(e=t.stateNode,l=t.memoizedProps,a=null,n=pt,n!==null)switch(n.tag){case 27:case 5:a=n.memoizedProps}e[J]=t,e=!!(e.nodeValue===l||a!==null&&a.suppressHydrationWarning===!0||oh(e.nodeValue,l)),e||ea(t,!0)}else e=$i(e).createTextNode(a),e[J]=t,t.stateNode=e}return $e(t),null;case 31:if(l=t.memoizedState,e===null||e.memoizedState!==null){if(a=hn(t),l!==null){if(e===null){if(!a)throw Error(f(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(f(557));e[J]=t}else Ba(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$e(t),e=!1}else l=Wc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),e=!0;if(!e)return t.flags&256?(qt(t),t):(qt(t),null);if((t.flags&128)!==0)throw Error(f(558))}return $e(t),null;case 13:if(a=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(n=hn(t),a!==null&&a.dehydrated!==null){if(e===null){if(!n)throw Error(f(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(f(317));n[J]=t}else Ba(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$e(t),n=!1}else n=Wc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),n=!0;if(!n)return t.flags&256?(qt(t),t):(qt(t),null)}return qt(t),(t.flags&128)!==0?(t.lanes=l,t):(l=a!==null,e=e!==null&&e.memoizedState!==null,l&&(a=t.child,n=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(n=a.alternate.memoizedState.cachePool.pool),u=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(u=a.memoizedState.cachePool.pool),u!==n&&(a.flags|=2048)),l!==e&&l&&(t.child.flags|=8192),Ni(t,t.updateQueue),$e(t),null);case 4:return Ie(),e===null&&of(t.stateNode.containerInfo),$e(t),null;case 10:return Bl(t.type),$e(t),null;case 19:if(j(ut),a=t.memoizedState,a===null)return $e(t),null;if(n=(t.flags&128)!==0,u=a.rendering,u===null)if(n)vu(a,!1);else{if(at!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=bi(e),u!==null){for(t.flags|=128,vu(a,!1),e=u.updateQueue,t.updateQueue=e,Ni(t,e),t.subtreeFlags=0,e=l,l=t.child;l!==null;)Xo(l,e),l=l.sibling;return Q(ut,ut.current&1|2),Oe&&Hl(t,a.treeForkCount),t.child}e=e.sibling}a.tail!==null&&Tt()>wi&&(t.flags|=128,n=!0,vu(a,!1),t.lanes=4194304)}else{if(!n)if(e=bi(u),e!==null){if(t.flags|=128,n=!0,e=e.updateQueue,t.updateQueue=e,Ni(t,e),vu(a,!0),a.tail===null&&a.tailMode==="hidden"&&!u.alternate&&!Oe)return $e(t),null}else 2*Tt()-a.renderingStartTime>wi&&l!==536870912&&(t.flags|=128,n=!0,vu(a,!1),t.lanes=4194304);a.isBackwards?(u.sibling=t.child,t.child=u):(e=a.last,e!==null?e.sibling=u:t.child=u,a.last=u)}return a.tail!==null?(e=a.tail,a.rendering=e,a.tail=e.sibling,a.renderingStartTime=Tt(),e.sibling=null,l=ut.current,Q(ut,n?l&1|2:l&1),Oe&&Hl(t,a.treeForkCount),e):($e(t),null);case 22:case 23:return qt(t),or(),a=t.memoizedState!==null,e!==null?e.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(l&536870912)!==0&&(t.flags&128)===0&&($e(t),t.subtreeFlags&6&&(t.flags|=8192)):$e(t),l=t.updateQueue,l!==null&&Ni(t,l.retryQueue),l=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==l&&(t.flags|=2048),e!==null&&j(Ya),null;case 24:return l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),Bl(rt),$e(t),null;case 25:return null;case 30:return null}throw Error(f(156,t.tag))}function Pv(e,t){switch(Fc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Bl(rt),Ie(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return cl(t),null;case 31:if(t.memoizedState!==null){if(qt(t),t.alternate===null)throw Error(f(340));Ba()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(qt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(f(340));Ba()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return j(ut),null;case 4:return Ie(),null;case 10:return Bl(t.type),null;case 22:case 23:return qt(t),or(),e!==null&&j(Ya),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Bl(rt),null;case 25:return null;default:return null}}function vd(e,t){switch(Fc(t),t.tag){case 3:Bl(rt),Ie();break;case 26:case 27:case 5:cl(t);break;case 4:Ie();break;case 31:t.memoizedState!==null&&qt(t);break;case 13:qt(t);break;case 19:j(ut);break;case 10:Bl(t.type);break;case 22:case 23:qt(t),or(),e!==null&&j(Ya);break;case 24:Bl(rt)}}function yu(e,t){try{var l=t.updateQueue,a=l!==null?l.lastEffect:null;if(a!==null){var n=a.next;l=n;do{if((l.tag&e)===e){a=void 0;var u=l.create,r=l.inst;a=u(),r.destroy=a}l=l.next}while(l!==n)}}catch(d){qe(t,t.return,d)}}function ca(e,t,l){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var u=n.next;a=u;do{if((a.tag&e)===e){var r=a.inst,d=r.destroy;if(d!==void 0){r.destroy=void 0,n=t;var g=l,D=d;try{D()}catch(B){qe(n,g,B)}}}a=a.next}while(a!==u)}}catch(B){qe(t,t.return,B)}}function yd(e){var t=e.updateQueue;if(t!==null){var l=e.stateNode;try{is(t,l)}catch(a){qe(e,e.return,a)}}}function gd(e,t,l){l.props=Za(e.type,e.memoizedProps),l.state=e.memoizedState;try{l.componentWillUnmount()}catch(a){qe(e,t,a)}}function gu(e,t){try{var l=e.ref;if(l!==null){switch(e.tag){case 26:case 27:case 5:var a=e.stateNode;break;case 30:a=e.stateNode;break;default:a=e.stateNode}typeof l=="function"?e.refCleanup=l(a):l.current=a}}catch(n){qe(e,t,n)}}function Tl(e,t){var l=e.ref,a=e.refCleanup;if(l!==null)if(typeof a=="function")try{a()}catch(n){qe(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(n){qe(e,t,n)}else l.current=null}function pd(e){var t=e.type,l=e.memoizedProps,a=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":l.autoFocus&&a.focus();break e;case"img":l.src?a.src=l.src:l.srcSet&&(a.srcset=l.srcSet)}}catch(n){qe(e,e.return,n)}}function Xr(e,t,l){try{var a=e.stateNode;by(a,e.type,l,t),a[F]=t}catch(n){qe(e,e.return,n)}}function Sd(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ma(e.type)||e.tag===4}function Qr(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Sd(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ma(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Zr(e,t,l){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(e,t):(t=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,t.appendChild(e),l=l._reactRootContainer,l!=null||t.onclick!==null||(t.onclick=xl));else if(a!==4&&(a===27&&ma(e.type)&&(l=e.stateNode,t=null),e=e.child,e!==null))for(Zr(e,t,l),e=e.sibling;e!==null;)Zr(e,t,l),e=e.sibling}function Hi(e,t,l){var a=e.tag;if(a===5||a===6)e=e.stateNode,t?l.insertBefore(e,t):l.appendChild(e);else if(a!==4&&(a===27&&ma(e.type)&&(l=e.stateNode),e=e.child,e!==null))for(Hi(e,t,l),e=e.sibling;e!==null;)Hi(e,t,l),e=e.sibling}function bd(e){var t=e.stateNode,l=e.memoizedProps;try{for(var a=e.type,n=t.attributes;n.length;)t.removeAttributeNode(n[0]);Et(t,a,l),t[J]=e,t[F]=l}catch(u){qe(e,e.return,u)}}var Gl=!1,st=!1,Vr=!1,Ed=typeof WeakSet=="function"?WeakSet:Set,vt=null;function Iv(e,t){if(e=e.containerInfo,hf=tc,e=No(e),wc(e)){if("selectionStart"in e)var l={start:e.selectionStart,end:e.selectionEnd};else e:{l=(l=e.ownerDocument)&&l.defaultView||window;var a=l.getSelection&&l.getSelection();if(a&&a.rangeCount!==0){l=a.anchorNode;var n=a.anchorOffset,u=a.focusNode;a=a.focusOffset;try{l.nodeType,u.nodeType}catch{l=null;break e}var r=0,d=-1,g=-1,D=0,B=0,Y=e,C=null;t:for(;;){for(var N;Y!==l||n!==0&&Y.nodeType!==3||(d=r+n),Y!==u||a!==0&&Y.nodeType!==3||(g=r+a),Y.nodeType===3&&(r+=Y.nodeValue.length),(N=Y.firstChild)!==null;)C=Y,Y=N;for(;;){if(Y===e)break t;if(C===l&&++D===n&&(d=r),C===u&&++B===a&&(g=r),(N=Y.nextSibling)!==null)break;Y=C,C=Y.parentNode}Y=N}l=d===-1||g===-1?null:{start:d,end:g}}else l=null}l=l||{start:0,end:0}}else l=null;for(mf={focusedElem:e,selectionRange:l},tc=!1,vt=t;vt!==null;)if(t=vt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,vt=e;else for(;vt!==null;){switch(t=vt,u=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(l=0;l title"))),Et(u,a,l),u[J]=e,We(u),a=u;break e;case"link":var r=Dh("link","href",n).get(a+(l.href||""));if(r){for(var d=0;dZe&&(r=Ze,Ze=oe,oe=r);var _=xo(d,oe),E=xo(d,Ze);if(_&&E&&(N.rangeCount!==1||N.anchorNode!==_.node||N.anchorOffset!==_.offset||N.focusNode!==E.node||N.focusOffset!==E.offset)){var R=Y.createRange();R.setStart(_.node,_.offset),N.removeAllRanges(),oe>Ze?(N.addRange(R),N.extend(E.node,E.offset)):(R.setEnd(E.node,E.offset),N.addRange(R))}}}}for(Y=[],N=d;N=N.parentNode;)N.nodeType===1&&Y.push({element:N,left:N.scrollLeft,top:N.scrollTop});for(typeof d.focus=="function"&&d.focus(),d=0;dl?32:l,A.T=null,l=Pr,Pr=null;var u=sa,r=Kl;if(ht=0,Dn=sa=null,Kl=0,(we&6)!==0)throw Error(f(331));var d=we;if(we|=4,Ud(u.current),Cd(u,u.current,r,l),we=d,zu(0,!1),zt&&typeof zt.onPostCommitFiberRoot=="function")try{zt.onPostCommitFiberRoot(Fl,u)}catch{}return!0}finally{X.p=n,A.T=a,kd(e,t)}}function Pd(e,t,l){t=Pt(l,t),t=xr(e.stateNode,t,2),e=na(e,t,2),e!==null&&(p(e,2),zl(e))}function qe(e,t,l){if(e.tag===3)Pd(e,e,l);else for(;t!==null;){if(t.tag===3){Pd(t,e,l);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(oa===null||!oa.has(a))){e=Pt(l,e),l=Is(2),a=na(t,l,2),a!==null&&(ed(l,a,t,e),p(a,2),zl(a));break}}t=t.return}}function lf(e,t,l){var a=e.pingCache;if(a===null){a=e.pingCache=new ly;var n=new Set;a.set(t,n)}else n=a.get(t),n===void 0&&(n=new Set,a.set(t,n));n.has(l)||($r=!0,n.add(l),e=cy.bind(null,e,t,l),t.then(e,e))}function cy(e,t,l){var a=e.pingCache;a!==null&&a.delete(t),e.pingedLanes|=e.suspendedLanes&l,e.warmLanes&=~l,Ve===e&&(Ae&l)===l&&(at===4||at===3&&(Ae&62914560)===Ae&&300>Tt()-ji?(we&2)===0&&An(e,0):Fr|=l,Rn===Ae&&(Rn=0)),zl(e)}function Id(e,t){t===0&&(t=Wu()),e=Ha(e,t),e!==null&&(p(e,t),zl(e))}function ry(e){var t=e.memoizedState,l=0;t!==null&&(l=t.retryLane),Id(e,l)}function fy(e,t){var l=0;switch(e.tag){case 31:case 13:var a=e.stateNode,n=e.memoizedState;n!==null&&(l=n.retryLane);break;case 19:a=e.stateNode;break;case 22:a=e.stateNode._retryCache;break;default:throw Error(f(314))}a!==null&&a.delete(t),Id(e,l)}function oy(e,t){return Xn(e,t)}var Zi=null,On=null,af=!1,Vi=!1,nf=!1,ha=0;function zl(e){e!==On&&e.next===null&&(On===null?Zi=On=e:On=On.next=e),Vi=!0,af||(af=!0,dy())}function zu(e,t){if(!nf&&Vi){nf=!0;do for(var l=!1,a=Zi;a!==null;){if(e!==0){var n=a.pendingLanes;if(n===0)var u=0;else{var r=a.suspendedLanes,d=a.pingedLanes;u=(1<<31-Dt(42|e)+1)-1,u&=n&~(r&~d),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(l=!0,ah(a,u))}else u=Ae,u=Aa(a,a===Ve?u:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(u&3)===0||yl(a,u)||(l=!0,ah(a,u));a=a.next}while(l);nf=!1}}function sy(){eh()}function eh(){Vi=af=!1;var e=0;ha!==0&&Ty()&&(e=ha);for(var t=Tt(),l=null,a=Zi;a!==null;){var n=a.next,u=th(a,t);u===0?(a.next=null,l===null?Zi=n:l.next=n,n===null&&(On=l)):(l=a,(e!==0||(u&3)!==0)&&(Vi=!0)),a=n}ht!==0&&ht!==5||zu(e),ha!==0&&(ha=0)}function th(e,t){for(var l=e.suspendedLanes,a=e.pingedLanes,n=e.expirationTimes,u=e.pendingLanes&-62914561;0d)break;var B=g.transferSize,Y=g.initiatorType;B&&sh(Y)&&(g=g.responseEnd,r+=B*(g"u"?null:document;function zh(e,t,l){var a=xn;if(a&&typeof t=="string"&&t){var n=kt(t);n='link[rel="'+e+'"][href="'+n+'"]',typeof l=="string"&&(n+='[crossorigin="'+l+'"]'),Th.has(n)||(Th.add(n),e={rel:e,crossOrigin:l,href:t},a.querySelector(n)===null&&(t=a.createElement("link"),Et(t,"link",e),We(t),a.head.appendChild(t)))}}function xy(e){Jl.D(e),zh("dns-prefetch",e,null)}function Uy(e,t){Jl.C(e,t),zh("preconnect",e,t)}function Ny(e,t,l){Jl.L(e,t,l);var a=xn;if(a&&e&&t){var n='link[rel="preload"][as="'+kt(t)+'"]';t==="image"&&l&&l.imageSrcSet?(n+='[imagesrcset="'+kt(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(n+='[imagesizes="'+kt(l.imageSizes)+'"]')):n+='[href="'+kt(e)+'"]';var u=n;switch(t){case"style":u=Un(e);break;case"script":u=Nn(e)}nl.has(u)||(e=T({rel:"preload",href:t==="image"&&l&&l.imageSrcSet?void 0:e,as:t},l),nl.set(u,e),a.querySelector(n)!==null||t==="style"&&a.querySelector(Du(u))||t==="script"&&a.querySelector(Au(u))||(t=a.createElement("link"),Et(t,"link",e),We(t),a.head.appendChild(t)))}}function Hy(e,t){Jl.m(e,t);var l=xn;if(l&&e){var a=t&&typeof t.as=="string"?t.as:"script",n='link[rel="modulepreload"][as="'+kt(a)+'"][href="'+kt(e)+'"]',u=n;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Nn(e)}if(!nl.has(u)&&(e=T({rel:"modulepreload",href:e},t),nl.set(u,e),l.querySelector(n)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Au(u)))return}a=l.createElement("link"),Et(a,"link",e),We(a),l.head.appendChild(a)}}}function Ly(e,t,l){Jl.S(e,t,l);var a=xn;if(a&&e){var n=gl(a).hoistableStyles,u=Un(e);t=t||"default";var r=n.get(u);if(!r){var d={loading:0,preload:null};if(r=a.querySelector(Du(u)))d.loading=5;else{e=T({rel:"stylesheet",href:e,"data-precedence":t},l),(l=nl.get(u))&&Ef(e,l);var g=r=a.createElement("link");We(g),Et(g,"link",e),g._p=new Promise(function(D,B){g.onload=D,g.onerror=B}),g.addEventListener("load",function(){d.loading|=1}),g.addEventListener("error",function(){d.loading|=2}),d.loading|=4,ki(r,t,a)}r={type:"stylesheet",instance:r,count:1,state:d},n.set(u,r)}}}function By(e,t){Jl.X(e,t);var l=xn;if(l&&e){var a=gl(l).hoistableScripts,n=Nn(e),u=a.get(n);u||(u=l.querySelector(Au(n)),u||(e=T({src:e,async:!0},t),(t=nl.get(n))&&Tf(e,t),u=l.createElement("script"),We(u),Et(u,"link",e),l.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},a.set(n,u))}}function jy(e,t){Jl.M(e,t);var l=xn;if(l&&e){var a=gl(l).hoistableScripts,n=Nn(e),u=a.get(n);u||(u=l.querySelector(Au(n)),u||(e=T({src:e,async:!0,type:"module"},t),(t=nl.get(n))&&Tf(e,t),u=l.createElement("script"),We(u),Et(u,"link",e),l.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},a.set(n,u))}}function _h(e,t,l,a){var n=(n=ve.current)?Fi(n):null;if(!n)throw Error(f(446));switch(e){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(t=Un(l.href),l=gl(n).hoistableStyles,a=l.get(t),a||(a={type:"style",instance:null,count:0,state:null},l.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){e=Un(l.href);var u=gl(n).hoistableStyles,r=u.get(e);if(r||(n=n.ownerDocument||n,r={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,r),(u=n.querySelector(Du(e)))&&!u._p&&(r.instance=u,r.state.loading=5),nl.has(e)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},nl.set(e,l),u||wy(n,e,l,r.state))),t&&a===null)throw Error(f(528,""));return r}if(t&&a!==null)throw Error(f(529,""));return null;case"script":return t=l.async,l=l.src,typeof l=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Nn(l),l=gl(n).hoistableScripts,a=l.get(t),a||(a={type:"script",instance:null,count:0,state:null},l.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(f(444,e))}}function Un(e){return'href="'+kt(e)+'"'}function Du(e){return'link[rel="stylesheet"]['+e+"]"}function Mh(e){return T({},e,{"data-precedence":e.precedence,precedence:null})}function wy(e,t,l,a){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=e.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Et(t,"link",l),We(t),e.head.appendChild(t))}function Nn(e){return'[src="'+kt(e)+'"]'}function Au(e){return"script[async]"+e}function Rh(e,t,l){if(t.count++,t.instance===null)switch(t.type){case"style":var a=e.querySelector('style[data-href~="'+kt(l.href)+'"]');if(a)return t.instance=a,We(a),a;var n=T({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return a=(e.ownerDocument||e).createElement("style"),We(a),Et(a,"style",n),ki(a,l.precedence,e),t.instance=a;case"stylesheet":n=Un(l.href);var u=e.querySelector(Du(n));if(u)return t.state.loading|=4,t.instance=u,We(u),u;a=Mh(l),(n=nl.get(n))&&Ef(a,n),u=(e.ownerDocument||e).createElement("link"),We(u);var r=u;return r._p=new Promise(function(d,g){r.onload=d,r.onerror=g}),Et(u,"link",a),t.state.loading|=4,ki(u,l.precedence,e),t.instance=u;case"script":return u=Nn(l.src),(n=e.querySelector(Au(u)))?(t.instance=n,We(n),n):(a=l,(n=nl.get(u))&&(a=T({},l),Tf(a,n)),e=e.ownerDocument||e,n=e.createElement("script"),We(n),Et(n,"link",a),e.head.appendChild(n),t.instance=n);case"void":return null;default:throw Error(f(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,ki(a,l.precedence,e));return t.instance}function ki(e,t,l){for(var a=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),n=a.length?a[a.length-1]:null,u=n,r=0;r title"):null)}function Yy(e,t,l){if(l===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Ch(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function qy(e,t,l,a){if(l.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var n=Un(a.href),u=t.querySelector(Du(n));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Pi.bind(e),t.then(e,e)),l.state.loading|=4,l.instance=u,We(u);return}u=t.ownerDocument||t,a=Mh(a),(n=nl.get(n))&&Ef(a,n),u=u.createElement("link"),We(u);var r=u;r._p=new Promise(function(d,g){r.onload=d,r.onerror=g}),Et(u,"link",a),l.instance=u}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(l,t),(t=l.state.preload)&&(l.state.loading&3)===0&&(e.count++,l=Pi.bind(e),t.addEventListener("load",l),t.addEventListener("error",l))}}var zf=0;function Gy(e,t){return e.stylesheets&&e.count===0&&ec(e,e.stylesheets),0zf?50:800)+t);return e.unsuspend=l,function(){e.unsuspend=null,clearTimeout(a),clearTimeout(n)}}:null}function Pi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ec(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ii=null;function ec(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ii=new Map,t.forEach(Xy,e),Ii=null,Pi.call(e))}function Xy(e,t){if(!(t.state.loading&4)){var l=Ii.get(e);if(l)var a=l.get(null);else{l=new Map,Ii.set(e,l);for(var n=e.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(c){console.error(c)}}return i(),Uf.exports=n0(),Uf.exports}var i0=u0();/** + * react-router v7.9.4 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */var bm=i=>{throw TypeError(i)},c0=(i,c,o)=>c.has(i)||bm("Cannot "+o),Bf=(i,c,o)=>(c0(i,c,"read from private field"),o?o.call(i):c.get(i)),r0=(i,c,o)=>c.has(i)?bm("Cannot add the same private member more than once"):c instanceof WeakSet?c.add(i):c.set(i,o),Ih="popstate";function f0(i={}){function c(f,s){let{pathname:m,search:v,hash:S}=f.location;return qu("",{pathname:m,search:v,hash:S},s.state&&s.state.usr||null,s.state&&s.state.key||"default")}function o(f,s){return typeof s=="string"?s:za(s)}return s0(c,o,null,i)}function Re(i,c){if(i===!1||i===null||typeof i>"u")throw new Error(c)}function dt(i,c){if(!i){typeof console<"u"&&console.warn(c);try{throw new Error(c)}catch{}}}function o0(){return Math.random().toString(36).substring(2,10)}function em(i,c){return{usr:i.state,key:i.key,idx:c}}function qu(i,c,o=null,f){return{pathname:typeof i=="string"?i:i.pathname,search:"",hash:"",...typeof c=="string"?_a(c):c,state:o,key:c&&c.key||f||o0()}}function za({pathname:i="/",search:c="",hash:o=""}){return c&&c!=="?"&&(i+=c.charAt(0)==="?"?c:"?"+c),o&&o!=="#"&&(i+=o.charAt(0)==="#"?o:"#"+o),i}function _a(i){let c={};if(i){let o=i.indexOf("#");o>=0&&(c.hash=i.substring(o),i=i.substring(0,o));let f=i.indexOf("?");f>=0&&(c.search=i.substring(f),i=i.substring(0,f)),i&&(c.pathname=i)}return c}function s0(i,c,o,f={}){let{window:s=document.defaultView,v5Compat:m=!1}=f,v=s.history,S="POP",y=null,h=z();h==null&&(h=0,v.replaceState({...v.state,idx:h},""));function z(){return(v.state||{idx:null}).idx}function T(){S="POP";let K=z(),Z=K==null?null:K-h;h=K,y&&y({action:S,location:$.location,delta:Z})}function H(K,Z){S="PUSH";let P=qu($.location,K,Z);h=z()+1;let ne=em(P,h),De=$.createHref(P);try{v.pushState(ne,"",De)}catch(se){if(se instanceof DOMException&&se.name==="DataCloneError")throw se;s.location.assign(De)}m&&y&&y({action:S,location:$.location,delta:1})}function L(K,Z){S="REPLACE";let P=qu($.location,K,Z);h=z();let ne=em(P,h),De=$.createHref(P);v.replaceState(ne,"",De),m&&y&&y({action:S,location:$.location,delta:0})}function G(K){return Em(K)}let $={get action(){return S},get location(){return i(s,v)},listen(K){if(y)throw new Error("A history only accepts one active listener");return s.addEventListener(Ih,T),y=K,()=>{s.removeEventListener(Ih,T),y=null}},createHref(K){return c(s,K)},createURL:G,encodeLocation(K){let Z=G(K);return{pathname:Z.pathname,search:Z.search,hash:Z.hash}},push:H,replace:L,go(K){return v.go(K)}};return $}function Em(i,c=!1){let o="http://localhost";typeof window<"u"&&(o=window.location.origin!=="null"?window.location.origin:window.location.href),Re(o,"No window.location.(origin|href) available to create URL");let f=typeof i=="string"?i:za(i);return f=f.replace(/ $/,"%20"),!c&&f.startsWith("//")&&(f=o+f),new URL(f,o)}var Yu,tm=class{constructor(i){if(r0(this,Yu,new Map),i)for(let[c,o]of i)this.set(c,o)}get(i){if(Bf(this,Yu).has(i))return Bf(this,Yu).get(i);if(i.defaultValue!==void 0)return i.defaultValue;throw new Error("No value found for context")}set(i,c){Bf(this,Yu).set(i,c)}};Yu=new WeakMap;var d0=new Set(["lazy","caseSensitive","path","id","index","children"]);function h0(i){return d0.has(i)}var m0=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function v0(i){return m0.has(i)}function y0(i){return i.index===!0}function Gu(i,c,o=[],f={},s=!1){return i.map((m,v)=>{let S=[...o,String(v)],y=typeof m.id=="string"?m.id:S.join("-");if(Re(m.index!==!0||!m.children,"Cannot specify children on an index route"),Re(s||!f[y],`Found a route id collision on id "${y}". Route id's must be globally unique within Data Router usages`),y0(m)){let h={...m,...c(m),id:y};return f[y]=h,h}else{let h={...m,...c(m),id:y,children:void 0};return f[y]=h,m.children&&(h.children=Gu(m.children,c,S,f,s)),h}})}function Ea(i,c,o="/"){return sc(i,c,o,!1)}function sc(i,c,o,f){let s=typeof c=="string"?_a(c):c,m=il(s.pathname||"/",o);if(m==null)return null;let v=Tm(i);p0(v);let S=null;for(let y=0;S==null&&y{let z={relativePath:h===void 0?v.path||"":h,caseSensitive:v.caseSensitive===!0,childrenIndex:S,route:v};if(z.relativePath.startsWith("/")){if(!z.relativePath.startsWith(f)&&y)return;Re(z.relativePath.startsWith(f),`Absolute route path "${z.relativePath}" nested under path "${f}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),z.relativePath=z.relativePath.slice(f.length)}let T=_l([f,z.relativePath]),H=o.concat(z);v.children&&v.children.length>0&&(Re(v.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${T}".`),Tm(v.children,c,H,T,y)),!(v.path==null&&!v.index)&&c.push({path:T,score:M0(T,v.index),routesMeta:H})};return i.forEach((v,S)=>{if(v.path===""||!v.path?.includes("?"))m(v,S);else for(let y of zm(v.path))m(v,S,!0,y)}),c}function zm(i){let c=i.split("/");if(c.length===0)return[];let[o,...f]=c,s=o.endsWith("?"),m=o.replace(/\?$/,"");if(f.length===0)return s?[m,""]:[m];let v=zm(f.join("/")),S=[];return S.push(...v.map(y=>y===""?m:[m,y].join("/"))),s&&S.push(...v),S.map(y=>i.startsWith("/")&&y===""?"/":y)}function p0(i){i.sort((c,o)=>c.score!==o.score?o.score-c.score:R0(c.routesMeta.map(f=>f.childrenIndex),o.routesMeta.map(f=>f.childrenIndex)))}var S0=/^:[\w-]+$/,b0=3,E0=2,T0=1,z0=10,_0=-2,lm=i=>i==="*";function M0(i,c){let o=i.split("/"),f=o.length;return o.some(lm)&&(f+=_0),c&&(f+=E0),o.filter(s=>!lm(s)).reduce((s,m)=>s+(S0.test(m)?b0:m===""?T0:z0),f)}function R0(i,c){return i.length===c.length&&i.slice(0,-1).every((f,s)=>f===c[s])?i[i.length-1]-c[c.length-1]:0}function D0(i,c,o=!1){let{routesMeta:f}=i,s={},m="/",v=[];for(let S=0;S{if(z==="*"){let G=S[H]||"";v=m.slice(0,m.length-G.length).replace(/(.)\/+$/,"$1")}const L=S[H];return T&&!L?h[z]=void 0:h[z]=(L||"").replace(/%2F/g,"/"),h},{}),pathname:m,pathnameBase:v,pattern:i}}function A0(i,c=!1,o=!0){dt(i==="*"||!i.endsWith("*")||i.endsWith("/*"),`Route path "${i}" will be treated as if it were "${i.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${i.replace(/\*$/,"/*")}".`);let f=[],s="^"+i.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(v,S,y)=>(f.push({paramName:S,isOptional:y!=null}),y?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return i.endsWith("*")?(f.push({paramName:"*"}),s+=i==="*"||i==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):o?s+="\\/*$":i!==""&&i!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,c?void 0:"i"),f]}function C0(i){try{return i.split("/").map(c=>decodeURIComponent(c).replace(/\//g,"%2F")).join("/")}catch(c){return dt(!1,`The URL path "${i}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${c}).`),i}}function il(i,c){if(c==="/")return i;if(!i.toLowerCase().startsWith(c.toLowerCase()))return null;let o=c.endsWith("/")?c.length-1:c.length,f=i.charAt(o);return f&&f!=="/"?null:i.slice(o)||"/"}function O0({basename:i,pathname:c}){return c==="/"?i:_l([i,c])}function x0(i,c="/"){let{pathname:o,search:f="",hash:s=""}=typeof i=="string"?_a(i):i;return{pathname:o?o.startsWith("/")?o:U0(o,c):c,search:H0(f),hash:L0(s)}}function U0(i,c){let o=c.replace(/\/+$/,"").split("/");return i.split("/").forEach(s=>{s===".."?o.length>1&&o.pop():s!=="."&&o.push(s)}),o.length>1?o.join("/"):"/"}function jf(i,c,o,f){return`Cannot include a '${i}' character in a manually specified \`to.${c}\` field [${JSON.stringify(f)}]. Please separate it out to the \`to.${o}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function _m(i){return i.filter((c,o)=>o===0||c.route.path&&c.route.path.length>0)}function Kf(i){let c=_m(i);return c.map((o,f)=>f===c.length-1?o.pathname:o.pathnameBase)}function Jf(i,c,o,f=!1){let s;typeof i=="string"?s=_a(i):(s={...i},Re(!s.pathname||!s.pathname.includes("?"),jf("?","pathname","search",s)),Re(!s.pathname||!s.pathname.includes("#"),jf("#","pathname","hash",s)),Re(!s.search||!s.search.includes("#"),jf("#","search","hash",s)));let m=i===""||s.pathname==="",v=m?"/":s.pathname,S;if(v==null)S=o;else{let T=c.length-1;if(!f&&v.startsWith("..")){let H=v.split("/");for(;H[0]==="..";)H.shift(),T-=1;s.pathname=H.join("/")}S=T>=0?c[T]:"/"}let y=x0(s,S),h=v&&v!=="/"&&v.endsWith("/"),z=(m||v===".")&&o.endsWith("/");return!y.pathname.endsWith("/")&&(h||z)&&(y.pathname+="/"),y}var _l=i=>i.join("/").replace(/\/\/+/g,"/"),N0=i=>i.replace(/\/+$/,"").replace(/^\/*/,"/"),H0=i=>!i||i==="?"?"":i.startsWith("?")?i:"?"+i,L0=i=>!i||i==="#"?"":i.startsWith("#")?i:"#"+i,yc=class{constructor(i,c,o,f=!1){this.status=i,this.statusText=c||"",this.internal=f,o instanceof Error?(this.data=o.toString(),this.error=o):this.data=o}};function Xu(i){return i!=null&&typeof i.status=="number"&&typeof i.statusText=="string"&&typeof i.internal=="boolean"&&"data"in i}var Mm=["POST","PUT","PATCH","DELETE"],B0=new Set(Mm),j0=["GET",...Mm],w0=new Set(j0),Y0=new Set([301,302,303,307,308]),q0=new Set([307,308]),wf={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},G0={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Lu={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},X0=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,$f=i=>X0.test(i),Q0=i=>({hasErrorBoundary:!!i.hasErrorBoundary}),Rm="remix-router-transitions",Dm=Symbol("ResetLoaderData");function Z0(i){const c=i.window?i.window:typeof window<"u"?window:void 0,o=typeof c<"u"&&typeof c.document<"u"&&typeof c.document.createElement<"u";Re(i.routes.length>0,"You must provide a non-empty routes array to createRouter");let f=i.hydrationRouteProperties||[],s=i.mapRouteProperties||Q0,m={},v=Gu(i.routes,s,void 0,m),S,y=i.basename||"/";y.startsWith("/")||(y=`/${y}`);let h=i.dataStrategy||F0,z={...i.future},T=null,H=new Set,L=null,G=null,$=null,K=i.hydrationData!=null,Z=Ea(v,i.history.location,y),P=!1,ne=null,De;if(Z==null&&!i.patchRoutesOnNavigation){let p=ul(404,{pathname:i.history.location.pathname}),{matches:M,route:U}=rc(v);De=!0,Z=M,ne={[U.id]:p}}else if(Z&&!i.hydrationData&&yl(Z,v,i.history.location.pathname).active&&(Z=null),Z)if(Z.some(p=>p.route.lazy))De=!1;else if(!Z.some(p=>Ff(p.route)))De=!0;else{let p=i.hydrationData?i.hydrationData.loaderData:null,M=i.hydrationData?i.hydrationData.errors:null;if(M){let U=Z.findIndex(q=>M[q.route.id]!==void 0);De=Z.slice(0,U+1).every(q=>!Xf(q.route,p,M))}else De=Z.every(U=>!Xf(U.route,p,M))}else{De=!1,Z=[];let p=yl(null,v,i.history.location.pathname);p.active&&p.matches&&(P=!0,Z=p.matches)}let se,O={historyAction:i.history.action,location:i.history.location,matches:Z,initialized:De,navigation:wf,restoreScrollPosition:i.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:i.hydrationData&&i.hydrationData.loaderData||{},actionData:i.hydrationData&&i.hydrationData.actionData||null,errors:i.hydrationData&&i.hydrationData.errors||ne,fetchers:new Map,blockers:new Map},k="POP",pe=!1,he,Be=!1,Fe=new Map,et=null,xe=!1,Ue=!1,ke=new Set,A=new Map,X=0,te=-1,be=new Map,ye=new Set,b=new Map,j=new Map,Q=new Set,W=new Map,de,ve=null;function Ne(){if(T=i.history.listen(({action:p,location:M,delta:U})=>{if(de){de(),de=void 0;return}dt(W.size===0||U!=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 q=ku({currentLocation:O.location,nextLocation:M,historyAction:p});if(q&&U!=null){let V=new Promise(ue=>{de=ue});i.history.go(U*-1),Pa(q,{state:"blocked",location:M,proceed(){Pa(q,{state:"proceeding",proceed:void 0,reset:void 0,location:M}),V.then(()=>i.history.go(U))},reset(){let ue=new Map(O.blockers);ue.set(q,Lu),tt({blockers:ue})}});return}return Rt(p,M)}),o){og(c,Fe);let p=()=>sg(c,Fe);c.addEventListener("pagehide",p),et=()=>c.removeEventListener("pagehide",p)}return O.initialized||Rt("POP",O.location,{initialHydration:!0}),se}function yt(){T&&T(),et&&et(),H.clear(),he&&he.abort(),O.fetchers.forEach((p,M)=>Wa(M)),O.blockers.forEach((p,M)=>Fu(M))}function Ie(p){return H.add(p),()=>H.delete(p)}function tt(p,M={}){p.matches&&(p.matches=p.matches.map(V=>{let ue=m[V.route.id],ie=V.route;return ie.element!==ue.element||ie.errorElement!==ue.errorElement||ie.hydrateFallbackElement!==ue.hydrateFallbackElement?{...V,route:ue}:V})),O={...O,...p};let U=[],q=[];O.fetchers.forEach((V,ue)=>{V.state==="idle"&&(Q.has(ue)?U.push(ue):q.push(ue))}),Q.forEach(V=>{!O.fetchers.has(V)&&!A.has(V)&&U.push(V)}),[...H].forEach(V=>V(O,{deletedFetchers:U,viewTransitionOpts:M.viewTransitionOpts,flushSync:M.flushSync===!0})),U.forEach(V=>Wa(V)),q.forEach(V=>O.fetchers.delete(V))}function cl(p,M,{flushSync:U}={}){let q=O.actionData!=null&&O.navigation.formMethod!=null&&Bt(O.navigation.formMethod)&&O.navigation.state==="loading"&&p.state?._isRedirect!==!0,V;M.actionData?Object.keys(M.actionData).length>0?V=M.actionData:V=null:q?V=O.actionData:V=null;let ue=M.loaderData?dm(O.loaderData,M.loaderData,M.matches||[],M.errors):O.loaderData,ie=O.blockers;ie.size>0&&(ie=new Map(ie),ie.forEach((J,F)=>ie.set(F,Lu)));let le=xe?!1:Aa(p,M.matches||O.matches),ce=pe===!0||O.navigation.formMethod!=null&&Bt(O.navigation.formMethod)&&p.state?._isRedirect!==!0;S&&(v=S,S=void 0),xe||k==="POP"||(k==="PUSH"?i.history.push(p,p.state):k==="REPLACE"&&i.history.replace(p,p.state));let re;if(k==="POP"){let J=Fe.get(O.location.pathname);J&&J.has(p.pathname)?re={currentLocation:O.location,nextLocation:p}:Fe.has(p.pathname)&&(re={currentLocation:p,nextLocation:O.location})}else if(Be){let J=Fe.get(O.location.pathname);J?J.add(p.pathname):(J=new Set([p.pathname]),Fe.set(O.location.pathname,J)),re={currentLocation:O.location,nextLocation:p}}tt({...M,actionData:V,loaderData:ue,historyAction:k,location:p,initialized:!0,navigation:wf,revalidation:"idle",restoreScrollPosition:le,preventScrollReset:ce,blockers:ie},{viewTransitionOpts:re,flushSync:U===!0}),k="POP",pe=!1,Be=!1,xe=!1,Ue=!1,ve?.resolve(),ve=null}async function ka(p,M){if(typeof p=="number"){i.history.go(p);return}let U=Gf(O.location,O.matches,y,p,M?.fromRouteId,M?.relative),{path:q,submission:V,error:ue}=am(!1,U,M),ie=O.location,le=qu(O.location,q,M&&M.state);le={...le,...i.history.encodeLocation(le)};let ce=M&&M.replace!=null?M.replace:void 0,re="PUSH";ce===!0?re="REPLACE":ce===!1||V!=null&&Bt(V.formMethod)&&V.formAction===O.location.pathname+O.location.search&&(re="REPLACE");let J=M&&"preventScrollReset"in M?M.preventScrollReset===!0:void 0,F=(M&&M.flushSync)===!0,Ee=ku({currentLocation:ie,nextLocation:le,historyAction:re});if(Ee){Pa(Ee,{state:"blocked",location:le,proceed(){Pa(Ee,{state:"proceeding",proceed:void 0,reset:void 0,location:le}),ka(p,M)},reset(){let Ge=new Map(O.blockers);Ge.set(Ee,Lu),tt({blockers:Ge})}});return}await Rt(re,le,{submission:V,pendingError:ue,preventScrollReset:J,replace:M&&M.replace,enableViewTransition:M&&M.viewTransition,flushSync:F})}function Ku(){ve||(ve=dg()),Zn(),tt({revalidation:"loading"});let p=ve.promise;return O.navigation.state==="submitting"?p:O.navigation.state==="idle"?(Rt(O.historyAction,O.location,{startUninterruptedRevalidation:!0}),p):(Rt(k||O.historyAction,O.navigation.location,{overrideNavigation:O.navigation,enableViewTransition:Be===!0}),p)}async function Rt(p,M,U){he&&he.abort(),he=null,k=p,xe=(U&&U.startUninterruptedRevalidation)===!0,Al(O.location,O.matches),pe=(U&&U.preventScrollReset)===!0,Be=(U&&U.enableViewTransition)===!0;let q=S||v,V=U&&U.overrideNavigation,ue=U?.initialHydration&&O.matches&&O.matches.length>0&&!P?O.matches:Ea(q,M,y),ie=(U&&U.flushSync)===!0;if(ue&&O.initialized&&!Ue&&ag(O.location,M)&&!(U&&U.submission&&Bt(U.submission.formMethod))){cl(M,{matches:ue},{flushSync:ie});return}let le=yl(ue,q,M.pathname);if(le.active&&le.matches&&(ue=le.matches),!ue){let{error:gt,notFoundMatches:Ke,route:je}=kl(M.pathname);cl(M,{matches:Ke,loaderData:{},errors:{[je.id]:gt}},{flushSync:ie});return}he=new AbortController;let ce=Bn(i.history,M,he.signal,U&&U.submission),re=i.getContext?await i.getContext():new tm,J;if(U&&U.pendingError)J=[Ta(ue).route.id,{type:"error",error:U.pendingError}];else if(U&&U.submission&&Bt(U.submission.formMethod)){let gt=await Yn(ce,M,U.submission,ue,re,le.active,U&&U.initialHydration===!0,{replace:U.replace,flushSync:ie});if(gt.shortCircuited)return;if(gt.pendingActionResult){let[Ke,je]=gt.pendingActionResult;if(Zt(je)&&Xu(je.error)&&je.error.status===404){he=null,cl(M,{matches:gt.matches,loaderData:{},errors:{[Ke]:je.error}});return}}ue=gt.matches||ue,J=gt.pendingActionResult,V=Yf(M,U.submission),ie=!1,le.active=!1,ce=Bn(i.history,ce.url,ce.signal)}let{shortCircuited:F,matches:Ee,loaderData:Ge,errors:ct}=await qn(ce,M,ue,re,le.active,V,U&&U.submission,U&&U.fetcherSubmission,U&&U.replace,U&&U.initialHydration===!0,ie,J);F||(he=null,cl(M,{matches:Ee||ue,...hm(J),loaderData:Ge,errors:ct}))}async function Yn(p,M,U,q,V,ue,ie,le={}){Zn();let ce=rg(M,U);if(tt({navigation:ce},{flushSync:le.flushSync===!0}),ue){let F=await en(q,M.pathname,p.signal);if(F.type==="aborted")return{shortCircuited:!0};if(F.type==="error"){if(F.partialMatches.length===0){let{matches:Ge,route:ct}=rc(v);return{matches:Ge,pendingActionResult:[ct.id,{type:"error",error:F.error}]}}let Ee=Ta(F.partialMatches).route.id;return{matches:F.partialMatches,pendingActionResult:[Ee,{type:"error",error:F.error}]}}else if(F.matches)q=F.matches;else{let{notFoundMatches:Ee,error:Ge,route:ct}=kl(M.pathname);return{matches:Ee,pendingActionResult:[ct.id,{type:"error",error:Ge}]}}}let re,J=dc(q,M);if(!J.route.action&&!J.route.lazy)re={type:"error",error:ul(405,{method:p.method,pathname:M.pathname,routeId:J.route.id})};else{let F=jn(s,m,p,q,J,ie?[]:f,V),Ee=await Ma(p,F,V,null);if(re=Ee[J.route.id],!re){for(let Ge of q)if(Ee[Ge.route.id]){re=Ee[Ge.route.id];break}}if(p.signal.aborted)return{shortCircuited:!0}}if(Ja(re)){let F;return le&&le.replace!=null?F=le.replace:F=fm(re.response.headers.get("Location"),new URL(p.url),y)===O.location.pathname+O.location.search,await Dl(p,re,!0,{submission:U,replace:F}),{shortCircuited:!0}}if(Zt(re)){let F=Ta(q,J.route.id);return(le&&le.replace)!==!0&&(k="PUSH"),{matches:q,pendingActionResult:[F.route.id,re,J.route.id]}}return{matches:q,pendingActionResult:[J.route.id,re]}}async function qn(p,M,U,q,V,ue,ie,le,ce,re,J,F){let Ee=ue||Yf(M,ie),Ge=ie||le||vm(Ee),ct=!xe&&!re;if(V){if(ct){let mt=Ju(F);tt({navigation:Ee,...mt!==void 0?{actionData:mt}:{}},{flushSync:J})}let Te=await en(U,M.pathname,p.signal);if(Te.type==="aborted")return{shortCircuited:!0};if(Te.type==="error"){if(Te.partialMatches.length===0){let{matches:Cl,route:Sl}=rc(v);return{matches:Cl,loaderData:{},errors:{[Sl.id]:Te.error}}}let mt=Ta(Te.partialMatches).route.id;return{matches:Te.partialMatches,loaderData:{},errors:{[mt]:Te.error}}}else if(Te.matches)U=Te.matches;else{let{error:mt,notFoundMatches:Cl,route:Sl}=kl(M.pathname);return{matches:Cl,loaderData:{},errors:{[Sl.id]:mt}}}}let gt=S||v,{dsMatches:Ke,revalidatingFetchers:je}=nm(p,q,s,m,i.history,O,U,Ge,M,re?[]:f,re===!0,Ue,ke,Q,b,ye,gt,y,i.patchRoutesOnNavigation!=null,F);if(te=++X,!i.dataStrategy&&!Ke.some(Te=>Te.shouldLoad)&&!Ke.some(Te=>Te.route.middleware&&Te.route.middleware.length>0)&&je.length===0){let Te=zt();return cl(M,{matches:U,loaderData:{},errors:F&&Zt(F[1])?{[F[0]]:F[1].error}:null,...hm(F),...Te?{fetchers:new Map(O.fetchers)}:{}},{flushSync:J}),{shortCircuited:!0}}if(ct){let Te={};if(!V){Te.navigation=Ee;let mt=Ju(F);mt!==void 0&&(Te.actionData=mt)}je.length>0&&(Te.fetchers=$u(je)),tt(Te,{flushSync:J})}je.forEach(Te=>{rl(Te.key),Te.controller&&A.set(Te.key,Te.controller)});let ol=()=>je.forEach(Te=>rl(Te.key));he&&he.signal.addEventListener("abort",ol);let{loaderResults:Jt,fetcherResults:At}=await Tt(Ke,je,p,q);if(p.signal.aborted)return{shortCircuited:!0};he&&he.signal.removeEventListener("abort",ol),je.forEach(Te=>A.delete(Te.key));let _t=fc(Jt);if(_t)return await Dl(p,_t.result,!0,{replace:ce}),{shortCircuited:!0};if(_t=fc(At),_t)return ye.add(_t.key),await Dl(p,_t.result,!0,{replace:ce}),{shortCircuited:!0};let{loaderData:gl,errors:We}=sm(O,U,Jt,F,je,At);re&&O.errors&&(We={...O.errors,...We});let pl=zt(),Ca=fl(te),$t=pl||Ca||je.length>0;return{matches:U,loaderData:gl,errors:We,...$t?{fetchers:new Map(O.fetchers)}:{}}}function Ju(p){if(p&&!Zt(p[1]))return{[p[0]]:p[1].data};if(O.actionData)return Object.keys(O.actionData).length===0?null:O.actionData}function $u(p){return p.forEach(M=>{let U=O.fetchers.get(M.key),q=Bu(void 0,U?U.data:void 0);O.fetchers.set(M.key,q)}),new Map(O.fetchers)}async function Gn(p,M,U,q){rl(p);let V=(q&&q.flushSync)===!0,ue=S||v,ie=Gf(O.location,O.matches,y,U,M,q?.relative),le=Ea(ue,ie,y),ce=yl(le,ue,ie);if(ce.active&&ce.matches&&(le=ce.matches),!le){Kt(p,M,ul(404,{pathname:ie}),{flushSync:V});return}let{path:re,submission:J,error:F}=am(!0,ie,q);if(F){Kt(p,M,F,{flushSync:V});return}let Ee=i.getContext?await i.getContext():new tm,Ge=(q&&q.preventScrollReset)===!0;if(J&&Bt(J.formMethod)){await Xn(p,M,re,le,Ee,ce.active,V,Ge,J);return}b.set(p,{routeId:M,path:re}),await Qn(p,M,re,le,Ee,ce.active,V,Ge,J)}async function Xn(p,M,U,q,V,ue,ie,le,ce){Zn(),b.delete(p);let re=O.fetchers.get(p);Vt(p,fg(ce,re),{flushSync:ie});let J=new AbortController,F=Bn(i.history,U,J.signal,ce);if(ue){let nt=await en(q,new URL(F.url).pathname,F.signal,p);if(nt.type==="aborted")return;if(nt.type==="error"){Kt(p,M,nt.error,{flushSync:ie});return}else if(nt.matches)q=nt.matches;else{Kt(p,M,ul(404,{pathname:U}),{flushSync:ie});return}}let Ee=dc(q,U);if(!Ee.route.action&&!Ee.route.lazy){let nt=ul(405,{method:ce.formMethod,pathname:U,routeId:M});Kt(p,M,nt,{flushSync:ie});return}A.set(p,J);let Ge=X,ct=jn(s,m,F,q,Ee,f,V),Ke=(await Ma(F,ct,V,p))[Ee.route.id];if(F.signal.aborted){A.get(p)===J&&A.delete(p);return}if(Q.has(p)){if(Ja(Ke)||Zt(Ke)){Vt(p,$l(void 0));return}}else{if(Ja(Ke))if(A.delete(p),te>Ge){Vt(p,$l(void 0));return}else return ye.add(p),Vt(p,Bu(ce)),Dl(F,Ke,!1,{fetcherSubmission:ce,preventScrollReset:le});if(Zt(Ke)){Kt(p,M,Ke.error);return}}let je=O.navigation.location||O.location,ol=Bn(i.history,je,J.signal),Jt=S||v,At=O.navigation.state!=="idle"?Ea(Jt,O.navigation.location,y):O.matches;Re(At,"Didn't find any matches after fetcher action");let _t=++X;be.set(p,_t);let gl=Bu(ce,Ke.data);O.fetchers.set(p,gl);let{dsMatches:We,revalidatingFetchers:pl}=nm(ol,V,s,m,i.history,O,At,ce,je,f,!1,Ue,ke,Q,b,ye,Jt,y,i.patchRoutesOnNavigation!=null,[Ee.route.id,Ke]);pl.filter(nt=>nt.key!==p).forEach(nt=>{let Ol=nt.key,Oa=O.fetchers.get(Ol),sl=Bu(void 0,Oa?Oa.data:void 0);O.fetchers.set(Ol,sl),rl(Ol),nt.controller&&A.set(Ol,nt.controller)}),tt({fetchers:new Map(O.fetchers)});let Ca=()=>pl.forEach(nt=>rl(nt.key));J.signal.addEventListener("abort",Ca);let{loaderResults:$t,fetcherResults:Te}=await Tt(We,pl,ol,V);if(J.signal.aborted)return;if(J.signal.removeEventListener("abort",Ca),be.delete(p),A.delete(p),pl.forEach(nt=>A.delete(nt.key)),O.fetchers.has(p)){let nt=$l(Ke.data);O.fetchers.set(p,nt)}let mt=fc($t);if(mt)return Dl(ol,mt.result,!1,{preventScrollReset:le});if(mt=fc(Te),mt)return ye.add(mt.key),Dl(ol,mt.result,!1,{preventScrollReset:le});let{loaderData:Cl,errors:Sl}=sm(O,At,$t,void 0,pl,Te);fl(_t),O.navigation.state==="loading"&&_t>te?(Re(k,"Expected pending action"),he&&he.abort(),cl(O.navigation.location,{matches:At,loaderData:Cl,errors:Sl,fetchers:new Map(O.fetchers)})):(tt({errors:Sl,loaderData:dm(O.loaderData,Cl,At,Sl),fetchers:new Map(O.fetchers)}),Ue=!1)}async function Qn(p,M,U,q,V,ue,ie,le,ce){let re=O.fetchers.get(p);Vt(p,Bu(ce,re?re.data:void 0),{flushSync:ie});let J=new AbortController,F=Bn(i.history,U,J.signal);if(ue){let je=await en(q,new URL(F.url).pathname,F.signal,p);if(je.type==="aborted")return;if(je.type==="error"){Kt(p,M,je.error,{flushSync:ie});return}else if(je.matches)q=je.matches;else{Kt(p,M,ul(404,{pathname:U}),{flushSync:ie});return}}let Ee=dc(q,U);A.set(p,J);let Ge=X,ct=jn(s,m,F,q,Ee,f,V),Ke=(await Ma(F,ct,V,p))[Ee.route.id];if(A.get(p)===J&&A.delete(p),!F.signal.aborted){if(Q.has(p)){Vt(p,$l(void 0));return}if(Ja(Ke))if(te>Ge){Vt(p,$l(void 0));return}else{ye.add(p),await Dl(F,Ke,!1,{preventScrollReset:le});return}if(Zt(Ke)){Kt(p,M,Ke.error);return}Vt(p,$l(Ke.data))}}async function Dl(p,M,U,{submission:q,fetcherSubmission:V,preventScrollReset:ue,replace:ie}={}){M.response.headers.has("X-Remix-Revalidate")&&(Ue=!0);let le=M.response.headers.get("Location");Re(le,"Expected a Location header on the redirect Response"),le=fm(le,new URL(p.url),y);let ce=qu(O.location,le,{_isRedirect:!0});if(o){let ct=!1;if(M.response.headers.has("X-Remix-Reload-Document"))ct=!0;else if($f(le)){const gt=Em(le,!0);ct=gt.origin!==c.location.origin||il(gt.pathname,y)==null}if(ct){ie?c.location.replace(le):c.location.assign(le);return}}he=null;let re=ie===!0||M.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:J,formAction:F,formEncType:Ee}=O.navigation;!q&&!V&&J&&F&&Ee&&(q=vm(O.navigation));let Ge=q||V;if(q0.has(M.response.status)&&Ge&&Bt(Ge.formMethod))await Rt(re,ce,{submission:{...Ge,formAction:le},preventScrollReset:ue||pe,enableViewTransition:U?Be:void 0});else{let ct=Yf(ce,q);await Rt(re,ce,{overrideNavigation:ct,fetcherSubmission:V,preventScrollReset:ue||pe,enableViewTransition:U?Be:void 0})}}async function Ma(p,M,U,q){let V,ue={};try{V=await W0(h,p,M,q,U,!1)}catch(ie){return M.filter(le=>le.shouldLoad).forEach(le=>{ue[le.route.id]={type:"error",error:ie}}),ue}if(p.signal.aborted)return ue;for(let[ie,le]of Object.entries(V))if(ig(le)){let ce=le.result;ue[ie]={type:"redirect",response:tg(ce,p,ie,M,y)}}else ue[ie]=await eg(le);return ue}async function Tt(p,M,U,q){let V=Ma(U,p,q,null),ue=Promise.all(M.map(async ce=>{if(ce.matches&&ce.match&&ce.request&&ce.controller){let J=(await Ma(ce.request,ce.matches,q,ce.key))[ce.match.route.id];return{[ce.key]:J}}else return Promise.resolve({[ce.key]:{type:"error",error:ul(404,{pathname:ce.path})}})})),ie=await V,le=(await ue).reduce((ce,re)=>Object.assign(ce,re),{});return{loaderResults:ie,fetcherResults:le}}function Zn(){Ue=!0,b.forEach((p,M)=>{A.has(M)&&ke.add(M),rl(M)})}function Vt(p,M,U={}){O.fetchers.set(p,M),tt({fetchers:new Map(O.fetchers)},{flushSync:(U&&U.flushSync)===!0})}function Kt(p,M,U,q={}){let V=Ta(O.matches,M);Wa(p),tt({errors:{[V.route.id]:U},fetchers:new Map(O.fetchers)},{flushSync:(q&&q.flushSync)===!0})}function Ra(p){return j.set(p,(j.get(p)||0)+1),Q.has(p)&&Q.delete(p),O.fetchers.get(p)||G0}function bc(p,M){rl(p,M?.reason),Vt(p,$l(null))}function Wa(p){let M=O.fetchers.get(p);A.has(p)&&!(M&&M.state==="loading"&&be.has(p))&&rl(p),b.delete(p),be.delete(p),ye.delete(p),Q.delete(p),ke.delete(p),O.fetchers.delete(p)}function Ec(p){let M=(j.get(p)||0)-1;M<=0?(j.delete(p),Q.add(p)):j.set(p,M),tt({fetchers:new Map(O.fetchers)})}function rl(p,M){let U=A.get(p);U&&(U.abort(M),A.delete(p))}function Fl(p){for(let M of p){let U=Ra(M),q=$l(U.data);O.fetchers.set(M,q)}}function zt(){let p=[],M=!1;for(let U of ye){let q=O.fetchers.get(U);Re(q,`Expected fetcher: ${U}`),q.state==="loading"&&(ye.delete(U),p.push(U),M=!0)}return Fl(p),M}function fl(p){let M=[];for(let[U,q]of be)if(q0}function Dt(p,M){let U=O.blockers.get(p)||Lu;return W.get(p)!==M&&W.set(p,M),U}function Fu(p){O.blockers.delete(p),W.delete(p)}function Pa(p,M){let U=O.blockers.get(p)||Lu;Re(U.state==="unblocked"&&M.state==="blocked"||U.state==="blocked"&&M.state==="blocked"||U.state==="blocked"&&M.state==="proceeding"||U.state==="blocked"&&M.state==="unblocked"||U.state==="proceeding"&&M.state==="unblocked",`Invalid blocker state transition: ${U.state} -> ${M.state}`);let q=new Map(O.blockers);q.set(p,M),tt({blockers:q})}function ku({currentLocation:p,nextLocation:M,historyAction:U}){if(W.size===0)return;W.size>1&&dt(!1,"A router only supports one blocker at a time");let q=Array.from(W.entries()),[V,ue]=q[q.length-1],ie=O.blockers.get(V);if(!(ie&&ie.state==="proceeding")&&ue({currentLocation:p,nextLocation:M,historyAction:U}))return V}function kl(p){let M=ul(404,{pathname:p}),U=S||v,{matches:q,route:V}=rc(U);return{notFoundMatches:q,route:V,error:M}}function Ia(p,M,U){if(L=p,$=M,G=U||null,!K&&O.navigation===wf){K=!0;let q=Aa(O.location,O.matches);q!=null&&tt({restoreScrollPosition:q})}return()=>{L=null,$=null,G=null}}function Da(p,M){return G&&G(p,M.map(q=>g0(q,O.loaderData)))||p.key}function Al(p,M){if(L&&$){let U=Da(p,M);L[U]=$()}}function Aa(p,M){if(L){let U=Da(p,M),q=L[U];if(typeof q=="number")return q}return null}function yl(p,M,U){if(i.patchRoutesOnNavigation)if(p){if(Object.keys(p[0].params).length>0)return{active:!0,matches:sc(M,U,y,!0)}}else return{active:!0,matches:sc(M,U,y,!0)||[]};return{active:!1,matches:null}}async function en(p,M,U,q){if(!i.patchRoutesOnNavigation)return{type:"success",matches:p};let V=p;for(;;){let ue=S==null,ie=S||v,le=m;try{await i.patchRoutesOnNavigation({signal:U,path:M,matches:V,fetcherKey:q,patch:(J,F)=>{U.aborted||um(J,F,ie,le,s,!1)}})}catch(J){return{type:"error",error:J,partialMatches:V}}finally{ue&&!U.aborted&&(v=[...v])}if(U.aborted)return{type:"aborted"};let ce=Ea(ie,M,y);if(ce)return{type:"success",matches:ce};let re=sc(ie,M,y,!0);if(!re||V.length===re.length&&V.every((J,F)=>J.route.id===re[F].route.id))return{type:"success",matches:null};V=re}}function Wu(p){m={},S=Gu(p,s,void 0,m)}function Vn(p,M,U=!1){let q=S==null;um(p,M,S||v,m,s,U),q&&(v=[...v],tt({}))}return se={get basename(){return y},get future(){return z},get state(){return O},get routes(){return v},get window(){return c},initialize:Ne,subscribe:Ie,enableScrollRestoration:Ia,navigate:ka,fetch:Gn,revalidate:Ku,createHref:p=>i.history.createHref(p),encodeLocation:p=>i.history.encodeLocation(p),getFetcher:Ra,resetFetcher:bc,deleteFetcher:Ec,dispose:yt,getBlocker:Dt,deleteBlocker:Fu,patchRoutes:Vn,_internalFetchControllers:A,_internalSetRoutes:Wu,_internalSetStateDoNotUseOrYouWillBreakYourApp(p){tt(p)}},se}function V0(i){return i!=null&&("formData"in i&&i.formData!=null||"body"in i&&i.body!==void 0)}function Gf(i,c,o,f,s,m){let v,S;if(s){v=[];for(let h of c)if(v.push(h),h.route.id===s){S=h;break}}else v=c,S=c[c.length-1];let y=Jf(f||".",Kf(v),il(i.pathname,o)||i.pathname,m==="path");if(f==null&&(y.search=i.search,y.hash=i.hash),(f==null||f===""||f===".")&&S){let h=kf(y.search);if(S.route.index&&!h)y.search=y.search?y.search.replace(/^\?/,"?index&"):"?index";else if(!S.route.index&&h){let z=new URLSearchParams(y.search),T=z.getAll("index");z.delete("index"),T.filter(L=>L).forEach(L=>z.append("index",L));let H=z.toString();y.search=H?`?${H}`:""}}return o!=="/"&&(y.pathname=O0({basename:o,pathname:y.pathname})),za(y)}function am(i,c,o){if(!o||!V0(o))return{path:c};if(o.formMethod&&!cg(o.formMethod))return{path:c,error:ul(405,{method:o.formMethod})};let f=()=>({path:c,error:ul(400,{type:"invalid-body"})}),m=(o.formMethod||"get").toUpperCase(),v=Nm(c);if(o.body!==void 0){if(o.formEncType==="text/plain"){if(!Bt(m))return f();let T=typeof o.body=="string"?o.body:o.body instanceof FormData||o.body instanceof URLSearchParams?Array.from(o.body.entries()).reduce((H,[L,G])=>`${H}${L}=${G} +`,""):String(o.body);return{path:c,submission:{formMethod:m,formAction:v,formEncType:o.formEncType,formData:void 0,json:void 0,text:T}}}else if(o.formEncType==="application/json"){if(!Bt(m))return f();try{let T=typeof o.body=="string"?JSON.parse(o.body):o.body;return{path:c,submission:{formMethod:m,formAction:v,formEncType:o.formEncType,formData:void 0,json:T,text:void 0}}}catch{return f()}}}Re(typeof FormData=="function","FormData is not available in this environment");let S,y;if(o.formData)S=Zf(o.formData),y=o.formData;else if(o.body instanceof FormData)S=Zf(o.body),y=o.body;else if(o.body instanceof URLSearchParams)S=o.body,y=om(S);else if(o.body==null)S=new URLSearchParams,y=new FormData;else try{S=new URLSearchParams(o.body),y=om(S)}catch{return f()}let h={formMethod:m,formAction:v,formEncType:o&&o.formEncType||"application/x-www-form-urlencoded",formData:y,json:void 0,text:void 0};if(Bt(h.formMethod))return{path:c,submission:h};let z=_a(c);return i&&z.search&&kf(z.search)&&S.append("index",""),z.search=`?${S}`,{path:za(z),submission:h}}function nm(i,c,o,f,s,m,v,S,y,h,z,T,H,L,G,$,K,Z,P,ne){let De=ne?Zt(ne[1])?ne[1].error:ne[1].data:void 0,se=s.createURL(m.location),O=s.createURL(y),k;if(z&&m.errors){let xe=Object.keys(m.errors)[0];k=v.findIndex(Ue=>Ue.route.id===xe)}else if(ne&&Zt(ne[1])){let xe=ne[0];k=v.findIndex(Ue=>Ue.route.id===xe)-1}let pe=ne?ne[1].statusCode:void 0,he=pe&&pe>=400,Be={currentUrl:se,currentParams:m.matches[0]?.params||{},nextUrl:O,nextParams:v[0].params,...S,actionResult:De,actionStatus:pe},Fe=v.map((xe,Ue)=>{let{route:ke}=xe,A=null;if(k!=null&&Ue>k?A=!1:ke.lazy?A=!0:Ff(ke)?z?A=Xf(ke,m.loaderData,m.errors):K0(m.loaderData,m.matches[Ue],xe)&&(A=!0):A=!1,A!==null)return Qf(o,f,i,xe,h,c,A);let X=he?!1:T||se.pathname+se.search===O.pathname+O.search||se.search!==O.search||J0(m.matches[Ue],xe),te={...Be,defaultShouldRevalidate:X},be=gc(xe,te);return Qf(o,f,i,xe,h,c,be,te)}),et=[];return G.forEach((xe,Ue)=>{if(z||!v.some(j=>j.route.id===xe.routeId)||L.has(Ue))return;let ke=m.fetchers.get(Ue),A=ke&&ke.state!=="idle"&&ke.data===void 0,X=Ea(K,xe.path,Z);if(!X){if(P&&A)return;et.push({key:Ue,routeId:xe.routeId,path:xe.path,matches:null,match:null,request:null,controller:null});return}if($.has(Ue))return;let te=dc(X,xe.path),be=new AbortController,ye=Bn(s,xe.path,be.signal),b=null;if(H.has(Ue))H.delete(Ue),b=jn(o,f,ye,X,te,h,c);else if(A)T&&(b=jn(o,f,ye,X,te,h,c));else{let j={...Be,defaultShouldRevalidate:he?!1:T};gc(te,j)&&(b=jn(o,f,ye,X,te,h,c,j))}b&&et.push({key:Ue,routeId:xe.routeId,path:xe.path,matches:b,match:te,request:ye,controller:be})}),{dsMatches:Fe,revalidatingFetchers:et}}function Ff(i){return i.loader!=null||i.middleware!=null&&i.middleware.length>0}function Xf(i,c,o){if(i.lazy)return!0;if(!Ff(i))return!1;let f=c!=null&&i.id in c,s=o!=null&&o[i.id]!==void 0;return!f&&s?!1:typeof i.loader=="function"&&i.loader.hydrate===!0?!0:!f&&!s}function K0(i,c,o){let f=!c||o.route.id!==c.route.id,s=!i.hasOwnProperty(o.route.id);return f||s}function J0(i,c){let o=i.route.path;return i.pathname!==c.pathname||o!=null&&o.endsWith("*")&&i.params["*"]!==c.params["*"]}function gc(i,c){if(i.route.shouldRevalidate){let o=i.route.shouldRevalidate(c);if(typeof o=="boolean")return o}return c.defaultShouldRevalidate}function um(i,c,o,f,s,m){let v;if(i){let h=f[i];Re(h,`No route found to patch children into: routeId = ${i}`),h.children||(h.children=[]),v=h.children}else v=o;let S=[],y=[];if(c.forEach(h=>{let z=v.find(T=>Am(h,T));z?y.push({existingRoute:z,newRoute:h}):S.push(h)}),S.length>0){let h=Gu(S,s,[i||"_","patch",String(v?.length||"0")],f);v.push(...h)}if(m&&y.length>0)for(let h=0;hc.children?.some(s=>Am(o,s))):!1}var im=new WeakMap,Cm=({key:i,route:c,manifest:o,mapRouteProperties:f})=>{let s=o[c.id];if(Re(s,"No route found in manifest"),!s.lazy||typeof s.lazy!="object")return;let m=s.lazy[i];if(!m)return;let v=im.get(s);v||(v={},im.set(s,v));let S=v[i];if(S)return S;let y=(async()=>{let h=h0(i),T=s[i]!==void 0&&i!=="hasErrorBoundary";if(h)dt(!h,"Route property "+i+" is not a supported lazy route property. This property will be ignored."),v[i]=Promise.resolve();else if(T)dt(!1,`Route "${s.id}" has a static property "${i}" defined. The lazy property will be ignored.`);else{let H=await m();H!=null&&(Object.assign(s,{[i]:H}),Object.assign(s,f(s)))}typeof s.lazy=="object"&&(s.lazy[i]=void 0,Object.values(s.lazy).every(H=>H===void 0)&&(s.lazy=void 0))})();return v[i]=y,y},cm=new WeakMap;function $0(i,c,o,f,s){let m=o[i.id];if(Re(m,"No route found in manifest"),!i.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof i.lazy=="function"){let z=cm.get(m);if(z)return{lazyRoutePromise:z,lazyHandlerPromise:z};let T=(async()=>{Re(typeof i.lazy=="function","No lazy route function found");let H=await i.lazy(),L={};for(let G in H){let $=H[G];if($===void 0)continue;let K=v0(G),P=m[G]!==void 0&&G!=="hasErrorBoundary";K?dt(!K,"Route property "+G+" is not a supported property to be returned from a lazy route function. This property will be ignored."):P?dt(!P,`Route "${m.id}" has a static property "${G}" defined but its lazy function is also returning a value for this property. The lazy route property "${G}" will be ignored.`):L[G]=$}Object.assign(m,L),Object.assign(m,{...f(m),lazy:void 0})})();return cm.set(m,T),T.catch(()=>{}),{lazyRoutePromise:T,lazyHandlerPromise:T}}let v=Object.keys(i.lazy),S=[],y;for(let z of v){if(s&&s.includes(z))continue;let T=Cm({key:z,route:i,manifest:o,mapRouteProperties:f});T&&(S.push(T),z===c&&(y=T))}let h=S.length>0?Promise.all(S).then(()=>{}):void 0;return h?.catch(()=>{}),y?.catch(()=>{}),{lazyRoutePromise:h,lazyHandlerPromise:y}}async function rm(i){let c=i.matches.filter(s=>s.shouldLoad),o={};return(await Promise.all(c.map(s=>s.resolve()))).forEach((s,m)=>{o[c[m].route.id]=s}),o}async function F0(i){return i.matches.some(c=>c.route.middleware)?Om(i,()=>rm(i)):rm(i)}function Om(i,c){return k0(i,c,f=>f,ng,o);function o(f,s,m){if(m)return Promise.resolve(Object.assign(m.value,{[s]:{type:"error",result:f}}));{let{matches:v}=i,S=Math.min(Math.max(v.findIndex(h=>h.route.id===s),0),Math.max(v.findIndex(h=>h.unstable_shouldCallHandler()),0)),y=Ta(v,v[S].route.id).route.id;return Promise.resolve({[y]:{type:"error",result:f}})}}}async function k0(i,c,o,f,s){let{matches:m,request:v,params:S,context:y}=i,h=m.flatMap(T=>T.route.middleware?T.route.middleware.map(H=>[T.route.id,H]):[]);return await xm({request:v,params:S,context:y},h,c,o,f,s)}async function xm(i,c,o,f,s,m,v=0){let{request:S}=i;if(S.signal.aborted)throw S.signal.reason??new Error(`Request aborted: ${S.method} ${S.url}`);let y=c[v];if(!y)return await o();let[h,z]=y,T,H=async()=>{if(T)throw new Error("You may only call `next()` once per middleware");try{return T={value:await xm(i,c,o,f,s,m,v+1)},T.value}catch(L){return T={value:await m(L,h,T)},T.value}};try{let L=await z(i,H),G=L!=null?f(L):void 0;return s(G)?G:T?G??T.value:(T={value:await H()},T.value)}catch(L){return await m(L,h,T)}}function Um(i,c,o,f,s){let m=Cm({key:"middleware",route:f.route,manifest:c,mapRouteProperties:i}),v=$0(f.route,Bt(o.method)?"action":"loader",c,i,s);return{middleware:m,route:v.lazyRoutePromise,handler:v.lazyHandlerPromise}}function Qf(i,c,o,f,s,m,v,S=null){let y=!1,h=Um(i,c,o,f,s);return{...f,_lazyPromises:h,shouldLoad:v,unstable_shouldRevalidateArgs:S,unstable_shouldCallHandler(z){return y=!0,S?typeof z=="boolean"?gc(f,{...S,defaultShouldRevalidate:z}):gc(f,S):v},resolve(z){let{lazy:T,loader:H,middleware:L}=f.route,G=y||v||z&&!Bt(o.method)&&(T||H),$=L&&L.length>0&&!H&&!T;return G&&!$?P0({request:o,match:f,lazyHandlerPromise:h?.handler,lazyRoutePromise:h?.route,handlerOverride:z,scopedContext:m}):Promise.resolve({type:"data",result:void 0})}}}function jn(i,c,o,f,s,m,v,S=null){return f.map(y=>y.route.id!==s.route.id?{...y,shouldLoad:!1,unstable_shouldRevalidateArgs:S,unstable_shouldCallHandler:()=>!1,_lazyPromises:Um(i,c,o,y,m),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Qf(i,c,o,y,m,v,!0,S))}async function W0(i,c,o,f,s,m){o.some(h=>h._lazyPromises?.middleware)&&await Promise.all(o.map(h=>h._lazyPromises?.middleware));let v={request:c,params:o[0].params,context:s,matches:o},y=await i({...v,fetcherKey:f,runClientMiddleware:h=>{let z=v;return Om(z,()=>h({...z,fetcherKey:f,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(o.flatMap(h=>[h._lazyPromises?.handler,h._lazyPromises?.route]))}catch{}return y}async function P0({request:i,match:c,lazyHandlerPromise:o,lazyRoutePromise:f,handlerOverride:s,scopedContext:m}){let v,S,y=Bt(i.method),h=y?"action":"loader",z=T=>{let H,L=new Promise((K,Z)=>H=Z);S=()=>H(),i.signal.addEventListener("abort",S);let G=K=>typeof T!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${h}" [routeId: ${c.route.id}]`)):T({request:i,params:c.params,context:m},...K!==void 0?[K]:[]),$=(async()=>{try{return{type:"data",result:await(s?s(Z=>G(Z)):G())}}catch(K){return{type:"error",result:K}}})();return Promise.race([$,L])};try{let T=y?c.route.action:c.route.loader;if(o||f)if(T){let H,[L]=await Promise.all([z(T).catch(G=>{H=G}),o,f]);if(H!==void 0)throw H;v=L}else{await o;let H=y?c.route.action:c.route.loader;if(H)[v]=await Promise.all([z(H),f]);else if(h==="action"){let L=new URL(i.url),G=L.pathname+L.search;throw ul(405,{method:i.method,pathname:G,routeId:c.route.id})}else return{type:"data",result:void 0}}else if(T)v=await z(T);else{let H=new URL(i.url),L=H.pathname+H.search;throw ul(404,{pathname:L})}}catch(T){return{type:"error",result:T}}finally{S&&i.signal.removeEventListener("abort",S)}return v}async function I0(i){let c=i.headers.get("Content-Type");return c&&/\bapplication\/json\b/.test(c)?i.body==null?null:i.json():i.text()}async function eg(i){let{result:c,type:o}=i;if(Hm(c)){let f;try{f=await I0(c)}catch(s){return{type:"error",error:s}}return o==="error"?{type:"error",error:new yc(c.status,c.statusText,f),statusCode:c.status,headers:c.headers}:{type:"data",data:f,statusCode:c.status,headers:c.headers}}return o==="error"?mm(c)?c.data instanceof Error?{type:"error",error:c.data,statusCode:c.init?.status,headers:c.init?.headers?new Headers(c.init.headers):void 0}:{type:"error",error:new yc(c.init?.status||500,void 0,c.data),statusCode:Xu(c)?c.status:void 0,headers:c.init?.headers?new Headers(c.init.headers):void 0}:{type:"error",error:c,statusCode:Xu(c)?c.status:void 0}:mm(c)?{type:"data",data:c.data,statusCode:c.init?.status,headers:c.init?.headers?new Headers(c.init.headers):void 0}:{type:"data",data:c}}function tg(i,c,o,f,s){let m=i.headers.get("Location");if(Re(m,"Redirects returned/thrown from loaders/actions must have a Location header"),!$f(m)){let v=f.slice(0,f.findIndex(S=>S.route.id===o)+1);m=Gf(new URL(c.url),v,s,m),i.headers.set("Location",m)}return i}function fm(i,c,o){if($f(i)){let f=i,s=f.startsWith("//")?new URL(c.protocol+f):new URL(f),m=il(s.pathname,o)!=null;if(s.origin===c.origin&&m)return s.pathname+s.search+s.hash}return i}function Bn(i,c,o,f){let s=i.createURL(Nm(c)).toString(),m={signal:o};if(f&&Bt(f.formMethod)){let{formMethod:v,formEncType:S}=f;m.method=v.toUpperCase(),S==="application/json"?(m.headers=new Headers({"Content-Type":S}),m.body=JSON.stringify(f.json)):S==="text/plain"?m.body=f.text:S==="application/x-www-form-urlencoded"&&f.formData?m.body=Zf(f.formData):m.body=f.formData}return new Request(s,m)}function Zf(i){let c=new URLSearchParams;for(let[o,f]of i.entries())c.append(o,typeof f=="string"?f:f.name);return c}function om(i){let c=new FormData;for(let[o,f]of i.entries())c.append(o,f);return c}function lg(i,c,o,f=!1,s=!1){let m={},v=null,S,y=!1,h={},z=o&&Zt(o[1])?o[1].error:void 0;return i.forEach(T=>{if(!(T.route.id in c))return;let H=T.route.id,L=c[H];if(Re(!Ja(L),"Cannot handle redirect results in processLoaderData"),Zt(L)){let G=L.error;if(z!==void 0&&(G=z,z=void 0),v=v||{},s)v[H]=G;else{let $=Ta(i,H);v[$.route.id]==null&&(v[$.route.id]=G)}f||(m[H]=Dm),y||(y=!0,S=Xu(L.error)?L.error.status:500),L.headers&&(h[H]=L.headers)}else m[H]=L.data,L.statusCode&&L.statusCode!==200&&!y&&(S=L.statusCode),L.headers&&(h[H]=L.headers)}),z!==void 0&&o&&(v={[o[0]]:z},o[2]&&(m[o[2]]=void 0)),{loaderData:m,errors:v,statusCode:S||200,loaderHeaders:h}}function sm(i,c,o,f,s,m){let{loaderData:v,errors:S}=lg(c,o,f);return s.filter(y=>!y.matches||y.matches.some(h=>h.shouldLoad)).forEach(y=>{let{key:h,match:z,controller:T}=y;if(T&&T.signal.aborted)return;let H=m[h];if(Re(H,"Did not find corresponding fetcher result"),Zt(H)){let L=Ta(i.matches,z?.route.id);S&&S[L.route.id]||(S={...S,[L.route.id]:H.error}),i.fetchers.delete(h)}else if(Ja(H))Re(!1,"Unhandled fetcher revalidation redirect");else{let L=$l(H.data);i.fetchers.set(h,L)}}),{loaderData:v,errors:S}}function dm(i,c,o,f){let s=Object.entries(c).filter(([,m])=>m!==Dm).reduce((m,[v,S])=>(m[v]=S,m),{});for(let m of o){let v=m.route.id;if(!c.hasOwnProperty(v)&&i.hasOwnProperty(v)&&m.route.loader&&(s[v]=i[v]),f&&f.hasOwnProperty(v))break}return s}function hm(i){return i?Zt(i[1])?{actionData:{}}:{actionData:{[i[0]]:i[1].data}}:{}}function Ta(i,c){return(c?i.slice(0,i.findIndex(f=>f.route.id===c)+1):[...i]).reverse().find(f=>f.route.hasErrorBoundary===!0)||i[0]}function rc(i){let c=i.length===1?i[0]:i.find(o=>o.index||!o.path||o.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:c}],route:c}}function ul(i,{pathname:c,routeId:o,method:f,type:s,message:m}={}){let v="Unknown Server Error",S="Unknown @remix-run/router error";return i===400?(v="Bad Request",f&&c&&o?S=`You made a ${f} request to "${c}" but did not provide a \`loader\` for route "${o}", so there is no way to handle the request.`:s==="invalid-body"&&(S="Unable to encode submission body")):i===403?(v="Forbidden",S=`Route "${o}" does not match URL "${c}"`):i===404?(v="Not Found",S=`No route matches URL "${c}"`):i===405&&(v="Method Not Allowed",f&&c&&o?S=`You made a ${f.toUpperCase()} request to "${c}" but did not provide an \`action\` for route "${o}", so there is no way to handle the request.`:f&&(S=`Invalid request method "${f.toUpperCase()}"`)),new yc(i||500,v,new Error(S),!0)}function fc(i){let c=Object.entries(i);for(let o=c.length-1;o>=0;o--){let[f,s]=c[o];if(Ja(s))return{key:f,result:s}}}function Nm(i){let c=typeof i=="string"?_a(i):i;return za({...c,hash:""})}function ag(i,c){return i.pathname!==c.pathname||i.search!==c.search?!1:i.hash===""?c.hash!=="":i.hash===c.hash?!0:c.hash!==""}function ng(i){return i!=null&&typeof i=="object"&&Object.entries(i).every(([c,o])=>typeof c=="string"&&ug(o))}function ug(i){return i!=null&&typeof i=="object"&&"type"in i&&"result"in i&&(i.type==="data"||i.type==="error")}function ig(i){return Hm(i.result)&&Y0.has(i.result.status)}function Zt(i){return i.type==="error"}function Ja(i){return(i&&i.type)==="redirect"}function mm(i){return typeof i=="object"&&i!=null&&"type"in i&&"data"in i&&"init"in i&&i.type==="DataWithResponseInit"}function Hm(i){return i!=null&&typeof i.status=="number"&&typeof i.statusText=="string"&&typeof i.headers=="object"&&typeof i.body<"u"}function cg(i){return w0.has(i.toUpperCase())}function Bt(i){return B0.has(i.toUpperCase())}function kf(i){return new URLSearchParams(i).getAll("index").some(c=>c==="")}function dc(i,c){let o=typeof c=="string"?_a(c).search:c.search;if(i[i.length-1].route.index&&kf(o||""))return i[i.length-1];let f=_m(i);return f[f.length-1]}function vm(i){let{formMethod:c,formAction:o,formEncType:f,text:s,formData:m,json:v}=i;if(!(!c||!o||!f)){if(s!=null)return{formMethod:c,formAction:o,formEncType:f,formData:void 0,json:void 0,text:s};if(m!=null)return{formMethod:c,formAction:o,formEncType:f,formData:m,json:void 0,text:void 0};if(v!==void 0)return{formMethod:c,formAction:o,formEncType:f,formData:void 0,json:v,text:void 0}}}function Yf(i,c){return c?{state:"loading",location:i,formMethod:c.formMethod,formAction:c.formAction,formEncType:c.formEncType,formData:c.formData,json:c.json,text:c.text}:{state:"loading",location:i,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function rg(i,c){return{state:"submitting",location:i,formMethod:c.formMethod,formAction:c.formAction,formEncType:c.formEncType,formData:c.formData,json:c.json,text:c.text}}function Bu(i,c){return i?{state:"loading",formMethod:i.formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text,data:c}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:c}}function fg(i,c){return{state:"submitting",formMethod:i.formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text,data:c?c.data:void 0}}function $l(i){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:i}}function og(i,c){try{let o=i.sessionStorage.getItem(Rm);if(o){let f=JSON.parse(o);for(let[s,m]of Object.entries(f||{}))m&&Array.isArray(m)&&c.set(s,new Set(m||[]))}}catch{}}function sg(i,c){if(c.size>0){let o={};for(let[f,s]of c)o[f]=[...s];try{i.sessionStorage.setItem(Rm,JSON.stringify(o))}catch(f){dt(!1,`Failed to save applied view transitions in sessionStorage (${f}).`)}}}function dg(){let i,c,o=new Promise((f,s)=>{i=async m=>{f(m);try{await o}catch{}},c=async m=>{s(m);try{await o}catch{}}});return{promise:o,resolve:i,reject:c}}var $a=x.createContext(null);$a.displayName="DataRouter";var Qu=x.createContext(null);Qu.displayName="DataRouterState";x.createContext(!1);var Wf=x.createContext({isTransitioning:!1});Wf.displayName="ViewTransition";var Lm=x.createContext(new Map);Lm.displayName="Fetchers";var hg=x.createContext(null);hg.displayName="Await";var Ml=x.createContext(null);Ml.displayName="Navigation";var pc=x.createContext(null);pc.displayName="Location";var Rl=x.createContext({outlet:null,matches:[],isDataRoute:!1});Rl.displayName="Route";var Pf=x.createContext(null);Pf.displayName="RouteError";function mg(i,{relative:c}={}){Re(Zu(),"useHref() may be used only in the context of a component.");let{basename:o,navigator:f}=x.useContext(Ml),{hash:s,pathname:m,search:v}=Vu(i,{relative:c}),S=m;return o!=="/"&&(S=m==="/"?o:_l([o,m])),f.createHref({pathname:S,search:v,hash:s})}function Zu(){return x.useContext(pc)!=null}function Fa(){return Re(Zu(),"useLocation() may be used only in the context of a component."),x.useContext(pc).location}var Bm="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function jm(i){x.useContext(Ml).static||x.useLayoutEffect(i)}function vg(){let{isDataRoute:i}=x.useContext(Rl);return i?Og():yg()}function yg(){Re(Zu(),"useNavigate() may be used only in the context of a component.");let i=x.useContext($a),{basename:c,navigator:o}=x.useContext(Ml),{matches:f}=x.useContext(Rl),{pathname:s}=Fa(),m=JSON.stringify(Kf(f)),v=x.useRef(!1);return jm(()=>{v.current=!0}),x.useCallback((y,h={})=>{if(dt(v.current,Bm),!v.current)return;if(typeof y=="number"){o.go(y);return}let z=Jf(y,JSON.parse(m),s,h.relative==="path");i==null&&c!=="/"&&(z.pathname=z.pathname==="/"?c:_l([c,z.pathname])),(h.replace?o.replace:o.push)(z,h.state,h)},[c,o,m,s,i])}var gg=x.createContext(null);function pg(i){let c=x.useContext(Rl).outlet;return x.useMemo(()=>c&&x.createElement(gg.Provider,{value:i},c),[c,i])}function Vu(i,{relative:c}={}){let{matches:o}=x.useContext(Rl),{pathname:f}=Fa(),s=JSON.stringify(Kf(o));return x.useMemo(()=>Jf(i,JSON.parse(s),f,c==="path"),[i,s,f,c])}function Sg(i,c,o,f,s){Re(Zu(),"useRoutes() may be used only in the context of a component.");let{navigator:m}=x.useContext(Ml),{matches:v}=x.useContext(Rl),S=v[v.length-1],y=S?S.params:{},h=S?S.pathname:"/",z=S?S.pathnameBase:"/",T=S&&S.route;{let P=T&&T.path||"";wm(h,!T||P.endsWith("*")||P.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${h}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let H=Fa(),L;L=H;let G=L.pathname||"/",$=G;if(z!=="/"){let P=z.replace(/^\//,"").split("/");$="/"+G.replace(/^\//,"").split("/").slice(P.length).join("/")}let K=Ea(i,{pathname:$});return dt(T||K!=null,`No routes matched location "${L.pathname}${L.search}${L.hash}" `),dt(K==null||K[K.length-1].route.element!==void 0||K[K.length-1].route.Component!==void 0||K[K.length-1].route.lazy!==void 0,`Matched leaf route at location "${L.pathname}${L.search}${L.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`),_g(K&&K.map(P=>Object.assign({},P,{params:Object.assign({},y,P.params),pathname:_l([z,m.encodeLocation?m.encodeLocation(P.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:P.pathname]),pathnameBase:P.pathnameBase==="/"?z:_l([z,m.encodeLocation?m.encodeLocation(P.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:P.pathnameBase])})),v,o,f,s)}function bg(){let i=Cg(),c=Xu(i)?`${i.status} ${i.statusText}`:i instanceof Error?i.message:JSON.stringify(i),o=i instanceof Error?i.stack:null,f="rgba(200,200,200, 0.5)",s={padding:"0.5rem",backgroundColor:f},m={padding:"2px 4px",backgroundColor:f},v=null;return console.error("Error handled by React Router default ErrorBoundary:",i),v=x.createElement(x.Fragment,null,x.createElement("p",null,"💿 Hey developer 👋"),x.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",x.createElement("code",{style:m},"ErrorBoundary")," or"," ",x.createElement("code",{style:m},"errorElement")," prop on your route.")),x.createElement(x.Fragment,null,x.createElement("h2",null,"Unexpected Application Error!"),x.createElement("h3",{style:{fontStyle:"italic"}},c),o?x.createElement("pre",{style:s},o):null,v)}var Eg=x.createElement(bg,null),Tg=class extends x.Component{constructor(i){super(i),this.state={location:i.location,revalidation:i.revalidation,error:i.error}}static getDerivedStateFromError(i){return{error:i}}static getDerivedStateFromProps(i,c){return c.location!==i.location||c.revalidation!=="idle"&&i.revalidation==="idle"?{error:i.error,location:i.location,revalidation:i.revalidation}:{error:i.error!==void 0?i.error:c.error,location:c.location,revalidation:i.revalidation||c.revalidation}}componentDidCatch(i,c){this.props.unstable_onError?this.props.unstable_onError(i,c):console.error("React Router caught the following error during render",i)}render(){return this.state.error!==void 0?x.createElement(Rl.Provider,{value:this.props.routeContext},x.createElement(Pf.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function zg({routeContext:i,match:c,children:o}){let f=x.useContext($a);return f&&f.static&&f.staticContext&&(c.route.errorElement||c.route.ErrorBoundary)&&(f.staticContext._deepestRenderedBoundaryId=c.route.id),x.createElement(Rl.Provider,{value:i},o)}function _g(i,c=[],o=null,f=null,s=null){if(i==null){if(!o)return null;if(o.errors)i=o.matches;else if(c.length===0&&!o.initialized&&o.matches.length>0)i=o.matches;else return null}let m=i,v=o?.errors;if(v!=null){let h=m.findIndex(z=>z.route.id&&v?.[z.route.id]!==void 0);Re(h>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(v).join(",")}`),m=m.slice(0,Math.min(m.length,h+1))}let S=!1,y=-1;if(o)for(let h=0;h=0?m=m.slice(0,y+1):m=[m[0]];break}}}return m.reduceRight((h,z,T)=>{let H,L=!1,G=null,$=null;o&&(H=v&&z.route.id?v[z.route.id]:void 0,G=z.route.errorElement||Eg,S&&(y<0&&T===0?(wm("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),L=!0,$=null):y===T&&(L=!0,$=z.route.hydrateFallbackElement||null)));let K=c.concat(m.slice(0,T+1)),Z=()=>{let P;return H?P=G:L?P=$:z.route.Component?P=x.createElement(z.route.Component,null):z.route.element?P=z.route.element:P=h,x.createElement(zg,{match:z,routeContext:{outlet:h,matches:K,isDataRoute:o!=null},children:P})};return o&&(z.route.ErrorBoundary||z.route.errorElement||T===0)?x.createElement(Tg,{location:o.location,revalidation:o.revalidation,component:G,error:H,children:Z(),routeContext:{outlet:null,matches:K,isDataRoute:!0},unstable_onError:f}):Z()},null)}function If(i){return`${i} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Mg(i){let c=x.useContext($a);return Re(c,If(i)),c}function Rg(i){let c=x.useContext(Qu);return Re(c,If(i)),c}function Dg(i){let c=x.useContext(Rl);return Re(c,If(i)),c}function eo(i){let c=Dg(i),o=c.matches[c.matches.length-1];return Re(o.route.id,`${i} can only be used on routes that contain a unique "id"`),o.route.id}function Ag(){return eo("useRouteId")}function Cg(){let i=x.useContext(Pf),c=Rg("useRouteError"),o=eo("useRouteError");return i!==void 0?i:c.errors?.[o]}function Og(){let{router:i}=Mg("useNavigate"),c=eo("useNavigate"),o=x.useRef(!1);return jm(()=>{o.current=!0}),x.useCallback(async(s,m={})=>{dt(o.current,Bm),o.current&&(typeof s=="number"?i.navigate(s):await i.navigate(s,{fromRouteId:c,...m}))},[i,c])}var ym={};function wm(i,c,o){!c&&!ym[i]&&(ym[i]=!0,dt(!1,o))}var gm={};function pm(i,c){!i&&!gm[c]&&(gm[c]=!0,console.warn(c))}function xg(i){let c={hasErrorBoundary:i.hasErrorBoundary||i.ErrorBoundary!=null||i.errorElement!=null};return i.Component&&(i.element&&dt(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(c,{element:x.createElement(i.Component),Component:void 0})),i.HydrateFallback&&(i.hydrateFallbackElement&&dt(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(c,{hydrateFallbackElement:x.createElement(i.HydrateFallback),HydrateFallback:void 0})),i.ErrorBoundary&&(i.errorElement&&dt(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(c,{errorElement:x.createElement(i.ErrorBoundary),ErrorBoundary:void 0})),c}var Ug=["HydrateFallback","hydrateFallbackElement"],Ng=class{constructor(){this.status="pending",this.promise=new Promise((i,c)=>{this.resolve=o=>{this.status==="pending"&&(this.status="resolved",i(o))},this.reject=o=>{this.status==="pending"&&(this.status="rejected",c(o))}})}};function Hg({router:i,flushSync:c,unstable_onError:o}){let[f,s]=x.useState(i.state),[m,v]=x.useState(),[S,y]=x.useState({isTransitioning:!1}),[h,z]=x.useState(),[T,H]=x.useState(),[L,G]=x.useState(),$=x.useRef(new Map),K=x.useCallback(se=>{s(O=>(se.errors&&o&&Object.entries(se.errors).forEach(([k,pe])=>{O.errors?.[k]!==pe&&o(pe)}),se))},[o]),Z=x.useCallback((se,{deletedFetchers:O,flushSync:k,viewTransitionOpts:pe})=>{se.fetchers.forEach((Be,Fe)=>{Be.data!==void 0&&$.current.set(Fe,Be.data)}),O.forEach(Be=>$.current.delete(Be)),pm(k===!1||c!=null,'You provided the `flushSync` option to a router update, but you are not using the `` 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 he=i.window!=null&&i.window.document!=null&&typeof i.window.document.startViewTransition=="function";if(pm(pe==null||he,"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."),!pe||!he){c&&k?c(()=>K(se)):x.startTransition(()=>K(se));return}if(c&&k){c(()=>{T&&(h&&h.resolve(),T.skipTransition()),y({isTransitioning:!0,flushSync:!0,currentLocation:pe.currentLocation,nextLocation:pe.nextLocation})});let Be=i.window.document.startViewTransition(()=>{c(()=>K(se))});Be.finished.finally(()=>{c(()=>{z(void 0),H(void 0),v(void 0),y({isTransitioning:!1})})}),c(()=>H(Be));return}T?(h&&h.resolve(),T.skipTransition(),G({state:se,currentLocation:pe.currentLocation,nextLocation:pe.nextLocation})):(v(se),y({isTransitioning:!0,flushSync:!1,currentLocation:pe.currentLocation,nextLocation:pe.nextLocation}))},[i.window,c,T,h,K]);x.useLayoutEffect(()=>i.subscribe(Z),[i,Z]),x.useEffect(()=>{S.isTransitioning&&!S.flushSync&&z(new Ng)},[S]),x.useEffect(()=>{if(h&&m&&i.window){let se=m,O=h.promise,k=i.window.document.startViewTransition(async()=>{x.startTransition(()=>K(se)),await O});k.finished.finally(()=>{z(void 0),H(void 0),v(void 0),y({isTransitioning:!1})}),H(k)}},[m,h,i.window,K]),x.useEffect(()=>{h&&m&&f.location.key===m.location.key&&h.resolve()},[h,T,f.location,m]),x.useEffect(()=>{!S.isTransitioning&&L&&(v(L.state),y({isTransitioning:!0,flushSync:!1,currentLocation:L.currentLocation,nextLocation:L.nextLocation}),G(void 0))},[S.isTransitioning,L]);let P=x.useMemo(()=>({createHref:i.createHref,encodeLocation:i.encodeLocation,go:se=>i.navigate(se),push:(se,O,k)=>i.navigate(se,{state:O,preventScrollReset:k?.preventScrollReset}),replace:(se,O,k)=>i.navigate(se,{replace:!0,state:O,preventScrollReset:k?.preventScrollReset})}),[i]),ne=i.basename||"/",De=x.useMemo(()=>({router:i,navigator:P,static:!1,basename:ne,unstable_onError:o}),[i,P,ne,o]);return x.createElement(x.Fragment,null,x.createElement($a.Provider,{value:De},x.createElement(Qu.Provider,{value:f},x.createElement(Lm.Provider,{value:$.current},x.createElement(Wf.Provider,{value:S},x.createElement(wg,{basename:ne,location:f.location,navigationType:f.historyAction,navigator:P},x.createElement(Lg,{routes:i.routes,future:i.future,state:f,unstable_onError:o})))))),null)}var Lg=x.memo(Bg);function Bg({routes:i,future:c,state:o,unstable_onError:f}){return Sg(i,void 0,o,f,c)}function jg(i){return pg(i.context)}function wg({basename:i="/",children:c=null,location:o,navigationType:f="POP",navigator:s,static:m=!1}){Re(!Zu(),"You cannot render a inside another . You should never have more than one in your app.");let v=i.replace(/^\/*/,"/"),S=x.useMemo(()=>({basename:v,navigator:s,static:m,future:{}}),[v,s,m]);typeof o=="string"&&(o=_a(o));let{pathname:y="/",search:h="",hash:z="",state:T=null,key:H="default"}=o,L=x.useMemo(()=>{let G=il(y,v);return G==null?null:{location:{pathname:G,search:h,hash:z,state:T,key:H},navigationType:f}},[v,y,h,z,T,H,f]);return dt(L!=null,` is not able to match the URL "${y}${h}${z}" because it does not start with the basename, so the won't render anything.`),L==null?null:x.createElement(Ml.Provider,{value:S},x.createElement(pc.Provider,{children:c,value:L}))}var hc="get",mc="application/x-www-form-urlencoded";function Sc(i){return i!=null&&typeof i.tagName=="string"}function Yg(i){return Sc(i)&&i.tagName.toLowerCase()==="button"}function qg(i){return Sc(i)&&i.tagName.toLowerCase()==="form"}function Gg(i){return Sc(i)&&i.tagName.toLowerCase()==="input"}function Xg(i){return!!(i.metaKey||i.altKey||i.ctrlKey||i.shiftKey)}function Qg(i,c){return i.button===0&&(!c||c==="_self")&&!Xg(i)}var oc=null;function Zg(){if(oc===null)try{new FormData(document.createElement("form"),0),oc=!1}catch{oc=!0}return oc}var Vg=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function qf(i){return i!=null&&!Vg.has(i)?(dt(!1,`"${i}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${mc}"`),null):i}function Kg(i,c){let o,f,s,m,v;if(qg(i)){let S=i.getAttribute("action");f=S?il(S,c):null,o=i.getAttribute("method")||hc,s=qf(i.getAttribute("enctype"))||mc,m=new FormData(i)}else if(Yg(i)||Gg(i)&&(i.type==="submit"||i.type==="image")){let S=i.form;if(S==null)throw new Error('Cannot submit a