(function(){const N=document.createElement("link").relList;if(N&&N.supports&&N.supports("modulepreload"))return;for(const _ of document.querySelectorAll('link[rel="modulepreload"]'))s(_);new MutationObserver(_=>{for(const H of _)if(H.type==="childList")for(const E of H.addedNodes)E.tagName==="LINK"&&E.rel==="modulepreload"&&s(E)}).observe(document,{childList:!0,subtree:!0});function O(_){const H={};return _.integrity&&(H.integrity=_.integrity),_.referrerPolicy&&(H.referrerPolicy=_.referrerPolicy),_.crossOrigin==="use-credentials"?H.credentials="include":_.crossOrigin==="anonymous"?H.credentials="omit":H.credentials="same-origin",H}function s(_){if(_.ep)return;_.ep=!0;const H=O(_);fetch(_.href,H)}})();var mf={exports:{}},_n={};var Ar;function cy(){if(Ar)return _n;Ar=1;var h=Symbol.for("react.transitional.element"),N=Symbol.for("react.fragment");function O(s,_,H){var E=null;if(H!==void 0&&(E=""+H),_.key!==void 0&&(E=""+_.key),"key"in _){H={};for(var k in _)k!=="key"&&(H[k]=_[k])}else H=_;return _=H.ref,{$$typeof:h,type:s,key:E,ref:_!==void 0?_:null,props:H}}return _n.Fragment=N,_n.jsx=O,_n.jsxs=O,_n}var Nr;function fy(){return Nr||(Nr=1,mf.exports=cy()),mf.exports}var c=fy(),yf={exports:{}},w={};var _r;function sy(){if(_r)return w;_r=1;var h=Symbol.for("react.transitional.element"),N=Symbol.for("react.portal"),O=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),E=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),D=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),J=Symbol.for("react.lazy"),A=Symbol.for("react.activity"),B=Symbol.iterator;function dl(d){return d===null||typeof d!="object"?null:(d=B&&d[B]||d["@@iterator"],typeof d=="function"?d:null)}var yl={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},il=Object.assign,Xl={};function El(d,x,R){this.props=d,this.context=x,this.refs=Xl,this.updater=R||yl}El.prototype.isReactComponent={},El.prototype.setState=function(d,x){if(typeof d!="object"&&typeof d!="function"&&d!=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,d,x,"setState")},El.prototype.forceUpdate=function(d){this.updater.enqueueForceUpdate(this,d,"forceUpdate")};function Al(){}Al.prototype=El.prototype;function rl(d,x,R){this.props=d,this.context=x,this.refs=Xl,this.updater=R||yl}var xl=rl.prototype=new Al;xl.constructor=rl,il(xl,El.prototype),xl.isPureReactComponent=!0;var Dl=Array.isArray;function _l(){}var U={H:null,A:null,T:null,S:null},Q=Object.prototype.hasOwnProperty;function q(d,x,R){var Y=R.ref;return{$$typeof:h,type:d,key:x,ref:Y!==void 0?Y:null,props:R}}function $(d,x){return q(d.type,x,d.props)}function cl(d){return typeof d=="object"&&d!==null&&d.$$typeof===h}function hl(d){var x={"=":"=0",":":"=2"};return"$"+d.replace(/[=:]/g,function(R){return x[R]})}var Pl=/\/+/g;function Zl(d,x){return typeof d=="object"&&d!==null&&d.key!=null?hl(""+d.key):x.toString(36)}function Ll(d){switch(d.status){case"fulfilled":return d.value;case"rejected":throw d.reason;default:switch(typeof d.status=="string"?d.then(_l,_l):(d.status="pending",d.then(function(x){d.status==="pending"&&(d.status="fulfilled",d.value=x)},function(x){d.status==="pending"&&(d.status="rejected",d.reason=x)})),d.status){case"fulfilled":return d.value;case"rejected":throw d.reason}}throw d}function p(d,x,R,Y,W){var P=typeof d;(P==="undefined"||P==="boolean")&&(d=null);var ml=!1;if(d===null)ml=!0;else switch(P){case"bigint":case"string":case"number":ml=!0;break;case"object":switch(d.$$typeof){case h:case N:ml=!0;break;case J:return ml=d._init,p(ml(d._payload),x,R,Y,W)}}if(ml)return W=W(d),ml=Y===""?"."+Zl(d,0):Y,Dl(W)?(R="",ml!=null&&(R=ml.replace(Pl,"$&/")+"/"),p(W,x,R,"",function(Ha){return Ha})):W!=null&&(cl(W)&&(W=$(W,R+(W.key==null||d&&d.key===W.key?"":(""+W.key).replace(Pl,"$&/")+"/")+ml)),x.push(W)),1;ml=0;var lt=Y===""?".":Y+":";if(Dl(d))for(var Ul=0;Ul>>1,nl=p[V];if(0<_(nl,C))p[V]=C,p[M]=nl,M=V;else break l}}function O(p){return p.length===0?null:p[0]}function s(p){if(p.length===0)return null;var C=p[0],M=p.pop();if(M!==C){p[0]=M;l:for(var V=0,nl=p.length,d=nl>>>1;V_(R,M))Y_(W,R)?(p[V]=W,p[Y]=M,V=Y):(p[V]=R,p[x]=M,V=x);else if(Y_(W,M))p[V]=W,p[Y]=M,V=Y;else break l}}return C}function _(p,C){var M=p.sortIndex-C.sortIndex;return M!==0?M:p.id-C.id}if(h.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var H=performance;h.unstable_now=function(){return H.now()}}else{var E=Date,k=E.now();h.unstable_now=function(){return E.now()-k}}var D=[],g=[],J=1,A=null,B=3,dl=!1,yl=!1,il=!1,Xl=!1,El=typeof setTimeout=="function"?setTimeout:null,Al=typeof clearTimeout=="function"?clearTimeout:null,rl=typeof setImmediate<"u"?setImmediate:null;function xl(p){for(var C=O(g);C!==null;){if(C.callback===null)s(g);else if(C.startTime<=p)s(g),C.sortIndex=C.expirationTime,N(D,C);else break;C=O(g)}}function Dl(p){if(il=!1,xl(p),!yl)if(O(D)!==null)yl=!0,_l||(_l=!0,hl());else{var C=O(g);C!==null&&Ll(Dl,C.startTime-p)}}var _l=!1,U=-1,Q=5,q=-1;function $(){return Xl?!0:!(h.unstable_now()-qp&&$());){var V=A.callback;if(typeof V=="function"){A.callback=null,B=A.priorityLevel;var nl=V(A.expirationTime<=p);if(p=h.unstable_now(),typeof nl=="function"){A.callback=nl,xl(p),C=!0;break t}A===O(D)&&s(D),xl(p)}else s(D);A=O(D)}if(A!==null)C=!0;else{var d=O(g);d!==null&&Ll(Dl,d.startTime-p),C=!1}}break l}finally{A=null,B=M,dl=!1}C=void 0}}finally{C?hl():_l=!1}}}var hl;if(typeof rl=="function")hl=function(){rl(cl)};else if(typeof MessageChannel<"u"){var Pl=new MessageChannel,Zl=Pl.port2;Pl.port1.onmessage=cl,hl=function(){Zl.postMessage(null)}}else hl=function(){El(cl,0)};function Ll(p,C){U=El(function(){p(h.unstable_now())},C)}h.unstable_IdlePriority=5,h.unstable_ImmediatePriority=1,h.unstable_LowPriority=4,h.unstable_NormalPriority=3,h.unstable_Profiling=null,h.unstable_UserBlockingPriority=2,h.unstable_cancelCallback=function(p){p.callback=null},h.unstable_forceFrameRate=function(p){0>p||125V?(p.sortIndex=M,N(g,p),O(D)===null&&p===O(g)&&(il?(Al(U),U=-1):il=!0,Ll(Dl,M-V))):(p.sortIndex=nl,N(D,p),yl||dl||(yl=!0,_l||(_l=!0,hl()))),p},h.unstable_shouldYield=$,h.unstable_wrapCallback=function(p){var C=B;return function(){var M=B;B=C;try{return p.apply(this,arguments)}finally{B=M}}}})(bf)),bf}var Dr;function dy(){return Dr||(Dr=1,gf.exports=oy()),gf.exports}var Sf={exports:{}},Il={};var Ur;function ry(){if(Ur)return Il;Ur=1;var h=xf();function N(D){var g="https://react.dev/errors/"+D;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(h)}catch(N){console.error(N)}}return h(),Sf.exports=ry(),Sf.exports}var Hr;function my(){if(Hr)return On;Hr=1;var h=dy(),N=xf(),O=hy();function s(l){var t="https://react.dev/errors/"+l;if(1nl||(l.current=V[nl],V[nl]=null,nl--)}function R(l,t){nl++,V[nl]=l.current,l.current=t}var Y=d(null),W=d(null),P=d(null),ml=d(null);function lt(l,t){switch(R(P,t),R(W,l),R(Y,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?$d(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=$d(t),l=Wd(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}x(Y),R(Y,l)}function Ul(){x(Y),x(W),x(P)}function Ha(l){l.memoizedState!==null&&R(ml,l);var t=Y.current,e=Wd(t,l.type);t!==e&&(R(W,l),R(Y,e))}function Dn(l){W.current===l&&(x(Y),x(W)),ml.current===l&&(x(ml),Tn._currentValue=M)}var $u,Tf;function Me(l){if($u===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);$u=t&&t[1]||"",Tf=-1)":-1n||o[a]!==v[n]){var j=` `+o[a].replace(" at new "," at ");return l.displayName&&j.includes("")&&(j=j.replace("",l.displayName)),j}while(1<=a&&0<=n);break}}}finally{Wu=!1,Error.prepareStackTrace=e}return(e=l?l.displayName||l.name:"")?Me(e):""}function Yr(l,t){switch(l.tag){case 26:case 27:case 5:return Me(l.type);case 16:return Me("Lazy");case 13:return l.child!==t&&t!==null?Me("Suspense Fallback"):Me("Suspense");case 19:return Me("SuspenseList");case 0:case 15:return Fu(l.type,!1);case 11:return Fu(l.type.render,!1);case 1:return Fu(l.type,!0);case 31:return Me("Activity");default:return""}}function Ef(l){try{var t="",e=null;do t+=Yr(l,e),e=l,l=l.return;while(l);return t}catch(a){return` Error generating stack: `+a.message+` `+a.stack}}var Iu=Object.prototype.hasOwnProperty,Pu=h.unstable_scheduleCallback,li=h.unstable_cancelCallback,Gr=h.unstable_shouldYield,Xr=h.unstable_requestPaint,ot=h.unstable_now,Qr=h.unstable_getCurrentPriorityLevel,Af=h.unstable_ImmediatePriority,Nf=h.unstable_UserBlockingPriority,Un=h.unstable_NormalPriority,Zr=h.unstable_LowPriority,_f=h.unstable_IdlePriority,Lr=h.log,Vr=h.unstable_setDisableYieldValue,Ra=null,dt=null;function ne(l){if(typeof Lr=="function"&&Vr(l),dt&&typeof dt.setStrictMode=="function")try{dt.setStrictMode(Ra,l)}catch{}}var rt=Math.clz32?Math.clz32:wr,Kr=Math.log,Jr=Math.LN2;function wr(l){return l>>>=0,l===0?32:31-(Kr(l)/Jr|0)|0}var Cn=256,Hn=262144,Rn=4194304;function De(l){var t=l&42;if(t!==0)return t;switch(l&-l){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 l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function qn(l,t,e){var a=l.pendingLanes;if(a===0)return 0;var n=0,u=l.suspendedLanes,i=l.pingedLanes;l=l.warmLanes;var f=a&134217727;return f!==0?(a=f&~u,a!==0?n=De(a):(i&=f,i!==0?n=De(i):e||(e=f&~l,e!==0&&(n=De(e))))):(f=a&~u,f!==0?n=De(f):i!==0?n=De(i):e||(e=a&~l,e!==0&&(n=De(e)))),n===0?0:t!==0&&t!==n&&(t&u)===0&&(u=n&-n,e=t&-t,u>=e||u===32&&(e&4194048)!==0)?t:n}function qa(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function kr(l,t){switch(l){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 Of(){var l=Rn;return Rn<<=1,(Rn&62914560)===0&&(Rn=4194304),l}function ti(l){for(var t=[],e=0;31>e;e++)t.push(l);return t}function Ba(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function $r(l,t,e,a,n,u){var i=l.pendingLanes;l.pendingLanes=e,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=e,l.entangledLanes&=e,l.errorRecoveryDisabledLanes&=e,l.shellSuspendCounter=0;var f=l.entanglements,o=l.expirationTimes,v=l.hiddenUpdates;for(e=i&~e;0"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var th=/[\n"\\]/g;function jt(l){return l.replace(th,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function ci(l,t,e,a,n,u,i,f){l.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?l.type=i:l.removeAttribute("type"),t!=null?i==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+pt(t)):l.value!==""+pt(t)&&(l.value=""+pt(t)):i!=="submit"&&i!=="reset"||l.removeAttribute("value"),t!=null?fi(l,i,pt(t)):e!=null?fi(l,i,pt(e)):a!=null&&l.removeAttribute("value"),n==null&&u!=null&&(l.defaultChecked=!!u),n!=null&&(l.checked=n&&typeof n!="function"&&typeof n!="symbol"),f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?l.name=""+pt(f):l.removeAttribute("name")}function Zf(l,t,e,a,n,u,i,f){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(l.type=u),t!=null||e!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){ii(l);return}e=e!=null?""+pt(e):"",t=t!=null?""+pt(t):e,f||t===l.value||(l.value=t),l.defaultValue=t}a=a??n,a=typeof a!="function"&&typeof a!="symbol"&&!!a,l.checked=f?l.checked:!!a,l.defaultChecked=!!a,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(l.name=i),ii(l)}function fi(l,t,e){t==="number"&&Gn(l.ownerDocument)===l||l.defaultValue===""+e||(l.defaultValue=""+e)}function la(l,t,e,a){if(l=l.options,t){t={};for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hi=!1;if(Qt)try{var Qa={};Object.defineProperty(Qa,"passive",{get:function(){hi=!0}}),window.addEventListener("test",Qa,Qa),window.removeEventListener("test",Qa,Qa)}catch{hi=!1}var ie=null,mi=null,Qn=null;function $f(){if(Qn)return Qn;var l,t=mi,e=t.length,a,n="value"in ie?ie.value:ie.textContent,u=n.length;for(l=0;l=Va),ts=" ",es=!1;function as(l,t){switch(l){case"keyup":return Oh.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ns(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var na=!1;function Dh(l,t){switch(l){case"compositionend":return ns(t);case"keypress":return t.which!==32?null:(es=!0,ts);case"textInput":return l=t.data,l===ts&&es?null:l;default:return null}}function Uh(l,t){if(na)return l==="compositionend"||!Si&&as(l,t)?(l=$f(),Qn=mi=ie=null,na=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:e,offset:t-l};l=a}l:{for(;e;){if(e.nextSibling){e=e.nextSibling;break l}e=e.parentNode}e=void 0}e=rs(e)}}function ms(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?ms(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function ys(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=Gn(l.document);t instanceof l.HTMLIFrameElement;){try{var e=typeof t.contentWindow.location.href=="string"}catch{e=!1}if(e)l=t.contentWindow;else break;t=Gn(l.document)}return t}function xi(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var Xh=Qt&&"documentMode"in document&&11>=document.documentMode,ua=null,zi=null,ka=null,Ti=!1;function vs(l,t,e){var a=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;Ti||ua==null||ua!==Gn(a)||(a=ua,"selectionStart"in a&&xi(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),ka&&wa(ka,a)||(ka=a,a=Hu(zi,"onSelect"),0>=i,n-=i,Rt=1<<32-rt(t)+n|e<I?(al=X,X=null):al=X.sibling;var sl=b(m,X,y[I],z);if(sl===null){X===null&&(X=al);break}l&&X&&sl.alternate===null&&t(m,X),r=u(sl,r,I),fl===null?Z=sl:fl.sibling=sl,fl=sl,X=al}if(I===y.length)return e(m,X),ul&&Lt(m,I),Z;if(X===null){for(;II?(al=X,X=null):al=X.sibling;var _e=b(m,X,sl.value,z);if(_e===null){X===null&&(X=al);break}l&&X&&_e.alternate===null&&t(m,X),r=u(_e,r,I),fl===null?Z=_e:fl.sibling=_e,fl=_e,X=al}if(sl.done)return e(m,X),ul&&Lt(m,I),Z;if(X===null){for(;!sl.done;I++,sl=y.next())sl=T(m,sl.value,z),sl!==null&&(r=u(sl,r,I),fl===null?Z=sl:fl.sibling=sl,fl=sl);return ul&&Lt(m,I),Z}for(X=a(X);!sl.done;I++,sl=y.next())sl=S(X,m,I,sl.value,z),sl!==null&&(l&&sl.alternate!==null&&X.delete(sl.key===null?I:sl.key),r=u(sl,r,I),fl===null?Z=sl:fl.sibling=sl,fl=sl);return l&&X.forEach(function(iy){return t(m,iy)}),ul&&Lt(m,I),Z}function pl(m,r,y,z){if(typeof y=="object"&&y!==null&&y.type===il&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case dl:l:{for(var Z=y.key;r!==null;){if(r.key===Z){if(Z=y.type,Z===il){if(r.tag===7){e(m,r.sibling),z=n(r,y.props.children),z.return=m,m=z;break l}}else if(r.elementType===Z||typeof Z=="object"&&Z!==null&&Z.$$typeof===Q&&Ze(Z)===r.type){e(m,r.sibling),z=n(r,y.props),ln(z,y),z.return=m,m=z;break l}e(m,r);break}else t(m,r);r=r.sibling}y.type===il?(z=Be(y.props.children,m.mode,z,y.key),z.return=m,m=z):(z=Fn(y.type,y.key,y.props,null,m.mode,z),ln(z,y),z.return=m,m=z)}return i(m);case yl:l:{for(Z=y.key;r!==null;){if(r.key===Z)if(r.tag===4&&r.stateNode.containerInfo===y.containerInfo&&r.stateNode.implementation===y.implementation){e(m,r.sibling),z=n(r,y.children||[]),z.return=m,m=z;break l}else{e(m,r);break}else t(m,r);r=r.sibling}z=Di(y,m.mode,z),z.return=m,m=z}return i(m);case Q:return y=Ze(y),pl(m,r,y,z)}if(Ll(y))return G(m,r,y,z);if(hl(y)){if(Z=hl(y),typeof Z!="function")throw Error(s(150));return y=Z.call(y),L(m,r,y,z)}if(typeof y.then=="function")return pl(m,r,nu(y),z);if(y.$$typeof===rl)return pl(m,r,lu(m,y),z);uu(m,y)}return typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint"?(y=""+y,r!==null&&r.tag===6?(e(m,r.sibling),z=n(r,y),z.return=m,m=z):(e(m,r),z=Mi(y,m.mode,z),z.return=m,m=z),i(m)):e(m,r)}return function(m,r,y,z){try{Pa=0;var Z=pl(m,r,y,z);return va=null,Z}catch(X){if(X===ya||X===eu)throw X;var fl=mt(29,X,null,m.mode);return fl.lanes=z,fl.return=m,fl}}}var Ve=Gs(!0),Xs=Gs(!1),de=!1;function Li(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Vi(l,t){l=l.updateQueue,t.updateQueue===l&&(t.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function re(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function he(l,t,e){var a=l.updateQueue;if(a===null)return null;if(a=a.shared,(ol&2)!==0){var n=a.pending;return n===null?t.next=t:(t.next=n.next,n.next=t),a.pending=t,t=Wn(l),zs(l,null,e),t}return $n(l,a,t,e),Wn(l)}function tn(l,t,e){if(t=t.updateQueue,t!==null&&(t=t.shared,(e&4194048)!==0)){var a=t.lanes;a&=l.pendingLanes,e|=a,t.lanes=e,Df(l,e)}}function Ki(l,t){var e=l.updateQueue,a=l.alternate;if(a!==null&&(a=a.updateQueue,e===a)){var n=null,u=null;if(e=e.firstBaseUpdate,e!==null){do{var i={lane:e.lane,tag:e.tag,payload:e.payload,callback:null,next:null};u===null?n=u=i:u=u.next=i,e=e.next}while(e!==null);u===null?n=u=t:u=u.next=t}else n=u=t;e={baseState:a.baseState,firstBaseUpdate:n,lastBaseUpdate:u,shared:a.shared,callbacks:a.callbacks},l.updateQueue=e;return}l=e.lastBaseUpdate,l===null?e.firstBaseUpdate=t:l.next=t,e.lastBaseUpdate=t}var Ji=!1;function en(){if(Ji){var l=ma;if(l!==null)throw l}}function an(l,t,e,a){Ji=!1;var n=l.updateQueue;de=!1;var u=n.firstBaseUpdate,i=n.lastBaseUpdate,f=n.shared.pending;if(f!==null){n.shared.pending=null;var o=f,v=o.next;o.next=null,i===null?u=v:i.next=v,i=o;var j=l.alternate;j!==null&&(j=j.updateQueue,f=j.lastBaseUpdate,f!==i&&(f===null?j.firstBaseUpdate=v:f.next=v,j.lastBaseUpdate=o))}if(u!==null){var T=n.baseState;i=0,j=v=o=null,f=u;do{var b=f.lane&-536870913,S=b!==f.lane;if(S?(el&b)===b:(a&b)===b){b!==0&&b===ha&&(Ji=!0),j!==null&&(j=j.next={lane:0,tag:f.tag,payload:f.payload,callback:null,next:null});l:{var G=l,L=f;b=t;var pl=e;switch(L.tag){case 1:if(G=L.payload,typeof G=="function"){T=G.call(pl,T,b);break l}T=G;break l;case 3:G.flags=G.flags&-65537|128;case 0:if(G=L.payload,b=typeof G=="function"?G.call(pl,T,b):G,b==null)break l;T=A({},T,b);break l;case 2:de=!0}}b=f.callback,b!==null&&(l.flags|=64,S&&(l.flags|=8192),S=n.callbacks,S===null?n.callbacks=[b]:S.push(b))}else S={lane:b,tag:f.tag,payload:f.payload,callback:f.callback,next:null},j===null?(v=j=S,o=T):j=j.next=S,i|=b;if(f=f.next,f===null){if(f=n.shared.pending,f===null)break;S=f,f=S.next,S.next=null,n.lastBaseUpdate=S,n.shared.pending=null}}while(!0);j===null&&(o=T),n.baseState=o,n.firstBaseUpdate=v,n.lastBaseUpdate=j,u===null&&(n.shared.lanes=0),be|=i,l.lanes=i,l.memoizedState=T}}function Qs(l,t){if(typeof l!="function")throw Error(s(191,l));l.call(t)}function Zs(l,t){var e=l.callbacks;if(e!==null)for(l.callbacks=null,l=0;lu?u:8;var i=p.T,f={};p.T=f,dc(l,!1,t,e);try{var o=n(),v=p.S;if(v!==null&&v(f,o),o!==null&&typeof o=="object"&&typeof o.then=="function"){var j=$h(o,a);cn(l,t,j,St(l))}else cn(l,t,a,St(l))}catch(T){cn(l,t,{then:function(){},status:"rejected",reason:T},St())}finally{C.p=u,i!==null&&f.types!==null&&(i.types=f.types),p.T=i}}function tm(){}function sc(l,t,e,a){if(l.tag!==5)throw Error(s(476));var n=jo(l).queue;po(l,n,t,M,e===null?tm:function(){return xo(l),e(a)})}function jo(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:M,baseState:M,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:wt,lastRenderedState:M},next:null};var e={};return t.next={memoizedState:e,baseState:e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:wt,lastRenderedState:e},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function xo(l){var t=jo(l);t.next===null&&(t=l.alternate.memoizedState),cn(l,t.next.queue,{},St())}function oc(){return kl(Tn)}function zo(){return Hl().memoizedState}function To(){return Hl().memoizedState}function em(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var e=St();l=re(e);var a=he(t,l,e);a!==null&&(ft(a,t,e),tn(a,t,e)),t={cache:Gi()},l.payload=t;return}t=t.return}}function am(l,t,e){var a=St();e={lane:a,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null},yu(l)?Ao(t,e):(e=_i(l,t,e,a),e!==null&&(ft(e,l,a),No(e,t,a)))}function Eo(l,t,e){var a=St();cn(l,t,e,a)}function cn(l,t,e,a){var n={lane:a,revertLane:0,gesture:null,action:e,hasEagerState:!1,eagerState:null,next:null};if(yu(l))Ao(t,n);else{var u=l.alternate;if(l.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var i=t.lastRenderedState,f=u(i,e);if(n.hasEagerState=!0,n.eagerState=f,ht(f,i))return $n(l,t,n,0),jl===null&&kn(),!1}catch{}if(e=_i(l,t,n,a),e!==null)return ft(e,l,a),No(e,t,a),!0}return!1}function dc(l,t,e,a){if(a={lane:2,revertLane:Lc(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},yu(l)){if(t)throw Error(s(479))}else t=_i(l,e,a,2),t!==null&&ft(t,l,2)}function yu(l){var t=l.alternate;return l===F||t!==null&&t===F}function Ao(l,t){ba=fu=!0;var e=l.pending;e===null?t.next=t:(t.next=e.next,e.next=t),l.pending=t}function No(l,t,e){if((e&4194048)!==0){var a=t.lanes;a&=l.pendingLanes,e|=a,t.lanes=e,Df(l,e)}}var fn={readContext:kl,use:du,useCallback:Ol,useContext:Ol,useEffect:Ol,useImperativeHandle:Ol,useLayoutEffect:Ol,useInsertionEffect:Ol,useMemo:Ol,useReducer:Ol,useRef:Ol,useState:Ol,useDebugValue:Ol,useDeferredValue:Ol,useTransition:Ol,useSyncExternalStore:Ol,useId:Ol,useHostTransitionStatus:Ol,useFormState:Ol,useActionState:Ol,useOptimistic:Ol,useMemoCache:Ol,useCacheRefresh:Ol};fn.useEffectEvent=Ol;var _o={readContext:kl,use:du,useCallback:function(l,t){return tt().memoizedState=[l,t===void 0?null:t],l},useContext:kl,useEffect:oo,useImperativeHandle:function(l,t,e){e=e!=null?e.concat([l]):null,hu(4194308,4,yo.bind(null,t,l),e)},useLayoutEffect:function(l,t){return hu(4194308,4,l,t)},useInsertionEffect:function(l,t){hu(4,2,l,t)},useMemo:function(l,t){var e=tt();t=t===void 0?null:t;var a=l();if(Ke){ne(!0);try{l()}finally{ne(!1)}}return e.memoizedState=[a,t],a},useReducer:function(l,t,e){var a=tt();if(e!==void 0){var n=e(t);if(Ke){ne(!0);try{e(t)}finally{ne(!1)}}}else n=t;return a.memoizedState=a.baseState=n,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:n},a.queue=l,l=l.dispatch=am.bind(null,F,l),[a.memoizedState,l]},useRef:function(l){var t=tt();return l={current:l},t.memoizedState=l},useState:function(l){l=nc(l);var t=l.queue,e=Eo.bind(null,F,t);return t.dispatch=e,[l.memoizedState,e]},useDebugValue:cc,useDeferredValue:function(l,t){var e=tt();return fc(e,l,t)},useTransition:function(){var l=nc(!1);return l=po.bind(null,F,l.queue,!0,!1),tt().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,e){var a=F,n=tt();if(ul){if(e===void 0)throw Error(s(407));e=e()}else{if(e=t(),jl===null)throw Error(s(349));(el&127)!==0||ks(a,t,e)}n.memoizedState=e;var u={value:e,getSnapshot:t};return n.queue=u,oo(Ws.bind(null,a,u,l),[l]),a.flags|=2048,pa(9,{destroy:void 0},$s.bind(null,a,u,e,t),null),e},useId:function(){var l=tt(),t=jl.identifierPrefix;if(ul){var e=qt,a=Rt;e=(a&~(1<<32-rt(a)-1)).toString(32)+e,t="_"+t+"R_"+e,e=su++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof a.is=="string"?i.createElement("select",{is:a.is}):i.createElement("select"),a.multiple?u.multiple=!0:a.size&&(u.size=a.size);break;default:u=typeof a.is=="string"?i.createElement(n,{is:a.is}):i.createElement(n)}}u[Jl]=t,u[et]=a;l:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)u.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break l;for(;i.sibling===null;){if(i.return===null||i.return===t)break l;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=u;l:switch(Wl(u,n,a),n){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break l;case"img":a=!0;break l;default:a=!1}a&&$t(t)}}return Tl(t),Ec(t,t.type,l===null?null:l.memoizedProps,t.pendingProps,e),null;case 6:if(l&&t.stateNode!=null)l.memoizedProps!==a&&$t(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(s(166));if(l=P.current,da(t)){if(l=t.stateNode,e=t.memoizedProps,a=null,n=wl,n!==null)switch(n.tag){case 27:case 5:a=n.memoizedProps}l[Jl]=t,l=!!(l.nodeValue===e||a!==null&&a.suppressHydrationWarning===!0||wd(l.nodeValue,e)),l||se(t,!0)}else l=Ru(l).createTextNode(a),l[Jl]=t,t.stateNode=l}return Tl(t),null;case 31:if(e=t.memoizedState,l===null||l.memoizedState!==null){if(a=da(t),e!==null){if(l===null){if(!a)throw Error(s(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(s(557));l[Jl]=t}else Ye(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Tl(t),l=!1}else e=Ri(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=e),l=!0;if(!l)return t.flags&256?(vt(t),t):(vt(t),null);if((t.flags&128)!==0)throw Error(s(558))}return Tl(t),null;case 13:if(a=t.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(n=da(t),a!==null&&a.dehydrated!==null){if(l===null){if(!n)throw Error(s(318));if(n=t.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(s(317));n[Jl]=t}else Ye(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Tl(t),n=!1}else n=Ri(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=n),n=!0;if(!n)return t.flags&256?(vt(t),t):(vt(t),null)}return vt(t),(t.flags&128)!==0?(t.lanes=e,t):(e=a!==null,l=l!==null&&l.memoizedState!==null,e&&(a=t.child,n=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(n=a.alternate.memoizedState.cachePool.pool),u=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(u=a.memoizedState.cachePool.pool),u!==n&&(a.flags|=2048)),e!==l&&e&&(t.child.flags|=8192),pu(t,t.updateQueue),Tl(t),null);case 4:return Ul(),l===null&&wc(t.stateNode.containerInfo),Tl(t),null;case 10:return Kt(t.type),Tl(t),null;case 19:if(x(Cl),a=t.memoizedState,a===null)return Tl(t),null;if(n=(t.flags&128)!==0,u=a.rendering,u===null)if(n)on(a,!1);else{if(Ml!==0||l!==null&&(l.flags&128)!==0)for(l=t.child;l!==null;){if(u=cu(l),u!==null){for(t.flags|=128,on(a,!1),l=u.updateQueue,t.updateQueue=l,pu(t,l),t.subtreeFlags=0,l=e,e=t.child;e!==null;)Ts(e,l),e=e.sibling;return R(Cl,Cl.current&1|2),ul&&Lt(t,a.treeForkCount),t.child}l=l.sibling}a.tail!==null&&ot()>Eu&&(t.flags|=128,n=!0,on(a,!1),t.lanes=4194304)}else{if(!n)if(l=cu(u),l!==null){if(t.flags|=128,n=!0,l=l.updateQueue,t.updateQueue=l,pu(t,l),on(a,!0),a.tail===null&&a.tailMode==="hidden"&&!u.alternate&&!ul)return Tl(t),null}else 2*ot()-a.renderingStartTime>Eu&&e!==536870912&&(t.flags|=128,n=!0,on(a,!1),t.lanes=4194304);a.isBackwards?(u.sibling=t.child,t.child=u):(l=a.last,l!==null?l.sibling=u:t.child=u,a.last=u)}return a.tail!==null?(l=a.tail,a.rendering=l,a.tail=l.sibling,a.renderingStartTime=ot(),l.sibling=null,e=Cl.current,R(Cl,n?e&1|2:e&1),ul&&Lt(t,a.treeForkCount),l):(Tl(t),null);case 22:case 23:return vt(t),ki(),a=t.memoizedState!==null,l!==null?l.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(e&536870912)!==0&&(t.flags&128)===0&&(Tl(t),t.subtreeFlags&6&&(t.flags|=8192)):Tl(t),e=t.updateQueue,e!==null&&pu(t,e.retryQueue),e=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(e=l.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==e&&(t.flags|=2048),l!==null&&x(Qe),null;case 24:return e=null,l!==null&&(e=l.memoizedState.cache),t.memoizedState.cache!==e&&(t.flags|=2048),Kt(Rl),Tl(t),null;case 25:return null;case 30:return null}throw Error(s(156,t.tag))}function fm(l,t){switch(Ci(t),t.tag){case 1:return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 3:return Kt(Rl),Ul(),l=t.flags,(l&65536)!==0&&(l&128)===0?(t.flags=l&-65537|128,t):null;case 26:case 27:case 5:return Dn(t),null;case 31:if(t.memoizedState!==null){if(vt(t),t.alternate===null)throw Error(s(340));Ye()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 13:if(vt(t),l=t.memoizedState,l!==null&&l.dehydrated!==null){if(t.alternate===null)throw Error(s(340));Ye()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 19:return x(Cl),null;case 4:return Ul(),null;case 10:return Kt(t.type),null;case 22:case 23:return vt(t),ki(),l!==null&&x(Qe),l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 24:return Kt(Rl),null;case 25:return null;default:return null}}function Io(l,t){switch(Ci(t),t.tag){case 3:Kt(Rl),Ul();break;case 26:case 27:case 5:Dn(t);break;case 4:Ul();break;case 31:t.memoizedState!==null&&vt(t);break;case 13:vt(t);break;case 19:x(Cl);break;case 10:Kt(t.type);break;case 22:case 23:vt(t),ki(),l!==null&&x(Qe);break;case 24:Kt(Rl)}}function dn(l,t){try{var e=t.updateQueue,a=e!==null?e.lastEffect:null;if(a!==null){var n=a.next;e=n;do{if((e.tag&l)===l){a=void 0;var u=e.create,i=e.inst;a=u(),i.destroy=a}e=e.next}while(e!==n)}}catch(f){gl(t,t.return,f)}}function ve(l,t,e){try{var a=t.updateQueue,n=a!==null?a.lastEffect:null;if(n!==null){var u=n.next;a=u;do{if((a.tag&l)===l){var i=a.inst,f=i.destroy;if(f!==void 0){i.destroy=void 0,n=t;var o=e,v=f;try{v()}catch(j){gl(n,o,j)}}}a=a.next}while(a!==u)}}catch(j){gl(t,t.return,j)}}function Po(l){var t=l.updateQueue;if(t!==null){var e=l.stateNode;try{Zs(t,e)}catch(a){gl(l,l.return,a)}}}function ld(l,t,e){e.props=Je(l.type,l.memoizedProps),e.state=l.memoizedState;try{e.componentWillUnmount()}catch(a){gl(l,t,a)}}function rn(l,t){try{var e=l.ref;if(e!==null){switch(l.tag){case 26:case 27:case 5:var a=l.stateNode;break;case 30:a=l.stateNode;break;default:a=l.stateNode}typeof e=="function"?l.refCleanup=e(a):e.current=a}}catch(n){gl(l,t,n)}}function Bt(l,t){var e=l.ref,a=l.refCleanup;if(e!==null)if(typeof a=="function")try{a()}catch(n){gl(l,t,n)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof e=="function")try{e(null)}catch(n){gl(l,t,n)}else e.current=null}function td(l){var t=l.type,e=l.memoizedProps,a=l.stateNode;try{l:switch(t){case"button":case"input":case"select":case"textarea":e.autoFocus&&a.focus();break l;case"img":e.src?a.src=e.src:e.srcSet&&(a.srcset=e.srcSet)}}catch(n){gl(l,l.return,n)}}function Ac(l,t,e){try{var a=l.stateNode;Mm(a,l.type,e,t),a[et]=t}catch(n){gl(l,l.return,n)}}function ed(l){return l.tag===5||l.tag===3||l.tag===26||l.tag===27&&ze(l.type)||l.tag===4}function Nc(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||ed(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.tag===27&&ze(l.type)||l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function _c(l,t,e){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e).insertBefore(l,t):(t=e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,t.appendChild(l),e=e._reactRootContainer,e!=null||t.onclick!==null||(t.onclick=Xt));else if(a!==4&&(a===27&&ze(l.type)&&(e=l.stateNode,t=null),l=l.child,l!==null))for(_c(l,t,e),l=l.sibling;l!==null;)_c(l,t,e),l=l.sibling}function ju(l,t,e){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?e.insertBefore(l,t):e.appendChild(l);else if(a!==4&&(a===27&&ze(l.type)&&(e=l.stateNode),l=l.child,l!==null))for(ju(l,t,e),l=l.sibling;l!==null;)ju(l,t,e),l=l.sibling}function ad(l){var t=l.stateNode,e=l.memoizedProps;try{for(var a=l.type,n=t.attributes;n.length;)t.removeAttributeNode(n[0]);Wl(t,a,e),t[Jl]=l,t[et]=e}catch(u){gl(l,l.return,u)}}var Wt=!1,Yl=!1,Oc=!1,nd=typeof WeakSet=="function"?WeakSet:Set,Kl=null;function sm(l,t){if(l=l.containerInfo,Wc=Zu,l=ys(l),xi(l)){if("selectionStart"in l)var e={start:l.selectionStart,end:l.selectionEnd};else l:{e=(e=l.ownerDocument)&&e.defaultView||window;var a=e.getSelection&&e.getSelection();if(a&&a.rangeCount!==0){e=a.anchorNode;var n=a.anchorOffset,u=a.focusNode;a=a.focusOffset;try{e.nodeType,u.nodeType}catch{e=null;break l}var i=0,f=-1,o=-1,v=0,j=0,T=l,b=null;t:for(;;){for(var S;T!==e||n!==0&&T.nodeType!==3||(f=i+n),T!==u||a!==0&&T.nodeType!==3||(o=i+a),T.nodeType===3&&(i+=T.nodeValue.length),(S=T.firstChild)!==null;)b=T,T=S;for(;;){if(T===l)break t;if(b===e&&++v===n&&(f=i),b===u&&++j===a&&(o=i),(S=T.nextSibling)!==null)break;T=b,b=T.parentNode}T=S}e=f===-1||o===-1?null:{start:f,end:o}}else e=null}e=e||{start:0,end:0}}else e=null;for(Fc={focusedElem:l,selectionRange:e},Zu=!1,Kl=t;Kl!==null;)if(t=Kl,l=t.child,(t.subtreeFlags&1028)!==0&&l!==null)l.return=t,Kl=l;else for(;Kl!==null;){switch(t=Kl,u=t.alternate,l=t.flags,t.tag){case 0:if((l&4)!==0&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(e=0;e title"))),Wl(u,a,e),u[Jl]=l,Vl(u),a=u;break l;case"link":var i=or("link","href",n).get(a+(e.href||""));if(i){for(var f=0;fpl&&(i=pl,pl=L,L=i);var m=hs(f,L),r=hs(f,pl);if(m&&r&&(S.rangeCount!==1||S.anchorNode!==m.node||S.anchorOffset!==m.offset||S.focusNode!==r.node||S.focusOffset!==r.offset)){var y=T.createRange();y.setStart(m.node,m.offset),S.removeAllRanges(),L>pl?(S.addRange(y),S.extend(r.node,r.offset)):(y.setEnd(r.node,r.offset),S.addRange(y))}}}}for(T=[],S=f;S=S.parentNode;)S.nodeType===1&&T.push({element:S,left:S.scrollLeft,top:S.scrollTop});for(typeof f.focus=="function"&&f.focus(),f=0;fe?32:e,p.T=null,e=qc,qc=null;var u=pe,i=te;if(Ql=0,Ea=pe=null,te=0,(ol&6)!==0)throw Error(s(331));var f=ol;if(ol|=4,yd(u.current),rd(u,u.current,i,e),ol=f,bn(0,!1),dt&&typeof dt.onPostCommitFiberRoot=="function")try{dt.onPostCommitFiberRoot(Ra,u)}catch{}return!0}finally{C.p=n,p.T=a,Cd(l,t)}}function Rd(l,t,e){t=zt(e,t),t=yc(l.stateNode,t,2),l=he(l,t,2),l!==null&&(Ba(l,2),Yt(l))}function gl(l,t,e){if(l.tag===3)Rd(l,l,e);else for(;t!==null;){if(t.tag===3){Rd(t,l,e);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(Se===null||!Se.has(a))){l=zt(e,l),e=qo(2),a=he(t,e,2),a!==null&&(Bo(e,a,t,l),Ba(a,2),Yt(a));break}}t=t.return}}function Xc(l,t,e){var a=l.pingCache;if(a===null){a=l.pingCache=new rm;var n=new Set;a.set(t,n)}else n=a.get(t),n===void 0&&(n=new Set,a.set(t,n));n.has(e)||(Uc=!0,n.add(e),l=gm.bind(null,l,t,e),t.then(l,l))}function gm(l,t,e){var a=l.pingCache;a!==null&&a.delete(t),l.pingedLanes|=l.suspendedLanes&e,l.warmLanes&=~e,jl===l&&(el&e)===e&&(Ml===4||Ml===3&&(el&62914560)===el&&300>ot()-Tu?(ol&2)===0&&Aa(l,0):Cc|=e,Ta===el&&(Ta=0)),Yt(l)}function qd(l,t){t===0&&(t=Of()),l=qe(l,t),l!==null&&(Ba(l,t),Yt(l))}function bm(l){var t=l.memoizedState,e=0;t!==null&&(e=t.retryLane),qd(l,e)}function Sm(l,t){var e=0;switch(l.tag){case 31:case 13:var a=l.stateNode,n=l.memoizedState;n!==null&&(e=n.retryLane);break;case 19:a=l.stateNode;break;case 22:a=l.stateNode._retryCache;break;default:throw Error(s(314))}a!==null&&a.delete(t),qd(l,e)}function pm(l,t){return Pu(l,t)}var Du=null,_a=null,Qc=!1,Uu=!1,Zc=!1,xe=0;function Yt(l){l!==_a&&l.next===null&&(_a===null?Du=_a=l:_a=_a.next=l),Uu=!0,Qc||(Qc=!0,xm())}function bn(l,t){if(!Zc&&Uu){Zc=!0;do for(var e=!1,a=Du;a!==null;){if(l!==0){var n=a.pendingLanes;if(n===0)var u=0;else{var i=a.suspendedLanes,f=a.pingedLanes;u=(1<<31-rt(42|l)+1)-1,u&=n&~(i&~f),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(e=!0,Xd(a,u))}else u=el,u=qn(a,a===jl?u:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(u&3)===0||qa(a,u)||(e=!0,Xd(a,u));a=a.next}while(e);Zc=!1}}function jm(){Bd()}function Bd(){Uu=Qc=!1;var l=0;xe!==0&&Um()&&(l=xe);for(var t=ot(),e=null,a=Du;a!==null;){var n=a.next,u=Yd(a,t);u===0?(a.next=null,e===null?Du=n:e.next=n,n===null&&(_a=e)):(e=a,(l!==0||(u&3)!==0)&&(Uu=!0)),a=n}Ql!==0&&Ql!==5||bn(l),xe!==0&&(xe=0)}function Yd(l,t){for(var e=l.suspendedLanes,a=l.pingedLanes,n=l.expirationTimes,u=l.pendingLanes&-62914561;0f)break;var j=o.transferSize,T=o.initiatorType;j&&kd(T)&&(o=o.responseEnd,i+=j*(o"u"?null:document;function ir(l,t,e){var a=Oa;if(a&&typeof t=="string"&&t){var n=jt(t);n='link[rel="'+l+'"][href="'+n+'"]',typeof e=="string"&&(n+='[crossorigin="'+e+'"]'),ur.has(n)||(ur.add(n),l={rel:l,crossOrigin:e,href:t},a.querySelector(n)===null&&(t=a.createElement("link"),Wl(t,"link",l),Vl(t),a.head.appendChild(t)))}}function Qm(l){ee.D(l),ir("dns-prefetch",l,null)}function Zm(l,t){ee.C(l,t),ir("preconnect",l,t)}function Lm(l,t,e){ee.L(l,t,e);var a=Oa;if(a&&l&&t){var n='link[rel="preload"][as="'+jt(t)+'"]';t==="image"&&e&&e.imageSrcSet?(n+='[imagesrcset="'+jt(e.imageSrcSet)+'"]',typeof e.imageSizes=="string"&&(n+='[imagesizes="'+jt(e.imageSizes)+'"]')):n+='[href="'+jt(l)+'"]';var u=n;switch(t){case"style":u=Ma(l);break;case"script":u=Da(l)}Ot.has(u)||(l=A({rel:"preload",href:t==="image"&&e&&e.imageSrcSet?void 0:l,as:t},e),Ot.set(u,l),a.querySelector(n)!==null||t==="style"&&a.querySelector(xn(u))||t==="script"&&a.querySelector(zn(u))||(t=a.createElement("link"),Wl(t,"link",l),Vl(t),a.head.appendChild(t)))}}function Vm(l,t){ee.m(l,t);var e=Oa;if(e&&l){var a=t&&typeof t.as=="string"?t.as:"script",n='link[rel="modulepreload"][as="'+jt(a)+'"][href="'+jt(l)+'"]',u=n;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Da(l)}if(!Ot.has(u)&&(l=A({rel:"modulepreload",href:l},t),Ot.set(u,l),e.querySelector(n)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(e.querySelector(zn(u)))return}a=e.createElement("link"),Wl(a,"link",l),Vl(a),e.head.appendChild(a)}}}function Km(l,t,e){ee.S(l,t,e);var a=Oa;if(a&&l){var n=Ie(a).hoistableStyles,u=Ma(l);t=t||"default";var i=n.get(u);if(!i){var f={loading:0,preload:null};if(i=a.querySelector(xn(u)))f.loading=5;else{l=A({rel:"stylesheet",href:l,"data-precedence":t},e),(e=Ot.get(u))&&nf(l,e);var o=i=a.createElement("link");Vl(o),Wl(o,"link",l),o._p=new Promise(function(v,j){o.onload=v,o.onerror=j}),o.addEventListener("load",function(){f.loading|=1}),o.addEventListener("error",function(){f.loading|=2}),f.loading|=4,Bu(i,t,a)}i={type:"stylesheet",instance:i,count:1,state:f},n.set(u,i)}}}function Jm(l,t){ee.X(l,t);var e=Oa;if(e&&l){var a=Ie(e).hoistableScripts,n=Da(l),u=a.get(n);u||(u=e.querySelector(zn(n)),u||(l=A({src:l,async:!0},t),(t=Ot.get(n))&&uf(l,t),u=e.createElement("script"),Vl(u),Wl(u,"link",l),e.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},a.set(n,u))}}function wm(l,t){ee.M(l,t);var e=Oa;if(e&&l){var a=Ie(e).hoistableScripts,n=Da(l),u=a.get(n);u||(u=e.querySelector(zn(n)),u||(l=A({src:l,async:!0,type:"module"},t),(t=Ot.get(n))&&uf(l,t),u=e.createElement("script"),Vl(u),Wl(u,"link",l),e.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},a.set(n,u))}}function cr(l,t,e,a){var n=(n=P.current)?qu(n):null;if(!n)throw Error(s(446));switch(l){case"meta":case"title":return null;case"style":return typeof e.precedence=="string"&&typeof e.href=="string"?(t=Ma(e.href),e=Ie(n).hoistableStyles,a=e.get(t),a||(a={type:"style",instance:null,count:0,state:null},e.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(e.rel==="stylesheet"&&typeof e.href=="string"&&typeof e.precedence=="string"){l=Ma(e.href);var u=Ie(n).hoistableStyles,i=u.get(l);if(i||(n=n.ownerDocument||n,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(l,i),(u=n.querySelector(xn(l)))&&!u._p&&(i.instance=u,i.state.loading=5),Ot.has(l)||(e={rel:"preload",as:"style",href:e.href,crossOrigin:e.crossOrigin,integrity:e.integrity,media:e.media,hrefLang:e.hrefLang,referrerPolicy:e.referrerPolicy},Ot.set(l,e),u||km(n,l,e,i.state))),t&&a===null)throw Error(s(528,""));return i}if(t&&a!==null)throw Error(s(529,""));return null;case"script":return t=e.async,e=e.src,typeof e=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Da(e),e=Ie(n).hoistableScripts,a=e.get(t),a||(a={type:"script",instance:null,count:0,state:null},e.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,l))}}function Ma(l){return'href="'+jt(l)+'"'}function xn(l){return'link[rel="stylesheet"]['+l+"]"}function fr(l){return A({},l,{"data-precedence":l.precedence,precedence:null})}function km(l,t,e,a){l.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=l.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Wl(t,"link",e),Vl(t),l.head.appendChild(t))}function Da(l){return'[src="'+jt(l)+'"]'}function zn(l){return"script[async]"+l}function sr(l,t,e){if(t.count++,t.instance===null)switch(t.type){case"style":var a=l.querySelector('style[data-href~="'+jt(e.href)+'"]');if(a)return t.instance=a,Vl(a),a;var n=A({},e,{"data-href":e.href,"data-precedence":e.precedence,href:null,precedence:null});return a=(l.ownerDocument||l).createElement("style"),Vl(a),Wl(a,"style",n),Bu(a,e.precedence,l),t.instance=a;case"stylesheet":n=Ma(e.href);var u=l.querySelector(xn(n));if(u)return t.state.loading|=4,t.instance=u,Vl(u),u;a=fr(e),(n=Ot.get(n))&&nf(a,n),u=(l.ownerDocument||l).createElement("link"),Vl(u);var i=u;return i._p=new Promise(function(f,o){i.onload=f,i.onerror=o}),Wl(u,"link",a),t.state.loading|=4,Bu(u,e.precedence,l),t.instance=u;case"script":return u=Da(e.src),(n=l.querySelector(zn(u)))?(t.instance=n,Vl(n),n):(a=e,(n=Ot.get(u))&&(a=A({},e),uf(a,n)),l=l.ownerDocument||l,n=l.createElement("script"),Vl(n),Wl(n,"link",a),l.head.appendChild(n),t.instance=n);case"void":return null;default:throw Error(s(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Bu(a,e.precedence,l));return t.instance}function Bu(l,t,e){for(var a=e.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),n=a.length?a[a.length-1]:null,u=n,i=0;i title"):null)}function $m(l,t,e){if(e===1||t.itemProp!=null)return!1;switch(l){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;return t.rel==="stylesheet"?(l=t.disabled,typeof t.precedence=="string"&&l==null):!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 rr(l){return!(l.type==="stylesheet"&&(l.state.loading&3)===0)}function Wm(l,t,e,a){if(e.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(e.state.loading&4)===0){if(e.instance===null){var n=Ma(a.href),u=t.querySelector(xn(n));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=Gu.bind(l),t.then(l,l)),e.state.loading|=4,e.instance=u,Vl(u);return}u=t.ownerDocument||t,a=fr(a),(n=Ot.get(n))&&nf(a,n),u=u.createElement("link"),Vl(u);var i=u;i._p=new Promise(function(f,o){i.onload=f,i.onerror=o}),Wl(u,"link",a),e.instance=u}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(e,t),(t=e.state.preload)&&(e.state.loading&3)===0&&(l.count++,e=Gu.bind(l),t.addEventListener("load",e),t.addEventListener("error",e))}}var cf=0;function Fm(l,t){return l.stylesheets&&l.count===0&&Qu(l,l.stylesheets),0cf?50:800)+t);return l.unsuspend=e,function(){l.unsuspend=null,clearTimeout(a),clearTimeout(n)}}:null}function Gu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Qu(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var Xu=null;function Qu(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,Xu=new Map,t.forEach(Im,l),Xu=null,Gu.call(l))}function Im(l,t){if(!(t.state.loading&4)){var e=Xu.get(l);if(e)var a=e.get(null);else{e=new Map,Xu.set(l,e);for(var n=l.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(h)}catch(N){console.error(N)}}return h(),vf.exports=my(),vf.exports}var vy=yy();function gy(){const h=new URLSearchParams(location.search).get("token");if(h){sessionStorage.setItem("dm.token",h);const N=location.pathname+location.hash;return history.replaceState(null,"",N),h}return sessionStorage.getItem("dm.token")??""}const Ca=gy();class pf extends Error{status;body;constructor(N,O,s={}){super(O),this.status=N,this.body=s}get needsTrust(){return this.body.needsTrust===!0}}async function Mt(h,N){const O={...N?.headers};Ca&&(O["X-Auth-Token"]=Ca),N?.body&&(O["Content-Type"]="application/json");const s=await fetch(h,{...N,headers:O});if(s.status===204)return;const _=await s.text();let H={};if(_)try{H=JSON.parse(_)}catch{if(!s.ok)throw new pf(s.status,_.slice(0,400))}if(!s.ok){const E=typeof H.error=="string"?H.error:`request failed (${s.status})`;throw new pf(s.status,E,H)}return H}const Oe=(h,N)=>Mt(h,{method:"POST",body:N===void 0?void 0:JSON.stringify(N)}),Gl={health:()=>Mt("/api/health"),source:()=>Mt("/api/source"),volumeSizes:()=>Mt("/api/source/sizes"),connections:()=>Mt("/api/connections"),saveConnection:h=>Oe("/api/connections",h),deleteConnection:h=>Mt(`/api/connections/${h}`,{method:"DELETE"}),probe:h=>Oe(`/api/connections/${h}/probe`),trust:(h,N)=>Oe(`/api/connections/${h}/trust`,{fingerprint:N}),testConnection:h=>Oe(`/api/connections/${h}/test`),targetInventory:h=>Mt(`/api/connections/${h}/inventory`),preview:h=>Oe("/api/plan/preview",h),migrateSSH:(h,N)=>Oe("/api/migrate/ssh",{connectionId:h,plan:N}),buildPackage:(h,N)=>Oe("/api/migrate/package",{plan:h,format:N}),jobs:()=>Mt("/api/jobs"),job:h=>Mt(`/api/jobs/${h}`),cancelJob:h=>Oe(`/api/jobs/${h}/cancel`),deleteJob:h=>Mt(`/api/jobs/${h}`,{method:"DELETE"}),packages:()=>Mt("/api/packages"),deletePackage:h=>Mt(`/api/packages/${encodeURIComponent(h)}`,{method:"DELETE"}),downloadUrl:h=>`/api/packages/${encodeURIComponent(h)}/download`+(Ca?`?token=${encodeURIComponent(Ca)}`:""),jobEvents:h=>new EventSource(`/api/jobs/${h}/events`+(Ca?`?token=${encodeURIComponent(Ca)}`:""))};function ae(h){if(h==null||h<0)return"–";if(h===0)return"0 B";const N=["B","KiB","MiB","GiB","TiB","PiB"];let O=h,s=0;for(;O>=1024&&sN(H.target.checked)}),c.jsx("span",{children:O})]})}function Fl({label:h,children:N}){return c.jsxs("label",{className:"field",children:[c.jsx("span",{children:h}),N]})}function zf({title:h,onClose:N,children:O,footer:s,wide:_}){return K.useEffect(()=>{const H=E=>{E.key==="Escape"&&N()};return window.addEventListener("keydown",H),()=>window.removeEventListener("keydown",H)},[N]),c.jsx("div",{className:"modal-backdrop",onMouseDown:H=>H.target===H.currentTarget&&N(),children:c.jsxs("div",{className:"modal",style:_?{width:"min(1000px, 100%)"}:void 0,children:[c.jsxs("header",{children:[h,c.jsx("span",{className:"spacer"}),c.jsx("button",{className:"btn ghost tiny",onClick:N,children:"close"})]}),c.jsx("div",{className:"content",children:O}),s&&c.jsx("footer",{children:s})]})})}function Dt({kind:h,children:N}){return c.jsx("div",{className:`notice ${h==="info"?"":h}`,children:N})}function jf({done:h,total:N,state:O}){const s=N>0?Math.min(100,h/N*100):O==="succeeded"?100:0,_=O==="succeeded"?"done":O==="failed"?"failed":"";return c.jsx("div",{className:`progress ${_}`,children:c.jsx("div",{style:{width:`${s}%`}})})}function Br(h,N){return h.kind==="tmpfs"?0:h.sizeBytes>=0?h.sizeBytes:h.name&&N[h.name]!==void 0?N[h.name]:-1}function by({source:h,sel:N,setSel:O,targetInv:s,loading:_,sizes:H}){const[E,k]=K.useState(""),[D,g]=K.useState(new Set),[J,A]=K.useState(!1),B=h?.inventory.containers??[],dl=K.useMemo(()=>new Set((s?.containers??[]).map(U=>U.name)),[s]),yl=K.useMemo(()=>{const U=E.trim().toLowerCase();return B.filter(Q=>J&&Q.state!=="running"?!1:U?Q.name.toLowerCase().includes(U)||Q.image.toLowerCase().includes(U)||(Q.composeProject??"").toLowerCase().includes(U)||(Q.mounts??[]).some(q=>q.destination.toLowerCase().includes(U)||(q.name??"").toLowerCase().includes(U)):!0)},[B,E,J]),il=K.useMemo(()=>{const U=new Map;for(const Q of yl){const q=Q.composeProject||"",$=U.get(q);$?$.push(Q):U.set(q,[Q])}return[...U.entries()].sort((Q,q)=>Q[0]===""?1:q[0]===""?-1:Q[0].localeCompare(q[0]))},[yl]);function Xl(U,Q){O(q=>({...q,[U]:{...q[U],...Q}}))}function El(U,Q){O(q=>{const $={...q};for(const cl of U)$[cl]&&($[cl]={...$[cl],include:Q});return $})}function Al(U){O(Q=>{const q={...Q};for(const $ of B){const cl=q[$.id];cl?.include&&(q[$.id]=U(cl,$))}return q})}function rl(U,Q){Al((q,$)=>{const cl={...q.mounts};for(const hl of $.mounts??[])hl.kind!=="tmpfs"&&Q.includes(hl.kind)&&(cl[hl.destination]={...cl[hl.destination],action:U});return{...q,mounts:cl}})}const xl=yl.map(U=>U.id),Dl=yl.filter(U=>N[U.id]?.include).length,_l=Object.values(N).some(U=>U.include);return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"toolbar",children:[c.jsx("input",{className:"search",type:"text",placeholder:"filter by name, image, mount…",value:E,onChange:U=>k(U.target.value)}),c.jsx("button",{className:"btn tiny",onClick:()=>El(xl,!0),children:"select all"}),c.jsx("button",{className:"btn tiny",onClick:()=>El(xl,!1),children:"clear"}),c.jsx("button",{className:"btn tiny",onClick:()=>El(yl.filter(U=>U.state==="running").map(U=>U.id),!0),children:"select running"}),c.jsx(st,{checked:J,onChange:A,label:c.jsx("span",{className:"small muted",children:"running only"})}),c.jsx("span",{className:"spacer"}),c.jsxs("span",{className:"small faint nowrap",children:["apply to ",Dl?`${Dl} selected`:"selection",":"]}),c.jsx("button",{className:"btn tiny",disabled:!_l,onClick:()=>rl("copy",["volume","anonymous","bind"]),children:"copy all data"}),c.jsx("button",{className:"btn tiny",disabled:!_l,onClick:()=>rl("skip",["bind"]),children:"skip binds"}),c.jsx("button",{className:"btn tiny",disabled:!_l,onClick:()=>rl("structure",["volume","anonymous","bind"]),children:"structure only"}),c.jsxs("select",{className:"btn tiny",style:{width:"auto"},disabled:!_l,value:"",onChange:U=>{const Q=U.target.value;if(Q){if(Q==="start"&&Al(q=>({...q,startAfter:!0})),Q==="nostart"&&Al(q=>({...q,startAfter:!1})),Q==="live"&&Al(q=>({...q,stopSourceDuringCopy:!1})),Q==="quiesce"&&Al(q=>({...q,stopSourceDuringCopy:!0})),Q==="keepsource"&&Al(q=>({...q,stopSourceAfter:!1})),Q==="stopsource"&&Al(q=>({...q,stopSourceAfter:!0})),Q.startsWith("img:")){const q=Q.slice(4);Al($=>({...$,migrateImage:q!=="skip",imageMode:q}))}U.target.value=""}},children:[c.jsx("option",{value:"",children:"more…"}),c.jsx("option",{value:"start",children:"start after migration"}),c.jsx("option",{value:"nostart",children:"leave stopped on target"}),c.jsx("option",{value:"quiesce",children:"stop source while copying"}),c.jsx("option",{value:"live",children:"copy while running (hot)"}),c.jsx("option",{value:"stopsource",children:"stop source after migration"}),c.jsx("option",{value:"keepsource",children:"leave source running"}),c.jsx("option",{value:"img:auto",children:"image: auto"}),c.jsx("option",{value:"img:pull",children:"image: pull on target"}),c.jsx("option",{value:"img:stream",children:"image: transfer layers"}),c.jsx("option",{value:"img:skip",children:"image: already on target"})]})]}),_&&B.length===0&&c.jsx("div",{className:"empty",children:"reading the source daemon…"}),!_&&B.length===0&&c.jsx("div",{className:"empty",children:"no containers on this host"}),!_&&B.length>0&&yl.length===0&&c.jsx("div",{className:"empty",children:"nothing matches the filter"}),c.jsx("div",{className:"clist",children:il.map(([U,Q])=>c.jsxs("div",{children:[il.length>1&&c.jsxs("div",{className:"group-head",children:[c.jsx(st,{checked:Q.every(q=>N[q.id]?.include),onChange:q=>El(Q.map($=>$.id),q),label:U?`compose: ${U}`:"standalone"}),c.jsx("span",{className:"line"}),c.jsx("span",{children:Q.length})]}),Q.map(q=>c.jsx(Sy,{c:q,s:N[q.id],onChange:$=>Xl(q.id,$),expanded:D.has(q.id),toggleExpanded:()=>g($=>{const cl=new Set($);return cl.has(q.id)?cl.delete(q.id):cl.add(q.id),cl}),conflicts:dl.has(N[q.id]?.nameOverride||q.name),sizes:H},q.id))]},U||"__none"))})]})}function Sy({c:h,s:N,onChange:O,expanded:s,toggleExpanded:_,conflicts:H,sizes:E}){if(!N)return null;const D=(h.mounts??[]).filter(A=>A.kind!=="tmpfs"),g=D.filter(A=>(N.mounts[A.destination]?.action??"copy")==="copy"),J=g.reduce((A,B)=>{const dl=Br(B,E);return A+(dl>0?dl:0)},0);return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:`crow${N.include?" selected":""}`,children:[c.jsx(st,{checked:N.include,onChange:A=>O({include:A}),label:""}),c.jsx("button",{className:"expander",onClick:_,title:"per-item options",children:s?"▾":"▸"}),c.jsxs("div",{style:{minWidth:0},children:[c.jsx("div",{className:"name truncate",title:h.name,children:h.name}),c.jsxs("div",{className:"sub row",style:{gap:6},children:[c.jsx(Mn,{state:h.state}),h.composeService&&c.jsxs("span",{className:"faint",children:["· ",h.composeService]}),H&&c.jsx("span",{className:"badge",style:{borderColor:"#5c4520",color:"#e0b556"},children:"on target"})]})]}),c.jsx("div",{className:"image truncate",title:h.image,children:h.image}),c.jsxs("div",{className:"tags",children:[D.map(A=>c.jsx("span",{className:`badge ${A.kind==="bind"?"bind":A.kind==="anonymous"?"anon":"vol"}`,title:`${A.kind} → ${A.destination}${A.readOnly?" (read-only)":""}`,style:{opacity:(N.mounts[A.destination]?.action??"copy")==="skip"?.35:1},children:A.kind==="bind"?(A.source??"").split("/").pop()||"/":A.kind==="anonymous"?"anon":A.name},A.destination)),(h.endpoints??[]).filter(A=>!["bridge","host","none"].includes(A.network)).map(A=>c.jsx("span",{className:"badge net",title:`network ${A.network}`,children:A.network},A.network)),(h.ports??[]).slice(0,3).map((A,B)=>c.jsxs("span",{className:"badge port",children:[A.hostPort,":",A.containerPort.split("/")[0]]},B)),(h.ports??[]).length>3&&c.jsxs("span",{className:"badge port",children:["+",(h.ports??[]).length-3]})]}),c.jsxs("div",{className:"small faint nowrap",style:{textAlign:"right"},children:[g.length>0?`${g.length} to copy`:"no data",J>0&&c.jsxs(c.Fragment,{children:[" · ",ae(J)]})]})]}),s&&c.jsx(py,{c:h,s:N,onChange:O,sizes:E})]})}function py({c:h,s:N,onChange:O,sizes:s}){const _=h.mounts??[];function H(E,k){O({mounts:{...N.mounts,[E]:{...N.mounts[E],...k}}})}return c.jsxs("div",{className:"detail",children:[(h.warnings??[]).map((E,k)=>c.jsx("div",{className:"notice warn",children:E},k)),c.jsxs("div",{className:"grid2",children:[c.jsx(Fl,{label:"name on target",children:c.jsx("input",{type:"text",placeholder:h.name,value:N.nameOverride??"",onChange:E=>O({nameOverride:E.target.value})})}),c.jsx(Fl,{label:"image",children:c.jsxs("select",{value:N.migrateImage?N.imageMode:"skip",onChange:E=>{const k=E.target.value;O({migrateImage:k!=="skip",imageMode:k})},children:[c.jsx("option",{value:"auto",children:"auto — reuse, pull, or transfer"}),c.jsx("option",{value:"pull",children:"pull on the target"}),c.jsx("option",{value:"stream",children:"transfer the layers"}),c.jsx("option",{value:"skip",children:"already on the target"})]})}),c.jsxs("div",{className:"stack",style:{gap:6},children:[c.jsx(st,{checked:N.migrateNetworks,onChange:E=>O({migrateNetworks:E}),label:"recreate networks and reattach"}),c.jsx(st,{checked:N.keepStaticIps,onChange:E=>O({keepStaticIps:E}),disabled:!N.migrateNetworks,label:"keep static IP addresses",title:"Only works when the target networks use the same subnets"}),c.jsx(st,{checked:N.migratePorts,onChange:E=>O({migratePorts:E}),label:"publish the same host ports"})]}),c.jsxs("div",{className:"stack",style:{gap:6},children:[c.jsx(st,{checked:N.startAfter,onChange:E=>O({startAfter:E}),label:"start on the target"}),c.jsx(st,{checked:N.stopSourceDuringCopy,onChange:E=>O({stopSourceDuringCopy:E}),label:"stop the source while copying",title:"Recommended: databases and other writers produce inconsistent copies while running"}),c.jsx(st,{checked:N.stopSourceAfter,onChange:E=>O({stopSourceAfter:E}),label:"leave the source stopped afterwards"})]})]}),_.length===0?c.jsx("div",{className:"small faint",children:"this container has no mounts"}):c.jsxs("table",{className:"mount-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{style:{width:74},children:"kind"}),c.jsx("th",{children:"in the container"}),c.jsx("th",{children:"on the source"}),c.jsx("th",{style:{width:130},children:"action"}),c.jsx("th",{children:"on the target"}),c.jsx("th",{style:{width:70,textAlign:"right"},children:"size"})]})}),c.jsx("tbody",{children:_.map(E=>{const k=N.mounts[E.destination]??{action:"copy"},D=E.kind==="tmpfs";return c.jsxs("tr",{children:[c.jsx("td",{children:c.jsx("span",{className:`badge ${E.kind==="bind"?"bind":E.kind==="anonymous"?"anon":E.kind==="tmpfs"?"tmpfs":"vol"}`,children:E.kind})}),c.jsxs("td",{className:"mono truncate",title:E.destination,children:[E.destination,E.readOnly&&c.jsx("span",{className:"faint",children:" :ro"})]}),c.jsx("td",{className:"mono truncate faint",title:E.source||E.name,children:E.kind==="bind"?E.source:E.kind==="anonymous"?"(generated)":E.name}),c.jsx("td",{children:c.jsxs("select",{value:k.action,disabled:D,onChange:g=>H(E.destination,{action:g.target.value}),children:[c.jsx("option",{value:"copy",children:"copy data"}),c.jsx("option",{value:"structure",children:"create empty"}),c.jsx("option",{value:"skip",children:"do not mount"})]})}),c.jsxs("td",{children:[E.kind==="bind"&&k.action!=="skip"&&c.jsx("input",{type:"text",placeholder:E.source,value:k.targetSource??"",onChange:g=>H(E.destination,{targetSource:g.target.value})}),E.kind==="volume"&&k.action!=="skip"&&c.jsx("input",{type:"text",placeholder:E.name,value:k.targetName??"",onChange:g=>H(E.destination,{targetName:g.target.value})}),E.kind==="anonymous"&&c.jsx("span",{className:"small faint",children:"a fresh volume is created"}),D&&c.jsx("span",{className:"small faint",children:"in memory, nothing to copy"})]}),c.jsx("td",{className:"small faint nowrap",style:{textAlign:"right"},children:D?"–":ae(Br(E,s))})]},E.destination)})})]})]})}function jy({source:h,plan:N,includedCount:O,options:s,setOptions:_,connections:H,activeConn:E,setActiveConn:k,reloadConnections:D,targetInv:g,connectTarget:J,onJobStarted:A,onError:B}){const[dl,yl]=K.useState(null),[il,Xl]=K.useState(null),[El,Al]=K.useState(null),[rl,xl]=K.useState(""),[Dl,_l]=K.useState(""),[U,Q]=K.useState("tar"),q=H.find(M=>M.id===E),$=g?.preflight,cl=!!$?.serverVersion;async function hl(M,V){xl(M);try{await V()}catch(nl){nl instanceof pf&&nl.needsTrust?await Zl():B(nl instanceof Error?nl.message:String(nl))}finally{xl("")}}const Pl=K.useCallback(()=>{E&&hl("test",()=>J(E))},[E]);K.useEffect(()=>{Pl()},[Pl]);async function Zl(){if(E)try{Xl(await Gl.probe(E))}catch(M){B(M instanceof Error?M.message:String(M))}}async function Ll(){!E||!il||await hl("trust",async()=>{await Gl.trust(E,il.fingerprint),Xl(null),await J(E)})}const p=O>0&&cl&&!rl,C=O>0&&!rl;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"section",children:[c.jsx("h3",{children:"target host"}),c.jsxs("div",{className:"stack",children:[c.jsxs("div",{className:"row",children:[c.jsxs("select",{value:E,onChange:M=>k(M.target.value),children:[c.jsx("option",{value:"",children:"— no target selected —"}),H.map(M=>c.jsxs("option",{value:M.id,children:[M.name," (",M.user,"@",M.host,")"]},M.id))]}),c.jsx("button",{className:"btn tiny",onClick:()=>yl({port:22,auth:"password",saveSecrets:!1,sudo:!1}),children:"new"})]}),q&&c.jsxs("div",{className:"row wrap",style:{gap:6},children:[c.jsx("button",{className:"btn tiny",disabled:!!rl,onClick:Pl,children:rl==="test"?"connecting…":"connect"}),c.jsx("button",{className:"btn tiny",onClick:()=>yl(q),children:"edit"}),c.jsx("button",{className:"btn tiny",onClick:Zl,children:"host key"}),c.jsx("button",{className:"btn tiny danger",onClick:()=>{confirm(`Delete connection "${q.name}"?`)&&hl("del",async()=>{await Gl.deleteConnection(q.id),D()})},children:"delete"})]}),q&&!g&&c.jsx("div",{className:"small faint",children:"not connected yet"}),$&&c.jsxs(c.Fragment,{children:[($.problems??[]).map((M,V)=>c.jsx(Dt,{kind:"warn",children:M},V)),cl&&c.jsxs("dl",{className:"kv",children:[c.jsx("dt",{children:"host"}),c.jsx("dd",{children:g?.host||q?.host}),c.jsx("dt",{children:"docker"}),c.jsxs("dd",{children:[$.serverVersion," · ",$.os,"/",$.arch]}),c.jsx("dt",{children:"free space"}),c.jsxs("dd",{children:[ae($.diskFreeBytes)," on ",$.dockerRoot]}),c.jsx("dt",{children:"existing"}),c.jsxs("dd",{children:[(g?.containers??[]).length," containers ·"," ",(g?.volumes??[]).length," volumes"]}),c.jsx("dt",{children:"gzip"}),c.jsx("dd",{children:$.hasGzip?"yes":"missing"})]})]})]})]}),c.jsxs("div",{className:"section",children:[c.jsx("h3",{children:"options"}),c.jsxs("div",{className:"stack",children:[c.jsx(Fl,{label:"if the name already exists on the target",children:c.jsxs("select",{value:s.conflict,onChange:M=>_(V=>({...V,conflict:M.target.value})),children:[c.jsx("option",{value:"fail",children:"stop with an error"}),c.jsx("option",{value:"skip",children:"skip that container"}),c.jsx("option",{value:"rename",children:"create it under a new name"}),c.jsx("option",{value:"replace",children:"remove the target's container first"})]})}),s.conflict==="rename"&&c.jsx(Fl,{label:"suffix",children:c.jsx("input",{type:"text",value:s.renameSuffix??"",onChange:M=>_(V=>({...V,renameSuffix:M.target.value}))})}),s.conflict==="replace"&&c.jsx(Dt,{kind:"warn",children:"Existing containers and volumes with the same name are deleted on the target before the copy."}),c.jsx(st,{checked:s.compress,onChange:M=>_(V=>({...V,compress:M})),label:"compress transfers (gzip)"}),c.jsx(st,{checked:s.verifyAfter,onChange:M=>_(V=>({...V,verifyAfter:M})),label:"verify each container after migrating"}),c.jsx(st,{checked:s.dryRun,onChange:M=>_(V=>({...V,dryRun:M})),label:"dry run — show every command, change nothing"}),c.jsx(Fl,{label:`containers at a time: ${s.parallelism}`,children:c.jsx("input",{type:"range",min:1,max:6,value:s.parallelism,onChange:M=>_(V=>({...V,parallelism:Number(M.target.value)})),style:{width:"100%"}})})]})]}),c.jsxs("div",{className:"section",children:[c.jsx("h3",{children:"migrate over ssh"}),c.jsxs("div",{className:"stack",children:[c.jsx("button",{className:"btn primary",disabled:!p,onClick:()=>hl("ssh",async()=>{const M=await Gl.migrateSSH(E,N);A(M)}),children:rl==="ssh"?"starting…":`migrate ${O} container${O===1?"":"s"} to target`}),c.jsx("button",{className:"btn",disabled:O===0||!!rl,onClick:()=>hl("preview",async()=>{Al(await Gl.preview(N))}),children:"preview the commands"}),O===0&&c.jsx("div",{className:"small faint",children:"select at least one container"}),O>0&&!cl&&c.jsx("div",{className:"small faint",children:"connect to a target first"})]})]}),c.jsxs("div",{className:"section",children:[c.jsx("h3",{children:"migration package"}),c.jsxs("div",{className:"stack",children:[c.jsxs("div",{className:"small muted",children:["Builds a self-contained folder with the data, the images and an ",c.jsx("span",{className:"mono",children:"install.sh"})," to run on the target. No network between the hosts required."]}),c.jsx(Fl,{label:"package name",children:c.jsx("input",{type:"text",placeholder:"auto (timestamped)",value:Dl,onChange:M=>_l(M.target.value)})}),c.jsx(Fl,{label:"format",children:c.jsxs("select",{value:U,onChange:M=>Q(M.target.value),children:[c.jsx("option",{value:"tar",children:"single .tar file (downloadable)"}),c.jsx("option",{value:"dir",children:"directory on this host"})]})}),c.jsx("button",{className:"btn",disabled:!C,onClick:()=>hl("pkg",async()=>{const M=await Gl.buildPackage({...N,packageName:Dl},U);A(M)}),children:rl==="pkg"?"starting…":"build package"})]})]}),h?.inventory.warnings?.length?c.jsxs("div",{className:"section",children:[c.jsx("h3",{children:"source warnings"}),c.jsx("div",{className:"stack",children:h.inventory.warnings.map((M,V)=>c.jsx(Dt,{kind:"warn",children:M},V))})]}):null,dl&&c.jsx(xy,{initial:dl,onClose:()=>yl(null),onSaved:M=>{yl(null),D(),k(M.id)},onError:B}),il&&c.jsx(zf,{title:"SSH host key",onClose:()=>Xl(null),footer:c.jsxs(c.Fragment,{children:[c.jsx("button",{className:"btn",onClick:()=>Xl(null),children:"cancel"}),c.jsx("button",{className:"btn primary",onClick:Ll,children:il.changed?"replace the stored key and trust":"trust this host"})]}),children:c.jsxs("div",{className:"stack",children:[il.changed&&c.jsxs(Dt,{kind:"err",children:["The key presented by this host is ",c.jsx("b",{children:"different"})," from the one recorded earlier. This happens after a reinstall — but it is also what a machine-in-the-middle looks like. Only continue if you know why it changed."]}),il.trusted&&!il.changed&&c.jsx(Dt,{kind:"ok",children:"This host key is already trusted."}),c.jsxs("div",{className:"small muted",children:["Compare this with the output of ",c.jsxs("span",{className:"mono",children:["ssh-keyscan -t ",il.keyType," ",il.host]})," ","run on the target itself, or with ",c.jsx("span",{className:"mono",children:"ssh-keygen -lf /etc/ssh/ssh_host_*_key.pub"}),"."]}),c.jsxs("div",{className:"fingerprint",children:[il.keyType,c.jsx("br",{}),il.fingerprint]})]})}),El&&c.jsx(zy,{data:El,onClose:()=>Al(null)})]})}function xy({initial:h,onClose:N,onSaved:O,onError:s}){const[_,H]=K.useState(h),[E,k]=K.useState(!1);function D(g,J){H(A=>({...A,[g]:J}))}return c.jsx(zf,{title:h.id?`Edit ${h.name}`:"New target host",onClose:N,footer:c.jsxs(c.Fragment,{children:[c.jsx("button",{className:"btn",onClick:N,children:"cancel"}),c.jsx("button",{className:"btn primary",disabled:E||!_.host||!_.user,onClick:async()=>{k(!0);try{O(await Gl.saveConnection(_))}catch(g){s(g instanceof Error?g.message:String(g))}finally{k(!1)}},children:E?"saving…":"save"})]}),children:c.jsxs("div",{className:"stack",style:{gap:12},children:[c.jsxs("div",{className:"row",style:{gap:12},children:[c.jsx(Fl,{label:"label",children:c.jsx("input",{type:"text",value:_.name??"",onChange:g=>D("name",g.target.value)})}),c.jsx(Fl,{label:"host",children:c.jsx("input",{type:"text",value:_.host??"",onChange:g=>D("host",g.target.value)})}),c.jsx("div",{style:{width:90},children:c.jsx(Fl,{label:"port",children:c.jsx("input",{type:"number",value:_.port??22,onChange:g=>D("port",Number(g.target.value))})})})]}),c.jsxs("div",{className:"row",style:{gap:12},children:[c.jsx(Fl,{label:"user",children:c.jsx("input",{type:"text",value:_.user??"",onChange:g=>D("user",g.target.value)})}),c.jsx(Fl,{label:"authentication",children:c.jsxs("select",{value:_.auth??"password",onChange:g=>D("auth",g.target.value),children:[c.jsx("option",{value:"password",children:"password"}),c.jsx("option",{value:"key",children:"private key"}),c.jsx("option",{value:"agent",children:"ssh agent"})]})})]}),_.auth==="password"&&c.jsx(Fl,{label:"password",children:c.jsx("input",{type:"password",value:_.password??"",onChange:g=>D("password",g.target.value)})}),_.auth==="key"&&c.jsxs(c.Fragment,{children:[c.jsx(Fl,{label:"private key path on this machine (leave empty to paste the key below)",children:c.jsx("input",{type:"text",placeholder:"/root/.ssh/id_ed25519",value:_.privateKeyPath??"",onChange:g=>D("privateKeyPath",g.target.value)})}),c.jsx(Fl,{label:"or paste the private key",children:c.jsx("textarea",{rows:5,value:_.privateKey??"",onChange:g=>D("privateKey",g.target.value),placeholder:"-----BEGIN OPENSSH PRIVATE KEY-----"})}),c.jsx(Fl,{label:"passphrase (if the key is encrypted)",children:c.jsx("input",{type:"password",value:_.passphrase??"",onChange:g=>D("passphrase",g.target.value)})})]}),_.auth==="agent"&&c.jsxs("div",{className:"small muted",children:["Uses the agent at ",c.jsx("span",{className:"mono",children:"$SSH_AUTH_SOCK"})," of the process running dockmv."]}),c.jsx(st,{checked:_.sudo??!1,onChange:g=>D("sudo",g),label:"run docker through sudo -n on the target",title:"Needed when the login user is not in the docker group. sudo must not ask for a password."}),c.jsx(Fl,{label:"docker command on the target (optional)",children:c.jsx("input",{type:"text",placeholder:"docker",value:_.dockerCmd??"",onChange:g=>D("dockerCmd",g.target.value)})}),c.jsx(st,{checked:_.saveSecrets??!1,onChange:g=>D("saveSecrets",g),label:"remember the password / key on disk"}),_.saveSecrets?c.jsx(Dt,{kind:"warn",children:"Credentials are stored in plain text in the connections file, readable only by this user. Leave this off to keep them in memory for this session only."}):c.jsx("div",{className:"small faint",children:"Credentials stay in memory and are lost when dockmv restarts."})]})})}function zy({data:h,onClose:N}){const O=h.items.reduce((s,_)=>s+_.totalBytes,0);return c.jsx(zf,{title:"What this migration will run",wide:!0,onClose:N,footer:c.jsx("button",{className:"btn",onClick:N,children:"close"}),children:c.jsxs("div",{className:"stack",style:{gap:16},children:[c.jsxs("div",{className:"small muted",children:[h.items.length," container(s)",O>0&&c.jsxs(c.Fragment,{children:[" · about ",ae(O)," of known volume data"]}),". These are the commands that run on the target; data is streamed into ",c.jsx("span",{className:"mono",children:"docker cp"})," rather than written to a file."]}),(h.networkCommands??[]).length>0&&c.jsxs("div",{children:[c.jsx("h3",{style:{margin:"0 0 6px",fontSize:12},children:"shared networks"}),c.jsx("pre",{className:"cmdblock",children:(h.networkCommands??[]).join(` `)})]}),h.items.map(s=>c.jsxs("div",{children:[c.jsxs("h3",{style:{margin:"0 0 6px",fontSize:12},children:[s.name,s.targetName!==s.name&&c.jsxs("span",{className:"faint",children:[" → ",s.targetName]})]}),(s.warnings??[]).map((_,H)=>c.jsx(Dt,{kind:"warn",children:_},`w${H}`)),(s.notes??[]).map((_,H)=>c.jsxs("div",{className:"small faint",children:["· ",_]},`n${H}`)),c.jsx("pre",{className:"cmdblock",children:(s.commands??[]).join(` `)})]},s.containerId))]})})}function Ty({jobs:h,activeJob:N,setActiveJob:O,reload:s,reloadPackages:_}){const H=N||h[0]?.id||"";return h.length===0?c.jsx("div",{className:"empty",children:"no migrations yet — select containers and start one"}):c.jsxs("div",{style:{display:"flex",minHeight:0,height:"100%"},children:[c.jsx("div",{className:"joblist",style:{width:320,flex:"0 0 320px",overflow:"auto"},children:h.map(E=>c.jsxs("div",{className:`jobcard${E.id===H?" active":""}`,onClick:()=>O(E.id),children:[c.jsxs("div",{className:"row",children:[c.jsx(Mn,{state:E.state}),c.jsx("span",{className:"spacer"}),c.jsx("span",{className:"small faint",children:E.kind==="ssh"?"ssh":"package"})]}),c.jsx("div",{className:"truncate",style:{marginTop:2},children:E.title}),c.jsxs("div",{className:"small faint",children:[new Date(E.createdAt).toLocaleTimeString()," · ",qr(E.startedAt,E.endedAt),E.dryRun&&" · dry run"]}),c.jsx("div",{style:{marginTop:6},children:c.jsx(jf,{done:E.bytesDone,total:E.bytesTotal,state:E.state})})]},E.id))}),c.jsx("div",{style:{flex:1,minWidth:0,overflow:"auto",borderLeft:"1px solid var(--border)"},children:H&&c.jsx(Ey,{id:H,reload:s,reloadPackages:_})})]})}function Ey({id:h,reload:N,reloadPackages:O}){const[s,_]=K.useState(null),[H,E]=K.useState(!0),k=K.useRef(null),D=K.useRef(!0);K.useEffect(()=>{_(null);let A=!1;Gl.job(h).then(dl=>!A&&_(dl)).catch(()=>{});const B=Gl.jobEvents(h);return B.onmessage=dl=>{try{_(JSON.parse(dl.data))}catch{}},B.addEventListener("done",()=>{B.close(),N(),O()}),B.onerror=()=>B.close(),()=>{A=!0,B.close()}},[h,N,O]);const g=K.useMemo(()=>(s?.log??[]).filter(A=>H||A.level!=="cmd"),[s,H]);if(K.useEffect(()=>{const A=k.current;A&&D.current&&(A.scrollTop=A.scrollHeight)},[g]),!s)return c.jsx("div",{className:"empty",children:"loading…"});const J=s.state==="running"||s.state==="pending";return c.jsxs("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:14},children:[c.jsxs("div",{className:"row",children:[c.jsx(Mn,{state:s.state}),c.jsx("b",{children:s.title}),s.dryRun&&c.jsx("span",{className:"badge",children:"dry run"}),c.jsx("span",{className:"spacer"}),c.jsxs("span",{className:"small faint",children:[ae(s.bytesDone),s.bytesTotal>0&&c.jsxs(c.Fragment,{children:[" of ",ae(s.bytesTotal)]})," · ",qr(s.startedAt,s.endedAt)]}),J?c.jsx("button",{className:"btn tiny danger",onClick:()=>Gl.cancelJob(s.id).then(N),children:"cancel"}):c.jsx("button",{className:"btn tiny ghost",onClick:()=>Gl.deleteJob(s.id).then(N),children:"remove"})]}),c.jsx(jf,{done:s.bytesDone,total:s.bytesTotal,state:s.state}),s.error&&c.jsx(Dt,{kind:"err",children:s.error}),s.state==="succeeded"&&s.artifact&&c.jsxs(Dt,{kind:"ok",children:["Package ready at ",c.jsx("span",{className:"mono",children:s.artifact})," (",ae(s.artifactBytes??0),")."," ","Open the Packages tab to download it."]}),s.items.map(A=>c.jsxs("div",{style:{border:"1px solid var(--border)",borderRadius:6,padding:"8px 10px"},children:[c.jsxs("div",{className:"row",children:[c.jsx(Mn,{state:A.state}),c.jsx("b",{children:A.name}),c.jsx("span",{className:"spacer"}),c.jsxs("span",{className:"small faint",children:[A.steps.filter(B=>B.state==="succeeded").length,"/",A.steps.length," steps"]})]}),A.error&&c.jsx("div",{className:"small",style:{color:"var(--err)"},children:A.error}),(A.warnings??[]).map((B,dl)=>c.jsxs("div",{className:"small",style:{color:"var(--warn)"},children:["! ",B]},dl)),c.jsx("div",{className:"steps",children:A.steps.map(B=>c.jsxs("div",{className:`step ${B.state}`,children:[c.jsx(Mn,{state:B.state,label:""}),c.jsx("span",{className:"label truncate",title:B.error||B.label,children:B.label}),c.jsx("span",{children:B.bytesTotal>0||B.bytesDone>0?c.jsx(jf,{done:B.bytesDone,total:B.bytesTotal,state:B.state}):null}),c.jsx("span",{className:"faint nowrap",style:{textAlign:"right"},children:B.bytesDone>0?ae(B.bytesDone):B.state==="skipped"?"skipped":""})]},B.id))})]},A.id)),c.jsxs("div",{className:"row",children:[c.jsx("h3",{style:{margin:0,fontSize:12},children:"log"}),c.jsx("span",{className:"spacer"}),c.jsxs("label",{className:"check small",children:[c.jsx("input",{type:"checkbox",checked:H,onChange:A=>E(A.target.checked)}),c.jsx("span",{children:"show commands"})]})]}),c.jsxs("div",{className:"log",ref:k,onScroll:A=>{const B=A.currentTarget;D.current=B.scrollHeight-B.scrollTop-B.clientHeight<24},children:[g.map(A=>c.jsxs("div",{className:`l-${A.level}`,children:[c.jsxs("span",{className:"ts",children:[new Date(A.at).toLocaleTimeString()," "]}),A.message]},A.seq)),g.length===0&&c.jsx("span",{className:"faint",children:"nothing logged yet"})]})]})}function Ay({packages:h,reload:N}){return h.length===0?c.jsx("div",{className:"empty",children:"no packages built yet"}):c.jsxs("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:12},children:[c.jsxs(Dt,{kind:"info",children:["Copy a package to the target host, then run ",c.jsx("span",{className:"mono",children:"./install.sh --dry-run"})," to review it and"," ",c.jsx("span",{className:"mono",children:"./install.sh"})," to restore. The target needs only bash, gzip and docker."]}),c.jsxs("table",{className:"mount-table",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{children:"name"}),c.jsx("th",{style:{width:110},children:"kind"}),c.jsx("th",{style:{width:110,textAlign:"right"},children:"size"}),c.jsx("th",{style:{width:170},children:"built"}),c.jsx("th",{style:{width:190}})]})}),c.jsx("tbody",{children:h.map(O=>c.jsxs("tr",{children:[c.jsx("td",{className:"mono truncate",title:O.path,children:O.name}),c.jsx("td",{children:c.jsx("span",{className:"badge",children:O.isDir?"directory":"tar"})}),c.jsx("td",{className:"nowrap",style:{textAlign:"right"},children:ae(O.bytes)}),c.jsx("td",{className:"small faint",children:new Date(O.createdAt).toLocaleString()}),c.jsx("td",{children:c.jsxs("div",{className:"row",style:{justifyContent:"flex-end",gap:6},children:[O.isDir?c.jsx("span",{className:"small faint",title:O.path,children:"copy it from disk"}):c.jsx("a",{className:"btn tiny",href:Gl.downloadUrl(O.name),download:!0,children:"download"}),c.jsx("button",{className:"btn tiny danger",onClick:()=>{confirm(`Delete package "${O.name}"? This cannot be undone.`)&&Gl.deletePackage(O.name).then(N)},children:"delete"})]})})]},O.name))})]})]})}function Ny(){const[h,N]=K.useState(null),[O,s]=K.useState(null),[_,H]=K.useState({}),[E,k]=K.useState({conflict:"fail",renameSuffix:"-migrated",compress:!0,compressLevel:1,dryRun:!1,parallelism:1,verifyAfter:!0}),[D,g]=K.useState({}),[J,A]=K.useState([]),[B,dl]=K.useState(""),[yl,il]=K.useState(null),[Xl,El]=K.useState([]),[Al,rl]=K.useState([]),[xl,Dl]=K.useState("containers"),[_l,U]=K.useState(""),[Q,q]=K.useState(""),[$,cl]=K.useState(!0),hl=K.useCallback(async()=>{cl(!0);try{const d=await Gl.source();s(d),H(x=>{const R={};for(const Y of d.inventory.containers)R[Y.id]=x[Y.id]??d.defaults[Y.id];return R}),q(""),Gl.volumeSizes().then(x=>g(x.volumes??{})).catch(()=>{})}catch(d){q(d instanceof Error?d.message:String(d))}finally{cl(!1)}},[]),Pl=K.useCallback(async()=>{try{const d=await Gl.connections();A(d),dl(x=>x&&d.some(R=>R.id===x)?x:d[0]?.id??"")}catch(d){q(d instanceof Error?d.message:String(d))}},[]),Zl=K.useCallback(async()=>{try{El(await Gl.jobs())}catch{}},[]),Ll=K.useCallback(async()=>{try{rl(await Gl.packages())}catch{}},[]);K.useEffect(()=>{Gl.health().then(N).catch(()=>{}),hl(),Pl(),Zl(),Ll()},[hl,Pl,Zl,Ll]),K.useEffect(()=>{const d=setInterval(Zl,4e3);return()=>clearInterval(d)},[Zl]);const p=K.useCallback(async d=>{if(il(null),!d)return;const x=await Gl.targetInventory(d);il(x),q("")},[]),C=K.useMemo(()=>Object.values(_).filter(d=>d.include),[_]),M=K.useMemo(()=>({items:Object.values(_),options:E}),[_,E]),V=Xl.filter(d=>d.state==="running"||d.state==="pending").length,nl=K.useCallback(d=>{El(x=>[d,...x]),U(d.id),Dl("jobs")},[]);return c.jsxs("div",{className:"app",children:[c.jsxs("header",{className:"topbar",children:[c.jsxs("div",{className:"brand",children:[c.jsx("img",{src:"/logo-icon.png",alt:"",className:"brand-logo"}),"DockMV"]}),c.jsxs("nav",{className:"tabs",children:[c.jsxs("button",{className:`tab${xl==="containers"?" active":""}`,onClick:()=>Dl("containers"),children:["Containers",c.jsxs("span",{className:"count",children:[C.length,"/",O?.inventory.containers.length??0]})]}),c.jsxs("button",{className:`tab${xl==="jobs"?" active":""}`,onClick:()=>Dl("jobs"),children:["Jobs",V>0&&c.jsxs("span",{className:"count",children:[V," running"]})]}),c.jsxs("button",{className:`tab${xl==="packages"?" active":""}`,onClick:()=>Dl("packages"),children:["Packages",Al.length>0&&c.jsx("span",{className:"count",children:Al.length})]})]}),c.jsxs("div",{className:"topbar-right",children:[h&&c.jsxs("span",{className:"hostinfo",children:["source ",c.jsx("b",{children:O?.inventory.host||h.dockerHost}),h.dockerVersion&&c.jsxs(c.Fragment,{children:[" · docker ",h.dockerVersion]})]}),c.jsx("button",{className:"btn tiny",onClick:hl,disabled:$,children:$?"loading…":"refresh"})]})]}),Q&&c.jsx("div",{style:{padding:"10px 16px"},children:c.jsxs(Dt,{kind:"err",children:[Q,c.jsx("button",{className:"btn tiny ghost",style:{marginLeft:8},onClick:()=>q(""),children:"dismiss"})]})}),h&&!h.ok&&c.jsx("div",{style:{padding:"10px 16px"},children:c.jsxs(Dt,{kind:"err",children:["Cannot reach the source Docker daemon at ",c.jsx("span",{className:"mono",children:h.dockerHost}),h.dockerError&&c.jsxs(c.Fragment,{children:[" — ",h.dockerError]})]})}),c.jsxs("div",{className:"body",children:[c.jsxs("main",{className:"main",children:[xl==="containers"&&c.jsx(by,{source:O,sel:_,setSel:H,targetInv:yl,loading:$,sizes:D}),xl==="jobs"&&c.jsx(Ty,{jobs:Xl,activeJob:_l,setActiveJob:U,reload:Zl,reloadPackages:Ll}),xl==="packages"&&c.jsx(Ay,{packages:Al,reload:Ll})]}),xl==="containers"&&c.jsx("aside",{className:"sidebar",children:c.jsx(jy,{source:O,plan:M,includedCount:C.length,options:E,setOptions:k,connections:J,activeConn:B,setActiveConn:dl,reloadConnections:Pl,targetInv:yl,connectTarget:p,onJobStarted:nl,onError:q})})]})]})}vy.createRoot(document.getElementById("root")).render(c.jsx(K.StrictMode,{children:c.jsx(Ny,{})}));