diff --git a/app/Http/Controllers/EventsController.php b/app/Http/Controllers/EventsController.php index d745121..f2f176a 100644 --- a/app/Http/Controllers/EventsController.php +++ b/app/Http/Controllers/EventsController.php @@ -3,17 +3,17 @@ namespace App\Http\Controllers; use App\Models\Events; -use http\Env\Response; use Illuminate\Http\Request; use Illuminate\Http\JsonResponse; use Illuminate\Support\Facades\Gate; use Illuminate\Support\Facades\Log; -use PHPUnit\Event\Event; class EventsController extends Controller { public function create(Request $request): JsonResponse { + + if (Gate::denies('create', Events::class)) { return response()->json(['message' => 'Forbidden'], 403); } diff --git a/app/Policies/UserPolicy.php b/app/Policies/UsersPolicy.php similarity index 96% rename from app/Policies/UserPolicy.php rename to app/Policies/UsersPolicy.php index c6a6dc5..495cc85 100644 --- a/app/Policies/UserPolicy.php +++ b/app/Policies/UsersPolicy.php @@ -5,7 +5,7 @@ namespace App\Policies; use App\Models\User; use Illuminate\Auth\Access\Response; -class UserPolicy +class UsersPolicy { public function deleteOther(User $user, User $model): bool { diff --git a/app/Providers/GateServiceProvider.php b/app/Providers/GateServiceProvider.php index 8eeacab..6e7d69c 100644 --- a/app/Providers/GateServiceProvider.php +++ b/app/Providers/GateServiceProvider.php @@ -7,7 +7,7 @@ use App\Models\Task; use App\Models\User; use App\Policies\EventsPolicy; use App\Policies\TasksPolicy; -use App\Policies\UserPolicy; +use App\Policies\UsersPolicy; use Illuminate\Support\Facades\Gate; use Illuminate\Support\ServiceProvider; @@ -26,7 +26,7 @@ class GateServiceProvider extends ServiceProvider */ public function boot(): void { - Gate::policy(User::class, UserPolicy::class); + Gate::policy(User::class, UsersPolicy::class); Gate::policy(Events::class, EventsPolicy::class); Gate::policy(Task::class, TasksPolicy::class); } diff --git a/public/assets/index-1oYDhgBl.js b/public/assets/index-1oYDhgBl.js new file mode 100644 index 0000000..9eda043 --- /dev/null +++ b/public/assets/index-1oYDhgBl.js @@ -0,0 +1,76 @@ +function u_(a,n){for(var l=0;ls[o]})}}}return Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const c of o)if(c.type==="childList")for(const u of c.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function l(o){const c={};return o.integrity&&(c.integrity=o.integrity),o.referrerPolicy&&(c.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?c.credentials="include":o.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function s(o){if(o.ep)return;o.ep=!0;const c=l(o);fetch(o.href,c)}})();function f_(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var wf={exports:{}},Ds={};/** + * @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 dp;function d_(){if(dp)return Ds;dp=1;var a=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function l(s,o,c){var u=null;if(c!==void 0&&(u=""+c),o.key!==void 0&&(u=""+o.key),"key"in o){c={};for(var h in o)h!=="key"&&(c[h]=o[h])}else c=o;return o=c.ref,{$$typeof:a,type:s,key:u,ref:o!==void 0?o:null,props:c}}return Ds.Fragment=n,Ds.jsx=l,Ds.jsxs=l,Ds}var hp;function h_(){return hp||(hp=1,wf.exports=d_()),wf.exports}var x=h_(),zf={exports:{}},Ct={};/** + * @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 mp;function m_(){if(mp)return Ct;mp=1;var a=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),u=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),_=Symbol.iterator;function S(T){return T===null||typeof T!="object"?null:(T=_&&T[_]||T["@@iterator"],typeof T=="function"?T:null)}var O={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},U=Object.assign,k={};function Y(T,V,F){this.props=T,this.context=V,this.refs=k,this.updater=F||O}Y.prototype.isReactComponent={},Y.prototype.setState=function(T,V){if(typeof T!="object"&&typeof T!="function"&&T!=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,T,V,"setState")},Y.prototype.forceUpdate=function(T){this.updater.enqueueForceUpdate(this,T,"forceUpdate")};function A(){}A.prototype=Y.prototype;function X(T,V,F){this.props=T,this.context=V,this.refs=k,this.updater=F||O}var P=X.prototype=new A;P.constructor=X,U(P,Y.prototype),P.isPureReactComponent=!0;var J=Array.isArray;function rt(){}var D={H:null,A:null,T:null,S:null},nt=Object.prototype.hasOwnProperty;function at(T,V,F){var et=F.ref;return{$$typeof:a,type:T,key:V,ref:et!==void 0?et:null,props:F}}function pt(T,V){return at(T.type,V,T.props)}function ft(T){return typeof T=="object"&&T!==null&&T.$$typeof===a}function xt(T){var V={"=":"=0",":":"=2"};return"$"+T.replace(/[=:]/g,function(F){return V[F]})}var Mt=/\/+/g;function St(T,V){return typeof T=="object"&&T!==null&&T.key!=null?xt(""+T.key):V.toString(36)}function ot(T){switch(T.status){case"fulfilled":return T.value;case"rejected":throw T.reason;default:switch(typeof T.status=="string"?T.then(rt,rt):(T.status="pending",T.then(function(V){T.status==="pending"&&(T.status="fulfilled",T.value=V)},function(V){T.status==="pending"&&(T.status="rejected",T.reason=V)})),T.status){case"fulfilled":return T.value;case"rejected":throw T.reason}}throw T}function j(T,V,F,et,ht){var bt=typeof T;(bt==="undefined"||bt==="boolean")&&(T=null);var Lt=!1;if(T===null)Lt=!0;else switch(bt){case"bigint":case"string":case"number":Lt=!0;break;case"object":switch(T.$$typeof){case a:case n:Lt=!0;break;case v:return Lt=T._init,j(Lt(T._payload),V,F,et,ht)}}if(Lt)return ht=ht(T),Lt=et===""?"."+St(T,0):et,J(ht)?(F="",Lt!=null&&(F=Lt.replace(Mt,"$&/")+"/"),j(ht,V,F,"",function(oi){return oi})):ht!=null&&(ft(ht)&&(ht=pt(ht,F+(ht.key==null||T&&T.key===ht.key?"":(""+ht.key).replace(Mt,"$&/")+"/")+Lt)),V.push(ht)),1;Lt=0;var ue=et===""?".":et+":";if(J(T))for(var ae=0;ae>>1,Et=j[dt];if(0>>1;dto(F,W))eto(ht,F)?(j[dt]=ht,j[et]=W,dt=et):(j[dt]=F,j[V]=W,dt=V);else if(eto(ht,W))j[dt]=ht,j[et]=W,dt=et;else break t}}return Z}function o(j,Z){var W=j.sortIndex-Z.sortIndex;return W!==0?W:j.id-Z.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;a.unstable_now=function(){return c.now()}}else{var u=Date,h=u.now();a.unstable_now=function(){return u.now()-h}}var m=[],g=[],v=1,y=null,_=3,S=!1,O=!1,U=!1,k=!1,Y=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,X=typeof setImmediate<"u"?setImmediate:null;function P(j){for(var Z=l(g);Z!==null;){if(Z.callback===null)s(g);else if(Z.startTime<=j)s(g),Z.sortIndex=Z.expirationTime,n(m,Z);else break;Z=l(g)}}function J(j){if(U=!1,P(j),!O)if(l(m)!==null)O=!0,rt||(rt=!0,xt());else{var Z=l(g);Z!==null&&ot(J,Z.startTime-j)}}var rt=!1,D=-1,nt=5,at=-1;function pt(){return k?!0:!(a.unstable_now()-atj&&pt());){var dt=y.callback;if(typeof dt=="function"){y.callback=null,_=y.priorityLevel;var Et=dt(y.expirationTime<=j);if(j=a.unstable_now(),typeof Et=="function"){y.callback=Et,P(j),Z=!0;break e}y===l(m)&&s(m),P(j)}else s(m);y=l(m)}if(y!==null)Z=!0;else{var T=l(g);T!==null&&ot(J,T.startTime-j),Z=!1}}break t}finally{y=null,_=W,S=!1}Z=void 0}}finally{Z?xt():rt=!1}}}var xt;if(typeof X=="function")xt=function(){X(ft)};else if(typeof MessageChannel<"u"){var Mt=new MessageChannel,St=Mt.port2;Mt.port1.onmessage=ft,xt=function(){St.postMessage(null)}}else xt=function(){Y(ft,0)};function ot(j,Z){D=Y(function(){j(a.unstable_now())},Z)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(j){j.callback=null},a.unstable_forceFrameRate=function(j){0>j||125dt?(j.sortIndex=W,n(g,j),l(m)===null&&j===l(g)&&(U?(A(D),D=-1):U=!0,ot(J,W-dt))):(j.sortIndex=Et,n(m,j),O||S||(O=!0,rt||(rt=!0,xt()))),j},a.unstable_shouldYield=pt,a.unstable_wrapCallback=function(j){var Z=_;return function(){var W=_;_=Z;try{return j.apply(this,arguments)}finally{_=W}}}})(jf)),jf}var vp;function y_(){return vp||(vp=1,Af.exports=v_()),Af.exports}var Nf={exports:{}},je={};/** + * @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 yp;function b_(){if(yp)return je;yp=1;var a=sd();function n(m){var g="https://react.dev/errors/"+m;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(n){console.error(n)}}return a(),Nf.exports=b_(),Nf.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 _p;function __(){if(_p)return Os;_p=1;var a=y_(),n=sd(),l=Wv();function s(t){var e="https://react.dev/errors/"+t;if(1Et||(t.current=dt[Et],dt[Et]=null,Et--)}function F(t,e){Et++,dt[Et]=t.current,t.current=e}var et=T(null),ht=T(null),bt=T(null),Lt=T(null);function ue(t,e){switch(F(bt,e),F(ht,t),F(et,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?Lg(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=Lg(e),t=Bg(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}V(et),F(et,t)}function ae(){V(et),V(ht),V(bt)}function oi(t){t.memoizedState!==null&&F(Lt,t);var e=et.current,i=Bg(e,t.type);e!==i&&(F(ht,t),F(et,i))}function qi(t){ht.current===t&&(V(et),V(ht)),Lt.current===t&&(V(Lt),Es._currentValue=W)}var ge,Pn;function Hn(t){if(ge===void 0)try{throw Error()}catch(i){var e=i.stack.trim().match(/\n( *(at )?)/);ge=e&&e[1]||"",Pn=-1)":-1f||E[r]!==L[f]){var G=` +`+E[r].replace(" at new "," at ");return t.displayName&&G.includes("")&&(G=G.replace("",t.displayName)),G}while(1<=r&&0<=f);break}}}finally{jl=!1,Error.prepareStackTrace=i}return(i=t?t.displayName||t.name:"")?Hn(i):""}function mc(t,e){switch(t.tag){case 26:case 27:case 5:return Hn(t.type);case 16:return Hn("Lazy");case 13:return t.child!==e&&e!==null?Hn("Suspense Fallback"):Hn("Suspense");case 19:return Hn("SuspenseList");case 0:case 15:return On(t.type,!1);case 11:return On(t.type.render,!1);case 1:return On(t.type,!0);case 31:return Hn("Activity");default:return""}}function rr(t){try{var e="",i=null;do e+=mc(t,i),i=t,t=t.return;while(t);return e}catch(r){return` +Error generating stack: `+r.message+` +`+r.stack}}var Vi=Object.prototype.hasOwnProperty,Nl=a.unstable_scheduleCallback,Ll=a.unstable_cancelCallback,gc=a.unstable_shouldYield,pc=a.unstable_requestPaint,fe=a.unstable_now,ci=a.unstable_getCurrentPriorityLevel,Bl=a.unstable_ImmediatePriority,Xi=a.unstable_UserBlockingPriority,Ye=a.unstable_NormalPriority,wn=a.unstable_LowPriority,Ul=a.unstable_IdlePriority,vc=a.log,Hl=a.unstable_setDisableYieldValue,ui=null,ie=null;function zn(t){if(typeof vc=="function"&&Hl(t),ie&&typeof ie.setStrictMode=="function")try{ie.setStrictMode(ui,t)}catch{}}var Ae=Math.clz32?Math.clz32:cr,or=Math.log,yc=Math.LN2;function cr(t){return t>>>=0,t===0?32:31-(or(t)/yc|0)|0}var Wn=256,fi=262144,Sa=4194304;function In(t){var e=t&42;if(e!==0)return e;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function di(t,e,i){var r=t.pendingLanes;if(r===0)return 0;var f=0,d=t.suspendedLanes,p=t.pingedLanes;t=t.warmLanes;var b=r&134217727;return b!==0?(r=b&~d,r!==0?f=In(r):(p&=b,p!==0?f=In(p):i||(i=b&~t,i!==0&&(f=In(i))))):(b=r&~d,b!==0?f=In(b):p!==0?f=In(p):i||(i=r&~t,i!==0&&(f=In(i)))),f===0?0:e!==0&&e!==f&&(e&d)===0&&(d=f&-f,i=e&-e,d>=i||d===32&&(i&4194048)!==0)?e:f}function hi(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function ur(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e+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 e+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 mi(){var t=Sa;return Sa<<=1,(Sa&62914560)===0&&(Sa=4194304),t}function Ea(t){for(var e=[],i=0;31>i;i++)e.push(t);return e}function Ma(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function bc(t,e,i,r,f,d){var p=t.pendingLanes;t.pendingLanes=i,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=i,t.entangledLanes&=i,t.errorRecoveryDisabledLanes&=i,t.shellSuspendCounter=0;var b=t.entanglements,E=t.expirationTimes,L=t.hiddenUpdates;for(i=p&~i;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var i0=/[\n"\\]/g;function hn(t){return t.replace(i0,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function Sc(t,e,i,r,f,d,p,b){t.name="",p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"?t.type=p:t.removeAttribute("type"),e!=null?p==="number"?(e===0&&t.value===""||t.value!=e)&&(t.value=""+Ce(e)):t.value!==""+Ce(e)&&(t.value=""+Ce(e)):p!=="submit"&&p!=="reset"||t.removeAttribute("value"),e!=null?Ec(t,p,Ce(e)):i!=null?Ec(t,p,Ce(i)):r!=null&&t.removeAttribute("value"),f==null&&d!=null&&(t.defaultChecked=!!d),f!=null&&(t.checked=f&&typeof f!="function"&&typeof f!="symbol"),b!=null&&typeof b!="function"&&typeof b!="symbol"&&typeof b!="boolean"?t.name=""+Ce(b):t.removeAttribute("name")}function wd(t,e,i,r,f,d,p,b){if(d!=null&&typeof d!="function"&&typeof d!="symbol"&&typeof d!="boolean"&&(t.type=d),e!=null||i!=null){if(!(d!=="submit"&&d!=="reset"||e!=null)){xc(t);return}i=i!=null?""+Ce(i):"",e=e!=null?""+Ce(e):i,b||e===t.value||(t.value=e),t.defaultValue=e}r=r??f,r=typeof r!="function"&&typeof r!="symbol"&&!!r,t.checked=b?t.checked:!!r,t.defaultChecked=!!r,p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"&&(t.name=p),xc(t)}function Ec(t,e,i){e==="number"&&dr(t.ownerDocument)===t||t.defaultValue===""+i||(t.defaultValue=""+i)}function Qi(t,e,i,r){if(t=t.options,e){e={};for(var f=0;f"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Oc=!1;if(ea)try{var ql={};Object.defineProperty(ql,"passive",{get:function(){Oc=!0}}),window.addEventListener("test",ql,ql),window.removeEventListener("test",ql,ql)}catch{Oc=!1}var Ca=null,wc=null,mr=null;function Bd(){if(mr)return mr;var t,e=wc,i=e.length,r,f="value"in Ca?Ca.value:Ca.textContent,d=f.length;for(t=0;t=Gl),Vd=" ",Xd=!1;function Gd(t,e){switch(t){case"keyup":return A0.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $d(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ji=!1;function N0(t,e){switch(t){case"compositionend":return $d(e);case"keypress":return e.which!==32?null:(Xd=!0,Vd);case"textInput":return t=e.data,t===Vd&&Xd?null:t;default:return null}}function L0(t,e){if(Ji)return t==="compositionend"||!Nc&&Gd(t,e)?(t=Bd(),mr=wc=Ca=null,Ji=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:i,offset:e-t};t=r}t:{for(;i;){if(i.nextSibling){i=i.nextSibling;break t}i=i.parentNode}i=void 0}i=Id(i)}}function eh(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?eh(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function nh(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var e=dr(t.document);e instanceof t.HTMLIFrameElement;){try{var i=typeof e.contentWindow.location.href=="string"}catch{i=!1}if(i)t=e.contentWindow;else break;e=dr(t.document)}return e}function Uc(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}var X0=ea&&"documentMode"in document&&11>=document.documentMode,Pi=null,Hc=null,Kl=null,kc=!1;function ah(t,e,i){var r=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;kc||Pi==null||Pi!==dr(r)||(r=Pi,"selectionStart"in r&&Uc(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Kl&&Zl(Kl,r)||(Kl=r,r=ro(Hc,"onSelect"),0>=p,f-=p,kn=1<<32-Ae(e)+f|i<Dt?(Nt=ct,ct=null):Nt=ct.sibling;var Vt=B(z,ct,N[Dt],$);if(Vt===null){ct===null&&(ct=Nt);break}t&&ct&&Vt.alternate===null&&e(z,ct),w=d(Vt,w,Dt),qt===null?yt=Vt:qt.sibling=Vt,qt=Vt,ct=Nt}if(Dt===N.length)return i(z,ct),Ut&&aa(z,Dt),yt;if(ct===null){for(;DtDt?(Nt=ct,ct=null):Nt=ct.sibling;var Za=B(z,ct,Vt.value,$);if(Za===null){ct===null&&(ct=Nt);break}t&&ct&&Za.alternate===null&&e(z,ct),w=d(Za,w,Dt),qt===null?yt=Za:qt.sibling=Za,qt=Za,ct=Nt}if(Vt.done)return i(z,ct),Ut&&aa(z,Dt),yt;if(ct===null){for(;!Vt.done;Dt++,Vt=N.next())Vt=Q(z,Vt.value,$),Vt!==null&&(w=d(Vt,w,Dt),qt===null?yt=Vt:qt.sibling=Vt,qt=Vt);return Ut&&aa(z,Dt),yt}for(ct=r(ct);!Vt.done;Dt++,Vt=N.next())Vt=q(ct,z,Dt,Vt.value,$),Vt!==null&&(t&&Vt.alternate!==null&&ct.delete(Vt.key===null?Dt:Vt.key),w=d(Vt,w,Dt),qt===null?yt=Vt:qt.sibling=Vt,qt=Vt);return t&&ct.forEach(function(c_){return e(z,c_)}),Ut&&aa(z,Dt),yt}function Jt(z,w,N,$){if(typeof N=="object"&&N!==null&&N.type===U&&N.key===null&&(N=N.props.children),typeof N=="object"&&N!==null){switch(N.$$typeof){case S:t:{for(var yt=N.key;w!==null;){if(w.key===yt){if(yt=N.type,yt===U){if(w.tag===7){i(z,w.sibling),$=f(w,N.props.children),$.return=z,z=$;break t}}else if(w.elementType===yt||typeof yt=="object"&&yt!==null&&yt.$$typeof===nt&&Ci(yt)===w.type){i(z,w.sibling),$=f(w,N.props),ts($,N),$.return=z,z=$;break t}i(z,w);break}else e(z,w);w=w.sibling}N.type===U?($=_i(N.props.children,z.mode,$,N.key),$.return=z,z=$):($=Mr(N.type,N.key,N.props,null,z.mode,$),ts($,N),$.return=z,z=$)}return p(z);case O:t:{for(yt=N.key;w!==null;){if(w.key===yt)if(w.tag===4&&w.stateNode.containerInfo===N.containerInfo&&w.stateNode.implementation===N.implementation){i(z,w.sibling),$=f(w,N.children||[]),$.return=z,z=$;break t}else{i(z,w);break}else e(z,w);w=w.sibling}$=Qc(N,z.mode,$),$.return=z,z=$}return p(z);case nt:return N=Ci(N),Jt(z,w,N,$)}if(ot(N))return st(z,w,N,$);if(xt(N)){if(yt=xt(N),typeof yt!="function")throw Error(s(150));return N=yt.call(N),_t(z,w,N,$)}if(typeof N.then=="function")return Jt(z,w,Rr(N),$);if(N.$$typeof===X)return Jt(z,w,Dr(z,N),$);Ar(z,N)}return typeof N=="string"&&N!==""||typeof N=="number"||typeof N=="bigint"?(N=""+N,w!==null&&w.tag===6?(i(z,w.sibling),$=f(w,N),$.return=z,z=$):(i(z,w),$=$c(N,z.mode,$),$.return=z,z=$),p(z)):i(z,w)}return function(z,w,N,$){try{Il=0;var yt=Jt(z,w,N,$);return ol=null,yt}catch(ct){if(ct===rl||ct===wr)throw ct;var qt=nn(29,ct,null,z.mode);return qt.lanes=$,qt.return=z,qt}finally{}}}var Di=Th(!0),Dh=Th(!1),za=!1;function iu(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function lu(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function Ra(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function Aa(t,e,i){var r=t.updateQueue;if(r===null)return null;if(r=r.shared,(Xt&2)!==0){var f=r.pending;return f===null?e.next=e:(e.next=f.next,f.next=e),r.pending=e,e=Er(t),uh(t,null,i),e}return Sr(t,r,e,i),Er(t)}function es(t,e,i){if(e=e.updateQueue,e!==null&&(e=e.shared,(i&4194048)!==0)){var r=e.lanes;r&=t.pendingLanes,i|=r,e.lanes=i,M(t,i)}}function su(t,e){var i=t.updateQueue,r=t.alternate;if(r!==null&&(r=r.updateQueue,i===r)){var f=null,d=null;if(i=i.firstBaseUpdate,i!==null){do{var p={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};d===null?f=d=p:d=d.next=p,i=i.next}while(i!==null);d===null?f=d=e:d=d.next=e}else f=d=e;i={baseState:r.baseState,firstBaseUpdate:f,lastBaseUpdate:d,shared:r.shared,callbacks:r.callbacks},t.updateQueue=i;return}t=i.lastBaseUpdate,t===null?i.firstBaseUpdate=e:t.next=e,i.lastBaseUpdate=e}var ru=!1;function ns(){if(ru){var t=sl;if(t!==null)throw t}}function as(t,e,i,r){ru=!1;var f=t.updateQueue;za=!1;var d=f.firstBaseUpdate,p=f.lastBaseUpdate,b=f.shared.pending;if(b!==null){f.shared.pending=null;var E=b,L=E.next;E.next=null,p===null?d=L:p.next=L,p=E;var G=t.alternate;G!==null&&(G=G.updateQueue,b=G.lastBaseUpdate,b!==p&&(b===null?G.firstBaseUpdate=L:b.next=L,G.lastBaseUpdate=E))}if(d!==null){var Q=f.baseState;p=0,G=L=E=null,b=d;do{var B=b.lane&-536870913,q=B!==b.lane;if(q?(jt&B)===B:(r&B)===B){B!==0&&B===ll&&(ru=!0),G!==null&&(G=G.next={lane:0,tag:b.tag,payload:b.payload,callback:null,next:null});t:{var st=t,_t=b;B=e;var Jt=i;switch(_t.tag){case 1:if(st=_t.payload,typeof st=="function"){Q=st.call(Jt,Q,B);break t}Q=st;break t;case 3:st.flags=st.flags&-65537|128;case 0:if(st=_t.payload,B=typeof st=="function"?st.call(Jt,Q,B):st,B==null)break t;Q=y({},Q,B);break t;case 2:za=!0}}B=b.callback,B!==null&&(t.flags|=64,q&&(t.flags|=8192),q=f.callbacks,q===null?f.callbacks=[B]:q.push(B))}else q={lane:B,tag:b.tag,payload:b.payload,callback:b.callback,next:null},G===null?(L=G=q,E=Q):G=G.next=q,p|=B;if(b=b.next,b===null){if(b=f.shared.pending,b===null)break;q=b,b=q.next,q.next=null,f.lastBaseUpdate=q,f.shared.pending=null}}while(!0);G===null&&(E=Q),f.baseState=E,f.firstBaseUpdate=L,f.lastBaseUpdate=G,d===null&&(f.shared.lanes=0),Ua|=p,t.lanes=p,t.memoizedState=Q}}function Oh(t,e){if(typeof t!="function")throw Error(s(191,t));t.call(e)}function wh(t,e){var i=t.callbacks;if(i!==null)for(t.callbacks=null,t=0;td?d:8;var p=j.T,b={};j.T=b,Tu(t,!1,e,i);try{var E=f(),L=j.S;if(L!==null&&L(b,E),E!==null&&typeof E=="object"&&typeof E.then=="function"){var G=W0(E,r);ss(t,e,G,on(t))}else ss(t,e,r,on(t))}catch(Q){ss(t,e,{then:function(){},status:"rejected",reason:Q},on())}finally{Z.p=d,p!==null&&b.types!==null&&(p.types=b.types),j.T=p}}function ib(){}function Mu(t,e,i,r){if(t.tag!==5)throw Error(s(476));var f=rm(t).queue;sm(t,f,e,W,i===null?ib:function(){return om(t),i(r)})}function rm(t){var e=t.memoizedState;if(e!==null)return e;e={memoizedState:W,baseState:W,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ra,lastRenderedState:W},next:null};var i={};return e.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ra,lastRenderedState:i},next:null},t.memoizedState=e,t=t.alternate,t!==null&&(t.memoizedState=e),e}function om(t){var e=rm(t);e.next===null&&(e=t.alternate.memoizedState),ss(t,e.next.queue,{},on())}function Cu(){return De(Es)}function cm(){return he().memoizedState}function um(){return he().memoizedState}function lb(t){for(var e=t.return;e!==null;){switch(e.tag){case 24:case 3:var i=on();t=Ra(i);var r=Aa(e,t,i);r!==null&&(Ze(r,e,i),es(r,e,i)),e={cache:tu()},t.payload=e;return}e=e.return}}function sb(t,e,i){var r=on();i={lane:r,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Vr(t)?dm(e,i):(i=Xc(t,e,i,r),i!==null&&(Ze(i,t,r),hm(i,e,r)))}function fm(t,e,i){var r=on();ss(t,e,i,r)}function ss(t,e,i,r){var f={lane:r,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(Vr(t))dm(e,f);else{var d=t.alternate;if(t.lanes===0&&(d===null||d.lanes===0)&&(d=e.lastRenderedReducer,d!==null))try{var p=e.lastRenderedState,b=d(p,i);if(f.hasEagerState=!0,f.eagerState=b,en(b,p))return Sr(t,e,f,0),Wt===null&&xr(),!1}catch{}finally{}if(i=Xc(t,e,f,r),i!==null)return Ze(i,t,r),hm(i,e,r),!0}return!1}function Tu(t,e,i,r){if(r={lane:2,revertLane:lf(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Vr(t)){if(e)throw Error(s(479))}else e=Xc(t,i,r,2),e!==null&&Ze(e,t,2)}function Vr(t){var e=t.alternate;return t===Tt||e!==null&&e===Tt}function dm(t,e){ul=Lr=!0;var i=t.pending;i===null?e.next=e:(e.next=i.next,i.next=e),t.pending=e}function hm(t,e,i){if((i&4194048)!==0){var r=e.lanes;r&=t.pendingLanes,i|=r,e.lanes=i,M(t,i)}}var rs={readContext:De,use:Hr,useCallback:se,useContext:se,useEffect:se,useImperativeHandle:se,useLayoutEffect:se,useInsertionEffect:se,useMemo:se,useReducer:se,useRef:se,useState:se,useDebugValue:se,useDeferredValue:se,useTransition:se,useSyncExternalStore:se,useId:se,useHostTransitionStatus:se,useFormState:se,useActionState:se,useOptimistic:se,useMemoCache:se,useCacheRefresh:se};rs.useEffectEvent=se;var mm={readContext:De,use:Hr,useCallback:function(t,e){return Be().memoizedState=[t,e===void 0?null:e],t},useContext:De,useEffect:Ph,useImperativeHandle:function(t,e,i){i=i!=null?i.concat([t]):null,Yr(4194308,4,em.bind(null,e,t),i)},useLayoutEffect:function(t,e){return Yr(4194308,4,t,e)},useInsertionEffect:function(t,e){Yr(4,2,t,e)},useMemo:function(t,e){var i=Be();e=e===void 0?null:e;var r=t();if(Oi){zn(!0);try{t()}finally{zn(!1)}}return i.memoizedState=[r,e],r},useReducer:function(t,e,i){var r=Be();if(i!==void 0){var f=i(e);if(Oi){zn(!0);try{i(e)}finally{zn(!1)}}}else f=e;return r.memoizedState=r.baseState=f,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:f},r.queue=t,t=t.dispatch=sb.bind(null,Tt,t),[r.memoizedState,t]},useRef:function(t){var e=Be();return t={current:t},e.memoizedState=t},useState:function(t){t=bu(t);var e=t.queue,i=fm.bind(null,Tt,e);return e.dispatch=i,[t.memoizedState,i]},useDebugValue:Su,useDeferredValue:function(t,e){var i=Be();return Eu(i,t,e)},useTransition:function(){var t=bu(!1);return t=sm.bind(null,Tt,t.queue,!0,!1),Be().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,e,i){var r=Tt,f=Be();if(Ut){if(i===void 0)throw Error(s(407));i=i()}else{if(i=e(),Wt===null)throw Error(s(349));(jt&127)!==0||Lh(r,e,i)}f.memoizedState=i;var d={value:i,getSnapshot:e};return f.queue=d,Ph(Uh.bind(null,r,d,t),[t]),r.flags|=2048,dl(9,{destroy:void 0},Bh.bind(null,r,d,i,e),null),i},useId:function(){var t=Be(),e=Wt.identifierPrefix;if(Ut){var i=Yn,r=kn;i=(r&~(1<<32-Ae(r)-1)).toString(32)+i,e="_"+e+"R_"+i,i=Br++,0<\/script>",d=d.removeChild(d.firstChild);break;case"select":d=typeof r.is=="string"?p.createElement("select",{is:r.is}):p.createElement("select"),r.multiple?d.multiple=!0:r.size&&(d.size=r.size);break;default:d=typeof r.is=="string"?p.createElement(f,{is:r.is}):p.createElement(f)}}d[tt]=e,d[it]=r;t:for(p=e.child;p!==null;){if(p.tag===5||p.tag===6)d.appendChild(p.stateNode);else if(p.tag!==4&&p.tag!==27&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===e)break t;for(;p.sibling===null;){if(p.return===null||p.return===e)break t;p=p.return}p.sibling.return=p.return,p=p.sibling}e.stateNode=d;t:switch(we(d,f,r),f){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break t;case"img":r=!0;break t;default:r=!1}r&&ca(e)}}return ee(e),Yu(e,e.type,t===null?null:t.memoizedProps,e.pendingProps,i),null;case 6:if(t&&e.stateNode!=null)t.memoizedProps!==r&&ca(e);else{if(typeof r!="string"&&e.stateNode===null)throw Error(s(166));if(t=bt.current,al(e)){if(t=e.stateNode,i=e.memoizedProps,r=null,f=Te,f!==null)switch(f.tag){case 27:case 5:r=f.memoizedProps}t[tt]=e,t=!!(t.nodeValue===i||r!==null&&r.suppressHydrationWarning===!0||jg(t.nodeValue,i)),t||Oa(e,!0)}else t=oo(t).createTextNode(r),t[tt]=e,e.stateNode=t}return ee(e),null;case 31:if(i=e.memoizedState,t===null||t.memoizedState!==null){if(r=al(e),i!==null){if(t===null){if(!r)throw Error(s(318));if(t=e.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(s(557));t[tt]=e}else xi(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;ee(e),t=!1}else i=Jc(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=i),t=!0;if(!t)return e.flags&256?(ln(e),e):(ln(e),null);if((e.flags&128)!==0)throw Error(s(558))}return ee(e),null;case 13:if(r=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(f=al(e),r!==null&&r.dehydrated!==null){if(t===null){if(!f)throw Error(s(318));if(f=e.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(s(317));f[tt]=e}else xi(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;ee(e),f=!1}else f=Jc(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=f),f=!0;if(!f)return e.flags&256?(ln(e),e):(ln(e),null)}return ln(e),(e.flags&128)!==0?(e.lanes=i,e):(i=r!==null,t=t!==null&&t.memoizedState!==null,i&&(r=e.child,f=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(f=r.alternate.memoizedState.cachePool.pool),d=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(d=r.memoizedState.cachePool.pool),d!==f&&(r.flags|=2048)),i!==t&&i&&(e.child.flags|=8192),Zr(e,e.updateQueue),ee(e),null);case 4:return ae(),t===null&&cf(e.stateNode.containerInfo),ee(e),null;case 10:return la(e.type),ee(e),null;case 19:if(V(de),r=e.memoizedState,r===null)return ee(e),null;if(f=(e.flags&128)!==0,d=r.rendering,d===null)if(f)cs(r,!1);else{if(re!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(d=Nr(t),d!==null){for(e.flags|=128,cs(r,!1),t=d.updateQueue,e.updateQueue=t,Zr(e,t),e.subtreeFlags=0,t=i,i=e.child;i!==null;)fh(i,t),i=i.sibling;return F(de,de.current&1|2),Ut&&aa(e,r.treeForkCount),e.child}t=t.sibling}r.tail!==null&&fe()>Wr&&(e.flags|=128,f=!0,cs(r,!1),e.lanes=4194304)}else{if(!f)if(t=Nr(d),t!==null){if(e.flags|=128,f=!0,t=t.updateQueue,e.updateQueue=t,Zr(e,t),cs(r,!0),r.tail===null&&r.tailMode==="hidden"&&!d.alternate&&!Ut)return ee(e),null}else 2*fe()-r.renderingStartTime>Wr&&i!==536870912&&(e.flags|=128,f=!0,cs(r,!1),e.lanes=4194304);r.isBackwards?(d.sibling=e.child,e.child=d):(t=r.last,t!==null?t.sibling=d:e.child=d,r.last=d)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=fe(),t.sibling=null,i=de.current,F(de,f?i&1|2:i&1),Ut&&aa(e,r.treeForkCount),t):(ee(e),null);case 22:case 23:return ln(e),cu(),r=e.memoizedState!==null,t!==null?t.memoizedState!==null!==r&&(e.flags|=8192):r&&(e.flags|=8192),r?(i&536870912)!==0&&(e.flags&128)===0&&(ee(e),e.subtreeFlags&6&&(e.flags|=8192)):ee(e),i=e.updateQueue,i!==null&&Zr(e,i.retryQueue),i=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),r=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(r=e.memoizedState.cachePool.pool),r!==i&&(e.flags|=2048),t!==null&&V(Mi),null;case 24:return i=null,t!==null&&(i=t.memoizedState.cache),e.memoizedState.cache!==i&&(e.flags|=2048),la(pe),ee(e),null;case 25:return null;case 30:return null}throw Error(s(156,e.tag))}function fb(t,e){switch(Kc(e),e.tag){case 1:return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return la(pe),ae(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 26:case 27:case 5:return qi(e),null;case 31:if(e.memoizedState!==null){if(ln(e),e.alternate===null)throw Error(s(340));xi()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 13:if(ln(e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(s(340));xi()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return V(de),null;case 4:return ae(),null;case 10:return la(e.type),null;case 22:case 23:return ln(e),cu(),t!==null&&V(Mi),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 24:return la(pe),null;case 25:return null;default:return null}}function Hm(t,e){switch(Kc(e),e.tag){case 3:la(pe),ae();break;case 26:case 27:case 5:qi(e);break;case 4:ae();break;case 31:e.memoizedState!==null&&ln(e);break;case 13:ln(e);break;case 19:V(de);break;case 10:la(e.type);break;case 22:case 23:ln(e),cu(),t!==null&&V(Mi);break;case 24:la(pe)}}function us(t,e){try{var i=e.updateQueue,r=i!==null?i.lastEffect:null;if(r!==null){var f=r.next;i=f;do{if((i.tag&t)===t){r=void 0;var d=i.create,p=i.inst;r=d(),p.destroy=r}i=i.next}while(i!==f)}}catch(b){Zt(e,e.return,b)}}function La(t,e,i){try{var r=e.updateQueue,f=r!==null?r.lastEffect:null;if(f!==null){var d=f.next;r=d;do{if((r.tag&t)===t){var p=r.inst,b=p.destroy;if(b!==void 0){p.destroy=void 0,f=e;var E=i,L=b;try{L()}catch(G){Zt(f,E,G)}}}r=r.next}while(r!==d)}}catch(G){Zt(e,e.return,G)}}function km(t){var e=t.updateQueue;if(e!==null){var i=t.stateNode;try{wh(e,i)}catch(r){Zt(t,t.return,r)}}}function Ym(t,e,i){i.props=wi(t.type,t.memoizedProps),i.state=t.memoizedState;try{i.componentWillUnmount()}catch(r){Zt(t,e,r)}}function fs(t,e){try{var i=t.ref;if(i!==null){switch(t.tag){case 26:case 27:case 5:var r=t.stateNode;break;case 30:r=t.stateNode;break;default:r=t.stateNode}typeof i=="function"?t.refCleanup=i(r):i.current=r}}catch(f){Zt(t,e,f)}}function qn(t,e){var i=t.ref,r=t.refCleanup;if(i!==null)if(typeof r=="function")try{r()}catch(f){Zt(t,e,f)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(f){Zt(t,e,f)}else i.current=null}function qm(t){var e=t.type,i=t.memoizedProps,r=t.stateNode;try{t:switch(e){case"button":case"input":case"select":case"textarea":i.autoFocus&&r.focus();break t;case"img":i.src?r.src=i.src:i.srcSet&&(r.srcset=i.srcSet)}}catch(f){Zt(t,t.return,f)}}function qu(t,e,i){try{var r=t.stateNode;jb(r,t.type,i,e),r[it]=e}catch(f){Zt(t,t.return,f)}}function Vm(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&Va(t.type)||t.tag===4}function Vu(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||Vm(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&Va(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Xu(t,e,i){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(t,e):(e=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,e.appendChild(t),i=i._reactRootContainer,i!=null||e.onclick!==null||(e.onclick=ta));else if(r!==4&&(r===27&&Va(t.type)&&(i=t.stateNode,e=null),t=t.child,t!==null))for(Xu(t,e,i),t=t.sibling;t!==null;)Xu(t,e,i),t=t.sibling}function Kr(t,e,i){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?i.insertBefore(t,e):i.appendChild(t);else if(r!==4&&(r===27&&Va(t.type)&&(i=t.stateNode),t=t.child,t!==null))for(Kr(t,e,i),t=t.sibling;t!==null;)Kr(t,e,i),t=t.sibling}function Xm(t){var e=t.stateNode,i=t.memoizedProps;try{for(var r=t.type,f=e.attributes;f.length;)e.removeAttributeNode(f[0]);we(e,r,i),e[tt]=t,e[it]=i}catch(d){Zt(t,t.return,d)}}var ua=!1,be=!1,Gu=!1,Gm=typeof WeakSet=="function"?WeakSet:Set,Ee=null;function db(t,e){if(t=t.containerInfo,df=po,t=nh(t),Uc(t)){if("selectionStart"in t)var i={start:t.selectionStart,end:t.selectionEnd};else t:{i=(i=t.ownerDocument)&&i.defaultView||window;var r=i.getSelection&&i.getSelection();if(r&&r.rangeCount!==0){i=r.anchorNode;var f=r.anchorOffset,d=r.focusNode;r=r.focusOffset;try{i.nodeType,d.nodeType}catch{i=null;break t}var p=0,b=-1,E=-1,L=0,G=0,Q=t,B=null;e:for(;;){for(var q;Q!==i||f!==0&&Q.nodeType!==3||(b=p+f),Q!==d||r!==0&&Q.nodeType!==3||(E=p+r),Q.nodeType===3&&(p+=Q.nodeValue.length),(q=Q.firstChild)!==null;)B=Q,Q=q;for(;;){if(Q===t)break e;if(B===i&&++L===f&&(b=p),B===d&&++G===r&&(E=p),(q=Q.nextSibling)!==null)break;Q=B,B=Q.parentNode}Q=q}i=b===-1||E===-1?null:{start:b,end:E}}else i=null}i=i||{start:0,end:0}}else i=null;for(hf={focusedElem:t,selectionRange:i},po=!1,Ee=e;Ee!==null;)if(e=Ee,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Ee=t;else for(;Ee!==null;){switch(e=Ee,d=e.alternate,t=e.flags,e.tag){case 0:if((t&4)!==0&&(t=e.updateQueue,t=t!==null?t.events:null,t!==null))for(i=0;i title"))),we(d,r,i),d[tt]=t,Pt(d),r=d;break t;case"link":var p=Jg("link","href",f).get(r+(i.href||""));if(p){for(var b=0;bJt&&(p=Jt,Jt=_t,_t=p);var z=th(b,_t),w=th(b,Jt);if(z&&w&&(q.rangeCount!==1||q.anchorNode!==z.node||q.anchorOffset!==z.offset||q.focusNode!==w.node||q.focusOffset!==w.offset)){var N=Q.createRange();N.setStart(z.node,z.offset),q.removeAllRanges(),_t>Jt?(q.addRange(N),q.extend(w.node,w.offset)):(N.setEnd(w.node,w.offset),q.addRange(N))}}}}for(Q=[],q=b;q=q.parentNode;)q.nodeType===1&&Q.push({element:q,left:q.scrollLeft,top:q.scrollTop});for(typeof b.focus=="function"&&b.focus(),b=0;bi?32:i,j.T=null,i=Pu,Pu=null;var d=ka,p=ga;if(xe=0,vl=ka=null,ga=0,(Xt&6)!==0)throw Error(s(331));var b=Xt;if(Xt|=4,eg(d.current),Wm(d,d.current,p,i),Xt=b,vs(0,!1),ie&&typeof ie.onPostCommitFiberRoot=="function")try{ie.onPostCommitFiberRoot(ui,d)}catch{}return!0}finally{Z.p=f,j.T=r,bg(t,e)}}function xg(t,e,i){e=gn(i,e),e=zu(t.stateNode,e,2),t=Aa(t,e,2),t!==null&&(Ma(t,2),Vn(t))}function Zt(t,e,i){if(t.tag===3)xg(t,t,i);else for(;e!==null;){if(e.tag===3){xg(e,t,i);break}else if(e.tag===1){var r=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Ha===null||!Ha.has(r))){t=gn(i,t),i=Sm(2),r=Aa(e,i,2),r!==null&&(Em(i,r,e,t),Ma(r,2),Vn(r));break}}e=e.return}}function ef(t,e,i){var r=t.pingCache;if(r===null){r=t.pingCache=new gb;var f=new Set;r.set(e,f)}else f=r.get(e),f===void 0&&(f=new Set,r.set(e,f));f.has(i)||(Zu=!0,f.add(i),t=_b.bind(null,t,e,i),e.then(t,t))}function _b(t,e,i){var r=t.pingCache;r!==null&&r.delete(e),t.pingedLanes|=t.suspendedLanes&i,t.warmLanes&=~i,Wt===t&&(jt&i)===i&&(re===4||re===3&&(jt&62914560)===jt&&300>fe()-Pr?(Xt&2)===0&&yl(t,0):Ku|=i,pl===jt&&(pl=0)),Vn(t)}function Sg(t,e){e===0&&(e=mi()),t=bi(t,e),t!==null&&(Ma(t,e),Vn(t))}function xb(t){var e=t.memoizedState,i=0;e!==null&&(i=e.retryLane),Sg(t,i)}function Sb(t,e){var i=0;switch(t.tag){case 31:case 13:var r=t.stateNode,f=t.memoizedState;f!==null&&(i=f.retryLane);break;case 19:r=t.stateNode;break;case 22:r=t.stateNode._retryCache;break;default:throw Error(s(314))}r!==null&&r.delete(e),Sg(t,i)}function Eb(t,e){return Nl(t,e)}var io=null,_l=null,nf=!1,lo=!1,af=!1,qa=0;function Vn(t){t!==_l&&t.next===null&&(_l===null?io=_l=t:_l=_l.next=t),lo=!0,nf||(nf=!0,Cb())}function vs(t,e){if(!af&&lo){af=!0;do for(var i=!1,r=io;r!==null;){if(t!==0){var f=r.pendingLanes;if(f===0)var d=0;else{var p=r.suspendedLanes,b=r.pingedLanes;d=(1<<31-Ae(42|t)+1)-1,d&=f&~(p&~b),d=d&201326741?d&201326741|1:d?d|2:0}d!==0&&(i=!0,Tg(r,d))}else d=jt,d=di(r,r===Wt?d:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(d&3)===0||hi(r,d)||(i=!0,Tg(r,d));r=r.next}while(i);af=!1}}function Mb(){Eg()}function Eg(){lo=nf=!1;var t=0;qa!==0&&Lb()&&(t=qa);for(var e=fe(),i=null,r=io;r!==null;){var f=r.next,d=Mg(r,e);d===0?(r.next=null,i===null?io=f:i.next=f,f===null&&(_l=i)):(i=r,(t!==0||(d&3)!==0)&&(lo=!0)),r=f}xe!==0&&xe!==5||vs(t),qa!==0&&(qa=0)}function Mg(t,e){for(var i=t.suspendedLanes,r=t.pingedLanes,f=t.expirationTimes,d=t.pendingLanes&-62914561;0b)break;var G=E.transferSize,Q=E.initiatorType;G&&Ng(Q)&&(E=E.responseEnd,p+=G*(E"u"?null:document;function Qg(t,e,i){var r=xl;if(r&&typeof e=="string"&&e){var f=hn(e);f='link[rel="'+t+'"][href="'+f+'"]',typeof i=="string"&&(f+='[crossorigin="'+i+'"]'),$g.has(f)||($g.add(f),t={rel:t,crossOrigin:i,href:e},r.querySelector(f)===null&&(e=r.createElement("link"),we(e,"link",t),Pt(e),r.head.appendChild(e)))}}function Gb(t){pa.D(t),Qg("dns-prefetch",t,null)}function $b(t,e){pa.C(t,e),Qg("preconnect",t,e)}function Qb(t,e,i){pa.L(t,e,i);var r=xl;if(r&&t&&e){var f='link[rel="preload"][as="'+hn(e)+'"]';e==="image"&&i&&i.imageSrcSet?(f+='[imagesrcset="'+hn(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(f+='[imagesizes="'+hn(i.imageSizes)+'"]')):f+='[href="'+hn(t)+'"]';var d=f;switch(e){case"style":d=Sl(t);break;case"script":d=El(t)}xn.has(d)||(t=y({rel:"preload",href:e==="image"&&i&&i.imageSrcSet?void 0:t,as:e},i),xn.set(d,t),r.querySelector(f)!==null||e==="style"&&r.querySelector(xs(d))||e==="script"&&r.querySelector(Ss(d))||(e=r.createElement("link"),we(e,"link",t),Pt(e),r.head.appendChild(e)))}}function Zb(t,e){pa.m(t,e);var i=xl;if(i&&t){var r=e&&typeof e.as=="string"?e.as:"script",f='link[rel="modulepreload"][as="'+hn(r)+'"][href="'+hn(t)+'"]',d=f;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":d=El(t)}if(!xn.has(d)&&(t=y({rel:"modulepreload",href:t},e),xn.set(d,t),i.querySelector(f)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(Ss(d)))return}r=i.createElement("link"),we(r,"link",t),Pt(r),i.head.appendChild(r)}}}function Kb(t,e,i){pa.S(t,e,i);var r=xl;if(r&&t){var f=fn(r).hoistableStyles,d=Sl(t);e=e||"default";var p=f.get(d);if(!p){var b={loading:0,preload:null};if(p=r.querySelector(xs(d)))b.loading=5;else{t=y({rel:"stylesheet",href:t,"data-precedence":e},i),(i=xn.get(d))&&_f(t,i);var E=p=r.createElement("link");Pt(E),we(E,"link",t),E._p=new Promise(function(L,G){E.onload=L,E.onerror=G}),E.addEventListener("load",function(){b.loading|=1}),E.addEventListener("error",function(){b.loading|=2}),b.loading|=4,uo(p,e,r)}p={type:"stylesheet",instance:p,count:1,state:b},f.set(d,p)}}}function Fb(t,e){pa.X(t,e);var i=xl;if(i&&t){var r=fn(i).hoistableScripts,f=El(t),d=r.get(f);d||(d=i.querySelector(Ss(f)),d||(t=y({src:t,async:!0},e),(e=xn.get(f))&&xf(t,e),d=i.createElement("script"),Pt(d),we(d,"link",t),i.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},r.set(f,d))}}function Jb(t,e){pa.M(t,e);var i=xl;if(i&&t){var r=fn(i).hoistableScripts,f=El(t),d=r.get(f);d||(d=i.querySelector(Ss(f)),d||(t=y({src:t,async:!0,type:"module"},e),(e=xn.get(f))&&xf(t,e),d=i.createElement("script"),Pt(d),we(d,"link",t),i.head.appendChild(d)),d={type:"script",instance:d,count:1,state:null},r.set(f,d))}}function Zg(t,e,i,r){var f=(f=bt.current)?co(f):null;if(!f)throw Error(s(446));switch(t){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(e=Sl(i.href),i=fn(f).hoistableStyles,r=i.get(e),r||(r={type:"style",instance:null,count:0,state:null},i.set(e,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){t=Sl(i.href);var d=fn(f).hoistableStyles,p=d.get(t);if(p||(f=f.ownerDocument||f,p={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},d.set(t,p),(d=f.querySelector(xs(t)))&&!d._p&&(p.instance=d,p.state.loading=5),xn.has(t)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},xn.set(t,i),d||Pb(f,t,i,p.state))),e&&r===null)throw Error(s(528,""));return p}if(e&&r!==null)throw Error(s(529,""));return null;case"script":return e=i.async,i=i.src,typeof i=="string"&&e&&typeof e!="function"&&typeof e!="symbol"?(e=El(i),i=fn(f).hoistableScripts,r=i.get(e),r||(r={type:"script",instance:null,count:0,state:null},i.set(e,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,t))}}function Sl(t){return'href="'+hn(t)+'"'}function xs(t){return'link[rel="stylesheet"]['+t+"]"}function Kg(t){return y({},t,{"data-precedence":t.precedence,precedence:null})}function Pb(t,e,i,r){t.querySelector('link[rel="preload"][as="style"]['+e+"]")?r.loading=1:(e=t.createElement("link"),r.preload=e,e.addEventListener("load",function(){return r.loading|=1}),e.addEventListener("error",function(){return r.loading|=2}),we(e,"link",i),Pt(e),t.head.appendChild(e))}function El(t){return'[src="'+hn(t)+'"]'}function Ss(t){return"script[async]"+t}function Fg(t,e,i){if(e.count++,e.instance===null)switch(e.type){case"style":var r=t.querySelector('style[data-href~="'+hn(i.href)+'"]');if(r)return e.instance=r,Pt(r),r;var f=y({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return r=(t.ownerDocument||t).createElement("style"),Pt(r),we(r,"style",f),uo(r,i.precedence,t),e.instance=r;case"stylesheet":f=Sl(i.href);var d=t.querySelector(xs(f));if(d)return e.state.loading|=4,e.instance=d,Pt(d),d;r=Kg(i),(f=xn.get(f))&&_f(r,f),d=(t.ownerDocument||t).createElement("link"),Pt(d);var p=d;return p._p=new Promise(function(b,E){p.onload=b,p.onerror=E}),we(d,"link",r),e.state.loading|=4,uo(d,i.precedence,t),e.instance=d;case"script":return d=El(i.src),(f=t.querySelector(Ss(d)))?(e.instance=f,Pt(f),f):(r=i,(f=xn.get(d))&&(r=y({},i),xf(r,f)),t=t.ownerDocument||t,f=t.createElement("script"),Pt(f),we(f,"link",r),t.head.appendChild(f),e.instance=f);case"void":return null;default:throw Error(s(443,e.type))}else e.type==="stylesheet"&&(e.state.loading&4)===0&&(r=e.instance,e.state.loading|=4,uo(r,i.precedence,t));return e.instance}function uo(t,e,i){for(var r=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=r.length?r[r.length-1]:null,d=f,p=0;p title"):null)}function Wb(t,e,i){if(i===1||e.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof e.precedence!="string"||typeof e.href!="string"||e.href==="")break;return!0;case"link":if(typeof e.rel!="string"||typeof e.href!="string"||e.href===""||e.onLoad||e.onError)break;switch(e.rel){case"stylesheet":return t=e.disabled,typeof e.precedence=="string"&&t==null;default:return!0}case"script":if(e.async&&typeof e.async!="function"&&typeof e.async!="symbol"&&!e.onLoad&&!e.onError&&e.src&&typeof e.src=="string")return!0}return!1}function Wg(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function Ib(t,e,i,r){if(i.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var f=Sl(r.href),d=e.querySelector(xs(f));if(d){e=d._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(t.count++,t=ho.bind(t),e.then(t,t)),i.state.loading|=4,i.instance=d,Pt(d);return}d=e.ownerDocument||e,r=Kg(r),(f=xn.get(f))&&_f(r,f),d=d.createElement("link"),Pt(d);var p=d;p._p=new Promise(function(b,E){p.onload=b,p.onerror=E}),we(d,"link",r),i.instance=d}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(i,e),(e=i.state.preload)&&(i.state.loading&3)===0&&(t.count++,i=ho.bind(t),e.addEventListener("load",i),e.addEventListener("error",i))}}var Sf=0;function t_(t,e){return t.stylesheets&&t.count===0&&go(t,t.stylesheets),0Sf?50:800)+e);return t.unsuspend=i,function(){t.unsuspend=null,clearTimeout(r),clearTimeout(f)}}:null}function ho(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)go(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var mo=null;function go(t,e){t.stylesheets=null,t.unsuspend!==null&&(t.count++,mo=new Map,e.forEach(e_,t),mo=null,ho.call(t))}function e_(t,e){if(!(e.state.loading&4)){var i=mo.get(t);if(i)var r=i.get(null);else{i=new Map,mo.set(t,i);for(var f=t.querySelectorAll("link[data-precedence],style[data-precedence]"),d=0;d"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(n){console.error(n)}}return a(),Rf.exports=__(),Rf.exports}var S_=x_();/** + * react-router v7.10.1 + * + * 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 Iv=a=>{throw TypeError(a)},E_=(a,n,l)=>n.has(a)||Iv("Cannot "+l),Lf=(a,n,l)=>(E_(a,n,"read from private field"),l?l.call(a):n.get(a)),M_=(a,n,l)=>n.has(a)?Iv("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(a):n.set(a,l),Sp="popstate";function C_(a={}){function n(s,o){let{pathname:c,search:u,hash:h}=s.location;return Ks("",{pathname:c,search:u,hash:h},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function l(s,o){return typeof o=="string"?o:Jn(o)}return D_(n,l,null,a)}function wt(a,n){if(a===!1||a===null||typeof a>"u")throw new Error(n)}function ce(a,n){if(!a){typeof console<"u"&&console.warn(n);try{throw new Error(n)}catch{}}}function T_(){return Math.random().toString(36).substring(2,10)}function Ep(a,n){return{usr:a.state,key:a.key,idx:n}}function Ks(a,n,l=null,s){return{pathname:typeof a=="string"?a:a.pathname,search:"",hash:"",...typeof n=="string"?li(n):n,state:l,key:n&&n.key||s||T_()}}function Jn({pathname:a="/",search:n="",hash:l=""}){return n&&n!=="?"&&(a+=n.charAt(0)==="?"?n:"?"+n),l&&l!=="#"&&(a+=l.charAt(0)==="#"?l:"#"+l),a}function li(a){let n={};if(a){let l=a.indexOf("#");l>=0&&(n.hash=a.substring(l),a=a.substring(0,l));let s=a.indexOf("?");s>=0&&(n.search=a.substring(s),a=a.substring(0,s)),a&&(n.pathname=a)}return n}function D_(a,n,l,s={}){let{window:o=document.defaultView,v5Compat:c=!1}=s,u=o.history,h="POP",m=null,g=v();g==null&&(g=0,u.replaceState({...u.state,idx:g},""));function v(){return(u.state||{idx:null}).idx}function y(){h="POP";let k=v(),Y=k==null?null:k-g;g=k,m&&m({action:h,location:U.location,delta:Y})}function _(k,Y){h="PUSH";let A=Ks(U.location,k,Y);g=v()+1;let X=Ep(A,g),P=U.createHref(A);try{u.pushState(X,"",P)}catch(J){if(J instanceof DOMException&&J.name==="DataCloneError")throw J;o.location.assign(P)}c&&m&&m({action:h,location:U.location,delta:1})}function S(k,Y){h="REPLACE";let A=Ks(U.location,k,Y);g=v();let X=Ep(A,g),P=U.createHref(A);u.replaceState(X,"",P),c&&m&&m({action:h,location:U.location,delta:0})}function O(k){return ty(k)}let U={get action(){return h},get location(){return a(o,u)},listen(k){if(m)throw new Error("A history only accepts one active listener");return o.addEventListener(Sp,y),m=k,()=>{o.removeEventListener(Sp,y),m=null}},createHref(k){return n(o,k)},createURL:O,encodeLocation(k){let Y=O(k);return{pathname:Y.pathname,search:Y.search,hash:Y.hash}},push:_,replace:S,go(k){return u.go(k)}};return U}function ty(a,n=!1){let l="http://localhost";typeof window<"u"&&(l=window.location.origin!=="null"?window.location.origin:window.location.href),wt(l,"No window.location.(origin|href) available to create URL");let s=typeof a=="string"?a:Jn(a);return s=s.replace(/ $/,"%20"),!n&&s.startsWith("//")&&(s=l+s),new URL(s,l)}var Ys,Mp=class{constructor(a){if(M_(this,Ys,new Map),a)for(let[n,l]of a)this.set(n,l)}get(a){if(Lf(this,Ys).has(a))return Lf(this,Ys).get(a);if(a.defaultValue!==void 0)return a.defaultValue;throw new Error("No value found for context")}set(a,n){Lf(this,Ys).set(a,n)}};Ys=new WeakMap;var O_=new Set(["lazy","caseSensitive","path","id","index","children"]);function w_(a){return O_.has(a)}var z_=new Set(["lazy","caseSensitive","path","id","index","middleware","children"]);function R_(a){return z_.has(a)}function A_(a){return a.index===!0}function Fs(a,n,l=[],s={},o=!1){return a.map((c,u)=>{let h=[...l,String(u)],m=typeof c.id=="string"?c.id:h.join("-");if(wt(c.index!==!0||!c.children,"Cannot specify children on an index route"),wt(o||!s[m],`Found a route id collision on id "${m}". Route id's must be globally unique within Data Router usages`),A_(c)){let g={...c,id:m};return s[m]=Cp(g,n(g)),g}else{let g={...c,id:m,children:void 0};return s[m]=Cp(g,n(g)),c.children&&(g.children=Fs(c.children,n,h,s,o)),g}})}function Cp(a,n){return Object.assign(a,{...n,...typeof n.lazy=="object"&&n.lazy!=null?{lazy:{...a.lazy,...n.lazy}}:{}})}function Pa(a,n,l="/"){return qs(a,n,l,!1)}function qs(a,n,l,s){let o=typeof n=="string"?li(n):n,c=Tn(o.pathname||"/",l);if(c==null)return null;let u=ey(a);N_(u);let h=null;for(let m=0;h==null&&m{let v={relativePath:g===void 0?u.path||"":g,caseSensitive:u.caseSensitive===!0,childrenIndex:h,route:u};if(v.relativePath.startsWith("/")){if(!v.relativePath.startsWith(s)&&m)return;wt(v.relativePath.startsWith(s),`Absolute route path "${v.relativePath}" nested under path "${s}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),v.relativePath=v.relativePath.slice(s.length)}let y=Fn([s,v.relativePath]),_=l.concat(v);u.children&&u.children.length>0&&(wt(u.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${y}".`),ey(u.children,n,_,y,m)),!(u.path==null&&!u.index)&&n.push({path:y,score:q_(y,u.index),routesMeta:_})};return a.forEach((u,h)=>{if(u.path===""||!u.path?.includes("?"))c(u,h);else for(let m of ny(u.path))c(u,h,!0,m)}),n}function ny(a){let n=a.split("/");if(n.length===0)return[];let[l,...s]=n,o=l.endsWith("?"),c=l.replace(/\?$/,"");if(s.length===0)return o?[c,""]:[c];let u=ny(s.join("/")),h=[];return h.push(...u.map(m=>m===""?c:[c,m].join("/"))),o&&h.push(...u),h.map(m=>a.startsWith("/")&&m===""?"/":m)}function N_(a){a.sort((n,l)=>n.score!==l.score?l.score-n.score:V_(n.routesMeta.map(s=>s.childrenIndex),l.routesMeta.map(s=>s.childrenIndex)))}var L_=/^:[\w-]+$/,B_=3,U_=2,H_=1,k_=10,Y_=-2,Tp=a=>a==="*";function q_(a,n){let l=a.split("/"),s=l.length;return l.some(Tp)&&(s+=Y_),n&&(s+=U_),l.filter(o=>!Tp(o)).reduce((o,c)=>o+(L_.test(c)?B_:c===""?H_:k_),s)}function V_(a,n){return a.length===n.length&&a.slice(0,-1).every((s,o)=>s===n[o])?a[a.length-1]-n[n.length-1]:0}function X_(a,n,l=!1){let{routesMeta:s}=a,o={},c="/",u=[];for(let h=0;h{if(v==="*"){let O=h[_]||"";u=c.slice(0,c.length-O.length).replace(/(.)\/+$/,"$1")}const S=h[_];return y&&!S?g[v]=void 0:g[v]=(S||"").replace(/%2F/g,"/"),g},{}),pathname:c,pathnameBase:u,pattern:a}}function G_(a,n=!1,l=!0){ce(a==="*"||!a.endsWith("*")||a.endsWith("/*"),`Route path "${a}" will be treated as if it were "${a.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${a.replace(/\*$/,"/*")}".`);let s=[],o="^"+a.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(u,h,m)=>(s.push({paramName:h,isOptional:m!=null}),m?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return a.endsWith("*")?(s.push({paramName:"*"}),o+=a==="*"||a==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):l?o+="\\/*$":a!==""&&a!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,n?void 0:"i"),s]}function $_(a){try{return a.split("/").map(n=>decodeURIComponent(n).replace(/\//g,"%2F")).join("/")}catch(n){return ce(!1,`The URL path "${a}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${n}).`),a}}function Tn(a,n){if(n==="/")return a;if(!a.toLowerCase().startsWith(n.toLowerCase()))return null;let l=n.endsWith("/")?n.length-1:n.length,s=a.charAt(l);return s&&s!=="/"?null:a.slice(l)||"/"}function Q_({basename:a,pathname:n}){return n==="/"?a:Fn([a,n])}var Z_=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,nc=a=>Z_.test(a);function K_(a,n="/"){let{pathname:l,search:s="",hash:o=""}=typeof a=="string"?li(a):a,c;if(l)if(nc(l))c=l;else{if(l.includes("//")){let u=l;l=l.replace(/\/\/+/g,"/"),ce(!1,`Pathnames cannot have embedded double slashes - normalizing ${u} -> ${l}`)}l.startsWith("/")?c=Dp(l.substring(1),"/"):c=Dp(l,n)}else c=n;return{pathname:c,search:J_(s),hash:P_(o)}}function Dp(a,n){let l=n.replace(/\/+$/,"").split("/");return a.split("/").forEach(o=>{o===".."?l.length>1&&l.pop():o!=="."&&l.push(o)}),l.length>1?l.join("/"):"/"}function Bf(a,n,l,s){return`Cannot include a '${a}' character in a manually specified \`to.${n}\` field [${JSON.stringify(s)}]. Please separate it out to the \`to.${l}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function ay(a){return a.filter((n,l)=>l===0||n.route.path&&n.route.path.length>0)}function ac(a){let n=ay(a);return n.map((l,s)=>s===n.length-1?l.pathname:l.pathnameBase)}function ic(a,n,l,s=!1){let o;typeof a=="string"?o=li(a):(o={...a},wt(!o.pathname||!o.pathname.includes("?"),Bf("?","pathname","search",o)),wt(!o.pathname||!o.pathname.includes("#"),Bf("#","pathname","hash",o)),wt(!o.search||!o.search.includes("#"),Bf("#","search","hash",o)));let c=a===""||o.pathname==="",u=c?"/":o.pathname,h;if(u==null)h=l;else{let y=n.length-1;if(!s&&u.startsWith("..")){let _=u.split("/");for(;_[0]==="..";)_.shift(),y-=1;o.pathname=_.join("/")}h=y>=0?n[y]:"/"}let m=K_(o,h),g=u&&u!=="/"&&u.endsWith("/"),v=(c||u===".")&&l.endsWith("/");return!m.pathname.endsWith("/")&&(g||v)&&(m.pathname+="/"),m}var Fn=a=>a.join("/").replace(/\/\/+/g,"/"),F_=a=>a.replace(/\/+$/,"").replace(/^\/*/,"/"),J_=a=>!a||a==="?"?"":a.startsWith("?")?a:"?"+a,P_=a=>!a||a==="#"?"":a.startsWith("#")?a:"#"+a,lc=class{constructor(a,n,l,s=!1){this.status=a,this.statusText=n||"",this.internal=s,l instanceof Error?(this.data=l.toString(),this.error=l):this.data=l}};function Js(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.internal=="boolean"&&"data"in a}function nr(a){return a.map(n=>n.route.path).filter(Boolean).join("/").replace(/\/\/*/g,"/")||"/"}var Ia=Symbol("Uninstrumented");function W_(a,n){let l={lazy:[],"lazy.loader":[],"lazy.action":[],"lazy.middleware":[],middleware:[],loader:[],action:[]};a.forEach(o=>o({id:n.id,index:n.index,path:n.path,instrument(c){let u=Object.keys(l);for(let h of u)c[h]&&l[h].push(c[h])}}));let s={};if(typeof n.lazy=="function"&&l.lazy.length>0){let o=Ol(l.lazy,n.lazy,()=>{});o&&(s.lazy=o)}if(typeof n.lazy=="object"){let o=n.lazy;["middleware","loader","action"].forEach(c=>{let u=o[c],h=l[`lazy.${c}`];if(typeof u=="function"&&h.length>0){let m=Ol(h,u,()=>{});m&&(s.lazy=Object.assign(s.lazy||{},{[c]:m}))}})}return["loader","action"].forEach(o=>{let c=n[o];if(typeof c=="function"&&l[o].length>0){let u=c[Ia]??c,h=Ol(l[o],u,(...m)=>Op(m[0]));h&&(h[Ia]=u,s[o]=h)}}),n.middleware&&n.middleware.length>0&&l.middleware.length>0&&(s.middleware=n.middleware.map(o=>{let c=o[Ia]??o,u=Ol(l.middleware,c,(...h)=>Op(h[0]));return u?(u[Ia]=c,u):o})),s}function I_(a,n){let l={navigate:[],fetch:[]};if(n.forEach(s=>s({instrument(o){let c=Object.keys(o);for(let u of c)o[u]&&l[u].push(o[u])}})),l.navigate.length>0){let s=a.navigate[Ia]??a.navigate,o=Ol(l.navigate,s,(...c)=>{let[u,h]=c;return{to:typeof u=="number"||typeof u=="string"?u:u?Jn(u):".",...wp(a,h??{})}});o&&(o[Ia]=s,a.navigate=o)}if(l.fetch.length>0){let s=a.fetch[Ia]??a.fetch,o=Ol(l.fetch,s,(...c)=>{let[u,,h,m]=c;return{href:h??".",fetcherKey:u,...wp(a,m??{})}});o&&(o[Ia]=s,a.fetch=o)}return a}function Ol(a,n,l){return a.length===0?null:async(...s)=>{let o=await iy(a,l(...s),()=>n(...s),a.length-1);if(o.type==="error")throw o.value;return o.value}}async function iy(a,n,l,s){let o=a[s],c;if(o){let u,h=async()=>(u?console.error("You cannot call instrumented handlers more than once"):u=iy(a,n,l,s-1),c=await u,wt(c,"Expected a result"),c.type==="error"&&c.value instanceof Error?{status:"error",error:c.value}:{status:"success",error:void 0});try{await o(h,n)}catch(m){console.error("An instrumentation function threw an error:",m)}u||await h(),await u}else try{c={type:"success",value:await l()}}catch(u){c={type:"error",value:u}}return c||{type:"error",value:new Error("No result assigned in instrumentation chain.")}}function Op(a){let{request:n,context:l,params:s,unstable_pattern:o}=a;return{request:t1(n),params:{...s},unstable_pattern:o,context:e1(l)}}function wp(a,n){return{currentUrl:Jn(a.state.location),..."formMethod"in n?{formMethod:n.formMethod}:{},..."formEncType"in n?{formEncType:n.formEncType}:{},..."formData"in n?{formData:n.formData}:{},..."body"in n?{body:n.body}:{}}}function t1(a){return{method:a.method,url:a.url,headers:{get:(...n)=>a.headers.get(...n)}}}function e1(a){if(a1(a)){let n={...a};return Object.freeze(n),n}else return{get:n=>a.get(n)}}var n1=Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function a1(a){if(a===null||typeof a!="object")return!1;const n=Object.getPrototypeOf(a);return n===Object.prototype||n===null||Object.getOwnPropertyNames(n).sort().join("\0")===n1}var ly=["POST","PUT","PATCH","DELETE"],i1=new Set(ly),l1=["GET",...ly],s1=new Set(l1),r1=new Set([301,302,303,307,308]),o1=new Set([307,308]),Uf={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},c1={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ws={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},u1=a=>({hasErrorBoundary:!!a.hasErrorBoundary}),sy="remix-router-transitions",ry=Symbol("ResetLoaderData");function f1(a){const n=a.window?a.window:typeof window<"u"?window:void 0,l=typeof n<"u"&&typeof n.document<"u"&&typeof n.document.createElement<"u";wt(a.routes.length>0,"You must provide a non-empty routes array to createRouter");let s=a.hydrationRouteProperties||[],o=a.mapRouteProperties||u1,c=o;if(a.unstable_instrumentations){let M=a.unstable_instrumentations;c=R=>({...o(R),...W_(M.map(H=>H.route).filter(Boolean),R)})}let u={},h=Fs(a.routes,c,void 0,u),m,g=a.basename||"/";g.startsWith("/")||(g=`/${g}`);let v=a.dataStrategy||p1,y={...a.future},_=null,S=new Set,O=null,U=null,k=null,Y=a.hydrationData!=null,A=Pa(h,a.history.location,g),X=!1,P=null,J;if(A==null&&!a.patchRoutesOnNavigation){let M=Mn(404,{pathname:a.history.location.pathname}),{matches:R,route:H}=Eo(h);J=!0,A=R,P={[H.id]:M}}else if(A&&!a.hydrationData&&mi(A,h,a.history.location.pathname).active&&(A=null),A)if(A.some(M=>M.route.lazy))J=!1;else if(!A.some(M=>rd(M.route)))J=!0;else{let M=a.hydrationData?a.hydrationData.loaderData:null,R=a.hydrationData?a.hydrationData.errors:null;if(R){let H=A.findIndex(K=>R[K.route.id]!==void 0);J=A.slice(0,H+1).every(K=>!Pf(K.route,M,R))}else J=A.every(H=>!Pf(H.route,M,R))}else{J=!1,A=[];let M=mi(null,h,a.history.location.pathname);M.active&&M.matches&&(X=!0,A=M.matches)}let rt,D={historyAction:a.history.action,location:a.history.location,matches:A,initialized:J,navigation:Uf,restoreScrollPosition:a.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:a.hydrationData&&a.hydrationData.loaderData||{},actionData:a.hydrationData&&a.hydrationData.actionData||null,errors:a.hydrationData&&a.hydrationData.errors||P,fetchers:new Map,blockers:new Map},nt="POP",at=null,pt=!1,ft,xt=!1,Mt=new Map,St=null,ot=!1,j=!1,Z=new Set,W=new Map,dt=0,Et=-1,T=new Map,V=new Set,F=new Map,et=new Map,ht=new Set,bt=new Map,Lt,ue=null;function ae(){if(_=a.history.listen(({action:M,location:R,delta:H})=>{if(Lt){Lt(),Lt=void 0;return}ce(bt.size===0||H!=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 K=fi({currentLocation:D.location,nextLocation:R,historyAction:M});if(K&&H!=null){let I=new Promise(mt=>{Lt=mt});a.history.go(H*-1),Wn(K,{state:"blocked",location:R,proceed(){Wn(K,{state:"proceeding",proceed:void 0,reset:void 0,location:R}),I.then(()=>a.history.go(H))},reset(){let mt=new Map(D.blockers);mt.set(K,ws),ge({blockers:mt})}}),at?.resolve(),at=null;return}return On(M,R)}),l){A1(n,Mt);let M=()=>j1(n,Mt);n.addEventListener("pagehide",M),St=()=>n.removeEventListener("pagehide",M)}return D.initialized||On("POP",D.location,{initialHydration:!0}),rt}function oi(){_&&_(),St&&St(),S.clear(),ft&&ft.abort(),D.fetchers.forEach((M,R)=>Hl(R)),D.blockers.forEach((M,R)=>cr(R))}function qi(M){return S.add(M),()=>S.delete(M)}function ge(M,R={}){M.matches&&(M.matches=M.matches.map(I=>{let mt=u[I.route.id],lt=I.route;return lt.element!==mt.element||lt.errorElement!==mt.errorElement||lt.hydrateFallbackElement!==mt.hydrateFallbackElement?{...I,route:mt}:I})),D={...D,...M};let H=[],K=[];D.fetchers.forEach((I,mt)=>{I.state==="idle"&&(ht.has(mt)?H.push(mt):K.push(mt))}),ht.forEach(I=>{!D.fetchers.has(I)&&!W.has(I)&&H.push(I)}),[...S].forEach(I=>I(D,{deletedFetchers:H,newErrors:M.errors??null,viewTransitionOpts:R.viewTransitionOpts,flushSync:R.flushSync===!0})),H.forEach(I=>Hl(I)),K.forEach(I=>D.fetchers.delete(I))}function Pn(M,R,{flushSync:H}={}){let K=D.actionData!=null&&D.navigation.formMethod!=null&&He(D.navigation.formMethod)&&D.navigation.state==="loading"&&M.state?._isRedirect!==!0,I;R.actionData?Object.keys(R.actionData).length>0?I=R.actionData:I=null:K?I=D.actionData:I=null;let mt=R.loaderData?kp(D.loaderData,R.loaderData,R.matches||[],R.errors):D.loaderData,lt=D.blockers;lt.size>0&&(lt=new Map(lt),lt.forEach((gt,vt)=>lt.set(vt,ws)));let tt=ot?!1:ur(M,R.matches||D.matches),it=pt===!0||D.navigation.formMethod!=null&&He(D.navigation.formMethod)&&M.state?._isRedirect!==!0;m&&(h=m,m=void 0),ot||nt==="POP"||(nt==="PUSH"?a.history.push(M,M.state):nt==="REPLACE"&&a.history.replace(M,M.state));let ut;if(nt==="POP"){let gt=Mt.get(D.location.pathname);gt&>.has(M.pathname)?ut={currentLocation:D.location,nextLocation:M}:Mt.has(M.pathname)&&(ut={currentLocation:M,nextLocation:D.location})}else if(xt){let gt=Mt.get(D.location.pathname);gt?gt.add(M.pathname):(gt=new Set([M.pathname]),Mt.set(D.location.pathname,gt)),ut={currentLocation:D.location,nextLocation:M}}ge({...R,actionData:I,loaderData:mt,historyAction:nt,location:M,initialized:!0,navigation:Uf,revalidation:"idle",restoreScrollPosition:tt,preventScrollReset:it,blockers:lt},{viewTransitionOpts:ut,flushSync:H===!0}),nt="POP",pt=!1,xt=!1,ot=!1,j=!1,at?.resolve(),at=null,ue?.resolve(),ue=null}async function Hn(M,R){if(at?.resolve(),at=null,typeof M=="number"){at||(at=Xp());let $t=at.promise;return a.history.go(M),$t}let H=Jf(D.location,D.matches,g,M,R?.fromRouteId,R?.relative),{path:K,submission:I,error:mt}=zp(!1,H,R),lt=D.location,tt=Ks(D.location,K,R&&R.state);tt={...tt,...a.history.encodeLocation(tt)};let it=R&&R.replace!=null?R.replace:void 0,ut="PUSH";it===!0?ut="REPLACE":it===!1||I!=null&&He(I.formMethod)&&I.formAction===D.location.pathname+D.location.search&&(ut="REPLACE");let gt=R&&"preventScrollReset"in R?R.preventScrollReset===!0:void 0,vt=(R&&R.flushSync)===!0,Bt=fi({currentLocation:lt,nextLocation:tt,historyAction:ut});if(Bt){Wn(Bt,{state:"blocked",location:tt,proceed(){Wn(Bt,{state:"proceeding",proceed:void 0,reset:void 0,location:tt}),Hn(M,R)},reset(){let $t=new Map(D.blockers);$t.set(Bt,ws),ge({blockers:$t})}});return}await On(ut,tt,{submission:I,pendingError:mt,preventScrollReset:gt,replace:R&&R.replace,enableViewTransition:R&&R.viewTransition,flushSync:vt})}function jl(){ue||(ue=Xp()),Xi(),ge({revalidation:"loading"});let M=ue.promise;return D.navigation.state==="submitting"?M:D.navigation.state==="idle"?(On(D.historyAction,D.location,{startUninterruptedRevalidation:!0}),M):(On(nt||D.historyAction,D.navigation.location,{overrideNavigation:D.navigation,enableViewTransition:xt===!0}),M)}async function On(M,R,H){ft&&ft.abort(),ft=null,nt=M,ot=(H&&H.startUninterruptedRevalidation)===!0,hi(D.location,D.matches),pt=(H&&H.preventScrollReset)===!0,xt=(H&&H.enableViewTransition)===!0;let K=m||h,I=H&&H.overrideNavigation,mt=H?.initialHydration&&D.matches&&D.matches.length>0&&!X?D.matches:Pa(K,R,g),lt=(H&&H.flushSync)===!0;if(mt&&D.initialized&&!j&&M1(D.location,R)&&!(H&&H.submission&&He(H.submission.formMethod))){Pn(R,{matches:mt},{flushSync:lt});return}let tt=mi(mt,K,R.pathname);if(tt.active&&tt.matches&&(mt=tt.matches),!mt){let{error:le,notFoundMatches:Ht,route:kt}=Sa(R.pathname);Pn(R,{matches:Ht,loaderData:{},errors:{[kt.id]:le}},{flushSync:lt});return}ft=new AbortController;let it=Dl(a.history,R,ft.signal,H&&H.submission),ut=a.getContext?await a.getContext():new Mp,gt;if(H&&H.pendingError)gt=[Wa(mt).route.id,{type:"error",error:H.pendingError}];else if(H&&H.submission&&He(H.submission.formMethod)){let le=await mc(it,R,H.submission,mt,ut,tt.active,H&&H.initialHydration===!0,{replace:H.replace,flushSync:lt});if(le.shortCircuited)return;if(le.pendingActionResult){let[Ht,kt]=le.pendingActionResult;if(un(kt)&&Js(kt.error)&&kt.error.status===404){ft=null,Pn(R,{matches:le.matches,loaderData:{},errors:{[Ht]:kt.error}});return}}mt=le.matches||mt,gt=le.pendingActionResult,I=Hf(R,H.submission),lt=!1,tt.active=!1,it=Dl(a.history,it.url,it.signal)}let{shortCircuited:vt,matches:Bt,loaderData:$t,errors:It}=await rr(it,R,mt,ut,tt.active,I,H&&H.submission,H&&H.fetcherSubmission,H&&H.replace,H&&H.initialHydration===!0,lt,gt);vt||(ft=null,Pn(R,{matches:Bt||mt,...Yp(gt),loaderData:$t,errors:It}))}async function mc(M,R,H,K,I,mt,lt,tt={}){Xi();let it=z1(R,H);if(ge({navigation:it},{flushSync:tt.flushSync===!0}),mt){let vt=await Ea(K,R.pathname,M.signal);if(vt.type==="aborted")return{shortCircuited:!0};if(vt.type==="error"){if(vt.partialMatches.length===0){let{matches:$t,route:It}=Eo(h);return{matches:$t,pendingActionResult:[It.id,{type:"error",error:vt.error}]}}let Bt=Wa(vt.partialMatches).route.id;return{matches:vt.partialMatches,pendingActionResult:[Bt,{type:"error",error:vt.error}]}}else if(vt.matches)K=vt.matches;else{let{notFoundMatches:Bt,error:$t,route:It}=Sa(R.pathname);return{matches:Bt,pendingActionResult:[It.id,{type:"error",error:$t}]}}}let ut,gt=Yo(K,R);if(!gt.route.action&&!gt.route.lazy)ut={type:"error",error:Mn(405,{method:M.method,pathname:R.pathname,routeId:gt.route.id})};else{let vt=wl(c,u,M,K,gt,lt?[]:s,I),Bt=await ci(M,vt,I,null);if(ut=Bt[gt.route.id],!ut){for(let $t of K)if(Bt[$t.route.id]){ut=Bt[$t.route.id];break}}if(M.signal.aborted)return{shortCircuited:!0}}if(Bi(ut)){let vt;return tt&&tt.replace!=null?vt=tt.replace:vt=Bp(ut.response.headers.get("Location"),new URL(M.url),g)===D.location.pathname+D.location.search,await fe(M,ut,!0,{submission:H,replace:vt}),{shortCircuited:!0}}if(un(ut)){let vt=Wa(K,gt.route.id);return(tt&&tt.replace)!==!0&&(nt="PUSH"),{matches:K,pendingActionResult:[vt.route.id,ut,gt.route.id]}}return{matches:K,pendingActionResult:[gt.route.id,ut]}}async function rr(M,R,H,K,I,mt,lt,tt,it,ut,gt,vt){let Bt=mt||Hf(R,lt),$t=lt||tt||Vp(Bt),It=!ot&&!ut;if(I){if(It){let Se=Vi(vt);ge({navigation:Bt,...Se!==void 0?{actionData:Se}:{}},{flushSync:gt})}let At=await Ea(H,R.pathname,M.signal);if(At.type==="aborted")return{shortCircuited:!0};if(At.type==="error"){if(At.partialMatches.length===0){let{matches:Rn,route:dn}=Eo(h);return{matches:Rn,loaderData:{},errors:{[dn.id]:At.error}}}let Se=Wa(At.partialMatches).route.id;return{matches:At.partialMatches,loaderData:{},errors:{[Se]:At.error}}}else if(At.matches)H=At.matches;else{let{error:Se,notFoundMatches:Rn,route:dn}=Sa(R.pathname);return{matches:Rn,loaderData:{},errors:{[dn.id]:Se}}}}let le=m||h,{dsMatches:Ht,revalidatingFetchers:kt}=Rp(M,K,c,u,a.history,D,H,$t,R,ut?[]:s,ut===!0,j,Z,ht,F,V,le,g,a.patchRoutesOnNavigation!=null,vt);if(Et=++dt,!a.dataStrategy&&!Ht.some(At=>At.shouldLoad)&&!Ht.some(At=>At.route.middleware&&At.route.middleware.length>0)&&kt.length===0){let At=Ae();return Pn(R,{matches:H,loaderData:{},errors:vt&&un(vt[1])?{[vt[0]]:vt[1].error}:null,...Yp(vt),...At?{fetchers:new Map(D.fetchers)}:{}},{flushSync:gt}),{shortCircuited:!0}}if(It){let At={};if(!I){At.navigation=Bt;let Se=Vi(vt);Se!==void 0&&(At.actionData=Se)}kt.length>0&&(At.fetchers=Nl(kt)),ge(At,{flushSync:gt})}kt.forEach(At=>{ie(At.key),At.controller&&W.set(At.key,At.controller)});let We=()=>kt.forEach(At=>ie(At.key));ft&&ft.signal.addEventListener("abort",We);let{loaderResults:fn,fetcherResults:Pt}=await Bl(Ht,kt,M,K);if(M.signal.aborted)return{shortCircuited:!0};ft&&ft.signal.removeEventListener("abort",We),kt.forEach(At=>W.delete(At.key));let Ie=Mo(fn);if(Ie)return await fe(M,Ie.result,!0,{replace:it}),{shortCircuited:!0};if(Ie=Mo(Pt),Ie)return V.add(Ie.key),await fe(M,Ie.result,!0,{replace:it}),{shortCircuited:!0};let{loaderData:Gi,errors:tn}=Hp(D,H,fn,vt,kt,Pt);ut&&D.errors&&(tn={...D.errors,...tn});let qe=Ae(),$i=or(Et),gi=qe||$i||kt.length>0;return{matches:H,loaderData:Gi,errors:tn,...gi?{fetchers:new Map(D.fetchers)}:{}}}function Vi(M){if(M&&!un(M[1]))return{[M[0]]:M[1].data};if(D.actionData)return Object.keys(D.actionData).length===0?null:D.actionData}function Nl(M){return M.forEach(R=>{let H=D.fetchers.get(R.key),K=zs(void 0,H?H.data:void 0);D.fetchers.set(R.key,K)}),new Map(D.fetchers)}async function Ll(M,R,H,K){ie(M);let I=(K&&K.flushSync)===!0,mt=m||h,lt=Jf(D.location,D.matches,g,H,R,K?.relative),tt=Pa(mt,lt,g),it=mi(tt,mt,lt);if(it.active&&it.matches&&(tt=it.matches),!tt){wn(M,R,Mn(404,{pathname:lt}),{flushSync:I});return}let{path:ut,submission:gt,error:vt}=zp(!0,lt,K);if(vt){wn(M,R,vt,{flushSync:I});return}let Bt=a.getContext?await a.getContext():new Mp,$t=(K&&K.preventScrollReset)===!0;if(gt&&He(gt.formMethod)){await gc(M,R,ut,tt,Bt,it.active,I,$t,gt);return}F.set(M,{routeId:R,path:ut}),await pc(M,R,ut,tt,Bt,it.active,I,$t,gt)}async function gc(M,R,H,K,I,mt,lt,tt,it){Xi(),F.delete(M);let ut=D.fetchers.get(M);Ye(M,R1(it,ut),{flushSync:lt});let gt=new AbortController,vt=Dl(a.history,H,gt.signal,it);if(mt){let Yt=await Ea(K,new URL(vt.url).pathname,vt.signal,M);if(Yt.type==="aborted")return;if(Yt.type==="error"){wn(M,R,Yt.error,{flushSync:lt});return}else if(Yt.matches)K=Yt.matches;else{wn(M,R,Mn(404,{pathname:H}),{flushSync:lt});return}}let Bt=Yo(K,H);if(!Bt.route.action&&!Bt.route.lazy){let Yt=Mn(405,{method:it.formMethod,pathname:H,routeId:R});wn(M,R,Yt,{flushSync:lt});return}W.set(M,gt);let $t=dt,It=wl(c,u,vt,K,Bt,s,I),le=await ci(vt,It,I,M),Ht=le[Bt.route.id];if(!Ht){for(let Yt of It)if(le[Yt.route.id]){Ht=le[Yt.route.id];break}}if(vt.signal.aborted){W.get(M)===gt&&W.delete(M);return}if(ht.has(M)){if(Bi(Ht)||un(Ht)){Ye(M,va(void 0));return}}else{if(Bi(Ht))if(W.delete(M),Et>$t){Ye(M,va(void 0));return}else return V.add(M),Ye(M,zs(it)),fe(vt,Ht,!1,{fetcherSubmission:it,preventScrollReset:tt});if(un(Ht)){wn(M,R,Ht.error);return}}let kt=D.navigation.location||D.location,We=Dl(a.history,kt,gt.signal),fn=m||h,Pt=D.navigation.state!=="idle"?Pa(fn,D.navigation.location,g):D.matches;wt(Pt,"Didn't find any matches after fetcher action");let Ie=++dt;T.set(M,Ie);let Gi=zs(it,Ht.data);D.fetchers.set(M,Gi);let{dsMatches:tn,revalidatingFetchers:qe}=Rp(We,I,c,u,a.history,D,Pt,it,kt,s,!1,j,Z,ht,F,V,fn,g,a.patchRoutesOnNavigation!=null,[Bt.route.id,Ht]);qe.filter(Yt=>Yt.key!==M).forEach(Yt=>{let Ce=Yt.key,kl=D.fetchers.get(Ce),_c=zs(void 0,kl?kl.data:void 0);D.fetchers.set(Ce,_c),ie(Ce),Yt.controller&&W.set(Ce,Yt.controller)}),ge({fetchers:new Map(D.fetchers)});let $i=()=>qe.forEach(Yt=>ie(Yt.key));gt.signal.addEventListener("abort",$i);let{loaderResults:gi,fetcherResults:At}=await Bl(tn,qe,We,I);if(gt.signal.aborted)return;if(gt.signal.removeEventListener("abort",$i),T.delete(M),W.delete(M),qe.forEach(Yt=>W.delete(Yt.key)),D.fetchers.has(M)){let Yt=va(Ht.data);D.fetchers.set(M,Yt)}let Se=Mo(gi);if(Se)return fe(We,Se.result,!1,{preventScrollReset:tt});if(Se=Mo(At),Se)return V.add(Se.key),fe(We,Se.result,!1,{preventScrollReset:tt});let{loaderData:Rn,errors:dn}=Hp(D,Pt,gi,void 0,qe,At);or(Ie),D.navigation.state==="loading"&&Ie>Et?(wt(nt,"Expected pending action"),ft&&ft.abort(),Pn(D.navigation.location,{matches:Pt,loaderData:Rn,errors:dn,fetchers:new Map(D.fetchers)})):(ge({errors:dn,loaderData:kp(D.loaderData,Rn,Pt,dn),fetchers:new Map(D.fetchers)}),j=!1)}async function pc(M,R,H,K,I,mt,lt,tt,it){let ut=D.fetchers.get(M);Ye(M,zs(it,ut?ut.data:void 0),{flushSync:lt});let gt=new AbortController,vt=Dl(a.history,H,gt.signal);if(mt){let kt=await Ea(K,new URL(vt.url).pathname,vt.signal,M);if(kt.type==="aborted")return;if(kt.type==="error"){wn(M,R,kt.error,{flushSync:lt});return}else if(kt.matches)K=kt.matches;else{wn(M,R,Mn(404,{pathname:H}),{flushSync:lt});return}}let Bt=Yo(K,H);W.set(M,gt);let $t=dt,It=wl(c,u,vt,K,Bt,s,I),Ht=(await ci(vt,It,I,M))[Bt.route.id];if(W.get(M)===gt&&W.delete(M),!vt.signal.aborted){if(ht.has(M)){Ye(M,va(void 0));return}if(Bi(Ht))if(Et>$t){Ye(M,va(void 0));return}else{V.add(M),await fe(vt,Ht,!1,{preventScrollReset:tt});return}if(un(Ht)){wn(M,R,Ht.error);return}Ye(M,va(Ht.data))}}async function fe(M,R,H,{submission:K,fetcherSubmission:I,preventScrollReset:mt,replace:lt}={}){H||(at?.resolve(),at=null),R.response.headers.has("X-Remix-Revalidate")&&(j=!0);let tt=R.response.headers.get("Location");wt(tt,"Expected a Location header on the redirect Response"),tt=Bp(tt,new URL(M.url),g);let it=Ks(D.location,tt,{_isRedirect:!0});if(l){let It=!1;if(R.response.headers.has("X-Remix-Reload-Document"))It=!0;else if(nc(tt)){const le=ty(tt,!0);It=le.origin!==n.location.origin||Tn(le.pathname,g)==null}if(It){lt?n.location.replace(tt):n.location.assign(tt);return}}ft=null;let ut=lt===!0||R.response.headers.has("X-Remix-Replace")?"REPLACE":"PUSH",{formMethod:gt,formAction:vt,formEncType:Bt}=D.navigation;!K&&!I&>&&vt&&Bt&&(K=Vp(D.navigation));let $t=K||I;if(o1.has(R.response.status)&&$t&&He($t.formMethod))await On(ut,it,{submission:{...$t,formAction:tt},preventScrollReset:mt||pt,enableViewTransition:H?xt:void 0});else{let It=Hf(it,K);await On(ut,it,{overrideNavigation:It,fetcherSubmission:I,preventScrollReset:mt||pt,enableViewTransition:H?xt:void 0})}}async function ci(M,R,H,K){let I,mt={};try{I=await y1(v,M,R,K,H,!1)}catch(lt){return R.filter(tt=>tt.shouldLoad).forEach(tt=>{mt[tt.route.id]={type:"error",error:lt}}),mt}if(M.signal.aborted)return mt;for(let[lt,tt]of Object.entries(I))if(O1(tt)){let it=tt.result;mt[lt]={type:"redirect",response:S1(it,M,lt,R,g)}}else mt[lt]=await x1(tt);return mt}async function Bl(M,R,H,K){let I=ci(H,M,K,null),mt=Promise.all(R.map(async it=>{if(it.matches&&it.match&&it.request&&it.controller){let gt=(await ci(it.request,it.matches,K,it.key))[it.match.route.id];return{[it.key]:gt}}else return Promise.resolve({[it.key]:{type:"error",error:Mn(404,{pathname:it.path})}})})),lt=await I,tt=(await mt).reduce((it,ut)=>Object.assign(it,ut),{});return{loaderResults:lt,fetcherResults:tt}}function Xi(){j=!0,F.forEach((M,R)=>{W.has(R)&&Z.add(R),ie(R)})}function Ye(M,R,H={}){D.fetchers.set(M,R),ge({fetchers:new Map(D.fetchers)},{flushSync:(H&&H.flushSync)===!0})}function wn(M,R,H,K={}){let I=Wa(D.matches,R);Hl(M),ge({errors:{[I.route.id]:H},fetchers:new Map(D.fetchers)},{flushSync:(K&&K.flushSync)===!0})}function Ul(M){return et.set(M,(et.get(M)||0)+1),ht.has(M)&&ht.delete(M),D.fetchers.get(M)||c1}function vc(M,R){ie(M,R?.reason),Ye(M,va(null))}function Hl(M){let R=D.fetchers.get(M);W.has(M)&&!(R&&R.state==="loading"&&T.has(M))&&ie(M),F.delete(M),T.delete(M),V.delete(M),ht.delete(M),Z.delete(M),D.fetchers.delete(M)}function ui(M){let R=(et.get(M)||0)-1;R<=0?(et.delete(M),ht.add(M)):et.set(M,R),ge({fetchers:new Map(D.fetchers)})}function ie(M,R){let H=W.get(M);H&&(H.abort(R),W.delete(M))}function zn(M){for(let R of M){let H=Ul(R),K=va(H.data);D.fetchers.set(R,K)}}function Ae(){let M=[],R=!1;for(let H of V){let K=D.fetchers.get(H);wt(K,`Expected fetcher: ${H}`),K.state==="loading"&&(V.delete(H),M.push(H),R=!0)}return zn(M),R}function or(M){let R=[];for(let[H,K]of T)if(K0}function yc(M,R){let H=D.blockers.get(M)||ws;return bt.get(M)!==R&&bt.set(M,R),H}function cr(M){D.blockers.delete(M),bt.delete(M)}function Wn(M,R){let H=D.blockers.get(M)||ws;wt(H.state==="unblocked"&&R.state==="blocked"||H.state==="blocked"&&R.state==="blocked"||H.state==="blocked"&&R.state==="proceeding"||H.state==="blocked"&&R.state==="unblocked"||H.state==="proceeding"&&R.state==="unblocked",`Invalid blocker state transition: ${H.state} -> ${R.state}`);let K=new Map(D.blockers);K.set(M,R),ge({blockers:K})}function fi({currentLocation:M,nextLocation:R,historyAction:H}){if(bt.size===0)return;bt.size>1&&ce(!1,"A router only supports one blocker at a time");let K=Array.from(bt.entries()),[I,mt]=K[K.length-1],lt=D.blockers.get(I);if(!(lt&<.state==="proceeding")&&mt({currentLocation:M,nextLocation:R,historyAction:H}))return I}function Sa(M){let R=Mn(404,{pathname:M}),H=m||h,{matches:K,route:I}=Eo(H);return{notFoundMatches:K,route:I,error:R}}function In(M,R,H){if(O=M,k=R,U=H||null,!Y&&D.navigation===Uf){Y=!0;let K=ur(D.location,D.matches);K!=null&&ge({restoreScrollPosition:K})}return()=>{O=null,k=null,U=null}}function di(M,R){return U&&U(M,R.map(K=>j_(K,D.loaderData)))||M.key}function hi(M,R){if(O&&k){let H=di(M,R);O[H]=k()}}function ur(M,R){if(O){let H=di(M,R),K=O[H];if(typeof K=="number")return K}return null}function mi(M,R,H){if(a.patchRoutesOnNavigation)if(M){if(Object.keys(M[0].params).length>0)return{active:!0,matches:qs(R,H,g,!0)}}else return{active:!0,matches:qs(R,H,g,!0)||[]};return{active:!1,matches:null}}async function Ea(M,R,H,K){if(!a.patchRoutesOnNavigation)return{type:"success",matches:M};let I=M;for(;;){let mt=m==null,lt=m||h,tt=u;try{await a.patchRoutesOnNavigation({signal:H,path:R,matches:I,fetcherKey:K,patch:(gt,vt)=>{H.aborted||Ap(gt,vt,lt,tt,c,!1)}})}catch(gt){return{type:"error",error:gt,partialMatches:I}}finally{mt&&!H.aborted&&(h=[...h])}if(H.aborted)return{type:"aborted"};let it=Pa(lt,R,g),ut=null;if(it){if(Object.keys(it[0].params).length===0)return{type:"success",matches:it};if(ut=qs(lt,R,g,!0),!(ut&&I.lengthH.route.id===R[K].route.id)}function bc(M){u={},m=Fs(M,c,void 0,u)}function fr(M,R,H=!1){let K=m==null;Ap(M,R,m||h,u,c,H),K&&(h=[...h],ge({}))}return rt={get basename(){return g},get future(){return y},get state(){return D},get routes(){return h},get window(){return n},initialize:ae,subscribe:qi,enableScrollRestoration:In,navigate:Hn,fetch:Ll,revalidate:jl,createHref:M=>a.history.createHref(M),encodeLocation:M=>a.history.encodeLocation(M),getFetcher:Ul,resetFetcher:vc,deleteFetcher:ui,dispose:oi,getBlocker:yc,deleteBlocker:cr,patchRoutes:fr,_internalFetchControllers:W,_internalSetRoutes:bc,_internalSetStateDoNotUseOrYouWillBreakYourApp(M){ge(M)}},a.unstable_instrumentations&&(rt=I_(rt,a.unstable_instrumentations.map(M=>M.router).filter(Boolean))),rt}function d1(a){return a!=null&&("formData"in a&&a.formData!=null||"body"in a&&a.body!==void 0)}function Jf(a,n,l,s,o,c){let u,h;if(o){u=[];for(let g of n)if(u.push(g),g.route.id===o){h=g;break}}else u=n,h=n[n.length-1];let m=ic(s||".",ac(u),Tn(a.pathname,l)||a.pathname,c==="path");if(s==null&&(m.search=a.search,m.hash=a.hash),(s==null||s===""||s===".")&&h){let g=od(m.search);if(h.route.index&&!g)m.search=m.search?m.search.replace(/^\?/,"?index&"):"?index";else if(!h.route.index&&g){let v=new URLSearchParams(m.search),y=v.getAll("index");v.delete("index"),y.filter(S=>S).forEach(S=>v.append("index",S));let _=v.toString();m.search=_?`?${_}`:""}}return l!=="/"&&(m.pathname=Q_({basename:l,pathname:m.pathname})),Jn(m)}function zp(a,n,l){if(!l||!d1(l))return{path:n};if(l.formMethod&&!w1(l.formMethod))return{path:n,error:Mn(405,{method:l.formMethod})};let s=()=>({path:n,error:Mn(400,{type:"invalid-body"})}),c=(l.formMethod||"get").toUpperCase(),u=hy(n);if(l.body!==void 0){if(l.formEncType==="text/plain"){if(!He(c))return s();let y=typeof l.body=="string"?l.body:l.body instanceof FormData||l.body instanceof URLSearchParams?Array.from(l.body.entries()).reduce((_,[S,O])=>`${_}${S}=${O} +`,""):String(l.body);return{path:n,submission:{formMethod:c,formAction:u,formEncType:l.formEncType,formData:void 0,json:void 0,text:y}}}else if(l.formEncType==="application/json"){if(!He(c))return s();try{let y=typeof l.body=="string"?JSON.parse(l.body):l.body;return{path:n,submission:{formMethod:c,formAction:u,formEncType:l.formEncType,formData:void 0,json:y,text:void 0}}}catch{return s()}}}wt(typeof FormData=="function","FormData is not available in this environment");let h,m;if(l.formData)h=If(l.formData),m=l.formData;else if(l.body instanceof FormData)h=If(l.body),m=l.body;else if(l.body instanceof URLSearchParams)h=l.body,m=Up(h);else if(l.body==null)h=new URLSearchParams,m=new FormData;else try{h=new URLSearchParams(l.body),m=Up(h)}catch{return s()}let g={formMethod:c,formAction:u,formEncType:l&&l.formEncType||"application/x-www-form-urlencoded",formData:m,json:void 0,text:void 0};if(He(g.formMethod))return{path:n,submission:g};let v=li(n);return a&&v.search&&od(v.search)&&h.append("index",""),v.search=`?${h}`,{path:Jn(v),submission:g}}function Rp(a,n,l,s,o,c,u,h,m,g,v,y,_,S,O,U,k,Y,A,X){let P=X?un(X[1])?X[1].error:X[1].data:void 0,J=o.createURL(c.location),rt=o.createURL(m),D;if(v&&c.errors){let St=Object.keys(c.errors)[0];D=u.findIndex(ot=>ot.route.id===St)}else if(X&&un(X[1])){let St=X[0];D=u.findIndex(ot=>ot.route.id===St)-1}let nt=X?X[1].statusCode:void 0,at=nt&&nt>=400,pt={currentUrl:J,currentParams:c.matches[0]?.params||{},nextUrl:rt,nextParams:u[0].params,...h,actionResult:P,actionStatus:nt},ft=nr(u),xt=u.map((St,ot)=>{let{route:j}=St,Z=null;if(D!=null&&ot>D?Z=!1:j.lazy?Z=!0:rd(j)?v?Z=Pf(j,c.loaderData,c.errors):h1(c.loaderData,c.matches[ot],St)&&(Z=!0):Z=!1,Z!==null)return Wf(l,s,a,ft,St,g,n,Z);let W=at?!1:y||J.pathname+J.search===rt.pathname+rt.search||J.search!==rt.search||m1(c.matches[ot],St),dt={...pt,defaultShouldRevalidate:W},Et=Qo(St,dt);return Wf(l,s,a,ft,St,g,n,Et,dt)}),Mt=[];return O.forEach((St,ot)=>{if(v||!u.some(F=>F.route.id===St.routeId)||S.has(ot))return;let j=c.fetchers.get(ot),Z=j&&j.state!=="idle"&&j.data===void 0,W=Pa(k,St.path,Y);if(!W){if(A&&Z)return;Mt.push({key:ot,routeId:St.routeId,path:St.path,matches:null,match:null,request:null,controller:null});return}if(U.has(ot))return;let dt=Yo(W,St.path),Et=new AbortController,T=Dl(o,St.path,Et.signal),V=null;if(_.has(ot))_.delete(ot),V=wl(l,s,T,W,dt,g,n);else if(Z)y&&(V=wl(l,s,T,W,dt,g,n));else{let F={...pt,defaultShouldRevalidate:at?!1:y};Qo(dt,F)&&(V=wl(l,s,T,W,dt,g,n,F))}V&&Mt.push({key:ot,routeId:St.routeId,path:St.path,matches:V,match:dt,request:T,controller:Et})}),{dsMatches:xt,revalidatingFetchers:Mt}}function rd(a){return a.loader!=null||a.middleware!=null&&a.middleware.length>0}function Pf(a,n,l){if(a.lazy)return!0;if(!rd(a))return!1;let s=n!=null&&a.id in n,o=l!=null&&l[a.id]!==void 0;return!s&&o?!1:typeof a.loader=="function"&&a.loader.hydrate===!0?!0:!s&&!o}function h1(a,n,l){let s=!n||l.route.id!==n.route.id,o=!a.hasOwnProperty(l.route.id);return s||o}function m1(a,n){let l=a.route.path;return a.pathname!==n.pathname||l!=null&&l.endsWith("*")&&a.params["*"]!==n.params["*"]}function Qo(a,n){if(a.route.shouldRevalidate){let l=a.route.shouldRevalidate(n);if(typeof l=="boolean")return l}return n.defaultShouldRevalidate}function Ap(a,n,l,s,o,c){let u;if(a){let g=s[a];wt(g,`No route found to patch children into: routeId = ${a}`),g.children||(g.children=[]),u=g.children}else u=l;let h=[],m=[];if(n.forEach(g=>{let v=u.find(y=>oy(g,y));v?m.push({existingRoute:v,newRoute:g}):h.push(g)}),h.length>0){let g=Fs(h,o,[a||"_","patch",String(u?.length||"0")],s);u.push(...g)}if(c&&m.length>0)for(let g=0;gn.children?.some(o=>oy(l,o))):!1}var jp=new WeakMap,cy=({key:a,route:n,manifest:l,mapRouteProperties:s})=>{let o=l[n.id];if(wt(o,"No route found in manifest"),!o.lazy||typeof o.lazy!="object")return;let c=o.lazy[a];if(!c)return;let u=jp.get(o);u||(u={},jp.set(o,u));let h=u[a];if(h)return h;let m=(async()=>{let g=w_(a),y=o[a]!==void 0&&a!=="hasErrorBoundary";if(g)ce(!g,"Route property "+a+" is not a supported lazy route property. This property will be ignored."),u[a]=Promise.resolve();else if(y)ce(!1,`Route "${o.id}" has a static property "${a}" defined. The lazy property will be ignored.`);else{let _=await c();_!=null&&(Object.assign(o,{[a]:_}),Object.assign(o,s(o)))}typeof o.lazy=="object"&&(o.lazy[a]=void 0,Object.values(o.lazy).every(_=>_===void 0)&&(o.lazy=void 0))})();return u[a]=m,m},Np=new WeakMap;function g1(a,n,l,s,o){let c=l[a.id];if(wt(c,"No route found in manifest"),!a.lazy)return{lazyRoutePromise:void 0,lazyHandlerPromise:void 0};if(typeof a.lazy=="function"){let v=Np.get(c);if(v)return{lazyRoutePromise:v,lazyHandlerPromise:v};let y=(async()=>{wt(typeof a.lazy=="function","No lazy route function found");let _=await a.lazy(),S={};for(let O in _){let U=_[O];if(U===void 0)continue;let k=R_(O),A=c[O]!==void 0&&O!=="hasErrorBoundary";k?ce(!k,"Route property "+O+" is not a supported property to be returned from a lazy route function. This property will be ignored."):A?ce(!A,`Route "${c.id}" has a static property "${O}" defined but its lazy function is also returning a value for this property. The lazy route property "${O}" will be ignored.`):S[O]=U}Object.assign(c,S),Object.assign(c,{...s(c),lazy:void 0})})();return Np.set(c,y),y.catch(()=>{}),{lazyRoutePromise:y,lazyHandlerPromise:y}}let u=Object.keys(a.lazy),h=[],m;for(let v of u){if(o&&o.includes(v))continue;let y=cy({key:v,route:a,manifest:l,mapRouteProperties:s});y&&(h.push(y),v===n&&(m=y))}let g=h.length>0?Promise.all(h).then(()=>{}):void 0;return g?.catch(()=>{}),m?.catch(()=>{}),{lazyRoutePromise:g,lazyHandlerPromise:m}}async function Lp(a){let n=a.matches.filter(o=>o.shouldLoad),l={};return(await Promise.all(n.map(o=>o.resolve()))).forEach((o,c)=>{l[n[c].route.id]=o}),l}async function p1(a){return a.matches.some(n=>n.route.middleware)?uy(a,()=>Lp(a)):Lp(a)}function uy(a,n){return v1(a,n,s=>s,T1,l);function l(s,o,c){if(c)return Promise.resolve(Object.assign(c.value,{[o]:{type:"error",result:s}}));{let{matches:u}=a,h=Math.min(Math.max(u.findIndex(g=>g.route.id===o),0),Math.max(u.findIndex(g=>g.shouldCallHandler()),0)),m=Wa(u,u[h].route.id).route.id;return Promise.resolve({[m]:{type:"error",result:s}})}}}async function v1(a,n,l,s,o){let{matches:c,request:u,params:h,context:m,unstable_pattern:g}=a,v=c.flatMap(_=>_.route.middleware?_.route.middleware.map(S=>[_.route.id,S]):[]);return await fy({request:u,params:h,context:m,unstable_pattern:g},v,n,l,s,o)}async function fy(a,n,l,s,o,c,u=0){let{request:h}=a;if(h.signal.aborted)throw h.signal.reason??new Error(`Request aborted: ${h.method} ${h.url}`);let m=n[u];if(!m)return await l();let[g,v]=m,y,_=async()=>{if(y)throw new Error("You may only call `next()` once per middleware");try{return y={value:await fy(a,n,l,s,o,c,u+1)},y.value}catch(S){return y={value:await c(S,g,y)},y.value}};try{let S=await v(a,_),O=S!=null?s(S):void 0;return o(O)?O:y?O??y.value:(y={value:await _()},y.value)}catch(S){return await c(S,g,y)}}function dy(a,n,l,s,o){let c=cy({key:"middleware",route:s.route,manifest:n,mapRouteProperties:a}),u=g1(s.route,He(l.method)?"action":"loader",n,a,o);return{middleware:c,route:u.lazyRoutePromise,handler:u.lazyHandlerPromise}}function Wf(a,n,l,s,o,c,u,h,m=null){let g=!1,v=dy(a,n,l,o,c);return{...o,_lazyPromises:v,shouldLoad:h,shouldRevalidateArgs:m,shouldCallHandler(y){return g=!0,m?typeof y=="boolean"?Qo(o,{...m,defaultShouldRevalidate:y}):Qo(o,m):h},resolve(y){let{lazy:_,loader:S,middleware:O}=o.route,U=g||h||y&&!He(l.method)&&(_||S),k=O&&O.length>0&&!S&&!_;return U&&(He(l.method)||!k)?b1({request:l,unstable_pattern:s,match:o,lazyHandlerPromise:v?.handler,lazyRoutePromise:v?.route,handlerOverride:y,scopedContext:u}):Promise.resolve({type:"data",result:void 0})}}}function wl(a,n,l,s,o,c,u,h=null){return s.map(m=>m.route.id!==o.route.id?{...m,shouldLoad:!1,shouldRevalidateArgs:h,shouldCallHandler:()=>!1,_lazyPromises:dy(a,n,l,m,c),resolve:()=>Promise.resolve({type:"data",result:void 0})}:Wf(a,n,l,nr(s),m,c,u,!0,h))}async function y1(a,n,l,s,o,c){l.some(g=>g._lazyPromises?.middleware)&&await Promise.all(l.map(g=>g._lazyPromises?.middleware));let u={request:n,unstable_pattern:nr(l),params:l[0].params,context:o,matches:l},m=await a({...u,fetcherKey:s,runClientMiddleware:g=>{let v=u;return uy(v,()=>g({...v,fetcherKey:s,runClientMiddleware:()=>{throw new Error("Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler")}}))}});try{await Promise.all(l.flatMap(g=>[g._lazyPromises?.handler,g._lazyPromises?.route]))}catch{}return m}async function b1({request:a,unstable_pattern:n,match:l,lazyHandlerPromise:s,lazyRoutePromise:o,handlerOverride:c,scopedContext:u}){let h,m,g=He(a.method),v=g?"action":"loader",y=_=>{let S,O=new Promise((Y,A)=>S=A);m=()=>S(),a.signal.addEventListener("abort",m);let U=Y=>typeof _!="function"?Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean "${v}" [routeId: ${l.route.id}]`)):_({request:a,unstable_pattern:n,params:l.params,context:u},...Y!==void 0?[Y]:[]),k=(async()=>{try{return{type:"data",result:await(c?c(A=>U(A)):U())}}catch(Y){return{type:"error",result:Y}}})();return Promise.race([k,O])};try{let _=g?l.route.action:l.route.loader;if(s||o)if(_){let S,[O]=await Promise.all([y(_).catch(U=>{S=U}),s,o]);if(S!==void 0)throw S;h=O}else{await s;let S=g?l.route.action:l.route.loader;if(S)[h]=await Promise.all([y(S),o]);else if(v==="action"){let O=new URL(a.url),U=O.pathname+O.search;throw Mn(405,{method:a.method,pathname:U,routeId:l.route.id})}else return{type:"data",result:void 0}}else if(_)h=await y(_);else{let S=new URL(a.url),O=S.pathname+S.search;throw Mn(404,{pathname:O})}}catch(_){return{type:"error",result:_}}finally{m&&a.signal.removeEventListener("abort",m)}return h}async function _1(a){let n=a.headers.get("Content-Type");return n&&/\bapplication\/json\b/.test(n)?a.body==null?null:a.json():a.text()}async function x1(a){let{result:n,type:l}=a;if(my(n)){let s;try{s=await _1(n)}catch(o){return{type:"error",error:o}}return l==="error"?{type:"error",error:new lc(n.status,n.statusText,s),statusCode:n.status,headers:n.headers}:{type:"data",data:s,statusCode:n.status,headers:n.headers}}return l==="error"?qp(n)?n.data instanceof Error?{type:"error",error:n.data,statusCode:n.init?.status,headers:n.init?.headers?new Headers(n.init.headers):void 0}:{type:"error",error:C1(n),statusCode:Js(n)?n.status:void 0,headers:n.init?.headers?new Headers(n.init.headers):void 0}:{type:"error",error:n,statusCode:Js(n)?n.status:void 0}:qp(n)?{type:"data",data:n.data,statusCode:n.init?.status,headers:n.init?.headers?new Headers(n.init.headers):void 0}:{type:"data",data:n}}function S1(a,n,l,s,o){let c=a.headers.get("Location");if(wt(c,"Redirects returned/thrown from loaders/actions must have a Location header"),!nc(c)){let u=s.slice(0,s.findIndex(h=>h.route.id===l)+1);c=Jf(new URL(n.url),u,o,c),a.headers.set("Location",c)}return a}function Bp(a,n,l){if(nc(a)){let s=a,o=s.startsWith("//")?new URL(n.protocol+s):new URL(s),c=Tn(o.pathname,l)!=null;if(o.origin===n.origin&&c)return o.pathname+o.search+o.hash}return a}function Dl(a,n,l,s){let o=a.createURL(hy(n)).toString(),c={signal:l};if(s&&He(s.formMethod)){let{formMethod:u,formEncType:h}=s;c.method=u.toUpperCase(),h==="application/json"?(c.headers=new Headers({"Content-Type":h}),c.body=JSON.stringify(s.json)):h==="text/plain"?c.body=s.text:h==="application/x-www-form-urlencoded"&&s.formData?c.body=If(s.formData):c.body=s.formData}return new Request(o,c)}function If(a){let n=new URLSearchParams;for(let[l,s]of a.entries())n.append(l,typeof s=="string"?s:s.name);return n}function Up(a){let n=new FormData;for(let[l,s]of a.entries())n.append(l,s);return n}function E1(a,n,l,s=!1,o=!1){let c={},u=null,h,m=!1,g={},v=l&&un(l[1])?l[1].error:void 0;return a.forEach(y=>{if(!(y.route.id in n))return;let _=y.route.id,S=n[_];if(wt(!Bi(S),"Cannot handle redirect results in processLoaderData"),un(S)){let O=S.error;if(v!==void 0&&(O=v,v=void 0),u=u||{},o)u[_]=O;else{let U=Wa(a,_);u[U.route.id]==null&&(u[U.route.id]=O)}s||(c[_]=ry),m||(m=!0,h=Js(S.error)?S.error.status:500),S.headers&&(g[_]=S.headers)}else c[_]=S.data,S.statusCode&&S.statusCode!==200&&!m&&(h=S.statusCode),S.headers&&(g[_]=S.headers)}),v!==void 0&&l&&(u={[l[0]]:v},l[2]&&(c[l[2]]=void 0)),{loaderData:c,errors:u,statusCode:h||200,loaderHeaders:g}}function Hp(a,n,l,s,o,c){let{loaderData:u,errors:h}=E1(n,l,s);return o.filter(m=>!m.matches||m.matches.some(g=>g.shouldLoad)).forEach(m=>{let{key:g,match:v,controller:y}=m;if(y&&y.signal.aborted)return;let _=c[g];if(wt(_,"Did not find corresponding fetcher result"),un(_)){let S=Wa(a.matches,v?.route.id);h&&h[S.route.id]||(h={...h,[S.route.id]:_.error}),a.fetchers.delete(g)}else if(Bi(_))wt(!1,"Unhandled fetcher revalidation redirect");else{let S=va(_.data);a.fetchers.set(g,S)}}),{loaderData:u,errors:h}}function kp(a,n,l,s){let o=Object.entries(n).filter(([,c])=>c!==ry).reduce((c,[u,h])=>(c[u]=h,c),{});for(let c of l){let u=c.route.id;if(!n.hasOwnProperty(u)&&a.hasOwnProperty(u)&&c.route.loader&&(o[u]=a[u]),s&&s.hasOwnProperty(u))break}return o}function Yp(a){return a?un(a[1])?{actionData:{}}:{actionData:{[a[0]]:a[1].data}}:{}}function Wa(a,n){return(n?a.slice(0,a.findIndex(s=>s.route.id===n)+1):[...a]).reverse().find(s=>s.route.hasErrorBoundary===!0)||a[0]}function Eo(a){let n=a.length===1?a[0]:a.find(l=>l.index||!l.path||l.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:n}],route:n}}function Mn(a,{pathname:n,routeId:l,method:s,type:o,message:c}={}){let u="Unknown Server Error",h="Unknown @remix-run/router error";return a===400?(u="Bad Request",s&&n&&l?h=`You made a ${s} request to "${n}" but did not provide a \`loader\` for route "${l}", so there is no way to handle the request.`:o==="invalid-body"&&(h="Unable to encode submission body")):a===403?(u="Forbidden",h=`Route "${l}" does not match URL "${n}"`):a===404?(u="Not Found",h=`No route matches URL "${n}"`):a===405&&(u="Method Not Allowed",s&&n&&l?h=`You made a ${s.toUpperCase()} request to "${n}" but did not provide an \`action\` for route "${l}", so there is no way to handle the request.`:s&&(h=`Invalid request method "${s.toUpperCase()}"`)),new lc(a||500,u,new Error(h),!0)}function Mo(a){let n=Object.entries(a);for(let l=n.length-1;l>=0;l--){let[s,o]=n[l];if(Bi(o))return{key:s,result:o}}}function hy(a){let n=typeof a=="string"?li(a):a;return Jn({...n,hash:""})}function M1(a,n){return a.pathname!==n.pathname||a.search!==n.search?!1:a.hash===""?n.hash!=="":a.hash===n.hash?!0:n.hash!==""}function C1(a){return new lc(a.init?.status??500,a.init?.statusText??"Internal Server Error",a.data)}function T1(a){return a!=null&&typeof a=="object"&&Object.entries(a).every(([n,l])=>typeof n=="string"&&D1(l))}function D1(a){return a!=null&&typeof a=="object"&&"type"in a&&"result"in a&&(a.type==="data"||a.type==="error")}function O1(a){return my(a.result)&&r1.has(a.result.status)}function un(a){return a.type==="error"}function Bi(a){return(a&&a.type)==="redirect"}function qp(a){return typeof a=="object"&&a!=null&&"type"in a&&"data"in a&&"init"in a&&a.type==="DataWithResponseInit"}function my(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.headers=="object"&&typeof a.body<"u"}function w1(a){return s1.has(a.toUpperCase())}function He(a){return i1.has(a.toUpperCase())}function od(a){return new URLSearchParams(a).getAll("index").some(n=>n==="")}function Yo(a,n){let l=typeof n=="string"?li(n).search:n.search;if(a[a.length-1].route.index&&od(l||""))return a[a.length-1];let s=ay(a);return s[s.length-1]}function Vp(a){let{formMethod:n,formAction:l,formEncType:s,text:o,formData:c,json:u}=a;if(!(!n||!l||!s)){if(o!=null)return{formMethod:n,formAction:l,formEncType:s,formData:void 0,json:void 0,text:o};if(c!=null)return{formMethod:n,formAction:l,formEncType:s,formData:c,json:void 0,text:void 0};if(u!==void 0)return{formMethod:n,formAction:l,formEncType:s,formData:void 0,json:u,text:void 0}}}function Hf(a,n){return n?{state:"loading",location:a,formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text}:{state:"loading",location:a,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function z1(a,n){return{state:"submitting",location:a,formMethod:n.formMethod,formAction:n.formAction,formEncType:n.formEncType,formData:n.formData,json:n.json,text:n.text}}function zs(a,n){return a?{state:"loading",formMethod:a.formMethod,formAction:a.formAction,formEncType:a.formEncType,formData:a.formData,json:a.json,text:a.text,data:n}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:n}}function R1(a,n){return{state:"submitting",formMethod:a.formMethod,formAction:a.formAction,formEncType:a.formEncType,formData:a.formData,json:a.json,text:a.text,data:n?n.data:void 0}}function va(a){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:a}}function A1(a,n){try{let l=a.sessionStorage.getItem(sy);if(l){let s=JSON.parse(l);for(let[o,c]of Object.entries(s||{}))c&&Array.isArray(c)&&n.set(o,new Set(c||[]))}}catch{}}function j1(a,n){if(n.size>0){let l={};for(let[s,o]of n)l[s]=[...o];try{a.sessionStorage.setItem(sy,JSON.stringify(l))}catch(s){ce(!1,`Failed to save applied view transitions in sessionStorage (${s}).`)}}}function Xp(){let a,n,l=new Promise((s,o)=>{a=async c=>{s(c);try{await l}catch{}},n=async c=>{o(c);try{await l}catch{}}});return{promise:l,resolve:a,reject:n}}var Yi=C.createContext(null);Yi.displayName="DataRouter";var ar=C.createContext(null);ar.displayName="DataRouterState";C.createContext(!1);var cd=C.createContext({isTransitioning:!1});cd.displayName="ViewTransition";var gy=C.createContext(new Map);gy.displayName="Fetchers";var N1=C.createContext(null);N1.displayName="Await";var Dn=C.createContext(null);Dn.displayName="Navigation";var sc=C.createContext(null);sc.displayName="Location";var Un=C.createContext({outlet:null,matches:[],isDataRoute:!1});Un.displayName="Route";var ud=C.createContext(null);ud.displayName="RouteError";function L1(a,{relative:n}={}){wt(Rl(),"useHref() may be used only in the context of a component.");let{basename:l,navigator:s}=C.useContext(Dn),{hash:o,pathname:c,search:u}=ir(a,{relative:n}),h=c;return l!=="/"&&(h=c==="/"?l:Fn([l,c])),s.createHref({pathname:h,search:u,hash:o})}function Rl(){return C.useContext(sc)!=null}function xa(){return wt(Rl(),"useLocation() may be used only in the context of a component."),C.useContext(sc).location}var py="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function vy(a){C.useContext(Dn).static||C.useLayoutEffect(a)}function si(){let{isDataRoute:a}=C.useContext(Un);return a?J1():B1()}function B1(){wt(Rl(),"useNavigate() may be used only in the context of a component.");let a=C.useContext(Yi),{basename:n,navigator:l}=C.useContext(Dn),{matches:s}=C.useContext(Un),{pathname:o}=xa(),c=JSON.stringify(ac(s)),u=C.useRef(!1);return vy(()=>{u.current=!0}),C.useCallback((m,g={})=>{if(ce(u.current,py),!u.current)return;if(typeof m=="number"){l.go(m);return}let v=ic(m,JSON.parse(c),o,g.relative==="path");a==null&&n!=="/"&&(v.pathname=v.pathname==="/"?n:Fn([n,v.pathname])),(g.replace?l.replace:l.push)(v,g.state,g)},[n,l,c,o,a])}var U1=C.createContext(null);function H1(a){let n=C.useContext(Un).outlet;return C.useMemo(()=>n&&C.createElement(U1.Provider,{value:a},n),[n,a])}function ir(a,{relative:n}={}){let{matches:l}=C.useContext(Un),{pathname:s}=xa(),o=JSON.stringify(ac(l));return C.useMemo(()=>ic(a,JSON.parse(o),s,n==="path"),[a,o,s,n])}function k1(a,n,l,s,o){wt(Rl(),"useRoutes() may be used only in the context of a component.");let{navigator:c}=C.useContext(Dn),{matches:u}=C.useContext(Un),h=u[u.length-1],m=h?h.params:{},g=h?h.pathname:"/",v=h?h.pathnameBase:"/",y=h&&h.route;{let A=y&&y.path||"";yy(g,!y||A.endsWith("*")||A.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${g}" (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 _=xa(),S;S=_;let O=S.pathname||"/",U=O;if(v!=="/"){let A=v.replace(/^\//,"").split("/");U="/"+O.replace(/^\//,"").split("/").slice(A.length).join("/")}let k=Pa(a,{pathname:U});return ce(y||k!=null,`No routes matched location "${S.pathname}${S.search}${S.hash}" `),ce(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 "${S.pathname}${S.search}${S.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.`),G1(k&&k.map(A=>Object.assign({},A,{params:Object.assign({},m,A.params),pathname:Fn([v,c.encodeLocation?c.encodeLocation(A.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:A.pathname]),pathnameBase:A.pathnameBase==="/"?v:Fn([v,c.encodeLocation?c.encodeLocation(A.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:A.pathnameBase])})),u,l,s,o)}function Y1(){let a=F1(),n=Js(a)?`${a.status} ${a.statusText}`:a instanceof Error?a.message:JSON.stringify(a),l=a instanceof Error?a.stack:null,s="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:s},c={padding:"2px 4px",backgroundColor:s},u=null;return console.error("Error handled by React Router default ErrorBoundary:",a),u=C.createElement(C.Fragment,null,C.createElement("p",null,"💿 Hey developer 👋"),C.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",C.createElement("code",{style:c},"ErrorBoundary")," or"," ",C.createElement("code",{style:c},"errorElement")," prop on your route.")),C.createElement(C.Fragment,null,C.createElement("h2",null,"Unexpected Application Error!"),C.createElement("h3",{style:{fontStyle:"italic"}},n),l?C.createElement("pre",{style:o},l):null,u)}var q1=C.createElement(Y1,null),V1=class extends C.Component{constructor(a){super(a),this.state={location:a.location,revalidation:a.revalidation,error:a.error}}static getDerivedStateFromError(a){return{error:a}}static getDerivedStateFromProps(a,n){return n.location!==a.location||n.revalidation!=="idle"&&a.revalidation==="idle"?{error:a.error,location:a.location,revalidation:a.revalidation}:{error:a.error!==void 0?a.error:n.error,location:n.location,revalidation:a.revalidation||n.revalidation}}componentDidCatch(a,n){this.props.onError?this.props.onError(a,n):console.error("React Router caught the following error during render",a)}render(){return this.state.error!==void 0?C.createElement(Un.Provider,{value:this.props.routeContext},C.createElement(ud.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function X1({routeContext:a,match:n,children:l}){let s=C.useContext(Yi);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),C.createElement(Un.Provider,{value:a},l)}function G1(a,n=[],l=null,s=null,o=null){if(a==null){if(!l)return null;if(l.errors)a=l.matches;else if(n.length===0&&!l.initialized&&l.matches.length>0)a=l.matches;else return null}let c=a,u=l?.errors;if(u!=null){let v=c.findIndex(y=>y.route.id&&u?.[y.route.id]!==void 0);wt(v>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(u).join(",")}`),c=c.slice(0,Math.min(c.length,v+1))}let h=!1,m=-1;if(l)for(let v=0;v=0?c=c.slice(0,m+1):c=[c[0]];break}}}let g=l&&s?(v,y)=>{s(v,{location:l.location,params:l.matches?.[0]?.params??{},unstable_pattern:nr(l.matches),errorInfo:y})}:void 0;return c.reduceRight((v,y,_)=>{let S,O=!1,U=null,k=null;l&&(S=u&&y.route.id?u[y.route.id]:void 0,U=y.route.errorElement||q1,h&&(m<0&&_===0?(yy("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),O=!0,k=null):m===_&&(O=!0,k=y.route.hydrateFallbackElement||null)));let Y=n.concat(c.slice(0,_+1)),A=()=>{let X;return S?X=U:O?X=k:y.route.Component?X=C.createElement(y.route.Component,null):y.route.element?X=y.route.element:X=v,C.createElement(X1,{match:y,routeContext:{outlet:v,matches:Y,isDataRoute:l!=null},children:X})};return l&&(y.route.ErrorBoundary||y.route.errorElement||_===0)?C.createElement(V1,{location:l.location,revalidation:l.revalidation,component:U,error:S,children:A(),routeContext:{outlet:null,matches:Y,isDataRoute:!0},onError:g}):A()},null)}function fd(a){return`${a} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function $1(a){let n=C.useContext(Yi);return wt(n,fd(a)),n}function Q1(a){let n=C.useContext(ar);return wt(n,fd(a)),n}function Z1(a){let n=C.useContext(Un);return wt(n,fd(a)),n}function dd(a){let n=Z1(a),l=n.matches[n.matches.length-1];return wt(l.route.id,`${a} can only be used on routes that contain a unique "id"`),l.route.id}function K1(){return dd("useRouteId")}function F1(){let a=C.useContext(ud),n=Q1("useRouteError"),l=dd("useRouteError");return a!==void 0?a:n.errors?.[l]}function J1(){let{router:a}=$1("useNavigate"),n=dd("useNavigate"),l=C.useRef(!1);return vy(()=>{l.current=!0}),C.useCallback(async(o,c={})=>{ce(l.current,py),l.current&&(typeof o=="number"?await a.navigate(o):await a.navigate(o,{fromRouteId:n,...c}))},[a,n])}var Gp={};function yy(a,n,l){!n&&!Gp[a]&&(Gp[a]=!0,ce(!1,l))}var $p={};function Qp(a,n){!a&&!$p[n]&&($p[n]=!0,console.warn(n))}var P1="useOptimistic",Zp=p_[P1],W1=()=>{};function I1(a){return Zp?Zp(a):[a,W1]}function tx(a){let n={hasErrorBoundary:a.hasErrorBoundary||a.ErrorBoundary!=null||a.errorElement!=null};return a.Component&&(a.element&&ce(!1,"You should not include both `Component` and `element` on your route - `Component` will be used."),Object.assign(n,{element:C.createElement(a.Component),Component:void 0})),a.HydrateFallback&&(a.hydrateFallbackElement&&ce(!1,"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used."),Object.assign(n,{hydrateFallbackElement:C.createElement(a.HydrateFallback),HydrateFallback:void 0})),a.ErrorBoundary&&(a.errorElement&&ce(!1,"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used."),Object.assign(n,{errorElement:C.createElement(a.ErrorBoundary),ErrorBoundary:void 0})),n}var ex=["HydrateFallback","hydrateFallbackElement"],nx=class{constructor(){this.status="pending",this.promise=new Promise((a,n)=>{this.resolve=l=>{this.status==="pending"&&(this.status="resolved",a(l))},this.reject=l=>{this.status==="pending"&&(this.status="rejected",n(l))}})}};function ax({router:a,flushSync:n,unstable_onError:l,unstable_useTransitions:s}){let[o,c]=C.useState(a.state),[u,h]=I1(o),[m,g]=C.useState(),[v,y]=C.useState({isTransitioning:!1}),[_,S]=C.useState(),[O,U]=C.useState(),[k,Y]=C.useState(),A=C.useRef(new Map),X=C.useCallback((D,{deletedFetchers:nt,newErrors:at,flushSync:pt,viewTransitionOpts:ft})=>{at&&l&&Object.values(at).forEach(Mt=>l(Mt,{location:D.location,params:D.matches[0]?.params??{},unstable_pattern:nr(D.matches)})),D.fetchers.forEach((Mt,St)=>{Mt.data!==void 0&&A.current.set(St,Mt.data)}),nt.forEach(Mt=>A.current.delete(Mt)),Qp(pt===!1||n!=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 xt=a.window!=null&&a.window.document!=null&&typeof a.window.document.startViewTransition=="function";if(Qp(ft==null||xt,"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."),!ft||!xt){n&&pt?n(()=>c(D)):s===!1?c(D):C.startTransition(()=>{s===!0&&h(Mt=>Kp(Mt,D)),c(D)});return}if(n&&pt){n(()=>{O&&(_?.resolve(),O.skipTransition()),y({isTransitioning:!0,flushSync:!0,currentLocation:ft.currentLocation,nextLocation:ft.nextLocation})});let Mt=a.window.document.startViewTransition(()=>{n(()=>c(D))});Mt.finished.finally(()=>{n(()=>{S(void 0),U(void 0),g(void 0),y({isTransitioning:!1})})}),n(()=>U(Mt));return}O?(_?.resolve(),O.skipTransition(),Y({state:D,currentLocation:ft.currentLocation,nextLocation:ft.nextLocation})):(g(D),y({isTransitioning:!0,flushSync:!1,currentLocation:ft.currentLocation,nextLocation:ft.nextLocation}))},[a.window,n,O,_,s,h,l]);C.useLayoutEffect(()=>a.subscribe(X),[a,X]),C.useEffect(()=>{v.isTransitioning&&!v.flushSync&&S(new nx)},[v]),C.useEffect(()=>{if(_&&m&&a.window){let D=m,nt=_.promise,at=a.window.document.startViewTransition(async()=>{s===!1?c(D):C.startTransition(()=>{s===!0&&h(pt=>Kp(pt,D)),c(D)}),await nt});at.finished.finally(()=>{S(void 0),U(void 0),g(void 0),y({isTransitioning:!1})}),U(at)}},[m,_,a.window,s,h]),C.useEffect(()=>{_&&m&&u.location.key===m.location.key&&_.resolve()},[_,O,u.location,m]),C.useEffect(()=>{!v.isTransitioning&&k&&(g(k.state),y({isTransitioning:!0,flushSync:!1,currentLocation:k.currentLocation,nextLocation:k.nextLocation}),Y(void 0))},[v.isTransitioning,k]);let P=C.useMemo(()=>({createHref:a.createHref,encodeLocation:a.encodeLocation,go:D=>a.navigate(D),push:(D,nt,at)=>a.navigate(D,{state:nt,preventScrollReset:at?.preventScrollReset}),replace:(D,nt,at)=>a.navigate(D,{replace:!0,state:nt,preventScrollReset:at?.preventScrollReset})}),[a]),J=a.basename||"/",rt=C.useMemo(()=>({router:a,navigator:P,static:!1,basename:J,unstable_onError:l}),[a,P,J,l]);return C.createElement(C.Fragment,null,C.createElement(Yi.Provider,{value:rt},C.createElement(ar.Provider,{value:u},C.createElement(gy.Provider,{value:A.current},C.createElement(cd.Provider,{value:v},C.createElement(ox,{basename:J,location:u.location,navigationType:u.historyAction,navigator:P,unstable_useTransitions:s===!0},C.createElement(ix,{routes:a.routes,future:a.future,state:u,unstable_onError:l})))))),null)}function Kp(a,n){return{...a,navigation:n.navigation.state!=="idle"?n.navigation:a.navigation,revalidation:n.revalidation!=="idle"?n.revalidation:a.revalidation,actionData:n.navigation.state!=="submitting"?n.actionData:a.actionData,fetchers:n.fetchers}}var ix=C.memo(lx);function lx({routes:a,future:n,state:l,unstable_onError:s}){return k1(a,void 0,l,s,n)}function sx({to:a,replace:n,state:l,relative:s}){wt(Rl()," may be used only in the context of a component.");let{static:o}=C.useContext(Dn);ce(!o," must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.");let{matches:c}=C.useContext(Un),{pathname:u}=xa(),h=si(),m=ic(a,ac(c),u,s==="path"),g=JSON.stringify(m);return C.useEffect(()=>{h(JSON.parse(g),{replace:n,state:l,relative:s})},[h,g,s,n,l]),null}function rx(a){return H1(a.context)}function ox({basename:a="/",children:n=null,location:l,navigationType:s="POP",navigator:o,static:c=!1,unstable_useTransitions:u}){wt(!Rl(),"You cannot render a inside another . You should never have more than one in your app.");let h=a.replace(/^\/*/,"/"),m=C.useMemo(()=>({basename:h,navigator:o,static:c,unstable_useTransitions:u,future:{}}),[h,o,c,u]);typeof l=="string"&&(l=li(l));let{pathname:g="/",search:v="",hash:y="",state:_=null,key:S="default"}=l,O=C.useMemo(()=>{let U=Tn(g,h);return U==null?null:{location:{pathname:U,search:v,hash:y,state:_,key:S},navigationType:s}},[h,g,v,y,_,S,s]);return ce(O!=null,` is not able to match the URL "${g}${v}${y}" because it does not start with the basename, so the won't render anything.`),O==null?null:C.createElement(Dn.Provider,{value:m},C.createElement(sc.Provider,{children:n,value:O}))}var qo="get",Vo="application/x-www-form-urlencoded";function rc(a){return typeof HTMLElement<"u"&&a instanceof HTMLElement}function cx(a){return rc(a)&&a.tagName.toLowerCase()==="button"}function ux(a){return rc(a)&&a.tagName.toLowerCase()==="form"}function fx(a){return rc(a)&&a.tagName.toLowerCase()==="input"}function dx(a){return!!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)}function hx(a,n){return a.button===0&&(!n||n==="_self")&&!dx(a)}var Co=null;function mx(){if(Co===null)try{new FormData(document.createElement("form"),0),Co=!1}catch{Co=!0}return Co}var gx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function kf(a){return a!=null&&!gx.has(a)?(ce(!1,`"${a}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Vo}"`),null):a}function px(a,n){let l,s,o,c,u;if(ux(a)){let h=a.getAttribute("action");s=h?Tn(h,n):null,l=a.getAttribute("method")||qo,o=kf(a.getAttribute("enctype"))||Vo,c=new FormData(a)}else if(cx(a)||fx(a)&&(a.type==="submit"||a.type==="image")){let h=a.form;if(h==null)throw new Error('Cannot submit a