Files
MultiRoombaRover/server/public/assets/index-D58yshkA.js
T

120 lines
433 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))r(f);new MutationObserver(f=>{for(const d of f)if(d.type==="childList")for(const p of d.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&r(p)}).observe(document,{childList:!0,subtree:!0});function i(f){const d={};return f.integrity&&(d.integrity=f.integrity),f.referrerPolicy&&(d.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?d.credentials="include":f.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(f){if(f.ep)return;f.ep=!0;const d=i(f);fetch(f.href,d)}})();function Uv(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var Yc={exports:{}},gs={};var up;function Hv(){if(up)return gs;up=1;var a=Symbol.for("react.transitional.element"),s=Symbol.for("react.fragment");function i(r,f,d){var p=null;if(d!==void 0&&(p=""+d),f.key!==void 0&&(p=""+f.key),"key"in f){d={};for(var m in f)m!=="key"&&(d[m]=f[m])}else d=f;return f=d.ref,{$$typeof:a,type:r,key:p,ref:f!==void 0?f:null,props:d}}return gs.Fragment=s,gs.jsx=i,gs.jsxs=i,gs}var fp;function Vv(){return fp||(fp=1,Yc.exports=Hv()),Yc.exports}var c=Vv(),Gc={exports:{}},me={};var dp;function Yv(){if(dp)return me;dp=1;var a=Symbol.for("react.transitional.element"),s=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),p=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),R=Symbol.iterator;function N(T){return T===null||typeof T!="object"?null:(T=R&&T[R]||T["@@iterator"],typeof T=="function"?T:null)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,A={};function j(T,B,H){this.props=T,this.context=B,this.refs=A,this.updater=H||E}j.prototype.isReactComponent={},j.prototype.setState=function(T,B){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,B,"setState")},j.prototype.forceUpdate=function(T){this.updater.enqueueForceUpdate(this,T,"forceUpdate")};function w(){}w.prototype=j.prototype;function O(T,B,H){this.props=T,this.context=B,this.refs=A,this.updater=H||E}var J=O.prototype=new w;J.constructor=O,C(J,j.prototype),J.isPureReactComponent=!0;var Y=Array.isArray;function G(){}var $={H:null,A:null,T:null,S:null},te=Object.prototype.hasOwnProperty;function F(T,B,H){var Q=H.ref;return{$$typeof:a,type:T,key:B,ref:Q!==void 0?Q:null,props:H}}function ne(T,B){return F(T.type,B,T.props)}function se(T){return typeof T=="object"&&T!==null&&T.$$typeof===a}function re(T){var B={"=":"=0",":":"=2"};return"$"+T.replace(/[=:]/g,function(H){return B[H]})}var ye=/\/+/g;function ee(T,B){return typeof T=="object"&&T!==null&&T.key!=null?re(""+T.key):B.toString(36)}function P(T){switch(T.status){case"fulfilled":return T.value;case"rejected":throw T.reason;default:switch(typeof T.status=="string"?T.then(G,G):(T.status="pending",T.then(function(B){T.status==="pending"&&(T.status="fulfilled",T.value=B)},function(B){T.status==="pending"&&(T.status="rejected",T.reason=B)})),T.status){case"fulfilled":return T.value;case"rejected":throw T.reason}}throw T}function _(T,B,H,Q,I){var le=typeof T;(le==="undefined"||le==="boolean")&&(T=null);var he=!1;if(T===null)he=!0;else switch(le){case"bigint":case"string":case"number":he=!0;break;case"object":switch(T.$$typeof){case a:case s:he=!0;break;case S:return he=T._init,_(he(T._payload),B,H,Q,I)}}if(he)return I=I(T),he=Q===""?"."+ee(T,0):Q,Y(I)?(H="",he!=null&&(H=he.replace(ye,"$&/")+"/"),_(I,B,H,"",function(rn){return rn})):I!=null&&(se(I)&&(I=ne(I,H+(I.key==null||T&&T.key===I.key?"":(""+I.key).replace(ye,"$&/")+"/")+he)),B.push(I)),1;he=0;var Re=Q===""?".":Q+":";if(Y(T))for(var de=0;de<T.length;de++)Q=T[de],le=Re+ee(Q,de),he+=_(Q,B,H,le,I);else if(de=N(T),typeof de=="function")for(T=de.call(T),de=0;!(Q=T.next()).done;)Q=Q.value,le=Re+ee(Q,de++),he+=_(Q,B,H,le,I);else if(le==="object"){if(typeof T.then=="function")return _(P(T),B,H,Q,I);throw B=String(T),Error("Objects are not valid as a React child (found: "+(B==="[object Object]"?"object with keys {"+Object.keys(T).join(", ")+"}":B)+"). If you meant to render a collection of children, use an array instead.")}return he}function U(T,B,H){if(T==null)return T;var Q=[],I=0;return _(T,Q,"","",function(le){return B.call(H,le,I++)}),Q}function W(T){if(T._status===-1){var B=T._result;B=B(),B.then(function(H){(T._status===0||T._status===-1)&&(T._status=1,T._result=H)},function(H){(T._status===0||T._status===-1)&&(T._status=2,T._result=H)}),T._status===-1&&(T._status=0,T._result=B)}if(T._status===1)return T._result.default;throw T._result}var ae=typeof reportError=="function"?reportError:function(T){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var B=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof T=="object"&&T!==null&&typeof T.message=="string"?String(T.message):String(T),error:T});if(!window.dispatchEvent(B))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",T);return}console.error(T)},fe={map:U,forEach:function(T,B,H){U(T,function(){B.apply(this,arguments)},H)},count:function(T){var B=0;return U(T,function(){B++}),B},toArray:function(T){return U(T,function(B){return B})||[]},only:function(T){if(!se(T))throw Error("React.Children.only expected to receive a single React element child.");return T}};return me.Activity=b,me.Children=fe,me.Component=j,me.Fragment=i,me.Profiler=f,me.PureComponent=O,me.StrictMode=r,me.Suspense=y,me.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=$,me.__COMPILER_RUNTIME={__proto__:null,c:function(T){return $.H.useMemoCache(T)}},me.cache=function(T){return function(){return T.apply(null,arguments)}},me.cacheSignal=function(){return null},me.cloneElement=function(T,B,H){if(T==null)throw Error("The argument must be a React element, but you passed "+T+".");var Q=C({},T.props),I=T.key;if(B!=null)for(le in B.key!==void 0&&(I=""+B.key),B)!te.call(B,le)||le==="key"||le==="__self"||le==="__source"||le==="ref"&&B.ref===void 0||(Q[le]=B[le]);var le=arguments.length-2;if(le===1)Q.children=H;else if(1<le){for(var he=Array(le),Re=0;Re<le;Re++)he[Re]=arguments[Re+2];Q.children=he}return F(T.type,I,Q)},me.createContext=function(T){return T={$$typeof:p,_currentValue:T,_currentValue2:T,_threadCount:0,Provider:null,Consumer:null},T.Provider=T,T.Consumer={$$typeof:d,_context:T},T},me.createElement=function(T,B,H){var Q,I={},le=null;if(B!=null)for(Q in B.key!==void 0&&(le=""+B.key),B)te.call(B,Q)&&Q!=="key"&&Q!=="__self"&&Q!=="__source"&&(I[Q]=B[Q]);var he=arguments.length-2;if(he===1)I.children=H;else if(1<he){for(var Re=Array(he),de=0;de<he;de++)Re[de]=arguments[de+2];I.children=Re}if(T&&T.defaultProps)for(Q in he=T.defaultProps,he)I[Q]===void 0&&(I[Q]=he[Q]);return F(T,le,I)},me.createRef=function(){return{current:null}},me.forwardRef=function(T){return{$$typeof:m,render:T}},me.isValidElement=se,me.lazy=function(T){return{$$typeof:S,_payload:{_status:-1,_result:T},_init:W}},me.memo=function(T,B){return{$$typeof:v,type:T,compare:B===void 0?null:B}},me.startTransition=function(T){var B=$.T,H={};$.T=H;try{var Q=T(),I=$.S;I!==null&&I(H,Q),typeof Q=="object"&&Q!==null&&typeof Q.then=="function"&&Q.then(G,ae)}catch(le){ae(le)}finally{B!==null&&H.types!==null&&(B.types=H.types),$.T=B}},me.unstable_useCacheRefresh=function(){return $.H.useCacheRefresh()},me.use=function(T){return $.H.use(T)},me.useActionState=function(T,B,H){return $.H.useActionState(T,B,H)},me.useCallback=function(T,B){return $.H.useCallback(T,B)},me.useContext=function(T){return $.H.useContext(T)},me.useDebugValue=function(){},me.useDeferredValue=function(T,B){return $.H.useDeferredValue(T,B)},me.useEffect=function(T,B){return $.H.useEffect(T,B)},me.useEffectEvent=function(T){return $.H.useEffectEvent(T)},me.useId=function(){return $.H.useId()},me.useImperativeHandle=function(T,B,H){return $.H.useImperativeHandle(T,B,H)},me.useInsertionEffect=function(T,B){return $.H.useInsertionEffect(T,B)},me.useLayoutEffect=function(T,B){return $.H.useLayoutEffect(T,B)},me.useMemo=function(T,B){return $.H.useMemo(T,B)},me.useOptimistic=function(T,B){return $.H.useOptimistic(T,B)},me.useReducer=function(T,B,H){return $.H.useReducer(T,B,H)},me.useRef=function(T){return $.H.useRef(T)},me.useState=function(T){return $.H.useState(T)},me.useSyncExternalStore=function(T,B,H){return $.H.useSyncExternalStore(T,B,H)},me.useTransition=function(){return $.H.useTransition()},me.version="19.2.0",me}var hp;function Tu(){return hp||(hp=1,Gc.exports=Yv()),Gc.exports}var g=Tu();const Ca=Uv(g);var Qc={exports:{}},ys={},Xc={exports:{}},$c={};var mp;function Gv(){return mp||(mp=1,(function(a){function s(_,U){var W=_.length;_.push(U);e:for(;0<W;){var ae=W-1>>>1,fe=_[ae];if(0<f(fe,U))_[ae]=U,_[W]=fe,W=ae;else break e}}function i(_){return _.length===0?null:_[0]}function r(_){if(_.length===0)return null;var U=_[0],W=_.pop();if(W!==U){_[0]=W;e:for(var ae=0,fe=_.length,T=fe>>>1;ae<T;){var B=2*(ae+1)-1,H=_[B],Q=B+1,I=_[Q];if(0>f(H,W))Q<fe&&0>f(I,H)?(_[ae]=I,_[Q]=W,ae=Q):(_[ae]=H,_[B]=W,ae=B);else if(Q<fe&&0>f(I,W))_[ae]=I,_[Q]=W,ae=Q;else break e}}return U}function f(_,U){var W=_.sortIndex-U.sortIndex;return W!==0?W:_.id-U.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;a.unstable_now=function(){return d.now()}}else{var p=Date,m=p.now();a.unstable_now=function(){return p.now()-m}}var y=[],v=[],S=1,b=null,R=3,N=!1,E=!1,C=!1,A=!1,j=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;function J(_){for(var U=i(v);U!==null;){if(U.callback===null)r(v);else if(U.startTime<=_)r(v),U.sortIndex=U.expirationTime,s(y,U);else break;U=i(v)}}function Y(_){if(C=!1,J(_),!E)if(i(y)!==null)E=!0,G||(G=!0,re());else{var U=i(v);U!==null&&P(Y,U.startTime-_)}}var G=!1,$=-1,te=5,F=-1;function ne(){return A?!0:!(a.unstable_now()-F<te)}function se(){if(A=!1,G){var _=a.unstable_now();F=_;var U=!0;try{e:{E=!1,C&&(C=!1,w($),$=-1),N=!0;var W=R;try{t:{for(J(_),b=i(y);b!==null&&!(b.expirationTime>_&&ne());){var ae=b.callback;if(typeof ae=="function"){b.callback=null,R=b.priorityLevel;var fe=ae(b.expirationTime<=_);if(_=a.unstable_now(),typeof fe=="function"){b.callback=fe,J(_),U=!0;break t}b===i(y)&&r(y),J(_)}else r(y);b=i(y)}if(b!==null)U=!0;else{var T=i(v);T!==null&&P(Y,T.startTime-_),U=!1}}break e}finally{b=null,R=W,N=!1}U=void 0}}finally{U?re():G=!1}}}var re;if(typeof O=="function")re=function(){O(se)};else if(typeof MessageChannel<"u"){var ye=new MessageChannel,ee=ye.port2;ye.port1.onmessage=se,re=function(){ee.postMessage(null)}}else re=function(){j(se,0)};function P(_,U){$=j(function(){_(a.unstable_now())},U)}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(_){_.callback=null},a.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):te=0<_?Math.floor(1e3/_):5},a.unstable_getCurrentPriorityLevel=function(){return R},a.unstable_next=function(_){switch(R){case 1:case 2:case 3:var U=3;break;default:U=R}var W=R;R=U;try{return _()}finally{R=W}},a.unstable_requestPaint=function(){A=!0},a.unstable_runWithPriority=function(_,U){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var W=R;R=_;try{return U()}finally{R=W}},a.unstable_scheduleCallback=function(_,U,W){var ae=a.unstable_now();switch(typeof W=="object"&&W!==null?(W=W.delay,W=typeof W=="number"&&0<W?ae+W:ae):W=ae,_){case 1:var fe=-1;break;case 2:fe=250;break;case 5:fe=1073741823;break;case 4:fe=1e4;break;default:fe=5e3}return fe=W+fe,_={id:S++,callback:U,priorityLevel:_,startTime:W,expirationTime:fe,sortIndex:-1},W>ae?(_.sortIndex=W,s(v,_),i(y)===null&&_===i(v)&&(C?(w($),$=-1):C=!0,P(Y,W-ae))):(_.sortIndex=fe,s(y,_),E||N||(E=!0,G||(G=!0,re()))),_},a.unstable_shouldYield=ne,a.unstable_wrapCallback=function(_){var U=R;return function(){var W=R;R=U;try{return _.apply(this,arguments)}finally{R=W}}}})($c)),$c}var pp;function Qv(){return pp||(pp=1,Xc.exports=Gv()),Xc.exports}var Kc={exports:{}},ut={};var gp;function Xv(){if(gp)return ut;gp=1;var a=Tu();function s(y){var v="https://react.dev/errors/"+y;if(1<arguments.length){v+="?args[]="+encodeURIComponent(arguments[1]);for(var S=2;S<arguments.length;S++)v+="&args[]="+encodeURIComponent(arguments[S])}return"Minified React error #"+y+"; visit "+v+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function i(){}var r={d:{f:i,r:function(){throw Error(s(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},f=Symbol.for("react.portal");function d(y,v,S){var b=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:f,key:b==null?null:""+b,children:y,containerInfo:v,implementation:S}}var p=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function m(y,v){if(y==="font")return"";if(typeof v=="string")return v==="use-credentials"?v:""}return ut.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,ut.createPortal=function(y,v){var S=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!v||v.nodeType!==1&&v.nodeType!==9&&v.nodeType!==11)throw Error(s(299));return d(y,v,null,S)},ut.flushSync=function(y){var v=p.T,S=r.p;try{if(p.T=null,r.p=2,y)return y()}finally{p.T=v,r.p=S,r.d.f()}},ut.preconnect=function(y,v){typeof y=="string"&&(v?(v=v.crossOrigin,v=typeof v=="string"?v==="use-credentials"?v:"":void 0):v=null,r.d.C(y,v))},ut.prefetchDNS=function(y){typeof y=="string"&&r.d.D(y)},ut.preinit=function(y,v){if(typeof y=="string"&&v&&typeof v.as=="string"){var S=v.as,b=m(S,v.crossOrigin),R=typeof v.integrity=="string"?v.integrity:void 0,N=typeof v.fetchPriority=="string"?v.fetchPriority:void 0;S==="style"?r.d.S(y,typeof v.precedence=="string"?v.precedence:void 0,{crossOrigin:b,integrity:R,fetchPriority:N}):S==="script"&&r.d.X(y,{crossOrigin:b,integrity:R,fetchPriority:N,nonce:typeof v.nonce=="string"?v.nonce:void 0})}},ut.preinitModule=function(y,v){if(typeof y=="string")if(typeof v=="object"&&v!==null){if(v.as==null||v.as==="script"){var S=m(v.as,v.crossOrigin);r.d.M(y,{crossOrigin:S,integrity:typeof v.integrity=="string"?v.integrity:void 0,nonce:typeof v.nonce=="string"?v.nonce:void 0})}}else v==null&&r.d.M(y)},ut.preload=function(y,v){if(typeof y=="string"&&typeof v=="object"&&v!==null&&typeof v.as=="string"){var S=v.as,b=m(S,v.crossOrigin);r.d.L(y,S,{crossOrigin:b,integrity:typeof v.integrity=="string"?v.integrity:void 0,nonce:typeof v.nonce=="string"?v.nonce:void 0,type:typeof v.type=="string"?v.type:void 0,fetchPriority:typeof v.fetchPriority=="string"?v.fetchPriority:void 0,referrerPolicy:typeof v.referrerPolicy=="string"?v.referrerPolicy:void 0,imageSrcSet:typeof v.imageSrcSet=="string"?v.imageSrcSet:void 0,imageSizes:typeof v.imageSizes=="string"?v.imageSizes:void 0,media:typeof v.media=="string"?v.media:void 0})}},ut.preloadModule=function(y,v){if(typeof y=="string")if(v){var S=m(v.as,v.crossOrigin);r.d.m(y,{as:typeof v.as=="string"&&v.as!=="script"?v.as:void 0,crossOrigin:S,integrity:typeof v.integrity=="string"?v.integrity:void 0})}else r.d.m(y)},ut.requestFormReset=function(y){r.d.r(y)},ut.unstable_batchedUpdates=function(y,v){return y(v)},ut.useFormState=function(y,v,S){return p.H.useFormState(y,v,S)},ut.useFormStatus=function(){return p.H.useHostTransitionStatus()},ut.version="19.2.0",ut}var yp;function $v(){if(yp)return Kc.exports;yp=1;function a(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(s){console.error(s)}}return a(),Kc.exports=Xv(),Kc.exports}var vp;function Kv(){if(vp)return ys;vp=1;var a=Qv(),s=Tu(),i=$v();function r(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function f(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function d(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function p(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function m(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function y(e){if(d(e)!==e)throw Error(r(188))}function v(e){var t=e.alternate;if(!t){if(t=d(e),t===null)throw Error(r(188));return t!==e?null:e}for(var n=e,l=t;;){var o=n.return;if(o===null)break;var u=o.alternate;if(u===null){if(l=o.return,l!==null){n=l;continue}break}if(o.child===u.child){for(u=o.child;u;){if(u===n)return y(o),e;if(u===l)return y(o),t;u=u.sibling}throw Error(r(188))}if(n.return!==l.return)n=o,l=u;else{for(var h=!1,x=o.child;x;){if(x===n){h=!0,n=o,l=u;break}if(x===l){h=!0,l=o,n=u;break}x=x.sibling}if(!h){for(x=u.child;x;){if(x===n){h=!0,n=u,l=o;break}if(x===l){h=!0,l=u,n=o;break}x=x.sibling}if(!h)throw Error(r(189))}}if(n.alternate!==l)throw Error(r(190))}if(n.tag!==3)throw Error(r(188));return n.stateNode.current===n?e:t}function S(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=S(e),t!==null)return t;e=e.sibling}return null}var b=Object.assign,R=Symbol.for("react.element"),N=Symbol.for("react.transitional.element"),E=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),A=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),w=Symbol.for("react.consumer"),O=Symbol.for("react.context"),J=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),G=Symbol.for("react.suspense_list"),$=Symbol.for("react.memo"),te=Symbol.for("react.lazy"),F=Symbol.for("react.activity"),ne=Symbol.for("react.memo_cache_sentinel"),se=Symbol.iterator;function re(e){return e===null||typeof e!="object"?null:(e=se&&e[se]||e["@@iterator"],typeof e=="function"?e:null)}var ye=Symbol.for("react.client.reference");function ee(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===ye?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case C:return"Fragment";case j:return"Profiler";case A:return"StrictMode";case Y:return"Suspense";case G:return"SuspenseList";case F:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case E:return"Portal";case O:return e.displayName||"Context";case w:return(e._context.displayName||"Context")+".Consumer";case J:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case $:return t=e.displayName||null,t!==null?t:ee(e.type)||"Memo";case te:t=e._payload,e=e._init;try{return ee(e(t))}catch{}}return null}var P=Array.isArray,_=s.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W={pending:!1,data:null,method:null,action:null},ae=[],fe=-1;function T(e){return{current:e}}function B(e){0>fe||(e.current=ae[fe],ae[fe]=null,fe--)}function H(e,t){fe++,ae[fe]=e.current,e.current=t}var Q=T(null),I=T(null),le=T(null),he=T(null);function Re(e,t){switch(H(le,t),H(I,e),H(Q,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?km(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=km(t),e=Om(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}B(Q),H(Q,e)}function de(){B(Q),B(I),B(le)}function rn(e){e.memoizedState!==null&&H(he,e);var t=Q.current,n=Om(t,e.type);t!==n&&(H(I,e),H(Q,n))}function kn(e){I.current===e&&(B(Q),B(I)),he.current===e&&(B(he),ds._currentValue=W)}var Yt,oa;function Gt(e){if(Yt===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Yt=t&&t[1]||"",oa=-1<n.stack.indexOf(`
at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
`+Yt+e+oa}var dt=!1;function Qt(e,t){if(!e||dt)return"";dt=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(t){var Z=function(){throw Error()};if(Object.defineProperty(Z.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Z,[])}catch(V){var L=V}Reflect.construct(e,[],Z)}else{try{Z.call()}catch(V){L=V}e.call(Z.prototype)}}else{try{throw Error()}catch(V){L=V}(Z=e())&&typeof Z.catch=="function"&&Z.catch(function(){})}}catch(V){if(V&&L&&typeof V.stack=="string")return[V.stack,L.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var o=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");o&&o.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var u=l.DetermineComponentFrameRoot(),h=u[0],x=u[1];if(h&&x){var q=h.split(`
`),z=x.split(`
`);for(o=l=0;l<q.length&&!q[l].includes("DetermineComponentFrameRoot");)l++;for(;o<z.length&&!z[o].includes("DetermineComponentFrameRoot");)o++;if(l===q.length||o===z.length)for(l=q.length-1,o=z.length-1;1<=l&&0<=o&&q[l]!==z[o];)o--;for(;1<=l&&0<=o;l--,o--)if(q[l]!==z[o]){if(l!==1||o!==1)do if(l--,o--,0>o||q[l]!==z[o]){var X=`
`+q[l].replace(" at new "," at ");return e.displayName&&X.includes("<anonymous>")&&(X=X.replace("<anonymous>",e.displayName)),X}while(1<=l&&0<=o);break}}}finally{dt=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Gt(n):""}function on(e,t){switch(e.tag){case 26:case 27:case 5:return Gt(e.type);case 16:return Gt("Lazy");case 13:return e.child!==t&&t!==null?Gt("Suspense Fallback"):Gt("Suspense");case 19:return Gt("SuspenseList");case 0:case 15:return Qt(e.type,!1);case 11:return Qt(e.type.render,!1);case 1:return Qt(e.type,!0);case 31:return Gt("Activity");default:return""}}function bl(e){try{var t="",n=null;do t+=on(e,n),n=e,e=e.return;while(e);return t}catch(l){return`
Error generating stack: `+l.message+`
`+l.stack}}var Sl=Object.prototype.hasOwnProperty,Al=a.unstable_scheduleCallback,jl=a.unstable_cancelCallback,zs=a.unstable_shouldYield,Ne=a.unstable_requestPaint,ze=a.unstable_now,ht=a.unstable_getCurrentPriorityLevel,Le=a.unstable_ImmediatePriority,Xe=a.unstable_UserBlockingPriority,Me=a.unstable_NormalPriority,Cr=a.unstable_LowPriority,hf=a.unstable_IdlePriority,Sg=a.log,Ag=a.unstable_setDisableYieldValue,Nl=null,At=null;function On(e){if(typeof Sg=="function"&&Ag(e),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(Nl,e)}catch{}}var jt=Math.clz32?Math.clz32:Eg,jg=Math.log,Ng=Math.LN2;function Eg(e){return e>>>=0,e===0?32:31-(jg(e)/Ng|0)|0}var Bs=256,Ls=262144,Us=4194304;function ca(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Hs(e,t,n){var l=e.pendingLanes;if(l===0)return 0;var o=0,u=e.suspendedLanes,h=e.pingedLanes;e=e.warmLanes;var x=l&134217727;return x!==0?(l=x&~u,l!==0?o=ca(l):(h&=x,h!==0?o=ca(h):n||(n=x&~e,n!==0&&(o=ca(n))))):(x=l&~u,x!==0?o=ca(x):h!==0?o=ca(h):n||(n=l&~e,n!==0&&(o=ca(n)))),o===0?0:t!==0&&t!==o&&(t&u)===0&&(u=o&-o,n=t&-t,u>=n||u===32&&(n&4194048)!==0)?t:o}function El(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function qg(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function mf(){var e=Us;return Us<<=1,(Us&62914560)===0&&(Us=4194304),e}function Tr(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ql(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function wg(e,t,n,l,o,u){var h=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var x=e.entanglements,q=e.expirationTimes,z=e.hiddenUpdates;for(n=h&~n;0<n;){var X=31-jt(n),Z=1<<X;x[X]=0,q[X]=-1;var L=z[X];if(L!==null)for(z[X]=null,X=0;X<L.length;X++){var V=L[X];V!==null&&(V.lane&=-536870913)}n&=~Z}l!==0&&pf(e,l,0),u!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=u&~(h&~t))}function pf(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var l=31-jt(t);e.entangledLanes|=t,e.entanglements[l]=e.entanglements[l]|1073741824|n&261930}function gf(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var l=31-jt(n),o=1<<l;o&t|e[l]&t&&(e[l]|=t),n&=~o}}function yf(e,t){var n=t&-t;return n=(n&42)!==0?1:Rr(n),(n&(e.suspendedLanes|t))!==0?0:n}function Rr(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Mr(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function vf(){var e=U.p;return e!==0?e:(e=window.event,e===void 0?32:ap(e.type))}function xf(e,t){var n=U.p;try{return U.p=e,t()}finally{U.p=n}}var Dn=Math.random().toString(36).slice(2),at="__reactFiber$"+Dn,mt="__reactProps$"+Dn,Ra="__reactContainer$"+Dn,_r="__reactEvents$"+Dn,Cg="__reactListeners$"+Dn,Tg="__reactHandles$"+Dn,bf="__reactResources$"+Dn,wl="__reactMarker$"+Dn;function kr(e){delete e[at],delete e[mt],delete e[_r],delete e[Cg],delete e[Tg]}function Ma(e){var t=e[at];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ra]||n[at]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Vm(e);e!==null;){if(n=e[at])return n;e=Vm(e)}return t}e=n,n=e.parentNode}return null}function _a(e){if(e=e[at]||e[Ra]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Cl(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(r(33))}function ka(e){var t=e[bf];return t||(t=e[bf]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function tt(e){e[wl]=!0}var Sf=new Set,Af={};function ua(e,t){Oa(e,t),Oa(e+"Capture",t)}function Oa(e,t){for(Af[e]=t,e=0;e<t.length;e++)Sf.add(t[e])}var Rg=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),jf={},Nf={};function Mg(e){return Sl.call(Nf,e)?!0:Sl.call(jf,e)?!1:Rg.test(e)?Nf[e]=!0:(jf[e]=!0,!1)}function Vs(e,t,n){if(Mg(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var l=t.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function Ys(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function cn(e,t,n,l){if(l===null)e.removeAttribute(n);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+l)}}function Mt(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ef(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function _g(e,t,n){var l=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var o=l.get,u=l.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(h){n=""+h,u.call(this,h)}}),Object.defineProperty(e,t,{enumerable:l.enumerable}),{getValue:function(){return n},setValue:function(h){n=""+h},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Or(e){if(!e._valueTracker){var t=Ef(e)?"checked":"value";e._valueTracker=_g(e,t,""+e[t])}}function qf(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),l="";return e&&(l=Ef(e)?e.checked?"true":"false":e.value),e=l,e!==n?(t.setValue(e),!0):!1}function Gs(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var kg=/[\n"\\]/g;function _t(e){return e.replace(kg,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Dr(e,t,n,l,o,u,h,x){e.name="",h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?e.type=h:e.removeAttribute("type"),t!=null?h==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Mt(t)):e.value!==""+Mt(t)&&(e.value=""+Mt(t)):h!=="submit"&&h!=="reset"||e.removeAttribute("value"),t!=null?zr(e,h,Mt(t)):n!=null?zr(e,h,Mt(n)):l!=null&&e.removeAttribute("value"),o==null&&u!=null&&(e.defaultChecked=!!u),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),x!=null&&typeof x!="function"&&typeof x!="symbol"&&typeof x!="boolean"?e.name=""+Mt(x):e.removeAttribute("name")}function wf(e,t,n,l,o,u,h,x){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.type=u),t!=null||n!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){Or(e);return}n=n!=null?""+Mt(n):"",t=t!=null?""+Mt(t):n,x||t===e.value||(e.value=t),e.defaultValue=t}l=l??o,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=x?e.checked:!!l,e.defaultChecked=!!l,h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"&&(e.name=h),Or(e)}function zr(e,t,n){t==="number"&&Gs(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Da(e,t,n,l){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&l&&(e[n].defaultSelected=!0)}else{for(n=""+Mt(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,l&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function Cf(e,t,n){if(t!=null&&(t=""+Mt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Mt(n):""}function Tf(e,t,n,l){if(t==null){if(l!=null){if(n!=null)throw Error(r(92));if(P(l)){if(1<l.length)throw Error(r(93));l=l[0]}n=l}n==null&&(n=""),t=n}n=Mt(t),e.defaultValue=n,l=e.textContent,l===n&&l!==""&&l!==null&&(e.value=l),Or(e)}function za(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Og=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Rf(e,t,n){var l=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?l?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":l?e.setProperty(t,n):typeof n!="number"||n===0||Og.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function Mf(e,t,n){if(t!=null&&typeof t!="object")throw Error(r(62));if(e=e.style,n!=null){for(var l in n)!n.hasOwnProperty(l)||t!=null&&t.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var o in t)l=t[o],t.hasOwnProperty(o)&&n[o]!==l&&Rf(e,o,l)}else for(var u in t)t.hasOwnProperty(u)&&Rf(e,u,t[u])}function Br(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Dg=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),zg=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Qs(e){return zg.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function un(){}var Lr=null;function Ur(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ba=null,La=null;function _f(e){var t=_a(e);if(t&&(e=t.stateNode)){var n=e[mt]||null;e:switch(e=t.stateNode,t.type){case"input":if(Dr(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+_t(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var l=n[t];if(l!==e&&l.form===e.form){var o=l[mt]||null;if(!o)throw Error(r(90));Dr(l,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t<n.length;t++)l=n[t],l.form===e.form&&qf(l)}break e;case"textarea":Cf(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Da(e,!!n.multiple,t,!1)}}}var Hr=!1;function kf(e,t,n){if(Hr)return e(t,n);Hr=!0;try{var l=e(t);return l}finally{if(Hr=!1,(Ba!==null||La!==null)&&(Mi(),Ba&&(t=Ba,e=La,La=Ba=null,_f(t),e)))for(t=0;t<e.length;t++)_f(e[t])}}function Tl(e,t){var n=e.stateNode;if(n===null)return null;var l=n[mt]||null;if(l===null)return null;n=l[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(r(231,t,typeof n));return n}var fn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Vr=!1;if(fn)try{var Rl={};Object.defineProperty(Rl,"passive",{get:function(){Vr=!0}}),window.addEventListener("test",Rl,Rl),window.removeEventListener("test",Rl,Rl)}catch{Vr=!1}var zn=null,Yr=null,Xs=null;function Of(){if(Xs)return Xs;var e,t=Yr,n=t.length,l,o="value"in zn?zn.value:zn.textContent,u=o.length;for(e=0;e<n&&t[e]===o[e];e++);var h=n-e;for(l=1;l<=h&&t[n-l]===o[u-l];l++);return Xs=o.slice(e,1<l?1-l:void 0)}function $s(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Ks(){return!0}function Df(){return!1}function pt(e){function t(n,l,o,u,h){this._reactName=n,this._targetInst=o,this.type=l,this.nativeEvent=u,this.target=h,this.currentTarget=null;for(var x in e)e.hasOwnProperty(x)&&(n=e[x],this[x]=n?n(u):u[x]);return this.isDefaultPrevented=(u.defaultPrevented!=null?u.defaultPrevented:u.returnValue===!1)?Ks:Df,this.isPropagationStopped=Df,this}return b(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Ks)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Ks)},persist:function(){},isPersistent:Ks}),t}var fa={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Zs=pt(fa),Ml=b({},fa,{view:0,detail:0}),Bg=pt(Ml),Gr,Qr,_l,Js=b({},Ml,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:$r,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==_l&&(_l&&e.type==="mousemove"?(Gr=e.screenX-_l.screenX,Qr=e.screenY-_l.screenY):Qr=Gr=0,_l=e),Gr)},movementY:function(e){return"movementY"in e?e.movementY:Qr}}),zf=pt(Js),Lg=b({},Js,{dataTransfer:0}),Ug=pt(Lg),Hg=b({},Ml,{relatedTarget:0}),Xr=pt(Hg),Vg=b({},fa,{animationName:0,elapsedTime:0,pseudoElement:0}),Yg=pt(Vg),Gg=b({},fa,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Qg=pt(Gg),Xg=b({},fa,{data:0}),Bf=pt(Xg),$g={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Kg={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Zg={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Jg(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Zg[e])?!!t[e]:!1}function $r(){return Jg}var Fg=b({},Ml,{key:function(e){if(e.key){var t=$g[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=$s(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Kg[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:$r,charCode:function(e){return e.type==="keypress"?$s(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?$s(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Ig=pt(Fg),Wg=b({},Js,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Lf=pt(Wg),Pg=b({},Ml,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:$r}),ey=pt(Pg),ty=b({},fa,{propertyName:0,elapsedTime:0,pseudoElement:0}),ny=pt(ty),ay=b({},Js,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),ly=pt(ay),sy=b({},fa,{newState:0,oldState:0}),iy=pt(sy),ry=[9,13,27,32],Kr=fn&&"CompositionEvent"in window,kl=null;fn&&"documentMode"in document&&(kl=document.documentMode);var oy=fn&&"TextEvent"in window&&!kl,Uf=fn&&(!Kr||kl&&8<kl&&11>=kl),Hf=" ",Vf=!1;function Yf(e,t){switch(e){case"keyup":return ry.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Gf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ua=!1;function cy(e,t){switch(e){case"compositionend":return Gf(t);case"keypress":return t.which!==32?null:(Vf=!0,Hf);case"textInput":return e=t.data,e===Hf&&Vf?null:e;default:return null}}function uy(e,t){if(Ua)return e==="compositionend"||!Kr&&Yf(e,t)?(e=Of(),Xs=Yr=zn=null,Ua=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Uf&&t.locale!=="ko"?null:t.data;default:return null}}var fy={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Qf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!fy[e.type]:t==="textarea"}function Xf(e,t,n,l){Ba?La?La.push(l):La=[l]:Ba=l,t=Li(t,"onChange"),0<t.length&&(n=new Zs("onChange","change",null,n,l),e.push({event:n,listeners:t}))}var Ol=null,Dl=null;function dy(e){wm(e,0)}function Fs(e){var t=Cl(e);if(qf(t))return e}function $f(e,t){if(e==="change")return t}var Kf=!1;if(fn){var Zr;if(fn){var Jr="oninput"in document;if(!Jr){var Zf=document.createElement("div");Zf.setAttribute("oninput","return;"),Jr=typeof Zf.oninput=="function"}Zr=Jr}else Zr=!1;Kf=Zr&&(!document.documentMode||9<document.documentMode)}function Jf(){Ol&&(Ol.detachEvent("onpropertychange",Ff),Dl=Ol=null)}function Ff(e){if(e.propertyName==="value"&&Fs(Dl)){var t=[];Xf(t,Dl,e,Ur(e)),kf(dy,t)}}function hy(e,t,n){e==="focusin"?(Jf(),Ol=t,Dl=n,Ol.attachEvent("onpropertychange",Ff)):e==="focusout"&&Jf()}function my(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Fs(Dl)}function py(e,t){if(e==="click")return Fs(t)}function gy(e,t){if(e==="input"||e==="change")return Fs(t)}function yy(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Nt=typeof Object.is=="function"?Object.is:yy;function zl(e,t){if(Nt(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),l=Object.keys(t);if(n.length!==l.length)return!1;for(l=0;l<n.length;l++){var o=n[l];if(!Sl.call(t,o)||!Nt(e[o],t[o]))return!1}return!0}function If(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Wf(e,t){var n=If(e);e=0;for(var l;n;){if(n.nodeType===3){if(l=e+n.textContent.length,e<=t&&l>=t)return{node:n,offset:t-e};e=l}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=If(n)}}function Pf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Pf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ed(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Gs(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Gs(e.document)}return t}function Fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var vy=fn&&"documentMode"in document&&11>=document.documentMode,Ha=null,Ir=null,Bl=null,Wr=!1;function td(e,t,n){var l=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Wr||Ha==null||Ha!==Gs(l)||(l=Ha,"selectionStart"in l&&Fr(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),Bl&&zl(Bl,l)||(Bl=l,l=Li(Ir,"onSelect"),0<l.length&&(t=new Zs("onSelect","select",null,t,n),e.push({event:t,listeners:l}),t.target=Ha)))}function da(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Va={animationend:da("Animation","AnimationEnd"),animationiteration:da("Animation","AnimationIteration"),animationstart:da("Animation","AnimationStart"),transitionrun:da("Transition","TransitionRun"),transitionstart:da("Transition","TransitionStart"),transitioncancel:da("Transition","TransitionCancel"),transitionend:da("Transition","TransitionEnd")},Pr={},nd={};fn&&(nd=document.createElement("div").style,"AnimationEvent"in window||(delete Va.animationend.animation,delete Va.animationiteration.animation,delete Va.animationstart.animation),"TransitionEvent"in window||delete Va.transitionend.transition);function ha(e){if(Pr[e])return Pr[e];if(!Va[e])return e;var t=Va[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in nd)return Pr[e]=t[n];return e}var ad=ha("animationend"),ld=ha("animationiteration"),sd=ha("animationstart"),xy=ha("transitionrun"),by=ha("transitionstart"),Sy=ha("transitioncancel"),id=ha("transitionend"),rd=new Map,eo="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");eo.push("scrollEnd");function Xt(e,t){rd.set(e,t),ua(t,[e])}var Is=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},kt=[],Ya=0,to=0;function Ws(){for(var e=Ya,t=to=Ya=0;t<e;){var n=kt[t];kt[t++]=null;var l=kt[t];kt[t++]=null;var o=kt[t];kt[t++]=null;var u=kt[t];if(kt[t++]=null,l!==null&&o!==null){var h=l.pending;h===null?o.next=o:(o.next=h.next,h.next=o),l.pending=o}u!==0&&od(n,o,u)}}function Ps(e,t,n,l){kt[Ya++]=e,kt[Ya++]=t,kt[Ya++]=n,kt[Ya++]=l,to|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function no(e,t,n,l){return Ps(e,t,n,l),ei(e)}function ma(e,t){return Ps(e,null,null,t),ei(e)}function od(e,t,n){e.lanes|=n;var l=e.alternate;l!==null&&(l.lanes|=n);for(var o=!1,u=e.return;u!==null;)u.childLanes|=n,l=u.alternate,l!==null&&(l.childLanes|=n),u.tag===22&&(e=u.stateNode,e===null||e._visibility&1||(o=!0)),e=u,u=u.return;return e.tag===3?(u=e.stateNode,o&&t!==null&&(o=31-jt(n),e=u.hiddenUpdates,l=e[o],l===null?e[o]=[t]:l.push(t),t.lane=n|536870912),u):null}function ei(e){if(50<ss)throw ss=0,dc=null,Error(r(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Ga={};function Ay(e,t,n,l){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Et(e,t,n,l){return new Ay(e,t,n,l)}function ao(e){return e=e.prototype,!(!e||!e.isReactComponent)}function dn(e,t){var n=e.alternate;return n===null?(n=Et(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function cd(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ti(e,t,n,l,o,u){var h=0;if(l=e,typeof e=="function")ao(e)&&(h=1);else if(typeof e=="string")h=wv(e,n,Q.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case F:return e=Et(31,n,t,o),e.elementType=F,e.lanes=u,e;case C:return pa(n.children,o,u,t);case A:h=8,o|=24;break;case j:return e=Et(12,n,t,o|2),e.elementType=j,e.lanes=u,e;case Y:return e=Et(13,n,t,o),e.elementType=Y,e.lanes=u,e;case G:return e=Et(19,n,t,o),e.elementType=G,e.lanes=u,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case O:h=10;break e;case w:h=9;break e;case J:h=11;break e;case $:h=14;break e;case te:h=16,l=null;break e}h=29,n=Error(r(130,e===null?"null":typeof e,"")),l=null}return t=Et(h,n,t,o),t.elementType=e,t.type=l,t.lanes=u,t}function pa(e,t,n,l){return e=Et(7,e,l,t),e.lanes=n,e}function lo(e,t,n){return e=Et(6,e,null,t),e.lanes=n,e}function ud(e){var t=Et(18,null,null,0);return t.stateNode=e,t}function so(e,t,n){return t=Et(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var fd=new WeakMap;function Ot(e,t){if(typeof e=="object"&&e!==null){var n=fd.get(e);return n!==void 0?n:(t={value:e,source:t,stack:bl(t)},fd.set(e,t),t)}return{value:e,source:t,stack:bl(t)}}var Qa=[],Xa=0,ni=null,Ll=0,Dt=[],zt=0,Bn=null,Wt=1,Pt="";function hn(e,t){Qa[Xa++]=Ll,Qa[Xa++]=ni,ni=e,Ll=t}function dd(e,t,n){Dt[zt++]=Wt,Dt[zt++]=Pt,Dt[zt++]=Bn,Bn=e;var l=Wt;e=Pt;var o=32-jt(l)-1;l&=~(1<<o),n+=1;var u=32-jt(t)+o;if(30<u){var h=o-o%5;u=(l&(1<<h)-1).toString(32),l>>=h,o-=h,Wt=1<<32-jt(t)+o|n<<o|l,Pt=u+e}else Wt=1<<u|n<<o|l,Pt=e}function io(e){e.return!==null&&(hn(e,1),dd(e,1,0))}function ro(e){for(;e===ni;)ni=Qa[--Xa],Qa[Xa]=null,Ll=Qa[--Xa],Qa[Xa]=null;for(;e===Bn;)Bn=Dt[--zt],Dt[zt]=null,Pt=Dt[--zt],Dt[zt]=null,Wt=Dt[--zt],Dt[zt]=null}function hd(e,t){Dt[zt++]=Wt,Dt[zt++]=Pt,Dt[zt++]=Bn,Wt=t.id,Pt=t.overflow,Bn=e}var lt=null,Ue=null,Ae=!1,Ln=null,Bt=!1,oo=Error(r(519));function Un(e){var t=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Ul(Ot(t,e)),oo}function md(e){var t=e.stateNode,n=e.type,l=e.memoizedProps;switch(t[at]=e,t[mt]=l,n){case"dialog":xe("cancel",t),xe("close",t);break;case"iframe":case"object":case"embed":xe("load",t);break;case"video":case"audio":for(n=0;n<rs.length;n++)xe(rs[n],t);break;case"source":xe("error",t);break;case"img":case"image":case"link":xe("error",t),xe("load",t);break;case"details":xe("toggle",t);break;case"input":xe("invalid",t),wf(t,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":xe("invalid",t);break;case"textarea":xe("invalid",t),Tf(t,l.value,l.defaultValue,l.children)}n=l.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||l.suppressHydrationWarning===!0||Mm(t.textContent,n)?(l.popover!=null&&(xe("beforetoggle",t),xe("toggle",t)),l.onScroll!=null&&xe("scroll",t),l.onScrollEnd!=null&&xe("scrollend",t),l.onClick!=null&&(t.onclick=un),t=!0):t=!1,t||Un(e,!0)}function pd(e){for(lt=e.return;lt;)switch(lt.tag){case 5:case 31:case 13:Bt=!1;return;case 27:case 3:Bt=!0;return;default:lt=lt.return}}function $a(e){if(e!==lt)return!1;if(!Ae)return pd(e),Ae=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||wc(e.type,e.memoizedProps)),n=!n),n&&Ue&&Un(e),pd(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));Ue=Hm(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(317));Ue=Hm(e)}else t===27?(t=Ue,Pn(e.type)?(e=_c,_c=null,Ue=e):Ue=t):Ue=lt?Ut(e.stateNode.nextSibling):null;return!0}function ga(){Ue=lt=null,Ae=!1}function co(){var e=Ln;return e!==null&&(xt===null?xt=e:xt.push.apply(xt,e),Ln=null),e}function Ul(e){Ln===null?Ln=[e]:Ln.push(e)}var uo=T(null),ya=null,mn=null;function Hn(e,t,n){H(uo,t._currentValue),t._currentValue=n}function pn(e){e._currentValue=uo.current,B(uo)}function fo(e,t,n){for(;e!==null;){var l=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,l!==null&&(l.childLanes|=t)):l!==null&&(l.childLanes&t)!==t&&(l.childLanes|=t),e===n)break;e=e.return}}function ho(e,t,n,l){var o=e.child;for(o!==null&&(o.return=e);o!==null;){var u=o.dependencies;if(u!==null){var h=o.child;u=u.firstContext;e:for(;u!==null;){var x=u;u=o;for(var q=0;q<t.length;q++)if(x.context===t[q]){u.lanes|=n,x=u.alternate,x!==null&&(x.lanes|=n),fo(u.return,n,e),l||(h=null);break e}u=x.next}}else if(o.tag===18){if(h=o.return,h===null)throw Error(r(341));h.lanes|=n,u=h.alternate,u!==null&&(u.lanes|=n),fo(h,n,e),h=null}else h=o.child;if(h!==null)h.return=o;else for(h=o;h!==null;){if(h===e){h=null;break}if(o=h.sibling,o!==null){o.return=h.return,h=o;break}h=h.return}o=h}}function Ka(e,t,n,l){e=null;for(var o=t,u=!1;o!==null;){if(!u){if((o.flags&524288)!==0)u=!0;else if((o.flags&262144)!==0)break}if(o.tag===10){var h=o.alternate;if(h===null)throw Error(r(387));if(h=h.memoizedProps,h!==null){var x=o.type;Nt(o.pendingProps.value,h.value)||(e!==null?e.push(x):e=[x])}}else if(o===he.current){if(h=o.alternate,h===null)throw Error(r(387));h.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(ds):e=[ds])}o=o.return}e!==null&&ho(t,e,n,l),t.flags|=262144}function ai(e){for(e=e.firstContext;e!==null;){if(!Nt(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function va(e){ya=e,mn=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function st(e){return gd(ya,e)}function li(e,t){return ya===null&&va(e),gd(e,t)}function gd(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},mn===null){if(e===null)throw Error(r(308));mn=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else mn=mn.next=t;return n}var jy=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,l){e.push(l)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},Ny=a.unstable_scheduleCallback,Ey=a.unstable_NormalPriority,Ze={$$typeof:O,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function mo(){return{controller:new jy,data:new Map,refCount:0}}function Hl(e){e.refCount--,e.refCount===0&&Ny(Ey,function(){e.controller.abort()})}var Vl=null,po=0,Za=0,Ja=null;function qy(e,t){if(Vl===null){var n=Vl=[];po=0,Za=vc(),Ja={status:"pending",value:void 0,then:function(l){n.push(l)}}}return po++,t.then(yd,yd),t}function yd(){if(--po===0&&Vl!==null){Ja!==null&&(Ja.status="fulfilled");var e=Vl;Vl=null,Za=0,Ja=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function wy(e,t){var n=[],l={status:"pending",value:null,reason:null,then:function(o){n.push(o)}};return e.then(function(){l.status="fulfilled",l.value=t;for(var o=0;o<n.length;o++)(0,n[o])(t)},function(o){for(l.status="rejected",l.reason=o,o=0;o<n.length;o++)(0,n[o])(void 0)}),l}var vd=_.S;_.S=function(e,t){tm=ze(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&qy(e,t),vd!==null&&vd(e,t)};var xa=T(null);function go(){var e=xa.current;return e!==null?e:Be.pooledCache}function si(e,t){t===null?H(xa,xa.current):H(xa,t.pool)}function xd(){var e=go();return e===null?null:{parent:Ze._currentValue,pool:e}}var Fa=Error(r(460)),yo=Error(r(474)),ii=Error(r(542)),ri={then:function(){}};function bd(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Sd(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(un,un),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,jd(e),e;default:if(typeof t.status=="string")t.then(un,un);else{if(e=Be,e!==null&&100<e.shellSuspendCounter)throw Error(r(482));e=t,e.status="pending",e.then(function(l){if(t.status==="pending"){var o=t;o.status="fulfilled",o.value=l}},function(l){if(t.status==="pending"){var o=t;o.status="rejected",o.reason=l}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,jd(e),e}throw Sa=t,Fa}}function ba(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Sa=n,Fa):n}}var Sa=null;function Ad(){if(Sa===null)throw Error(r(459));var e=Sa;return Sa=null,e}function jd(e){if(e===Fa||e===ii)throw Error(r(483))}var Ia=null,Yl=0;function oi(e){var t=Yl;return Yl+=1,Ia===null&&(Ia=[]),Sd(Ia,e,t)}function Gl(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function ci(e,t){throw t.$$typeof===R?Error(r(525)):(e=Object.prototype.toString.call(t),Error(r(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Nd(e){function t(k,M){if(e){var D=k.deletions;D===null?(k.deletions=[M],k.flags|=16):D.push(M)}}function n(k,M){if(!e)return null;for(;M!==null;)t(k,M),M=M.sibling;return null}function l(k){for(var M=new Map;k!==null;)k.key!==null?M.set(k.key,k):M.set(k.index,k),k=k.sibling;return M}function o(k,M){return k=dn(k,M),k.index=0,k.sibling=null,k}function u(k,M,D){return k.index=D,e?(D=k.alternate,D!==null?(D=D.index,D<M?(k.flags|=67108866,M):D):(k.flags|=67108866,M)):(k.flags|=1048576,M)}function h(k){return e&&k.alternate===null&&(k.flags|=67108866),k}function x(k,M,D,K){return M===null||M.tag!==6?(M=lo(D,k.mode,K),M.return=k,M):(M=o(M,D),M.return=k,M)}function q(k,M,D,K){var ce=D.type;return ce===C?X(k,M,D.props.children,K,D.key):M!==null&&(M.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===te&&ba(ce)===M.type)?(M=o(M,D.props),Gl(M,D),M.return=k,M):(M=ti(D.type,D.key,D.props,null,k.mode,K),Gl(M,D),M.return=k,M)}function z(k,M,D,K){return M===null||M.tag!==4||M.stateNode.containerInfo!==D.containerInfo||M.stateNode.implementation!==D.implementation?(M=so(D,k.mode,K),M.return=k,M):(M=o(M,D.children||[]),M.return=k,M)}function X(k,M,D,K,ce){return M===null||M.tag!==7?(M=pa(D,k.mode,K,ce),M.return=k,M):(M=o(M,D),M.return=k,M)}function Z(k,M,D){if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return M=lo(""+M,k.mode,D),M.return=k,M;if(typeof M=="object"&&M!==null){switch(M.$$typeof){case N:return D=ti(M.type,M.key,M.props,null,k.mode,D),Gl(D,M),D.return=k,D;case E:return M=so(M,k.mode,D),M.return=k,M;case te:return M=ba(M),Z(k,M,D)}if(P(M)||re(M))return M=pa(M,k.mode,D,null),M.return=k,M;if(typeof M.then=="function")return Z(k,oi(M),D);if(M.$$typeof===O)return Z(k,li(k,M),D);ci(k,M)}return null}function L(k,M,D,K){var ce=M!==null?M.key:null;if(typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint")return ce!==null?null:x(k,M,""+D,K);if(typeof D=="object"&&D!==null){switch(D.$$typeof){case N:return D.key===ce?q(k,M,D,K):null;case E:return D.key===ce?z(k,M,D,K):null;case te:return D=ba(D),L(k,M,D,K)}if(P(D)||re(D))return ce!==null?null:X(k,M,D,K,null);if(typeof D.then=="function")return L(k,M,oi(D),K);if(D.$$typeof===O)return L(k,M,li(k,D),K);ci(k,D)}return null}function V(k,M,D,K,ce){if(typeof K=="string"&&K!==""||typeof K=="number"||typeof K=="bigint")return k=k.get(D)||null,x(M,k,""+K,ce);if(typeof K=="object"&&K!==null){switch(K.$$typeof){case N:return k=k.get(K.key===null?D:K.key)||null,q(M,k,K,ce);case E:return k=k.get(K.key===null?D:K.key)||null,z(M,k,K,ce);case te:return K=ba(K),V(k,M,D,K,ce)}if(P(K)||re(K))return k=k.get(D)||null,X(M,k,K,ce,null);if(typeof K.then=="function")return V(k,M,D,oi(K),ce);if(K.$$typeof===O)return V(k,M,D,li(M,K),ce);ci(M,K)}return null}function ie(k,M,D,K){for(var ce=null,Ee=null,oe=M,ge=M=0,Se=null;oe!==null&&ge<D.length;ge++){oe.index>ge?(Se=oe,oe=null):Se=oe.sibling;var qe=L(k,oe,D[ge],K);if(qe===null){oe===null&&(oe=Se);break}e&&oe&&qe.alternate===null&&t(k,oe),M=u(qe,M,ge),Ee===null?ce=qe:Ee.sibling=qe,Ee=qe,oe=Se}if(ge===D.length)return n(k,oe),Ae&&hn(k,ge),ce;if(oe===null){for(;ge<D.length;ge++)oe=Z(k,D[ge],K),oe!==null&&(M=u(oe,M,ge),Ee===null?ce=oe:Ee.sibling=oe,Ee=oe);return Ae&&hn(k,ge),ce}for(oe=l(oe);ge<D.length;ge++)Se=V(oe,k,ge,D[ge],K),Se!==null&&(e&&Se.alternate!==null&&oe.delete(Se.key===null?ge:Se.key),M=u(Se,M,ge),Ee===null?ce=Se:Ee.sibling=Se,Ee=Se);return e&&oe.forEach(function(la){return t(k,la)}),Ae&&hn(k,ge),ce}function ue(k,M,D,K){if(D==null)throw Error(r(151));for(var ce=null,Ee=null,oe=M,ge=M=0,Se=null,qe=D.next();oe!==null&&!qe.done;ge++,qe=D.next()){oe.index>ge?(Se=oe,oe=null):Se=oe.sibling;var la=L(k,oe,qe.value,K);if(la===null){oe===null&&(oe=Se);break}e&&oe&&la.alternate===null&&t(k,oe),M=u(la,M,ge),Ee===null?ce=la:Ee.sibling=la,Ee=la,oe=Se}if(qe.done)return n(k,oe),Ae&&hn(k,ge),ce;if(oe===null){for(;!qe.done;ge++,qe=D.next())qe=Z(k,qe.value,K),qe!==null&&(M=u(qe,M,ge),Ee===null?ce=qe:Ee.sibling=qe,Ee=qe);return Ae&&hn(k,ge),ce}for(oe=l(oe);!qe.done;ge++,qe=D.next())qe=V(oe,k,ge,qe.value,K),qe!==null&&(e&&qe.alternate!==null&&oe.delete(qe.key===null?ge:qe.key),M=u(qe,M,ge),Ee===null?ce=qe:Ee.sibling=qe,Ee=qe);return e&&oe.forEach(function(Lv){return t(k,Lv)}),Ae&&hn(k,ge),ce}function Oe(k,M,D,K){if(typeof D=="object"&&D!==null&&D.type===C&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case N:e:{for(var ce=D.key;M!==null;){if(M.key===ce){if(ce=D.type,ce===C){if(M.tag===7){n(k,M.sibling),K=o(M,D.props.children),K.return=k,k=K;break e}}else if(M.elementType===ce||typeof ce=="object"&&ce!==null&&ce.$$typeof===te&&ba(ce)===M.type){n(k,M.sibling),K=o(M,D.props),Gl(K,D),K.return=k,k=K;break e}n(k,M);break}else t(k,M);M=M.sibling}D.type===C?(K=pa(D.props.children,k.mode,K,D.key),K.return=k,k=K):(K=ti(D.type,D.key,D.props,null,k.mode,K),Gl(K,D),K.return=k,k=K)}return h(k);case E:e:{for(ce=D.key;M!==null;){if(M.key===ce)if(M.tag===4&&M.stateNode.containerInfo===D.containerInfo&&M.stateNode.implementation===D.implementation){n(k,M.sibling),K=o(M,D.children||[]),K.return=k,k=K;break e}else{n(k,M);break}else t(k,M);M=M.sibling}K=so(D,k.mode,K),K.return=k,k=K}return h(k);case te:return D=ba(D),Oe(k,M,D,K)}if(P(D))return ie(k,M,D,K);if(re(D)){if(ce=re(D),typeof ce!="function")throw Error(r(150));return D=ce.call(D),ue(k,M,D,K)}if(typeof D.then=="function")return Oe(k,M,oi(D),K);if(D.$$typeof===O)return Oe(k,M,li(k,D),K);ci(k,D)}return typeof D=="string"&&D!==""||typeof D=="number"||typeof D=="bigint"?(D=""+D,M!==null&&M.tag===6?(n(k,M.sibling),K=o(M,D),K.return=k,k=K):(n(k,M),K=lo(D,k.mode,K),K.return=k,k=K),h(k)):n(k,M)}return function(k,M,D,K){try{Yl=0;var ce=Oe(k,M,D,K);return Ia=null,ce}catch(oe){if(oe===Fa||oe===ii)throw oe;var Ee=Et(29,oe,null,k.mode);return Ee.lanes=K,Ee.return=k,Ee}finally{}}}var Aa=Nd(!0),Ed=Nd(!1),Vn=!1;function vo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function xo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Yn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Gn(e,t,n){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(we&2)!==0){var o=l.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),l.pending=t,t=ei(e),od(e,null,n),t}return Ps(e,l,t,n),ei(e)}function Ql(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,gf(e,n)}}function bo(e,t){var n=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,n===l)){var o=null,u=null;if(n=n.firstBaseUpdate,n!==null){do{var h={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};u===null?o=u=h:u=u.next=h,n=n.next}while(n!==null);u===null?o=u=t:u=u.next=t}else o=u=t;n={baseState:l.baseState,firstBaseUpdate:o,lastBaseUpdate:u,shared:l.shared,callbacks:l.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var So=!1;function Xl(){if(So){var e=Ja;if(e!==null)throw e}}function $l(e,t,n,l){So=!1;var o=e.updateQueue;Vn=!1;var u=o.firstBaseUpdate,h=o.lastBaseUpdate,x=o.shared.pending;if(x!==null){o.shared.pending=null;var q=x,z=q.next;q.next=null,h===null?u=z:h.next=z,h=q;var X=e.alternate;X!==null&&(X=X.updateQueue,x=X.lastBaseUpdate,x!==h&&(x===null?X.firstBaseUpdate=z:x.next=z,X.lastBaseUpdate=q))}if(u!==null){var Z=o.baseState;h=0,X=z=q=null,x=u;do{var L=x.lane&-536870913,V=L!==x.lane;if(V?(be&L)===L:(l&L)===L){L!==0&&L===Za&&(So=!0),X!==null&&(X=X.next={lane:0,tag:x.tag,payload:x.payload,callback:null,next:null});e:{var ie=e,ue=x;L=t;var Oe=n;switch(ue.tag){case 1:if(ie=ue.payload,typeof ie=="function"){Z=ie.call(Oe,Z,L);break e}Z=ie;break e;case 3:ie.flags=ie.flags&-65537|128;case 0:if(ie=ue.payload,L=typeof ie=="function"?ie.call(Oe,Z,L):ie,L==null)break e;Z=b({},Z,L);break e;case 2:Vn=!0}}L=x.callback,L!==null&&(e.flags|=64,V&&(e.flags|=8192),V=o.callbacks,V===null?o.callbacks=[L]:V.push(L))}else V={lane:L,tag:x.tag,payload:x.payload,callback:x.callback,next:null},X===null?(z=X=V,q=Z):X=X.next=V,h|=L;if(x=x.next,x===null){if(x=o.shared.pending,x===null)break;V=x,x=V.next,V.next=null,o.lastBaseUpdate=V,o.shared.pending=null}}while(!0);X===null&&(q=Z),o.baseState=q,o.firstBaseUpdate=z,o.lastBaseUpdate=X,u===null&&(o.shared.lanes=0),Zn|=h,e.lanes=h,e.memoizedState=Z}}function qd(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function wd(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)qd(n[e],t)}var Wa=T(null),ui=T(0);function Cd(e,t){e=Nn,H(ui,e),H(Wa,t),Nn=e|t.baseLanes}function Ao(){H(ui,Nn),H(Wa,Wa.current)}function jo(){Nn=ui.current,B(Wa),B(ui)}var qt=T(null),Lt=null;function Qn(e){var t=e.alternate;H($e,$e.current&1),H(qt,e),Lt===null&&(t===null||Wa.current!==null||t.memoizedState!==null)&&(Lt=e)}function No(e){H($e,$e.current),H(qt,e),Lt===null&&(Lt=e)}function Td(e){e.tag===22?(H($e,$e.current),H(qt,e),Lt===null&&(Lt=e)):Xn()}function Xn(){H($e,$e.current),H(qt,qt.current)}function wt(e){B(qt),Lt===e&&(Lt=null),B($e)}var $e=T(0);function fi(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||Rc(n)||Mc(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var gn=0,pe=null,_e=null,Je=null,di=!1,Pa=!1,ja=!1,hi=0,Kl=0,el=null,Cy=0;function Ge(){throw Error(r(321))}function Eo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Nt(e[n],t[n]))return!1;return!0}function qo(e,t,n,l,o,u){return gn=u,pe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,_.H=e===null||e.memoizedState===null?dh:Vo,ja=!1,u=n(l,o),ja=!1,Pa&&(u=Md(t,n,l,o)),Rd(e),u}function Rd(e){_.H=Fl;var t=_e!==null&&_e.next!==null;if(gn=0,Je=_e=pe=null,di=!1,Kl=0,el=null,t)throw Error(r(300));e===null||Fe||(e=e.dependencies,e!==null&&ai(e)&&(Fe=!0))}function Md(e,t,n,l){pe=e;var o=0;do{if(Pa&&(el=null),Kl=0,Pa=!1,25<=o)throw Error(r(301));if(o+=1,Je=_e=null,e.updateQueue!=null){var u=e.updateQueue;u.lastEffect=null,u.events=null,u.stores=null,u.memoCache!=null&&(u.memoCache.index=0)}_.H=hh,u=t(n,l)}while(Pa);return u}function Ty(){var e=_.H,t=e.useState()[0];return t=typeof t.then=="function"?Zl(t):t,e=e.useState()[0],(_e!==null?_e.memoizedState:null)!==e&&(pe.flags|=1024),t}function wo(){var e=hi!==0;return hi=0,e}function Co(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function To(e){if(di){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}di=!1}gn=0,Je=_e=pe=null,Pa=!1,Kl=hi=0,el=null}function ft(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Je===null?pe.memoizedState=Je=e:Je=Je.next=e,Je}function Ke(){if(_e===null){var e=pe.alternate;e=e!==null?e.memoizedState:null}else e=_e.next;var t=Je===null?pe.memoizedState:Je.next;if(t!==null)Je=t,_e=e;else{if(e===null)throw pe.alternate===null?Error(r(467)):Error(r(310));_e=e,e={memoizedState:_e.memoizedState,baseState:_e.baseState,baseQueue:_e.baseQueue,queue:_e.queue,next:null},Je===null?pe.memoizedState=Je=e:Je=Je.next=e}return Je}function mi(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Zl(e){var t=Kl;return Kl+=1,el===null&&(el=[]),e=Sd(el,e,t),t=pe,(Je===null?t.memoizedState:Je.next)===null&&(t=t.alternate,_.H=t===null||t.memoizedState===null?dh:Vo),e}function pi(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Zl(e);if(e.$$typeof===O)return st(e)}throw Error(r(438,String(e)))}function Ro(e){var t=null,n=pe.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var l=pe.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(t={data:l.data.map(function(o){return o.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=mi(),pe.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),l=0;l<e;l++)n[l]=ne;return t.index++,n}function yn(e,t){return typeof t=="function"?t(e):t}function gi(e){var t=Ke();return Mo(t,_e,e)}function Mo(e,t,n){var l=e.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=n;var o=e.baseQueue,u=l.pending;if(u!==null){if(o!==null){var h=o.next;o.next=u.next,u.next=h}t.baseQueue=o=u,l.pending=null}if(u=e.baseState,o===null)e.memoizedState=u;else{t=o.next;var x=h=null,q=null,z=t,X=!1;do{var Z=z.lane&-536870913;if(Z!==z.lane?(be&Z)===Z:(gn&Z)===Z){var L=z.revertLane;if(L===0)q!==null&&(q=q.next={lane:0,revertLane:0,gesture:null,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null}),Z===Za&&(X=!0);else if((gn&L)===L){z=z.next,L===Za&&(X=!0);continue}else Z={lane:0,revertLane:z.revertLane,gesture:null,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null},q===null?(x=q=Z,h=u):q=q.next=Z,pe.lanes|=L,Zn|=L;Z=z.action,ja&&n(u,Z),u=z.hasEagerState?z.eagerState:n(u,Z)}else L={lane:Z,revertLane:z.revertLane,gesture:z.gesture,action:z.action,hasEagerState:z.hasEagerState,eagerState:z.eagerState,next:null},q===null?(x=q=L,h=u):q=q.next=L,pe.lanes|=Z,Zn|=Z;z=z.next}while(z!==null&&z!==t);if(q===null?h=u:q.next=x,!Nt(u,e.memoizedState)&&(Fe=!0,X&&(n=Ja,n!==null)))throw n;e.memoizedState=u,e.baseState=h,e.baseQueue=q,l.lastRenderedState=u}return o===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function _o(e){var t=Ke(),n=t.queue;if(n===null)throw Error(r(311));n.lastRenderedReducer=e;var l=n.dispatch,o=n.pending,u=t.memoizedState;if(o!==null){n.pending=null;var h=o=o.next;do u=e(u,h.action),h=h.next;while(h!==o);Nt(u,t.memoizedState)||(Fe=!0),t.memoizedState=u,t.baseQueue===null&&(t.baseState=u),n.lastRenderedState=u}return[u,l]}function _d(e,t,n){var l=pe,o=Ke(),u=Ae;if(u){if(n===void 0)throw Error(r(407));n=n()}else n=t();var h=!Nt((_e||o).memoizedState,n);if(h&&(o.memoizedState=n,Fe=!0),o=o.queue,Do(Dd.bind(null,l,o,e),[e]),o.getSnapshot!==t||h||Je!==null&&Je.memoizedState.tag&1){if(l.flags|=2048,tl(9,{destroy:void 0},Od.bind(null,l,o,n,t),null),Be===null)throw Error(r(349));u||(gn&127)!==0||kd(l,t,n)}return n}function kd(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=pe.updateQueue,t===null?(t=mi(),pe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Od(e,t,n,l){t.value=n,t.getSnapshot=l,zd(t)&&Bd(e)}function Dd(e,t,n){return n(function(){zd(t)&&Bd(e)})}function zd(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Nt(e,n)}catch{return!0}}function Bd(e){var t=ma(e,2);t!==null&&bt(t,e,2)}function ko(e){var t=ft();if(typeof e=="function"){var n=e;if(e=n(),ja){On(!0);try{n()}finally{On(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:yn,lastRenderedState:e},t}function Ld(e,t,n,l){return e.baseState=n,Mo(e,_e,typeof l=="function"?l:yn)}function Ry(e,t,n,l,o){if(xi(e))throw Error(r(485));if(e=t.action,e!==null){var u={payload:o,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(h){u.listeners.push(h)}};_.T!==null?n(!0):u.isTransition=!1,l(u),n=t.pending,n===null?(u.next=t.pending=u,Ud(t,u)):(u.next=n.next,t.pending=n.next=u)}}function Ud(e,t){var n=t.action,l=t.payload,o=e.state;if(t.isTransition){var u=_.T,h={};_.T=h;try{var x=n(o,l),q=_.S;q!==null&&q(h,x),Hd(e,t,x)}catch(z){Oo(e,t,z)}finally{u!==null&&h.types!==null&&(u.types=h.types),_.T=u}}else try{u=n(o,l),Hd(e,t,u)}catch(z){Oo(e,t,z)}}function Hd(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(l){Vd(e,t,l)},function(l){return Oo(e,t,l)}):Vd(e,t,n)}function Vd(e,t,n){t.status="fulfilled",t.value=n,Yd(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Ud(e,n)))}function Oo(e,t,n){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do t.status="rejected",t.reason=n,Yd(t),t=t.next;while(t!==l)}e.action=null}function Yd(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Gd(e,t){return t}function Qd(e,t){if(Ae){var n=Be.formState;if(n!==null){e:{var l=pe;if(Ae){if(Ue){t:{for(var o=Ue,u=Bt;o.nodeType!==8;){if(!u){o=null;break t}if(o=Ut(o.nextSibling),o===null){o=null;break t}}u=o.data,o=u==="F!"||u==="F"?o:null}if(o){Ue=Ut(o.nextSibling),l=o.data==="F!";break e}}Un(l)}l=!1}l&&(t=n[0])}}return n=ft(),n.memoizedState=n.baseState=t,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gd,lastRenderedState:t},n.queue=l,n=ch.bind(null,pe,l),l.dispatch=n,l=ko(!1),u=Ho.bind(null,pe,!1,l.queue),l=ft(),o={state:t,dispatch:null,action:e,pending:null},l.queue=o,n=Ry.bind(null,pe,o,u,n),o.dispatch=n,l.memoizedState=e,[t,n,!1]}function Xd(e){var t=Ke();return $d(t,_e,e)}function $d(e,t,n){if(t=Mo(e,t,Gd)[0],e=gi(yn)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var l=Zl(t)}catch(h){throw h===Fa?ii:h}else l=t;t=Ke();var o=t.queue,u=o.dispatch;return n!==t.memoizedState&&(pe.flags|=2048,tl(9,{destroy:void 0},My.bind(null,o,n),null)),[l,u,e]}function My(e,t){e.action=t}function Kd(e){var t=Ke(),n=_e;if(n!==null)return $d(t,n,e);Ke(),t=t.memoizedState,n=Ke();var l=n.queue.dispatch;return n.memoizedState=e,[t,l,!1]}function tl(e,t,n,l){return e={tag:e,create:n,deps:l,inst:t,next:null},t=pe.updateQueue,t===null&&(t=mi(),pe.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(l=n.next,n.next=e,e.next=l,t.lastEffect=e),e}function Zd(){return Ke().memoizedState}function yi(e,t,n,l){var o=ft();pe.flags|=e,o.memoizedState=tl(1|t,{destroy:void 0},n,l===void 0?null:l)}function vi(e,t,n,l){var o=Ke();l=l===void 0?null:l;var u=o.memoizedState.inst;_e!==null&&l!==null&&Eo(l,_e.memoizedState.deps)?o.memoizedState=tl(t,u,n,l):(pe.flags|=e,o.memoizedState=tl(1|t,u,n,l))}function Jd(e,t){yi(8390656,8,e,t)}function Do(e,t){vi(2048,8,e,t)}function _y(e){pe.flags|=4;var t=pe.updateQueue;if(t===null)t=mi(),pe.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Fd(e){var t=Ke().memoizedState;return _y({ref:t,nextImpl:e}),function(){if((we&2)!==0)throw Error(r(440));return t.impl.apply(void 0,arguments)}}function Id(e,t){return vi(4,2,e,t)}function Wd(e,t){return vi(4,4,e,t)}function Pd(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function eh(e,t,n){n=n!=null?n.concat([e]):null,vi(4,4,Pd.bind(null,t,e),n)}function zo(){}function th(e,t){var n=Ke();t=t===void 0?null:t;var l=n.memoizedState;return t!==null&&Eo(t,l[1])?l[0]:(n.memoizedState=[e,t],e)}function nh(e,t){var n=Ke();t=t===void 0?null:t;var l=n.memoizedState;if(t!==null&&Eo(t,l[1]))return l[0];if(l=e(),ja){On(!0);try{e()}finally{On(!1)}}return n.memoizedState=[l,t],l}function Bo(e,t,n){return n===void 0||(gn&1073741824)!==0&&(be&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=am(),pe.lanes|=e,Zn|=e,n)}function ah(e,t,n,l){return Nt(n,t)?n:Wa.current!==null?(e=Bo(e,n,l),Nt(e,t)||(Fe=!0),e):(gn&42)===0||(gn&1073741824)!==0&&(be&261930)===0?(Fe=!0,e.memoizedState=n):(e=am(),pe.lanes|=e,Zn|=e,t)}function lh(e,t,n,l,o){var u=U.p;U.p=u!==0&&8>u?u:8;var h=_.T,x={};_.T=x,Ho(e,!1,t,n);try{var q=o(),z=_.S;if(z!==null&&z(x,q),q!==null&&typeof q=="object"&&typeof q.then=="function"){var X=wy(q,l);Jl(e,t,X,Rt(e))}else Jl(e,t,l,Rt(e))}catch(Z){Jl(e,t,{then:function(){},status:"rejected",reason:Z},Rt())}finally{U.p=u,h!==null&&x.types!==null&&(h.types=x.types),_.T=h}}function ky(){}function Lo(e,t,n,l){if(e.tag!==5)throw Error(r(476));var o=sh(e).queue;lh(e,o,t,W,n===null?ky:function(){return ih(e),n(l)})}function sh(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:W,baseState:W,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:yn,lastRenderedState:W},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:yn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ih(e){var t=sh(e);t.next===null&&(t=e.alternate.memoizedState),Jl(e,t.next.queue,{},Rt())}function Uo(){return st(ds)}function rh(){return Ke().memoizedState}function oh(){return Ke().memoizedState}function Oy(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Rt();e=Yn(n);var l=Gn(t,e,n);l!==null&&(bt(l,t,n),Ql(l,t,n)),t={cache:mo()},e.payload=t;return}t=t.return}}function Dy(e,t,n){var l=Rt();n={lane:l,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},xi(e)?uh(t,n):(n=no(e,t,n,l),n!==null&&(bt(n,e,l),fh(n,t,l)))}function ch(e,t,n){var l=Rt();Jl(e,t,n,l)}function Jl(e,t,n,l){var o={lane:l,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(xi(e))uh(t,o);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var h=t.lastRenderedState,x=u(h,n);if(o.hasEagerState=!0,o.eagerState=x,Nt(x,h))return Ps(e,t,o,0),Be===null&&Ws(),!1}catch{}finally{}if(n=no(e,t,o,l),n!==null)return bt(n,e,l),fh(n,t,l),!0}return!1}function Ho(e,t,n,l){if(l={lane:2,revertLane:vc(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},xi(e)){if(t)throw Error(r(479))}else t=no(e,n,l,2),t!==null&&bt(t,e,2)}function xi(e){var t=e.alternate;return e===pe||t!==null&&t===pe}function uh(e,t){Pa=di=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function fh(e,t,n){if((n&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,n|=l,t.lanes=n,gf(e,n)}}var Fl={readContext:st,use:pi,useCallback:Ge,useContext:Ge,useEffect:Ge,useImperativeHandle:Ge,useLayoutEffect:Ge,useInsertionEffect:Ge,useMemo:Ge,useReducer:Ge,useRef:Ge,useState:Ge,useDebugValue:Ge,useDeferredValue:Ge,useTransition:Ge,useSyncExternalStore:Ge,useId:Ge,useHostTransitionStatus:Ge,useFormState:Ge,useActionState:Ge,useOptimistic:Ge,useMemoCache:Ge,useCacheRefresh:Ge};Fl.useEffectEvent=Ge;var dh={readContext:st,use:pi,useCallback:function(e,t){return ft().memoizedState=[e,t===void 0?null:t],e},useContext:st,useEffect:Jd,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,yi(4194308,4,Pd.bind(null,t,e),n)},useLayoutEffect:function(e,t){return yi(4194308,4,e,t)},useInsertionEffect:function(e,t){yi(4,2,e,t)},useMemo:function(e,t){var n=ft();t=t===void 0?null:t;var l=e();if(ja){On(!0);try{e()}finally{On(!1)}}return n.memoizedState=[l,t],l},useReducer:function(e,t,n){var l=ft();if(n!==void 0){var o=n(t);if(ja){On(!0);try{n(t)}finally{On(!1)}}}else o=t;return l.memoizedState=l.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},l.queue=e,e=e.dispatch=Dy.bind(null,pe,e),[l.memoizedState,e]},useRef:function(e){var t=ft();return e={current:e},t.memoizedState=e},useState:function(e){e=ko(e);var t=e.queue,n=ch.bind(null,pe,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:zo,useDeferredValue:function(e,t){var n=ft();return Bo(n,e,t)},useTransition:function(){var e=ko(!1);return e=lh.bind(null,pe,e.queue,!0,!1),ft().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var l=pe,o=ft();if(Ae){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),Be===null)throw Error(r(349));(be&127)!==0||kd(l,t,n)}o.memoizedState=n;var u={value:n,getSnapshot:t};return o.queue=u,Jd(Dd.bind(null,l,u,e),[e]),l.flags|=2048,tl(9,{destroy:void 0},Od.bind(null,l,u,n,t),null),n},useId:function(){var e=ft(),t=Be.identifierPrefix;if(Ae){var n=Pt,l=Wt;n=(l&~(1<<32-jt(l)-1)).toString(32)+n,t="_"+t+"R_"+n,n=hi++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=Cy++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Uo,useFormState:Qd,useActionState:Qd,useOptimistic:function(e){var t=ft();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Ho.bind(null,pe,!0,n),n.dispatch=t,[e,t]},useMemoCache:Ro,useCacheRefresh:function(){return ft().memoizedState=Oy.bind(null,pe)},useEffectEvent:function(e){var t=ft(),n={impl:e};return t.memoizedState=n,function(){if((we&2)!==0)throw Error(r(440));return n.impl.apply(void 0,arguments)}}},Vo={readContext:st,use:pi,useCallback:th,useContext:st,useEffect:Do,useImperativeHandle:eh,useInsertionEffect:Id,useLayoutEffect:Wd,useMemo:nh,useReducer:gi,useRef:Zd,useState:function(){return gi(yn)},useDebugValue:zo,useDeferredValue:function(e,t){var n=Ke();return ah(n,_e.memoizedState,e,t)},useTransition:function(){var e=gi(yn)[0],t=Ke().memoizedState;return[typeof e=="boolean"?e:Zl(e),t]},useSyncExternalStore:_d,useId:rh,useHostTransitionStatus:Uo,useFormState:Xd,useActionState:Xd,useOptimistic:function(e,t){var n=Ke();return Ld(n,_e,e,t)},useMemoCache:Ro,useCacheRefresh:oh};Vo.useEffectEvent=Fd;var hh={readContext:st,use:pi,useCallback:th,useContext:st,useEffect:Do,useImperativeHandle:eh,useInsertionEffect:Id,useLayoutEffect:Wd,useMemo:nh,useReducer:_o,useRef:Zd,useState:function(){return _o(yn)},useDebugValue:zo,useDeferredValue:function(e,t){var n=Ke();return _e===null?Bo(n,e,t):ah(n,_e.memoizedState,e,t)},useTransition:function(){var e=_o(yn)[0],t=Ke().memoizedState;return[typeof e=="boolean"?e:Zl(e),t]},useSyncExternalStore:_d,useId:rh,useHostTransitionStatus:Uo,useFormState:Kd,useActionState:Kd,useOptimistic:function(e,t){var n=Ke();return _e!==null?Ld(n,_e,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Ro,useCacheRefresh:oh};hh.useEffectEvent=Fd;function Yo(e,t,n,l){t=e.memoizedState,n=n(l,t),n=n==null?t:b({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Go={enqueueSetState:function(e,t,n){e=e._reactInternals;var l=Rt(),o=Yn(l);o.payload=t,n!=null&&(o.callback=n),t=Gn(e,o,l),t!==null&&(bt(t,e,l),Ql(t,e,l))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var l=Rt(),o=Yn(l);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=Gn(e,o,l),t!==null&&(bt(t,e,l),Ql(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Rt(),l=Yn(n);l.tag=2,t!=null&&(l.callback=t),t=Gn(e,l,n),t!==null&&(bt(t,e,n),Ql(t,e,n))}};function mh(e,t,n,l,o,u,h){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,u,h):t.prototype&&t.prototype.isPureReactComponent?!zl(n,l)||!zl(o,u):!0}function ph(e,t,n,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,l),t.state!==e&&Go.enqueueReplaceState(t,t.state,null)}function Na(e,t){var n=t;if("ref"in t){n={};for(var l in t)l!=="ref"&&(n[l]=t[l])}if(e=e.defaultProps){n===t&&(n=b({},n));for(var o in e)n[o]===void 0&&(n[o]=e[o])}return n}function gh(e){Is(e)}function yh(e){console.error(e)}function vh(e){Is(e)}function bi(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(l){setTimeout(function(){throw l})}}function xh(e,t,n){try{var l=e.onCaughtError;l(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function Qo(e,t,n){return n=Yn(n),n.tag=3,n.payload={element:null},n.callback=function(){bi(e,t)},n}function bh(e){return e=Yn(e),e.tag=3,e}function Sh(e,t,n,l){var o=n.type.getDerivedStateFromError;if(typeof o=="function"){var u=l.value;e.payload=function(){return o(u)},e.callback=function(){xh(t,n,l)}}var h=n.stateNode;h!==null&&typeof h.componentDidCatch=="function"&&(e.callback=function(){xh(t,n,l),typeof o!="function"&&(Jn===null?Jn=new Set([this]):Jn.add(this));var x=l.stack;this.componentDidCatch(l.value,{componentStack:x!==null?x:""})})}function zy(e,t,n,l,o){if(n.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(t=n.alternate,t!==null&&Ka(t,n,o,!0),n=qt.current,n!==null){switch(n.tag){case 31:case 13:return Lt===null?_i():n.alternate===null&&Qe===0&&(Qe=3),n.flags&=-257,n.flags|=65536,n.lanes=o,l===ri?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([l]):t.add(l),pc(e,l,o)),!1;case 22:return n.flags|=65536,l===ri?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([l])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([l]):n.add(l)),pc(e,l,o)),!1}throw Error(r(435,n.tag))}return pc(e,l,o),_i(),!1}if(Ae)return t=qt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,l!==oo&&(e=Error(r(422),{cause:l}),Ul(Ot(e,n)))):(l!==oo&&(t=Error(r(423),{cause:l}),Ul(Ot(t,n))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,l=Ot(l,n),o=Qo(e.stateNode,l,o),bo(e,o),Qe!==4&&(Qe=2)),!1;var u=Error(r(520),{cause:l});if(u=Ot(u,n),ls===null?ls=[u]:ls.push(u),Qe!==4&&(Qe=2),t===null)return!0;l=Ot(l,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=o&-o,n.lanes|=e,e=Qo(n.stateNode,l,e),bo(n,e),!1;case 1:if(t=n.type,u=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||u!==null&&typeof u.componentDidCatch=="function"&&(Jn===null||!Jn.has(u))))return n.flags|=65536,o&=-o,n.lanes|=o,o=bh(o),Sh(o,e,n,l),bo(n,o),!1}n=n.return}while(n!==null);return!1}var Xo=Error(r(461)),Fe=!1;function it(e,t,n,l){t.child=e===null?Ed(t,null,n,l):Aa(t,e.child,n,l)}function Ah(e,t,n,l,o){n=n.render;var u=t.ref;if("ref"in l){var h={};for(var x in l)x!=="ref"&&(h[x]=l[x])}else h=l;return va(t),l=qo(e,t,n,h,u,o),x=wo(),e!==null&&!Fe?(Co(e,t,o),vn(e,t,o)):(Ae&&x&&io(t),t.flags|=1,it(e,t,l,o),t.child)}function jh(e,t,n,l,o){if(e===null){var u=n.type;return typeof u=="function"&&!ao(u)&&u.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=u,Nh(e,t,u,l,o)):(e=ti(n.type,null,l,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(u=e.child,!Po(e,o)){var h=u.memoizedProps;if(n=n.compare,n=n!==null?n:zl,n(h,l)&&e.ref===t.ref)return vn(e,t,o)}return t.flags|=1,e=dn(u,l),e.ref=t.ref,e.return=t,t.child=e}function Nh(e,t,n,l,o){if(e!==null){var u=e.memoizedProps;if(zl(u,l)&&e.ref===t.ref)if(Fe=!1,t.pendingProps=l=u,Po(e,o))(e.flags&131072)!==0&&(Fe=!0);else return t.lanes=e.lanes,vn(e,t,o)}return $o(e,t,n,l,o)}function Eh(e,t,n,l){var o=l.children,u=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((t.flags&128)!==0){if(u=u!==null?u.baseLanes|n:n,e!==null){for(l=t.child=e.child,o=0;l!==null;)o=o|l.lanes|l.childLanes,l=l.sibling;l=o&~u}else l=0,t.child=null;return qh(e,t,u,n,l)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&si(t,u!==null?u.cachePool:null),u!==null?Cd(t,u):Ao(),Td(t);else return l=t.lanes=536870912,qh(e,t,u!==null?u.baseLanes|n:n,n,l)}else u!==null?(si(t,u.cachePool),Cd(t,u),Xn(),t.memoizedState=null):(e!==null&&si(t,null),Ao(),Xn());return it(e,t,o,n),t.child}function Il(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function qh(e,t,n,l,o){var u=go();return u=u===null?null:{parent:Ze._currentValue,pool:u},t.memoizedState={baseLanes:n,cachePool:u},e!==null&&si(t,null),Ao(),Td(t),e!==null&&Ka(e,t,l,!0),t.childLanes=o,null}function Si(e,t){return t=ji({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function wh(e,t,n){return Aa(t,e.child,null,n),e=Si(t,t.pendingProps),e.flags|=2,wt(t),t.memoizedState=null,e}function By(e,t,n){var l=t.pendingProps,o=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Ae){if(l.mode==="hidden")return e=Si(t,l),t.lanes=536870912,Il(null,e);if(No(t),(e=Ue)?(e=Um(e,Bt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Bn!==null?{id:Wt,overflow:Pt}:null,retryLane:536870912,hydrationErrors:null},n=ud(e),n.return=t,t.child=n,lt=t,Ue=null)):e=null,e===null)throw Un(t);return t.lanes=536870912,null}return Si(t,l)}var u=e.memoizedState;if(u!==null){var h=u.dehydrated;if(No(t),o)if(t.flags&256)t.flags&=-257,t=wh(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(r(558));else if(Fe||Ka(e,t,n,!1),o=(n&e.childLanes)!==0,Fe||o){if(l=Be,l!==null&&(h=yf(l,n),h!==0&&h!==u.retryLane))throw u.retryLane=h,ma(e,h),bt(l,e,h),Xo;_i(),t=wh(e,t,n)}else e=u.treeContext,Ue=Ut(h.nextSibling),lt=t,Ae=!0,Ln=null,Bt=!1,e!==null&&hd(t,e),t=Si(t,l),t.flags|=4096;return t}return e=dn(e.child,{mode:l.mode,children:l.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ai(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(r(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function $o(e,t,n,l,o){return va(t),n=qo(e,t,n,l,void 0,o),l=wo(),e!==null&&!Fe?(Co(e,t,o),vn(e,t,o)):(Ae&&l&&io(t),t.flags|=1,it(e,t,n,o),t.child)}function Ch(e,t,n,l,o,u){return va(t),t.updateQueue=null,n=Md(t,l,n,o),Rd(e),l=wo(),e!==null&&!Fe?(Co(e,t,u),vn(e,t,u)):(Ae&&l&&io(t),t.flags|=1,it(e,t,n,u),t.child)}function Th(e,t,n,l,o){if(va(t),t.stateNode===null){var u=Ga,h=n.contextType;typeof h=="object"&&h!==null&&(u=st(h)),u=new n(l,u),t.memoizedState=u.state!==null&&u.state!==void 0?u.state:null,u.updater=Go,t.stateNode=u,u._reactInternals=t,u=t.stateNode,u.props=l,u.state=t.memoizedState,u.refs={},vo(t),h=n.contextType,u.context=typeof h=="object"&&h!==null?st(h):Ga,u.state=t.memoizedState,h=n.getDerivedStateFromProps,typeof h=="function"&&(Yo(t,n,h,l),u.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof u.getSnapshotBeforeUpdate=="function"||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(h=u.state,typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount(),h!==u.state&&Go.enqueueReplaceState(u,u.state,null),$l(t,l,u,o),Xl(),u.state=t.memoizedState),typeof u.componentDidMount=="function"&&(t.flags|=4194308),l=!0}else if(e===null){u=t.stateNode;var x=t.memoizedProps,q=Na(n,x);u.props=q;var z=u.context,X=n.contextType;h=Ga,typeof X=="object"&&X!==null&&(h=st(X));var Z=n.getDerivedStateFromProps;X=typeof Z=="function"||typeof u.getSnapshotBeforeUpdate=="function",x=t.pendingProps!==x,X||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(x||z!==h)&&ph(t,u,l,h),Vn=!1;var L=t.memoizedState;u.state=L,$l(t,l,u,o),Xl(),z=t.memoizedState,x||L!==z||Vn?(typeof Z=="function"&&(Yo(t,n,Z,l),z=t.memoizedState),(q=Vn||mh(t,n,q,l,L,z,h))?(X||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount()),typeof u.componentDidMount=="function"&&(t.flags|=4194308)):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=z),u.props=l,u.state=z,u.context=h,l=q):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{u=t.stateNode,xo(e,t),h=t.memoizedProps,X=Na(n,h),u.props=X,Z=t.pendingProps,L=u.context,z=n.contextType,q=Ga,typeof z=="object"&&z!==null&&(q=st(z)),x=n.getDerivedStateFromProps,(z=typeof x=="function"||typeof u.getSnapshotBeforeUpdate=="function")||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(h!==Z||L!==q)&&ph(t,u,l,q),Vn=!1,L=t.memoizedState,u.state=L,$l(t,l,u,o),Xl();var V=t.memoizedState;h!==Z||L!==V||Vn||e!==null&&e.dependencies!==null&&ai(e.dependencies)?(typeof x=="function"&&(Yo(t,n,x,l),V=t.memoizedState),(X=Vn||mh(t,n,X,l,L,V,q)||e!==null&&e.dependencies!==null&&ai(e.dependencies))?(z||typeof u.UNSAFE_componentWillUpdate!="function"&&typeof u.componentWillUpdate!="function"||(typeof u.componentWillUpdate=="function"&&u.componentWillUpdate(l,V,q),typeof u.UNSAFE_componentWillUpdate=="function"&&u.UNSAFE_componentWillUpdate(l,V,q)),typeof u.componentDidUpdate=="function"&&(t.flags|=4),typeof u.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof u.componentDidUpdate!="function"||h===e.memoizedProps&&L===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||h===e.memoizedProps&&L===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=V),u.props=l,u.state=V,u.context=q,l=X):(typeof u.componentDidUpdate!="function"||h===e.memoizedProps&&L===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||h===e.memoizedProps&&L===e.memoizedState||(t.flags|=1024),l=!1)}return u=l,Ai(e,t),l=(t.flags&128)!==0,u||l?(u=t.stateNode,n=l&&typeof n.getDerivedStateFromError!="function"?null:u.render(),t.flags|=1,e!==null&&l?(t.child=Aa(t,e.child,null,o),t.child=Aa(t,null,n,o)):it(e,t,n,o),t.memoizedState=u.state,e=t.child):e=vn(e,t,o),e}function Rh(e,t,n,l){return ga(),t.flags|=256,it(e,t,n,l),t.child}var Ko={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Zo(e){return{baseLanes:e,cachePool:xd()}}function Jo(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Tt),e}function Mh(e,t,n){var l=t.pendingProps,o=!1,u=(t.flags&128)!==0,h;if((h=u)||(h=e!==null&&e.memoizedState===null?!1:($e.current&2)!==0),h&&(o=!0,t.flags&=-129),h=(t.flags&32)!==0,t.flags&=-33,e===null){if(Ae){if(o?Qn(t):Xn(),(e=Ue)?(e=Um(e,Bt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Bn!==null?{id:Wt,overflow:Pt}:null,retryLane:536870912,hydrationErrors:null},n=ud(e),n.return=t,t.child=n,lt=t,Ue=null)):e=null,e===null)throw Un(t);return Mc(e)?t.lanes=32:t.lanes=536870912,null}var x=l.children;return l=l.fallback,o?(Xn(),o=t.mode,x=ji({mode:"hidden",children:x},o),l=pa(l,o,n,null),x.return=t,l.return=t,x.sibling=l,t.child=x,l=t.child,l.memoizedState=Zo(n),l.childLanes=Jo(e,h,n),t.memoizedState=Ko,Il(null,l)):(Qn(t),Fo(t,x))}var q=e.memoizedState;if(q!==null&&(x=q.dehydrated,x!==null)){if(u)t.flags&256?(Qn(t),t.flags&=-257,t=Io(e,t,n)):t.memoizedState!==null?(Xn(),t.child=e.child,t.flags|=128,t=null):(Xn(),x=l.fallback,o=t.mode,l=ji({mode:"visible",children:l.children},o),x=pa(x,o,n,null),x.flags|=2,l.return=t,x.return=t,l.sibling=x,t.child=l,Aa(t,e.child,null,n),l=t.child,l.memoizedState=Zo(n),l.childLanes=Jo(e,h,n),t.memoizedState=Ko,t=Il(null,l));else if(Qn(t),Mc(x)){if(h=x.nextSibling&&x.nextSibling.dataset,h)var z=h.dgst;h=z,l=Error(r(419)),l.stack="",l.digest=h,Ul({value:l,source:null,stack:null}),t=Io(e,t,n)}else if(Fe||Ka(e,t,n,!1),h=(n&e.childLanes)!==0,Fe||h){if(h=Be,h!==null&&(l=yf(h,n),l!==0&&l!==q.retryLane))throw q.retryLane=l,ma(e,l),bt(h,e,l),Xo;Rc(x)||_i(),t=Io(e,t,n)}else Rc(x)?(t.flags|=192,t.child=e.child,t=null):(e=q.treeContext,Ue=Ut(x.nextSibling),lt=t,Ae=!0,Ln=null,Bt=!1,e!==null&&hd(t,e),t=Fo(t,l.children),t.flags|=4096);return t}return o?(Xn(),x=l.fallback,o=t.mode,q=e.child,z=q.sibling,l=dn(q,{mode:"hidden",children:l.children}),l.subtreeFlags=q.subtreeFlags&65011712,z!==null?x=dn(z,x):(x=pa(x,o,n,null),x.flags|=2),x.return=t,l.return=t,l.sibling=x,t.child=l,Il(null,l),l=t.child,x=e.child.memoizedState,x===null?x=Zo(n):(o=x.cachePool,o!==null?(q=Ze._currentValue,o=o.parent!==q?{parent:q,pool:q}:o):o=xd(),x={baseLanes:x.baseLanes|n,cachePool:o}),l.memoizedState=x,l.childLanes=Jo(e,h,n),t.memoizedState=Ko,Il(e.child,l)):(Qn(t),n=e.child,e=n.sibling,n=dn(n,{mode:"visible",children:l.children}),n.return=t,n.sibling=null,e!==null&&(h=t.deletions,h===null?(t.deletions=[e],t.flags|=16):h.push(e)),t.child=n,t.memoizedState=null,n)}function Fo(e,t){return t=ji({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ji(e,t){return e=Et(22,e,null,t),e.lanes=0,e}function Io(e,t,n){return Aa(t,e.child,null,n),e=Fo(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function _h(e,t,n){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),fo(e.return,t,n)}function Wo(e,t,n,l,o,u){var h=e.memoizedState;h===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:n,tailMode:o,treeForkCount:u}:(h.isBackwards=t,h.rendering=null,h.renderingStartTime=0,h.last=l,h.tail=n,h.tailMode=o,h.treeForkCount=u)}function kh(e,t,n){var l=t.pendingProps,o=l.revealOrder,u=l.tail;l=l.children;var h=$e.current,x=(h&2)!==0;if(x?(h=h&1|2,t.flags|=128):h&=1,H($e,h),it(e,t,l,n),l=Ae?Ll:0,!x&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&_h(e,n,t);else if(e.tag===19)_h(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&fi(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Wo(t,!1,o,n,u,l);break;case"backwards":case"unstable_legacy-backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&fi(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Wo(t,!0,n,null,u,l);break;case"together":Wo(t,!1,null,null,void 0,l);break;default:t.memoizedState=null}return t.child}function vn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Zn|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(Ka(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(r(153));if(t.child!==null){for(e=t.child,n=dn(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=dn(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Po(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&ai(e)))}function Ly(e,t,n){switch(t.tag){case 3:Re(t,t.stateNode.containerInfo),Hn(t,Ze,e.memoizedState.cache),ga();break;case 27:case 5:rn(t);break;case 4:Re(t,t.stateNode.containerInfo);break;case 10:Hn(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,No(t),null;break;case 13:var l=t.memoizedState;if(l!==null)return l.dehydrated!==null?(Qn(t),t.flags|=128,null):(n&t.child.childLanes)!==0?Mh(e,t,n):(Qn(t),e=vn(e,t,n),e!==null?e.sibling:null);Qn(t);break;case 19:var o=(e.flags&128)!==0;if(l=(n&t.childLanes)!==0,l||(Ka(e,t,n,!1),l=(n&t.childLanes)!==0),o){if(l)return kh(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),H($e,$e.current),l)break;return null;case 22:return t.lanes=0,Eh(e,t,n,t.pendingProps);case 24:Hn(t,Ze,e.memoizedState.cache)}return vn(e,t,n)}function Oh(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Fe=!0;else{if(!Po(e,n)&&(t.flags&128)===0)return Fe=!1,Ly(e,t,n);Fe=(e.flags&131072)!==0}else Fe=!1,Ae&&(t.flags&1048576)!==0&&dd(t,Ll,t.index);switch(t.lanes=0,t.tag){case 16:e:{var l=t.pendingProps;if(e=ba(t.elementType),t.type=e,typeof e=="function")ao(e)?(l=Na(e,l),t.tag=1,t=Th(null,t,e,l,n)):(t.tag=0,t=$o(null,t,e,l,n));else{if(e!=null){var o=e.$$typeof;if(o===J){t.tag=11,t=Ah(null,t,e,l,n);break e}else if(o===$){t.tag=14,t=jh(null,t,e,l,n);break e}}throw t=ee(e)||e,Error(r(306,t,""))}}return t;case 0:return $o(e,t,t.type,t.pendingProps,n);case 1:return l=t.type,o=Na(l,t.pendingProps),Th(e,t,l,o,n);case 3:e:{if(Re(t,t.stateNode.containerInfo),e===null)throw Error(r(387));l=t.pendingProps;var u=t.memoizedState;o=u.element,xo(e,t),$l(t,l,null,n);var h=t.memoizedState;if(l=h.cache,Hn(t,Ze,l),l!==u.cache&&ho(t,[Ze],n,!0),Xl(),l=h.element,u.isDehydrated)if(u={element:l,isDehydrated:!1,cache:h.cache},t.updateQueue.baseState=u,t.memoizedState=u,t.flags&256){t=Rh(e,t,l,n);break e}else if(l!==o){o=Ot(Error(r(424)),t),Ul(o),t=Rh(e,t,l,n);break e}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName==="HTML"?e.ownerDocument.body:e}for(Ue=Ut(e.firstChild),lt=t,Ae=!0,Ln=null,Bt=!0,n=Ed(t,null,l,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(ga(),l===o){t=vn(e,t,n);break e}it(e,t,l,n)}t=t.child}return t;case 26:return Ai(e,t),e===null?(n=Xm(t.type,null,t.pendingProps,null))?t.memoizedState=n:Ae||(n=t.type,e=t.pendingProps,l=Ui(le.current).createElement(n),l[at]=t,l[mt]=e,rt(l,n,e),tt(l),t.stateNode=l):t.memoizedState=Xm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return rn(t),e===null&&Ae&&(l=t.stateNode=Ym(t.type,t.pendingProps,le.current),lt=t,Bt=!0,o=Ue,Pn(t.type)?(_c=o,Ue=Ut(l.firstChild)):Ue=o),it(e,t,t.pendingProps.children,n),Ai(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ae&&((o=l=Ue)&&(l=mv(l,t.type,t.pendingProps,Bt),l!==null?(t.stateNode=l,lt=t,Ue=Ut(l.firstChild),Bt=!1,o=!0):o=!1),o||Un(t)),rn(t),o=t.type,u=t.pendingProps,h=e!==null?e.memoizedProps:null,l=u.children,wc(o,u)?l=null:h!==null&&wc(o,h)&&(t.flags|=32),t.memoizedState!==null&&(o=qo(e,t,Ty,null,null,n),ds._currentValue=o),Ai(e,t),it(e,t,l,n),t.child;case 6:return e===null&&Ae&&((e=n=Ue)&&(n=pv(n,t.pendingProps,Bt),n!==null?(t.stateNode=n,lt=t,Ue=null,e=!0):e=!1),e||Un(t)),null;case 13:return Mh(e,t,n);case 4:return Re(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=Aa(t,null,l,n):it(e,t,l,n),t.child;case 11:return Ah(e,t,t.type,t.pendingProps,n);case 7:return it(e,t,t.pendingProps,n),t.child;case 8:return it(e,t,t.pendingProps.children,n),t.child;case 12:return it(e,t,t.pendingProps.children,n),t.child;case 10:return l=t.pendingProps,Hn(t,t.type,l.value),it(e,t,l.children,n),t.child;case 9:return o=t.type._context,l=t.pendingProps.children,va(t),o=st(o),l=l(o),t.flags|=1,it(e,t,l,n),t.child;case 14:return jh(e,t,t.type,t.pendingProps,n);case 15:return Nh(e,t,t.type,t.pendingProps,n);case 19:return kh(e,t,n);case 31:return By(e,t,n);case 22:return Eh(e,t,n,t.pendingProps);case 24:return va(t),l=st(Ze),e===null?(o=go(),o===null&&(o=Be,u=mo(),o.pooledCache=u,u.refCount++,u!==null&&(o.pooledCacheLanes|=n),o=u),t.memoizedState={parent:l,cache:o},vo(t),Hn(t,Ze,o)):((e.lanes&n)!==0&&(xo(e,t),$l(t,null,null,n),Xl()),o=e.memoizedState,u=t.memoizedState,o.parent!==l?(o={parent:l,cache:l},t.memoizedState=o,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=o),Hn(t,Ze,l)):(l=u.cache,Hn(t,Ze,l),l!==o.cache&&ho(t,[Ze],n,!0))),it(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(r(156,t.tag))}function xn(e){e.flags|=4}function ec(e,t,n,l,o){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(o&335544128)===o)if(e.stateNode.complete)e.flags|=8192;else if(rm())e.flags|=8192;else throw Sa=ri,yo}else e.flags&=-16777217}function Dh(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Fm(t))if(rm())e.flags|=8192;else throw Sa=ri,yo}function Ni(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?mf():536870912,e.lanes|=t,sl|=t)}function Wl(e,t){if(!Ae)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var l=null;n!==null;)n.alternate!==null&&(l=n),n=n.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function He(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,l=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,l|=o.subtreeFlags&65011712,l|=o.flags&65011712,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,l|=o.subtreeFlags,l|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=l,e.childLanes=n,t}function Uy(e,t,n){var l=t.pendingProps;switch(ro(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return He(t),null;case 1:return He(t),null;case 3:return n=t.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),pn(Ze),de(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&($a(t)?xn(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,co())),He(t),null;case 26:var o=t.type,u=t.memoizedState;return e===null?(xn(t),u!==null?(He(t),Dh(t,u)):(He(t),ec(t,o,null,l,n))):u?u!==e.memoizedState?(xn(t),He(t),Dh(t,u)):(He(t),t.flags&=-16777217):(e=e.memoizedProps,e!==l&&xn(t),He(t),ec(t,o,e,l,n)),null;case 27:if(kn(t),n=le.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&xn(t);else{if(!l){if(t.stateNode===null)throw Error(r(166));return He(t),null}e=Q.current,$a(t)?md(t):(e=Ym(o,l,n),t.stateNode=e,xn(t))}return He(t),null;case 5:if(kn(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&xn(t);else{if(!l){if(t.stateNode===null)throw Error(r(166));return He(t),null}if(u=Q.current,$a(t))md(t);else{var h=Ui(le.current);switch(u){case 1:u=h.createElementNS("http://www.w3.org/2000/svg",o);break;case 2:u=h.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;default:switch(o){case"svg":u=h.createElementNS("http://www.w3.org/2000/svg",o);break;case"math":u=h.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;case"script":u=h.createElement("div"),u.innerHTML="<script><\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof l.is=="string"?h.createElement("select",{is:l.is}):h.createElement("select"),l.multiple?u.multiple=!0:l.size&&(u.size=l.size);break;default:u=typeof l.is=="string"?h.createElement(o,{is:l.is}):h.createElement(o)}}u[at]=t,u[mt]=l;e:for(h=t.child;h!==null;){if(h.tag===5||h.tag===6)u.appendChild(h.stateNode);else if(h.tag!==4&&h.tag!==27&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===t)break e;for(;h.sibling===null;){if(h.return===null||h.return===t)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}t.stateNode=u;e:switch(rt(u,o,l),o){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&xn(t)}}return He(t),ec(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&xn(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(r(166));if(e=le.current,$a(t)){if(e=t.stateNode,n=t.memoizedProps,l=null,o=lt,o!==null)switch(o.tag){case 27:case 5:l=o.memoizedProps}e[at]=t,e=!!(e.nodeValue===n||l!==null&&l.suppressHydrationWarning===!0||Mm(e.nodeValue,n)),e||Un(t,!0)}else e=Ui(e).createTextNode(l),e[at]=t,t.stateNode=e}return He(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(l=$a(t),n!==null){if(e===null){if(!l)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[at]=t}else ga(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;He(t),e=!1}else n=co(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(wt(t),t):(wt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return He(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=$a(t),l!==null&&l.dehydrated!==null){if(e===null){if(!o)throw Error(r(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(r(317));o[at]=t}else ga(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;He(t),o=!1}else o=co(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(wt(t),t):(wt(t),null)}return wt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=l!==null,e=e!==null&&e.memoizedState!==null,n&&(l=t.child,o=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(o=l.alternate.memoizedState.cachePool.pool),u=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),u!==o&&(l.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ni(t,t.updateQueue),He(t),null);case 4:return de(),e===null&&Ac(t.stateNode.containerInfo),He(t),null;case 10:return pn(t.type),He(t),null;case 19:if(B($e),l=t.memoizedState,l===null)return He(t),null;if(o=(t.flags&128)!==0,u=l.rendering,u===null)if(o)Wl(l,!1);else{if(Qe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=fi(e),u!==null){for(t.flags|=128,Wl(l,!1),e=u.updateQueue,t.updateQueue=e,Ni(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)cd(n,e),n=n.sibling;return H($e,$e.current&1|2),Ae&&hn(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&ze()>Ti&&(t.flags|=128,o=!0,Wl(l,!1),t.lanes=4194304)}else{if(!o)if(e=fi(u),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,Ni(t,e),Wl(l,!0),l.tail===null&&l.tailMode==="hidden"&&!u.alternate&&!Ae)return He(t),null}else 2*ze()-l.renderingStartTime>Ti&&n!==536870912&&(t.flags|=128,o=!0,Wl(l,!1),t.lanes=4194304);l.isBackwards?(u.sibling=t.child,t.child=u):(e=l.last,e!==null?e.sibling=u:t.child=u,l.last=u)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=ze(),e.sibling=null,n=$e.current,H($e,o?n&1|2:n&1),Ae&&hn(t,l.treeForkCount),e):(He(t),null);case 22:case 23:return wt(t),jo(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(n&536870912)!==0&&(t.flags&128)===0&&(He(t),t.subtreeFlags&6&&(t.flags|=8192)):He(t),n=t.updateQueue,n!==null&&Ni(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==n&&(t.flags|=2048),e!==null&&B(xa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),pn(Ze),He(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Hy(e,t){switch(ro(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return pn(Ze),de(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return kn(t),null;case 31:if(t.memoizedState!==null){if(wt(t),t.alternate===null)throw Error(r(340));ga()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(wt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ga()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return B($e),null;case 4:return de(),null;case 10:return pn(t.type),null;case 22:case 23:return wt(t),jo(),e!==null&&B(xa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return pn(Ze),null;case 25:return null;default:return null}}function zh(e,t){switch(ro(t),t.tag){case 3:pn(Ze),de();break;case 26:case 27:case 5:kn(t);break;case 4:de();break;case 31:t.memoizedState!==null&&wt(t);break;case 13:wt(t);break;case 19:B($e);break;case 10:pn(t.type);break;case 22:case 23:wt(t),jo(),e!==null&&B(xa);break;case 24:pn(Ze)}}function Pl(e,t){try{var n=t.updateQueue,l=n!==null?n.lastEffect:null;if(l!==null){var o=l.next;n=o;do{if((n.tag&e)===e){l=void 0;var u=n.create,h=n.inst;l=u(),h.destroy=l}n=n.next}while(n!==o)}}catch(x){Te(t,t.return,x)}}function $n(e,t,n){try{var l=t.updateQueue,o=l!==null?l.lastEffect:null;if(o!==null){var u=o.next;l=u;do{if((l.tag&e)===e){var h=l.inst,x=h.destroy;if(x!==void 0){h.destroy=void 0,o=t;var q=n,z=x;try{z()}catch(X){Te(o,q,X)}}}l=l.next}while(l!==u)}}catch(X){Te(t,t.return,X)}}function Bh(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{wd(t,n)}catch(l){Te(e,e.return,l)}}}function Lh(e,t,n){n.props=Na(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(l){Te(e,t,l)}}function es(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof n=="function"?e.refCleanup=n(l):n.current=l}}catch(o){Te(e,t,o)}}function en(e,t){var n=e.ref,l=e.refCleanup;if(n!==null)if(typeof l=="function")try{l()}catch(o){Te(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(o){Te(e,t,o)}else n.current=null}function Uh(e){var t=e.type,n=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&l.focus();break e;case"img":n.src?l.src=n.src:n.srcSet&&(l.srcset=n.srcSet)}}catch(o){Te(e,e.return,o)}}function tc(e,t,n){try{var l=e.stateNode;ov(l,e.type,n,t),l[mt]=t}catch(o){Te(e,e.return,o)}}function Hh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Pn(e.type)||e.tag===4}function nc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Hh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Pn(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ac(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=un));else if(l!==4&&(l===27&&Pn(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(ac(e,t,n),e=e.sibling;e!==null;)ac(e,t,n),e=e.sibling}function Ei(e,t,n){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(l!==4&&(l===27&&Pn(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Ei(e,t,n),e=e.sibling;e!==null;)Ei(e,t,n),e=e.sibling}function Vh(e){var t=e.stateNode,n=e.memoizedProps;try{for(var l=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);rt(t,l,n),t[at]=e,t[mt]=n}catch(u){Te(e,e.return,u)}}var bn=!1,Ie=!1,lc=!1,Yh=typeof WeakSet=="function"?WeakSet:Set,nt=null;function Vy(e,t){if(e=e.containerInfo,Ec=$i,e=ed(e),Fr(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var l=n.getSelection&&n.getSelection();if(l&&l.rangeCount!==0){n=l.anchorNode;var o=l.anchorOffset,u=l.focusNode;l=l.focusOffset;try{n.nodeType,u.nodeType}catch{n=null;break e}var h=0,x=-1,q=-1,z=0,X=0,Z=e,L=null;t:for(;;){for(var V;Z!==n||o!==0&&Z.nodeType!==3||(x=h+o),Z!==u||l!==0&&Z.nodeType!==3||(q=h+l),Z.nodeType===3&&(h+=Z.nodeValue.length),(V=Z.firstChild)!==null;)L=Z,Z=V;for(;;){if(Z===e)break t;if(L===n&&++z===o&&(x=h),L===u&&++X===l&&(q=h),(V=Z.nextSibling)!==null)break;Z=L,L=Z.parentNode}Z=V}n=x===-1||q===-1?null:{start:x,end:q}}else n=null}n=n||{start:0,end:0}}else n=null;for(qc={focusedElem:e,selectionRange:n},$i=!1,nt=t;nt!==null;)if(t=nt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,nt=e;else for(;nt!==null;){switch(t=nt,u=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n<e.length;n++)o=e[n],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&u!==null){e=void 0,n=t,o=u.memoizedProps,u=u.memoizedState,l=n.stateNode;try{var ie=Na(n.type,o);e=l.getSnapshotBeforeUpdate(ie,u),l.__reactInternalSnapshotBeforeUpdate=e}catch(ue){Te(n,n.return,ue)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)Tc(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Tc(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(r(163))}if(e=t.sibling,e!==null){e.return=t.return,nt=e;break}nt=t.return}}function Gh(e,t,n){var l=n.flags;switch(n.tag){case 0:case 11:case 15:An(e,n),l&4&&Pl(5,n);break;case 1:if(An(e,n),l&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(h){Te(n,n.return,h)}else{var o=Na(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(h){Te(n,n.return,h)}}l&64&&Bh(n),l&512&&es(n,n.return);break;case 3:if(An(e,n),l&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{wd(e,t)}catch(h){Te(n,n.return,h)}}break;case 27:t===null&&l&4&&Vh(n);case 26:case 5:An(e,n),t===null&&l&4&&Uh(n),l&512&&es(n,n.return);break;case 12:An(e,n);break;case 31:An(e,n),l&4&&$h(e,n);break;case 13:An(e,n),l&4&&Kh(e,n),l&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Fy.bind(null,n),gv(e,n))));break;case 22:if(l=n.memoizedState!==null||bn,!l){t=t!==null&&t.memoizedState!==null||Ie,o=bn;var u=Ie;bn=l,(Ie=t)&&!u?jn(e,n,(n.subtreeFlags&8772)!==0):An(e,n),bn=o,Ie=u}break;case 30:break;default:An(e,n)}}function Qh(e){var t=e.alternate;t!==null&&(e.alternate=null,Qh(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&kr(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ve=null,gt=!1;function Sn(e,t,n){for(n=n.child;n!==null;)Xh(e,t,n),n=n.sibling}function Xh(e,t,n){if(At&&typeof At.onCommitFiberUnmount=="function")try{At.onCommitFiberUnmount(Nl,n)}catch{}switch(n.tag){case 26:Ie||en(n,t),Sn(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Ie||en(n,t);var l=Ve,o=gt;Pn(n.type)&&(Ve=n.stateNode,gt=!1),Sn(e,t,n),cs(n.stateNode),Ve=l,gt=o;break;case 5:Ie||en(n,t);case 6:if(l=Ve,o=gt,Ve=null,Sn(e,t,n),Ve=l,gt=o,Ve!==null)if(gt)try{(Ve.nodeType===9?Ve.body:Ve.nodeName==="HTML"?Ve.ownerDocument.body:Ve).removeChild(n.stateNode)}catch(u){Te(n,t,u)}else try{Ve.removeChild(n.stateNode)}catch(u){Te(n,t,u)}break;case 18:Ve!==null&&(gt?(e=Ve,Bm(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),hl(e)):Bm(Ve,n.stateNode));break;case 4:l=Ve,o=gt,Ve=n.stateNode.containerInfo,gt=!0,Sn(e,t,n),Ve=l,gt=o;break;case 0:case 11:case 14:case 15:$n(2,n,t),Ie||$n(4,n,t),Sn(e,t,n);break;case 1:Ie||(en(n,t),l=n.stateNode,typeof l.componentWillUnmount=="function"&&Lh(n,t,l)),Sn(e,t,n);break;case 21:Sn(e,t,n);break;case 22:Ie=(l=Ie)||n.memoizedState!==null,Sn(e,t,n),Ie=l;break;default:Sn(e,t,n)}}function $h(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{hl(e)}catch(n){Te(t,t.return,n)}}}function Kh(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{hl(e)}catch(n){Te(t,t.return,n)}}function Yy(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Yh),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Yh),t;default:throw Error(r(435,e.tag))}}function qi(e,t){var n=Yy(e);t.forEach(function(l){if(!n.has(l)){n.add(l);var o=Iy.bind(null,e,l);l.then(o,o)}})}function yt(e,t){var n=t.deletions;if(n!==null)for(var l=0;l<n.length;l++){var o=n[l],u=e,h=t,x=h;e:for(;x!==null;){switch(x.tag){case 27:if(Pn(x.type)){Ve=x.stateNode,gt=!1;break e}break;case 5:Ve=x.stateNode,gt=!1;break e;case 3:case 4:Ve=x.stateNode.containerInfo,gt=!0;break e}x=x.return}if(Ve===null)throw Error(r(160));Xh(u,h,o),Ve=null,gt=!1,u=o.alternate,u!==null&&(u.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)Zh(t,e),t=t.sibling}var $t=null;function Zh(e,t){var n=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:yt(t,e),vt(e),l&4&&($n(3,e,e.return),Pl(3,e),$n(5,e,e.return));break;case 1:yt(t,e),vt(e),l&512&&(Ie||n===null||en(n,n.return)),l&64&&bn&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?l:n.concat(l))));break;case 26:var o=$t;if(yt(t,e),vt(e),l&512&&(Ie||n===null||en(n,n.return)),l&4){var u=n!==null?n.memoizedState:null;if(l=e.memoizedState,n===null)if(l===null)if(e.stateNode===null){e:{l=e.type,n=e.memoizedProps,o=o.ownerDocument||o;t:switch(l){case"title":u=o.getElementsByTagName("title")[0],(!u||u[wl]||u[at]||u.namespaceURI==="http://www.w3.org/2000/svg"||u.hasAttribute("itemprop"))&&(u=o.createElement(l),o.head.insertBefore(u,o.querySelector("head > title"))),rt(u,l,n),u[at]=e,tt(u),l=u;break e;case"link":var h=Zm("link","href",o).get(l+(n.href||""));if(h){for(var x=0;x<h.length;x++)if(u=h[x],u.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&u.getAttribute("rel")===(n.rel==null?null:n.rel)&&u.getAttribute("title")===(n.title==null?null:n.title)&&u.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){h.splice(x,1);break t}}u=o.createElement(l),rt(u,l,n),o.head.appendChild(u);break;case"meta":if(h=Zm("meta","content",o).get(l+(n.content||""))){for(x=0;x<h.length;x++)if(u=h[x],u.getAttribute("content")===(n.content==null?null:""+n.content)&&u.getAttribute("name")===(n.name==null?null:n.name)&&u.getAttribute("property")===(n.property==null?null:n.property)&&u.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&u.getAttribute("charset")===(n.charSet==null?null:n.charSet)){h.splice(x,1);break t}}u=o.createElement(l),rt(u,l,n),o.head.appendChild(u);break;default:throw Error(r(468,l))}u[at]=e,tt(u),l=u}e.stateNode=l}else Jm(o,e.type,e.stateNode);else e.stateNode=Km(o,l,e.memoizedProps);else u!==l?(u===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):u.count--,l===null?Jm(o,e.type,e.stateNode):Km(o,l,e.memoizedProps)):l===null&&e.stateNode!==null&&tc(e,e.memoizedProps,n.memoizedProps)}break;case 27:yt(t,e),vt(e),l&512&&(Ie||n===null||en(n,n.return)),n!==null&&l&4&&tc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(yt(t,e),vt(e),l&512&&(Ie||n===null||en(n,n.return)),e.flags&32){o=e.stateNode;try{za(o,"")}catch(ie){Te(e,e.return,ie)}}l&4&&e.stateNode!=null&&(o=e.memoizedProps,tc(e,o,n!==null?n.memoizedProps:o)),l&1024&&(lc=!0);break;case 6:if(yt(t,e),vt(e),l&4){if(e.stateNode===null)throw Error(r(162));l=e.memoizedProps,n=e.stateNode;try{n.nodeValue=l}catch(ie){Te(e,e.return,ie)}}break;case 3:if(Yi=null,o=$t,$t=Hi(t.containerInfo),yt(t,e),$t=o,vt(e),l&4&&n!==null&&n.memoizedState.isDehydrated)try{hl(t.containerInfo)}catch(ie){Te(e,e.return,ie)}lc&&(lc=!1,Jh(e));break;case 4:l=$t,$t=Hi(e.stateNode.containerInfo),yt(t,e),vt(e),$t=l;break;case 12:yt(t,e),vt(e);break;case 31:yt(t,e),vt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,qi(e,l)));break;case 13:yt(t,e),vt(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Ci=ze()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,qi(e,l)));break;case 22:o=e.memoizedState!==null;var q=n!==null&&n.memoizedState!==null,z=bn,X=Ie;if(bn=z||o,Ie=X||q,yt(t,e),Ie=X,bn=z,vt(e),l&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(n===null||q||bn||Ie||Ea(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){q=n=t;try{if(u=q.stateNode,o)h=u.style,typeof h.setProperty=="function"?h.setProperty("display","none","important"):h.display="none";else{x=q.stateNode;var Z=q.memoizedProps.style,L=Z!=null&&Z.hasOwnProperty("display")?Z.display:null;x.style.display=L==null||typeof L=="boolean"?"":(""+L).trim()}}catch(ie){Te(q,q.return,ie)}}}else if(t.tag===6){if(n===null){q=t;try{q.stateNode.nodeValue=o?"":q.memoizedProps}catch(ie){Te(q,q.return,ie)}}}else if(t.tag===18){if(n===null){q=t;try{var V=q.stateNode;o?Lm(V,!0):Lm(q.stateNode,!1)}catch(ie){Te(q,q.return,ie)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}l&4&&(l=e.updateQueue,l!==null&&(n=l.retryQueue,n!==null&&(l.retryQueue=null,qi(e,n))));break;case 19:yt(t,e),vt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,qi(e,l)));break;case 30:break;case 21:break;default:yt(t,e),vt(e)}}function vt(e){var t=e.flags;if(t&2){try{for(var n,l=e.return;l!==null;){if(Hh(l)){n=l;break}l=l.return}if(n==null)throw Error(r(160));switch(n.tag){case 27:var o=n.stateNode,u=nc(e);Ei(e,u,o);break;case 5:var h=n.stateNode;n.flags&32&&(za(h,""),n.flags&=-33);var x=nc(e);Ei(e,x,h);break;case 3:case 4:var q=n.stateNode.containerInfo,z=nc(e);ac(e,z,q);break;default:throw Error(r(161))}}catch(X){Te(e,e.return,X)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Jh(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Jh(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function An(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Gh(e,t.alternate,t),t=t.sibling}function Ea(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:$n(4,t,t.return),Ea(t);break;case 1:en(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&Lh(t,t.return,n),Ea(t);break;case 27:cs(t.stateNode);case 26:case 5:en(t,t.return),Ea(t);break;case 22:t.memoizedState===null&&Ea(t);break;case 30:Ea(t);break;default:Ea(t)}e=e.sibling}}function jn(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var l=t.alternate,o=e,u=t,h=u.flags;switch(u.tag){case 0:case 11:case 15:jn(o,u,n),Pl(4,u);break;case 1:if(jn(o,u,n),l=u,o=l.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(z){Te(l,l.return,z)}if(l=u,o=l.updateQueue,o!==null){var x=l.stateNode;try{var q=o.shared.hiddenCallbacks;if(q!==null)for(o.shared.hiddenCallbacks=null,o=0;o<q.length;o++)qd(q[o],x)}catch(z){Te(l,l.return,z)}}n&&h&64&&Bh(u),es(u,u.return);break;case 27:Vh(u);case 26:case 5:jn(o,u,n),n&&l===null&&h&4&&Uh(u),es(u,u.return);break;case 12:jn(o,u,n);break;case 31:jn(o,u,n),n&&h&4&&$h(o,u);break;case 13:jn(o,u,n),n&&h&4&&Kh(o,u);break;case 22:u.memoizedState===null&&jn(o,u,n),es(u,u.return);break;case 30:break;default:jn(o,u,n)}t=t.sibling}}function sc(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Hl(n))}function ic(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Hl(e))}function Kt(e,t,n,l){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Fh(e,t,n,l),t=t.sibling}function Fh(e,t,n,l){var o=t.flags;switch(t.tag){case 0:case 11:case 15:Kt(e,t,n,l),o&2048&&Pl(9,t);break;case 1:Kt(e,t,n,l);break;case 3:Kt(e,t,n,l),o&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Hl(e)));break;case 12:if(o&2048){Kt(e,t,n,l),e=t.stateNode;try{var u=t.memoizedProps,h=u.id,x=u.onPostCommit;typeof x=="function"&&x(h,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(q){Te(t,t.return,q)}}else Kt(e,t,n,l);break;case 31:Kt(e,t,n,l);break;case 13:Kt(e,t,n,l);break;case 23:break;case 22:u=t.stateNode,h=t.alternate,t.memoizedState!==null?u._visibility&2?Kt(e,t,n,l):ts(e,t):u._visibility&2?Kt(e,t,n,l):(u._visibility|=2,nl(e,t,n,l,(t.subtreeFlags&10256)!==0||!1)),o&2048&&sc(h,t);break;case 24:Kt(e,t,n,l),o&2048&&ic(t.alternate,t);break;default:Kt(e,t,n,l)}}function nl(e,t,n,l,o){for(o=o&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var u=e,h=t,x=n,q=l,z=h.flags;switch(h.tag){case 0:case 11:case 15:nl(u,h,x,q,o),Pl(8,h);break;case 23:break;case 22:var X=h.stateNode;h.memoizedState!==null?X._visibility&2?nl(u,h,x,q,o):ts(u,h):(X._visibility|=2,nl(u,h,x,q,o)),o&&z&2048&&sc(h.alternate,h);break;case 24:nl(u,h,x,q,o),o&&z&2048&&ic(h.alternate,h);break;default:nl(u,h,x,q,o)}t=t.sibling}}function ts(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,l=t,o=l.flags;switch(l.tag){case 22:ts(n,l),o&2048&&sc(l.alternate,l);break;case 24:ts(n,l),o&2048&&ic(l.alternate,l);break;default:ts(n,l)}t=t.sibling}}var ns=8192;function al(e,t,n){if(e.subtreeFlags&ns)for(e=e.child;e!==null;)Ih(e,t,n),e=e.sibling}function Ih(e,t,n){switch(e.tag){case 26:al(e,t,n),e.flags&ns&&e.memoizedState!==null&&Cv(n,$t,e.memoizedState,e.memoizedProps);break;case 5:al(e,t,n);break;case 3:case 4:var l=$t;$t=Hi(e.stateNode.containerInfo),al(e,t,n),$t=l;break;case 22:e.memoizedState===null&&(l=e.alternate,l!==null&&l.memoizedState!==null?(l=ns,ns=16777216,al(e,t,n),ns=l):al(e,t,n));break;default:al(e,t,n)}}function Wh(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function as(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var l=t[n];nt=l,em(l,e)}Wh(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Ph(e),e=e.sibling}function Ph(e){switch(e.tag){case 0:case 11:case 15:as(e),e.flags&2048&&$n(9,e,e.return);break;case 3:as(e);break;case 12:as(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,wi(e)):as(e);break;default:as(e)}}function wi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var l=t[n];nt=l,em(l,e)}Wh(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:$n(8,t,t.return),wi(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,wi(t));break;default:wi(t)}e=e.sibling}}function em(e,t){for(;nt!==null;){var n=nt;switch(n.tag){case 0:case 11:case 15:$n(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var l=n.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Hl(n.memoizedState.cache)}if(l=n.child,l!==null)l.return=n,nt=l;else e:for(n=e;nt!==null;){l=nt;var o=l.sibling,u=l.return;if(Qh(l),l===n){nt=null;break e}if(o!==null){o.return=u,nt=o;break e}nt=u}}}var Gy={getCacheForType:function(e){var t=st(Ze),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return st(Ze).controller.signal}},Qy=typeof WeakMap=="function"?WeakMap:Map,we=0,Be=null,ve=null,be=0,Ce=0,Ct=null,Kn=!1,ll=!1,rc=!1,Nn=0,Qe=0,Zn=0,qa=0,oc=0,Tt=0,sl=0,ls=null,xt=null,cc=!1,Ci=0,tm=0,Ti=1/0,Ri=null,Jn=null,et=0,Fn=null,il=null,En=0,uc=0,fc=null,nm=null,ss=0,dc=null;function Rt(){return(we&2)!==0&&be!==0?be&-be:_.T!==null?vc():vf()}function am(){if(Tt===0)if((be&536870912)===0||Ae){var e=Ls;Ls<<=1,(Ls&3932160)===0&&(Ls=262144),Tt=e}else Tt=536870912;return e=qt.current,e!==null&&(e.flags|=32),Tt}function bt(e,t,n){(e===Be&&(Ce===2||Ce===9)||e.cancelPendingCommit!==null)&&(rl(e,0),In(e,be,Tt,!1)),ql(e,n),((we&2)===0||e!==Be)&&(e===Be&&((we&2)===0&&(qa|=n),Qe===4&&In(e,be,Tt,!1)),tn(e))}function lm(e,t,n){if((we&6)!==0)throw Error(r(327));var l=!n&&(t&127)===0&&(t&e.expiredLanes)===0||El(e,t),o=l?Ky(e,t):mc(e,t,!0),u=l;do{if(o===0){ll&&!l&&In(e,t,0,!1);break}else{if(n=e.current.alternate,u&&!Xy(n)){o=mc(e,t,!1),u=!1;continue}if(o===2){if(u=t,e.errorRecoveryDisabledLanes&u)var h=0;else h=e.pendingLanes&-536870913,h=h!==0?h:h&536870912?536870912:0;if(h!==0){t=h;e:{var x=e;o=ls;var q=x.current.memoizedState.isDehydrated;if(q&&(rl(x,h).flags|=256),h=mc(x,h,!1),h!==2){if(rc&&!q){x.errorRecoveryDisabledLanes|=u,qa|=u,o=4;break e}u=xt,xt=o,u!==null&&(xt===null?xt=u:xt.push.apply(xt,u))}o=h}if(u=!1,o!==2)continue}}if(o===1){rl(e,0),In(e,t,0,!0);break}e:{switch(l=e,u=o,u){case 0:case 1:throw Error(r(345));case 4:if((t&4194048)!==t)break;case 6:In(l,t,Tt,!Kn);break e;case 2:xt=null;break;case 3:case 5:break;default:throw Error(r(329))}if((t&62914560)===t&&(o=Ci+300-ze(),10<o)){if(In(l,t,Tt,!Kn),Hs(l,0,!0)!==0)break e;En=t,l.timeoutHandle=Dm(sm.bind(null,l,n,xt,Ri,cc,t,Tt,qa,sl,Kn,u,"Throttled",-0,0),o);break e}sm(l,n,xt,Ri,cc,t,Tt,qa,sl,Kn,u,null,-0,0)}}break}while(!0);tn(e)}function sm(e,t,n,l,o,u,h,x,q,z,X,Z,L,V){if(e.timeoutHandle=-1,Z=t.subtreeFlags,Z&8192||(Z&16785408)===16785408){Z={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:un},Ih(t,u,Z);var ie=(u&62914560)===u?Ci-ze():(u&4194048)===u?tm-ze():0;if(ie=Tv(Z,ie),ie!==null){En=u,e.cancelPendingCommit=ie(hm.bind(null,e,t,u,n,l,o,h,x,q,X,Z,null,L,V)),In(e,u,h,!z);return}}hm(e,t,u,n,l,o,h,x,q)}function Xy(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var l=0;l<n.length;l++){var o=n[l],u=o.getSnapshot;o=o.value;try{if(!Nt(u(),o))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function In(e,t,n,l){t&=~oc,t&=~qa,e.suspendedLanes|=t,e.pingedLanes&=~t,l&&(e.warmLanes|=t),l=e.expirationTimes;for(var o=t;0<o;){var u=31-jt(o),h=1<<u;l[u]=-1,o&=~h}n!==0&&pf(e,n,t)}function Mi(){return(we&6)===0?(is(0),!1):!0}function hc(){if(ve!==null){if(Ce===0)var e=ve.return;else e=ve,mn=ya=null,To(e),Ia=null,Yl=0,e=ve;for(;e!==null;)zh(e.alternate,e),e=e.return;ve=null}}function rl(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,fv(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),En=0,hc(),Be=e,ve=n=dn(e.current,null),be=t,Ce=0,Ct=null,Kn=!1,ll=El(e,t),rc=!1,sl=Tt=oc=qa=Zn=Qe=0,xt=ls=null,cc=!1,(t&8)!==0&&(t|=t&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=t;0<l;){var o=31-jt(l),u=1<<o;t|=e[o],l&=~u}return Nn=t,Ws(),n}function im(e,t){pe=null,_.H=Fl,t===Fa||t===ii?(t=Ad(),Ce=3):t===yo?(t=Ad(),Ce=4):Ce=t===Xo?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ct=t,ve===null&&(Qe=1,bi(e,Ot(t,e.current)))}function rm(){var e=qt.current;return e===null?!0:(be&4194048)===be?Lt===null:(be&62914560)===be||(be&536870912)!==0?e===Lt:!1}function om(){var e=_.H;return _.H=Fl,e===null?Fl:e}function cm(){var e=_.A;return _.A=Gy,e}function _i(){Qe=4,Kn||(be&4194048)!==be&&qt.current!==null||(ll=!0),(Zn&134217727)===0&&(qa&134217727)===0||Be===null||In(Be,be,Tt,!1)}function mc(e,t,n){var l=we;we|=2;var o=om(),u=cm();(Be!==e||be!==t)&&(Ri=null,rl(e,t)),t=!1;var h=Qe;e:do try{if(Ce!==0&&ve!==null){var x=ve,q=Ct;switch(Ce){case 8:hc(),h=6;break e;case 3:case 2:case 9:case 6:qt.current===null&&(t=!0);var z=Ce;if(Ce=0,Ct=null,ol(e,x,q,z),n&&ll){h=0;break e}break;default:z=Ce,Ce=0,Ct=null,ol(e,x,q,z)}}$y(),h=Qe;break}catch(X){im(e,X)}while(!0);return t&&e.shellSuspendCounter++,mn=ya=null,we=l,_.H=o,_.A=u,ve===null&&(Be=null,be=0,Ws()),h}function $y(){for(;ve!==null;)um(ve)}function Ky(e,t){var n=we;we|=2;var l=om(),o=cm();Be!==e||be!==t?(Ri=null,Ti=ze()+500,rl(e,t)):ll=El(e,t);e:do try{if(Ce!==0&&ve!==null){t=ve;var u=Ct;t:switch(Ce){case 1:Ce=0,Ct=null,ol(e,t,u,1);break;case 2:case 9:if(bd(u)){Ce=0,Ct=null,fm(t);break}t=function(){Ce!==2&&Ce!==9||Be!==e||(Ce=7),tn(e)},u.then(t,t);break e;case 3:Ce=7;break e;case 4:Ce=5;break e;case 7:bd(u)?(Ce=0,Ct=null,fm(t)):(Ce=0,Ct=null,ol(e,t,u,7));break;case 5:var h=null;switch(ve.tag){case 26:h=ve.memoizedState;case 5:case 27:var x=ve;if(h?Fm(h):x.stateNode.complete){Ce=0,Ct=null;var q=x.sibling;if(q!==null)ve=q;else{var z=x.return;z!==null?(ve=z,ki(z)):ve=null}break t}}Ce=0,Ct=null,ol(e,t,u,5);break;case 6:Ce=0,Ct=null,ol(e,t,u,6);break;case 8:hc(),Qe=6;break e;default:throw Error(r(462))}}Zy();break}catch(X){im(e,X)}while(!0);return mn=ya=null,_.H=l,_.A=o,we=n,ve!==null?0:(Be=null,be=0,Ws(),Qe)}function Zy(){for(;ve!==null&&!zs();)um(ve)}function um(e){var t=Oh(e.alternate,e,Nn);e.memoizedProps=e.pendingProps,t===null?ki(e):ve=t}function fm(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Ch(n,t,t.pendingProps,t.type,void 0,be);break;case 11:t=Ch(n,t,t.pendingProps,t.type.render,t.ref,be);break;case 5:To(t);default:zh(n,t),t=ve=cd(t,Nn),t=Oh(n,t,Nn)}e.memoizedProps=e.pendingProps,t===null?ki(e):ve=t}function ol(e,t,n,l){mn=ya=null,To(t),Ia=null,Yl=0;var o=t.return;try{if(zy(e,o,t,n,be)){Qe=1,bi(e,Ot(n,e.current)),ve=null;return}}catch(u){if(o!==null)throw ve=o,u;Qe=1,bi(e,Ot(n,e.current)),ve=null;return}t.flags&32768?(Ae||l===1?e=!0:ll||(be&536870912)!==0?e=!1:(Kn=e=!0,(l===2||l===9||l===3||l===6)&&(l=qt.current,l!==null&&l.tag===13&&(l.flags|=16384))),dm(t,e)):ki(t)}function ki(e){var t=e;do{if((t.flags&32768)!==0){dm(t,Kn);return}e=t.return;var n=Uy(t.alternate,t,Nn);if(n!==null){ve=n;return}if(t=t.sibling,t!==null){ve=t;return}ve=t=e}while(t!==null);Qe===0&&(Qe=5)}function dm(e,t){do{var n=Hy(e.alternate,e);if(n!==null){n.flags&=32767,ve=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){ve=e;return}ve=e=n}while(e!==null);Qe=6,ve=null}function hm(e,t,n,l,o,u,h,x,q){e.cancelPendingCommit=null;do Oi();while(et!==0);if((we&6)!==0)throw Error(r(327));if(t!==null){if(t===e.current)throw Error(r(177));if(u=t.lanes|t.childLanes,u|=to,wg(e,n,u,h,x,q),e===Be&&(ve=Be=null,be=0),il=t,Fn=e,En=n,uc=u,fc=o,nm=l,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,Wy(Me,function(){return vm(),null})):(e.callbackNode=null,e.callbackPriority=0),l=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||l){l=_.T,_.T=null,o=U.p,U.p=2,h=we,we|=4;try{Vy(e,t,n)}finally{we=h,U.p=o,_.T=l}}et=1,mm(),pm(),gm()}}function mm(){if(et===1){et=0;var e=Fn,t=il,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=_.T,_.T=null;var l=U.p;U.p=2;var o=we;we|=4;try{Zh(t,e);var u=qc,h=ed(e.containerInfo),x=u.focusedElem,q=u.selectionRange;if(h!==x&&x&&x.ownerDocument&&Pf(x.ownerDocument.documentElement,x)){if(q!==null&&Fr(x)){var z=q.start,X=q.end;if(X===void 0&&(X=z),"selectionStart"in x)x.selectionStart=z,x.selectionEnd=Math.min(X,x.value.length);else{var Z=x.ownerDocument||document,L=Z&&Z.defaultView||window;if(L.getSelection){var V=L.getSelection(),ie=x.textContent.length,ue=Math.min(q.start,ie),Oe=q.end===void 0?ue:Math.min(q.end,ie);!V.extend&&ue>Oe&&(h=Oe,Oe=ue,ue=h);var k=Wf(x,ue),M=Wf(x,Oe);if(k&&M&&(V.rangeCount!==1||V.anchorNode!==k.node||V.anchorOffset!==k.offset||V.focusNode!==M.node||V.focusOffset!==M.offset)){var D=Z.createRange();D.setStart(k.node,k.offset),V.removeAllRanges(),ue>Oe?(V.addRange(D),V.extend(M.node,M.offset)):(D.setEnd(M.node,M.offset),V.addRange(D))}}}}for(Z=[],V=x;V=V.parentNode;)V.nodeType===1&&Z.push({element:V,left:V.scrollLeft,top:V.scrollTop});for(typeof x.focus=="function"&&x.focus(),x=0;x<Z.length;x++){var K=Z[x];K.element.scrollLeft=K.left,K.element.scrollTop=K.top}}$i=!!Ec,qc=Ec=null}finally{we=o,U.p=l,_.T=n}}e.current=t,et=2}}function pm(){if(et===2){et=0;var e=Fn,t=il,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=_.T,_.T=null;var l=U.p;U.p=2;var o=we;we|=4;try{Gh(e,t.alternate,t)}finally{we=o,U.p=l,_.T=n}}et=3}}function gm(){if(et===4||et===3){et=0,Ne();var e=Fn,t=il,n=En,l=nm;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?et=5:(et=0,il=Fn=null,ym(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(Jn=null),Mr(n),t=t.stateNode,At&&typeof At.onCommitFiberRoot=="function")try{At.onCommitFiberRoot(Nl,t,void 0,(t.current.flags&128)===128)}catch{}if(l!==null){t=_.T,o=U.p,U.p=2,_.T=null;try{for(var u=e.onRecoverableError,h=0;h<l.length;h++){var x=l[h];u(x.value,{componentStack:x.stack})}}finally{_.T=t,U.p=o}}(En&3)!==0&&Oi(),tn(e),o=e.pendingLanes,(n&261930)!==0&&(o&42)!==0?e===dc?ss++:(ss=0,dc=e):ss=0,is(0)}}function ym(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Hl(t)))}function Oi(){return mm(),pm(),gm(),vm()}function vm(){if(et!==5)return!1;var e=Fn,t=uc;uc=0;var n=Mr(En),l=_.T,o=U.p;try{U.p=32>n?32:n,_.T=null,n=fc,fc=null;var u=Fn,h=En;if(et=0,il=Fn=null,En=0,(we&6)!==0)throw Error(r(331));var x=we;if(we|=4,Ph(u.current),Fh(u,u.current,h,n),we=x,is(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(Nl,u)}catch{}return!0}finally{U.p=o,_.T=l,ym(e,t)}}function xm(e,t,n){t=Ot(n,t),t=Qo(e.stateNode,t,2),e=Gn(e,t,2),e!==null&&(ql(e,2),tn(e))}function Te(e,t,n){if(e.tag===3)xm(e,e,n);else for(;t!==null;){if(t.tag===3){xm(t,e,n);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Jn===null||!Jn.has(l))){e=Ot(n,e),n=bh(2),l=Gn(t,n,2),l!==null&&(Sh(n,l,t,e),ql(l,2),tn(l));break}}t=t.return}}function pc(e,t,n){var l=e.pingCache;if(l===null){l=e.pingCache=new Qy;var o=new Set;l.set(t,o)}else o=l.get(t),o===void 0&&(o=new Set,l.set(t,o));o.has(n)||(rc=!0,o.add(n),e=Jy.bind(null,e,t,n),t.then(e,e))}function Jy(e,t,n){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Be===e&&(be&n)===n&&(Qe===4||Qe===3&&(be&62914560)===be&&300>ze()-Ci?(we&2)===0&&rl(e,0):oc|=n,sl===be&&(sl=0)),tn(e)}function bm(e,t){t===0&&(t=mf()),e=ma(e,t),e!==null&&(ql(e,t),tn(e))}function Fy(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),bm(e,n)}function Iy(e,t){var n=0;switch(e.tag){case 31:case 13:var l=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(r(314))}l!==null&&l.delete(t),bm(e,n)}function Wy(e,t){return Al(e,t)}var Di=null,cl=null,gc=!1,zi=!1,yc=!1,Wn=0;function tn(e){e!==cl&&e.next===null&&(cl===null?Di=cl=e:cl=cl.next=e),zi=!0,gc||(gc=!0,ev())}function is(e,t){if(!yc&&zi){yc=!0;do for(var n=!1,l=Di;l!==null;){if(e!==0){var o=l.pendingLanes;if(o===0)var u=0;else{var h=l.suspendedLanes,x=l.pingedLanes;u=(1<<31-jt(42|e)+1)-1,u&=o&~(h&~x),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(n=!0,Nm(l,u))}else u=be,u=Hs(l,l===Be?u:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(u&3)===0||El(l,u)||(n=!0,Nm(l,u));l=l.next}while(n);yc=!1}}function Py(){Sm()}function Sm(){zi=gc=!1;var e=0;Wn!==0&&uv()&&(e=Wn);for(var t=ze(),n=null,l=Di;l!==null;){var o=l.next,u=Am(l,t);u===0?(l.next=null,n===null?Di=o:n.next=o,o===null&&(cl=n)):(n=l,(e!==0||(u&3)!==0)&&(zi=!0)),l=o}et!==0&&et!==5||is(e),Wn!==0&&(Wn=0)}function Am(e,t){for(var n=e.suspendedLanes,l=e.pingedLanes,o=e.expirationTimes,u=e.pendingLanes&-62914561;0<u;){var h=31-jt(u),x=1<<h,q=o[h];q===-1?((x&n)===0||(x&l)!==0)&&(o[h]=qg(x,t)):q<=t&&(e.expiredLanes|=x),u&=~x}if(t=Be,n=be,n=Hs(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l=e.callbackNode,n===0||e===t&&(Ce===2||Ce===9)||e.cancelPendingCommit!==null)return l!==null&&l!==null&&jl(l),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||El(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(l!==null&&jl(l),Mr(n)){case 2:case 8:n=Xe;break;case 32:n=Me;break;case 268435456:n=hf;break;default:n=Me}return l=jm.bind(null,e),n=Al(n,l),e.callbackPriority=t,e.callbackNode=n,t}return l!==null&&l!==null&&jl(l),e.callbackPriority=2,e.callbackNode=null,2}function jm(e,t){if(et!==0&&et!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Oi()&&e.callbackNode!==n)return null;var l=be;return l=Hs(e,e===Be?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l===0?null:(lm(e,l,t),Am(e,ze()),e.callbackNode!=null&&e.callbackNode===n?jm.bind(null,e):null)}function Nm(e,t){if(Oi())return null;lm(e,t,!0)}function ev(){dv(function(){(we&6)!==0?Al(Le,Py):Sm()})}function vc(){if(Wn===0){var e=Za;e===0&&(e=Bs,Bs<<=1,(Bs&261888)===0&&(Bs=256)),Wn=e}return Wn}function Em(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:Qs(""+e)}function qm(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function tv(e,t,n,l,o){if(t==="submit"&&n&&n.stateNode===o){var u=Em((o[mt]||null).action),h=l.submitter;h&&(t=(t=h[mt]||null)?Em(t.formAction):h.getAttribute("formAction"),t!==null&&(u=t,h=null));var x=new Zs("action","action",null,l,o);e.push({event:x,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(Wn!==0){var q=h?qm(o,h):new FormData(o);Lo(n,{pending:!0,data:q,method:o.method,action:u},null,q)}}else typeof u=="function"&&(x.preventDefault(),q=h?qm(o,h):new FormData(o),Lo(n,{pending:!0,data:q,method:o.method,action:u},u,q))},currentTarget:o}]})}}for(var xc=0;xc<eo.length;xc++){var bc=eo[xc],nv=bc.toLowerCase(),av=bc[0].toUpperCase()+bc.slice(1);Xt(nv,"on"+av)}Xt(ad,"onAnimationEnd"),Xt(ld,"onAnimationIteration"),Xt(sd,"onAnimationStart"),Xt("dblclick","onDoubleClick"),Xt("focusin","onFocus"),Xt("focusout","onBlur"),Xt(xy,"onTransitionRun"),Xt(by,"onTransitionStart"),Xt(Sy,"onTransitionCancel"),Xt(id,"onTransitionEnd"),Oa("onMouseEnter",["mouseout","mouseover"]),Oa("onMouseLeave",["mouseout","mouseover"]),Oa("onPointerEnter",["pointerout","pointerover"]),Oa("onPointerLeave",["pointerout","pointerover"]),ua("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ua("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ua("onBeforeInput",["compositionend","keypress","textInput","paste"]),ua("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ua("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ua("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var rs="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),lv=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(rs));function wm(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var l=e[n],o=l.event;l=l.listeners;e:{var u=void 0;if(t)for(var h=l.length-1;0<=h;h--){var x=l[h],q=x.instance,z=x.currentTarget;if(x=x.listener,q!==u&&o.isPropagationStopped())break e;u=x,o.currentTarget=z;try{u(o)}catch(X){Is(X)}o.currentTarget=null,u=q}else for(h=0;h<l.length;h++){if(x=l[h],q=x.instance,z=x.currentTarget,x=x.listener,q!==u&&o.isPropagationStopped())break e;u=x,o.currentTarget=z;try{u(o)}catch(X){Is(X)}o.currentTarget=null,u=q}}}}function xe(e,t){var n=t[_r];n===void 0&&(n=t[_r]=new Set);var l=e+"__bubble";n.has(l)||(Cm(t,e,2,!1),n.add(l))}function Sc(e,t,n){var l=0;t&&(l|=4),Cm(n,e,l,t)}var Bi="_reactListening"+Math.random().toString(36).slice(2);function Ac(e){if(!e[Bi]){e[Bi]=!0,Sf.forEach(function(n){n!=="selectionchange"&&(lv.has(n)||Sc(n,!1,e),Sc(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Bi]||(t[Bi]=!0,Sc("selectionchange",!1,t))}}function Cm(e,t,n,l){switch(ap(t)){case 2:var o=_v;break;case 8:o=kv;break;default:o=Bc}n=o.bind(null,t,n,e),o=void 0,!Vr||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),l?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function jc(e,t,n,l,o){var u=l;if((t&1)===0&&(t&2)===0&&l!==null)e:for(;;){if(l===null)return;var h=l.tag;if(h===3||h===4){var x=l.stateNode.containerInfo;if(x===o)break;if(h===4)for(h=l.return;h!==null;){var q=h.tag;if((q===3||q===4)&&h.stateNode.containerInfo===o)return;h=h.return}for(;x!==null;){if(h=Ma(x),h===null)return;if(q=h.tag,q===5||q===6||q===26||q===27){l=u=h;continue e}x=x.parentNode}}l=l.return}kf(function(){var z=u,X=Ur(n),Z=[];e:{var L=rd.get(e);if(L!==void 0){var V=Zs,ie=e;switch(e){case"keypress":if($s(n)===0)break e;case"keydown":case"keyup":V=Ig;break;case"focusin":ie="focus",V=Xr;break;case"focusout":ie="blur",V=Xr;break;case"beforeblur":case"afterblur":V=Xr;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":V=zf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":V=Ug;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":V=ey;break;case ad:case ld:case sd:V=Yg;break;case id:V=ny;break;case"scroll":case"scrollend":V=Bg;break;case"wheel":V=ly;break;case"copy":case"cut":case"paste":V=Qg;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":V=Lf;break;case"toggle":case"beforetoggle":V=iy}var ue=(t&4)!==0,Oe=!ue&&(e==="scroll"||e==="scrollend"),k=ue?L!==null?L+"Capture":null:L;ue=[];for(var M=z,D;M!==null;){var K=M;if(D=K.stateNode,K=K.tag,K!==5&&K!==26&&K!==27||D===null||k===null||(K=Tl(M,k),K!=null&&ue.push(os(M,K,D))),Oe)break;M=M.return}0<ue.length&&(L=new V(L,ie,null,n,X),Z.push({event:L,listeners:ue}))}}if((t&7)===0){e:{if(L=e==="mouseover"||e==="pointerover",V=e==="mouseout"||e==="pointerout",L&&n!==Lr&&(ie=n.relatedTarget||n.fromElement)&&(Ma(ie)||ie[Ra]))break e;if((V||L)&&(L=X.window===X?X:(L=X.ownerDocument)?L.defaultView||L.parentWindow:window,V?(ie=n.relatedTarget||n.toElement,V=z,ie=ie?Ma(ie):null,ie!==null&&(Oe=d(ie),ue=ie.tag,ie!==Oe||ue!==5&&ue!==27&&ue!==6)&&(ie=null)):(V=null,ie=z),V!==ie)){if(ue=zf,K="onMouseLeave",k="onMouseEnter",M="mouse",(e==="pointerout"||e==="pointerover")&&(ue=Lf,K="onPointerLeave",k="onPointerEnter",M="pointer"),Oe=V==null?L:Cl(V),D=ie==null?L:Cl(ie),L=new ue(K,M+"leave",V,n,X),L.target=Oe,L.relatedTarget=D,K=null,Ma(X)===z&&(ue=new ue(k,M+"enter",ie,n,X),ue.target=D,ue.relatedTarget=Oe,K=ue),Oe=K,V&&ie)t:{for(ue=sv,k=V,M=ie,D=0,K=k;K;K=ue(K))D++;K=0;for(var ce=M;ce;ce=ue(ce))K++;for(;0<D-K;)k=ue(k),D--;for(;0<K-D;)M=ue(M),K--;for(;D--;){if(k===M||M!==null&&k===M.alternate){ue=k;break t}k=ue(k),M=ue(M)}ue=null}else ue=null;V!==null&&Tm(Z,L,V,ue,!1),ie!==null&&Oe!==null&&Tm(Z,Oe,ie,ue,!0)}}e:{if(L=z?Cl(z):window,V=L.nodeName&&L.nodeName.toLowerCase(),V==="select"||V==="input"&&L.type==="file")var Ee=$f;else if(Qf(L))if(Kf)Ee=gy;else{Ee=my;var oe=hy}else V=L.nodeName,!V||V.toLowerCase()!=="input"||L.type!=="checkbox"&&L.type!=="radio"?z&&Br(z.elementType)&&(Ee=$f):Ee=py;if(Ee&&(Ee=Ee(e,z))){Xf(Z,Ee,n,X);break e}oe&&oe(e,L,z),e==="focusout"&&z&&L.type==="number"&&z.memoizedProps.value!=null&&zr(L,"number",L.value)}switch(oe=z?Cl(z):window,e){case"focusin":(Qf(oe)||oe.contentEditable==="true")&&(Ha=oe,Ir=z,Bl=null);break;case"focusout":Bl=Ir=Ha=null;break;case"mousedown":Wr=!0;break;case"contextmenu":case"mouseup":case"dragend":Wr=!1,td(Z,n,X);break;case"selectionchange":if(vy)break;case"keydown":case"keyup":td(Z,n,X)}var ge;if(Kr)e:{switch(e){case"compositionstart":var Se="onCompositionStart";break e;case"compositionend":Se="onCompositionEnd";break e;case"compositionupdate":Se="onCompositionUpdate";break e}Se=void 0}else Ua?Yf(e,n)&&(Se="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(Se="onCompositionStart");Se&&(Uf&&n.locale!=="ko"&&(Ua||Se!=="onCompositionStart"?Se==="onCompositionEnd"&&Ua&&(ge=Of()):(zn=X,Yr="value"in zn?zn.value:zn.textContent,Ua=!0)),oe=Li(z,Se),0<oe.length&&(Se=new Bf(Se,e,null,n,X),Z.push({event:Se,listeners:oe}),ge?Se.data=ge:(ge=Gf(n),ge!==null&&(Se.data=ge)))),(ge=oy?cy(e,n):uy(e,n))&&(Se=Li(z,"onBeforeInput"),0<Se.length&&(oe=new Bf("onBeforeInput","beforeinput",null,n,X),Z.push({event:oe,listeners:Se}),oe.data=ge)),tv(Z,e,z,n,X)}wm(Z,t)})}function os(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Li(e,t){for(var n=t+"Capture",l=[];e!==null;){var o=e,u=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||u===null||(o=Tl(e,n),o!=null&&l.unshift(os(e,o,u)),o=Tl(e,t),o!=null&&l.push(os(e,o,u))),e.tag===3)return l;e=e.return}return[]}function sv(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Tm(e,t,n,l,o){for(var u=t._reactName,h=[];n!==null&&n!==l;){var x=n,q=x.alternate,z=x.stateNode;if(x=x.tag,q!==null&&q===l)break;x!==5&&x!==26&&x!==27||z===null||(q=z,o?(z=Tl(n,u),z!=null&&h.unshift(os(n,z,q))):o||(z=Tl(n,u),z!=null&&h.push(os(n,z,q)))),n=n.return}h.length!==0&&e.push({event:t,listeners:h})}var iv=/\r\n?/g,rv=/\u0000|\uFFFD/g;function Rm(e){return(typeof e=="string"?e:""+e).replace(iv,`
`).replace(rv,"")}function Mm(e,t){return t=Rm(t),Rm(e)===t}function ke(e,t,n,l,o,u){switch(n){case"children":typeof l=="string"?t==="body"||t==="textarea"&&l===""||za(e,l):(typeof l=="number"||typeof l=="bigint")&&t!=="body"&&za(e,""+l);break;case"className":Ys(e,"class",l);break;case"tabIndex":Ys(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Ys(e,n,l);break;case"style":Mf(e,l,u);break;case"data":if(t!=="object"){Ys(e,"data",l);break}case"src":case"href":if(l===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(n);break}l=Qs(""+l),e.setAttribute(n,l);break;case"action":case"formAction":if(typeof l=="function"){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof u=="function"&&(n==="formAction"?(t!=="input"&&ke(e,t,"name",o.name,o,null),ke(e,t,"formEncType",o.formEncType,o,null),ke(e,t,"formMethod",o.formMethod,o,null),ke(e,t,"formTarget",o.formTarget,o,null)):(ke(e,t,"encType",o.encType,o,null),ke(e,t,"method",o.method,o,null),ke(e,t,"target",o.target,o,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(n);break}l=Qs(""+l),e.setAttribute(n,l);break;case"onClick":l!=null&&(e.onclick=un);break;case"onScroll":l!=null&&xe("scroll",e);break;case"onScrollEnd":l!=null&&xe("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(n=l.__html,n!=null){if(o.children!=null)throw Error(r(60));e.innerHTML=n}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){e.removeAttribute("xlink:href");break}n=Qs(""+l),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(n,""+l):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":l===!0?e.setAttribute(n,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(n,l):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(n,l):e.removeAttribute(n);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(n):e.setAttribute(n,l);break;case"popover":xe("beforetoggle",e),xe("toggle",e),Vs(e,"popover",l);break;case"xlinkActuate":cn(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":cn(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":cn(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":cn(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":cn(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":cn(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":cn(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":cn(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":cn(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":Vs(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Dg.get(n)||n,Vs(e,n,l))}}function Nc(e,t,n,l,o,u){switch(n){case"style":Mf(e,l,u);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(r(61));if(n=l.__html,n!=null){if(o.children!=null)throw Error(r(60));e.innerHTML=n}}break;case"children":typeof l=="string"?za(e,l):(typeof l=="number"||typeof l=="bigint")&&za(e,""+l);break;case"onScroll":l!=null&&xe("scroll",e);break;case"onScrollEnd":l!=null&&xe("scrollend",e);break;case"onClick":l!=null&&(e.onclick=un);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Af.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(o=n.endsWith("Capture"),t=n.slice(2,o?n.length-7:void 0),u=e[mt]||null,u=u!=null?u[n]:null,typeof u=="function"&&e.removeEventListener(t,u,o),typeof l=="function")){typeof u!="function"&&u!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,l,o);break e}n in e?e[n]=l:l===!0?e.setAttribute(n,""):Vs(e,n,l)}}}function rt(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":xe("error",e),xe("load",e);var l=!1,o=!1,u;for(u in n)if(n.hasOwnProperty(u)){var h=n[u];if(h!=null)switch(u){case"src":l=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,t));default:ke(e,t,u,h,n,null)}}o&&ke(e,t,"srcSet",n.srcSet,n,null),l&&ke(e,t,"src",n.src,n,null);return;case"input":xe("invalid",e);var x=u=h=o=null,q=null,z=null;for(l in n)if(n.hasOwnProperty(l)){var X=n[l];if(X!=null)switch(l){case"name":o=X;break;case"type":h=X;break;case"checked":q=X;break;case"defaultChecked":z=X;break;case"value":u=X;break;case"defaultValue":x=X;break;case"children":case"dangerouslySetInnerHTML":if(X!=null)throw Error(r(137,t));break;default:ke(e,t,l,X,n,null)}}wf(e,u,x,q,z,h,o,!1);return;case"select":xe("invalid",e),l=h=u=null;for(o in n)if(n.hasOwnProperty(o)&&(x=n[o],x!=null))switch(o){case"value":u=x;break;case"defaultValue":h=x;break;case"multiple":l=x;default:ke(e,t,o,x,n,null)}t=u,n=h,e.multiple=!!l,t!=null?Da(e,!!l,t,!1):n!=null&&Da(e,!!l,n,!0);return;case"textarea":xe("invalid",e),u=o=l=null;for(h in n)if(n.hasOwnProperty(h)&&(x=n[h],x!=null))switch(h){case"value":l=x;break;case"defaultValue":o=x;break;case"children":u=x;break;case"dangerouslySetInnerHTML":if(x!=null)throw Error(r(91));break;default:ke(e,t,h,x,n,null)}Tf(e,l,o,u);return;case"option":for(q in n)if(n.hasOwnProperty(q)&&(l=n[q],l!=null))switch(q){case"selected":e.selected=l&&typeof l!="function"&&typeof l!="symbol";break;default:ke(e,t,q,l,n,null)}return;case"dialog":xe("beforetoggle",e),xe("toggle",e),xe("cancel",e),xe("close",e);break;case"iframe":case"object":xe("load",e);break;case"video":case"audio":for(l=0;l<rs.length;l++)xe(rs[l],e);break;case"image":xe("error",e),xe("load",e);break;case"details":xe("toggle",e);break;case"embed":case"source":case"link":xe("error",e),xe("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(z in n)if(n.hasOwnProperty(z)&&(l=n[z],l!=null))switch(z){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,t));default:ke(e,t,z,l,n,null)}return;default:if(Br(t)){for(X in n)n.hasOwnProperty(X)&&(l=n[X],l!==void 0&&Nc(e,t,X,l,n,void 0));return}}for(x in n)n.hasOwnProperty(x)&&(l=n[x],l!=null&&ke(e,t,x,l,n,null))}function ov(e,t,n,l){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var o=null,u=null,h=null,x=null,q=null,z=null,X=null;for(V in n){var Z=n[V];if(n.hasOwnProperty(V)&&Z!=null)switch(V){case"checked":break;case"value":break;case"defaultValue":q=Z;default:l.hasOwnProperty(V)||ke(e,t,V,null,l,Z)}}for(var L in l){var V=l[L];if(Z=n[L],l.hasOwnProperty(L)&&(V!=null||Z!=null))switch(L){case"type":u=V;break;case"name":o=V;break;case"checked":z=V;break;case"defaultChecked":X=V;break;case"value":h=V;break;case"defaultValue":x=V;break;case"children":case"dangerouslySetInnerHTML":if(V!=null)throw Error(r(137,t));break;default:V!==Z&&ke(e,t,L,V,l,Z)}}Dr(e,h,x,q,z,X,u,o);return;case"select":V=h=x=L=null;for(u in n)if(q=n[u],n.hasOwnProperty(u)&&q!=null)switch(u){case"value":break;case"multiple":V=q;default:l.hasOwnProperty(u)||ke(e,t,u,null,l,q)}for(o in l)if(u=l[o],q=n[o],l.hasOwnProperty(o)&&(u!=null||q!=null))switch(o){case"value":L=u;break;case"defaultValue":x=u;break;case"multiple":h=u;default:u!==q&&ke(e,t,o,u,l,q)}t=x,n=h,l=V,L!=null?Da(e,!!n,L,!1):!!l!=!!n&&(t!=null?Da(e,!!n,t,!0):Da(e,!!n,n?[]:"",!1));return;case"textarea":V=L=null;for(x in n)if(o=n[x],n.hasOwnProperty(x)&&o!=null&&!l.hasOwnProperty(x))switch(x){case"value":break;case"children":break;default:ke(e,t,x,null,l,o)}for(h in l)if(o=l[h],u=n[h],l.hasOwnProperty(h)&&(o!=null||u!=null))switch(h){case"value":L=o;break;case"defaultValue":V=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(r(91));break;default:o!==u&&ke(e,t,h,o,l,u)}Cf(e,L,V);return;case"option":for(var ie in n)if(L=n[ie],n.hasOwnProperty(ie)&&L!=null&&!l.hasOwnProperty(ie))switch(ie){case"selected":e.selected=!1;break;default:ke(e,t,ie,null,l,L)}for(q in l)if(L=l[q],V=n[q],l.hasOwnProperty(q)&&L!==V&&(L!=null||V!=null))switch(q){case"selected":e.selected=L&&typeof L!="function"&&typeof L!="symbol";break;default:ke(e,t,q,L,l,V)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var ue in n)L=n[ue],n.hasOwnProperty(ue)&&L!=null&&!l.hasOwnProperty(ue)&&ke(e,t,ue,null,l,L);for(z in l)if(L=l[z],V=n[z],l.hasOwnProperty(z)&&L!==V&&(L!=null||V!=null))switch(z){case"children":case"dangerouslySetInnerHTML":if(L!=null)throw Error(r(137,t));break;default:ke(e,t,z,L,l,V)}return;default:if(Br(t)){for(var Oe in n)L=n[Oe],n.hasOwnProperty(Oe)&&L!==void 0&&!l.hasOwnProperty(Oe)&&Nc(e,t,Oe,void 0,l,L);for(X in l)L=l[X],V=n[X],!l.hasOwnProperty(X)||L===V||L===void 0&&V===void 0||Nc(e,t,X,L,l,V);return}}for(var k in n)L=n[k],n.hasOwnProperty(k)&&L!=null&&!l.hasOwnProperty(k)&&ke(e,t,k,null,l,L);for(Z in l)L=l[Z],V=n[Z],!l.hasOwnProperty(Z)||L===V||L==null&&V==null||ke(e,t,Z,L,l,V)}function _m(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function cv(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),l=0;l<n.length;l++){var o=n[l],u=o.transferSize,h=o.initiatorType,x=o.duration;if(u&&x&&_m(h)){for(h=0,x=o.responseEnd,l+=1;l<n.length;l++){var q=n[l],z=q.startTime;if(z>x)break;var X=q.transferSize,Z=q.initiatorType;X&&_m(Z)&&(q=q.responseEnd,h+=X*(q<x?1:(x-z)/(q-z)))}if(--l,t+=8*(u+h)/(o.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Ec=null,qc=null;function Ui(e){return e.nodeType===9?e:e.ownerDocument}function km(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Om(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function wc(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Cc=null;function uv(){var e=window.event;return e&&e.type==="popstate"?e===Cc?!1:(Cc=e,!0):(Cc=null,!1)}var Dm=typeof setTimeout=="function"?setTimeout:void 0,fv=typeof clearTimeout=="function"?clearTimeout:void 0,zm=typeof Promise=="function"?Promise:void 0,dv=typeof queueMicrotask=="function"?queueMicrotask:typeof zm<"u"?function(e){return zm.resolve(null).then(e).catch(hv)}:Dm;function hv(e){setTimeout(function(){throw e})}function Pn(e){return e==="head"}function Bm(e,t){var n=t,l=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"||n==="/&"){if(l===0){e.removeChild(o),hl(t);return}l--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")l++;else if(n==="html")cs(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,cs(n);for(var u=n.firstChild;u;){var h=u.nextSibling,x=u.nodeName;u[wl]||x==="SCRIPT"||x==="STYLE"||x==="LINK"&&u.rel.toLowerCase()==="stylesheet"||n.removeChild(u),u=h}}else n==="body"&&cs(e.ownerDocument.body);n=o}while(n);hl(t)}function Lm(e,t){var n=e;e=0;do{var l=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),l&&l.nodeType===8)if(n=l.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=l}while(n)}function Tc(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Tc(n),kr(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function mv(e,t,n,l){for(;e.nodeType===1;){var o=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[wl])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(u=e.getAttribute("rel"),u==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(u!==o.rel||e.getAttribute("href")!==(o.href==null||o.href===""?null:o.href)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin)||e.getAttribute("title")!==(o.title==null?null:o.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(u=e.getAttribute("src"),(u!==(o.src==null?null:o.src)||e.getAttribute("type")!==(o.type==null?null:o.type)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin))&&u&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var u=o.name==null?null:""+o.name;if(o.type==="hidden"&&e.getAttribute("name")===u)return e}else return e;if(e=Ut(e.nextSibling),e===null)break}return null}function pv(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Ut(e.nextSibling),e===null))return null;return e}function Um(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Ut(e.nextSibling),e===null))return null;return e}function Rc(e){return e.data==="$?"||e.data==="$~"}function Mc(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function gv(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var l=function(){t(),n.removeEventListener("DOMContentLoaded",l)};n.addEventListener("DOMContentLoaded",l),e._reactRetry=l}}function Ut(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var _c=null;function Hm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Ut(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Vm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Ym(e,t,n){switch(t=Ui(n),e){case"html":if(e=t.documentElement,!e)throw Error(r(452));return e;case"head":if(e=t.head,!e)throw Error(r(453));return e;case"body":if(e=t.body,!e)throw Error(r(454));return e;default:throw Error(r(451))}}function cs(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);kr(e)}var Ht=new Map,Gm=new Set;function Hi(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var qn=U.d;U.d={f:yv,r:vv,D:xv,C:bv,L:Sv,m:Av,X:Nv,S:jv,M:Ev};function yv(){var e=qn.f(),t=Mi();return e||t}function vv(e){var t=_a(e);t!==null&&t.tag===5&&t.type==="form"?ih(t):qn.r(e)}var ul=typeof document>"u"?null:document;function Qm(e,t,n){var l=ul;if(l&&typeof t=="string"&&t){var o=_t(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof n=="string"&&(o+='[crossorigin="'+n+'"]'),Gm.has(o)||(Gm.add(o),e={rel:e,crossOrigin:n,href:t},l.querySelector(o)===null&&(t=l.createElement("link"),rt(t,"link",e),tt(t),l.head.appendChild(t)))}}function xv(e){qn.D(e),Qm("dns-prefetch",e,null)}function bv(e,t){qn.C(e,t),Qm("preconnect",e,t)}function Sv(e,t,n){qn.L(e,t,n);var l=ul;if(l&&e&&t){var o='link[rel="preload"][as="'+_t(t)+'"]';t==="image"&&n&&n.imageSrcSet?(o+='[imagesrcset="'+_t(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(o+='[imagesizes="'+_t(n.imageSizes)+'"]')):o+='[href="'+_t(e)+'"]';var u=o;switch(t){case"style":u=fl(e);break;case"script":u=dl(e)}Ht.has(u)||(e=b({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Ht.set(u,e),l.querySelector(o)!==null||t==="style"&&l.querySelector(us(u))||t==="script"&&l.querySelector(fs(u))||(t=l.createElement("link"),rt(t,"link",e),tt(t),l.head.appendChild(t)))}}function Av(e,t){qn.m(e,t);var n=ul;if(n&&e){var l=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+_t(l)+'"][href="'+_t(e)+'"]',u=o;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=dl(e)}if(!Ht.has(u)&&(e=b({rel:"modulepreload",href:e},t),Ht.set(u,e),n.querySelector(o)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(fs(u)))return}l=n.createElement("link"),rt(l,"link",e),tt(l),n.head.appendChild(l)}}}function jv(e,t,n){qn.S(e,t,n);var l=ul;if(l&&e){var o=ka(l).hoistableStyles,u=fl(e);t=t||"default";var h=o.get(u);if(!h){var x={loading:0,preload:null};if(h=l.querySelector(us(u)))x.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Ht.get(u))&&kc(e,n);var q=h=l.createElement("link");tt(q),rt(q,"link",e),q._p=new Promise(function(z,X){q.onload=z,q.onerror=X}),q.addEventListener("load",function(){x.loading|=1}),q.addEventListener("error",function(){x.loading|=2}),x.loading|=4,Vi(h,t,l)}h={type:"stylesheet",instance:h,count:1,state:x},o.set(u,h)}}}function Nv(e,t){qn.X(e,t);var n=ul;if(n&&e){var l=ka(n).hoistableScripts,o=dl(e),u=l.get(o);u||(u=n.querySelector(fs(o)),u||(e=b({src:e,async:!0},t),(t=Ht.get(o))&&Oc(e,t),u=n.createElement("script"),tt(u),rt(u,"link",e),n.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},l.set(o,u))}}function Ev(e,t){qn.M(e,t);var n=ul;if(n&&e){var l=ka(n).hoistableScripts,o=dl(e),u=l.get(o);u||(u=n.querySelector(fs(o)),u||(e=b({src:e,async:!0,type:"module"},t),(t=Ht.get(o))&&Oc(e,t),u=n.createElement("script"),tt(u),rt(u,"link",e),n.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},l.set(o,u))}}function Xm(e,t,n,l){var o=(o=le.current)?Hi(o):null;if(!o)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=fl(n.href),n=ka(o).hoistableStyles,l=n.get(t),l||(l={type:"style",instance:null,count:0,state:null},n.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=fl(n.href);var u=ka(o).hoistableStyles,h=u.get(e);if(h||(o=o.ownerDocument||o,h={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,h),(u=o.querySelector(us(e)))&&!u._p&&(h.instance=u,h.state.loading=5),Ht.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Ht.set(e,n),u||qv(o,e,n,h.state))),t&&l===null)throw Error(r(528,""));return h}if(t&&l!==null)throw Error(r(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=dl(n),n=ka(o).hoistableScripts,l=n.get(t),l||(l={type:"script",instance:null,count:0,state:null},n.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function fl(e){return'href="'+_t(e)+'"'}function us(e){return'link[rel="stylesheet"]['+e+"]"}function $m(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function qv(e,t,n,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),rt(t,"link",n),tt(t),e.head.appendChild(t))}function dl(e){return'[src="'+_t(e)+'"]'}function fs(e){return"script[async]"+e}function Km(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+_t(n.href)+'"]');if(l)return t.instance=l,tt(l),l;var o=b({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),tt(l),rt(l,"style",o),Vi(l,n.precedence,e),t.instance=l;case"stylesheet":o=fl(n.href);var u=e.querySelector(us(o));if(u)return t.state.loading|=4,t.instance=u,tt(u),u;l=$m(n),(o=Ht.get(o))&&kc(l,o),u=(e.ownerDocument||e).createElement("link"),tt(u);var h=u;return h._p=new Promise(function(x,q){h.onload=x,h.onerror=q}),rt(u,"link",l),t.state.loading|=4,Vi(u,n.precedence,e),t.instance=u;case"script":return u=dl(n.src),(o=e.querySelector(fs(u)))?(t.instance=o,tt(o),o):(l=n,(o=Ht.get(u))&&(l=b({},n),Oc(l,o)),e=e.ownerDocument||e,o=e.createElement("script"),tt(o),rt(o,"link",l),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,Vi(l,n.precedence,e));return t.instance}function Vi(e,t,n){for(var l=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=l.length?l[l.length-1]:null,u=o,h=0;h<l.length;h++){var x=l[h];if(x.dataset.precedence===t)u=x;else if(u!==o)break}u?u.parentNode.insertBefore(e,u.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function kc(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function Oc(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Yi=null;function Zm(e,t,n){if(Yi===null){var l=new Map,o=Yi=new Map;o.set(n,l)}else o=Yi,l=o.get(n),l||(l=new Map,o.set(n,l));if(l.has(e))return l;for(l.set(e,null),n=n.getElementsByTagName(e),o=0;o<n.length;o++){var u=n[o];if(!(u[wl]||u[at]||e==="link"&&u.getAttribute("rel")==="stylesheet")&&u.namespaceURI!=="http://www.w3.org/2000/svg"){var h=u.getAttribute(t)||"";h=e+h;var x=l.get(h);x?x.push(u):l.set(h,[u])}}return l}function Jm(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function wv(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Fm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Cv(e,t,n,l){if(n.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var o=fl(l.href),u=t.querySelector(us(o));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Gi.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=u,tt(u);return}u=t.ownerDocument||t,l=$m(l),(o=Ht.get(o))&&kc(l,o),u=u.createElement("link"),tt(u);var h=u;h._p=new Promise(function(x,q){h.onload=x,h.onerror=q}),rt(u,"link",l),n.instance=u}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=Gi.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Dc=0;function Tv(e,t){return e.stylesheets&&e.count===0&&Xi(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var l=setTimeout(function(){if(e.stylesheets&&Xi(e,e.stylesheets),e.unsuspend){var u=e.unsuspend;e.unsuspend=null,u()}},6e4+t);0<e.imgBytes&&Dc===0&&(Dc=62500*cv());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xi(e,e.stylesheets),e.unsuspend)){var u=e.unsuspend;e.unsuspend=null,u()}},(e.imgBytes>Dc?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(o)}}:null}function Gi(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xi(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Qi=null;function Xi(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Qi=new Map,t.forEach(Rv,e),Qi=null,Gi.call(e))}function Rv(e,t){if(!(t.state.loading&4)){var n=Qi.get(e);if(n)var l=n.get(null);else{n=new Map,Qi.set(e,n);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u<o.length;u++){var h=o[u];(h.nodeName==="LINK"||h.getAttribute("media")!=="not all")&&(n.set(h.dataset.precedence,h),l=h)}l&&n.set(null,l)}o=t.instance,h=o.getAttribute("data-precedence"),u=n.get(h)||l,u===l&&n.set(null,o),n.set(h,o),this.count++,l=Gi.bind(this),o.addEventListener("load",l),o.addEventListener("error",l),u?u.parentNode.insertBefore(o,u.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(o,e.firstChild)),t.state.loading|=4}}var ds={$$typeof:O,Provider:null,Consumer:null,_currentValue:W,_currentValue2:W,_threadCount:0};function Mv(e,t,n,l,o,u,h,x,q){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Tr(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Tr(0),this.hiddenUpdates=Tr(null),this.identifierPrefix=l,this.onUncaughtError=o,this.onCaughtError=u,this.onRecoverableError=h,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=q,this.incompleteTransitions=new Map}function Im(e,t,n,l,o,u,h,x,q,z,X,Z){return e=new Mv(e,t,n,h,q,z,X,Z,x),t=1,u===!0&&(t|=24),u=Et(3,null,null,t),e.current=u,u.stateNode=e,t=mo(),t.refCount++,e.pooledCache=t,t.refCount++,u.memoizedState={element:l,isDehydrated:n,cache:t},vo(u),e}function Wm(e){return e?(e=Ga,e):Ga}function Pm(e,t,n,l,o,u){o=Wm(o),l.context===null?l.context=o:l.pendingContext=o,l=Yn(t),l.payload={element:n},u=u===void 0?null:u,u!==null&&(l.callback=u),n=Gn(e,l,t),n!==null&&(bt(n,e,t),Ql(n,e,t))}function ep(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function zc(e,t){ep(e,t),(e=e.alternate)&&ep(e,t)}function tp(e){if(e.tag===13||e.tag===31){var t=ma(e,67108864);t!==null&&bt(t,e,67108864),zc(e,67108864)}}function np(e){if(e.tag===13||e.tag===31){var t=Rt();t=Rr(t);var n=ma(e,t);n!==null&&bt(n,e,t),zc(e,t)}}var $i=!0;function _v(e,t,n,l){var o=_.T;_.T=null;var u=U.p;try{U.p=2,Bc(e,t,n,l)}finally{U.p=u,_.T=o}}function kv(e,t,n,l){var o=_.T;_.T=null;var u=U.p;try{U.p=8,Bc(e,t,n,l)}finally{U.p=u,_.T=o}}function Bc(e,t,n,l){if($i){var o=Lc(l);if(o===null)jc(e,t,l,Ki,n),lp(e,l);else if(Dv(o,e,t,n,l))l.stopPropagation();else if(lp(e,l),t&4&&-1<Ov.indexOf(e)){for(;o!==null;){var u=_a(o);if(u!==null)switch(u.tag){case 3:if(u=u.stateNode,u.current.memoizedState.isDehydrated){var h=ca(u.pendingLanes);if(h!==0){var x=u;for(x.pendingLanes|=2,x.entangledLanes|=2;h;){var q=1<<31-jt(h);x.entanglements[1]|=q,h&=~q}tn(u),(we&6)===0&&(Ti=ze()+500,is(0))}}break;case 31:case 13:x=ma(u,2),x!==null&&bt(x,u,2),Mi(),zc(u,2)}if(u=Lc(l),u===null&&jc(e,t,l,Ki,n),u===o)break;o=u}o!==null&&l.stopPropagation()}else jc(e,t,l,null,n)}}function Lc(e){return e=Ur(e),Uc(e)}var Ki=null;function Uc(e){if(Ki=null,e=Ma(e),e!==null){var t=d(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=p(t),e!==null)return e;e=null}else if(n===31){if(e=m(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Ki=e,null}function ap(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ht()){case Le:return 2;case Xe:return 8;case Me:case Cr:return 32;case hf:return 268435456;default:return 32}default:return 32}}var Hc=!1,ea=null,ta=null,na=null,hs=new Map,ms=new Map,aa=[],Ov="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function lp(e,t){switch(e){case"focusin":case"focusout":ea=null;break;case"dragenter":case"dragleave":ta=null;break;case"mouseover":case"mouseout":na=null;break;case"pointerover":case"pointerout":hs.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ms.delete(t.pointerId)}}function ps(e,t,n,l,o,u){return e===null||e.nativeEvent!==u?(e={blockedOn:t,domEventName:n,eventSystemFlags:l,nativeEvent:u,targetContainers:[o]},t!==null&&(t=_a(t),t!==null&&tp(t)),e):(e.eventSystemFlags|=l,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function Dv(e,t,n,l,o){switch(t){case"focusin":return ea=ps(ea,e,t,n,l,o),!0;case"dragenter":return ta=ps(ta,e,t,n,l,o),!0;case"mouseover":return na=ps(na,e,t,n,l,o),!0;case"pointerover":var u=o.pointerId;return hs.set(u,ps(hs.get(u)||null,e,t,n,l,o)),!0;case"gotpointercapture":return u=o.pointerId,ms.set(u,ps(ms.get(u)||null,e,t,n,l,o)),!0}return!1}function sp(e){var t=Ma(e.target);if(t!==null){var n=d(t);if(n!==null){if(t=n.tag,t===13){if(t=p(n),t!==null){e.blockedOn=t,xf(e.priority,function(){np(n)});return}}else if(t===31){if(t=m(n),t!==null){e.blockedOn=t,xf(e.priority,function(){np(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Zi(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=Lc(e.nativeEvent);if(n===null){n=e.nativeEvent;var l=new n.constructor(n.type,n);Lr=l,n.target.dispatchEvent(l),Lr=null}else return t=_a(n),t!==null&&tp(t),e.blockedOn=n,!1;t.shift()}return!0}function ip(e,t,n){Zi(e)&&n.delete(t)}function zv(){Hc=!1,ea!==null&&Zi(ea)&&(ea=null),ta!==null&&Zi(ta)&&(ta=null),na!==null&&Zi(na)&&(na=null),hs.forEach(ip),ms.forEach(ip)}function Ji(e,t){e.blockedOn===t&&(e.blockedOn=null,Hc||(Hc=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,zv)))}var Fi=null;function rp(e){Fi!==e&&(Fi=e,a.unstable_scheduleCallback(a.unstable_NormalPriority,function(){Fi===e&&(Fi=null);for(var t=0;t<e.length;t+=3){var n=e[t],l=e[t+1],o=e[t+2];if(typeof l!="function"){if(Uc(l||n)===null)continue;break}var u=_a(n);u!==null&&(e.splice(t,3),t-=3,Lo(u,{pending:!0,data:o,method:n.method,action:l},l,o))}}))}function hl(e){function t(q){return Ji(q,e)}ea!==null&&Ji(ea,e),ta!==null&&Ji(ta,e),na!==null&&Ji(na,e),hs.forEach(t),ms.forEach(t);for(var n=0;n<aa.length;n++){var l=aa[n];l.blockedOn===e&&(l.blockedOn=null)}for(;0<aa.length&&(n=aa[0],n.blockedOn===null);)sp(n),n.blockedOn===null&&aa.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(l=0;l<n.length;l+=3){var o=n[l],u=n[l+1],h=o[mt]||null;if(typeof u=="function")h||rp(n);else if(h){var x=null;if(u&&u.hasAttribute("formAction")){if(o=u,h=u[mt]||null)x=h.formAction;else if(Uc(o)!==null)continue}else x=h.action;typeof x=="function"?n[l+1]=x:(n.splice(l,3),l-=3),rp(n)}}}function op(){function e(u){u.canIntercept&&u.info==="react-transition"&&u.intercept({handler:function(){return new Promise(function(h){return o=h})},focusReset:"manual",scroll:"manual"})}function t(){o!==null&&(o(),o=null),l||setTimeout(n,20)}function n(){if(!l&&!navigation.transition){var u=navigation.currentEntry;u&&u.url!=null&&navigation.navigate(u.url,{state:u.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,o=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){l=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),o!==null&&(o(),o=null)}}}function Vc(e){this._internalRoot=e}Ii.prototype.render=Vc.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(r(409));var n=t.current,l=Rt();Pm(n,l,e,t,null,null)},Ii.prototype.unmount=Vc.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Pm(e.current,2,null,e,null,null),Mi(),t[Ra]=null}};function Ii(e){this._internalRoot=e}Ii.prototype.unstable_scheduleHydration=function(e){if(e){var t=vf();e={blockedOn:null,target:e,priority:t};for(var n=0;n<aa.length&&t!==0&&t<aa[n].priority;n++);aa.splice(n,0,e),n===0&&sp(e)}};var cp=s.version;if(cp!=="19.2.0")throw Error(r(527,cp,"19.2.0"));U.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(r(188)):(e=Object.keys(e).join(","),Error(r(268,e)));return e=v(t),e=e!==null?S(e):null,e=e===null?null:e.stateNode,e};var Bv={bundleType:0,version:"19.2.0",rendererPackageName:"react-dom",currentDispatcherRef:_,reconcilerVersion:"19.2.0"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Wi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Wi.isDisabled&&Wi.supportsFiber)try{Nl=Wi.inject(Bv),At=Wi}catch{}}return ys.createRoot=function(e,t){if(!f(e))throw Error(r(299));var n=!1,l="",o=gh,u=yh,h=vh;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(u=t.onCaughtError),t.onRecoverableError!==void 0&&(h=t.onRecoverableError)),t=Im(e,1,!1,null,null,n,l,null,o,u,h,op),e[Ra]=t.current,Ac(e),new Vc(t)},ys.hydrateRoot=function(e,t,n){if(!f(e))throw Error(r(299));var l=!1,o="",u=gh,h=yh,x=vh,q=null;return n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onUncaughtError!==void 0&&(u=n.onUncaughtError),n.onCaughtError!==void 0&&(h=n.onCaughtError),n.onRecoverableError!==void 0&&(x=n.onRecoverableError),n.formState!==void 0&&(q=n.formState)),t=Im(e,1,!0,t,n??null,l,o,q,u,h,x,op),t.context=Wm(null),n=t.current,l=Rt(),l=Rr(l),o=Yn(l),o.callback=null,Gn(n,o,l),n=l,t.current.lanes=n,ql(t,n),tn(t),e[Ra]=t.current,Ac(e),new Ii(t)},ys.version="19.2.0",ys}var xp;function Zv(){if(xp)return Qc.exports;xp=1;function a(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(s){console.error(s)}}return a(),Qc.exports=Kv(),Qc.exports}var Jv=Zv();var bp="popstate";function Fv(a={}){function s(r,f){let{pathname:d,search:p,hash:m}=r.location;return mu("",{pathname:d,search:p,hash:m},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function i(r,f){return typeof f=="string"?f:Es(f)}return Wv(s,i,null,a)}function Ye(a,s){if(a===!1||a===null||typeof a>"u")throw new Error(s)}function It(a,s){if(!a){typeof console<"u"&&console.warn(s);try{throw new Error(s)}catch{}}}function Iv(){return Math.random().toString(36).substring(2,10)}function Sp(a,s){return{usr:a.state,key:a.key,idx:s}}function mu(a,s,i=null,r){return{pathname:typeof a=="string"?a:a.pathname,search:"",hash:"",...typeof s=="string"?yl(s):s,state:i,key:s&&s.key||r||Iv()}}function Es({pathname:a="/",search:s="",hash:i=""}){return s&&s!=="?"&&(a+=s.charAt(0)==="?"?s:"?"+s),i&&i!=="#"&&(a+=i.charAt(0)==="#"?i:"#"+i),a}function yl(a){let s={};if(a){let i=a.indexOf("#");i>=0&&(s.hash=a.substring(i),a=a.substring(0,i));let r=a.indexOf("?");r>=0&&(s.search=a.substring(r),a=a.substring(0,r)),a&&(s.pathname=a)}return s}function Wv(a,s,i,r={}){let{window:f=document.defaultView,v5Compat:d=!1}=r,p=f.history,m="POP",y=null,v=S();v==null&&(v=0,p.replaceState({...p.state,idx:v},""));function S(){return(p.state||{idx:null}).idx}function b(){m="POP";let A=S(),j=A==null?null:A-v;v=A,y&&y({action:m,location:C.location,delta:j})}function R(A,j){m="PUSH";let w=mu(C.location,A,j);v=S()+1;let O=Sp(w,v),J=C.createHref(w);try{p.pushState(O,"",J)}catch(Y){if(Y instanceof DOMException&&Y.name==="DataCloneError")throw Y;f.location.assign(J)}d&&y&&y({action:m,location:C.location,delta:1})}function N(A,j){m="REPLACE";let w=mu(C.location,A,j);v=S();let O=Sp(w,v),J=C.createHref(w);p.replaceState(O,"",J),d&&y&&y({action:m,location:C.location,delta:0})}function E(A){return Pv(A)}let C={get action(){return m},get location(){return a(f,p)},listen(A){if(y)throw new Error("A history only accepts one active listener");return f.addEventListener(bp,b),y=A,()=>{f.removeEventListener(bp,b),y=null}},createHref(A){return s(f,A)},createURL:E,encodeLocation(A){let j=E(A);return{pathname:j.pathname,search:j.search,hash:j.hash}},push:R,replace:N,go(A){return p.go(A)}};return C}function Pv(a,s=!1){let i="http://localhost";typeof window<"u"&&(i=window.location.origin!=="null"?window.location.origin:window.location.href),Ye(i,"No window.location.(origin|href) available to create URL");let r=typeof a=="string"?a:Es(a);return r=r.replace(/ $/,"%20"),!s&&r.startsWith("//")&&(r=i+r),new URL(r,i)}function i0(a,s,i="/"){return ex(a,s,i,!1)}function ex(a,s,i,r){let f=typeof s=="string"?yl(s):s,d=Mn(f.pathname||"/",i);if(d==null)return null;let p=r0(a);tx(p);let m=null;for(let y=0;m==null&&y<p.length;++y){let v=dx(d);m=ux(p[y],v,r)}return m}function r0(a,s=[],i=[],r="",f=!1){let d=(p,m,y=f,v)=>{let S={relativePath:v===void 0?p.path||"":v,caseSensitive:p.caseSensitive===!0,childrenIndex:m,route:p};if(S.relativePath.startsWith("/")){if(!S.relativePath.startsWith(r)&&y)return;Ye(S.relativePath.startsWith(r),`Absolute route path "${S.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),S.relativePath=S.relativePath.slice(r.length)}let b=Tn([r,S.relativePath]),R=i.concat(S);p.children&&p.children.length>0&&(Ye(p.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),r0(p.children,s,R,b,y)),!(p.path==null&&!p.index)&&s.push({path:b,score:ox(b,p.index),routesMeta:R})};return a.forEach((p,m)=>{if(p.path===""||!p.path?.includes("?"))d(p,m);else for(let y of o0(p.path))d(p,m,!0,y)}),s}function o0(a){let s=a.split("/");if(s.length===0)return[];let[i,...r]=s,f=i.endsWith("?"),d=i.replace(/\?$/,"");if(r.length===0)return f?[d,""]:[d];let p=o0(r.join("/")),m=[];return m.push(...p.map(y=>y===""?d:[d,y].join("/"))),f&&m.push(...p),m.map(y=>a.startsWith("/")&&y===""?"/":y)}function tx(a){a.sort((s,i)=>s.score!==i.score?i.score-s.score:cx(s.routesMeta.map(r=>r.childrenIndex),i.routesMeta.map(r=>r.childrenIndex)))}var nx=/^:[\w-]+$/,ax=3,lx=2,sx=1,ix=10,rx=-2,Ap=a=>a==="*";function ox(a,s){let i=a.split("/"),r=i.length;return i.some(Ap)&&(r+=rx),s&&(r+=lx),i.filter(f=>!Ap(f)).reduce((f,d)=>f+(nx.test(d)?ax:d===""?sx:ix),r)}function cx(a,s){return a.length===s.length&&a.slice(0,-1).every((r,f)=>r===s[f])?a[a.length-1]-s[s.length-1]:0}function ux(a,s,i=!1){let{routesMeta:r}=a,f={},d="/",p=[];for(let m=0;m<r.length;++m){let y=r[m],v=m===r.length-1,S=d==="/"?s:s.slice(d.length)||"/",b=gr({path:y.relativePath,caseSensitive:y.caseSensitive,end:v},S),R=y.route;if(!b&&v&&i&&!r[r.length-1].route.index&&(b=gr({path:y.relativePath,caseSensitive:y.caseSensitive,end:!1},S)),!b)return null;Object.assign(f,b.params),p.push({params:f,pathname:Tn([d,b.pathname]),pathnameBase:yx(Tn([d,b.pathnameBase])),route:R}),b.pathnameBase!=="/"&&(d=Tn([d,b.pathnameBase]))}return p}function gr(a,s){typeof a=="string"&&(a={path:a,caseSensitive:!1,end:!0});let[i,r]=fx(a.path,a.caseSensitive,a.end),f=s.match(i);if(!f)return null;let d=f[0],p=d.replace(/(.)\/+$/,"$1"),m=f.slice(1);return{params:r.reduce((v,{paramName:S,isOptional:b},R)=>{if(S==="*"){let E=m[R]||"";p=d.slice(0,d.length-E.length).replace(/(.)\/+$/,"$1")}const N=m[R];return b&&!N?v[S]=void 0:v[S]=(N||"").replace(/%2F/g,"/"),v},{}),pathname:d,pathnameBase:p,pattern:a}}function fx(a,s=!1,i=!0){It(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 r=[],f="^"+a.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(p,m,y)=>(r.push({paramName:m,isOptional:y!=null}),y?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return a.endsWith("*")?(r.push({paramName:"*"}),f+=a==="*"||a==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?f+="\\/*$":a!==""&&a!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,s?void 0:"i"),r]}function dx(a){try{return a.split("/").map(s=>decodeURIComponent(s).replace(/\//g,"%2F")).join("/")}catch(s){return It(!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 (${s}).`),a}}function Mn(a,s){if(s==="/")return a;if(!a.toLowerCase().startsWith(s.toLowerCase()))return null;let i=s.endsWith("/")?s.length-1:s.length,r=a.charAt(i);return r&&r!=="/"?null:a.slice(i)||"/"}var hx=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,mx=a=>hx.test(a);function px(a,s="/"){let{pathname:i,search:r="",hash:f=""}=typeof a=="string"?yl(a):a,d;if(i)if(mx(i))d=i;else{if(i.includes("//")){let p=i;i=i.replace(/\/\/+/g,"/"),It(!1,`Pathnames cannot have embedded double slashes - normalizing ${p} -> ${i}`)}i.startsWith("/")?d=jp(i.substring(1),"/"):d=jp(i,s)}else d=s;return{pathname:d,search:vx(r),hash:xx(f)}}function jp(a,s){let i=s.replace(/\/+$/,"").split("/");return a.split("/").forEach(f=>{f===".."?i.length>1&&i.pop():f!=="."&&i.push(f)}),i.length>1?i.join("/"):"/"}function Zc(a,s,i,r){return`Cannot include a '${a}' character in a manually specified \`to.${s}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function gx(a){return a.filter((s,i)=>i===0||s.route.path&&s.route.path.length>0)}function c0(a){let s=gx(a);return s.map((i,r)=>r===s.length-1?i.pathname:i.pathnameBase)}function u0(a,s,i,r=!1){let f;typeof a=="string"?f=yl(a):(f={...a},Ye(!f.pathname||!f.pathname.includes("?"),Zc("?","pathname","search",f)),Ye(!f.pathname||!f.pathname.includes("#"),Zc("#","pathname","hash",f)),Ye(!f.search||!f.search.includes("#"),Zc("#","search","hash",f)));let d=a===""||f.pathname==="",p=d?"/":f.pathname,m;if(p==null)m=i;else{let b=s.length-1;if(!r&&p.startsWith("..")){let R=p.split("/");for(;R[0]==="..";)R.shift(),b-=1;f.pathname=R.join("/")}m=b>=0?s[b]:"/"}let y=px(f,m),v=p&&p!=="/"&&p.endsWith("/"),S=(d||p===".")&&i.endsWith("/");return!y.pathname.endsWith("/")&&(v||S)&&(y.pathname+="/"),y}var Tn=a=>a.join("/").replace(/\/\/+/g,"/"),yx=a=>a.replace(/\/+$/,"").replace(/^\/*/,"/"),vx=a=>!a||a==="?"?"":a.startsWith("?")?a:"?"+a,xx=a=>!a||a==="#"?"":a.startsWith("#")?a:"#"+a;function bx(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.internal=="boolean"&&"data"in a}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var f0=["POST","PUT","PATCH","DELETE"];new Set(f0);var Sx=["GET",...f0];new Set(Sx);var vl=g.createContext(null);vl.displayName="DataRouter";var br=g.createContext(null);br.displayName="DataRouterState";g.createContext(!1);var d0=g.createContext({isTransitioning:!1});d0.displayName="ViewTransition";var Ax=g.createContext(new Map);Ax.displayName="Fetchers";var jx=g.createContext(null);jx.displayName="Await";var ln=g.createContext(null);ln.displayName="Navigation";var Rs=g.createContext(null);Rs.displayName="Location";var _n=g.createContext({outlet:null,matches:[],isDataRoute:!1});_n.displayName="Route";var Ru=g.createContext(null);Ru.displayName="RouteError";function Nx(a,{relative:s}={}){Ye(Ms(),"useHref() may be used only in the context of a <Router> component.");let{basename:i,navigator:r}=g.useContext(ln),{hash:f,pathname:d,search:p}=_s(a,{relative:s}),m=d;return i!=="/"&&(m=d==="/"?i:Tn([i,d])),r.createHref({pathname:m,search:p,hash:f})}function Ms(){return g.useContext(Rs)!=null}function Ta(){return Ye(Ms(),"useLocation() may be used only in the context of a <Router> component."),g.useContext(Rs).location}var h0="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function m0(a){g.useContext(ln).static||g.useLayoutEffect(a)}function Ex(){let{isDataRoute:a}=g.useContext(_n);return a?Lx():qx()}function qx(){Ye(Ms(),"useNavigate() may be used only in the context of a <Router> component.");let a=g.useContext(vl),{basename:s,navigator:i}=g.useContext(ln),{matches:r}=g.useContext(_n),{pathname:f}=Ta(),d=JSON.stringify(c0(r)),p=g.useRef(!1);return m0(()=>{p.current=!0}),g.useCallback((y,v={})=>{if(It(p.current,h0),!p.current)return;if(typeof y=="number"){i.go(y);return}let S=u0(y,JSON.parse(d),f,v.relative==="path");a==null&&s!=="/"&&(S.pathname=S.pathname==="/"?s:Tn([s,S.pathname])),(v.replace?i.replace:i.push)(S,v.state,v)},[s,i,d,f,a])}g.createContext(null);function _s(a,{relative:s}={}){let{matches:i}=g.useContext(_n),{pathname:r}=Ta(),f=JSON.stringify(c0(i));return g.useMemo(()=>u0(a,JSON.parse(f),r,s==="path"),[a,f,r,s])}function wx(a,s){return p0(a,s)}function p0(a,s,i,r,f){Ye(Ms(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:d}=g.useContext(ln),{matches:p}=g.useContext(_n),m=p[p.length-1],y=m?m.params:{},v=m?m.pathname:"/",S=m?m.pathnameBase:"/",b=m&&m.route;{let w=b&&b.path||"";g0(v,!b||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${v}" (under <Route path="${w}">) 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 <Route path="${w}"> to <Route path="${w==="/"?"*":`${w}/*`}">.`)}let R=Ta(),N;if(s){let w=typeof s=="string"?yl(s):s;Ye(S==="/"||w.pathname?.startsWith(S),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${S}" but pathname "${w.pathname}" was given in the \`location\` prop.`),N=w}else N=R;let E=N.pathname||"/",C=E;if(S!=="/"){let w=S.replace(/^\//,"").split("/");C="/"+E.replace(/^\//,"").split("/").slice(w.length).join("/")}let A=i0(a,{pathname:C});It(b||A!=null,`No routes matched location "${N.pathname}${N.search}${N.hash}" `),It(A==null||A[A.length-1].route.element!==void 0||A[A.length-1].route.Component!==void 0||A[A.length-1].route.lazy!==void 0,`Matched leaf route at location "${N.pathname}${N.search}${N.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let j=_x(A&&A.map(w=>Object.assign({},w,{params:Object.assign({},y,w.params),pathname:Tn([S,d.encodeLocation?d.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?S:Tn([S,d.encodeLocation?d.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),p,i,r,f);return s&&j?g.createElement(Rs.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...N},navigationType:"POP"}},j):j}function Cx(){let a=Bx(),s=bx(a)?`${a.status} ${a.statusText}`:a instanceof Error?a.message:JSON.stringify(a),i=a instanceof Error?a.stack:null,r="rgba(200,200,200, 0.5)",f={padding:"0.5rem",backgroundColor:r},d={padding:"2px 4px",backgroundColor:r},p=null;return console.error("Error handled by React Router default ErrorBoundary:",a),p=g.createElement(g.Fragment,null,g.createElement("p",null,"💿 Hey developer 👋"),g.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",g.createElement("code",{style:d},"ErrorBoundary")," or"," ",g.createElement("code",{style:d},"errorElement")," prop on your route.")),g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},s),i?g.createElement("pre",{style:f},i):null,p)}var Tx=g.createElement(Cx,null),Rx=class extends g.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,s){return s.location!==a.location||s.revalidation!=="idle"&&a.revalidation==="idle"?{error:a.error,location:a.location,revalidation:a.revalidation}:{error:a.error!==void 0?a.error:s.error,location:s.location,revalidation:a.revalidation||s.revalidation}}componentDidCatch(a,s){this.props.onError?this.props.onError(a,s):console.error("React Router caught the following error during render",a)}render(){return this.state.error!==void 0?g.createElement(_n.Provider,{value:this.props.routeContext},g.createElement(Ru.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Mx({routeContext:a,match:s,children:i}){let r=g.useContext(vl);return r&&r.static&&r.staticContext&&(s.route.errorElement||s.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=s.route.id),g.createElement(_n.Provider,{value:a},i)}function _x(a,s=[],i=null,r=null,f=null){if(a==null){if(!i)return null;if(i.errors)a=i.matches;else if(s.length===0&&!i.initialized&&i.matches.length>0)a=i.matches;else return null}let d=a,p=i?.errors;if(p!=null){let S=d.findIndex(b=>b.route.id&&p?.[b.route.id]!==void 0);Ye(S>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(p).join(",")}`),d=d.slice(0,Math.min(d.length,S+1))}let m=!1,y=-1;if(i)for(let S=0;S<d.length;S++){let b=d[S];if((b.route.HydrateFallback||b.route.hydrateFallbackElement)&&(y=S),b.route.id){let{loaderData:R,errors:N}=i,E=b.route.loader&&!R.hasOwnProperty(b.route.id)&&(!N||N[b.route.id]===void 0);if(b.route.lazy||E){m=!0,y>=0?d=d.slice(0,y+1):d=[d[0]];break}}}let v=i&&r?(S,b)=>{r(S,{location:i.location,params:i.matches?.[0]?.params??{},errorInfo:b})}:void 0;return d.reduceRight((S,b,R)=>{let N,E=!1,C=null,A=null;i&&(N=p&&b.route.id?p[b.route.id]:void 0,C=b.route.errorElement||Tx,m&&(y<0&&R===0?(g0("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),E=!0,A=null):y===R&&(E=!0,A=b.route.hydrateFallbackElement||null)));let j=s.concat(d.slice(0,R+1)),w=()=>{let O;return N?O=C:E?O=A:b.route.Component?O=g.createElement(b.route.Component,null):b.route.element?O=b.route.element:O=S,g.createElement(Mx,{match:b,routeContext:{outlet:S,matches:j,isDataRoute:i!=null},children:O})};return i&&(b.route.ErrorBoundary||b.route.errorElement||R===0)?g.createElement(Rx,{location:i.location,revalidation:i.revalidation,component:C,error:N,children:w(),routeContext:{outlet:null,matches:j,isDataRoute:!0},onError:v}):w()},null)}function Mu(a){return`${a} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function kx(a){let s=g.useContext(vl);return Ye(s,Mu(a)),s}function Ox(a){let s=g.useContext(br);return Ye(s,Mu(a)),s}function Dx(a){let s=g.useContext(_n);return Ye(s,Mu(a)),s}function _u(a){let s=Dx(a),i=s.matches[s.matches.length-1];return Ye(i.route.id,`${a} can only be used on routes that contain a unique "id"`),i.route.id}function zx(){return _u("useRouteId")}function Bx(){let a=g.useContext(Ru),s=Ox("useRouteError"),i=_u("useRouteError");return a!==void 0?a:s.errors?.[i]}function Lx(){let{router:a}=kx("useNavigate"),s=_u("useNavigate"),i=g.useRef(!1);return m0(()=>{i.current=!0}),g.useCallback(async(f,d={})=>{It(i.current,h0),i.current&&(typeof f=="number"?a.navigate(f):await a.navigate(f,{fromRouteId:s,...d}))},[a,s])}var Np={};function g0(a,s,i){!s&&!Np[a]&&(Np[a]=!0,It(!1,i))}g.memo(Ux);function Ux({routes:a,future:s,state:i,unstable_onError:r}){return p0(a,void 0,i,r,s)}function rr(a){Ye(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function Hx({basename:a="/",children:s=null,location:i,navigationType:r="POP",navigator:f,static:d=!1}){Ye(!Ms(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let p=a.replace(/^\/*/,"/"),m=g.useMemo(()=>({basename:p,navigator:f,static:d,future:{}}),[p,f,d]);typeof i=="string"&&(i=yl(i));let{pathname:y="/",search:v="",hash:S="",state:b=null,key:R="default"}=i,N=g.useMemo(()=>{let E=Mn(y,p);return E==null?null:{location:{pathname:E,search:v,hash:S,state:b,key:R},navigationType:r}},[p,y,v,S,b,R,r]);return It(N!=null,`<Router basename="${p}"> is not able to match the URL "${y}${v}${S}" because it does not start with the basename, so the <Router> won't render anything.`),N==null?null:g.createElement(ln.Provider,{value:m},g.createElement(Rs.Provider,{children:s,value:N}))}function Vx({children:a,location:s}){return wx(pu(a),s)}function pu(a,s=[]){let i=[];return g.Children.forEach(a,(r,f)=>{if(!g.isValidElement(r))return;let d=[...s,f];if(r.type===g.Fragment){i.push.apply(i,pu(r.props.children,d));return}Ye(r.type===rr,`[${typeof r.type=="string"?r.type:r.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),Ye(!r.props.index||!r.props.children,"An index route cannot have child routes.");let p={id:r.props.id||d.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(p.children=pu(r.props.children,d)),i.push(p)}),i}var or="get",cr="application/x-www-form-urlencoded";function Sr(a){return a!=null&&typeof a.tagName=="string"}function Yx(a){return Sr(a)&&a.tagName.toLowerCase()==="button"}function Gx(a){return Sr(a)&&a.tagName.toLowerCase()==="form"}function Qx(a){return Sr(a)&&a.tagName.toLowerCase()==="input"}function Xx(a){return!!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)}function $x(a,s){return a.button===0&&(!s||s==="_self")&&!Xx(a)}var Pi=null;function Kx(){if(Pi===null)try{new FormData(document.createElement("form"),0),Pi=!1}catch{Pi=!0}return Pi}var Zx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Jc(a){return a!=null&&!Zx.has(a)?(It(!1,`"${a}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${cr}"`),null):a}function Jx(a,s){let i,r,f,d,p;if(Gx(a)){let m=a.getAttribute("action");r=m?Mn(m,s):null,i=a.getAttribute("method")||or,f=Jc(a.getAttribute("enctype"))||cr,d=new FormData(a)}else if(Yx(a)||Qx(a)&&(a.type==="submit"||a.type==="image")){let m=a.form;if(m==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let y=a.getAttribute("formaction")||m.getAttribute("action");if(r=y?Mn(y,s):null,i=a.getAttribute("formmethod")||m.getAttribute("method")||or,f=Jc(a.getAttribute("formenctype"))||Jc(m.getAttribute("enctype"))||cr,d=new FormData(m,a),!Kx()){let{name:v,type:S,value:b}=a;if(S==="image"){let R=v?`${v}.`:"";d.append(`${R}x`,"0"),d.append(`${R}y`,"0")}else v&&d.append(v,b)}}else{if(Sr(a))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');i=or,r=null,f=cr,p=a}return d&&f==="text/plain"&&(p=d,d=void 0),{action:r,method:i.toLowerCase(),encType:f,formData:d,body:p}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function ku(a,s){if(a===!1||a===null||typeof a>"u")throw new Error(s)}function Fx(a,s,i){let r=typeof a=="string"?new URL(a,typeof window>"u"?"server://singlefetch/":window.location.origin):a;return r.pathname==="/"?r.pathname=`_root.${i}`:s&&Mn(r.pathname,s)==="/"?r.pathname=`${s.replace(/\/$/,"")}/_root.${i}`:r.pathname=`${r.pathname.replace(/\/$/,"")}.${i}`,r}async function Ix(a,s){if(a.id in s)return s[a.id];try{let i=await import(a.module);return s[a.id]=i,i}catch(i){return console.error(`Error loading route module \`${a.module}\`, reloading page...`),console.error(i),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function Wx(a){return a==null?!1:a.href==null?a.rel==="preload"&&typeof a.imageSrcSet=="string"&&typeof a.imageSizes=="string":typeof a.rel=="string"&&typeof a.href=="string"}async function Px(a,s,i){let r=await Promise.all(a.map(async f=>{let d=s.routes[f.route.id];if(d){let p=await Ix(d,i);return p.links?p.links():[]}return[]}));return ab(r.flat(1).filter(Wx).filter(f=>f.rel==="stylesheet"||f.rel==="preload").map(f=>f.rel==="stylesheet"?{...f,rel:"prefetch",as:"style"}:{...f,rel:"prefetch"}))}function Ep(a,s,i,r,f,d){let p=(y,v)=>i[v]?y.route.id!==i[v].route.id:!0,m=(y,v)=>i[v].pathname!==y.pathname||i[v].route.path?.endsWith("*")&&i[v].params["*"]!==y.params["*"];return d==="assets"?s.filter((y,v)=>p(y,v)||m(y,v)):d==="data"?s.filter((y,v)=>{let S=r.routes[y.route.id];if(!S||!S.hasLoader)return!1;if(p(y,v)||m(y,v))return!0;if(y.route.shouldRevalidate){let b=y.route.shouldRevalidate({currentUrl:new URL(f.pathname+f.search+f.hash,window.origin),currentParams:i[0]?.params||{},nextUrl:new URL(a,window.origin),nextParams:y.params,defaultShouldRevalidate:!0});if(typeof b=="boolean")return b}return!0}):[]}function eb(a,s,{includeHydrateFallback:i}={}){return tb(a.map(r=>{let f=s.routes[r.route.id];if(!f)return[];let d=[f.module];return f.clientActionModule&&(d=d.concat(f.clientActionModule)),f.clientLoaderModule&&(d=d.concat(f.clientLoaderModule)),i&&f.hydrateFallbackModule&&(d=d.concat(f.hydrateFallbackModule)),f.imports&&(d=d.concat(f.imports)),d}).flat(1))}function tb(a){return[...new Set(a)]}function nb(a){let s={},i=Object.keys(a).sort();for(let r of i)s[r]=a[r];return s}function ab(a,s){let i=new Set;return new Set(s),a.reduce((r,f)=>{let d=JSON.stringify(nb(f));return i.has(d)||(i.add(d),r.push({key:d,link:f})),r},[])}function y0(){let a=g.useContext(vl);return ku(a,"You must render this element inside a <DataRouterContext.Provider> element"),a}function lb(){let a=g.useContext(br);return ku(a,"You must render this element inside a <DataRouterStateContext.Provider> element"),a}var Ou=g.createContext(void 0);Ou.displayName="FrameworkContext";function v0(){let a=g.useContext(Ou);return ku(a,"You must render this element inside a <HydratedRouter> element"),a}function sb(a,s){let i=g.useContext(Ou),[r,f]=g.useState(!1),[d,p]=g.useState(!1),{onFocus:m,onBlur:y,onMouseEnter:v,onMouseLeave:S,onTouchStart:b}=s,R=g.useRef(null);g.useEffect(()=>{if(a==="render"&&p(!0),a==="viewport"){let C=j=>{j.forEach(w=>{p(w.isIntersecting)})},A=new IntersectionObserver(C,{threshold:.5});return R.current&&A.observe(R.current),()=>{A.disconnect()}}},[a]),g.useEffect(()=>{if(r){let C=setTimeout(()=>{p(!0)},100);return()=>{clearTimeout(C)}}},[r]);let N=()=>{f(!0)},E=()=>{f(!1),p(!1)};return i?a!=="intent"?[d,R,{}]:[d,R,{onFocus:vs(m,N),onBlur:vs(y,E),onMouseEnter:vs(v,N),onMouseLeave:vs(S,E),onTouchStart:vs(b,N)}]:[!1,R,{}]}function vs(a,s){return i=>{a&&a(i),i.defaultPrevented||s(i)}}function ib({page:a,...s}){let{router:i}=y0(),r=g.useMemo(()=>i0(i.routes,a,i.basename),[i.routes,a,i.basename]);return r?g.createElement(ob,{page:a,matches:r,...s}):null}function rb(a){let{manifest:s,routeModules:i}=v0(),[r,f]=g.useState([]);return g.useEffect(()=>{let d=!1;return Px(a,s,i).then(p=>{d||f(p)}),()=>{d=!0}},[a,s,i]),r}function ob({page:a,matches:s,...i}){let r=Ta(),{manifest:f,routeModules:d}=v0(),{basename:p}=y0(),{loaderData:m,matches:y}=lb(),v=g.useMemo(()=>Ep(a,s,y,f,r,"data"),[a,s,y,f,r]),S=g.useMemo(()=>Ep(a,s,y,f,r,"assets"),[a,s,y,f,r]),b=g.useMemo(()=>{if(a===r.pathname+r.search+r.hash)return[];let E=new Set,C=!1;if(s.forEach(j=>{let w=f.routes[j.route.id];!w||!w.hasLoader||(!v.some(O=>O.route.id===j.route.id)&&j.route.id in m&&d[j.route.id]?.shouldRevalidate||w.hasClientLoader?C=!0:E.add(j.route.id))}),E.size===0)return[];let A=Fx(a,p,"data");return C&&E.size>0&&A.searchParams.set("_routes",s.filter(j=>E.has(j.route.id)).map(j=>j.route.id).join(",")),[A.pathname+A.search]},[p,m,r,f,v,s,a,d]),R=g.useMemo(()=>eb(S,f),[S,f]),N=rb(S);return g.createElement(g.Fragment,null,b.map(E=>g.createElement("link",{key:E,rel:"prefetch",as:"fetch",href:E,...i})),R.map(E=>g.createElement("link",{key:E,rel:"modulepreload",href:E,...i})),N.map(({key:E,link:C})=>g.createElement("link",{key:E,nonce:i.nonce,...C})))}function cb(...a){return s=>{a.forEach(i=>{typeof i=="function"?i(s):i!=null&&(i.current=s)})}}var x0=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{x0&&(window.__reactRouterVersion="7.9.6")}catch{}function ub({basename:a,children:s,window:i}){let r=g.useRef();r.current==null&&(r.current=Fv({window:i,v5Compat:!0}));let f=r.current,[d,p]=g.useState({action:f.action,location:f.location}),m=g.useCallback(y=>{g.startTransition(()=>p(y))},[p]);return g.useLayoutEffect(()=>f.listen(m),[f,m]),g.createElement(Hx,{basename:a,children:s,location:d.location,navigationType:d.action,navigator:f})}var b0=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,S0=g.forwardRef(function({onClick:s,discover:i="render",prefetch:r="none",relative:f,reloadDocument:d,replace:p,state:m,target:y,to:v,preventScrollReset:S,viewTransition:b,...R},N){let{basename:E}=g.useContext(ln),C=typeof v=="string"&&b0.test(v),A,j=!1;if(typeof v=="string"&&C&&(A=v,x0))try{let F=new URL(window.location.href),ne=v.startsWith("//")?new URL(F.protocol+v):new URL(v),se=Mn(ne.pathname,E);ne.origin===F.origin&&se!=null?v=se+ne.search+ne.hash:j=!0}catch{It(!1,`<Link to="${v}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}let w=Nx(v,{relative:f}),[O,J,Y]=sb(r,R),G=mb(v,{replace:p,state:m,target:y,preventScrollReset:S,relative:f,viewTransition:b});function $(F){s&&s(F),F.defaultPrevented||G(F)}let te=g.createElement("a",{...R,...Y,href:A||w,onClick:j||d?s:$,ref:cb(N,J),target:y,"data-discover":!C&&i==="render"?"true":void 0});return O&&!C?g.createElement(g.Fragment,null,te,g.createElement(ib,{page:w})):te});S0.displayName="Link";var fb=g.forwardRef(function({"aria-current":s="page",caseSensitive:i=!1,className:r="",end:f=!1,style:d,to:p,viewTransition:m,children:y,...v},S){let b=_s(p,{relative:v.relative}),R=Ta(),N=g.useContext(br),{navigator:E,basename:C}=g.useContext(ln),A=N!=null&&xb(b)&&m===!0,j=E.encodeLocation?E.encodeLocation(b).pathname:b.pathname,w=R.pathname,O=N&&N.navigation&&N.navigation.location?N.navigation.location.pathname:null;i||(w=w.toLowerCase(),O=O?O.toLowerCase():null,j=j.toLowerCase()),O&&C&&(O=Mn(O,C)||O);const J=j!=="/"&&j.endsWith("/")?j.length-1:j.length;let Y=w===j||!f&&w.startsWith(j)&&w.charAt(J)==="/",G=O!=null&&(O===j||!f&&O.startsWith(j)&&O.charAt(j.length)==="/"),$={isActive:Y,isPending:G,isTransitioning:A},te=Y?s:void 0,F;typeof r=="function"?F=r($):F=[r,Y?"active":null,G?"pending":null,A?"transitioning":null].filter(Boolean).join(" ");let ne=typeof d=="function"?d($):d;return g.createElement(S0,{...v,"aria-current":te,className:F,ref:S,style:ne,to:p,viewTransition:m},typeof y=="function"?y($):y)});fb.displayName="NavLink";var db=g.forwardRef(({discover:a="render",fetcherKey:s,navigate:i,reloadDocument:r,replace:f,state:d,method:p=or,action:m,onSubmit:y,relative:v,preventScrollReset:S,viewTransition:b,...R},N)=>{let E=yb(),C=vb(m,{relative:v}),A=p.toLowerCase()==="get"?"get":"post",j=typeof m=="string"&&b0.test(m),w=O=>{if(y&&y(O),O.defaultPrevented)return;O.preventDefault();let J=O.nativeEvent.submitter,Y=J?.getAttribute("formmethod")||p;E(J||O.currentTarget,{fetcherKey:s,method:Y,navigate:i,replace:f,state:d,relative:v,preventScrollReset:S,viewTransition:b})};return g.createElement("form",{ref:N,method:A,action:C,onSubmit:r?y:w,...R,"data-discover":!j&&a==="render"?"true":void 0})});db.displayName="Form";function hb(a){return`${a} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function A0(a){let s=g.useContext(vl);return Ye(s,hb(a)),s}function mb(a,{target:s,replace:i,state:r,preventScrollReset:f,relative:d,viewTransition:p}={}){let m=Ex(),y=Ta(),v=_s(a,{relative:d});return g.useCallback(S=>{if($x(S,s)){S.preventDefault();let b=i!==void 0?i:Es(y)===Es(v);m(a,{replace:b,state:r,preventScrollReset:f,relative:d,viewTransition:p})}},[y,m,v,i,r,s,a,f,d,p])}var pb=0,gb=()=>`__${String(++pb)}__`;function yb(){let{router:a}=A0("useSubmit"),{basename:s}=g.useContext(ln),i=zx();return g.useCallback(async(r,f={})=>{let{action:d,method:p,encType:m,formData:y,body:v}=Jx(r,s);if(f.navigate===!1){let S=f.fetcherKey||gb();await a.fetch(S,i,f.action||d,{preventScrollReset:f.preventScrollReset,formData:y,body:v,formMethod:f.method||p,formEncType:f.encType||m,flushSync:f.flushSync})}else await a.navigate(f.action||d,{preventScrollReset:f.preventScrollReset,formData:y,body:v,formMethod:f.method||p,formEncType:f.encType||m,replace:f.replace,state:f.state,fromRouteId:i,flushSync:f.flushSync,viewTransition:f.viewTransition})},[a,s,i])}function vb(a,{relative:s}={}){let{basename:i}=g.useContext(ln),r=g.useContext(_n);Ye(r,"useFormAction must be used inside a RouteContext");let[f]=r.matches.slice(-1),d={..._s(a||".",{relative:s})},p=Ta();if(a==null){d.search=p.search;let m=new URLSearchParams(d.search),y=m.getAll("index");if(y.some(S=>S==="")){m.delete("index"),y.filter(b=>b).forEach(b=>m.append("index",b));let S=m.toString();d.search=S?`?${S}`:""}}return(!a||a===".")&&f.route.index&&(d.search=d.search?d.search.replace(/^\?/,"?index&"):"?index"),i!=="/"&&(d.pathname=d.pathname==="/"?i:Tn([i,d.pathname])),Es(d)}function xb(a,{relative:s}={}){let i=g.useContext(d0);Ye(i!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:r}=A0("useViewTransitionState"),f=_s(a,{relative:s});if(!i.isTransitioning)return!1;let d=Mn(i.currentLocation.pathname,r)||i.currentLocation.pathname,p=Mn(i.nextLocation.pathname,r)||i.nextLocation.pathname;return gr(f.pathname,p)!=null||gr(f.pathname,d)!=null}const an=Object.create(null);an.open="0";an.close="1";an.ping="2";an.pong="3";an.message="4";an.upgrade="5";an.noop="6";const ur=Object.create(null);Object.keys(an).forEach(a=>{ur[an[a]]=a});const gu={type:"error",data:"parser error"},j0=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",N0=typeof ArrayBuffer=="function",E0=a=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(a):a&&a.buffer instanceof ArrayBuffer,Du=({type:a,data:s},i,r)=>j0&&s instanceof Blob?i?r(s):qp(s,r):N0&&(s instanceof ArrayBuffer||E0(s))?i?r(s):qp(new Blob([s]),r):r(an[a]+(s||"")),qp=(a,s)=>{const i=new FileReader;return i.onload=function(){const r=i.result.split(",")[1];s("b"+(r||""))},i.readAsDataURL(a)};function wp(a){return a instanceof Uint8Array?a:a instanceof ArrayBuffer?new Uint8Array(a):new Uint8Array(a.buffer,a.byteOffset,a.byteLength)}let Fc;function bb(a,s){if(j0&&a.data instanceof Blob)return a.data.arrayBuffer().then(wp).then(s);if(N0&&(a.data instanceof ArrayBuffer||E0(a.data)))return s(wp(a.data));Du(a,!1,i=>{Fc||(Fc=new TextEncoder),s(Fc.encode(i))})}const Cp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",As=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let a=0;a<Cp.length;a++)As[Cp.charCodeAt(a)]=a;const Sb=a=>{let s=a.length*.75,i=a.length,r,f=0,d,p,m,y;a[a.length-1]==="="&&(s--,a[a.length-2]==="="&&s--);const v=new ArrayBuffer(s),S=new Uint8Array(v);for(r=0;r<i;r+=4)d=As[a.charCodeAt(r)],p=As[a.charCodeAt(r+1)],m=As[a.charCodeAt(r+2)],y=As[a.charCodeAt(r+3)],S[f++]=d<<2|p>>4,S[f++]=(p&15)<<4|m>>2,S[f++]=(m&3)<<6|y&63;return v},Ab=typeof ArrayBuffer=="function",zu=(a,s)=>{if(typeof a!="string")return{type:"message",data:q0(a,s)};const i=a.charAt(0);return i==="b"?{type:"message",data:jb(a.substring(1),s)}:ur[i]?a.length>1?{type:ur[i],data:a.substring(1)}:{type:ur[i]}:gu},jb=(a,s)=>{if(Ab){const i=Sb(a);return q0(i,s)}else return{base64:!0,data:a}},q0=(a,s)=>{switch(s){case"blob":return a instanceof Blob?a:new Blob([a]);case"arraybuffer":default:return a instanceof ArrayBuffer?a:a.buffer}},w0="",Nb=(a,s)=>{const i=a.length,r=new Array(i);let f=0;a.forEach((d,p)=>{Du(d,!1,m=>{r[p]=m,++f===i&&s(r.join(w0))})})},Eb=(a,s)=>{const i=a.split(w0),r=[];for(let f=0;f<i.length;f++){const d=zu(i[f],s);if(r.push(d),d.type==="error")break}return r};function qb(){return new TransformStream({transform(a,s){bb(a,i=>{const r=i.length;let f;if(r<126)f=new Uint8Array(1),new DataView(f.buffer).setUint8(0,r);else if(r<65536){f=new Uint8Array(3);const d=new DataView(f.buffer);d.setUint8(0,126),d.setUint16(1,r)}else{f=new Uint8Array(9);const d=new DataView(f.buffer);d.setUint8(0,127),d.setBigUint64(1,BigInt(r))}a.data&&typeof a.data!="string"&&(f[0]|=128),s.enqueue(f),s.enqueue(i)})}})}let Ic;function er(a){return a.reduce((s,i)=>s+i.length,0)}function tr(a,s){if(a[0].length===s)return a.shift();const i=new Uint8Array(s);let r=0;for(let f=0;f<s;f++)i[f]=a[0][r++],r===a[0].length&&(a.shift(),r=0);return a.length&&r<a[0].length&&(a[0]=a[0].slice(r)),i}function wb(a,s){Ic||(Ic=new TextDecoder);const i=[];let r=0,f=-1,d=!1;return new TransformStream({transform(p,m){for(i.push(p);;){if(r===0){if(er(i)<1)break;const y=tr(i,1);d=(y[0]&128)===128,f=y[0]&127,f<126?r=3:f===126?r=1:r=2}else if(r===1){if(er(i)<2)break;const y=tr(i,2);f=new DataView(y.buffer,y.byteOffset,y.length).getUint16(0),r=3}else if(r===2){if(er(i)<8)break;const y=tr(i,8),v=new DataView(y.buffer,y.byteOffset,y.length),S=v.getUint32(0);if(S>Math.pow(2,21)-1){m.enqueue(gu);break}f=S*Math.pow(2,32)+v.getUint32(4),r=3}else{if(er(i)<f)break;const y=tr(i,f);m.enqueue(zu(d?y:Ic.decode(y),s)),r=0}if(f===0||f>a){m.enqueue(gu);break}}}})}const C0=4;function Pe(a){if(a)return Cb(a)}function Cb(a){for(var s in Pe.prototype)a[s]=Pe.prototype[s];return a}Pe.prototype.on=Pe.prototype.addEventListener=function(a,s){return this._callbacks=this._callbacks||{},(this._callbacks["$"+a]=this._callbacks["$"+a]||[]).push(s),this};Pe.prototype.once=function(a,s){function i(){this.off(a,i),s.apply(this,arguments)}return i.fn=s,this.on(a,i),this};Pe.prototype.off=Pe.prototype.removeListener=Pe.prototype.removeAllListeners=Pe.prototype.removeEventListener=function(a,s){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var i=this._callbacks["$"+a];if(!i)return this;if(arguments.length==1)return delete this._callbacks["$"+a],this;for(var r,f=0;f<i.length;f++)if(r=i[f],r===s||r.fn===s){i.splice(f,1);break}return i.length===0&&delete this._callbacks["$"+a],this};Pe.prototype.emit=function(a){this._callbacks=this._callbacks||{};for(var s=new Array(arguments.length-1),i=this._callbacks["$"+a],r=1;r<arguments.length;r++)s[r-1]=arguments[r];if(i){i=i.slice(0);for(var r=0,f=i.length;r<f;++r)i[r].apply(this,s)}return this};Pe.prototype.emitReserved=Pe.prototype.emit;Pe.prototype.listeners=function(a){return this._callbacks=this._callbacks||{},this._callbacks["$"+a]||[]};Pe.prototype.hasListeners=function(a){return!!this.listeners(a).length};const Ar=typeof Promise=="function"&&typeof Promise.resolve=="function"?s=>Promise.resolve().then(s):(s,i)=>i(s,0),Vt=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),Tb="arraybuffer";function T0(a,...s){return s.reduce((i,r)=>(a.hasOwnProperty(r)&&(i[r]=a[r]),i),{})}const Rb=Vt.setTimeout,Mb=Vt.clearTimeout;function jr(a,s){s.useNativeTimers?(a.setTimeoutFn=Rb.bind(Vt),a.clearTimeoutFn=Mb.bind(Vt)):(a.setTimeoutFn=Vt.setTimeout.bind(Vt),a.clearTimeoutFn=Vt.clearTimeout.bind(Vt))}const _b=1.33;function kb(a){return typeof a=="string"?Ob(a):Math.ceil((a.byteLength||a.size)*_b)}function Ob(a){let s=0,i=0;for(let r=0,f=a.length;r<f;r++)s=a.charCodeAt(r),s<128?i+=1:s<2048?i+=2:s<55296||s>=57344?i+=3:(r++,i+=4);return i}function R0(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Db(a){let s="";for(let i in a)a.hasOwnProperty(i)&&(s.length&&(s+="&"),s+=encodeURIComponent(i)+"="+encodeURIComponent(a[i]));return s}function zb(a){let s={},i=a.split("&");for(let r=0,f=i.length;r<f;r++){let d=i[r].split("=");s[decodeURIComponent(d[0])]=decodeURIComponent(d[1])}return s}class Bb extends Error{constructor(s,i,r){super(s),this.description=i,this.context=r,this.type="TransportError"}}class Bu extends Pe{constructor(s){super(),this.writable=!1,jr(this,s),this.opts=s,this.query=s.query,this.socket=s.socket,this.supportsBinary=!s.forceBase64}onError(s,i,r){return super.emitReserved("error",new Bb(s,i,r)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(s){this.readyState==="open"&&this.write(s)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(s){const i=zu(s,this.socket.binaryType);this.onPacket(i)}onPacket(s){super.emitReserved("packet",s)}onClose(s){this.readyState="closed",super.emitReserved("close",s)}pause(s){}createUri(s,i={}){return s+"://"+this._hostname()+this._port()+this.opts.path+this._query(i)}_hostname(){const s=this.opts.hostname;return s.indexOf(":")===-1?s:"["+s+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(s){const i=Db(s);return i.length?"?"+i:""}}class Lb extends Bu{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(s){this.readyState="pausing";const i=()=>{this.readyState="paused",s()};if(this._polling||!this.writable){let r=0;this._polling&&(r++,this.once("pollComplete",function(){--r||i()})),this.writable||(r++,this.once("drain",function(){--r||i()}))}else i()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(s){const i=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};Eb(s,this.socket.binaryType).forEach(i),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const s=()=>{this.write([{type:"close"}])};this.readyState==="open"?s():this.once("open",s)}write(s){this.writable=!1,Nb(s,i=>{this.doWrite(i,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const s=this.opts.secure?"https":"http",i=this.query||{};return this.opts.timestampRequests!==!1&&(i[this.opts.timestampParam]=R0()),!this.supportsBinary&&!i.sid&&(i.b64=1),this.createUri(s,i)}}let M0=!1;try{M0=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const Ub=M0;function Hb(){}class Vb extends Lb{constructor(s){if(super(s),typeof location<"u"){const i=location.protocol==="https:";let r=location.port;r||(r=i?"443":"80"),this.xd=typeof location<"u"&&s.hostname!==location.hostname||r!==s.port}}doWrite(s,i){const r=this.request({method:"POST",data:s});r.on("success",i),r.on("error",(f,d)=>{this.onError("xhr post error",f,d)})}doPoll(){const s=this.request();s.on("data",this.onData.bind(this)),s.on("error",(i,r)=>{this.onError("xhr poll error",i,r)}),this.pollXhr=s}}class nn extends Pe{constructor(s,i,r){super(),this.createRequest=s,jr(this,r),this._opts=r,this._method=r.method||"GET",this._uri=i,this._data=r.data!==void 0?r.data:null,this._create()}_create(){var s;const i=T0(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");i.xdomain=!!this._opts.xd;const r=this._xhr=this.createRequest(i);try{r.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let f in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(f)&&r.setRequestHeader(f,this._opts.extraHeaders[f])}}catch{}if(this._method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(s=this._opts.cookieJar)===null||s===void 0||s.addCookies(r),"withCredentials"in r&&(r.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(r.timeout=this._opts.requestTimeout),r.onreadystatechange=()=>{var f;r.readyState===3&&((f=this._opts.cookieJar)===null||f===void 0||f.parseCookies(r.getResponseHeader("set-cookie"))),r.readyState===4&&(r.status===200||r.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof r.status=="number"?r.status:0)},0))},r.send(this._data)}catch(f){this.setTimeoutFn(()=>{this._onError(f)},0);return}typeof document<"u"&&(this._index=nn.requestsCount++,nn.requests[this._index]=this)}_onError(s){this.emitReserved("error",s,this._xhr),this._cleanup(!0)}_cleanup(s){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=Hb,s)try{this._xhr.abort()}catch{}typeof document<"u"&&delete nn.requests[this._index],this._xhr=null}}_onLoad(){const s=this._xhr.responseText;s!==null&&(this.emitReserved("data",s),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}nn.requestsCount=0;nn.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Tp);else if(typeof addEventListener=="function"){const a="onpagehide"in Vt?"pagehide":"unload";addEventListener(a,Tp,!1)}}function Tp(){for(let a in nn.requests)nn.requests.hasOwnProperty(a)&&nn.requests[a].abort()}const Yb=(function(){const a=_0({xdomain:!1});return a&&a.responseType!==null})();class Gb extends Vb{constructor(s){super(s);const i=s&&s.forceBase64;this.supportsBinary=Yb&&!i}request(s={}){return Object.assign(s,{xd:this.xd},this.opts),new nn(_0,this.uri(),s)}}function _0(a){const s=a.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!s||Ub))return new XMLHttpRequest}catch{}if(!s)try{return new Vt[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const k0=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class Qb extends Bu{get name(){return"websocket"}doOpen(){const s=this.uri(),i=this.opts.protocols,r=k0?{}:T0(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(s,i,r)}catch(f){return this.emitReserved("error",f)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=s=>this.onClose({description:"websocket connection closed",context:s}),this.ws.onmessage=s=>this.onData(s.data),this.ws.onerror=s=>this.onError("websocket error",s)}write(s){this.writable=!1;for(let i=0;i<s.length;i++){const r=s[i],f=i===s.length-1;Du(r,this.supportsBinary,d=>{try{this.doWrite(r,d)}catch{}f&&Ar(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const s=this.opts.secure?"wss":"ws",i=this.query||{};return this.opts.timestampRequests&&(i[this.opts.timestampParam]=R0()),this.supportsBinary||(i.b64=1),this.createUri(s,i)}}const Wc=Vt.WebSocket||Vt.MozWebSocket;class Xb extends Qb{createSocket(s,i,r){return k0?new Wc(s,i,r):i?new Wc(s,i):new Wc(s)}doWrite(s,i){this.ws.send(i)}}class $b extends Bu{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(s){return this.emitReserved("error",s)}this._transport.closed.then(()=>{this.onClose()}).catch(s=>{this.onError("webtransport error",s)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(s=>{const i=wb(Number.MAX_SAFE_INTEGER,this.socket.binaryType),r=s.readable.pipeThrough(i).getReader(),f=qb();f.readable.pipeTo(s.writable),this._writer=f.writable.getWriter();const d=()=>{r.read().then(({done:m,value:y})=>{m||(this.onPacket(y),d())}).catch(m=>{})};d();const p={type:"open"};this.query.sid&&(p.data=`{"sid":"${this.query.sid}"}`),this._writer.write(p).then(()=>this.onOpen())})})}write(s){this.writable=!1;for(let i=0;i<s.length;i++){const r=s[i],f=i===s.length-1;this._writer.write(r).then(()=>{f&&Ar(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var s;(s=this._transport)===null||s===void 0||s.close()}}const Kb={websocket:Xb,webtransport:$b,polling:Gb},Zb=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Jb=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function yu(a){if(a.length>8e3)throw"URI too long";const s=a,i=a.indexOf("["),r=a.indexOf("]");i!=-1&&r!=-1&&(a=a.substring(0,i)+a.substring(i,r).replace(/:/g,";")+a.substring(r,a.length));let f=Zb.exec(a||""),d={},p=14;for(;p--;)d[Jb[p]]=f[p]||"";return i!=-1&&r!=-1&&(d.source=s,d.host=d.host.substring(1,d.host.length-1).replace(/;/g,":"),d.authority=d.authority.replace("[","").replace("]","").replace(/;/g,":"),d.ipv6uri=!0),d.pathNames=Fb(d,d.path),d.queryKey=Ib(d,d.query),d}function Fb(a,s){const i=/\/{2,9}/g,r=s.replace(i,"/").split("/");return(s.slice(0,1)=="/"||s.length===0)&&r.splice(0,1),s.slice(-1)=="/"&&r.splice(r.length-1,1),r}function Ib(a,s){const i={};return s.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,f,d){f&&(i[f]=d)}),i}const vu=typeof addEventListener=="function"&&typeof removeEventListener=="function",fr=[];vu&&addEventListener("offline",()=>{fr.forEach(a=>a())},!1);class ia extends Pe{constructor(s,i){if(super(),this.binaryType=Tb,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,s&&typeof s=="object"&&(i=s,s=null),s){const r=yu(s);i.hostname=r.host,i.secure=r.protocol==="https"||r.protocol==="wss",i.port=r.port,r.query&&(i.query=r.query)}else i.host&&(i.hostname=yu(i.host).host);jr(this,i),this.secure=i.secure!=null?i.secure:typeof location<"u"&&location.protocol==="https:",i.hostname&&!i.port&&(i.port=this.secure?"443":"80"),this.hostname=i.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=i.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},i.transports.forEach(r=>{const f=r.prototype.name;this.transports.push(f),this._transportsByName[f]=r}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},i),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=zb(this.opts.query)),vu&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},fr.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(s){const i=Object.assign({},this.opts.query);i.EIO=C0,i.transport=s,this.id&&(i.sid=this.id);const r=Object.assign({},this.opts,{query:i,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[s]);return new this._transportsByName[s](r)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const s=this.opts.rememberUpgrade&&ia.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const i=this.createTransport(s);i.open(),this.setTransport(i)}setTransport(s){this.transport&&this.transport.removeAllListeners(),this.transport=s,s.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",i=>this._onClose("transport close",i))}onOpen(){this.readyState="open",ia.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(s){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",s),this.emitReserved("heartbeat"),s.type){case"open":this.onHandshake(JSON.parse(s.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const i=new Error("server error");i.code=s.data,this._onError(i);break;case"message":this.emitReserved("data",s.data),this.emitReserved("message",s.data);break}}onHandshake(s){this.emitReserved("handshake",s),this.id=s.sid,this.transport.query.sid=s.sid,this._pingInterval=s.pingInterval,this._pingTimeout=s.pingTimeout,this._maxPayload=s.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const s=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+s,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},s),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const s=this._getWritablePackets();this.transport.send(s),this._prevBufferLen=s.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let i=1;for(let r=0;r<this.writeBuffer.length;r++){const f=this.writeBuffer[r].data;if(f&&(i+=kb(f)),r>0&&i>this._maxPayload)return this.writeBuffer.slice(0,r);i+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const s=Date.now()>this._pingTimeoutTime;return s&&(this._pingTimeoutTime=0,Ar(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),s}write(s,i,r){return this._sendPacket("message",s,i,r),this}send(s,i,r){return this._sendPacket("message",s,i,r),this}_sendPacket(s,i,r,f){if(typeof i=="function"&&(f=i,i=void 0),typeof r=="function"&&(f=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const d={type:s,data:i,options:r};this.emitReserved("packetCreate",d),this.writeBuffer.push(d),f&&this.once("flush",f),this.flush()}close(){const s=()=>{this._onClose("forced close"),this.transport.close()},i=()=>{this.off("upgrade",i),this.off("upgradeError",i),s()},r=()=>{this.once("upgrade",i),this.once("upgradeError",i)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():s()}):this.upgrading?r():s()),this}_onError(s){if(ia.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",s),this._onClose("transport error",s)}_onClose(s,i){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),vu&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const r=fr.indexOf(this._offlineEventListener);r!==-1&&fr.splice(r,1)}this.readyState="closed",this.id=null,this.emitReserved("close",s,i),this.writeBuffer=[],this._prevBufferLen=0}}}ia.protocol=C0;class Wb extends ia{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let s=0;s<this._upgrades.length;s++)this._probe(this._upgrades[s])}_probe(s){let i=this.createTransport(s),r=!1;ia.priorWebsocketSuccess=!1;const f=()=>{r||(i.send([{type:"ping",data:"probe"}]),i.once("packet",b=>{if(!r)if(b.type==="pong"&&b.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",i),!i)return;ia.priorWebsocketSuccess=i.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(S(),this.setTransport(i),i.send([{type:"upgrade"}]),this.emitReserved("upgrade",i),i=null,this.upgrading=!1,this.flush())})}else{const R=new Error("probe error");R.transport=i.name,this.emitReserved("upgradeError",R)}}))};function d(){r||(r=!0,S(),i.close(),i=null)}const p=b=>{const R=new Error("probe error: "+b);R.transport=i.name,d(),this.emitReserved("upgradeError",R)};function m(){p("transport closed")}function y(){p("socket closed")}function v(b){i&&b.name!==i.name&&d()}const S=()=>{i.removeListener("open",f),i.removeListener("error",p),i.removeListener("close",m),this.off("close",y),this.off("upgrading",v)};i.once("open",f),i.once("error",p),i.once("close",m),this.once("close",y),this.once("upgrading",v),this._upgrades.indexOf("webtransport")!==-1&&s!=="webtransport"?this.setTimeoutFn(()=>{r||i.open()},200):i.open()}onHandshake(s){this._upgrades=this._filterUpgrades(s.upgrades),super.onHandshake(s)}_filterUpgrades(s){const i=[];for(let r=0;r<s.length;r++)~this.transports.indexOf(s[r])&&i.push(s[r]);return i}}let Pb=class extends Wb{constructor(s,i={}){const r=typeof s=="object"?s:i;(!r.transports||r.transports&&typeof r.transports[0]=="string")&&(r.transports=(r.transports||["polling","websocket","webtransport"]).map(f=>Kb[f]).filter(f=>!!f)),super(s,r)}};function e1(a,s="",i){let r=a;i=i||typeof location<"u"&&location,a==null&&(a=i.protocol+"//"+i.host),typeof a=="string"&&(a.charAt(0)==="/"&&(a.charAt(1)==="/"?a=i.protocol+a:a=i.host+a),/^(https?|wss?):\/\//.test(a)||(typeof i<"u"?a=i.protocol+"//"+a:a="https://"+a),r=yu(a)),r.port||(/^(http|ws)$/.test(r.protocol)?r.port="80":/^(http|ws)s$/.test(r.protocol)&&(r.port="443")),r.path=r.path||"/";const d=r.host.indexOf(":")!==-1?"["+r.host+"]":r.host;return r.id=r.protocol+"://"+d+":"+r.port+s,r.href=r.protocol+"://"+d+(i&&i.port===r.port?"":":"+r.port),r}const t1=typeof ArrayBuffer=="function",n1=a=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(a):a.buffer instanceof ArrayBuffer,O0=Object.prototype.toString,a1=typeof Blob=="function"||typeof Blob<"u"&&O0.call(Blob)==="[object BlobConstructor]",l1=typeof File=="function"||typeof File<"u"&&O0.call(File)==="[object FileConstructor]";function Lu(a){return t1&&(a instanceof ArrayBuffer||n1(a))||a1&&a instanceof Blob||l1&&a instanceof File}function dr(a,s){if(!a||typeof a!="object")return!1;if(Array.isArray(a)){for(let i=0,r=a.length;i<r;i++)if(dr(a[i]))return!0;return!1}if(Lu(a))return!0;if(a.toJSON&&typeof a.toJSON=="function"&&arguments.length===1)return dr(a.toJSON(),!0);for(const i in a)if(Object.prototype.hasOwnProperty.call(a,i)&&dr(a[i]))return!0;return!1}function s1(a){const s=[],i=a.data,r=a;return r.data=xu(i,s),r.attachments=s.length,{packet:r,buffers:s}}function xu(a,s){if(!a)return a;if(Lu(a)){const i={_placeholder:!0,num:s.length};return s.push(a),i}else if(Array.isArray(a)){const i=new Array(a.length);for(let r=0;r<a.length;r++)i[r]=xu(a[r],s);return i}else if(typeof a=="object"&&!(a instanceof Date)){const i={};for(const r in a)Object.prototype.hasOwnProperty.call(a,r)&&(i[r]=xu(a[r],s));return i}return a}function i1(a,s){return a.data=bu(a.data,s),delete a.attachments,a}function bu(a,s){if(!a)return a;if(a&&a._placeholder===!0){if(typeof a.num=="number"&&a.num>=0&&a.num<s.length)return s[a.num];throw new Error("illegal attachments")}else if(Array.isArray(a))for(let i=0;i<a.length;i++)a[i]=bu(a[i],s);else if(typeof a=="object")for(const i in a)Object.prototype.hasOwnProperty.call(a,i)&&(a[i]=bu(a[i],s));return a}const r1=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],o1=5;var je;(function(a){a[a.CONNECT=0]="CONNECT",a[a.DISCONNECT=1]="DISCONNECT",a[a.EVENT=2]="EVENT",a[a.ACK=3]="ACK",a[a.CONNECT_ERROR=4]="CONNECT_ERROR",a[a.BINARY_EVENT=5]="BINARY_EVENT",a[a.BINARY_ACK=6]="BINARY_ACK"})(je||(je={}));class c1{constructor(s){this.replacer=s}encode(s){return(s.type===je.EVENT||s.type===je.ACK)&&dr(s)?this.encodeAsBinary({type:s.type===je.EVENT?je.BINARY_EVENT:je.BINARY_ACK,nsp:s.nsp,data:s.data,id:s.id}):[this.encodeAsString(s)]}encodeAsString(s){let i=""+s.type;return(s.type===je.BINARY_EVENT||s.type===je.BINARY_ACK)&&(i+=s.attachments+"-"),s.nsp&&s.nsp!=="/"&&(i+=s.nsp+","),s.id!=null&&(i+=s.id),s.data!=null&&(i+=JSON.stringify(s.data,this.replacer)),i}encodeAsBinary(s){const i=s1(s),r=this.encodeAsString(i.packet),f=i.buffers;return f.unshift(r),f}}function Rp(a){return Object.prototype.toString.call(a)==="[object Object]"}class Uu extends Pe{constructor(s){super(),this.reviver=s}add(s){let i;if(typeof s=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");i=this.decodeString(s);const r=i.type===je.BINARY_EVENT;r||i.type===je.BINARY_ACK?(i.type=r?je.EVENT:je.ACK,this.reconstructor=new u1(i),i.attachments===0&&super.emitReserved("decoded",i)):super.emitReserved("decoded",i)}else if(Lu(s)||s.base64)if(this.reconstructor)i=this.reconstructor.takeBinaryData(s),i&&(this.reconstructor=null,super.emitReserved("decoded",i));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+s)}decodeString(s){let i=0;const r={type:Number(s.charAt(0))};if(je[r.type]===void 0)throw new Error("unknown packet type "+r.type);if(r.type===je.BINARY_EVENT||r.type===je.BINARY_ACK){const d=i+1;for(;s.charAt(++i)!=="-"&&i!=s.length;);const p=s.substring(d,i);if(p!=Number(p)||s.charAt(i)!=="-")throw new Error("Illegal attachments");r.attachments=Number(p)}if(s.charAt(i+1)==="/"){const d=i+1;for(;++i&&!(s.charAt(i)===","||i===s.length););r.nsp=s.substring(d,i)}else r.nsp="/";const f=s.charAt(i+1);if(f!==""&&Number(f)==f){const d=i+1;for(;++i;){const p=s.charAt(i);if(p==null||Number(p)!=p){--i;break}if(i===s.length)break}r.id=Number(s.substring(d,i+1))}if(s.charAt(++i)){const d=this.tryParse(s.substr(i));if(Uu.isPayloadValid(r.type,d))r.data=d;else throw new Error("invalid payload")}return r}tryParse(s){try{return JSON.parse(s,this.reviver)}catch{return!1}}static isPayloadValid(s,i){switch(s){case je.CONNECT:return Rp(i);case je.DISCONNECT:return i===void 0;case je.CONNECT_ERROR:return typeof i=="string"||Rp(i);case je.EVENT:case je.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]=="number"||typeof i[0]=="string"&&r1.indexOf(i[0])===-1);case je.ACK:case je.BINARY_ACK:return Array.isArray(i)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class u1{constructor(s){this.packet=s,this.buffers=[],this.reconPack=s}takeBinaryData(s){if(this.buffers.push(s),this.buffers.length===this.reconPack.attachments){const i=i1(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const f1=Object.freeze(Object.defineProperty({__proto__:null,Decoder:Uu,Encoder:c1,get PacketType(){return je},protocol:o1},Symbol.toStringTag,{value:"Module"}));function Zt(a,s,i){return a.on(s,i),function(){a.off(s,i)}}const d1=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class D0 extends Pe{constructor(s,i,r){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=s,this.nsp=i,r&&r.auth&&(this.auth=r.auth),this._opts=Object.assign({},r),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const s=this.io;this.subs=[Zt(s,"open",this.onopen.bind(this)),Zt(s,"packet",this.onpacket.bind(this)),Zt(s,"error",this.onerror.bind(this)),Zt(s,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...s){return s.unshift("message"),this.emit.apply(this,s),this}emit(s,...i){var r,f,d;if(d1.hasOwnProperty(s))throw new Error('"'+s.toString()+'" is a reserved event name');if(i.unshift(s),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(i),this;const p={type:je.EVENT,data:i};if(p.options={},p.options.compress=this.flags.compress!==!1,typeof i[i.length-1]=="function"){const S=this.ids++,b=i.pop();this._registerAckCallback(S,b),p.id=S}const m=(f=(r=this.io.engine)===null||r===void 0?void 0:r.transport)===null||f===void 0?void 0:f.writable,y=this.connected&&!(!((d=this.io.engine)===null||d===void 0)&&d._hasPingExpired());return this.flags.volatile&&!m||(y?(this.notifyOutgoingListeners(p),this.packet(p)):this.sendBuffer.push(p)),this.flags={},this}_registerAckCallback(s,i){var r;const f=(r=this.flags.timeout)!==null&&r!==void 0?r:this._opts.ackTimeout;if(f===void 0){this.acks[s]=i;return}const d=this.io.setTimeoutFn(()=>{delete this.acks[s];for(let m=0;m<this.sendBuffer.length;m++)this.sendBuffer[m].id===s&&this.sendBuffer.splice(m,1);i.call(this,new Error("operation has timed out"))},f),p=(...m)=>{this.io.clearTimeoutFn(d),i.apply(this,m)};p.withError=!0,this.acks[s]=p}emitWithAck(s,...i){return new Promise((r,f)=>{const d=(p,m)=>p?f(p):r(m);d.withError=!0,i.push(d),this.emit(s,...i)})}_addToQueue(s){let i;typeof s[s.length-1]=="function"&&(i=s.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:s,flags:Object.assign({fromQueue:!0},this.flags)};s.push((f,...d)=>r!==this._queue[0]?void 0:(f!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),i&&i(f)):(this._queue.shift(),i&&i(null,...d)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(s=!1){if(!this.connected||this._queue.length===0)return;const i=this._queue[0];i.pending&&!s||(i.pending=!0,i.tryCount++,this.flags=i.flags,this.emit.apply(this,i.args))}packet(s){s.nsp=this.nsp,this.io._packet(s)}onopen(){typeof this.auth=="function"?this.auth(s=>{this._sendConnectPacket(s)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(s){this.packet({type:je.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},s):s})}onerror(s){this.connected||this.emitReserved("connect_error",s)}onclose(s,i){this.connected=!1,delete this.id,this.emitReserved("disconnect",s,i),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(s=>{if(!this.sendBuffer.some(r=>String(r.id)===s)){const r=this.acks[s];delete this.acks[s],r.withError&&r.call(this,new Error("socket has been disconnected"))}})}onpacket(s){if(s.nsp===this.nsp)switch(s.type){case je.CONNECT:s.data&&s.data.sid?this.onconnect(s.data.sid,s.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case je.EVENT:case je.BINARY_EVENT:this.onevent(s);break;case je.ACK:case je.BINARY_ACK:this.onack(s);break;case je.DISCONNECT:this.ondisconnect();break;case je.CONNECT_ERROR:this.destroy();const r=new Error(s.data.message);r.data=s.data.data,this.emitReserved("connect_error",r);break}}onevent(s){const i=s.data||[];s.id!=null&&i.push(this.ack(s.id)),this.connected?this.emitEvent(i):this.receiveBuffer.push(Object.freeze(i))}emitEvent(s){if(this._anyListeners&&this._anyListeners.length){const i=this._anyListeners.slice();for(const r of i)r.apply(this,s)}super.emit.apply(this,s),this._pid&&s.length&&typeof s[s.length-1]=="string"&&(this._lastOffset=s[s.length-1])}ack(s){const i=this;let r=!1;return function(...f){r||(r=!0,i.packet({type:je.ACK,id:s,data:f}))}}onack(s){const i=this.acks[s.id];typeof i=="function"&&(delete this.acks[s.id],i.withError&&s.data.unshift(null),i.apply(this,s.data))}onconnect(s,i){this.id=s,this.recovered=i&&this._pid===i,this._pid=i,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(s=>this.emitEvent(s)),this.receiveBuffer=[],this.sendBuffer.forEach(s=>{this.notifyOutgoingListeners(s),this.packet(s)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(s=>s()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:je.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(s){return this.flags.compress=s,this}get volatile(){return this.flags.volatile=!0,this}timeout(s){return this.flags.timeout=s,this}onAny(s){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(s),this}prependAny(s){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(s),this}offAny(s){if(!this._anyListeners)return this;if(s){const i=this._anyListeners;for(let r=0;r<i.length;r++)if(s===i[r])return i.splice(r,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(s){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(s),this}prependAnyOutgoing(s){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(s),this}offAnyOutgoing(s){if(!this._anyOutgoingListeners)return this;if(s){const i=this._anyOutgoingListeners;for(let r=0;r<i.length;r++)if(s===i[r])return i.splice(r,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(s){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const i=this._anyOutgoingListeners.slice();for(const r of i)r.apply(this,s.data)}}}function xl(a){a=a||{},this.ms=a.min||100,this.max=a.max||1e4,this.factor=a.factor||2,this.jitter=a.jitter>0&&a.jitter<=1?a.jitter:0,this.attempts=0}xl.prototype.duration=function(){var a=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var s=Math.random(),i=Math.floor(s*this.jitter*a);a=(Math.floor(s*10)&1)==0?a-i:a+i}return Math.min(a,this.max)|0};xl.prototype.reset=function(){this.attempts=0};xl.prototype.setMin=function(a){this.ms=a};xl.prototype.setMax=function(a){this.max=a};xl.prototype.setJitter=function(a){this.jitter=a};class Su extends Pe{constructor(s,i){var r;super(),this.nsps={},this.subs=[],s&&typeof s=="object"&&(i=s,s=void 0),i=i||{},i.path=i.path||"/socket.io",this.opts=i,jr(this,i),this.reconnection(i.reconnection!==!1),this.reconnectionAttempts(i.reconnectionAttempts||1/0),this.reconnectionDelay(i.reconnectionDelay||1e3),this.reconnectionDelayMax(i.reconnectionDelayMax||5e3),this.randomizationFactor((r=i.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new xl({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(i.timeout==null?2e4:i.timeout),this._readyState="closed",this.uri=s;const f=i.parser||f1;this.encoder=new f.Encoder,this.decoder=new f.Decoder,this._autoConnect=i.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(s){return arguments.length?(this._reconnection=!!s,s||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(s){return s===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=s,this)}reconnectionDelay(s){var i;return s===void 0?this._reconnectionDelay:(this._reconnectionDelay=s,(i=this.backoff)===null||i===void 0||i.setMin(s),this)}randomizationFactor(s){var i;return s===void 0?this._randomizationFactor:(this._randomizationFactor=s,(i=this.backoff)===null||i===void 0||i.setJitter(s),this)}reconnectionDelayMax(s){var i;return s===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=s,(i=this.backoff)===null||i===void 0||i.setMax(s),this)}timeout(s){return arguments.length?(this._timeout=s,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(s){if(~this._readyState.indexOf("open"))return this;this.engine=new Pb(this.uri,this.opts);const i=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const f=Zt(i,"open",function(){r.onopen(),s&&s()}),d=m=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",m),s?s(m):this.maybeReconnectOnOpen()},p=Zt(i,"error",d);if(this._timeout!==!1){const m=this._timeout,y=this.setTimeoutFn(()=>{f(),d(new Error("timeout")),i.close()},m);this.opts.autoUnref&&y.unref(),this.subs.push(()=>{this.clearTimeoutFn(y)})}return this.subs.push(f),this.subs.push(p),this}connect(s){return this.open(s)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const s=this.engine;this.subs.push(Zt(s,"ping",this.onping.bind(this)),Zt(s,"data",this.ondata.bind(this)),Zt(s,"error",this.onerror.bind(this)),Zt(s,"close",this.onclose.bind(this)),Zt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(s){try{this.decoder.add(s)}catch(i){this.onclose("parse error",i)}}ondecoded(s){Ar(()=>{this.emitReserved("packet",s)},this.setTimeoutFn)}onerror(s){this.emitReserved("error",s)}socket(s,i){let r=this.nsps[s];return r?this._autoConnect&&!r.active&&r.connect():(r=new D0(this,s,i),this.nsps[s]=r),r}_destroy(s){const i=Object.keys(this.nsps);for(const r of i)if(this.nsps[r].active)return;this._close()}_packet(s){const i=this.encoder.encode(s);for(let r=0;r<i.length;r++)this.engine.write(i[r],s.options)}cleanup(){this.subs.forEach(s=>s()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(s,i){var r;this.cleanup(),(r=this.engine)===null||r===void 0||r.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",s,i),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const s=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const i=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{s.skipReconnect||(this.emitReserved("reconnect_attempt",s.backoff.attempts),!s.skipReconnect&&s.open(f=>{f?(s._reconnecting=!1,s.reconnect(),this.emitReserved("reconnect_error",f)):s.onreconnect()}))},i);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const s=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",s)}}const xs={};function hr(a,s){typeof a=="object"&&(s=a,a=void 0),s=s||{};const i=e1(a,s.path||"/socket.io"),r=i.source,f=i.id,d=i.path,p=xs[f]&&d in xs[f].nsps,m=s.forceNew||s["force new connection"]||s.multiplex===!1||p;let y;return m?y=new Su(r,s):(xs[f]||(xs[f]=new Su(r,s)),y=xs[f]),i.query&&!s.query&&(s.query=i.queryKey),y.socket(i.path,s)}Object.assign(hr,{Manager:Su,Socket:D0,io:hr,connect:hr});const z0="roverSettings",h1=3600*24*365;function m1(a){try{const s=decodeURIComponent(a??"");return JSON.parse(s)}catch(s){return console.warn("Failed to parse settings cookie",s),null}}function Au(){if(typeof document>"u")return{};const a=`${z0}=`,s=document.cookie.split(";").map(r=>r.trim()).find(r=>r.startsWith(a));if(!s)return{};const i=s.substring(a.length);return m1(i)??{}}function Mp(a){if(typeof document>"u")return!1;try{const s=encodeURIComponent(JSON.stringify(a??{})),i=`${z0}=${s}; path=/; max-age=${h1}; samesite=strict`;return document.cookie=i,!0}catch(s){return console.warn("Failed to write settings cookie",s),!1}}const B0=window.location.origin;console.info("[socket] connecting to",B0);const p1=Au(),g1=p1?.page?.connectionTransport||"websocket",y1=g1==="polling"?["polling"]:["websocket","polling"],Hu=hr(B0,{transports:y1,timeout:15e3});Hu.on("connect_error",a=>console.error("connect_error",a.code,a.message,a.data));const L0=g.createContext(Hu),v1=({children:a})=>c.jsx(L0.Provider,{value:Hu,children:a}),sn=()=>g.useContext(L0),U0=g.createContext({connected:!1,session:null,logs:[],login:async()=>{},setRole:async()=>{},requestControl:async()=>{},releaseControl:async()=>{},subscribeAll:async()=>{},homeAssistantToggle:async()=>{},homeAssistantSetState:async()=>{},setNickname:async()=>{},triggerReplay:async()=>{},setCommunityGoal:async()=>{}});function x1(a){return g.useCallback((s,i={})=>new Promise((r,f)=>{a.emit(s,i,(d={})=>{d.error?f(new Error(d.error)):r(d)})}),[a])}function b1({children:a}){const s=sn(),i=x1(s),[r,f]=g.useState(null),[d,p]=g.useState([]),[m,y]=g.useState([]),[v,S]=g.useState(s.connected);g.useEffect(()=>{const N=()=>S(!0),E=()=>S(!1);return s.on("connect",N),s.on("disconnect",E),()=>{s.off("connect",N),s.off("disconnect",E)}},[s]),g.useEffect(()=>{function N(A){f(A)}function E(A=[]){p(A)}function C(A){p(j=>[...j.slice(-199),A])}return s.on("session:sync",N),s.on("log:init",E),s.on("log:entry",C),s.on("alert:new",(A={})=>{y(j=>[...j.slice(-49),{...A,receivedAt:Date.now()}])}),()=>{s.off("session:sync",N),s.off("log:init",E),s.off("log:entry",C),s.off("alert:new")}},[s]);const b=g.useMemo(()=>({login:(N,E)=>i("auth:login",{username:N,password:E}),setRole:N=>i("session:setRole",{role:N}),requestControl:(N,E={})=>i("session:requestControl",{roverId:N,...E}),releaseControl:N=>i("session:releaseControl",{roverId:N}),subscribeAll:()=>i("session:subscribeAll"),lockRover:(N,E)=>i("session:lockRover",{roverId:N,locked:E}),setMode:N=>i("setMode",{mode:N}),homeAssistantToggle:N=>i("homeAssistant:toggle",{entityId:N}),homeAssistantSetState:(N,E)=>i("homeAssistant:setState",{entityId:N,state:E}),setNickname:N=>i("nickname:set",{nickname:N}),triggerReplay:(N=[])=>i("replay:trigger",{sources:N}),setCommunityGoal:N=>i("communityGoal:set",{text:N}),pushAlert:N=>y(E=>[...E.slice(-49),{...N,receivedAt:Date.now(),id:N.id||Math.random().toString(36).slice(2)}])}),[i]),R=g.useMemo(()=>({connected:v,session:r,logs:d,alerts:m,...b}),[b,m,v,d,r]);return c.jsx(U0.Provider,{value:R,children:a})}function De(){return g.useContext(U0)}const H0=g.createContext({frames:{}});function S1({children:a}){const s=sn(),[i,r]=g.useState({});g.useEffect(()=>{function d({roverId:p,sensors:m={},frame:y={}}){p&&r(v=>({...v,[p]:{roverId:p,sensors:m,raw:y?.data||null,receivedAt:Date.now()}}))}return s.on("sensorFrame",d),()=>{s.off("sensorFrame",d)}},[s]);const f=g.useMemo(()=>({frames:i}),[i]);return c.jsx(H0.Provider,{value:f,children:a})}function Vu(){return g.useContext(H0).frames}function ks(a){const s=Vu();return a?s[a]??null:null}const A1=650,j1={161:{red:!0},164:{green:!0},165:{force:!0},168:{red:!0,green:!0},169:{red:!0,force:!0},172:{green:!0,force:!0},173:{red:!0,green:!0,force:!0}};function Pc(a){if(typeof a!="number"||a<=0)return null;const s=j1[a];return s?{code:a,...s}:null}function N1(a,s={}){const i=s.holdMs||A1,[r,f]=g.useState({left:null,right:null,omni:null}),[d,p]=g.useState(0);return g.useEffect(()=>{const m=setInterval(()=>p(Date.now()),Math.max(i/2,100));return()=>clearInterval(m)},[i]),g.useEffect(()=>{const m=Date.now(),y=Pc(a?.infraredCharacterLeft),v=Pc(a?.infraredCharacterRight),S=Pc(a?.infraredCharacterOmni);!y&&!v&&!S||f(b=>({left:y?{...y,ts:m}:b.left,right:v?{...v,ts:m}:b.right,omni:S?{...S,ts:m}:b.omni}))},[a?.infraredCharacterLeft,a?.infraredCharacterRight,a?.infraredCharacterOmni]),g.useEffect(()=>{const{left:m,right:y,omni:v}=r;if(!(m?.ts||y?.ts||v?.ts))return;const b=new Date().toISOString();console.debug("[DockIR]",b,{left:m?.code??0,omni:v?.code??0,right:y?.code??0})},[r.left?.code,r.right?.code,r.omni?.code]),g.useMemo(()=>{const m=Date.now(),y=A=>{if(!A)return{active:!1,red:!1,green:!1,force:!1,age:null,code:null};const j=m-A.ts,w=j<=i;return{active:w,age:j,code:A.code,red:!!(A.red&&w),green:!!(A.green&&w),force:!!(A.force&&w)}},v=y(r.left),S=y(r.right),b=y(r.omni),R=v.force||S.force||b.force,N=v.active||S.active||b.active,E=v.active&&!S.active?"right":S.active&&!v.active?"left":"center",C=(S.active?1:0)-(v.active?1:0);return{visible:N,forceDetected:R,left:v,right:S,omni:b,bias:E,balance:Math.max(-1,Math.min(1,C))}},[r.left,r.right,r.omni,i,d])}function E1(){const{connected:a,session:s}=De(),i=s?.assignment?.roverId,r=ks(i),f=r?.sensors||{},d=N1(f),p=f.voltageMv!=null?`${(f.voltageMv/1e3).toFixed(2)} V`:null,m=f.currentMa!=null?`${f.currentMa} mA`:null,y=f.batteryTemperatureC!=null?`${f.batteryTemperatureC} °C`:null,v=f.batteryChargeMah,S=f.batteryCapacityMah;r?.receivedAt&&new Date(r.receivedAt).toLocaleTimeString();const b=r?.raw?r.raw:null,R=i?s?.activeDrivers?.[i]:null;return g.useMemo(()=>i?R?R===s?.socketId?"You":(s?.users||[]).find(E=>E.socketId===R)?.nickname||R.slice(0,6):"Available":"n/a",[R,i,s?.socketId,s?.users]),c.jsxs("section",{className:"panel-section space-y-0.5 text-base text-slate-100",children:[i?r?c.jsxs(c.Fragment,{children:[c.jsx(q1,{sensors:f,voltage:p,current:m,batteryTemp:y,charge:v,capacity:S}),c.jsx(w1,{sensors:f,dockState:d})]}):c.jsx("p",{className:"text-sm text-slate-500",children:"Waiting for sensor frames…"}):c.jsx("p",{className:"text-sm text-slate-500",children:"Assign a rover to view sensors."}),b&&c.jsx("pre",{className:"surface whitespace-pre-wrap break-words text-xs text-lime-300",children:b})]})}function q1({sensors:a,voltage:s,current:i,batteryTemp:r,charge:f,capacity:d}){const p=f!=null&&d?`${Math.round(f/d*100)}`:"--",m=a?.oiMode?.label||"--",y=a?.chargingSources?.homeBase?"Yes":"No",v=a?.chargingState?.label||"--";return c.jsxs("div",{className:"grid grid-cols-2 gap-0.5 md:grid-cols-3",children:[c.jsx(wn,{label:"Voltage",value:s??"--"}),c.jsx(wn,{label:"Current",value:i??"--"}),c.jsx(wn,{label:"Battery temp",value:r??"--"}),c.jsx(wn,{label:"Charge",value:f!=null?`${f} mAh`:"--"}),c.jsx(wn,{label:"Capacity",value:d!=null?`${d} mAh`:"--"}),c.jsx(wn,{label:"Charge",value:p}),c.jsx(wn,{label:"OI mode",value:m}),c.jsx(wn,{label:"Docked",value:y}),c.jsx(wn,{label:"Charging state",value:v})]})}function wn({label:a,value:s}){return c.jsxs("div",{className:"surface flex items-center justify-between gap-0.5 px-1 py-0.5 text-sm",children:[c.jsx("span",{className:"text-slate-400",children:a}),c.jsx("span",{className:"text-slate-100",children:s})]})}function w1({sensors:a,dockState:s}){const i=a?.bumpsAndWheelDrops||{},r=a?.wheelOvercurrents||{},f=[{label:"Left",value:a?.lightBumpLeftSignal},{label:"Front Left",value:a?.lightBumpFrontLeftSignal},{label:"Center Left",value:a?.lightBumpCenterLeftSignal},{label:"Center Right",value:a?.lightBumpCenterRightSignal},{label:"Front Right",value:a?.lightBumpFrontRightSignal},{label:"Right",value:a?.lightBumpRightSignal}],d=[{label:"Left",value:a?.cliffLeftSignal,active:a?.cliffLeft},{label:"Front Left",value:a?.cliffFrontLeftSignal,active:a?.cliffFrontLeft},{label:"Front Right",value:a?.cliffFrontRightSignal,active:a?.cliffFrontRight},{label:"Right",value:a?.cliffRightSignal,active:a?.cliffRight}],p=[{label:"Wheel L",value:a?.wheelLeftCurrentMa,over:r.leftWheel},{label:"Wheel R",value:a?.wheelRightCurrentMa,over:r.rightWheel},{label:"Side brush",value:a?.sideBrushCurrentMa,over:r.sideBrush},{label:"Main brush",value:a?.mainBrushCurrentMa,over:r.mainBrush}];return c.jsxs("div",{className:"grid gap-0.5 md:grid-cols-2",children:[c.jsxs(ml,{title:"Dock IR",children:[c.jsx(C1,{sensors:a}),c.jsx(T1,{state:s})]}),c.jsxs(ml,{title:"Bumps & drops",children:[c.jsx(Cn,{label:"Bump L",value:c.jsx(bs,{active:i.bumpLeft})}),c.jsx(Cn,{label:"Bump R",value:c.jsx(bs,{active:i.bumpRight})}),c.jsx(Cn,{label:"Wheel drop L",value:c.jsx(bs,{active:i.wheelDropLeft,tone:"amber"})}),c.jsx(Cn,{label:"Wheel drop R",value:c.jsx(bs,{active:i.wheelDropRight,tone:"amber"})})]}),c.jsx(ml,{title:"Light bumps (raw)",children:f.map(m=>c.jsx(Cn,{label:m.label,value:Ss(m.value)},m.label))}),c.jsx(ml,{title:"Cliff sensors",children:d.map(m=>c.jsx(Cn,{label:m.label,value:`${Ss(m.value)} · ${m.active?"bool: true":"bool: false"}`},m.label))}),c.jsx(ml,{title:"Currents",children:p.map(m=>c.jsx(Cn,{label:m.label,value:c.jsxs("span",{className:"flex items-center gap-0.5",children:[c.jsx("span",{children:Ss(m.value,"mA")}),m.over?c.jsx(bs,{active:!0,tone:"red",label:"over"}):null]})},m.label))}),c.jsxs(ml,{title:"Dirt detect",children:[c.jsx(Cn,{label:"Left",value:Ss(a?.dirtDetectLeft)}),c.jsx(Cn,{label:"Right",value:Ss(a?.dirtDetect)})]})]})}function ml({title:a,children:s}){return c.jsxs("div",{className:"surface space-y-0.5 p-1 text-sm",children:[c.jsx("div",{className:"text-[0.8rem] uppercase tracking-wide text-slate-400",children:a}),c.jsx("div",{className:"space-y-0.5",children:s})]})}function Cn({label:a,value:s}){return c.jsxs("div",{className:"flex items-center justify-between gap-0.5",children:[c.jsx("span",{className:"text-slate-300",children:a}),c.jsx("span",{className:"text-slate-100",children:s})]})}function bs({active:a,tone:s="green",label:i}){const r="rounded px-1.5 py-0.5 text-[0.7rem] font-semibold",f=s==="red"?a?"bg-red-600 text-white":"bg-slate-700 text-slate-300":s==="amber"?a?"bg-amber-500 text-slate-900":"bg-slate-700 text-slate-300":a?"bg-emerald-600 text-white":"bg-slate-700 text-slate-300";return c.jsx("span",{className:`${r} ${f}`,children:i||(a?"true":"false")})}function Ss(a,s){return a==null||Number.isNaN(a)?"--":s?`${a} ${s}`:a}function C1({sensors:a}){const s=a?.infraredCharacterLeft,i=a?.infraredCharacterRight,r=a?.infraredCharacterOmni,f=d=>c.jsx("span",{className:`rounded px-1 py-0.25 text-[0.7rem] font-semibold ${d?"bg-emerald-600 text-white":"bg-slate-700 text-slate-300"}`,children:d||"--"});return c.jsxs("div",{className:"flex items-center justify-between gap-0.5 text-xs text-slate-200",children:[c.jsxs("div",{className:"flex items-center gap-0.5",children:[c.jsx("span",{className:"text-slate-400",children:"L"}),f(s)]}),c.jsxs("div",{className:"flex items-center gap-0.5",children:[c.jsx("span",{className:"text-slate-400",children:"O"}),f(r)]}),c.jsxs("div",{className:"flex items-center gap-0.5",children:[c.jsx("span",{className:"text-slate-400",children:"R"}),f(i)]})]})}function T1({state:a}){if(!a)return null;const s=r=>{const f=[];return r?.red&&f.push("R"),r?.green&&f.push("G"),r?.force&&f.push("F"),f.length?f.join(""):"none"},i=r=>r?.age!=null?`${r.age}ms`:"--";return c.jsxs("div",{className:"text-[0.7rem] text-slate-400",children:[c.jsx("div",{children:`Left: ${a.left.code??"--"} (${s(a.left)}) · age ${i(a.left)}`}),c.jsx("div",{children:`Omni: ${a.omni.code??"--"} (${s(a.omni)}) · age ${i(a.omni)}`}),c.jsx("div",{children:`Right: ${a.right.code??"--"} (${s(a.right)}) · age ${i(a.right)}`})]})}const V0=g.createContext(null);function Yu({children:a}){const[s,i]=g.useState(()=>({status:"loading",data:{}}));g.useEffect(()=>{const m=Au();i({status:"ready",data:m??{}})},[]);const r=g.useCallback(()=>{const m=Au();i({status:"ready",data:m??{}})},[]),f=g.useCallback(m=>{const y=Mp(m??{});return i(y?{status:"ready",data:m??{}}:v=>({...v,status:"error"})),y},[]),d=g.useCallback((m,y)=>{i(v=>{const S=v.data[m]||{},b=typeof y=="function"?y(S):{...S,...y??{}},R={...v.data,[m]:b};return Mp(R)?{status:"ready",data:R}:{...v,status:"error"}})},[]),p=g.useMemo(()=>({data:s.data,status:s.status,reload:r,saveAll:f,setNamespace:d}),[s,r,f,d]);return c.jsx(V0.Provider,{value:p,children:a})}function R1(){const a=g.useContext(V0);if(!a)throw new Error("useSettings must be used within SettingsProvider");return a}function ct(a,s={}){const{data:i,status:r,setNamespace:f}=R1(),d=i[a]??s??{},p=g.useCallback(v=>{f(a,S=>{const b=S??{};return typeof v=="function"?v(b):{...b,...v??{}}})},[a,f]),m=g.useCallback(v=>{f(a,()=>v??{})},[a,f]),y=g.useCallback(()=>{const v=typeof s=="object"?{...s}:s;f(a,()=>v??{})},[s,a,f]);return{value:d,status:r,save:p,replace:m,reset:y}}function M1(a=[]){return a.map(s=>!s?.type||!s?.id?null:{type:s.type,id:String(s.id),label:s.label||String(s.id),key:`${s.type}:${s.id}`}).filter(Boolean)}function Gu({panelId:a="replay-sources",fillHeight:s=!1}){const{session:i,triggerReplay:r}=De(),f=M1(i?.replaySources||[]),{value:d,save:p}=ct("replaySources",{}),[m,y]=g.useState([]),[v,S]=g.useState(!1),[b,R]=g.useState(null),[N,E]=g.useState(null),C=i?.replay||null,[A,j]=g.useState(0),w=g.useMemo(()=>{const F=i?.assignment?.roverId;return F?[`rover:${F}`]:[]},[i?.assignment?.roverId]);g.useEffect(()=>{const F=d?.[a];if(Array.isArray(F)&&F.length){y(F);return}y(w)},[d?.[a],w,a]),g.useEffect(()=>{const F=new Set(f.map(ne=>ne.key));y(ne=>ne.filter(se=>F.has(se)))},[f]);const O=g.useMemo(()=>({rovers:f.filter(F=>F.type==="rover"),rooms:f.filter(F=>F.type==="room")}),[f]);g.useEffect(()=>{if(!C?.lastTriggeredAt||!C?.cooldownMs){j(0);return}const F=()=>{const se=C.lastTriggeredAt+C.cooldownMs-Date.now();j(Math.max(0,se))};F();const ne=setInterval(F,250);return()=>clearInterval(ne)},[C?.lastTriggeredAt,C?.cooldownMs,C?.remainingMs]);const J=v||i?.mode==="lockdown"||A>0||!m.length,Y=F=>{y(ne=>{const se=ne.includes(F)?ne.filter(re=>re!==F):[...ne,F];return p(re=>({...re||{},[a]:se})),se}),E(null)},G=async()=>{if(!J){S(!0),R(null),E(null);try{const F=m.map(ne=>{const[se,re]=ne.split(":");return{type:se,id:re}});await r(F),E("Replay sent. Check the Discord replay channel.")}catch(F){R(F.message)}finally{S(!1)}}},$=s?"h-full flex flex-col":"",te=s?"flex-1 min-h-0 overflow-y-auto":"";return c.jsxs("section",{className:`panel-section p-0.75 text-sm ${$}`,children:[c.jsxs("header",{className:"panel-muted flex items-center justify-between text-xs",children:[c.jsx("span",{children:"Replay Sources"}),c.jsx("span",{children:f.length})]}),c.jsxs("div",{className:`grid gap-0.5 md:grid-cols-2 ${te}`,children:[c.jsx(_p,{title:"Rovers",items:O.rovers,selected:m,onToggle:Y}),c.jsx(_p,{title:"Room Cams",items:O.rooms,selected:m,onToggle:Y})]}),c.jsxs("div",{className:"space-y-0.5",children:[c.jsx("button",{type:"button",className:"button-dark w-full text-xs disabled:opacity-40",onClick:G,disabled:J,children:A>0?`Replay (${Math.ceil(A/1e3)}s)`:v?"Replay…":"Replay"}),b?c.jsx("div",{className:"text-xs text-amber-400",children:b}):null,N?c.jsx("div",{className:"text-xs text-emerald-300",children:N}):null]})]})}function _p({title:a,items:s,selected:i,onToggle:r}){return s.length?c.jsxs("div",{className:"space-y-0.5",children:[c.jsx("div",{className:"panel-muted text-xs",children:a}),c.jsx("div",{className:"space-y-0.5",children:s.map(f=>c.jsxs("label",{className:"surface flex items-center gap-0.5 text-xs",children:[c.jsx("input",{type:"checkbox",checked:i.includes(f.key),onChange:()=>r(f.key),className:"accent-emerald-400"}),c.jsx("span",{className:"truncate",children:f.label})]},f.key))})]}):null}var Y0={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},kp=Ca.createContext&&Ca.createContext(Y0),_1=["attr","size","title"];function k1(a,s){if(a==null)return{};var i=O1(a,s),r,f;if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);for(f=0;f<d.length;f++)r=d[f],!(s.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(a,r)&&(i[r]=a[r])}return i}function O1(a,s){if(a==null)return{};var i={};for(var r in a)if(Object.prototype.hasOwnProperty.call(a,r)){if(s.indexOf(r)>=0)continue;i[r]=a[r]}return i}function yr(){return yr=Object.assign?Object.assign.bind():function(a){for(var s=1;s<arguments.length;s++){var i=arguments[s];for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(a[r]=i[r])}return a},yr.apply(this,arguments)}function Op(a,s){var i=Object.keys(a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(a);s&&(r=r.filter(function(f){return Object.getOwnPropertyDescriptor(a,f).enumerable})),i.push.apply(i,r)}return i}function vr(a){for(var s=1;s<arguments.length;s++){var i=arguments[s]!=null?arguments[s]:{};s%2?Op(Object(i),!0).forEach(function(r){D1(a,r,i[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(i)):Op(Object(i)).forEach(function(r){Object.defineProperty(a,r,Object.getOwnPropertyDescriptor(i,r))})}return a}function D1(a,s,i){return s=z1(s),s in a?Object.defineProperty(a,s,{value:i,enumerable:!0,configurable:!0,writable:!0}):a[s]=i,a}function z1(a){var s=B1(a,"string");return typeof s=="symbol"?s:s+""}function B1(a,s){if(typeof a!="object"||!a)return a;var i=a[Symbol.toPrimitive];if(i!==void 0){var r=i.call(a,s);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(a)}function G0(a){return a&&a.map((s,i)=>Ca.createElement(s.tag,vr({key:i},s.attr),G0(s.child)))}function Q0(a){return s=>Ca.createElement(L1,yr({attr:vr({},a.attr)},s),G0(a.child))}function L1(a){var s=i=>{var{attr:r,size:f,title:d}=a,p=k1(a,_1),m=f||i.size||"1em",y;return i.className&&(y=i.className),a.className&&(y=(y?y+" ":"")+a.className),Ca.createElement("svg",yr({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},i.attr,r,p,{className:y,style:vr(vr({color:a.color||i.color},i.style),a.style),height:m,width:m,xmlns:"http://www.w3.org/2000/svg"}),d&&Ca.createElement("title",null,d),a.children)};return kp!==void 0?Ca.createElement(kp.Consumer,null,i=>s(i)):s(Y0)}function X0(a){return Q0({attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"},child:[]}]})(a)}function U1(a){return Q0({attr:{viewBox:"0 0 640 512"},child:[{tag:"path",attr:{d:"M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z"},child:[]}]})(a)}function H1(a){switch(a){case"admin":case"lockdown":case"lockdown-admin":return"text-amber-300";case"spectator":return"text-slate-400";default:return"text-sky-300"}}function V1(a){const s=new Date(a);return`${s.getHours().toString().padStart(2,"0")}:${s.getMinutes().toString().padStart(2,"0")}`}function Dp(a){return a.nickname||a.socketId?.slice(0,6)||"unknown"}function Y1({guildIconUrl:a,userAvatarUrl:s,label:i}){return!a&&!s?null:c.jsxs("span",{className:"flex h-4 w-4 overflow-hidden rounded-full border border-slate-700/80",title:i,children:[c.jsx("span",{className:`h-full w-1/2 bg-slate-700/70 ${a?"bg-cover":""}`,style:a?{backgroundImage:`url(${a})`,backgroundPosition:"left center",backgroundSize:"200% 100%"}:void 0}),c.jsx("span",{className:`h-full w-1/2 bg-slate-700/70 ${s?"bg-cover":""}`,style:s?{backgroundImage:`url(${s})`,backgroundPosition:"right center",backgroundSize:"200% 100%"}:void 0})]})}function $0({message:a}){const s=a.role==="admin"||a.role==="lockdown"||a.role==="lockdown-admin",i=a.fromDiscord?`${a.discordGuildName||"Discord"} · ${Dp(a)}`:null;return c.jsxs("div",{className:`surface-muted relative flex flex-wrap items-start gap-0.5 text-sm ${s?"border border-amber-400/30":a.fromDiscord?"border border-indigo-400/30 bg-indigo-900/20":""}`,children:[a.fromDiscord?c.jsxs(c.Fragment,{children:[c.jsx(X0,{className:"h-3.5 w-3.5 text-indigo-200"}),c.jsx(Y1,{guildIconUrl:a.discordGuildIconUrl,userAvatarUrl:a.discordUserAvatarUrl,label:i})]}):null,c.jsx("span",{className:`font-semibold text-[0.85rem] ${H1(a.role)}`,children:Dp(a)}),a.roverId&&c.jsx("span",{className:"rounded bg-slate-800 px-1 text-[0.7rem]",children:a.roverId}),c.jsx("span",{className:"text-slate-100 break-words leading-tight whitespace-pre-wrap",children:a.text}),c.jsx("span",{className:"absolute bottom-0.5 right-1 text-[0.65rem] text-slate-400/60",children:V1(a.ts)})]})}const G1=3e3,Q1="#2196f3";function X1(a){return a.id?a.id:a.timestamp?`${a.timestamp}-${a.message}`:`${a.title||"alert"}-${a.message}`}function Qu({scale:a=1}){const{alerts:s}=De(),[i,r]=g.useState(()=>Date.now()),f=g.useMemo(()=>s.slice(-3).map(y=>({alert:y,key:X1(y)})),[s]);g.useEffect(()=>{if(!f.length)return;const y=setInterval(()=>r(Date.now()),200);return()=>clearInterval(y)},[f.length]);const d=f.map(y=>({...y,age:i-(y.alert.receivedAt??y.alert.timestamp??0)})).filter(y=>y.age<=G1);if(!d.length)return null;const p=a===1?void 0:{transform:`translateX(-50%) scale(${a})`,transformOrigin:"top center"},m=a===1?"pointer-events-none fixed top-0.5 left-1/2 z-50 flex -translate-x-1/2 flex-col gap-0.5":"pointer-events-none fixed top-0.5 left-1/2 z-50 flex flex-col gap-0.5";return c.jsx("div",{className:m,style:p,children:d.map(y=>c.jsx($1,{alert:y.alert},y.key))})}function zp(a){const s=typeof a=="string"?a.trim():"",i=/^#?([0-9a-fA-F]{6})$/.exec(s);if(!i)return null;const r=i[1];return{r:parseInt(r.slice(0,2),16),g:parseInt(r.slice(2,4),16),b:parseInt(r.slice(4,6),16)}}function $1({alert:a}){if(a.kind==="chat"&&a.payload)return c.jsx($0,{message:a.payload});const s=zp(a.color)||zp(Q1),i=s?`rgba(${s.r}, ${s.g}, ${s.b}, 0.18)`:"rgba(33, 150, 243, 0.18)",r=s?`rgba(${s.r}, ${s.g}, ${s.b}, 0.45)`:"rgba(33, 150, 243, 0.45)";return c.jsx("div",{className:"pointer-events-auto max-w-[80vw] rounded-full border px-2 py-0.5 text-[0.7rem] leading-tight text-slate-100 shadow-sm shadow-black/30",style:{backgroundColor:i,border:`1px solid ${r}`},children:c.jsxs("p",{className:"truncate text-slate-100",children:[c.jsx("span",{className:"text-slate-300",children:a.title||"Alert"}),c.jsx("span",{className:"text-slate-500",children:" · "}),c.jsx("span",{className:"text-white",children:a.message})]})})}const eu={main:[-127,127],side:[-127,127],vacuum:[0,127]},tu={maxSpeed:500,baseSpeed:250,boostSpeed:400},ju=100,Xu=[31,127],pl=60,Nu=8,K1=250,Z1={start:[128],safe:[131],full:[132],passive:[128],dock:[143]},js={driveForward:["w"],driveBackward:["s"],driveLeft:["a"],driveRight:["d"],boostModifier:["\\"],slowModifier:["shift"],auxMainForward:["i"],auxMainReverse:["k"],auxSideForward:["o"],auxSideReverse:["l"],auxVacuumFast:["p"],auxVacuumSlow:[";"],auxAllForward:[","],cameraUp:["u"],cameraDown:["j"],nightVisionToggle:["e"],driveMacro:["f"],dockMacro:["g"],chatFocus:["enter"],songNoteUp:["ArrowUp"],songNoteDown:["ArrowDown"],homeAssistantOn:["ArrowRight"],homeAssistantOff:["ArrowLeft"]},K0=[{id:"drive-sequence",label:"Drive",description:"Start, dock, and full command sequence used by the drive button.",steps:[{type:"servo",angle:0},{type:"oi",command:"start"},{type:"pause",duration:ju},{type:"oi",command:"dock"},{type:"pause",duration:ju},{type:"oi",command:"full"}]},{id:"seek-dock",label:"Dock",description:"Send the seek dock command.",steps:[{type:"oi",command:"dock"}]}];function Eu(){return{vector:{x:0,y:0,boost:!1},speeds:{left:0,right:0},source:null,lastUpdatedAt:0}}function qu(){return{main:0,side:0,vacuum:0}}function J1(){return{enabled:!1,angle:null,config:null}}function mr(){return{note:pl}}const Bp={roverId:null,mode:"drive",drive:Eu(),aux:qu(),camera:J1(),song:mr(),lastControlIntentAt:0,macros:K0,keymap:js,inputs:{}};function F1(a,s){switch(s.type){case"control/set-rover":return{...a,roverId:s.payload??null,drive:s.payload?a.drive:Eu(),aux:s.payload?a.aux:qu(),song:s.payload?a.song:mr(),lastControlIntentAt:s.payload?a.lastControlIntentAt:0};case"control/set-mode":return a.mode===s.payload?a:{...a,mode:s.payload==="dock"?"dock":"drive"};case"control/update-drive":{const{vector:i,speeds:r,source:f}=s.payload;return{...a,drive:{vector:i??a.drive.vector,speeds:r??a.drive.speeds,source:f??a.drive.source,lastUpdatedAt:Date.now()}}}case"control/set-aux-motors":return{...a,aux:{...a.aux,...s.payload}};case"control/set-camera-config":return{...a,camera:{...a.camera,enabled:!!s.payload?.config,config:s.payload?.config??null,angle:typeof s.payload?.angle=="number"?s.payload.angle:s.payload?.config?s.payload.config.homeAngle??a.camera.angle:null}};case"control/set-camera-angle":return{...a,camera:{...a.camera,angle:s.payload}};case"control/register-input-state":{const i=s.payload?.source||"unknown";return{...a,inputs:{...a.inputs,[i]:{...a.inputs[i]??{},...s.payload?.state,updatedAt:Date.now()}}}}case"control/set-keymap":return{...a,keymap:{...a.keymap,...s.payload??{}}};case"control/set-macros":return{...a,macros:Array.isArray(s.payload)?s.payload:a.macros};case"control/reset":return{...a,drive:Eu(),aux:qu(),song:mr(),lastControlIntentAt:0};case"control/record-intent":return{...a,lastControlIntentAt:Date.now()};case"control/set-song-note":return{...a,song:{...a.song||mr(),note:s.payload??pl}};default:return a}}function gl(a,s,i){return typeof a!="number"||Number.isNaN(a)?s:Math.max(s,Math.min(i,a))}function Rn(a){return typeof a!="number"||Number.isNaN(a)?0:Math.max(-1,Math.min(1,a))}function wa(a,s){return!Array.isArray(s)||s.length!==2?a:gl(a,s[0],s[1])}function I1(a={}){const s=Rn(a.x??0),i=Rn(a.y??0);return{x:s,y:i,boost:!!a.boost}}function W1(a={},s={}){const i=I1(a),r=typeof s.maxSpeed=="number"?s.maxSpeed:tu.maxSpeed,f=typeof s.baseSpeed=="number"?s.baseSpeed:tu.baseSpeed,d=typeof s.boostSpeed=="number"?s.boostSpeed:tu.boostSpeed,p=i.boost?d:f,m=i.y*p,y=i.x*p;return{vector:i,speeds:{left:gl(Math.round(m+y),-r,r),right:gl(Math.round(m-y),-r,r)}}}function P1(a){const s=Array.isArray(a)?a:[],i=String.fromCharCode(...s);if(typeof btoa=="function")return btoa(i);if(typeof Buffer<"u")return Buffer.from(s).toString("base64");throw new Error("No base64 encoder available")}function Lp(a){return new Promise(s=>setTimeout(s,a))}function eS(){const a=sn(),{session:s}=De(),i=s?.assignment?.roverId,r=g.useMemo(()=>!i||!Array.isArray(s?.roster)?null:s.roster.find(C=>String(C.id)===String(i))||null,[i,s?.roster]),f=g.useMemo(()=>!r?.cameraServo||!r.cameraServo.enabled?null:r.cameraServo,[r]),d=g.useMemo(()=>!r?.nightVision||!r.nightVision.enabled?null:r.nightVision,[r]),p=g.useCallback((C,A)=>{i&&a.emit("command",{roverId:i,...C},A)},[a,i]),m=g.useCallback(()=>{i&&p({type:"sensorStream",data:{sensorStream:{enable:!0}}})},[p,i]),y=g.useCallback(C=>{if(!i)return null;const A={left:wa(C?.left??0,[-500,500]),right:wa(C?.right??0,[-500,500])};return p({type:"drive",data:{driveDirect:A}}),A},[p,i]),v=g.useCallback(({main:C=0,side:A=0,vacuum:j=0}={})=>{if(!i)return null;const w={main:wa(C,eu.main),side:wa(A,eu.side),vacuum:wa(j,eu.vacuum)};return p({type:"motors",data:{motorPwm:w}}),w},[p,i]),S=g.useCallback(C=>!i||!f?null:(p({type:"servo",data:{servo:{angle:C}}}),C),[p,i,f]),b=g.useCallback(C=>{if(!i)return!1;const A=Array.isArray(C)?C:typeof C=="string"?Z1[C]:null;return A?(p({type:"raw",data:{raw:P1(A)}}),m(),!0):!1},[p,m,i]),R=g.useCallback(async C=>{if(!(!C||!Array.isArray(C.steps)||!i))for(const A of C.steps){if(!i)break;switch(A.type){case"oi":b(A.command);break;case"drive":y(A.speeds??{left:0,right:0});break;case"motors":v(A.values??{});break;case"servo":S(A.angle);break;case"pause":await Lp(A.duration??ju);break}if(A.delay||A.delayMs){const j=A.delayMs??A.delay;typeof j=="number"&&j>0&&await Lp(j)}}},[i,b,y,v,S]),N=g.useCallback((C="toggle")=>!i||!d?null:(p({type:"nightVision",data:{nightVision:{action:C}}}),C),[p,d,i]),E=g.useCallback((C=[],A={})=>{if(!i)return null;const w=(Array.isArray(C)&&C.length>0?C:[{note:pl,duration:Nu}]).slice(0,16).map(O=>({note:wa(Math.round(O?.note??pl),Xu),duration:wa(Math.round(O?.duration??Nu),[1,255])}));return p({type:"song",data:{song:{notes:w,slot:A.slot,loop:A.loop}}}),w},[p,i]);return g.useMemo(()=>({roverId:i,rosterEntry:r,servoConfig:f,nightVision:d,emitCommand:p,enableSensorStream:m,sendDriveDirect:y,sendAuxMotors:v,sendServoAngle:S,sendOiCommand:b,sendNightVision:N,sendSong:E,runMacroSteps:R}),[i,r,f,d,p,m,y,v,S,b,N,R])}const tS={"{":"[","}":"]",":":";",'"':"'","<":",",">":".","?":"/","|":"\\",_:"-","+":"="},Up={"[":"BracketLeft","]":"BracketRight","\\":"Backslash",";":"Semicolon","'":"Quote",",":"Comma",".":"Period","/":"Slash","-":"Minus","=":"Equal","`":"Backquote"};function Os(a){if(typeof a!="string")return"";const s=a.toLowerCase();return tS[s]??s}function nS(a){const s=Os(a);if(!s)return null;if(Up[s])return Up[s];if(s.length===1){if(/[a-z]/.test(s))return`Key${s.toUpperCase()}`;if(/[0-9]/.test(s))return`Digit${s}`}return null}function Z0(a){const s=Os(a);return s?`key:${s}`:null}function aS(a){const s=nS(a);return s?`code:${s}`:null}function Hp(a){const s=new Set,i=Z0(a?.key??"");i&&s.add(i);const r=a?.code?`code:${a.code}`:null;return r&&s.add(r),Array.from(s)}function lS(a={}){return Object.fromEntries(Object.entries(a).map(([s,i])=>{const r=Array.isArray(i)?i:[i],f=new Set;return r.forEach(d=>{const p=Z0(String(d));p&&f.add(p);const m=aS(String(d));m&&f.add(m)}),[s,f]}))}function ra(a){const s=Os(a);return s?s===" "?"Space":s==="\\"?"Backslash":s==="`"?"Backtick":s==="["?"[ or {":s==="]"?"] or }":s===";"?"; or :":s==="'"?`' or "`:s===","?", or <":s==="."?". or >":s==="/"?"/ or ?":s==="-"?"- or _":s==="="?"= or +":s==="arrowup"?"Arrow Up":s==="arrowdown"?"Arrow Down":s==="arrowleft"?"Arrow Left":s==="arrowright"?"Arrow Right":s.length===1?s.toUpperCase():s:"—"}const J0=g.createContext(null);function Vp(a){return Object.fromEntries(Object.entries(a||{}).map(([s,i])=>[s,Array.isArray(i)?[...i]:[]]))}function sS(a,s){if(!a)return s;const i=typeof a.minAngle=="number"?a.minAngle:-45,r=typeof a.maxAngle=="number"?a.maxAngle:45;return gl(s,i,r)}function iS({children:a}){const s=eS(),[i,r]=g.useReducer(F1,Bp),f=g.useRef(null),d=g.useRef(!1),p=g.useRef(Bp.camera.angle),{value:m,save:y}=ct("controls",{keymap:js,macros:K0}),{session:v,homeAssistantSetState:S}=De(),b=g.useCallback(()=>{const P=(v?.homeAssistant?.entities||[]).filter(_=>(_.type==="light"||_.type==="switch")&&_.available!==!1&&_.state!=="on");if(P.length===0){d.current=!1;return}d.current=!0,P.forEach(_=>{S(_.id,"on").catch(()=>{})}),d.current=!1},[v?.homeAssistant?.entities,S]);g.useEffect(()=>{r({type:"control/set-rover",payload:s.roverId})},[s.roverId]),g.useEffect(()=>{const ee=f.current;f.current=i.mode,ee!=="drive"&&i.mode==="drive"&&v?.homeAssistant?.entities?b():ee!=="drive"&&i.mode==="drive"&&(d.current=!0)},[i.mode,v?.homeAssistant?.entities,b]),g.useEffect(()=>{d.current&&v?.homeAssistant?.entities&&b()},[v?.homeAssistant?.entities,b]),g.useEffect(()=>{const ee={...js,...m?.keymap||{}};r({type:"control/set-keymap",payload:ee}),m?.macros&&r({type:"control/set-macros",payload:m.macros})},[m?.keymap,m?.macros]),g.useEffect(()=>{const ee=s.servoConfig;if(!ee){r({type:"control/set-camera-config",payload:{config:null}}),p.current=null;return}const P=typeof ee.minAngle=="number"?ee.minAngle:-45,_=typeof ee.maxAngle=="number"?ee.maxAngle:45,U=typeof ee.homeAngle=="number"?ee.homeAngle:(P+_)/2,W=typeof p.current=="number"?gl(p.current,P,_):null,ae=W??gl(U,P,_);r({type:"control/set-camera-config",payload:{config:ee,angle:ae}}),p.current=ae},[s.servoConfig]),g.useEffect(()=>{p.current=typeof i.camera.angle=="number"?i.camera.angle:p.current},[i.camera.angle]),g.useEffect(()=>{s.roverId&&s.enableSensorStream()},[s.roverId,s.enableSensorStream]);const R=g.useCallback(ee=>{r({type:"control/set-mode",payload:ee})},[]),N=g.useCallback(()=>{r({type:"control/record-intent"})},[]),E=g.useCallback((ee,P={})=>{const _=W1(ee,P.speedOptions);r({type:"control/update-drive",payload:{..._,source:P.source??null}}),N(),s.sendDriveDirect(_.speeds)},[s,N]),C=g.useCallback((ee={})=>{const P=s.sendAuxMotors(ee)??ee;r({type:"control/set-aux-motors",payload:P}),N()},[s,N]),A=g.useCallback((ee,P)=>{if(!ee)return!1;const _=Os(P);if(!_)return!1;const U=Vp(i.keymap);return U[ee]=[_],r({type:"control/set-keymap",payload:U}),y(W=>({...W??{},keymap:U})),!0},[i.keymap,y]),j=g.useCallback(()=>{const ee=Vp(js);r({type:"control/set-keymap",payload:ee}),y(P=>({...P??{},keymap:ee}))},[y]),w=g.useCallback(ee=>{if(!s.servoConfig)return;const P=sS(s.servoConfig,ee);r({type:"control/set-camera-angle",payload:P}),s.sendServoAngle(P),p.current=P,N()},[s,N]),O=g.useCallback((ee=0)=>{const P=s.servoConfig;if(!P)return;const _=typeof ee=="number"&&ee!==0?ee:P.nudgeDegrees||1,U=typeof p.current=="number"?p.current:typeof P.homeAngle=="number"?P.homeAngle:0;w(U+_)},[s.servoConfig,w]),J=g.useCallback(()=>{const ee=s.servoConfig;if(!ee)return;const P=typeof ee.homeAngle=="number"?ee.homeAngle:typeof ee.minAngle=="number"&&typeof ee.maxAngle=="number"?(ee.minAngle+ee.maxAngle)/2:0;w(P)},[s.servoConfig,w]),Y=g.useCallback(async ee=>{const P=i.macros.find(_=>_.id===ee)||null;P&&(ee==="drive-sequence"?(b(),v?.homeAssistant?.entities||(d.current=!0),N()):ee==="seek-dock"&&N(),await s.runMacroSteps(P))},[s,N,v?.homeAssistant?.entities,i.macros,b]),G=g.useCallback(()=>{r({type:"control/update-drive",payload:{vector:{x:0,y:0,boost:!1},speeds:{left:0,right:0},source:"system-stop"}}),s.sendDriveDirect({left:0,right:0}),s.sendAuxMotors({main:0,side:0,vacuum:0})},[s]),$=g.useCallback(ee=>{s.sendOiCommand(ee)},[s]),te=g.useCallback(ee=>{s.roverId&&s.emitCommand({type:"sensorStream",data:{sensorStream:{enable:ee}}})},[s]),F=g.useCallback(()=>{s.sendNightVision("toggle"),N()},[s,N]),ne=g.useCallback(ee=>{const P=typeof ee=="number"?ee:pl;return r({type:"control/set-song-note",payload:P}),P},[]),se=g.useCallback((ee,P)=>s.sendSong(ee,P),[s]),re=g.useCallback((ee,P)=>{r({type:"control/register-input-state",payload:{source:ee,state:P}})},[]),ye=g.useMemo(()=>({state:i,dispatch:r,pipeline:s,actions:{setMode:R,setDriveVector:E,setAuxMotors:C,setServoAngle:w,nudgeServo:O,goServoHome:J,runMacro:Y,stopAllMotion:G,sendOiCommand:$,setSensorStream:te,toggleNightVision:F,updateKeyBinding:A,resetKeyBindings:j,registerInputState:re,setSongNote:ne,sendSong:se}}),[i,s,R,E,C,w,O,J,Y,G,$,te,F,A,j,re,ne,se]);return c.jsx(J0.Provider,{value:ye,children:a})}function St(){const a=g.useContext(J0);if(!a)throw new Error("useControlSystem must be used within ControlSystemProvider");return a}const rS="data:audio/mpeg;base64,//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAANAAAIpQBKSkpKSkpKXFxcXFxcXFxra2tra2tra3p6enp6enqJiYmJiYmJiZiYmJiYmJiYpqampqamprW1tbW1tbW1xMTExMTExMTT09PT09PT4uLi4uLi4uLx8fHx8fHx8f////////8AAABQTEFNRTMuMTAwBLkAAAAAAAAAABUgJAUYQQAB4AAACKVpqtMZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//ugxAAAwqQPR8CIwCh0BCj5jDwlIAAjW87wAACcOsAKPMk8ARj8w9OAWwNlV/gCgQMHEhAOVnFaNzWWAPI2zyjHjd8FAoKqyAa88AAAAABNjEd9CQOglIY9dtC+a51bGZrZgTewD3c+AAYx5hxIMheIcudKAyaykG1/h5EsPB0iTEFNRTMuMTAwqqqqqqrIBZqvAAAAAC9JXFIAHrCgAp0D0hUYOInIluqg1TNdKCzMeAAFQCKKsxUmVfireKILLBgSVgb4qBVtPWpMQU1FMy4xMDCqqqqqqqqqqqqqqqqpApm/AAAAAC7QYaHPHoCjkCysmc+QY9NNWRbKE+mqowNobwAAoSQQMLGChDlOrKMqVMC/6xy/CXbFaL7AZUxBTUUzLjEwMFVVVVVVVVVVVacDqZ8AAAAAMgzaYFBPNgIOnVCQfFfwmBBhLVNJQSdxdQRofwAGxF9xAAYs4AZDuE87li0YCASIBwaCiXUj+2BqTEFNRTMuMTAwqqqqqqqqlwOonwAAAAAtkABQSEZ1INNDgx8HeaaLCXiu5dqSciylQNXjv8GdmACQ5ogYKbnsmxkoChog+w9IhU6GsgzCIQBSxFpMQQAAMBiHjgAAAAv6FQQILmJmGLltnax9HszIVEAoEq1p8olpcPLlGpXFastuWosKNFlmlqADJbwAEFRI4iJJy0oDumUW//sgxOEAw5wfU8fnAGBvg6n5nDxUh7QuwcEzkK5Ztz7AZUxBTUUzLjEwMFVVVVVVVZUAhd8AAAAALZAAamQMWKtC7Avib0WLplt2IAp0SKV0pFFxCADLX6AIPFrWJIBQqPGW/x0QDTRLGaQYCRAZzKeoU6uqTEFN6AB3n/7wAAAxq//7EMT0AMPUHU/MawJgc4PpuYy8VQZjocBw2OgQQyQyECnbABEUC/ZoM0J56Jm0tqzNJaq8KospqUAQ5/QBghnCqQAhR4Mz1D1gJPstYsI1sYIg079I5cYjY6pMQU1FMy4xMDCqqqqq//sQxPUAw+AdT8zvAih6hCk5nWBFqqqWAFOf4AAAAEAIQZPkMcwUzFVE51cSBjIHpJRIEIjWgGar9VhgCUvwAFAUMk0RCpMkwXjPQDcoLBU+n5RuR4ZrPQLPckxBTUUzLjEwMKqqqqr/+xDE9oDEAB1NzG8CKIGEKPmd5EWqxgBWn9AAAAAKIiC5GcLJIczCEvNbWsF31jo4Bw0rXktvJF5YRyABlj+ABIQ2RGsHgdc0XsPntoEDUzaQOjTBqblFPUE1TEFNRckAt68AAAAALv/7EMT4AMQIHU3M7wIojwUo+Y2MZfAgKcwITAQIYN1TosJeLtDA0ubWNrFSADJoln4AC0hVaLiIIUChs+4HST4BgCpQHITPMBQkEnj73ORZfylh+sRLEGUiNIpMQU1FMy4xMDCqqqqq//sQxP6AxlgtK+13Yih3hCj5neBNqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrIkT7UNAZ7NS7yMqcihSKLMn8DlKYq8ZdPCVEoJBuWqkxBTUUzLjEwMKqqqqr/+xDE+ADEXCVHzGjDIIQEqLm9PIWqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EMT+AMWoL0XNcwJoiASoeY3gVaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQxPgAxHAnRcxvAmiBBKj5jehEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqr/+xDE+IDEmCVDzPMCKH6EqLmNYE2qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqv/7EMT9gEPgI0vMZwQgvYWlPY5gFaqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq//sQxOYDw+gpIIfgwWgAADSAAAAEqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqo=",F0=g.createContext({messages:[],sendMessage:async()=>{},focusChat:()=>{},blurChat:()=>{},registerInputRef:()=>{},onInputFocus:()=>{},onInputBlur:()=>{},isChatFocused:!1});function oS({children:a}){const s=sn(),{session:i,pushAlert:r}=De(),[f,d]=g.useState([]),[p,m]=g.useState(!1),y=g.useRef(null),v=g.useRef(null),S=g.useRef(null);g.useEffect(()=>{S.current=new Audio(rS),S.current.load()},[]);const b=g.useCallback(()=>{const O=S.current;O&&(O.currentTime=0,O.play().catch(()=>{}))},[]);g.useEffect(()=>{function O(J={}){d(Y=>[...Y.slice(-99),J]),!(J?.socketId&&i?.socketId&&J.socketId===i.socketId)&&(b(),r?.({kind:"chat",payload:J,id:`chat-${J.id||Math.random().toString(36).slice(2)}`,receivedAt:Date.now()}))}return s.on("chat:message",O),()=>{s.off("chat:message",O)}},[b,i?.socketId,s]),g.useEffect(()=>{function O(J=[]){Array.isArray(J)&&d(Y=>{if(Y.length===0)return J.slice(-100);const G=new Set(J.map(te=>te?.id));return[...J,...Y.filter(te=>te?.id&&!G.has(te.id))].slice(-100)})}return s.on("chat:init",O),()=>{s.off("chat:init",O)}},[s]);const R=g.useCallback((O,J=null)=>new Promise((Y,G)=>{s.emit("chat:send",{text:O,tts:J},($={})=>{$.error?G(new Error($.error)):Y($)})}),[s]),N=g.useCallback((O,J={})=>{(J?.target==="hud"?"hud":"panel")==="hud"?v.current=O:y.current=O},[]),E=g.useCallback(()=>{m(!0),(v.current||y.current)?.focus()},[]),C=g.useCallback(()=>{m(!1),v.current?.blur(),y.current?.blur()},[]),A=g.useCallback(()=>m(!0),[]),j=g.useCallback(()=>m(!1),[]),w=g.useMemo(()=>({messages:f,sendMessage:R,focusChat:E,blurChat:C,registerInputRef:N,onInputFocus:A,onInputBlur:j,isChatFocused:p,selfSocketId:i?.socketId||null}),[C,E,p,f,j,A,N,R,i?.socketId]);return c.jsx(F0.Provider,{value:w,children:a})}function $u(){const a=g.useContext(F0);if(!a)throw new Error("useChat must be used inside ChatProvider");return a}const ot={keyboard:{baseSpeed:250,turboSpeed:400,precisionSpeed:125,tiltSpeed:80,tiltIntervalMs:110},gamepad:{driveDeadzone:.2,cameraDeadzone:.25,servoStep:2,auxReverseScale:.55}},xr={drive:{horizontal:null,vertical:null},camera:{vertical:null},brushes:{mainAxis:null,sideAxis:null},buttons:{allAux:null,vacuum:null,mainReverse:null,sideReverse:null,dock:null,drive:null}},nu="keyboard",au={x:0,y:0,boost:!1},lu={main:0,side:0,vacuum:0},Yp=Xu[0],Gp=Xu[1],Ku=5,qs=500,ws=1,Zu=100;function su(a,s){const i=Number(a);return Number.isFinite(i)?Math.max(0,Math.min(500,i)):s}function cS(a,s){const i=Number(a);return Number.isFinite(i)?Math.max(Ku,Math.min(qs,i)):s}function I0(a,s){const i=Number(a);return Number.isFinite(i)?Math.max(ws,Math.min(Zu,i)):s}function uS(a){const i=(I0(a,a)-ws)/(Zu-ws),r=qs-i*(qs-Ku);return Math.round(r)}function fS(a){const s=cS(a,a),i=(qs-s)/(qs-Ku),r=ws+i*(Zu-ws);return Math.round(r)}function dS(a){const s=a.target;if(!s)return!1;const i=s.tagName;return i==="INPUT"||i==="TEXTAREA"||s.isContentEditable||i==="SELECT"}function We(a,s){if(!a||a.size===0)return!1;for(const i of s)if(a.has(i))return!0;return!1}function hS(a,s){const i=We(s.driveForward,a),r=We(s.driveBackward,a),f=We(s.driveLeft,a),d=We(s.driveRight,a),p=We(s.boostModifier,a),m=We(s.slowModifier,a);let y=0;i&&!r?y=1:r&&!i&&(y=-1);let v=0;f&&!d?v=-1:d&&!f&&(v=1);const S=m?.4:1;return{x:v*S,y:y*S,boost:p&&!m}}function mS(a,s){if(We(s.auxAllForward,a))return{main:127,side:127,vacuum:127};const r=We(s.auxMainForward,a)?127:We(s.auxMainReverse,a)?-127:0,f=We(s.auxSideForward,a)?127:We(s.auxSideReverse,a)?-70:0,d=We(s.auxVacuumFast,a)?127:We(s.auxVacuumSlow,a)?50:0;return{main:r,side:f,vacuum:d}}function pS(){const{state:a,actions:{setMode:s,setDriveVector:i,setAuxMotors:r,nudgeServo:f,runMacro:d,stopAllMotion:p,registerInputState:m,toggleNightVision:y,setSongNote:v,sendSong:S}}=St(),{session:b,homeAssistantSetState:R}=De(),{focusChat:N,blurChat:E,isChatFocused:C}=$u(),{value:A}=ct("inputs",ot),j=g.useMemo(()=>lS(a.keymap),[a.keymap]),w=g.useMemo(()=>{const B=new Set;return Object.values(j).forEach(H=>{H&&H.forEach(Q=>B.add(Q))}),B},[j]),O=g.useMemo(()=>{const B=ot.keyboard,H=A?.keyboard??{};return{baseSpeed:su(H.baseSpeed,B.baseSpeed),turboSpeed:su(H.turboSpeed,B.turboSpeed),precisionSpeed:su(H.precisionSpeed,B.precisionSpeed)}},[A?.keyboard]),J=g.useMemo(()=>{const B=ot.keyboard,H=A?.keyboard??{},Q=I0(typeof H.tiltSpeed=="number"?H.tiltSpeed:typeof H.tiltIntervalMs=="number"?fS(H.tiltIntervalMs):B.tiltSpeed,B.tiltSpeed);return uS(Q)},[A?.keyboard]),Y=g.useMemo(()=>Math.abs(a.camera?.config?.nudgeDegrees||1),[a.camera?.config?.nudgeDegrees]),G=g.useRef(new Set),$=g.useRef(au),te=g.useRef(lu),F=g.useRef(null),ne=g.useRef(null),se=g.useCallback(()=>{const B=new Set(G.current);We(j.boostModifier,B);const Q=We(j.slowModifier,B)?{baseSpeed:O.precisionSpeed,boostSpeed:O.precisionSpeed}:{baseSpeed:O.baseSpeed,boostSpeed:O.turboSpeed},I=hS(B,j),le=mS(B,j);(I.x!==$.current.x||I.y!==$.current.y||I.boost!==$.current.boost)&&($.current=I,i(I,{source:nu,speedOptions:Q})),(le.main!==te.current.main||le.side!==te.current.side||le.vacuum!==te.current.vacuum)&&(te.current=le,r(le)),m(nu,{keys:Array.from(B),vector:I,aux:le})},[j,O,m,r,i]),re=g.useCallback(()=>{F.current&&(clearTimeout(F.current),F.current=null)},[]),ye=g.useCallback(()=>{const B=new Set(G.current),H=We(j.cameraUp,B),Q=We(j.cameraDown,B);return(H?1:0)-(Q?1:0)},[j]),ee=g.useCallback(()=>{if(ye()===0){re();return}if(F.current)return;const H=()=>{const Q=ye();if(Q===0){re();return}f(Q*Y),F.current=setTimeout(H,J)};F.current=setTimeout(H,0)},[ye,f,J,Y,re]),P=g.useCallback(()=>{ne.current&&(clearTimeout(ne.current),ne.current=null)},[]),_=g.useCallback(()=>{const B=new Set(G.current),H=We(j.songNoteUp,B),Q=We(j.songNoteDown,B);return(H?1:0)-(Q?1:0)},[j]),U=g.useCallback(B=>{if(B===0)return;let Q=(typeof a.song?.note=="number"?a.song.note:pl)+B;Q>Gp?Q=Yp:Q<Yp&&(Q=Gp);const I=v(Q);S([{note:I,duration:Nu}],{slot:0})},[S,v,a.song?.note]),W=g.useCallback(()=>{if(_()===0){P();return}if(ne.current)return;const H=()=>{const Q=_();if(Q===0){P();return}U(Q),ne.current=setTimeout(H,K1)};ne.current=setTimeout(H,0)},[_,P,U]),ae=g.useCallback(()=>{G.current.clear(),$.current=au,te.current=lu,re(),P(),p(),m(nu,{keys:[],vector:au,aux:lu})},[m,p,re,P]),fe=g.useCallback(B=>{const H=b?.homeAssistant;if(!H?.enabled||!H?.connected)return;const I=(H.entities||[]).filter(le=>(le.type==="light"||le.type==="switch")&&le.available!==!1&&le.state!=="unavailable");if(I.length!==0){if(B==="on"){const le=I.find(he=>he.state!=="on");le&&R(le.id,"on").catch(()=>{});return}if(B==="off")for(let le=I.length-1;le>=0;le-=1){const he=I[le];if(he.state==="on"){R(he.id,"off").catch(()=>{});break}}}},[R,b?.homeAssistant]);g.useEffect(()=>{function B(I){if(dS(I))return;const le=Hp(I);if(le.length===0)return;const he=new Set(le);if(We(j.chatFocus,he)){I.preventDefault(),ae(),C||N();return}le.some(de=>w.has(de))&&I.preventDefault();const Re=le.filter(de=>!G.current.has(de));Re.forEach(de=>G.current.add(de)),Re.length>0&&(Re.some(de=>j.driveMacro?.has(de))?(s("drive"),d("drive-sequence")):Re.some(de=>j.dockMacro?.has(de))?(s("dock"),d("seek-dock")):Re.some(de=>j.nightVisionToggle?.has(de))?y():Re.some(de=>j.homeAssistantOn?.has(de))?fe("on"):Re.some(de=>j.homeAssistantOff?.has(de))&&fe("off")),ee(),W(),se()}function H(I){Hp(I).forEach(he=>G.current.delete(he)),ee(),W(),se()}function Q(){ae()}return window.addEventListener("keydown",B),window.addEventListener("keyup",H),window.addEventListener("blur",Q),()=>{window.removeEventListener("keydown",B),window.removeEventListener("keyup",H),window.removeEventListener("blur",Q)}},[w,E,se,ee,W,N,C,j.chatFocus,j.dockMacro,j.driveMacro,ae,d,s,p,P,fe]);const T=g.useRef(ae);return g.useEffect(()=>{T.current=ae},[ae]),g.useEffect(()=>{T.current()},[a.roverId]),g.useEffect(()=>()=>{re(),P()},[re,P]),null}const nr="gamepad";function iu(a,s){return Math.abs(a)<s?0:a}function Qp(a,s){return a&&s&&a.x===s.x&&a.y===s.y&&a.boost===s.boost}function Xp(a,s){return a&&s&&a.main===s.main&&a.side===s.side&&a.vacuum===s.vacuum}function gS(){const{actions:{setMode:a,setDriveVector:s,setAuxMotors:i,nudgeServo:r,runMacro:f,registerInputState:d}}=St(),{value:p}=ct("inputs",ot),{value:m}=ct("gamepadMapping",xr),y=p.gamepad??ot.gamepad,v=Math.min(Math.max(y.driveDeadzone??.2,0),.8),S=Math.min(Math.max(y.cameraDeadzone??.25,0),.9),b=y.servoStep??ot.gamepad.servoStep,R=y.auxReverseScale??ot.gamepad.auxReverseScale,N=!!(m?.drive?.horizontal&&m?.drive?.vertical),E=!!m?.camera?.vertical,C=!!m?.brushes?.mainAxis,A=!!m?.brushes?.sideAxis,j=C||A,w=!!m?.buttons?.vacuum,O=!!m?.buttons?.allAux,J=w||O,Y=!!m?.buttons?.mainReverse,G=!!m?.buttons?.sideReverse,$=Y||G,te=!!m?.buttons?.drive,F=!!m?.buttons?.dock,se=N||E||j||J||$||(te||F),re=g.useRef(null),ye=g.useRef({x:0,y:0,boost:!1}),ee=g.useRef({main:0,side:0,vacuum:0}),P=g.useRef(new Map),_=g.useRef(0),U=g.useRef({main:!1,side:!1}),W=g.useCallback((H,Q)=>{const I=P.current.get(H)||!1;return P.current.set(H,Q),Q&&!I},[]),ae=g.useCallback((H,Q)=>{if(!Q)return 0;const I=H.axes?.[Q.index]??0;return Q.invert?-I:I},[]),fe=g.useCallback((H,Q)=>{if(!Q)return 0;const I=H.buttons?.[Q.index];return I?typeof I.value=="number"?I.value:I.pressed?1:0:0},[]),T=g.useCallback((H,Q)=>{if(!Q)return!1;const I=H.buttons?.[Q.index];return I?I.pressed||I.value>.5:!1},[]),B=g.useCallback(()=>{if(typeof navigator>"u"||!navigator.getGamepads)return;const H=navigator.getGamepads(),Q=H&&Array.from(H).find(Boolean);if(!Q){Qp(ye.current,{x:0,y:0,boost:!1})||(ye.current={x:0,y:0,boost:!1},s({x:0,y:0,boost:!1},{source:nr})),Xp(ee.current,{main:0,side:0,vacuum:0})||(ee.current={main:0,side:0,vacuum:0},i({main:0,side:0,vacuum:0})),d(nr,{connected:!1,mappingReady:se});return}const I=N?Rn(iu(ae(Q,m.drive.horizontal),v)):0,le=N?Rn(iu(-ae(Q,m.drive.vertical),v)):0,he={x:I,y:le,boost:!1};Qp(he,ye.current)||(ye.current=he,s(he,{source:nr}));const Re=C?ae(Q,m.brushes.mainAxis):0,de=Math.round(Math.min(Math.abs(Re),1)*127),rn=U.current.main?-de:de,kn=A?ae(Q,m.brushes.sideAxis):0,Yt=Math.round(Math.min(Math.abs(kn),1)*127),oa=U.current.side?-Math.round(Yt*R):Math.round(Yt*R),Gt=w&&T(Q,m.buttons.vacuum)?127:0;let dt={main:C?rn:0,side:A?oa:0,vacuum:Gt};O&&T(Q,m.buttons.allAux)&&(dt={main:127,side:127,vacuum:127}),Xp(dt,ee.current)||(ee.current=dt,i(dt));const Qt=E?Rn(iu(-ae(Q,m.camera.vertical),S)):0,on=performance.now();E&&Math.abs(Qt)>.25&&on-_.current>120&&(_.current=on,r(Qt>0?b:-b)),Y&&W("toggle-main",T(Q,m.buttons.mainReverse))&&(U.current.main=!U.current.main),G&&W("toggle-side",T(Q,m.buttons.sideReverse))&&(U.current.side=!U.current.side),te&&W(`macro-${m.buttons.drive.index}`,T(Q,m.buttons.drive))&&(a("drive"),f("drive-sequence")),F&&W(`macro-${m.buttons.dock.index}`,T(Q,m.buttons.dock))&&(a("dock"),f("seek-dock")),d(nr,{connected:!0,mappingReady:se,id:Q.id,index:Q.index,axes:[I,le,Qt],reverse:{...U.current},bindings:{drive:N,camera:E,brushes:j,auxButtons:{vacuum:w,allAux:O},reverseButtons:{main:Y,side:G},macros:{drive:te,dock:F}}})},[R,S,v,ae,fe,W,T,m.buttons?.allAux,m.buttons?.dock,m.buttons?.drive,m.buttons?.mainReverse,m.buttons?.sideReverse,m.buttons?.vacuum,m.camera?.vertical,m.drive?.horizontal,m.drive?.vertical,m.brushes?.mainAxis,m.brushes?.sideAxis,se,r,d,f,b,i,s,a]);return g.useEffect(()=>{function H(){B(),re.current=requestAnimationFrame(H)}return re.current=requestAnimationFrame(H),()=>{re.current&&cancelAnimationFrame(re.current)}},[B]),null}function W0(a){const s=a?.sensors||{},i=s.oiMode?.label||"Unknown",r=i.toLowerCase(),f=s.chargingState?.label||"",d=!!s.chargingSources?.homeBase,p=d&&f.toLowerCase()!=="not charging"&&f!=="";return{driving:r==="full",docked:d,charging:p,dockedNotCharging:d&&!p,dockingInProgress:!d&&!p&&r==="passive",oiLabel:i,chargingLabel:f}}function P0(a){const s=ks(a);return g.useMemo(()=>W0(s),[s])}function sa({label:a,active:s}){return c.jsx("span",{className:`rounded-xl px-1.5 py-0.5 text-[0.75rem] font-semibold ${s?"bg-emerald-600 text-white":"bg-red-600 text-white"}`,children:a})}function $p({label:a}){return a?c.jsx("span",{className:"rounded border border-white/40 px-1 text-[0.7rem] text-white",children:a}):null}function ru({label:a,tone:s}){const i=s==="emerald"?"border-emerald-200/70 bg-emerald-600/70 text-emerald-50":s==="amber"?"border-amber-200/70 bg-amber-600/70 text-amber-50":"border-indigo-200/70 bg-indigo-600/70 text-indigo-50";return c.jsx("span",{className:`rounded-full border px-0.5 py-0.15 text-[0.7rem] font-semibold ${i}`,children:a})}function yS({instructions:a,onConfirm:s,onCancel:i,pending:r}){return c.jsx("div",{className:"fixed inset-0 z-40 flex items-center justify-center bg-black/70 p-1",children:c.jsxs("div",{className:"surface w-full max-w-md space-y-0.5 border border-indigo-700 bg-indigo-950/90 p-1 text-slate-100 shadow-2xl",children:[c.jsxs("div",{className:"space-y-0.5",children:[c.jsx("p",{className:"text-lg font-semibold text-indigo-50",children:"Dock Rover"}),c.jsx("p",{className:"text-sm text-slate-200",children:a.summary}),c.jsx(wu,{steps:a.steps,tone:"indigo"})]}),c.jsxs("div",{className:"grid grid-cols-2 gap-0.5 text-sm",children:[c.jsx("button",{type:"button",onClick:i,className:"bg-slate-700 px-0.5 py-1 font-semibold text-slate-100 transition hover:bg-slate-600",children:"Cancel"}),c.jsx("button",{type:"button",disabled:r,onClick:s,className:"bg-indigo-600 px-0.5 py-1 font-semibold text-indigo-50 transition hover:bg-indigo-500 disabled:opacity-50",children:r?"Docking…":"Confirm Dock"})]})]})})}function eg({layout:a="desktop",expand:s=!1,driveDockState:i}){const r=a==="mobile",{state:{roverId:f,keymap:d},actions:p}=St(),m=ks(f),y=i??W0(m),{driving:v,docked:S,charging:b,dockedNotCharging:R,dockingInProgress:N,oiLabel:E}=y,[C,A]=g.useState(null),[j,w]=g.useState(!1),[O,J]=g.useState(!1),Y=!f||C!==null,G=!f||C!==null,$=ra(d?.driveMacro?.[0]),te=ra(d?.dockMacro?.[0]),F={summary:"You are about to trigger an automatic docking attempt! To have a successful dock:",steps:["Line up the rover straight in front of the dock","Make sure the rover is about one foot or half a meter away from the dock","Press Confirm Dock to begin the docking process"]},ne="Click this button to initate auto-dock.",se={summary:"You must enable driving mode before you can move the rover.",steps:["Press the keybind or tap this button to enable driving mode","Once ready (should be instant), this dialog will change, and you will be able to move"]},re=async()=>{if(!(!f||C)){A("drive");try{p.setMode("drive"),await p.runMacro("drive-sequence")}catch(I){alert(I.message)}finally{A(null)}}},ye=async()=>{if(!(!f||C)){w(!1),J(!1),A("drive");try{p.setMode("drive"),await p.runMacro("drive-sequence")}catch(I){alert(I.message)}finally{A(null)}}},ee=async()=>{if(!(!f||C)){A("dock");try{p.setMode("dock"),await p.runMacro("seek-dock")}catch(I){alert(I.message)}finally{A(null),w(!1),J(!1)}}},P=()=>{G||(J(!0),w(!0))},_="flex w-full flex-col gap-0.5 overflow-hidden rounded-xl border-2 px-0.75 py-0.75 text-slate-100 shadow-md transition hover:-translate-y-0.5 hover:shadow-xl focus-visible:outline-none focus-visible:ring-2 disabled:cursor-not-allowed disabled:opacity-60",ae="text-center items-center justify-between",fe=r?"text-sm font-semibold":"",T="border-emerald-300/70 bg-emerald-800 text-emerald-50 hover:bg-emerald-700 focus-visible:ring-emerald-300",B="border-amber-300/70 bg-amber-900 text-amber-50 hover:bg-amber-800 focus-visible:ring-amber-300",H="border-indigo-300/70 bg-indigo-900 text-indigo-50 hover:bg-indigo-800 focus-visible:ring-indigo-300",Q=s?"h-full flex-1":"";if(!v&&!N)return c.jsxs("button",{type:"button",onClick:ye,disabled:Y,className:`${_} ${Q} ${ae} ${fe} ${T}`,children:[c.jsxs("div",{className:"space-y-0.5 w-full",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-0.5",children:[c.jsx("span",{className:"text-base font-semibold text-emerald-50",children:"Start Driving"}),!r&&$?c.jsx($p,{label:$}):null,r?null:c.jsx(ru,{label:"Click to start",tone:"emerald"})]}),c.jsx("p",{className:"text-sm text-emerald-50/90",children:se.summary}),c.jsx(wu,{steps:se.steps,tone:"emerald"})]}),c.jsxs("div",{className:"flex w-full flex-col gap-0.5",children:[c.jsx(sa,{label:`OI: ${E}`,active:E.toLowerCase()==="full"}),c.jsx(sa,{label:S?"Docked!":"Not docked",active:S}),c.jsx(sa,{label:b?"Charging!":"Not charging",active:b})]})]});if(N){const I={summary:"Docking attempt in progress.",steps:["The rover should be slowly wiggling towards the dock","If it is obviously not working, press this button to enter driving mode and try again"]};return c.jsxs("button",{type:"button",disabled:Y,onClick:re,className:`${_} ${Q} ${ae} ${fe} ${B}`,children:[c.jsxs("div",{className:"space-y-0.5 w-full",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-0.5",children:[c.jsx("span",{className:"text-base font-semibold text-amber-50",children:"Docking in Progress"}),r?null:c.jsx(ru,{label:"Click to return to driving mode",tone:"amber"})]}),c.jsx("p",{className:"text-sm text-amber-50/90",children:I.summary})]}),c.jsxs("div",{className:"flex w-full flex-col gap-0.5",children:[c.jsx(sa,{label:S?"Docked":"Not docked",active:S}),c.jsx(sa,{label:b?"Charging":"Not charging",active:b})]}),c.jsx(wu,{steps:I.steps,tone:"amber"})]})}return c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",disabled:G,onClick:P,className:r?`flex w-full items-center justify-center ${_} ${ae} ${fe} ${H}`:`${_} ${Q} ${ae} ${fe} ${H}`,children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-0.5 w-full",children:[c.jsx("span",{className:"text-base font-semibold text-indigo-50",children:"Dock and Charge"}),!r&&te?c.jsx($p,{label:te}):null,r?null:c.jsx(ru,{label:"Click to begin docking",tone:"indigo"})]}),!r&&c.jsxs(c.Fragment,{children:[c.jsx("p",{className:"text-sm text-indigo-50/90",children:ne}),c.jsxs("div",{className:"flex w-full flex-col gap-0.5",children:[c.jsx(sa,{label:S?"Docked":"Not docked",active:S}),c.jsx(sa,{label:b?"Charging":"Not charging",active:b}),R?c.jsx(sa,{label:"Not charging yet",active:!1}):null]}),c.jsx("div",{className:"text-xs text-indigo-100/80",children:"Line up straight, about 1 foot away, before docking."})]})]}),O||!r&&j?c.jsx(yS,{instructions:F,pending:C==="dock",onCancel:()=>{J(!1),w(!1)},onConfirm:ee}):null]})}function wu({steps:a,tone:s="emerald"}){const i=s==="emerald"?"bg-emerald-900/60 text-emerald-50/90 border-emerald-700/60":s==="amber"?"bg-amber-900/60 text-amber-50/90 border-amber-700/60":"bg-indigo-900/60 text-indigo-50/90 border-indigo-700/60",r=s==="emerald"?"text-emerald-200":s==="amber"?"text-amber-200":"text-indigo-200";return c.jsx("div",{className:`space-y-0.5 rounded border px-0.5 py-0.35 text-left ${i}`,children:a.map((f,d)=>c.jsxs("div",{className:"text-[0.85rem] leading-snug break-words",children:[c.jsxs("div",{className:"flex items-start",children:[c.jsxs("span",{className:`mr-0 align-top text-[0.75rem] font-semibold ${r}`,children:[d+1,"."]}),c.jsx("span",{className:"align-top",children:f})]}),d<a.length-1?c.jsx("div",{className:"mt-0 h-px bg-white/10"}):null]},f))})}const ar="mobile-joystick",vS=80,xS=.15,bS=[{id:"main-forward",label:"Main Brush +",values:{main:127},hold:!0,color:"bg-emerald-600"},{id:"main-reverse",label:"Main Brush -",values:{main:-127},hold:!0,color:"bg-emerald-800"},{id:"all-forward",label:"All Motors +",values:{main:127,side:127,vacuum:127},hold:!0,color:"bg-fuchsia-600"},{id:"side-forward",label:"Side Brush +",values:{side:127},hold:!0,color:"bg-cyan-600"},{id:"side-reverse",label:"Side Brush -",values:{side:-70},hold:!0,color:"bg-cyan-800"},{id:"vacuum-fast",label:"Vacuum Max",values:{vacuum:127},hold:!0,color:"bg-amber-500 text-amber-950"},{id:"vacuum-slow",label:"Vacuum Low",values:{vacuum:50},hold:!0,color:"bg-amber-700"},{id:"stop-all",label:"Stop",values:{main:0,side:0,vacuum:0},hold:!1,color:"bg-slate-900"}];function SS({disabled:a,layout:s,radius:i,onMove:r,onStop:f}){const d=g.useRef(null),p=g.useRef(null),m=g.useRef({x:0,y:0}),[y,v]=g.useState({active:!1,base:{x:0,y:0},knob:{x:0,y:0}}),S=g.useCallback(()=>{p.current=null,v({active:!1,base:{x:0,y:0},knob:{x:0,y:0}}),f?.()},[f]),b=g.useCallback(C=>{if(a||p.current!==null)return;C.preventDefault();const A=d.current;if(!A)return;const j=A.getBoundingClientRect(),w=C.clientX-j.left,O=C.clientY-j.top;m.current={x:w,y:O},p.current=C.pointerId,A.setPointerCapture?.(C.pointerId),v({active:!0,base:{x:w,y:O},knob:{x:0,y:0}})},[a]),R=g.useCallback(C=>{if(a||p.current!==C.pointerId)return;C.preventDefault();const A=d.current;if(!A)return;const j=A.getBoundingClientRect(),w=C.clientX-j.left,O=C.clientY-j.top,J=w-m.current.x,Y=O-m.current.y,G=Math.min(Math.hypot(J,Y),i),$=Math.atan2(Y,J),te=Math.cos($)*G,F=Math.sin($)*G,ne={x:Rn(te/i),y:Rn(-F/i),boost:!1};v(se=>({...se,knob:{x:te,y:F}})),r?.(ne)},[a,r]),N=g.useCallback(C=>{if(p.current!==C.pointerId)return;C.preventDefault(),d.current?.releasePointerCapture?.(C.pointerId),S()},[S]);g.useEffect(()=>{a&&S()},[a,S]);const E=s==="landscape"?"h-[260px]":"h-[220px]";return c.jsxs("div",{ref:d,role:"presentation",className:`relative w-full ${E} select-none overflow-hidden bg-zinc-950`,style:{touchAction:"none"},onPointerDown:b,onPointerMove:R,onPointerUp:N,onPointerLeave:N,onPointerCancel:N,onContextMenu:C=>C.preventDefault(),children:[!y.active&&c.jsxs("div",{className:"absolute inset-0 flex flex-col items-center justify-center text-center text-xs text-slate-400",children:[c.jsx("p",{children:"Touch and hold anywhere"}),c.jsx("p",{children:"Joystick will follow your thumb"})]}),y.active&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"pointer-events-none absolute h-28 w-28 -translate-x-1/2 -translate-y-1/2 bg-cyan-400/10 outline outline-2 outline-cyan-400/60 [clip-path:circle(50%)]",style:{left:y.base.x,top:y.base.y}}),c.jsx("div",{className:"pointer-events-none absolute h-12 w-12 -translate-x-1/2 -translate-y-1/2 bg-cyan-300/80 shadow-lg [clip-path:circle(50%)]",style:{left:y.base.x+y.knob.x,top:y.base.y+y.knob.y}})]})]})}function tg({layout:a}){const{state:{roverId:s,camera:i},pipeline:r,actions:{setDriveVector:f,registerInputState:d,setServoAngle:p,toggleNightVision:m}}=St(),y=P0(s),v=y.docked&&!y.driving,S=!s,b=i?.config,R=!!(s&&i?.enabled&&b),N=!!(s&&r?.nightVision),E=typeof b?.minAngle=="number"?b.minAngle:-45,C=typeof b?.maxAngle=="number"?b.maxAngle:45,A=typeof i?.angle=="number"?i.angle:typeof b?.homeAngle=="number"?b.homeAngle:(E+C)/2,j=vS,w=xS,O=g.useRef({x:0,y:0,boost:!1});g.useEffect(()=>{S&&(O.current={x:0,y:0,boost:!1})},[S]);const J=g.useCallback((F={})=>{if(S)return;const ne={x:Rn(F.x??0),y:Rn(F.y??0),boost:!!F.boost},se={x:O.current.x+(ne.x-O.current.x)*(1-w),y:O.current.y+(ne.y-O.current.y)*(1-w),boost:ne.boost};O.current=se,f(se,{source:ar}),d(ar,{vector:se,lastEvent:"move"})},[S,d,f,w]),Y=g.useCallback(()=>{if(S)return;const F={x:0,y:0,boost:!1};O.current=F,f(F,{source:ar}),d(ar,{vector:F,lastEvent:"stop"})},[S,d,f]),G=F=>{if(!R)return;const ne=Number(F.target.value);Number.isNaN(ne)||p(ne)},te=`flex h-full flex-col gap-0.5 text-slate-100 ${v?"max-h-screen self-start":""}`;return c.jsxs("div",{className:te,children:[c.jsx(eg,{layout:"mobile",expand:v,driveDockState:y}),v?null:c.jsxs(c.Fragment,{children:[N&&c.jsx("button",{type:"button",onClick:()=>m(),disabled:S,className:"bg-amber-600 px-0.5 py-1 text-sm font-semibold text-amber-50 transition hover:bg-amber-500 disabled:opacity-40",children:"Toggle Night Vision"}),R&&c.jsxs("div",{className:"bg-zinc-950 p-0.5 text-xs",children:[c.jsxs("div",{className:"flex items-center justify-between text-[0.75rem] text-slate-400",children:[c.jsx("span",{children:"Camera Tilt"}),c.jsxs("span",{className:"font-mono text-slate-200",children:[A.toFixed(1),"°"]})]}),c.jsx("input",{type:"range",min:E,max:C,step:.5,value:A,onChange:G,className:"mt-0 w-full accent-cyan-400"})]}),c.jsx(SS,{disabled:S,layout:a,radius:j,onMove:J,onStop:Y})]})]})}function ng({orientation:a}){const{state:{roverId:s},actions:{setAuxMotors:i}}=St(),r=g.useRef(null),f=!s,d=g.useCallback(y=>{if(!f){if(y.hold===!1){i(y.values),r.current=null;return}r.current=y.id,i(y.values)}},[f,i]),p=g.useCallback(y=>{f||y.hold===!1||r.current===y.id&&(r.current=null,i({main:0,side:0,vacuum:0}))},[f,i]),m=a==="landscape"?"grid-cols-1":"grid-cols-1 sm:grid-cols-2";return c.jsxs("div",{className:"flex h-full flex-col gap-0.5 text-slate-100",children:[c.jsx("p",{className:"text-xs text-slate-400",children:"Aux controls"}),c.jsx("div",{className:`grid ${m} gap-0.5`,children:bS.map(y=>c.jsx("button",{type:"button",disabled:f,onPointerDown:v=>{v.preventDefault(),d(y)},onPointerUp:()=>p(y),onPointerLeave:()=>p(y),onPointerCancel:()=>p(y),onContextMenu:v=>v.preventDefault(),className:`px-0.5 py-0.5 text-left text-sm font-semibold text-white transition select-none no-touch-select ${y.color} hover:brightness-110 disabled:opacity-30 h-10`,children:y.label},y.id))})]})}function AS(){return c.jsx("div",{className:"flex h-full flex-col gap-0.5",children:c.jsx(ng,{orientation:"landscape"})})}function jS(){return c.jsx("div",{className:"flex h-full flex-col gap-0.5",children:c.jsx(tg,{layout:"landscape"})})}function NS(){return c.jsx("section",{className:"panel",children:c.jsxs("div",{className:"grid grid-cols-2 gap-0.5 items-stretch",children:[c.jsx(ng,{orientation:"portrait"}),c.jsx(tg,{layout:"portrait"})]})})}function ES(a=[],s={}){const i=sn(),{enabled:r=!0,version:f=null}=s,[d,p]=g.useState({}),m=g.useRef(new Map),y=g.useMemo(()=>a.map(E=>typeof E=="string"?E:E.id),[a]),v=g.useMemo(()=>{const E=y.join("|");return f?`${E}|v:${f}`:E},[y,f]),S=g.useRef([]),[b,R]=g.useState(0),N=g.useRef(new Map);return g.useEffect(()=>{if(!i)return;const E=()=>R(C=>C+1);return i.on("connect",E),()=>i.off("connect",E)},[i]),g.useEffect(()=>{S.current=y},[v,y]),g.useEffect(()=>{m.current.forEach(E=>URL.revokeObjectURL(E)),m.current.clear(),p({})},[v]),g.useEffect(()=>{if(!r){m.current.forEach(w=>URL.revokeObjectURL(w)),m.current.clear(),p({});return}if(!S.current.length||!i)return;let E=!1;const C=S.current,A=(w={},O)=>{if(E||!w.id||!O)return;const J=O.byteLength??O.length??0,Y=Date.now(),G=N.current.get(w.id)||{count:0,totalBytes:0,lastLogAt:0},$={count:G.count+1,totalBytes:G.totalBytes+J,lastLogAt:G.lastLogAt};if(!$.lastLogAt||Y-$.lastLogAt>=1e4){const se=$.count?$.totalBytes/$.count:0;console.log("[roomCamera]",w.id,`frame=${J}B`,`avg=${Math.round(se)}B`,`count=${$.count}`),$.lastLogAt=Y}N.current.set(w.id,$);const te=new Blob([O],{type:"image/jpeg"}),F=URL.createObjectURL(te),ne=m.current.get(w.id);ne&&URL.revokeObjectURL(ne),m.current.set(w.id,F),p(se=>({...se,[w.id]:{status:"playing",ts:w.ts||Date.now(),error:null,objectUrl:F}}))},j=(w={})=>{E||!w.id||p(O=>({...O,[w.id]:{...O[w.id]||{},status:w.error?"error":O[w.id]?.status||"connecting",error:w.error||null,ts:w.ts||O[w.id]?.ts||null,objectUrl:O[w.id]?.objectUrl||null}}))};return i.on("roomCamera:frame",A),i.on("roomCamera:status",j),i.emit("roomCamera:subscribe",{ids:C},(w={})=>{w.error}),()=>{E=!0,i.emit("roomCamera:unsubscribe",{ids:C}),i.off("roomCamera:frame",A),i.off("roomCamera:status",j),m.current.forEach(w=>URL.revokeObjectURL(w)),m.current.clear()}},[i,v,r,b]),d}function qS({feed:a,label:s}){const[i,r]=g.useState(!1);g.useEffect(()=>{a&&(!a.ts&&!a.objectUrl||r(d=>!d))},[a?.ts,a?.objectUrl]);const f=g.useMemo(()=>a?a.error?`Error: ${a.error}`:a.status||"Connecting…":"Connecting…",[a]);return c.jsxs("div",{className:"relative w-full overflow-hidden rounded bg-black",style:{aspectRatio:"4 / 3"},children:[a?.objectUrl?c.jsx("img",{src:a.objectUrl,alt:s,className:"h-full w-full object-cover"}):c.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-300",children:"Waiting for frame…"}),c.jsx("div",{className:"pointer-events-none absolute left-0 top-0 bg-black/70 px-0.5 py-0.5 text-xs font-semibold text-white",children:s}),c.jsxs("div",{className:"pointer-events-none absolute bottom-0 left-0 m-0 flex items-center gap-0.5 rounded bg-black/70 px-0.5 py-0.25 text-[0.7rem] text-slate-100",children:[c.jsx("span",{className:`h-2 w-2 rounded-full ${i?"bg-emerald-400":"bg-slate-500"}`}),c.jsx("span",{children:f})]})]})}function wS(){return c.jsxs("div",{className:"panel-section space-y-0.5 text-sm",children:[c.jsx("p",{className:"text-center text-slate-400",children:"No room cameras configured."}),c.jsx("p",{className:"text-center text-slate-500",children:"Add entries to server config to populate this list."})]})}const ag=["horizontal","vertical"];function ou(a,s){return ag.includes(a)?a:s}function Ju({defaultOrientation:a="horizontal",orientation:s,hideLayoutToggle:i=!1,hideHeader:r=!1,panelId:f=null}){const{session:d}=De(),p=d?.roomCameras||[],m=ES(p.map(A=>({id:A.id}))),{value:y,save:v}=ct("roomCameraPanels",{}),[S,b]=g.useState(()=>ou(f?y?.[f]:a,"horizontal"));g.useEffect(()=>{if(!f)return;const A=y?.[f];A&&b(ou(A,"horizontal"))},[f,y?.[f]]);const R=s?ou(s,"horizontal"):S,N=R==="vertical"?"flex flex-col gap-0.5":"grid gap-0.5 md:grid-cols-2",E=!i&&!s&&p.length>0,C=A=>{b(A),f&&v(j=>({...j||{},[f]:A}))};return p.length===0?c.jsx(wS,{}):c.jsxs("section",{className:"panel-section space-y-0.5 text-base",children:[!r&&c.jsxs("header",{className:"flex flex-wrap items-center justify-between gap-0.5 text-sm text-slate-400",children:[c.jsxs("div",{className:"flex items-center gap-0.5",children:[c.jsx("p",{children:"Room cameras"}),c.jsx("span",{className:"text-xs text-slate-500",children:p.length})]}),c.jsx("div",{className:"flex flex-wrap items-center gap-0.5 text-xs",children:E&&c.jsxs("div",{className:"flex items-center gap-0.5",children:[c.jsx("span",{className:"text-slate-500",children:"Layout:"}),c.jsx("div",{className:"inline-flex overflow-hidden rounded border border-slate-700",children:ag.map(A=>c.jsx("button",{type:"button",className:`px-1 py-0.5 ${R===A?"bg-slate-600 text-white":"bg-transparent text-slate-400 hover:text-white"}`,onClick:()=>C(A),children:A==="vertical"?"Vertical":"Grid"},A))})]})})]}),c.jsx("div",{className:N,children:p.map(A=>{const j=m[A.id]||null;return c.jsx("article",{className:"w-full space-y-0.5 rounded bg-zinc-950 p-0.5 shadow-inner shadow-black/40",children:c.jsx(qS,{feed:j,label:A.name||A.id})},A.id)})})]})}function Fu(){const{logs:a}=De();return c.jsxs("div",{className:"panel-section space-y-0.5 text-base",children:[c.jsxs("div",{className:"flex items-center justify-between text-sm text-slate-400",children:[c.jsx("span",{children:"Server logs"}),c.jsx("span",{children:a.length})]}),c.jsx("div",{className:"surface h-64 overflow-y-auto font-mono text-xs",children:a.length===0?c.jsx("p",{children:"No logs yet."}):a.slice().reverse().map(s=>c.jsxs("div",{className:"surface",children:[c.jsx("span",{className:"text-amber-400",children:s.timestamp})," ",c.jsxs("span",{className:"text-lime-400",children:["[",s.level,"]"]})," ",s.label&&c.jsxs("span",{className:"text-teal-400",children:["[",s.label,"]"]})," ",c.jsx("span",{children:s.message})]},s.id))})]})}function CS(a){if(!a)return null;if(typeof a=="string"){const s=String(a).trim();return s?{type:"rover",id:s,key:s}:null}if(typeof a=="object"){if(a.type&&a.id){const s=String(a.id);let i=a.key;return i||(i=a.type==="room"?`room:${s}`:s),{type:a.type,id:s,key:i}}if(a.roverId){const s=String(a.roverId);return{type:"rover",id:s,key:a.key||s}}if(a.roomCameraId){const s=String(a.roomCameraId);return{type:"room",id:s,key:a.key||`room:${s}`}}}return null}function TS(a=[]){const s=new Set,i=[];return a.forEach(r=>{!r?.key||s.has(r.key)||(s.add(r.key),i.push(r))}),i.sort((r,f)=>r.key.localeCompare(f.key))}function Iu(a=[],s={}){const i=sn(),{enabled:r=!0,version:f=null}=s,[d,p]=g.useState({}),m=g.useMemo(()=>Array.isArray(a)?TS(a.map(CS).filter(Boolean)):[],[a]),y=g.useMemo(()=>{const N=m.map(E=>`${E.type}:${E.id}:${E.key}`).join("|");return f?`${N}|v:${f}`:N},[m,f]),v=g.useRef([]),[S,b]=g.useState(0);return g.useEffect(()=>{if(!i)return;const N=()=>b(E=>E+1);return i.on("connect",N),()=>{i.off("connect",N)}},[i]),g.useEffect(()=>{v.current=m},[m]),g.useEffect(()=>{if(!y||!r){p({});return}const N=v.current;let E=!1;function C(A){const j=A.type==="room"?{roomCameraId:A.id}:{roverId:A.id};i.emit("video:request",j,(w={})=>{E||p(O=>({...O,[A.key]:w}))})}return N.forEach(A=>{C(A)}),()=>{E=!0}},[i,y,r,S]),g.useMemo(()=>{if(!y||!r)return{};const N={};return m.forEach(E=>{d[E.key]&&(N[E.key]=d[E.key])}),N},[y,d,m])}function Wu(a=[],s={}){const i=sn(),{enabled:r=!0,version:f=null}=s,[d,p]=g.useState({}),m=g.useRef(new Map),y=g.useMemo(()=>a.map(E=>typeof E=="string"?E:E.id).filter(Boolean),[a]),v=g.useMemo(()=>{const E=y.join("|");return f?`${E}|v:${f}`:E},[y,f]),S=g.useRef([]),[b,R]=g.useState(0),N=g.useRef(new Map);return g.useEffect(()=>{if(!i)return;const E=()=>R(C=>C+1);return i.on("connect",E),()=>i.off("connect",E)},[i]),g.useEffect(()=>{S.current=y},[v,y]),g.useEffect(()=>{m.current.forEach(E=>URL.revokeObjectURL(E)),m.current.clear(),p({})},[v]),g.useEffect(()=>{if(!r){m.current.forEach(w=>URL.revokeObjectURL(w)),m.current.clear(),p({});return}if(!S.current.length||!i)return;let E=!1;const C=S.current,A=(w={},O)=>{if(E||!w.id||!O)return;const J=O.byteLength??O.length??0,Y=Date.now(),G=N.current.get(w.id)||{count:0,totalBytes:0,lastLogAt:0},$={count:G.count+1,totalBytes:G.totalBytes+J,lastLogAt:G.lastLogAt};if(!$.lastLogAt||Y-$.lastLogAt>=1e4){const se=$.count?$.totalBytes/$.count:0;console.log("[roverSnapshot]",w.id,`frame=${J}B`,`avg=${Math.round(se)}B`,`count=${$.count}`),$.lastLogAt=Y}N.current.set(w.id,$);const te=new Blob([O],{type:"image/jpeg"}),F=URL.createObjectURL(te),ne=m.current.get(w.id);ne&&URL.revokeObjectURL(ne),m.current.set(w.id,F),p(se=>({...se,[w.id]:{status:"playing",ts:w.ts||Date.now(),error:null,objectUrl:F}}))},j=(w={})=>{E||!w.id||p(O=>({...O,[w.id]:{...O[w.id]||{},status:w.error?"error":O[w.id]?.status||"connecting",error:w.error||null,ts:w.ts||O[w.id]?.ts||null,objectUrl:O[w.id]?.objectUrl||null}}))};return i.on("roverSnapshot:frame",A),i.on("roverSnapshot:status",j),i.emit("roverSnapshot:subscribe",{ids:C},(w={})=>{w.error}),()=>{E=!0,i.emit("roverSnapshot:unsubscribe",{ids:C}),i.off("roverSnapshot:frame",A),i.off("roverSnapshot:status",j),m.current.forEach(w=>URL.revokeObjectURL(w)),m.current.clear()}},[i,v,r,b]),d}const RS={iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:"turn:your.turn.server:3478",username:"user",credential:"pass"}],bundlePolicy:"max-bundle",rtcpMuxPolicy:"require"};function MS(a){if(typeof btoa=="function")return btoa(a);if(typeof Buffer<"u")return Buffer.from(a).toString("base64");throw new Error("No base64 encoder available")}function _S(a){if(!a)return{};const s=`${a}:${a}`;return{Authorization:`Basic ${MS(s)}`}}class Kp{constructor({url:s,token:i,video:r,onStatus:f,audioOnly:d=!1}){this.url=s,this.token=i,this.video=r,this.audioOnly=d,this.pc=null,this.abortController=null,this.onStatus=f}notify(s,i){typeof this.onStatus=="function"&&this.onStatus(s,i)}configureVideoElement(){this.video&&(this.video.playsInline=!0,this.video.autoplay=!0,this.video.muted=!this.audioOnly,typeof this.video.disableRemotePlayback<"u"&&(this.video.disableRemotePlayback=!0),"latencyHint"in HTMLMediaElement.prototype&&(this.video.latencyHint="interactive"))}async start(){if(!this.url||!this.video)throw new Error("Media target missing");this.stop(),this.notify("connecting"),this.configureVideoElement(),this.abortController=new AbortController;const s=new RTCPeerConnection(RS);this.pc=s;const i=new MediaStream;s.ontrack=r=>{r.streams[0]?.getTracks().forEach(f=>i.addTrack(f)),this.video.srcObject=i,r.track?.kind==="video"&&"playoutDelayHint"in r.receiver&&(r.receiver.playoutDelayHint=0)},this.audioOnly?s.addTransceiver("audio",{direction:"recvonly"}):(s.addTransceiver("video",{direction:"recvonly"}),s.addTransceiver("audio",{direction:"recvonly"})),s.onconnectionstatechange=()=>{this.notify(s.connectionState)},s.oniceconnectionstatechange=()=>{const r=s.iceConnectionState;(r==="failed"||r==="disconnected")&&this.notify(r)};try{const r=await s.createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!this.audioOnly});await s.setLocalDescription(r);const f=await fetch(this.url,{method:"POST",headers:{"Content-Type":"application/sdp",..._S(this.token)},body:r.sdp,signal:this.abortController.signal});if(!f.ok)throw new Error(`WHEP request failed: ${f.status}`);const d=await f.text();await s.setRemoteDescription({type:"answer",sdp:d}),s.getReceivers().forEach(p=>{"playoutDelayHint"in p&&(p.playoutDelayHint=0)}),await this.video.play().catch(()=>{}),this.notify("playing")}catch(r){throw this.notify("error",r.message),this.stop(),r}}stop(){this.abortController&&(this.abortController.abort(),this.abortController=null),this.pc&&(this.pc.getSenders().forEach(s=>s.track?.stop()),this.pc.getReceivers().forEach(s=>s.track?.stop()),this.pc.close(),this.pc=null),this.video&&(this.video.srcObject=null),this.notify("stopped")}}function Cu({sensors:a={},variant:s="full",size:i,overlay:r=!1}){const f=i||(s==="mini"?190:260),d=f/2,p=f*.07,m=d,y=d+p,v=d*.8,S=v-4,b=v+4,R=v-14,N=v-6,E=v*.65,C=a?.bumpsAndWheelDrops||{},A=a?.wheelOvercurrents||{},j=a?.wheelLeftCurrentMa??0,w=a?.wheelRightCurrentMa??0,O=a?.sideBrushCurrentMa??0,J=a?.mainBrushCurrentMa??0,Y=6,G=C.bumpLeft?Y:0,$=C.bumpRight?Y:0,te=US({count:6,totalSpan:140,gap:6,startAngle:-70}),F=["L","FL","CL","CR","FR","R"],ne=[a?.lightBumpLeftSignal,a?.lightBumpFrontLeftSignal,a?.lightBumpCenterLeftSignal,a?.lightBumpCenterRightSignal,a?.lightBumpFrontRightSignal,a?.lightBumpRightSignal],se=te.map((P,_)=>({label:F[_],start:P.start,end:P.end,value:ne[_]})),re=[{label:"Cliff L",start:-60,end:-46,value:a?.cliffLeftSignal,active:a?.cliffLeft},{label:"Cliff FL",start:-32,end:-16,value:a?.cliffFrontLeftSignal,active:a?.cliffFrontLeft},{label:"Cliff FR",start:16,end:32,value:a?.cliffFrontRightSignal,active:a?.cliffFrontRight},{label:"Cliff R",start:46,end:60,value:a?.cliffRightSignal,active:a?.cliffRight}],ye=ne.filter(P=>P!=null),ee=ye.length?Math.max(...ye,1200):1200;return c.jsxs("div",{className:`${r?"relative":"surface relative p-1"}`,style:r?{width:`${f}px`,height:`${f}px`}:{height:"100%",width:"100%",aspectRatio:"1 / 1"},children:[r?null:c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"absolute left-1 top-1 text-xs text-slate-400",children:"Top-down"}),c.jsxs("div",{className:"absolute right-1 top-1 text-[0.65rem] text-slate-500",children:["0",ee]})]}),c.jsxs("svg",{width:"100%",height:"100%",viewBox:`0 0 ${f} ${f}`,preserveAspectRatio:"xMidYMid meet",className:"mx-auto block",children:[c.jsx("circle",{cx:m,cy:y,r:v,fill:"#0f172a",stroke:"#334155",strokeWidth:"2"}),c.jsx(Zp,{cx:m-E,cy:y,current:j,drop:C.wheelDropLeft,overcurrent:A.leftWheel,label:"L"}),c.jsx(Zp,{cx:m+E,cy:y,current:w,drop:C.wheelDropRight,overcurrent:A.rightWheel,label:"R"}),c.jsx(DS,{cx:m+v*.65,cy:y-v*.55,current:O,overcurrent:A.sideBrush}),c.jsx(zS,{cx:m,cy:y,current:J,overcurrent:A.mainBrush,variant:s,dirtLeft:a?.dirtDetectLeft,dirtRight:a?.dirtDetect}),se.map(P=>{const _=BS(P.value,ee),U=b+4,W=U+28;return c.jsx(kS,{cx:m,cy:y,rBase:W,rTip:U,startDeg:P.start,endDeg:P.end,color:_,value:P.value,max:ee},P.label)}),re.map(P=>{const _=LS(P.value,P.active);return c.jsx(cu,{cx:m,cy:y,rInner:R,rOuter:N,startDeg:P.start,endDeg:P.end,color:_,opacity:1,pulse:!!P.active},P.label)}),c.jsx(cu,{cx:m,cy:y,rInner:S-G,rOuter:b-G,startDeg:-70,endDeg:-6,color:C.bumpLeft?"#ef4444":"#475569",opacity:1,pulse:!!C.bumpLeft}),c.jsx(cu,{cx:m,cy:y,rInner:S-$,rOuter:b-$,startDeg:6,endDeg:70,color:C.bumpRight?"#ef4444":"#475569",opacity:1,pulse:!!C.bumpRight})]})]})}function cu({cx:a,cy:s,rInner:i,rOuter:r,startDeg:f,endDeg:d,color:p,pulse:m=!1,opacity:y=1}){const v=(i+r)/2,S=r-i,b=OS(a,s,v,f,d);return c.jsxs(c.Fragment,{children:[c.jsx("path",{d:b,stroke:p,strokeWidth:S,strokeLinecap:"round",fill:"none",opacity:y}),m?c.jsx("path",{d:b,stroke:"#ef4444",strokeWidth:S,strokeLinecap:"round",fill:"none",className:"animate-pulse",opacity:1}):null]})}function kS({cx:a,cy:s,rBase:i,rTip:r,startDeg:f,endDeg:d,color:p,value:m,max:y}){const v=(f+d)/2,S=Ns(a,s,r,v),b=Nr(m!=null?m/(y||1):0),R=Math.pow(b,.35),N=i-(i-r)*R,E=Ns(a,s,N,f),C=Ns(a,s,N,d),A=`M ${S.x} ${S.y} L ${E.x} ${E.y} L ${C.x} ${C.y} Z`;return c.jsx("path",{d:A,fill:p,opacity:1,stroke:"none"})}function OS(a,s,i,r,f){let d=r,p=f;p<=d&&(p+=360);const m=Ns(a,s,i,d),y=Ns(a,s,i,p);return["M",m.x,m.y,"A",i,i,0,0,1,y.x,y.y].join(" ")}function Ns(a,s,i,r){const f=lg(r);return{x:a+i*Math.cos(f),y:s+i*Math.sin(f)}}function lg(a){return(a-90)*Math.PI/180}function Pu(a,s){if(s)return"#ef4444";const i=Math.abs(a);return i>900?"#f59e0b":i>300?"#22c55e":"#64748b"}function Nr(a){return Math.max(0,Math.min(1,a))}function Zp({cx:a,cy:s,current:i,drop:r,overcurrent:f,label:d}){const p=Math.abs(i),m=Nr(p/1200),y=Pu(i,f),v=56,S=14,b=9,R=3,N=v*m,E=d==="L"?-1:1,C=E*(-b/2-R/2),A=E*(S/2+R/2),j=S+b+R+2,w=v+4;return c.jsxs("g",{transform:`translate(${a},${s})`,children:[c.jsx("rect",{x:-j/2,y:-w/2,width:j,height:w,rx:"4",fill:"none",stroke:"#64748b",strokeWidth:"1"}),c.jsx("rect",{x:C-S/2,y:-v/2,width:S,height:v,fill:"#0f172a",stroke:"#0f172a",strokeWidth:"1",rx:"2"}),c.jsx("rect",{x:C-S/2,y:v/2-N,width:S,height:N,fill:y,className:f?"animate-pulse":""}),c.jsx("rect",{x:A-b/2,y:-v/2,width:b,height:v,fill:r?"#ef4444":"#475569",className:r?"animate-pulse":"",rx:"2"}),c.jsx("text",{x:0,y:v/2+10,textAnchor:"middle",className:"fill-slate-200 text-[0.7rem]",children:d})]})}function DS({cx:a,cy:s,current:i,overcurrent:r}){const f=Math.abs(i),d=Pu(i*3,r),p=42,m=f>0?.65:null;return c.jsxs("g",{style:{transformOrigin:`${a}px ${s}px`,animation:m?`spin ${m}s linear infinite`:"none"},children:[c.jsx("circle",{cx:a,cy:s,r:10,fill:"#64748b",stroke:"#64748b",strokeWidth:"1"}),[0,120,240].map(y=>{const v=lg(y),S=a+p*Math.cos(v),b=s+p*Math.sin(v);return c.jsx("line",{x1:a,y1:s,x2:S,y2:b,stroke:d,strokeWidth:"4",strokeLinecap:"round"},y)}),r?c.jsx("circle",{cx:a,cy:s,r:p+8,stroke:"#ef4444",strokeWidth:"3",fill:"none",className:"animate-pulse"}):null]})}function zS({cx:a,cy:s,current:i,overcurrent:r,variant:f,dirtLeft:d,dirtRight:p}){const m=Math.abs(i),y=Pu(i,r),v=1,S=96,b=12,R=`main-brush-pattern-a-${f}`,N=`main-brush-pattern-b-${f}`,E=m>0?.6:null,C=i>=0?1:-1;return c.jsxs("g",{children:[c.jsx("defs",{children:[R,N].map((A,j)=>c.jsxs("pattern",{id:A,patternUnits:"userSpaceOnUse",width:"6",height:"6",children:[c.jsx("rect",{width:"6",height:"6",fill:y,opacity:v}),c.jsx("path",{d:"M0 6 L6 0",stroke:"#0f172a",strokeWidth:"1"}),E?c.jsx("animateTransform",{attributeName:"patternTransform",type:"translate",from:"0 0",to:`0 ${C*(j===0?6:-6)}`,dur:`${E}s`,repeatCount:"indefinite"}):null]},A))}),c.jsx("rect",{x:a-S/2,y:s-14,width:S,height:b,rx:"3",fill:`url(#${R})`,stroke:"#64748b",strokeWidth:"1"}),c.jsx("rect",{x:a-S/2,y:s+4,width:S,height:b,rx:"3",fill:`url(#${N})`,stroke:"#64748b",strokeWidth:"1"}),c.jsx("circle",{cx:a-S/4,cy:s-8,r:3.5,fill:"#fbbf24"}),c.jsx("circle",{cx:a+S/4,cy:s+8,r:3.5,fill:"#fbbf24"}),r?c.jsx("rect",{x:a-S/2-4,y:s-16,width:S+8,height:b*2+16,rx:"6",stroke:"#ef4444",strokeWidth:"3",fill:"none",className:"animate-pulse"}):null]})}function BS(a,s){if(a==null||a<=0)return"hsl(200 60% 18%)";const r=Nr(a/(s||1));return`hsl(${(200+Math.pow(r,.45)*360)%360} 100% 60%)`}function LS(a,s){if(s)return"#ef4444";const i=Nr(a==null?0:a/4095),r=[47,55,69],f=[245,158,11],[d,p,m]=r.map((y,v)=>Math.round(y+(f[v]-y)*i));return`rgb(${d}, ${p}, ${m})`}function US({count:a,totalSpan:s,gap:i,startAngle:r}){const d=(s-i*(a-1))/a,p=[];let m=r;for(let y=0;y<a;y+=1){const v=m+d;p.push({start:m,end:v}),m=v+i}return p}function sg(){const{value:a,save:s}=ct("page",{hudMapDesktop:!1});return[!!a?.hudMapDesktop,f=>{s({hudMapDesktop:!!f})}]}function Er({text:a="Join our Discord!",className:s=""}){const{session:i}=De(),r=i?.discord?.invite||null;return r?c.jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:`inline-flex items-center w-full px-0.5 py-0.5 text-sm font-medium text-white rainbow-animate-bg transition justify-center gap-1 ${s}`,children:[c.jsx(X0,{className:"mr-0"}),a]}):null}const Jp=2e3,HS=3e3,VS=3e3;function YS(a,s){const i=s?.Full,r=s?.Warn,f=s?.Urgent??null;if(a==null||i==null||r==null)return{available:!1};const d=i-r;if(d<=0)return{available:!1};const p=(a-r)/d,m=Math.min(1,Math.max(0,p)),y=Math.round(m*100),v=p<=0,S=f!=null&&a<=f;return{available:!0,percentDisplay:y,depleted:v,warnTriggered:S,barClass:v?"bg-red-500 animate-pulse":S?"bg-amber-400":"bg-emerald-500"}}function ef({sessionInfo:a,audioSessionInfo:s,videoMode:i="whep",snapshotFeed:r=null,qualityNotice:f=null,label:d,forceMute:p=!1,telemetryFrame:m,batteryConfig:y,layoutFormat:v="desktop",hudVariant:S="default",driverLabel:b=null,hudForceMap:R=!1,hudMapPosition:N="top-right",hudLabelScale:E=1,fitParent:C=!1,showTurnCue:A=!1,turnTimerText:j=null,turnSeconds:w=null,isActiveDriver:O=!1,idleSkipSeconds:J=null}){const Y=g.useRef(null),G=g.useRef(null),$=g.useRef(null),te=g.useRef(null),F=g.useRef(null),ne=g.useRef(null),[se,re]=g.useState("idle"),[ye,ee]=g.useState(null),[P,_]=g.useState("idle"),[U,W]=g.useState(null),[ae,fe]=g.useState(0),[T,B]=g.useState(0),[H,Q]=g.useState(!0),I=i==="snapshot",le=m?.sensors,he=le?.batteryChargeMah??null,Re=v==="desktop",de=!Re,[rn]=sg(),kn=R||de?!0:rn,Yt=YS(he,y),oa=le?.wheelOvercurrents||null,Gt=oa==null?[]:Object.entries(oa).filter(([,Ne])=>!!Ne).map(([Ne])=>Ne),dt=g.useCallback(()=>{clearTimeout($.current),$.current=setTimeout(()=>fe(Date.now()),Jp)},[]),Qt=g.useCallback(()=>{clearTimeout(te.current),te.current=setTimeout(()=>B(Date.now()),Jp)},[]),on=g.useCallback(async()=>{const Ne=Y.current;if(Ne)try{Ne.muted=!0,await Ne.play()}catch{}},[]),bl=g.useCallback((Ne=0)=>{if(p)return;clearTimeout(ne.current);const ze=()=>{clearTimeout(ne.current),ne.current=setTimeout(()=>{p||ht()},HS)},ht=async()=>{const Le=Y.current;if(Le)try{await on(),Le.muted=!1,await Le.play(),Q(!1)}catch{Le.muted=!0,Q(!0),ze()}};ne.current=setTimeout(ht,Ne)},[on,p]);g.useEffect(()=>()=>{clearTimeout($.current),clearTimeout(te.current),clearTimeout(ne.current),clearInterval(F.current)},[]),g.useEffect(()=>{se==="playing"&&bl(0)},[se,bl]),g.useEffect(()=>{I&&(re("snapshot"),ee(null))},[I]),g.useEffect(()=>{if(I||!a?.url||!Y.current)return;let Ne=!0,ze;const ht=setTimeout(()=>Q(!0),0),Le=(Xe,Me)=>{Ne&&(re(Xe),ee(Me||null),Xe==="playing"&&on(),["error","failed","disconnected","closed"].includes(Xe)&&dt())};return ze=new Kp({url:a.url,token:a.token,video:Y.current,onStatus:Le}),ze.start().catch(Xe=>{Ne&&(re("error"),ee(Xe.message),dt())}),()=>{Ne=!1,clearTimeout(ht),ze?.stop()}},[I,a?.url,a?.token,ae,dt,on]),g.useEffect(()=>{se==="stopped"&&a?.url&&dt()},[se,a?.url,dt]),g.useEffect(()=>{if(!s?.url||!G.current)return;let Ne=!0,ze;const ht=(Le,Xe)=>{Ne&&(W(Xe||(Le==="connected"?"connected":null)),_(Me=>Le==="connected"&&(Me==="playing"||Me==="connecting")||Le==="new"?Me:Le),Le==="playing"&&G.current?.play().catch(()=>{}),["error","failed","disconnected","closed"].includes(Le)&&Qt())};return ze=new Kp({url:s.url,token:s.token,video:G.current,audioOnly:!0,onStatus:ht}),ze.start().catch(Le=>{Ne&&(_("error"),W(Le.message),Qt())}),()=>{Ne=!1,ze?.stop()}},[s?.url,s?.token,T,Qt]),g.useEffect(()=>{const Ne=G.current;if(!s?.url||!Ne){clearInterval(F.current);return}if(!["connecting","connected","playing","paused"].includes(P)){clearInterval(F.current);return}const ht=()=>{const Le=G.current;Le&&(!Le.paused&&!Le.ended||Le.play().then(()=>{_(Xe=>Xe==="connected"?"playing":Xe),W(Xe=>Xe==="paused"?null:Xe)}).catch(Xe=>{W(Me=>Me||Xe?.message||"autoplay blocked")}))};return ht(),F.current=setInterval(ht,VS),()=>clearInterval(F.current)},[s?.url,P]),g.useEffect(()=>{const Ne=G.current;if(!Ne)return;const ze=()=>{_(Me=>Me==="error"?Me:"playing"),W(null)},ht=()=>{_(Me=>["error","failed","disconnected","closed","stopped"].includes(Me)?Me:"paused"),W(Me=>Me||"paused")},Le=()=>{_(Me=>Me==="error"?Me:"stopped"),W(Me=>Me||"ended")},Xe=()=>{const{error:Me}=Ne,Cr=Me?.message||"audio error";_("error"),W(Cr)};return Ne.addEventListener("play",ze),Ne.addEventListener("pause",ht),Ne.addEventListener("ended",Le),Ne.addEventListener("error",Xe),()=>{Ne.removeEventListener("play",ze),Ne.removeEventListener("pause",ht),Ne.removeEventListener("ended",Le),Ne.removeEventListener("error",Xe)}},[s?.url]);const Sl=r?.error?`Error: ${r.error}`:r?.objectUrl?"snapshot":r?.status||"waiting",Al=I?Sl:a?.url?se==="error"?`Error: ${ye||"unknown"}`:ye?`${se} (${ye})`:se:"waiting",jl=s?.error?`Error: ${s.error}`:s?.url?P==="error"?`Error: ${U||"unknown"}`:U?`${P} (${U})`:P:null,zs=S==="spectator";return c.jsxs("div",{className:`flex flex-col gap-0.5 ${C?"h-full":""}`,children:[c.jsxs("div",{className:`relative w-full overflow-hidden bg-black ${C?"h-full flex-1":"aspect-[4/3]"}`,children:[I?r?.objectUrl?c.jsx("img",{src:r.objectUrl,alt:d,className:"h-full w-full object-contain",draggable:!1}):c.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-300",children:"Waiting for frame…"}):c.jsx("video",{ref:Y,muted:p||H,playsInline:!0,autoPlay:!0,controls:!1,className:"h-full w-full object-contain"}),c.jsx("audio",{ref:G,autoPlay:!0,hidden:!0}),A?c.jsx(KS,{mobileHud:de,turnSeconds:w,isActiveDriver:O,idleSkipSeconds:J}):null,c.jsx($S,{frame:m,sensors:le,label:d,status:Al,audioStatus:jl,desktopLayout:Re,layoutFormat:v,variant:S,driverLabel:b,battery:Yt,showTopDown:kn,mobileHud:de,mapPosition:N,turnTimerText:j,labelScale:E}),c.jsx(IS,{compact:de}),c.jsx(JS,{motors:Gt,compact:de}),c.jsx(FS,{charge:he,config:y,compact:de}),zs&&Yt.available?c.jsx(QS,{visual:Yt}):null,f?c.jsx("div",{className:"pointer-events-none absolute inset-x-0 top-1/2 -translate-y-1/2",children:c.jsxs("div",{className:`mx-auto w-fit rounded border border-amber-300/80 bg-black/75 text-amber-200 ${de?"px-2 py-1 text-[0.6rem]":"px-3 py-1.5 text-sm"}`,children:[c.jsx("div",{className:"text-center",children:f}),c.jsx("div",{className:"pointer-events-auto mt-0",children:c.jsx(Er,{text:"Join our Discord server while you wait!"})})]})}):null]}),!zs&&c.jsxs("div",{className:"space-y-0.5",children:[c.jsx(XS,{sensors:le}),c.jsx(GS,{visual:Yt})]})]})}function GS({visual:a}){if(!a?.available)return c.jsx("div",{className:"panel-section space-y-0.5 text-sm",children:c.jsx("p",{className:"text-xs text-slate-500",children:"Battery telemetry unavailable"})});const s=`${a.percentDisplay}%`,i=a.barClass;return c.jsx("div",{className:"panel-section space-y-0.5 text-sm",children:c.jsx("div",{className:"relative h-4 w-full bg-zinc-900 flex",children:c.jsx("div",{className:`h-full transition-[width] ${i}`,style:{width:`${a.percentDisplay}%`},children:c.jsxs("span",{className:"inset-0 flex items-center justify-center text-xs font-semibold text-black/80",children:["Battery ",s]})})})})}function QS({visual:a}){if(!a?.available)return null;const s=`${a.percentDisplay}%`;return c.jsxs("div",{className:"pointer-events-none absolute right-1 top-1/2 flex h-[70%] -translate-y-1/2 flex-col items-center justify-end rounded bg-black/60 px-0.5 pb-1 pt-1",children:[c.jsx("div",{className:"flex h-full w-4 items-end overflow-hidden rounded bg-zinc-900",children:c.jsx("div",{className:`${a.barClass} w-full transition-[height]`,style:{height:`${a.percentDisplay}%`}})}),c.jsx("span",{className:"mt-0 text-[0.65rem] font-semibold text-slate-100",children:s})]})}function XS({sensors:a}){const s=[a?.lightBumpLeftSignal,a?.lightBumpFrontLeftSignal,a?.lightBumpCenterLeftSignal,a?.lightBumpCenterRightSignal,a?.lightBumpFrontRightSignal,a?.lightBumpRightSignal],i=s.filter(m=>m!=null).reduce((m,y)=>Math.max(m,y),1200),r=m=>Math.pow(Math.max(0,Math.min(1,(m??0)/i)),.35),f=m=>m==null||m<=0?"hsl(200 60% 18%)":`hsl(${(200+r(m)*360)%360} 100% 60%)`,d=6,p=12;return c.jsx("div",{className:"flex w-full items-center justify-center gap-0.5",children:s.map((m,y)=>{const v=r(m),S=y<d/2?-1:1,b=`${v*100}%`,R=f(m);return c.jsx("div",{className:"relative flex-1 min-w-[0]",style:{height:`${p}px`},children:c.jsx("div",{className:"h-full w-full overflow-hidden bg-slate-800",style:{borderRadius:0},children:c.jsx("div",{className:"h-full",style:{width:b,background:R,float:S===-1?"right":"left"}})})},y)})})}function $S({frame:a,sensors:s,label:i,status:r,audioStatus:f,desktopLayout:d=!0,layoutFormat:p="desktop",variant:m="default",driverLabel:y=null,battery:v,showTopDown:S=!1,mobileHud:b=!1,mapPosition:R="top-right",turnTimerText:N=null,labelScale:E=1}){s?.bumpsAndWheelDrops;const[C,A]=g.useState(()=>Date.now());g.useEffect(()=>{const U=setInterval(()=>A(Date.now()),150);return()=>clearInterval(U)},[]),a?.receivedAt&&C-a.receivedAt<200;const j=b,w=p==="mobile-portrait",O=j?"text-[0.45rem]":"text-[0.65rem]",J=j?"px-0.25 py-0.25":"px-1 py-0.5",Y=j?"px-0.25 py-0.25":"px-0.5 py-0.5",G=j?"text-[0.55rem]":"text-[0.8rem]",$=j?"left-0.5 top-0.5":"left-1 top-1",te=j?"text-[0.5rem]":"text-[0.7rem]",F=j?"px-0.5 py-0.25":"px-1 py-0.5",ne=j?"left-0.5 top-1/2":"left-1 top-1/2",se="bottom-0.5",re={transform:`translateX(-50%) scale(${E})`,transformOrigin:"center bottom"},ye="240px",_={width:ye,height:ye,opacity:j?.85:.7,transform:`scale(${w?.36:j?.45:.7})`,transformOrigin:R==="bottom-left"?"bottom left":"top right",...R==="bottom-left"?{left:"0.25rem",bottom:"0.25rem"}:{right:"0.25rem",top:"0.25rem"}};if(m==="spectator"){const U=[["Voltage",s?.voltageMv!=null?`${(s.voltageMv/1e3).toFixed(2)} V`:"--"],["Current",s?.currentMa!=null?`${s.currentMa} mA`:"--"],["Charge",s?.batteryChargeMah!=null?`${s.batteryChargeMah}`:"--"],["OI",s?.oiMode?.label||"--"]];return c.jsxs("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[c.jsx("div",{className:`absolute ${$} font-medium text-slate-100 ${O}`,children:c.jsxs("div",{className:"flex flex-col gap-0.5 leading-none",children:[c.jsxs("span",{children:["Status: ",r]}),f?c.jsxs("span",{children:["Audio: ",f]}):null]})}),c.jsxs("div",{className:`absolute ${ne} flex -translate-y-1/2 flex-col gap-0.5 bg-black/70 text-slate-100 ${O} ${J}`,children:[c.jsxs("div",{className:"space-y-0.5 leading-tight",children:[c.jsx("span",{className:`${j?"text-[0.45rem]":"text-[0.6rem]"} uppercase tracking-wide text-slate-400`,children:"Telemetry"}),U.map(([W,ae])=>c.jsxs("span",{className:"flex items-center justify-between gap-0.5",children:[c.jsx("span",{className:"text-slate-400",children:W}),c.jsx("span",{className:"font-semibold text-white",children:ae})]},W))]}),S?c.jsx("div",{className:"flex items-center justify-center pt-0.25",children:c.jsx("div",{className:"pointer-events-none rounded",style:{width:j?"110px":"130px",height:j?"110px":"130px",opacity:j?.85:.9,transform:j?"scale(0.7)":"scale(0.85)",transformOrigin:"top left"},children:c.jsx(Cu,{sensors:s,size:160,overlay:!0})})}):null]}),c.jsx("div",{className:`absolute ${se} left-1/2`,style:re,children:c.jsxs("div",{className:`flex items-center gap-0.5 bg-black/80 text-slate-100 ${Y} ${G}`,children:[c.jsx("span",{className:"font-semibold text-white",children:i||"Unnamed Rover"}),y?c.jsxs("span",{className:"text-slate-300",children:["• ",y]}):null]})})]})}return c.jsxs("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[c.jsx("div",{className:`absolute ${$} font-medium text-slate-100 ${O}`,children:c.jsxs("div",{className:"flex flex-col gap-0.5 leading-none",children:[c.jsxs("span",{children:["Status: ",r]}),f?c.jsxs("span",{children:["Audio: ",f]}):null]})}),N?c.jsx("div",{className:`absolute left-1/2 top-0.5 -translate-x-1/2 rounded bg-black/70 text-slate-100 ${F} ${te}`,children:N}):null,c.jsx("div",{className:`absolute ${se} left-1/2`,style:re,children:c.jsx("div",{className:`flex gap-0.5 bg-black/80 text-slate-100 ${Y} ${G}`,children:c.jsxs("span",{children:['Rover: "',i||"Unnamed Rover",'"']})})}),S&&m!=="spectator"?c.jsx("div",{className:"pointer-events-none absolute rounded",style:{..._},children:c.jsx(Cu,{sensors:s,size:240,overlay:!0})}):null]})}function KS({mobileHud:a=!1,turnSeconds:s=null,isActiveDriver:i=!1,idleSkipSeconds:r=null}){const f=a?"text-3xl":"text-5xl",d=a?"text-xs":"text-sm",p=a?"text-[0.55rem]":"text-[0.75rem]",m=a?"px-4 py-3":"px-6 py-4",y=i&&typeof r=="number";return c.jsx("div",{className:"pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-black/55",children:c.jsxs("div",{className:`flex flex-col items-center gap-0.5 rounded border border-amber-300/80 bg-black/70 ${m}`,children:[c.jsx("div",{className:`font-semibold text-amber-200 ${f}`,children:"IT IS YOUR TURN!"}),c.jsx("div",{className:`text-amber-200/80 ${d}`,children:"Start driving!"}),y?c.jsxs("div",{className:`text-red-100/90 ${p}`,children:["Idle skip in ",r,"s"]}):null]})})}const ZS={leftWheel:"Left wheel",rightWheel:"Right wheel",mainBrush:"Main brush",sideBrush:"Side brush"};function JS({motors:a,compact:s=!1}){if(!a?.length)return null;const i=a.map(p=>ZS[p]||p),r=s?"p-2":"p-4",f=s?"text-lg":"text-4xl",d=s?"text-xs":"text-xl";return c.jsx("div",{className:`pointer-events-none absolute flex items-center justify-center bg-red-900/60 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 ${r}`,children:c.jsxs("div",{className:`text-center font-semibold text-white animate-pulse ${f}`,children:[c.jsx("div",{children:"OVERCURRENT"}),c.jsx("div",{className:`mt-0 font-medium text-white ${d}`,children:i.join(", ")})]})})}function FS({charge:a,config:s,compact:i=!1}){if(a==null||s==null)return null;const r=s.Full,f=s.Warn,d=s.Urgent??null,p=r-f;if(p<=0)return null;const y=(a-f)/p<=0;if(!(d!=null&&a<=d)&&!y)return null;const S=y?"Battery low! please dock and charge the rover soon.":"BATTERY VERY LOW, PLEASE DOCK THE ROVER AND CHARGE IMMEDIATELY!!",b=i?"p-2 top-6":"p-4 top-10",R=i?"text-sm":"text-2xl";return c.jsx("div",{className:`pointer-events-none absolute flex items-center justify-center bg-amber-900/60 left-1/2 -translate-x-1/2 ${b}`,children:c.jsx("div",{className:`text-center font-semibold text-white animate-pulse ${R}`,children:c.jsx("div",{children:S})})})}function IS({compact:a=!1}){const{session:s}=De(),{sendMessage:i,onInputFocus:r,onInputBlur:f,blurChat:d,registerInputRef:p}=$u(),{value:m}=ct("tts",{engine:"flite",voice:"rms",pitch:50}),[y,v]=g.useState(""),[S,b]=g.useState(!1),R=s?.role!=="spectator",N=s?.role==="spectator",E=s?.assignment?.roverId||null,A=!!g.useMemo(()=>s?.roster?.find(G=>String(G.id)===String(E))||null,[E,s?.roster])?.audio?.ttsEnabled,j=g.useMemo(()=>{if(!A)return null;const G=m?.engine==="espeak"?"espeak":"flite";if(G==="espeak"){let te=Number.isFinite(m?.pitch)?Math.round(m.pitch):void 0;return typeof te=="number"&&(te=Math.max(0,Math.min(99,te))),{speak:!0,engine:G,pitch:te}}const $=typeof m?.voice=="string"?m.voice:void 0;return{speak:!0,engine:G,voice:$}},[m?.engine,m?.pitch,m?.voice,A]),w=a?"pointer-events-auto absolute bottom-0.5 right-0.5 flex w-[9rem] max-w-[70vw] items-center gap-0.5 rounded bg-black/70 px-0.4 py-0.2":"pointer-events-auto absolute bottom-1 right-1 flex w-[12rem] max-w-[70vw] items-center gap-0.5 rounded bg-black/70 px-0.5 py-0.25",O=a?"min-w-0 flex-1 bg-transparent text-[0.55rem] text-slate-100 placeholder:text-slate-400 focus:outline-none":"min-w-0 flex-1 bg-transparent text-[0.7rem] text-slate-100 placeholder:text-slate-400 focus:outline-none",J=a?"rounded bg-cyan-500/80 px-0.35 py-0.2 text-[0.55rem] font-semibold text-black disabled:opacity-50":"rounded bg-cyan-500/80 px-0.5 py-0.25 text-[0.7rem] font-semibold text-black disabled:opacity-50";async function Y(G){if(G.preventDefault(),!R)return;const $=y.trim();if($){b(!0);try{await i($,j),v(""),d()}catch(te){alert(te.message)}finally{b(!1)}}}return N?null:c.jsxs("form",{onSubmit:Y,className:w,children:[c.jsx("input",{className:O,value:y,onChange:G=>v(G.target.value),onFocus:r,onBlur:f,onKeyDown:G=>{G.key==="Enter"&&!y.trim()&&(G.preventDefault(),d())},ref:G=>p(G,{target:"hud"}),placeholder:R?"Chat (TTS)":"Spectator",disabled:!R}),c.jsx("button",{type:"submit",disabled:!R||S,className:J,children:"Speak"})]})}function tf({layoutFormat:a="desktop"}){const{session:s}=De(),{state:{song:i,lastControlIntentAt:r}}=St(),[f,d]=g.useState(()=>Date.now()),[p,m]=g.useState(!1),[y,v]=g.useState(null),S=g.useRef({active:!1,roverId:null});g.useEffect(()=>{if(s?.mode!=="turns")return;const H=setInterval(()=>d(Date.now()),250);return()=>clearInterval(H)},[s?.mode]);const b=s?.assignment?.roverId,N=!!(b&&s?.roster?s.roster.find(H=>String(H.id)===String(b)):null)?.media?.audioPublishUrl,E=b?s?.turnQueues?.[b]:null,C=s?.socketId||null,A=b?s?.activeDrivers?.[b]:null,j=!!(C&&A===C),w=g.useMemo(()=>{const H=E?.queue||[];if(!H.length||!E?.current||H.length<=1)return null;const Q=H.findIndex(I=>I===E.current);return Q===-1?H[0]||null:H[(Q+1)%H.length]||null},[E?.queue,E?.current]),O=!!(C&&w===C),J=E?.deadline||null,Y=E?.idleDeadline||null,G=J?J-f:null,$=Y?Y-f:null,te=s?.mode==="turns"&&O&&G!=null&&G<=5e3&&G>0,F=s?.mode!=="turns"||j||te,ne=G!=null&&Number.isFinite(G)?Math.max(0,Math.ceil(G/1e3)):null,se=$!=null&&Number.isFinite($)?Math.max(0,Math.ceil($/1e3)):null,re=j?ne!=null?`${ne}s left`:null:O&&ne!=null?`Your turn in ${ne}s`:null,ye=b?[...F?[{type:"rover",id:b,key:b}]:[],...N?[{type:"rover",id:`${b}-audio`,key:`${b}-audio`}]:[]]:[],ee=Iu(ye),P=b&&F?ee[b]:null,_=b&&N?ee[`${b}-audio`]:null,U=Wu(b?[b]:[],{enabled:!!b,version:s?.mode}),W=b&&U[b]||null,ae=ks(b),fe=b&&s?.roster?s.roster.find(H=>String(H.id)===String(b)):null,T=fe?.battery??null,B=fe?.name||(b?`Rover ${b}`:"");return g.useEffect(()=>{if(s?.mode!=="turns"){m(!1),v(null),S.current={active:!1,roverId:null};return}const H=S.current,Q=j&&!H.active,I=j&&b&&b!==H.roverId;Q||I?(m(!0),v(Date.now())):!j&&H.active&&(m(!1),v(null)),S.current={active:j,roverId:b}},[j,b,s?.mode]),g.useEffect(()=>{!p||!y||r>y&&m(!1)},[r,y,p]),c.jsx("section",{className:"panel",children:b?c.jsx(ef,{sessionInfo:P,videoMode:F?"whep":"snapshot",snapshotFeed:W,audioSessionInfo:_,label:B,telemetryFrame:ae,batteryConfig:T,layoutFormat:a,songNote:i?.note,qualityNotice:F?null:"Preview feed (low FPS) until your turn.",showTurnCue:p,turnTimerText:re,turnSeconds:ne,isActiveDriver:j,idleSkipSeconds:se}):c.jsxs("div",{className:"panel-muted content-center text-center text-sm text-slate-400 aspect-[4/3]",children:[c.jsx("p",{children:"You are not assigned to a rover."}),c.jsx("p",{className:"mt-0",children:c.jsx("a",{href:"/spectate",className:"text-blue-400 underline hover:text-blue-500",children:"Click here to visit the spectator page."})})]})})}function Fp(...a){return a.filter(Boolean).join(" ")}function WS(a){const s=a?.batteryState?.percentDisplay;return s==null?"--":`${s}%`}function PS(a){return a?.batteryState?a.batteryState.urgentActive?"text-red-400":a.batteryState.warnActive?"text-amber-300":"text-emerald-300":"text-slate-400"}function eA({title:a,roster:s=[],emptyText:i="No roster data.",renderActions:r=null}){return c.jsxs("div",{className:"space-y-0.5 text-sm",children:[a&&c.jsx("p",{className:"text-sm text-slate-400",children:a}),s.length===0?c.jsx("p",{className:"text-sm text-slate-500",children:i}):c.jsx("ul",{className:"space-y-0.5 text-sm",children:s.map(f=>c.jsxs("li",{className:Fp("surface flex flex-wrap items-center justify-between gap-0.5",f.locked&&"bg-red-900/40"),children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-slate-200",children:f.name}),c.jsxs("p",{className:"text-xs text-slate-500 flex flex-wrap items-center gap-0.5",children:[c.jsx("span",{children:f.locked?"locked":"free"}),f.lockReason&&c.jsx("span",{className:"rounded bg-black/30 px-1",children:f.lockReason}),c.jsxs("span",{className:Fp("font-semibold",PS(f)),children:["Battery ",WS(f)]})]})]}),r?r(f):null]},f.id))})]})}function tA({keymap:a}){const{state:{roverId:s,camera:i},actions:{setServoAngle:r}}=St(),f=i?.config,d=!!(s&&i?.enabled&&f),p=typeof f?.minAngle=="number"?f.minAngle:-30,m=typeof f?.maxAngle=="number"?f.maxAngle:30,y=typeof i?.angle=="number"?i.angle:typeof f?.homeAngle=="number"?f.homeAngle:(p+m)/2,[v,S]=g.useState(y),b=g.useRef(!1);g.useEffect(()=>{b.current||S(y)},[y]);const R=A=>{const j=Number.parseFloat(A.target.value);Number.isNaN(j)||(b.current=!0,S(j),r(j))},N=()=>{b.current=!1};if(!d)return null;const E=ra(a?.cameraUp?.[0]),C=ra(a?.cameraDown?.[0]);return c.jsxs("div",{className:"surface space-y-0.5 px-1 py-1 text-sm text-slate-200",children:[c.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-300",children:[c.jsx("span",{children:"Camera tilt"}),c.jsx("span",{className:"font-mono text-slate-100",children:uu(y)})]}),c.jsxs("div",{children:[c.jsx("input",{type:"range",className:"w-full accent-emerald-400",min:p,max:m,step:.5,value:v,onChange:R,onMouseUp:N,onTouchEnd:N,onPointerUp:N}),c.jsxs("div",{className:"mt-0 flex items-center justify-between text-[0.7rem] text-slate-400",children:[c.jsxs("span",{className:"flex items-center gap-0.5",children:[C?c.jsx(Ip,{label:C}):null,uu(p)]}),c.jsxs("span",{className:"flex items-center gap-0.5",children:[uu(m),E?c.jsx(Ip,{label:E}):null]})]})]})]})}function Ip({label:a}){return c.jsx("span",{className:"rounded border border-white/40 px-1 text-[0.7rem] text-white",children:a})}function uu(a){return typeof a!="number"||Number.isNaN(a)?"—":`${a>0?"+":""}${a.toFixed(1)}°`}function ig({label:a,tone:s="muted"}){const i=s==="success"?"bg-emerald-900 text-emerald-100":s==="warn"?"bg-amber-900 text-amber-100":"bg-slate-800 text-slate-200";return c.jsx("span",{className:`rounded px-1 py-0.5 text-xs font-semibold leading-tight ${i}`,children:a})}function nA({entity:a,connected:s,onToggle:i}){const r=a.state==="unavailable"||!a.available,f=a.state==="on",d=r?"warn":f?"success":"muted",p=r?"Unavailable":f?"On":"Off",m=!s||r,y=r?"border-slate-800 bg-slate-900 text-slate-400 cursor-not-allowed":f?"border-emerald-700 bg-emerald-900/80 text-emerald-50 hover:bg-emerald-800":"border-rose-800 bg-rose-900/80 text-rose-50 hover:bg-rose-800";return c.jsxs("button",{type:"button",onClick:()=>i(a.id),disabled:m,className:`flex min-w-[10rem] flex-1 items-center justify-between gap-0.5 rounded px-1 py-0.5 text-left transition-colors ${y} disabled:opacity-60 disabled:hover:bg-inherit`,children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("div",{className:"flex items-center gap-0.5 text-sm",children:c.jsx("span",{className:"truncate font-semibold text-white",children:a.name||a.id})}),c.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-slate-400",children:[c.jsx(ig,{label:p,tone:d}),!s&&c.jsx("span",{className:"text-amber-200",children:" · Offline"})]})]}),c.jsx("div",{className:"text-xs font-semibold text-white/90",children:f?"Turn off":"Turn on"})]})}function rg(){const{state:{keymap:a}}=St(),{session:s,homeAssistantToggle:i}=De(),r=s?.homeAssistant,f=g.useMemo(()=>r?.entities||[],[r?.entities]),d=ra(a?.homeAssistantOn?.[0]),p=ra(a?.homeAssistantOff?.[0]);if(!r?.enabled)return c.jsxs("section",{className:"panel-section space-y-0.5 text-sm text-slate-400",children:[c.jsx("p",{className:"text-slate-300",children:"Light Controls"}),c.jsx("p",{className:"text-slate-500",children:"Not configured on the server."})]});if(f.length===0)return c.jsxs("section",{className:"panel-section space-y-0.5 text-sm text-slate-400",children:[c.jsx("p",{className:"text-slate-300",children:"Light Controls"}),c.jsx("p",{className:"text-slate-500",children:"No lights or switches configured."})]});const m=!!r?.connected;return c.jsxs("section",{className:"panel-section space-y-0.5 text-base",children:[c.jsxs("header",{className:"flex items-center justify-between gap-0.5 text-sm text-slate-400",children:[c.jsxs("div",{className:"flex items-center gap-0.5",children:[c.jsx("p",{children:"Light Controls"}),c.jsx("span",{className:"text-xs text-slate-500",children:f.length}),c.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-slate-300 background-black",children:[c.jsxs("span",{className:"flex items-center gap-0.5",children:[c.jsx("span",{children:"On"}),d?c.jsx(Wp,{label:d}):null]}),c.jsxs("span",{className:"flex items-center gap-0.5",children:[c.jsx("span",{children:"Off"}),p?c.jsx(Wp,{label:p}):null]})]})]}),c.jsx(ig,{label:m?"Connected":"Offline",tone:m?"success":"warn"})]}),c.jsx("div",{className:"flex flex-wrap gap-0.5",children:f.map(y=>c.jsx(nA,{entity:y,connected:m,onToggle:i},y.id))})]})}function Wp({label:a}){return a?c.jsx("span",{className:"rounded border border-white/40 px-1 text-[0.7rem] text-white",children:a}):null}function og(){const{login:a,setRole:s}=De(),[i,r]=g.useState(""),[f,d]=g.useState(""),[p,m]=g.useState(!1);async function y(v){v.preventDefault(),m(!0);try{await a(i,f),r(""),d("")}catch(S){alert(S.message)}finally{m(!1)}}return c.jsxs("div",{className:"panel-section space-y-0.5 text-base",children:[c.jsx("p",{className:"text-sm text-slate-400",children:"Admin login"}),c.jsxs("form",{className:"flex flex-col gap-0.5",onSubmit:y,children:[c.jsx("input",{className:"field-input",placeholder:"Username",value:i,onChange:v=>r(v.target.value)}),c.jsx("input",{className:"field-input",placeholder:"Password",type:"password",value:f,onChange:v=>d(v.target.value)}),c.jsx("button",{type:"submit",disabled:p,className:"button-dark w-full disabled:opacity-50",children:p?"Logging in…":"Login"})]})]})}const aA=[{key:"open",label:"Open"},{key:"turns",label:"Turns"},{key:"admin",label:"Admin"},{key:"lockdown",label:"Lockdown"}];function lA(){const{session:a,lockRover:s,setMode:i,requestControl:r,setCommunityGoal:f}=De(),d=g.useMemo(()=>a?.roster??[],[a?.roster]),[p,m]=g.useState({}),y=a?.health||null,v=a?.communityGoal?.text||"",S=a?.communityGoal?.updatedAt||null,[b,R]=g.useState(v),N=a?.role==="admin"||a?.role==="lockdown"||a?.role==="lockdown-admin",E=a?.mode??"open",C=async(Y,G)=>{try{await s(Y,G),m($=>({...$,[Y]:G}))}catch($){alert($.message)}},A=async Y=>{const G=Y.target.value;try{await i(G)}catch($){alert($.message)}},j=async Y=>{try{await r(Y,{force:!0})}catch(G){alert(G.message)}},w=async()=>{try{await f(b)}catch(Y){alert(Y.message)}},O=async()=>{try{await f(null)}catch(Y){alert(Y.message)}};g.useEffect(()=>{R(v)},[v]);const J=g.useMemo(()=>{const Y={};return d.forEach(G=>{Y[G.id]=p[G.id]??G.locked}),Y},[d,p]);return N?c.jsxs("section",{className:"panel-section space-y-0.5 text-base",children:[c.jsxs("div",{className:"flex items-center justify-between gap-0.5 text-sm",children:[c.jsx("span",{children:"Admin controls"}),c.jsx("select",{value:E,onChange:A,className:"field-input text-sm",children:aA.map(Y=>c.jsx("option",{value:Y.key,children:Y.label},Y.key))})]}),c.jsxs("div",{className:"space-y-0.5",children:[c.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-400",children:[c.jsx("span",{children:"Community goal"}),S?c.jsxs("span",{children:["Updated ",new Date(S).toLocaleString()]}):null]}),c.jsx("input",{type:"text",value:b,onChange:Y=>R(Y.target.value),placeholder:"Set a community goal",className:"field-input text-sm"}),c.jsxs("div",{className:"flex gap-0.5 text-xs",children:[c.jsx("button",{type:"button",onClick:w,className:"button-dark",children:"Set goal"}),c.jsx("button",{type:"button",onClick:O,className:"button-danger",children:"Clear"})]})]}),c.jsx(eA,{roster:d,renderActions:Y=>c.jsxs("div",{className:"flex flex-wrap gap-0.5 text-xs",children:[c.jsx("button",{type:"button",onClick:()=>C(Y.id,!J[Y.id]),className:"button-dark",children:J[Y.id]?"Unlock":"Lock"}),c.jsx("button",{type:"button",onClick:()=>j(Y.id),className:"button-dark",children:"Force"})]})}),c.jsx(sA,{health:y})]}):null}function sA({health:a}){if(!a)return null;const s=a.replay||{sources:[],readyCount:0,totalCount:0},i=a.snapshots||{rovers:[],rooms:[]},r=`${s.readyCount}/${s.totalCount} sources ready`,f=i.rovers.filter(p=>p.stale).length,d=i.rooms.filter(p=>p.stale).length;return c.jsxs("div",{className:"space-y-0.5",children:[c.jsx("div",{className:"panel-muted text-xs uppercase",children:"Health"}),c.jsxs("div",{className:"surface space-y-0.5 text-xs text-slate-200",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{children:"Replay segments"}),c.jsx("span",{className:"text-slate-400",children:r})]}),c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{children:"Rover snapshots"}),c.jsxs("span",{className:f?"text-amber-300":"text-emerald-300",children:[i.rovers.length-f,"/",i.rovers.length," ok"]})]}),c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{children:"Room cameras"}),c.jsxs("span",{className:d?"text-amber-300":"text-emerald-300",children:[i.rooms.length-d,"/",i.rooms.length," ok"]})]})]}),c.jsx("div",{className:"space-y-0.5 text-xs text-slate-300",children:s.sources.map(p=>c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{children:p.label}),c.jsxs("span",{className:p.ready?"text-emerald-300":"text-amber-300",children:[p.recentCount,"/",p.neededCount]})]},`${p.type}:${p.id}`))}),c.jsx("div",{className:"space-y-0.5 text-xs text-slate-300",children:i.rovers.map(p=>c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{children:p.name}),c.jsx("span",{className:p.stale?"text-amber-300":"text-emerald-300",children:p.stale?"stale":"ok"})]},`rover:${p.id}`))}),c.jsx("div",{className:"space-y-0.5 text-xs text-slate-300",children:i.rooms.map(p=>c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("span",{children:p.name}),c.jsx("span",{className:p.stale?"text-amber-300":"text-emerald-300",children:p.error?"error":p.stale?"stale":"ok"})]},`room:${p.id}`))})]})}const iA=[{id:"driveForward",label:"Drive Forward",group:"Driving"},{id:"driveBackward",label:"Drive Backward",group:"Driving"},{id:"driveLeft",label:"Turn Left",group:"Driving"},{id:"driveRight",label:"Turn Right",group:"Driving"},{id:"boostModifier",label:"Boost Modifier",group:"Driving"},{id:"slowModifier",label:"Slow Modifier",group:"Driving"},{id:"auxMainForward",label:"Main Brush Forward",group:"Aux Motors"},{id:"auxMainReverse",label:"Main Brush Reverse",group:"Aux Motors"},{id:"auxSideForward",label:"Side Brush Forward",group:"Aux Motors"},{id:"auxSideReverse",label:"Side Brush Reverse",group:"Aux Motors"},{id:"auxVacuumFast",label:"Vacuum Max",group:"Aux Motors"},{id:"auxVacuumSlow",label:"Vacuum Low",group:"Aux Motors"},{id:"auxAllForward",label:"All Aux Forward",group:"Aux Motors"},{id:"cameraUp",label:"Camera Up",group:"Camera"},{id:"cameraDown",label:"Camera Down",group:"Camera"},{id:"nightVisionToggle",label:"Toggle Night Vision",group:"Camera"},{id:"driveMacro",label:"Drive Macro",group:"Macros"},{id:"dockMacro",label:"Dock Macro",group:"Macros"},{id:"chatFocus",label:"Toggle Chat",group:"Chat"},{id:"songNoteUp",label:"Song Note Up",group:"Audio"},{id:"songNoteDown",label:"Song Note Down",group:"Audio"},{id:"homeAssistantOn",label:"Room Controls On (Cycle)",group:"Room Controls"},{id:"homeAssistantOff",label:"Room Controls Off (Cycle)",group:"Room Controls"}];function rA(a){return a.reduce((s,i)=>((s[i.group]||(s[i.group]=[])).push(i),s),{})}function oA(a,s){const i=Number(a);return Number.isFinite(i)?Math.max(0,Math.min(500,i)):s}const nf=5,Cs=500,Ts=1,af=100;function cA(a,s){const i=Number(a);return Number.isFinite(i)?Math.max(nf,Math.min(Cs,i)):s}function pr(a,s){const i=Number(a);return Number.isFinite(i)?Math.max(Ts,Math.min(af,i)):s}function uA(a){const i=(pr(a,a)-Ts)/(af-Ts),r=Cs-i*(Cs-nf);return Math.round(r)}function fA(a){const s=cA(a,a),i=(Cs-s)/(Cs-nf),r=Ts+i*(af-Ts);return Math.round(r)}function dA(a){const[s,i]=g.useState(null);return g.useEffect(()=>{if(!s)return;function r(f){if(f.preventDefault(),f.key==="Escape"){i(null);return}const d=Os(f.key??"");d&&(a(s,d,f),i(null))}return window.addEventListener("keydown",r,{capture:!0}),()=>window.removeEventListener("keydown",r,{capture:!0})},[s,a]),{active:s,startCapture:i,cancel:()=>i(null)}}function lr({label:a,description:s,value:i,onChange:r,min:f=0,max:d=500,step:p=5}){return c.jsxs("label",{className:"surface-muted block p-0.5",children:[c.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-300",children:[c.jsx("span",{className:"font-semibold text-slate-100",children:a}),c.jsx("input",{type:"number",min:f,max:d,value:i,onChange:m=>r(m.target.value),className:"w-16 rounded border border-slate-700 bg-slate-900 px-1 py-[2px] text-right text-[0.75rem] font-mono text-slate-100"})]}),s&&c.jsx("p",{className:"text-[0.65rem] text-slate-500",children:s}),c.jsxs("div",{className:"mt-0 flex items-center gap-0.5",children:[c.jsx("input",{type:"range",min:f,max:d,step:p,value:i,onChange:m=>r(m.target.value),className:"h-2 flex-1 accent-emerald-400"}),c.jsx("span",{className:"w-12 text-right text-[0.75rem] font-mono text-slate-400",children:i})]})]})}function hA(){const{state:{keymap:a},actions:{updateKeyBinding:s,resetKeyBindings:i}}=St(),{value:r,save:f}=ct("inputs",ot),d={...ot.keyboard,...r.keyboard??{}},p=g.useMemo(()=>typeof d.tiltSpeed=="number"?pr(d.tiltSpeed,ot.keyboard.tiltSpeed):typeof d.tiltIntervalMs=="number"?pr(fA(d.tiltIntervalMs),ot.keyboard.tiltSpeed):ot.keyboard.tiltSpeed,[d.tiltIntervalMs,d.tiltSpeed]),m=g.useMemo(()=>rA(iA),[]),{active:y,startCapture:v,cancel:S}=dA((E,C)=>{s(E,C)}),b=g.useCallback(E=>a?.[E]?.[0]||js[E]?.[0]||"",[a]),R=g.useCallback((E,C)=>{const A=ot.keyboard,j=oA(C,A[E]);f(w=>({...w??{},keyboard:{...w?.keyboard??A,[E]:j}}))},[f]),N=g.useCallback(E=>{const C=ot.keyboard,A=pr(E,C.tiltSpeed),j=uA(A);f(w=>({...w??{},keyboard:{...w?.keyboard??C,tiltSpeed:A,tiltIntervalMs:j}}))},[f]);return c.jsxs("section",{className:"panel-section space-y-0.5 text-sm",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-xs text-slate-400",children:"Keyboard layout"}),c.jsx("p",{className:"text-[0.7rem] text-slate-500",children:"Per-browser · click to change a binding"})]}),c.jsx("button",{type:"button",onClick:()=>i(),className:"button-dark text-xs",children:"Reset defaults"})]}),c.jsxs("div",{className:"space-y-0.5 surface",children:[c.jsx("p",{className:"text-[0.7rem] text-slate-500",children:"Keyboard speeds"}),c.jsxs("div",{className:"space-y-0.5",children:[c.jsx(lr,{label:"Base speed",description:"Normal driving speed",value:d.baseSpeed,onChange:E=>R("baseSpeed",E)}),c.jsx(lr,{label:"Turbo speed",description:"Used when holding the boost modifier",value:d.turboSpeed,onChange:E=>R("turboSpeed",E)}),c.jsx(lr,{label:"Precision speed",description:"Used when holding the precision modifier",value:d.precisionSpeed,onChange:E=>R("precisionSpeed",E)})]})]}),c.jsxs("div",{className:"space-y-0.5 surface",children:[c.jsx("p",{className:"text-[0.7rem] text-slate-500",children:"Camera tilt"}),c.jsx(lr,{label:"Tilt speed",description:"Higher = faster when holding tilt keys",value:p,onChange:N,min:1,max:100,step:1})]}),c.jsx("div",{className:"space-y-0.5",children:Object.entries(m).map(([E,C])=>c.jsxs("div",{className:"space-y-0.5 surface",children:[c.jsx("p",{className:"text-[0.75rem] text-slate-400",children:E}),c.jsx("div",{className:"space-y-0.5",children:C.map(A=>{const j=b(A.id),w=y===A.id;return c.jsxs("div",{className:"surface-muted flex items-center justify-between text-xs",children:[c.jsxs("div",{children:[c.jsx("p",{className:"font-semibold text-slate-100",children:A.label}),c.jsx("p",{className:"text-[0.65rem] text-slate-400",children:ra(j)})]}),c.jsxs("div",{className:"flex items-center gap-0.5",children:[w&&c.jsx("button",{type:"button",onClick:()=>S(),className:"button-danger text-[0.7rem]",children:"Cancel"}),c.jsx("button",{type:"button",onClick:()=>v(A.id),className:`${w?"px-0.5 py-0.5 bg-emerald-500 text-emerald-950 hover:bg-emerald-400":"button-dark"} text-[0.7rem] font-medium transition-colors`,children:w?"Press a key…":"Change"})]})]},A.id)})})]},E))})]})}function mA(){const[a,s]=g.useState(!1);return g.useEffect(()=>{function i(){const f=navigator.getGamepads?.();s(!!(f&&Array.from(f).some(Boolean)))}i(),window.addEventListener("gamepadconnected",i),window.addEventListener("gamepaddisconnected",i);const r=setInterval(i,2e3);return()=>{window.removeEventListener("gamepadconnected",i),window.removeEventListener("gamepaddisconnected",i),clearInterval(r)}},[]),a}const pA=new Intl.NumberFormat(void 0,{maximumFractionDigits:2}),gA=[{id:"driveHorizontal",label:"Drive horizontal",type:"axis",section:"Drive joystick",path:["drive","horizontal"]},{id:"driveVertical",label:"Drive vertical",type:"axis",section:"Drive joystick",path:["drive","vertical"]},{id:"cameraVertical",label:"Camera vertical",type:"axis",section:"Camera joystick",path:["camera","vertical"]},{id:"mainAxis",label:"Main brush axis",type:"axis",section:"Brush analog",path:["brushes","mainAxis"]},{id:"sideAxis",label:"Side brush axis",type:"axis",section:"Brush analog",path:["brushes","sideAxis"]},{id:"mainReverse",label:"Toggle main reverse",type:"button",section:"Brush toggles",path:["buttons","mainReverse"]},{id:"sideReverse",label:"Toggle side reverse",type:"button",section:"Brush toggles",path:["buttons","sideReverse"]},{id:"vacuum",label:"Vacuum button",type:"button",section:"Auxiliary buttons",path:["buttons","vacuum"]},{id:"allAux",label:"All aux button",type:"button",section:"Auxiliary buttons",path:["buttons","allAux"]},{id:"drive",label:"Drive macro button",type:"button",section:"Mode buttons",path:["buttons","drive"]},{id:"dock",label:"Dock macro button",type:"button",section:"Mode buttons",path:["buttons","dock"]}];function sr({label:a,description:s,min:i,max:r,step:f,value:d,onChange:p}){return c.jsxs("label",{className:"surface block",children:[c.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-300",children:[c.jsx("span",{className:"font-semibold text-slate-100",children:a}),c.jsx("span",{className:"font-mono text-slate-400",children:pA.format(d)})]}),s&&c.jsx("p",{className:"text-[0.65rem] text-slate-500",children:s}),c.jsx("input",{type:"range",min:i,max:r,step:f,value:d,onChange:m=>p(Number(m.target.value)),className:"mt-0 w-full accent-emerald-400"})]})}function yA(a){return a?`Axis ${a.index}${a.invert?" (invert)":""}`:"Unassigned"}function vA(a){return a?`Button ${a.index}`:"Unassigned"}function ir(a,s,i){const[r,f]=s,d={...a??xr};return d[r]={...d[r]??xr[r]},d[r][f]=i(d[r][f]),d}function xA(){const a=mA(),{value:s,save:i,reset:r}=ct("gamepadMapping",xr),{value:f,save:d}=ct("inputs",ot),p=f.gamepad??ot.gamepad,[m,y]=g.useState(null),v=g.useRef(null),S=A=>{d(j=>({...j,gamepad:{...j.gamepad??ot.gamepad,...A}}))};g.useEffect(()=>{v.current=null},[m]),g.useEffect(()=>{if(!m)return;let A;const j=()=>{const w=navigator.getGamepads?.(),O=w&&Array.from(w).find(Boolean);if(O){if(m.type==="axis"){v.current||(v.current=Array.from(O.axes??[]).map(J=>J??0));for(let J=0;J<O.axes.length;J+=1){const Y=O.axes[J],G=v.current?.[J]??0,$=Math.abs(Y-G);if(Math.abs(Y)>.65&&$>.5){i(te=>ir(te,m.path,()=>({index:J,invert:Y<0}))),y(null);return}}}else if(m.type==="button")for(let J=0;J<O.buttons.length;J+=1){const Y=O.buttons[J];if(Y&&(Y.pressed||Y.value>.6)){i(G=>ir(G,m.path,()=>({index:J}))),y(null);return}}}A=requestAnimationFrame(j)};return A=requestAnimationFrame(j),()=>{A&&cancelAnimationFrame(A)}},[m,i]);const b=g.useMemo(()=>gA.reduce((A,j)=>((A[j.section]||(A[j.section]=[])).push(j),A),{}),[]),R=A=>{const[j,w]=A.path;return s?.[j]?.[w]??null},N=A=>{const j=R(A);return A.type==="axis"?yA(j):vA(j)},E=A=>{i(j=>ir(j,A.path,()=>null))},C=A=>{R(A)&&i(w=>ir(w,A.path,O=>({...O,invert:!O?.invert})))};return c.jsxs("section",{className:"panel-section space-y-0.5 text-sm",children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-xs text-slate-400",children:"Gamepad mapping"}),c.jsx("p",{className:"text-[0.65rem] text-slate-500",children:a?"Move sticks/axes with a big sweep or press buttons when capturing.":"Connect a controller to configure."}),m&&c.jsxs("p",{className:"mt-0 text-[0.7rem] text-emerald-400",children:["Capturing ",m.label,"…"]})]}),c.jsx("button",{type:"button",onClick:()=>r(),className:"button-dark text-xs",children:"Clear all"})]}),c.jsxs("div",{className:"space-y-0.5",children:[c.jsxs("div",{className:"space-y-0.5 surface",children:[c.jsx("p",{className:"text-[0.7rem] text-slate-500",children:"Sensitivity & feel"}),c.jsxs("div",{className:"space-y-0.5",children:[c.jsx(sr,{label:"Drive deadzone",description:"Ignore small drive stick movement",min:0,max:.6,step:.01,value:p.driveDeadzone??.2,onChange:A=>S({driveDeadzone:A})}),c.jsx(sr,{label:"Camera deadzone",description:"Tilt stick sensitivity",min:0,max:.6,step:.01,value:p.cameraDeadzone??.25,onChange:A=>S({cameraDeadzone:A})}),c.jsx(sr,{label:"Servo step (deg)",description:"Degrees per camera tick",min:.5,max:6,step:.25,value:p.servoStep??2,onChange:A=>S({servoStep:A})}),c.jsx(sr,{label:"Side reverse multiplier",description:"Scale when reversing the side brush",min:.3,max:1,step:.05,value:p.auxReverseScale??.55,onChange:A=>S({auxReverseScale:A})})]})]}),Object.entries(b).map(([A,j])=>c.jsxs("div",{className:"space-y-0.5 surface",children:[c.jsx("p",{className:"text-[0.7rem] text-slate-500",children:A}),c.jsx("div",{className:"space-y-0.5",children:j.map(w=>c.jsxs("div",{className:"surface-muted flex items-center justify-between text-xs",children:[c.jsxs("div",{children:[c.jsx("p",{className:"font-semibold text-slate-100",children:w.label}),c.jsx("p",{className:"text-[0.65rem] text-slate-400",children:N(w)})]}),c.jsxs("div",{className:"flex items-center gap-0.5",children:[w.type==="axis"&&c.jsx("button",{type:"button",disabled:!R(w),onClick:()=>C(w),className:`${R(w)?.invert?"px-0.5 py-0.5 bg-amber-400 text-amber-900 hover:bg-amber-300":"button-dark"} text-[0.7rem] font-medium disabled:opacity-50 disabled:cursor-not-allowed`,children:"Invert"}),c.jsx("button",{type:"button",onClick:()=>E(w),className:"button-dark text-[0.7rem]",children:"Clear"}),c.jsx("button",{type:"button",onClick:()=>y(w),className:`${m?.id===w.id?"px-0.5 py-0.5 bg-emerald-500 text-emerald-950 hover:bg-emerald-400":"button-dark"} text-[0.7rem] font-medium`,children:m?.id===w.id?"Waiting…":"Capture"})]})]},w.id))})]},A))]})]})}const cg=g.createContext(null);function ug(){const a=g.useContext(cg);if(!a)throw new Error("Tabs components must be used within a <Tabs> provider.");return a}const Pp={primary:{base:"flex-1 px-0.5 py-0.5 text-sm font-medium transition-colors focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-1 focus-visible:outline-slate-500",active:"bg-sky-600 text-white",inactive:"bg-zinc-900 text-slate-300 hover:bg-sky-500 hover:text-white"}},fg="primary";function lf(...a){return a.filter(Boolean).join(" ")}function sf({children:a,defaultTab:s,currentTab:i,onTabChange:r,variant:f=fg}){const[d,p]=g.useState(s??null),[m,y]=g.useState([]),v=g.useCallback(N=>N?(y(E=>E.includes(N)?E:[...E,N]),()=>y(E=>E.includes(N)?E.filter(C=>C!==N):E)):()=>{},[]),S=i??d??m[0]??null;g.useEffect(()=>{s&&i===void 0&&p(s)},[s,i]);const b=g.useCallback(N=>{N&&(i===void 0&&p(N),r&&r(N))},[i,r]),R=g.useMemo(()=>({activeTab:S,setActiveTab:b,registerTab:v,variant:f}),[S,b,v,f]);return c.jsx(cg.Provider,{value:R,children:a})}function rf({children:a,className:s=""}){return c.jsx("div",{className:lf("flex gap-0.5",s),children:a})}function Jt({id:a,children:s,className:i="",disabled:r=!1}){const{activeTab:f,setActiveTab:d,registerTab:p,variant:m}=ug();g.useEffect(()=>p(a),[a,p]);const y=Pp[m]??Pp[fg],v=f===a,S=lf(y.base,v?y.active:y.inactive,r?"cursor-not-allowed opacity-50":"",i);return c.jsx("button",{type:"button",className:S,onClick:()=>!r&&d(a),"aria-pressed":v,"aria-disabled":r,children:s})}function of({children:a,className:s=""}){return c.jsx("div",{className:lf("mt-0 space-y-0.5",s),children:a})}function Ft({id:a,children:s,keepMounted:i=!1}){const{activeTab:r}=ug(),f=r===a;return!f&&!i?null:!f&&i?c.jsx("div",{hidden:!0,"aria-hidden":"true",children:s}):c.jsx(c.Fragment,{children:s})}function bA(){const{session:a}=De(),s=g.useMemo(()=>JSON.stringify(a??{},null,2),[a]);return c.jsxs("div",{className:"panel-section flex min-h-0 flex-col gap-0.5 text-xs",children:[c.jsx("p",{className:"text-sm text-slate-400",children:"Session snapshot"}),c.jsx("pre",{className:"surface min-h-0 flex-1 overflow-y-auto font-mono text-[0.7rem] text-lime-300",children:s})]})}const e0=300,t0=240;function SA(a,s){if(a===void 0)return"undefined";if(a===null)return"null";if(typeof a=="string")return a;if(typeof a=="number"||typeof a=="boolean")return String(a);if(typeof a=="function")return"[Function]";if(a instanceof Error)return`${a.name}: ${a.message}`;if(a instanceof Date)return a.toISOString();if(s||(s=new WeakSet),typeof a=="object"){if(s.has(a))return"[Circular]";s.add(a)}try{return JSON.stringify(a,(i,r)=>typeof r=="function"?"[Function]":r instanceof Error?`${r.name}: ${r.message}`:r,0)}catch{return String(a)}}function AA(a){const i=a.map(r=>SA(r)).join(" ");return i.length>t0?`${i.slice(0,t0)}…`:i}function jA(){const a=sn(),[s,i]=g.useState([]),r=g.useMemo(()=>s.reduce((f,d)=>(d.direction==="in"&&(f.in+=1),d.direction==="out"&&(f.out+=1),f),{in:0,out:0}),[s]);return g.useEffect(()=>{const f=(y,v,S)=>{i(b=>{const R=[...b,{id:`${Date.now()}-${Math.random().toString(16).slice(2)}`,direction:y,event:v,payload:AA(S),timestamp:new Date().toLocaleTimeString()}];return R.length>e0?R.slice(-e0):R})},d=(y,...v)=>f("in",y,v),p=(y,...v)=>f("out",y,v);a.onAny(d);let m=null;if(typeof a.onAnyOutgoing=="function")a.onAnyOutgoing(p),m=()=>a.offAnyOutgoing(p);else{const y=a.emit.bind(a);a.emit=(v,...S)=>(p(v,...S),y(v,...S)),m=()=>{a.emit=y}}return()=>{a.offAny(d),m&&m()}},[a]),c.jsxs("section",{className:"panel-section space-y-0.5 text-base",children:[c.jsxs("div",{className:"flex items-center justify-between text-sm text-slate-400",children:[c.jsx("span",{children:"Socket activity"}),c.jsxs("div",{className:"flex items-center gap-0.5 text-xs text-slate-400",children:[c.jsxs("span",{className:"surface-muted",children:["in ",r.in]}),c.jsxs("span",{className:"surface-muted",children:["out ",r.out]}),c.jsx("button",{type:"button",className:"button-dark text-xs",onClick:()=>i([]),children:"Clear"})]})]}),c.jsx("div",{className:"surface h-64 overflow-y-auto font-mono text-xs",children:s.length===0?c.jsx("p",{children:"No socket activity yet."}):s.slice().reverse().map(f=>c.jsxs("div",{className:"surface",children:[c.jsx("span",{className:"text-slate-400",children:f.timestamp})," ",c.jsxs("span",{className:f.direction==="in"?"text-emerald-400":"text-amber-400",children:["[",f.direction.toUpperCase(),"]"]})," ",c.jsx("span",{className:"text-cyan-300",children:f.event})," ",c.jsx("span",{className:"text-slate-200",children:f.payload})]},f.id))}),c.jsx("p",{className:"text-xs text-slate-500",children:"Logs are collected only while this panel is open."})]})}const NA=[{key:"start",label:"Start OI"},{key:"safe",label:"Safe"},{key:"full",label:"Full"},{key:"passive",label:"Passive"},{key:"dock",label:"Dock"}];function dg(){const{state:{roverId:a},actions:{sendOiCommand:s,setSensorStream:i}}=St(),r=!!a,[f,d]=sg(),p=sn(),{value:m,save:y}=ct("page",{hudMapDesktop:!1,connectionTransport:"websocket"}),v=m?.connectionTransport||"websocket",S=g.useMemo(()=>[{key:"start",label:"Enable stream",enable:!0},{key:"stop",label:"Disable stream",enable:!1}],[]),b=N=>{a&&i(N)},R=N=>{const E=N.target.value;y(C=>({...C??{},connectionTransport:E})),p?.io?.opts&&(p.io.opts.transports=E==="polling"?["polling"]:["websocket","polling"],p.disconnect(),p.connect())};return c.jsxs(sf,{defaultTab:"keybindings",children:[c.jsxs(rf,{children:[c.jsx(Jt,{id:"keybindings",children:"Keybindings"}),c.jsx(Jt,{id:"controller",children:"Controller"}),c.jsx(Jt,{id:"page",children:"Page settings"}),c.jsx(Jt,{id:"admin",children:"Admin"})]}),c.jsxs(of,{children:[c.jsx(Ft,{id:"keybindings",children:c.jsx("div",{className:"space-y-0.5",children:c.jsx(hA,{})})}),c.jsx(Ft,{id:"controller",children:c.jsx("div",{className:"space-y-0.5",children:c.jsx(xA,{})})}),c.jsx(Ft,{id:"page",children:c.jsxs("div",{className:"space-y-0.5",children:[c.jsxs("section",{className:"panel-section space-y-0.5 text-sm",children:[c.jsx("p",{className:"text-slate-400",children:"HUD"}),c.jsxs("label",{className:"flex items-center gap-0.5 text-slate-200",children:[c.jsx("input",{type:"checkbox",className:"accent-emerald-500",checked:f,onChange:N=>d(N.target.checked)}),c.jsx("span",{children:"Show top-down map in HUD (desktop)"})]}),c.jsx("p",{className:"text-xs text-slate-500",children:"Mobile HUD keeps the map on by default."})]}),c.jsxs("section",{className:"panel-section space-y-0.5 text-sm",children:[c.jsx("p",{className:"text-slate-400",children:"Connection"}),c.jsxs("label",{className:"flex items-center justify-between gap-0.5 text-slate-200",children:[c.jsx("span",{children:"Transport"}),c.jsxs("select",{value:v,onChange:R,className:"field-input text-sm",children:[c.jsx("option",{value:"websocket",children:"WebSocket"}),c.jsx("option",{value:"polling",children:"Polling"})]})]}),c.jsx("p",{className:"text-xs text-slate-500",children:"Switching reconnects your session."})]})]})}),c.jsx(Ft,{id:"admin",children:c.jsxs("div",{className:"space-y-0.5",children:[c.jsxs("section",{className:"panel-section space-y-0.5 text-sm",children:[c.jsx("p",{className:"text-slate-400",children:"Manual OI commands"}),c.jsx("div",{className:"surface flex flex-wrap gap-0.5",children:NA.map(N=>c.jsx("button",{type:"button",onClick:()=>s(N.key),disabled:!r,className:"button-dark text-xs disabled:opacity-30",children:N.label},N.key))})]}),c.jsxs("section",{className:"panel-section space-y-0.5 text-sm",children:[c.jsx("p",{className:"text-slate-400",children:"Sensor stream"}),c.jsx("div",{className:"surface flex gap-0.5",children:S.map(N=>c.jsx("button",{type:"button",onClick:()=>b(N.enable),disabled:!r,className:"flex-1 button-dark text-xs disabled:opacity-30",children:N.label},N.key))}),!r&&c.jsx("p",{className:"text-xs text-slate-500",children:"Assign a rover to toggle streams."})]}),c.jsx(og,{}),c.jsx(lA,{}),c.jsx(bA,{}),c.jsx(jA,{})]})})]})]})}const n0={desktop:{main:[{type:"list",title:"Chat and nicknames",items:["Set a nickname in the user list panel, on the bottom left of the page below the rover video.",{segments:["Toggle chat focus with ",{action:"chatFocus"},". Press ",{action:"chatFocus"}," again to send."]}]},{type:"list",title:"Driving the rover",items:[{segments:['Press the "Start Driving" button onscreen, or press ',{action:"driveMacro"}," on your keyboard to put the rover into driving mode."]},"Refer to the controls for the controls for the rover."]},{type:"list",title:"Docking the rover",items:["Line up the rover to the dock, about a foot away, then:",{segments:['Press the "Dock and Charge" button onscreen, or press ',{action:"dockMacro"}," on your keyboard to start docking."]},"Wait for the rover to confirm it is docked and charging before leaving it unattended."]}],aside:[{type:"keyboard",title:"Keyboard controls",footnote:"Per-browser; adjust bindings and speeds in Settings → Keybindings.",groups:[{id:"movement",title:"Movement",items:[{action:"driveForward",label:"Forward"},{action:"driveBackward",label:"Backward"},{action:"driveLeft",label:"Turn left"},{action:"driveRight",label:"Turn right"},{action:"boostModifier",label:"Boost speed"},{action:"slowModifier",label:"Precision speed"}]},{id:"macros",title:"Rover modes & chat",items:[{action:"driveMacro",label:"Drive macro"},{action:"dockMacro",label:"Dock macro"},{action:"chatFocus",label:"Chat focus"}]},{id:"camera",title:"Camera",items:[{action:"cameraUp",label:"Tilt up"},{action:"cameraDown",label:"Tilt down"},{action:"nightVisionToggle",label:"Toggle night vision"}]},{id:"motors",title:"Rover Aux Motors",items:[{action:"auxMainForward",label:"Main brush forward"},{action:"auxMainReverse",label:"Main brush reverse"},{action:"auxSideForward",label:"Side brush forward"},{action:"auxSideReverse",label:"Side brush reverse"},{action:"auxVacuumFast",label:"Vacuum max"},{action:"auxVacuumSlow",label:"Vacuum low"},{action:"auxAllForward",label:"All motors forward"}]},{id:"audio",title:"Audio / Song",items:[{action:"songNoteUp",label:"Song note up"},{action:"songNoteDown",label:"Song note down"}]},{id:"room-controls",title:"Room Controls",items:[{action:"homeAssistantOn",label:"Next room control on"},{action:"homeAssistantOff",label:"Next room control off (reverse)"}]}]},{type:"gamepad",title:"Gamepad / joystick",items:["Gamepad controls are not mapped by default, this is because of how terribly inconsistent gamepad implementations are across browsers and devices.","You can map gamepad controls in Settings → Controller.","Use at your own risk, it may not be perfect depending on your setup."]}]},"mobile-portrait":{main:[{type:"list",title:"Chat and nicknames",items:["Set a nickname in the user list panel below.","Tap in the chat box to send messages in the chat."]},{type:"list",title:"Driving the rover",items:[{segments:['Press the "Start Driving" button onscreen to put the rover into driving mode.']},"Look below the rover video. Use the joystick on the right to move the rover, and hold the buttons on the left to run the aux motors."]},{type:"list",title:"Docking the rover",items:["Line up the rover to the dock, about a foot away, then:",{segments:['Press the "Dock and Charge" button onscreen to start docking.']},"Wait for the rover to confirm it is docked and charging before leaving it unattended."]}]},"mobile-landscape":{main:[{type:"list",title:"Chat and nicknames",items:["Scroll down to see more of the page.","Set a nickname in the user list panel below.","Tap in the chat box to send messages in the chat."]},{type:"list",title:"Driving the rover",items:[{segments:['Press the "Start Driving" button, or the "Drive" button to put the rover into driving mode.']},"Use the joystick to the right of the video feed to move the rover, and hold the buttons on the left to run the aux motors."]},{type:"list",title:"Docking the rover",items:["Line up the rover to the dock, about a foot away, then:",{segments:['Press the "Dock and Charge" or the "Dock" button onscreen to start docking.']},"Wait for the rover to confirm it is docked and charging before leaving it unattended."]}]}};function EA(a){return n0[a]||n0.desktop}function hg({actionId:a,keymap:s}){const i=s?.[a]?.[0]??"";return c.jsx("span",{className:"rounded border border-slate-600 bg-slate-900/40 px-1 text-[0.7rem] text-slate-200",children:ra(i)})}function a0(a,s){return a.map((i,r)=>typeof i=="string"?c.jsx("span",{children:i},`text-${r}`):i?.action?c.jsx(hg,{actionId:i.action,keymap:s},`pill-${i.action}-${r}`):i?.text?c.jsx("span",{children:i.text},`span-${r}`):null)}function qr(a,s,i){if(typeof a=="string")return a;if(Array.isArray(a?.segments))return a0(a.segments,s);if(a&&typeof a=="object"){if(typeof a.text=="string")return a.text;if(Array.isArray(a))return a0(a,s)}return String(a??"")}function qA({hero:a,keymap:s}){return a?c.jsxs("div",{className:"surface space-y-0.5 px-0.5 py-0.5",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-0.5",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-sm font-semibold text-white",children:a.title}),a.subtitle&&c.jsx("p",{className:"text-xs text-slate-300",children:a.subtitle})]}),a.chips&&c.jsx("div",{className:"flex flex-wrap gap-0.5 text-[0.7rem] text-slate-200",children:a.chips.map(i=>c.jsx("span",{className:"rounded border border-slate-700 px-1 py-[2px]",children:i},i))})]}),a.bullets&&c.jsx("ul",{className:"space-y-0.5 text-[0.85rem] text-slate-200",children:a.bullets.map((i,r)=>{const f=Array.isArray(i?.segments)?`hero-${r}`:`hero-${r}`;return c.jsx("li",{className:"surface-muted px-0.5 py-0.25",children:qr(i,s)},f)})})]}):null}function wA({block:a,keymap:s}){return c.jsxs("div",{className:"space-y-0.5",children:[c.jsx("p",{className:"text-xs font-semibold text-slate-200",children:a.title}),c.jsx("ul",{className:"space-y-0.5 text-[0.8rem] text-slate-300",children:a.items.map((i,r)=>{const f=`item-${r}`;return c.jsx("li",{className:"surface-muted flex flex-wrap items-center gap-0.5 px-0.5 py-0.25",children:qr(i,s)},f)})})]})}function CA({block:a}){const s=a.tone==="info"?"border-cyan-500/40":"border-slate-700";return c.jsxs("div",{className:`surface space-y-0.5 border ${s} px-0.5 py-0.5`,children:[c.jsx("p",{className:"text-xs font-semibold text-slate-100",children:a.title}),a.body&&c.jsx("ul",{className:"space-y-0.5 text-[0.8rem] text-slate-300",children:a.body.map((i,r)=>c.jsx("li",{className:"surface-muted px-0.5 py-0.25",children:qr(i,{})},`callout-${r}`))})]})}function TA({group:a,keymap:s}){return c.jsxs("div",{className:"space-y-0.5 surface",children:[c.jsx("p",{className:"px-0.5 py-0.25 text-[0.75rem] font-semibold text-slate-200",children:a.title}),c.jsx("div",{className:"space-y-0.5 px-0.5 pb-0.25",children:a.items.map(i=>c.jsxs("div",{className:"surface-muted flex items-center justify-between gap-0.5 px-0.5 py-0.25 text-[0.8rem]",children:[c.jsx("span",{className:"text-slate-200",children:i.label}),c.jsx(hg,{actionId:i.action,keymap:s})]},i.action))})]})}function RA({block:a,keymap:s}){return a?c.jsxs("div",{className:"space-y-0.5",children:[c.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-200",children:[c.jsx("span",{className:"font-semibold",children:a.title}),a.footnote&&c.jsx("span",{className:"text-[0.7rem] text-slate-400",children:a.footnote})]}),c.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-0.5",children:a.groups?.map(i=>c.jsx(TA,{group:i,keymap:s},i.id))})]}):null}function MA({block:a}){return a?c.jsxs("div",{className:"space-y-0.5",children:[c.jsx("p",{className:"text-xs font-semibold text-slate-200",children:a.title}),c.jsx("ul",{className:"space-y-0.5 text-[0.8rem] text-slate-300",children:a.items?.map((s,i)=>c.jsx("li",{className:"surface-muted px-0.5 py-0.25",children:qr(s,{})},`gamepad-${i}`))})]}):null}function l0({block:a,keymap:s}){if(!a)return null;switch(a.type){case"list":return c.jsx(wA,{block:a,keymap:s});case"callout":return c.jsx(CA,{block:a});case"keyboard":return c.jsx(RA,{block:a,keymap:s});case"gamepad":return c.jsx(MA,{block:a});default:return null}}function mg({layout:a,keymap:s}){const i=g.useMemo(()=>EA(a),[a]),r=s||{},f=i.main||[],d=i.aside||[];return c.jsxs("div",{className:"space-y-0.5",children:[c.jsx(qA,{hero:i.hero,keymap:r}),c.jsxs("div",{className:"grid gap-0.5",style:{gridTemplateColumns:"repeat(auto-fit, minmax(360px, 1fr))"},children:[c.jsx("div",{className:"space-y-0.5",children:f.map((p,m)=>c.jsx(l0,{block:p,keymap:r},p.title||m))}),c.jsx("div",{className:"space-y-0.5",children:d.map((p,m)=>c.jsx(l0,{block:p,keymap:r},p.title||m))})]})]})}function pg({layout:a,onOpenOverlay:s}){const{state:i}=St();return c.jsxs("section",{className:"panel-section space-y-0.5 text-sm",children:[c.jsxs("div",{className:"flex items-center justify-between text-xs text-slate-400",children:[c.jsx("span",{children:"Help"}),c.jsx("button",{type:"button",onClick:s,className:"button-dark px-1 py-0.25 text-[0.75rem]",children:"Open full help"})]}),c.jsx(mg,{layout:a,keymap:i?.keymap||{}})]})}const _A=["kal","rms","slt","ksp","bdl"],kA=Array.from({length:10},(a,s)=>s*10);function Ds({hideInput:a=!1,hideSpectatorNotice:s=!1,fillHeight:i=!1}){const{session:r}=De(),{messages:f,sendMessage:d,registerInputRef:p,onInputFocus:m,onInputBlur:y,blurChat:v}=$u(),{value:S,save:b}=ct("tts",{engine:"flite",voice:"rms",pitch:50}),[R,N]=g.useState(""),[E,C]=g.useState(!1),[A,j]=g.useState(!1),[w,O]=g.useState(()=>S?.engine||"flite"),[J,Y]=g.useState(()=>S?.voice||"rms"),[G,$]=g.useState(()=>Number.isFinite(S?.pitch)?S.pitch:50),te=r?.role!=="spectator",F=g.useRef(null),ne=r?.assignment?.roverId||null,re=!!g.useMemo(()=>r?.roster?.find(U=>String(U.id)===String(ne))||null,[ne,r?.roster])?.audio?.ttsEnabled,ye=g.useMemo(()=>f.slice(-200),[f]);g.useEffect(()=>{F.current&&(F.current.scrollTop=F.current.scrollHeight)},[ye]),g.useEffect(()=>{const U=S?.engine||"flite",W=S?.voice||"rms",ae=Number.isFinite(S?.pitch)?S.pitch:50;w!==U&&O(U),J!==W&&Y(W),G!==ae&&$(ae)},[w,G,S?.engine,S?.pitch,S?.voice,J]),g.useEffect(()=>{j(!!re)},[re]);const ee=g.useMemo(()=>!re||!A?null:w==="espeak"?{speak:!0,engine:w,pitch:G}:{speak:!0,engine:w,voice:J},[w,G,A,re,J]);async function P(U){if(U.preventDefault(),!te||a)return;const ae=R.replace(/\\n/g,`
`).trim();if(ae){C(!0);try{await d(ae,ee),N(""),v()}catch(fe){alert(fe.message)}finally{C(!1)}}}const _=i?"flex-1 min-h-0 overflow-y-auto":"h-48 overflow-y-auto";return c.jsxs("section",{className:`panel-section space-y-0.5 text-base ${i?"flex h-full flex-col overflow-hidden":""}`,children:[c.jsx("div",{className:`surface overflow-y-auto space-y-0.5 px-0 ${_}`,ref:F,children:ye.length===0?c.jsx("p",{className:"text-sm text-slate-500",children:"No messages yet."}):ye.map(U=>c.jsx($0,{message:U},U.id))}),!a&&c.jsxs("form",{className:"flex flex-wrap items-stretch gap-0.5",onSubmit:P,children:[c.jsx("input",{className:"field-input flex-1 min-w-[10rem]",value:R,onChange:U=>N(U.target.value),onFocus:m,onBlur:y,onKeyDown:U=>{U.key==="Enter"&&!R.trim()&&(U.preventDefault(),v())},ref:U=>p(U,{target:"panel"}),placeholder:te?"Type a message…":s?"":"Spectators cannot chat",disabled:!te}),re&&c.jsxs("div",{className:"flex flex-wrap items-center gap-0.5 basis-full sm:basis-auto",children:[c.jsxs("label",{className:"flex items-center gap-0.5 text-xs text-slate-300",children:[c.jsx("input",{type:"checkbox",checked:A,onChange:U=>j(U.target.checked),className:"accent-cyan-500"}),c.jsx("span",{children:"Speak"})]}),c.jsxs("select",{value:w,onChange:U=>{const W=U.target.value;O(W),b(ae=>({...ae||{},engine:W}))},className:"field-input text-xs",children:[c.jsx("option",{value:"flite",children:"flite"}),c.jsx("option",{value:"espeak",children:"espeak"})]}),w==="flite"?c.jsx("select",{value:J,onChange:U=>{const W=U.target.value;Y(W),b(ae=>({...ae||{},voice:W}))},className:"field-input text-xs",children:_A.map(U=>c.jsx("option",{value:U,children:U},U))}):c.jsx("select",{value:G,onChange:U=>{const W=Number(U.target.value);$(W),b(ae=>({...ae||{},pitch:W}))},className:"field-input text-xs",children:kA.map(U=>c.jsxs("option",{value:U,children:["pitch ",U]},U))})]}),c.jsx("button",{type:"submit",disabled:!te||E,className:"button-dark h-full disabled:opacity-50 self-stretch",children:E?"...":"Send"})]})]})}function cf({compact:a=!1}){const{session:s,setNickname:i}=De(),{value:r,save:f}=ct("profile",{nickname:""}),[d,p]=g.useState(r.nickname||""),[m,y]=g.useState(!1),v=s?.role!=="spectator";g.useEffect(()=>{p(r.nickname||"")},[r.nickname]);async function S(b){if(b.preventDefault(),!v)return;const R=(d||"").trim().slice(0,32);if(R){y(!0);try{await i(R),f({nickname:R})}catch(N){alert(N.message)}finally{y(!1)}}}return c.jsxs("form",{className:"grid w-full min-w-0 grid-cols-[minmax(0,1fr)_auto] items-stretch gap-0.5",onSubmit:S,children:[c.jsx("input",{className:"field-input flex-1 min-w-0",value:d,onChange:b=>p(b.target.value),maxLength:32,placeholder:"Enter a nickname",disabled:!v}),c.jsx("button",{type:"submit",disabled:!v||m,className:"button-dark h-full shrink-0 whitespace-nowrap px-0.5 py-0 disabled:opacity-50",children:m?"Saving…":a?"Set":"Save"})]})}function gg({text:a="Support me on Ko-fi!",className:s=""}){const{session:i}=De(),r=i?.kofi?.link||null;return r?c.jsxs("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:`inline-flex items-center w-full px-0.5 py-0.5 text-sm font-medium text-white kofi-animate-bg transition justify-center gap-1 ${s}`,children:[c.jsx(U1,{className:"mr-0"}),a]}):null}function OA({compact:a=!1}){return c.jsx("section",{className:"panel-section flex h-full min-h-0 flex-col gap-0.5 text-base",children:c.jsx("div",{className:"surface flex w-full items-center px-0 py-0",children:c.jsx(cf,{compact:a})})})}function DA(){return c.jsx("section",{className:"panel-section flex h-full min-h-0 flex-col gap-0.5 text-base",children:c.jsxs("div",{className:"grid flex-1 min-h-0 gap-0.5 grid-rows-2",children:[c.jsx(Er,{className:"h-full"}),c.jsx(gg,{className:"h-full"})]})})}function fu(...a){return a.filter(Boolean).join(" ")}function zA(a){const s=a?.batteryState?.percentDisplay;return s==null?"--":`${s}%`}function BA(a){return a?.batteryState?a.batteryState.urgentActive?"text-red-400":a.batteryState.warnActive?"text-amber-300":"text-emerald-300":"text-slate-400"}function LA(a){switch(a){case"admin":case"lockdown":case"lockdown-admin":return"text-amber-300";case"spectator":return"text-slate-400";default:return"text-sky-300"}}function UA(a,s){if(!a)return"";const i=a.nickname||a.socketId?.slice(0,6)||"unknown";return a.socketId&&a.socketId===s?`${i} (you)`:i}function wr({title:a="Rovers"}){const{session:s,requestControl:i}=De(),[r,f]=g.useState({}),[d,p]=g.useState(()=>Date.now()),m=g.useMemo(()=>s?.role&&s.role!=="spectator",[s?.role]),y=s?.roster??[],v=s?.turnQueues??{},S=s?.users??[],b=s?.socketId||null,R=g.useMemo(()=>Object.values(v||{}).some(A=>A?.deadline||A?.idleDeadline),[v]);g.useEffect(()=>{if(!R)return;const A=setInterval(()=>{p(Date.now())},1e3);return()=>clearInterval(A)},[R]);const N=g.useMemo(()=>{const A=new Set(y.map(w=>String(w.id))),j=Object.keys(v||{}).filter(w=>!A.has(String(w))).map(w=>({id:w,name:w,locked:!1,batteryState:null}));return[...y,...j]},[y,v]);async function E(A){if(A){f(j=>({...j,[A]:!0}));try{await i(A)}catch(j){alert(j.message)}finally{f(j=>({...j,[A]:!1}))}}}const C=A=>S.find(j=>j.socketId===A)||{socketId:A,nickname:null,role:null};return c.jsxs("div",{className:"space-y-0.5 text-sm",children:[a&&c.jsx("p",{className:"text-sm text-slate-400",children:a}),N.length===0?c.jsx("p",{className:"text-sm text-slate-500",children:"No rovers registered."}):c.jsx("ul",{className:"space-y-0.5 text-sm",children:N.map(A=>{const j=String(A.id),w=v?.[j]||null,O=w?.queue||[],J=w?.idleDeadline||w?.deadline||null,Y=J&&J>d?Math.ceil((J-d)/1e3):J?0:null,G=w?.current||null,$=G?O.findIndex(_=>_===G):-1,te=O.length>1?$>=0?O[($+1)%O.length]:O[0]:null,F=!!(b&&G&&G===b),ne=!!(b&&te&&te===b),se=Y!=null&&(F||ne),re=!!A.locked,ye=A.lockReason?`locked: ${A.lockReason}`:"locked",ee=re?ye:r[j]?"...":"request",P=m&&!re&&!r[j];return c.jsxs("li",{className:fu("surface flex flex-wrap items-start justify-between gap-0.5",P&&"cursor-pointer",re&&"bg-red-900/40"),onClick:()=>{P&&E(A.id)},children:[c.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[c.jsxs("div",{className:"flex items-center justify-between gap-0.5",children:[c.jsxs("div",{className:"flex items-center gap-0.5",children:[c.jsx("p",{className:"text-slate-200",children:A.name}),se?c.jsx("span",{className:"rounded bg-slate-800 px-1 text-[0.7rem] text-slate-200",children:F?`${Y}s left`:`Your turn in ${Y}s`}):null]}),c.jsx("span",{className:fu("text-[0.75rem] font-semibold",BA(A)),children:zA(A)})]}),O.length===0?c.jsx("p",{className:"text-[0.7rem] text-slate-500",children:"No queue."}):c.jsx("div",{className:"flex flex-wrap items-center gap-0.5",children:O.map((_,U)=>{const W=C(_),ae=_===G,fe=!!(te&&_===te&&!ae),T=ae?"bg-sky-600 text-white ring-2 ring-amber-300":fe?"bg-emerald-700/60 text-emerald-100 ring-1 ring-emerald-300/70":"bg-slate-800 text-slate-200";return c.jsxs("span",{className:`flex items-center gap-0.5 rounded px-1 text-[0.7rem] ${T}`,children:[c.jsx("span",{className:`${LA(W.role)} font-semibold`,children:UA(W,b)}),ae&&c.jsx("span",{className:"text-[0.65rem] text-slate-200",children:"now"}),fe&&c.jsx("span",{className:"text-[0.65rem] text-emerald-100",children:"next"})]},`${j}-${_}-${U}`)})})]}),m?c.jsx("button",{type:"button",onClick:_=>{_.stopPropagation(),E(A.id)},disabled:r[j]||re,className:fu("button-dark disabled:opacity-40",re&&"bg-red-600/70 text-white hover:bg-red-600"),children:ee}):null]},A.id)})})]})}function HA(a){switch(a){case"admin":case"lockdown":case"lockdown-admin":return"text-amber-300";case"spectator":return"text-slate-400";default:return"text-sky-300"}}function VA(a,s){if(!a)return"";const i=a.nickname||a.socketId?.slice(0,6)||"unknown";return a.socketId&&a.socketId===s?`${i} (you)`:i}function uf({hideNicknameForm:a=!1,hideHeader:s=!1,className:i="",fillHeight:r=!1,compact:f=!1}){const{session:d,setNickname:p}=De(),{value:m}=ct("profile",{nickname:""}),y=g.useRef(null),v=sn(),S=d?.role!=="spectator",b=d?.users??[],R=d?.socketId||null;g.useEffect(()=>{if(!S||!d?.socketId)return;const C=m.nickname||"";if(!C||d.socketId===y.current)return;const A=d.socketId;p(C).then(()=>{y.current=A}).catch(()=>{})},[S,d?.socketId,p,m.nickname]),g.useEffect(()=>{if(!v)return;const C=()=>{if(!S)return;const A=(m.nickname||"").trim();A&&p(A).then(()=>{y.current=d?.socketId||null}).catch(()=>{})};return v.on("connect",C),()=>v.off("connect",C)},[S,p,v,m.nickname,d?.socketId]);const N=g.useMemo(()=>[...b].sort((C,A)=>C.socketId===R?-1:A.socketId===R?1:(C.nickname||"").localeCompare(A.nickname||"")),[R,b]),E=r?"flex-1 min-h-0 overflow-y-auto":f?"h-28 overflow-y-auto":"h-48 overflow-y-auto";return c.jsxs("section",{className:`panel-section space-y-0.5 text-base ${r?"flex h-full min-h-0 flex-col overflow-hidden":""} ${i}`,children:[!a&&c.jsxs("div",{className:"space-y-0.5",children:[c.jsxs("div",{className:"grid gap-0.5 md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]",children:[c.jsx("div",{className:"min-w-0",children:c.jsx("div",{className:"surface flex w-full items-center px-0 py-0",children:c.jsx(cf,{compact:f})})}),c.jsxs("div",{className:"grid gap-0.5 sm:grid-cols-2 md:grid-cols-1",children:[c.jsx(Er,{}),c.jsx(gg,{})]})]}),!S&&c.jsx("p",{className:"text-xs text-slate-500",children:"Spectators cannot set nicknames."})]}),c.jsxs("div",{className:`space-y-0.5 ${r?"flex flex-1 min-h-0 flex-col":""}`,children:[!s&&c.jsxs("div",{className:`flex items-center justify-between text-sm text-slate-400 ${f?"text-xs":""}`,children:[c.jsx("span",{children:"Users"}),c.jsx("span",{className:"text-xs text-slate-500",children:N.length})]}),c.jsx("div",{className:`surface flex flex-wrap content-start items-start gap-0.5 px-0 pb-0 ${E} ${f?"text-[0.8rem]":""}`,children:N.length===0?c.jsx("p",{className:"text-sm text-slate-500",children:"Waiting for users…"}):N.map(C=>c.jsx("span",{className:`rounded bg-slate-800/80 px-1 py-0.25 text-[0.7rem] ${HA(C.role)}`,children:VA(C,R)},C.socketId))})]})]})}function YA(){const{state:{roverId:a}}=St(),i=ks(a)?.sensors||{};return c.jsx("section",{className:"panel-section",children:c.jsx("div",{className:"aspect-square w-full",children:c.jsx(Cu,{sensors:i})})})}function GA(){const{state:{roverId:a,keymap:s}}=St(),i=P0(a),r=i.docked&&!i.driving;return c.jsxs("section",{className:"panel-section flex h-full flex-col gap-0.5",children:[c.jsx(eg,{layout:"desktop",expand:!0,driveDockState:i}),r?null:c.jsx(tA,{keymap:s})]})}function QA({layout:a,onOpenHelpOverlay:s}){return c.jsx("section",{className:"panel text-base",children:c.jsxs(sf,{defaultTab:"telemetry",children:[c.jsxs(rf,{children:[c.jsx(Jt,{id:"telemetry",children:"Controls"}),c.jsx(Jt,{id:"help",children:"Help"}),c.jsx(Jt,{id:"settings",children:"Settings"})]}),c.jsxs(of,{children:[c.jsx(Ft,{id:"telemetry",children:c.jsxs("div",{className:"space-y-0.5",children:[c.jsxs("div",{className:"grid items-stretch gap-0.5 grid-cols-[minmax(0,1.35fr)_minmax(0,0.95fr)]",children:[c.jsx(YA,{}),c.jsx(GA,{})]}),c.jsxs("div",{className:"grid gap-0.5 grid-cols-[minmax(0,1fr)_minmax(0,0.9fr)_minmax(0,0.75fr)]",children:[c.jsx(wr,{}),c.jsx(Gu,{panelId:"replay-sources-desktop",fillHeight:!0}),c.jsx(DA,{})]}),c.jsxs("div",{className:"grid items-stretch gap-0.5 grid-cols-[minmax(0,1.3fr)_minmax(0,0.22fr)] h-[14rem]",children:[c.jsx(Ds,{fillHeight:!0}),c.jsxs("div",{className:"grid min-h-0 gap-0.5 grid-rows-[minmax(0,1fr)_auto]",children:[c.jsx(uf,{compact:!0,hideNicknameForm:!0,fillHeight:!0}),c.jsx(OA,{compact:!0})]})]}),c.jsx(rg,{}),c.jsx(Ju,{defaultOrientation:"horizontal",panelId:"rightpane-telemetry"})]})}),c.jsx(Ft,{id:"help",children:c.jsx(pg,{layout:a,onOpenOverlay:s})}),c.jsx(Ft,{id:"settings",children:c.jsx(dg,{})})]})]})})}const XA=new Set(["admin","lockdown","lockdown-admin"]),$A=new Set(["admin","lockdown"]);function KA(a="admin"){return a==="lockdown"?{title:"Lockdown mode active",description:"Only the server owners can access the interface at this time."}:{title:"Admin mode active",description:"The server is currently in admin mode. Only admins can access the interface."}}function ZA(){const{session:a}=De(),s=a?.mode,i=a?.role,r=$A.has(s),f=XA.has(i);if(!r||f)return null;const d=KA(s);return c.jsx("div",{className:"pointer-events-auto fixed inset-0 z-50 flex items-center justify-center bg-black/85 px-0.5 py-0.5",children:c.jsxs("div",{className:"surface w-full max-w-md space-y-0.5 text-slate-100 shadow-2xl",children:[c.jsxs("div",{className:"space-y-0.5",children:[c.jsx("p",{className:"text-lg font-semibold",children:d.title}),c.jsx("p",{className:"text-sm text-slate-300",children:d.description})]}),c.jsx("div",{className:"surface-muted",children:c.jsx(og,{})}),c.jsx("div",{className:"w-full justify-center items-center",children:c.jsx(Er,{text:"Join our Discord server for updates!"})}),"You can use the chat from here though :3",c.jsxs("div",{className:"max-h-80 overflow-y-auto",children:[c.jsx(Ds,{}),c.jsx(cf,{})]})]})})}const JA="/assets/turn_alert-DVO8EZJa.mp3";function FA(a){const s=g.useRef(null);return g.useEffect(()=>{s.current=new Audio(a),s.current.load()},[a]),()=>{s.current&&(s.current.currentTime=0,s.current.play().catch(()=>{}))}}function IA(){const{session:a,pushAlert:s}=De(),i=FA(JA),r=g.useRef(new Set),f=g.useMemo(()=>a?.turnQueues||{},[a?.turnQueues]),d=a?.socketId||null;return g.useEffect(()=>{if(!d)return;const p=[];Object.entries(f).forEach(([m,y])=>{!y||!y.current||y.current!==d||r.current.has(m)||(p.push(m),r.current.add(m))}),Object.keys(f).forEach(m=>{(!f[m]||f[m].current!==d)&&r.current.delete(m)}),p.length!==0&&(p.forEach(m=>{const y=a?.roster?.find(v=>String(v.id)===String(m))?.name||m;s({title:"Your turn!",message:`You now control ${y}.`,color:"#ff5722"})}),i())},[f,i,s,a?.roster,d]),null}function WA({visible:a,mode:s,onEnterFullscreen:i,onDismiss:r}){if(!a)return null;const f=s==="pwa-hint";return c.jsx("div",{className:"fixed inset-0 z-40 flex items-end justify-center p-2 pointer-events-none sm:items-center",children:c.jsx("div",{className:"pointer-events-auto w-full max-w-sm rounded-lg border border-cyan-500/40 bg-zinc-950/95 shadow-xl",children:c.jsxs("div",{className:"space-y-0.5 p-4 text-sm text-slate-100",children:[c.jsx("h2",{className:"text-base font-semibold text-white",children:"Better in fullscreen"}),f?c.jsxs("p",{className:"text-slate-300",children:["For fullscreen on iOS, open Safari's share menu and pick ",c.jsx("strong",{children:"Add to Home Screen"}),". Launching from the home screen removes the browser chrome."]}):c.jsx("p",{className:"text-slate-300",children:"Enable fullscreen to free up more space for the video feed and controls. You can exit fullscreen at any time via the system back or home gesture."}),c.jsxs("div",{className:"flex justify-end gap-0.5 pt-1 text-sm",children:[c.jsx("button",{type:"button",className:"rounded border border-slate-600 px-3 py-1 text-slate-200",onClick:r,children:f?"Got it":"Not now"}),!f&&c.jsx("button",{type:"button",className:"rounded bg-cyan-500 px-3 py-1 font-semibold text-black hover:bg-cyan-400",onClick:i,children:"Enter fullscreen"})]})]})})})}const yg="fullscreenPromptDismissed",PA=new Set(["mobile-portrait","mobile-landscape"]),vg=()=>{if(typeof window>"u")return null;try{return window.sessionStorage}catch{return null}},ej=()=>{const a=vg();if(!a)return!1;try{return a.getItem(yg)==="1"}catch{return!1}},s0=()=>{const a=vg();if(a)try{a.setItem(yg,"1")}catch{}},tj=()=>{if(typeof navigator>"u")return!1;const a=navigator.userAgent||navigator.platform||"";return/iphone|ipad|ipod/i.test(a)},nj=()=>{if(typeof document>"u")return!1;const a=document;return!!(a.fullscreenEnabled||a.webkitFullscreenEnabled||a.mozFullScreenEnabled||a.msFullscreenEnabled)};function aj(a){const s=PA.has(a),[i,r]=g.useState(!1),[f,d]=g.useState("native"),p=g.useMemo(()=>tj(),[]),m=g.useCallback(()=>{if(!s){r(!1);return}if(ej()){r(!1);return}if(p){d("pwa-hint"),r(!0);return}if(!nj()){r(!1);return}if(typeof document<"u"&&document.fullscreenElement){r(!1);return}d("native"),r(!0)},[p,s]);g.useEffect(()=>{m()},[m]),g.useEffect(()=>{if(typeof document>"u")return;const S=()=>{if(document.fullscreenElement){r(!1);return}m()};return document.addEventListener("fullscreenchange",S),document.addEventListener("webkitfullscreenchange",S),()=>{document.removeEventListener("fullscreenchange",S),document.removeEventListener("webkitfullscreenchange",S)}},[m]);const y=g.useCallback(()=>{s0(),r(!1)},[]),v=g.useCallback(async()=>{if(!s||p||typeof document>"u")return!1;const S=document.documentElement;if(!S)return!1;const b=S.requestFullscreen||S.webkitRequestFullscreen||S.mozRequestFullScreen||S.msRequestFullscreen;if(!b)return!1;try{const R=b.call(S);return R&&typeof R.then=="function"&&await R,s0(),r(!1),!0}catch(R){return console.warn("Failed to enter fullscreen",R),!1}},[p,s]);return g.useEffect(()=>{s||r(!1)},[s]),{visible:i,mode:f,enterFullscreen:v,dismiss:y}}function lj({visible:a,layout:s,onClose:i,showOnLoad:r,onToggleShowOnLoad:f}){if(!a)return null;const{state:d}=St(),p=m=>{const y=!m.target.checked;f?.(y)};return c.jsx("div",{className:"fixed inset-0 z-30 flex items-center justify-center bg-black/80 px-0.5 py-0.5",children:c.jsxs("div",{className:"pointer-events-auto surface w-full max-w-4xl max-h-[90vh] overflow-hidden shadow-2xl",children:[c.jsxs("div",{className:"flex items-center justify-between border-b border-slate-700 px-0.5 py-0.25 text-sm text-slate-200",children:[c.jsx("span",{className:"font-semibold",children:"Help & controls"}),c.jsxs("div",{className:"flex items-center gap-0.5 text-[0.8rem] text-slate-300",children:[c.jsxs("label",{className:"flex items-center gap-0.5",children:[c.jsx("input",{type:"checkbox",checked:!r,onChange:p,className:"accent-cyan-500"}),c.jsx("span",{children:"Don't show again"})]}),c.jsx("button",{type:"button",onClick:i,className:"button-dark px-2 py-0.25 text-[0.8rem]",children:"Close"})]})]}),c.jsx("div",{className:"max-h-[85vh] overflow-y-auto p-0.5",children:c.jsx(mg,{layout:s,keymap:d?.keymap||{}})})]})})}const sj=`aroma
bagel
batter
beans
beer
biscuit
bread
broth
burger
burrito
butter
cake
candy
caramel
caviar
cheese
chili
chimichanga
chocolate
cider
cobbler
cocoa
coffee
cookie
cream
croissant
crumble
cuisine
curd
dessert
dish
drink
eggs
empanada
enchilada
entree
filet
fish
flour
foie gras
food
glaze
grill
hamburger
ice
juice
ketchup
kitchen
lard
liquor
margarine
marinade
mayo
mayonnaise
meat
milk
mousse
muffin
mushroom
noodle
nut
oil
olive
omelette
pan
pasta
paste
pastry
pie
pizza
plate
pot
poutine
pudding
queso
raclette
recipe
rice
salad
salsa
sandwich
sauce
seasoning
skillet
soda
sopapillas
soup
soy
spice
steak
stew
syrup
taco
taquito
tartar
taste
tea
toast
tostada
vinegar
waffle
water
wheat
wine
wok
yeast
yogurt
`;function ij(a){return a?a.charAt(0).toUpperCase()+a.slice(1):""}function rj(){const a=String(sj).split(/\r?\n/).map(i=>i.trim()).filter(Boolean);return a.length?(a[Math.floor(Math.random()*a.length)]||"").trim():""}function ff(){const{setNickname:a}=De(),{value:s,status:i,save:r}=ct("profile",{nickname:""}),f=g.useRef(!1);g.useEffect(()=>{if(i!=="ready"||f.current||(s.nickname||"").trim())return;f.current=!0;const p=ij(rj()).slice(0,32);if(!p)return;(async()=>{try{await a(p)}catch{}finally{r({nickname:p})}})()},[r,a,i,s.nickname])}const du=1e4,hu=28,oj=14;function df({layout:a="desktop",className:s=""}){const{session:i}=De(),r=i?.communityGoal?.text?String(i.communityGoal.text).trim():"",f=a==="mobile-portrait"||a==="mobile-landscape"||a==="mobile",[d,p]=g.useState(!1),[m,y]=g.useState(hu),[v,S]=g.useState(0),b=g.useRef(null),R=g.useRef(null),N=g.useRef(null);g.useEffect(()=>{if(!r){p(!1);return}if(p(!0),!f)return;const A=Date.now();S(du);const j=setTimeout(()=>p(!1),du),w=setInterval(()=>{const O=Date.now()-A;S(Math.max(0,du-O))},250);return()=>{clearTimeout(j),clearInterval(w)}},[r,f]),g.useEffect(()=>{if(!r)return;y(hu);let A=0;const j=()=>{const O=N.current,J=R.current;if(!O||!J)return;const Y=O.clientWidth;if(!Y)return;const G=J.scrollWidth;if(!G)return;const $=Math.min(1,Y/G),te=Math.max(oj,Math.floor(hu*$));y(te)};A=window.requestAnimationFrame(j);const w=new ResizeObserver(()=>{window.cancelAnimationFrame(A),A=window.requestAnimationFrame(j)});return b.current&&w.observe(b.current),()=>{window.cancelAnimationFrame(A),w.disconnect()}},[r]);const E=g.useMemo(()=>["panel-section flex w-full items-center justify-center",f?"rounded-none":"rounded","px-1 py-1 text-center font-semibold tracking-tight",s].filter(Boolean).join(" "),[s,f]);if(!r||!d)return null;const C=f?Math.ceil(v/1e3):null;return c.jsx("div",{ref:b,className:E,style:{fontSize:`${m}px`,lineHeight:1.1},onClick:()=>p(!1),role:"button",tabIndex:0,children:c.jsxs("span",{className:"flex w-full items-stretch gap-0.5 whitespace-nowrap",children:[c.jsxs("span",{className:"flex flex-col justify-center border-r border-slate-700/60 px-0.5 text-[0.55em] font-semibold leading-tight text-slate-400",children:[c.jsx("span",{children:"Community"}),c.jsx("span",{children:"Goal"})]}),c.jsx("span",{ref:N,className:"flex-1 overflow-hidden text-slate-100",children:c.jsx("span",{ref:R,className:"block",children:r})}),f?c.jsxs("span",{className:"flex items-center border-l border-slate-700/60 px-0.5 text-[0.55em] font-semibold uppercase tracking-wide text-slate-400",children:[C,"s"]}):null]})})}function cj(){const[a,s]=g.useState(()=>typeof window>"u"||window.innerWidth>=1024?"desktop":window.innerWidth>window.innerHeight?"mobile-landscape":"mobile-portrait");return g.useEffect(()=>{function i(){if(typeof window>"u")return;const{innerWidth:r,innerHeight:f}=window;r>=1024?s("desktop"):r>f?s("mobile-landscape"):s("mobile-portrait")}return i(),window.addEventListener("resize",i),()=>window.removeEventListener("resize",i)},[]),a}function uj({layout:a,onOpenHelpOverlay:s}){return c.jsxs("div",{className:"flex h-full gap-0.5 overflow-hidden",children:[c.jsxs("div",{className:"flex min-w-0 flex-[1.22] flex-col gap-0.5 overflow-y-auto pr-0",children:[c.jsx(tf,{}),c.jsx(E1,{}),c.jsx(Fu,{})]}),c.jsxs("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5 overflow-y-auto",children:[c.jsx(df,{layout:a}),c.jsx(QA,{layout:a,onOpenHelpOverlay:s})]})]})}function xg({layout:a,onOpenHelpOverlay:s,roomPanelId:i,showTelemetry:r=!0}){return c.jsx("section",{className:"panel text-base",children:c.jsxs(sf,{defaultTab:"chat",children:[c.jsxs(rf,{children:[c.jsx(Jt,{id:"chat",children:"Chat"}),c.jsx(Jt,{id:"roomcontrols",children:"Room Controls"}),c.jsx(Jt,{id:"help",children:"Help"}),c.jsx(Jt,{id:"settings",children:"Settings"})]}),c.jsxs(of,{children:[c.jsx(Ft,{id:"chat",children:c.jsxs("div",{className:"space-y-0.5",children:[c.jsx(Ds,{}),c.jsx(uf,{})]})}),c.jsx(Ft,{id:"roomcontrols",children:c.jsxs("div",{className:"space-y-0.5",children:[c.jsx(rg,{}),c.jsx(Ju,{panelId:i})]})}),c.jsx(Ft,{id:"help",children:c.jsx(pg,{layout:a,onOpenOverlay:s})}),c.jsx(Ft,{id:"settings",children:c.jsxs("div",{className:"space-y-0.5",children:[c.jsx(dg,{}),c.jsx(Fu,{})]})})]})]})})}function fj({onOpenHelpOverlay:a}){return c.jsxs("div",{className:"flex flex-col gap-0.5",children:[c.jsx(tf,{layoutFormat:"mobile-portrait"}),c.jsx(NS,{}),c.jsxs("div",{className:"grid gap-0.5 grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]",children:[c.jsx(Gu,{panelId:"replay-sources-mobile-portrait"}),c.jsx(wr,{})]}),c.jsx(xg,{layout:"mobile-portrait",onOpenHelpOverlay:a,roomPanelId:"mobile-portrait-room"})]})}function dj({onOpenHelpOverlay:a}){return c.jsxs("div",{className:"flex flex-col gap-0.5",children:[c.jsxs("section",{className:"grid min-h-screen grid-cols-[minmax(0,0.7fr)_minmax(0,2.1fr)_minmax(0,0.7fr)] gap-0.5",children:[c.jsx(AS,{}),c.jsxs("div",{children:[c.jsx(tf,{layoutFormat:"mobile-landscape"}),c.jsxs("div",{className:"grid gap-0.5 grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)]",children:[c.jsx(Gu,{panelId:"replay-sources-mobile-landscape"}),c.jsx(wr,{})]})]}),c.jsx(jS,{})]}),c.jsx("div",{className:"flex flex-col gap-0.5 pb-0",children:c.jsx(xg,{layout:"mobile-landscape",onOpenHelpOverlay:a,roomPanelId:"mobile-landscape-room",showTelemetry:!1})})]})}function hj(){const a=cj(),s=a==="desktop",i=aj(a);return c.jsx("div",{className:`bg-black text-slate-100 ${s?"h-screen overflow-hidden":"min-h-screen"}`,children:c.jsx(Yu,{children:c.jsx(mj,{layout:a,isDesktop:s,fullscreen:i})})})}function mj({layout:a,isDesktop:s,fullscreen:i}){ff();const{visible:r,mode:f,enterFullscreen:d,dismiss:p}=i,{value:m,status:y,save:v}=ct("help",{showOnLoad:!0}),[S,b]=g.useState(!1);g.useEffect(()=>{y==="ready"&&b(m?.showOnLoad!==!1)},[y,m?.showOnLoad]);const R=g.useCallback(()=>b(!0),[]),N=g.useCallback(()=>b(!1),[]),E=g.useCallback(A=>{const j=!!A;v(w=>({...w??{},showOnLoad:j})),j||b(!1)},[v]),C=g.useMemo(()=>s?c.jsx(uj,{layout:a,onOpenHelpOverlay:R}):a==="mobile-landscape"?c.jsx(dj,{onOpenHelpOverlay:R}):c.jsx(fj,{onOpenHelpOverlay:R}),[s,a,R]);return c.jsxs(iS,{children:[c.jsx(pS,{}),c.jsx(gS,{}),c.jsxs("main",{className:`flex w-full flex-col gap-0.5 text-base ${s?"h-full overflow-hidden":""}`,children:[s?null:c.jsx(df,{layout:a}),C]}),c.jsx(Qu,{}),c.jsx(IA,{}),c.jsx(ZA,{}),c.jsx(lj,{visible:S,layout:a,onClose:N,showOnLoad:m?.showOnLoad!==!1,onToggleShowOnLoad:E}),c.jsx(WA,{visible:r,mode:f,onEnterFullscreen:d,onDismiss:p})]})}function bg(){const{session:a,setRole:s,subscribeAll:i,connected:r}=De(),[f,d]=g.useState(!1);return g.useEffect(()=>{let p=!1;async function m(){if(a?.mode==="lockdown"){d(!1);return}try{a?.role!=="spectator"&&await s("spectator"),await i(),p||d(!0)}catch(y){console.error("Failed to enter spectator mode",y),p||d(!1)}}return m(),()=>{p=!0}},[r,a?.mode,a?.role,s,i]),f}function pj({roverId:a,session:s}){const i=s?.activeDrivers?.[a]||null,f=(s?.users||[]).find(y=>y.socketId===i)?.nickname||(i?i.slice(0,6):"No driver"),d=s?.mode,p=s?.turnQueues?.[a];return d==="turns"&&p?.current?`${f} (turns)`:f}function gj({rover:a,frame:s,snapshotFeed:i,audioInfo:r,session:f}){const d=pj({roverId:a.id,session:f});return c.jsx("article",{className:"min-h-[16rem] rounded bg-zinc-900 p-0 sm:min-h-[18rem]",children:c.jsx("div",{className:"min-h-0 overflow-hidden rounded bg-black/20",children:c.jsx(ef,{sessionInfo:null,videoMode:"snapshot",snapshotFeed:i,audioSessionInfo:r,label:a.name,telemetryFrame:s,batteryConfig:a.battery,hudVariant:"spectator",driverLabel:d,hudForceMap:!0,hudMapPosition:"bottom-left"})})})}function yj({roster:a,frames:s,snapshotFeeds:i,audioSources:r,session:f}){return a.length===0?c.jsx("p",{className:"col-span-full text-slate-400",children:"No rovers registered."}):c.jsx("section",{className:"grid grid-cols-1 gap-0.5 md:grid-cols-2",children:a.map(d=>c.jsx(gj,{rover:d,frame:s[d.id],snapshotFeed:i[d.id],audioInfo:r[`${d.id}-audio`],session:f,showHudMap:!0,hudMapPosition:"bottom-left"},d.id))})}function vj(){return c.jsx("section",{className:"min-h-0",children:c.jsx("div",{className:"surface min-h-[14rem] overflow-hidden",children:c.jsx(Ju,{defaultOrientation:"horizontal",hideLayoutToggle:!0,hideHeader:!0,panelId:"spectator-secondary"})})})}function xj({className:a=""}){return c.jsx("div",{className:`panel ${a}`,children:c.jsx(Fu,{})})}function bj(){const{session:a}=De(),s=a?.mode==="lockdown";ff(),bg();const i=Vu(),r=a?.roster??[],f=Wu(r.map(m=>m.id),{enabled:!s,version:a?.mode}),d=r.flatMap(m=>m.media?.audioPublishUrl?[{type:"rover",id:`${m.id}-audio`,key:`${m.id}-audio`}]:[]),p=Iu(d,{enabled:!s,version:a?.mode});return s?c.jsx("div",{className:"flex min-h-screen items-center justify-center bg-black text-slate-200",children:c.jsxs("div",{className:"surface max-w-md space-y-0.5 p-1 text-center text-sm",children:[c.jsx("p",{className:"text-lg font-semibold text-white",children:"Spectate disabled during lockdown."}),c.jsx("p",{className:"text-slate-300",children:"Please wait until the server leaves lockdown to view streams."})]})}):c.jsxs("div",{className:"min-h-screen bg-black text-slate-100 md:h-screen md:overflow-hidden",children:[c.jsxs("main",{className:"grid min-h-screen grid-cols-1 gap-0.5 p-0 md:h-full md:min-h-0 md:grid-cols-[minmax(0,1fr)_18rem] lg:grid-cols-[minmax(0,1fr)_20rem]",children:[c.jsxs("section",{className:"flex min-h-0 min-w-0 flex-col gap-0.5 md:overflow-y-auto",children:[c.jsx(yj,{roster:r,frames:i,snapshotFeeds:f,audioSources:p,session:a}),c.jsx(vj,{})]}),c.jsxs("section",{className:"flex min-h-0 min-w-0 flex-col gap-0.5 md:h-full",children:[c.jsx(df,{layout:"desktop"}),c.jsx("div",{className:"panel",children:c.jsx(wr,{title:"Rovers"})}),c.jsx("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:c.jsx(uf,{hideNicknameForm:!0,hideHeader:!0,fillHeight:!0,className:"h-full"})}),c.jsx("div",{className:"min-h-0 min-w-0 flex-[1.1] overflow-hidden",children:c.jsx(Ds,{hideInput:!0,hideSpectatorNotice:!0,fillHeight:!0})}),c.jsx("div",{className:"min-h-0 min-w-0",children:c.jsx(xj,{className:"h-40 overflow-hidden"})})]})]}),c.jsx(Qu,{})]})}function Sj(){return c.jsx(Yu,{children:c.jsx(bj,{})})}const Aj=2e4,jj=10800*1e3;function Nj({roverId:a,session:s}){const i=s?.activeDrivers?.[a]||null,f=(s?.users||[]).find(m=>m.socketId===i)?.nickname||(i?i.slice(0,6):"No driver"),d=s?.mode,p=s?.turnQueues?.[a];return d==="turns"&&p?.current?`${f} (turns)`:f}function Ej(){const{session:a}=De(),s=bg();ff();const i=a?.mode==="lockdown",r=Vu(),f=a?.roster??[],[d,p]=g.useState(0),m=a?.activeDrivers||{},y=g.useMemo(()=>f.filter(Y=>m[Y.id]),[f,m]),v=Wu(y.map(Y=>Y.id),{enabled:!i,version:a?.mode}),S=g.useMemo(()=>y.flatMap(Y=>{if(!Y?.id||!Y.media?.audioPublishUrl)return[];const G=String(Y.id);return[{type:"rover",id:`${G}-audio`,key:`${G}-audio`}]}),[y]),b=Iu(S,{enabled:!i,version:a?.mode}),R=g.useMemo(()=>{if(!y.length)return[];const Y=y.filter(G=>v[G.id]?.objectUrl);return Y.length?Y:y},[y,v]),N=g.useMemo(()=>R.map(Y=>({type:"rover",rover:Y})),[R]),E=g.useMemo(()=>N.map(Y=>`r:${Y.rover.id}`).join("|"),[N]);g.useEffect(()=>{p(0)},[E]),g.useEffect(()=>{if(!N.length)return;const Y=setInterval(()=>{p(G=>(G+1)%N.length)},Aj);return()=>clearInterval(Y)},[N.length,E]);const C=N.length?N[d%N.length]:null,A=C?.type==="rover"?C.rover:null,j=A&&v[A.id]||null,w=A&&b[`${A.id}-audio`]||null,O=A&&r[A.id]||null,J=A?Nj({roverId:A.id,session:a}):null;return i?c.jsx("div",{className:"relative flex h-screen w-screen items-center justify-center bg-black text-slate-200",children:c.jsxs("div",{className:"surface max-w-sm space-y-0.5 p-1 text-center text-sm",children:[c.jsx("p",{className:"text-lg font-semibold text-white",children:"Mini spectator is disabled in lockdown."}),c.jsx("p",{className:"text-slate-300",children:"It will automatically resume once lockdown ends."})]})}):c.jsxs("div",{className:"relative h-screen w-screen overflow-hidden bg-black p-0 text-slate-100 flex flex-col gap-0.5",children:[c.jsx(wj,{}),c.jsx("section",{className:"panel relative flex min-h-0 flex-1 overflow-hidden",children:s?A?c.jsx(Cj,{children:c.jsx(ef,{sessionInfo:null,videoMode:"snapshot",snapshotFeed:j,audioSessionInfo:w,label:A.name||A.id,telemetryFrame:O,batteryConfig:A.battery,layoutFormat:"mobile",hudVariant:"spectator",driverLabel:J,hudLabelScale:5,hudForceMap:!0,hudMapPosition:"bottom-left",fitParent:!0})}):c.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:y.length?"No sources available.":"No active drivers."}):c.jsx("div",{className:"flex h-full w-full items-center justify-center text-sm text-slate-500",children:"Switching to spectator…"})})]})}function qj(){return g.useEffect(()=>{if(typeof window>"u")return;const a=setTimeout(()=>{const s=new URL(window.location.href);s.searchParams.set("refresh",Date.now().toString()),window.location.replace(s.toString())},jj);return()=>clearTimeout(a)},[]),c.jsx(Yu,{children:c.jsxs(c.Fragment,{children:[c.jsx(Ej,{}),c.jsx(Qu,{scale:3})]})})}function wj(){return c.jsx("div",{className:"pointer-events-none absolute left-1/2 top-1 z-30",style:{transform:"translate(-50%, 0) scale(0.7)",transformOrigin:"top center"},children:c.jsx("div",{className:"pointer-events-none overflow-hidden rounded-md",style:{width:"50vw",minWidth:"16rem",maxWidth:"24rem",opacity:.55,maxHeight:"12rem"},children:c.jsx(Ds,{hideInput:!0,hideSpectatorNotice:!0})})})}function Cj({children:a}){return c.jsx("div",{className:"flex h-full w-full items-center justify-center overflow-hidden bg-black",children:c.jsx("div",{className:"relative flex items-center justify-center overflow-hidden bg-black",style:{width:"min(100%, calc(100vh * 4 / 3))",height:"min(100%, calc(100vw * 3 / 4))",maxWidth:"100%",maxHeight:"100%",aspectRatio:"4 / 3"},children:c.jsx("div",{className:"flex h-full w-full items-center justify-center overflow-hidden",children:a})})})}Jv.createRoot(document.getElementById("root")).render(c.jsx(g.StrictMode,{children:c.jsx(v1,{children:c.jsx(b1,{children:c.jsx(S1,{children:c.jsx(oS,{children:c.jsx(ub,{children:c.jsxs(Vx,{children:[c.jsx(rr,{path:"/",element:c.jsx(hj,{})}),c.jsx(rr,{path:"/spectate",element:c.jsx(Sj,{})}),c.jsx(rr,{path:"/mini",element:c.jsx(qj,{})})]})})})})})})}));