@markus-global/cli 0.3.2 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,61 @@
1
+ (function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const c of o)if(c.type==="childList")for(const u of c.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&l(u)}).observe(document,{childList:!0,subtree:!0});function s(o){const c={};return o.integrity&&(c.integrity=o.integrity),o.referrerPolicy&&(c.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?c.credentials="include":o.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function l(o){if(o.ep)return;o.ep=!0;const c=s(o);fetch(o.href,c)}})();function $u(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var sh={exports:{}},Vi={};var K0;function g2(){if(K0)return Vi;K0=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function s(l,o,c){var u=null;if(c!==void 0&&(u=""+c),o.key!==void 0&&(u=""+o.key),"key"in o){c={};for(var f in o)f!=="key"&&(c[f]=o[f])}else c=o;return o=c.ref,{$$typeof:e,type:l,key:u,ref:o!==void 0?o:null,props:c}}return Vi.Fragment=r,Vi.jsx=s,Vi.jsxs=s,Vi}var J0;function p2(){return J0||(J0=1,sh.exports=g2()),sh.exports}var t=p2(),ah={exports:{}},bt={};var W0;function b2(){if(W0)return bt;W0=1;var e=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),g=Symbol.for("react.activity"),b=Symbol.iterator;function p(R){return R===null||typeof R!="object"?null:(R=b&&R[b]||R["@@iterator"],typeof R=="function"?R:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,T={};function E(R,W,z){this.props=R,this.context=W,this.refs=T,this.updater=z||w}E.prototype.isReactComponent={},E.prototype.setState=function(R,W){if(typeof R!="object"&&typeof R!="function"&&R!=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,R,W,"setState")},E.prototype.forceUpdate=function(R){this.updater.enqueueForceUpdate(this,R,"forceUpdate")};function C(){}C.prototype=E.prototype;function N(R,W,z){this.props=R,this.context=W,this.refs=T,this.updater=z||w}var k=N.prototype=new C;k.constructor=N,S(k,E.prototype),k.isPureReactComponent=!0;var H=Array.isArray;function M(){}var Y={H:null,A:null,T:null,S:null},$=Object.prototype.hasOwnProperty;function X(R,W,z){var L=z.ref;return{$$typeof:e,type:R,key:W,ref:L!==void 0?L:null,props:z}}function P(R,W){return X(R.type,W,R.props)}function U(R){return typeof R=="object"&&R!==null&&R.$$typeof===e}function V(R){var W={"=":"=0",":":"=2"};return"$"+R.replace(/[=:]/g,function(z){return W[z]})}var D=/\/+/g;function A(R,W){return typeof R=="object"&&R!==null&&R.key!=null?V(""+R.key):W.toString(36)}function I(R){switch(R.status){case"fulfilled":return R.value;case"rejected":throw R.reason;default:switch(typeof R.status=="string"?R.then(M,M):(R.status="pending",R.then(function(W){R.status==="pending"&&(R.status="fulfilled",R.value=W)},function(W){R.status==="pending"&&(R.status="rejected",R.reason=W)})),R.status){case"fulfilled":return R.value;case"rejected":throw R.reason}}throw R}function _(R,W,z,L,F){var Q=typeof R;(Q==="undefined"||Q==="boolean")&&(R=null);var ne=!1;if(R===null)ne=!0;else switch(Q){case"bigint":case"string":case"number":ne=!0;break;case"object":switch(R.$$typeof){case e:case r:ne=!0;break;case x:return ne=R._init,_(ne(R._payload),W,z,L,F)}}if(ne)return F=F(R),ne=L===""?"."+A(R,0):L,H(F)?(z="",ne!=null&&(z=ne.replace(D,"$&/")+"/"),_(F,W,z,"",function(oe){return oe})):F!=null&&(U(F)&&(F=P(F,z+(F.key==null||R&&R.key===F.key?"":(""+F.key).replace(D,"$&/")+"/")+ne)),W.push(F)),1;ne=0;var Z=L===""?".":L+":";if(H(R))for(var ee=0;ee<R.length;ee++)L=R[ee],Q=Z+A(L,ee),ne+=_(L,W,z,Q,F);else if(ee=p(R),typeof ee=="function")for(R=ee.call(R),ee=0;!(L=R.next()).done;)L=L.value,Q=Z+A(L,ee++),ne+=_(L,W,z,Q,F);else if(Q==="object"){if(typeof R.then=="function")return _(I(R),W,z,L,F);throw W=String(R),Error("Objects are not valid as a React child (found: "+(W==="[object Object]"?"object with keys {"+Object.keys(R).join(", ")+"}":W)+"). If you meant to render a collection of children, use an array instead.")}return ne}function G(R,W,z){if(R==null)return R;var L=[],F=0;return _(R,L,"","",function(Q){return W.call(z,Q,F++)}),L}function q(R){if(R._status===-1){var W=R._result;W=W(),W.then(function(z){(R._status===0||R._status===-1)&&(R._status=1,R._result=z)},function(z){(R._status===0||R._status===-1)&&(R._status=2,R._result=z)}),R._status===-1&&(R._status=0,R._result=W)}if(R._status===1)return R._result.default;throw R._result}var K=typeof reportError=="function"?reportError:function(R){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var W=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof R=="object"&&R!==null&&typeof R.message=="string"?String(R.message):String(R),error:R});if(!window.dispatchEvent(W))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",R);return}console.error(R)},B={map:G,forEach:function(R,W,z){G(R,function(){W.apply(this,arguments)},z)},count:function(R){var W=0;return G(R,function(){W++}),W},toArray:function(R){return G(R,function(W){return W})||[]},only:function(R){if(!U(R))throw Error("React.Children.only expected to receive a single React element child.");return R}};return bt.Activity=g,bt.Children=B,bt.Component=E,bt.Fragment=s,bt.Profiler=o,bt.PureComponent=N,bt.StrictMode=l,bt.Suspense=m,bt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Y,bt.__COMPILER_RUNTIME={__proto__:null,c:function(R){return Y.H.useMemoCache(R)}},bt.cache=function(R){return function(){return R.apply(null,arguments)}},bt.cacheSignal=function(){return null},bt.cloneElement=function(R,W,z){if(R==null)throw Error("The argument must be a React element, but you passed "+R+".");var L=S({},R.props),F=R.key;if(W!=null)for(Q in W.key!==void 0&&(F=""+W.key),W)!$.call(W,Q)||Q==="key"||Q==="__self"||Q==="__source"||Q==="ref"&&W.ref===void 0||(L[Q]=W[Q]);var Q=arguments.length-2;if(Q===1)L.children=z;else if(1<Q){for(var ne=Array(Q),Z=0;Z<Q;Z++)ne[Z]=arguments[Z+2];L.children=ne}return X(R.type,F,L)},bt.createContext=function(R){return R={$$typeof:u,_currentValue:R,_currentValue2:R,_threadCount:0,Provider:null,Consumer:null},R.Provider=R,R.Consumer={$$typeof:c,_context:R},R},bt.createElement=function(R,W,z){var L,F={},Q=null;if(W!=null)for(L in W.key!==void 0&&(Q=""+W.key),W)$.call(W,L)&&L!=="key"&&L!=="__self"&&L!=="__source"&&(F[L]=W[L]);var ne=arguments.length-2;if(ne===1)F.children=z;else if(1<ne){for(var Z=Array(ne),ee=0;ee<ne;ee++)Z[ee]=arguments[ee+2];F.children=Z}if(R&&R.defaultProps)for(L in ne=R.defaultProps,ne)F[L]===void 0&&(F[L]=ne[L]);return X(R,Q,F)},bt.createRef=function(){return{current:null}},bt.forwardRef=function(R){return{$$typeof:f,render:R}},bt.isValidElement=U,bt.lazy=function(R){return{$$typeof:x,_payload:{_status:-1,_result:R},_init:q}},bt.memo=function(R,W){return{$$typeof:h,type:R,compare:W===void 0?null:W}},bt.startTransition=function(R){var W=Y.T,z={};Y.T=z;try{var L=R(),F=Y.S;F!==null&&F(z,L),typeof L=="object"&&L!==null&&typeof L.then=="function"&&L.then(M,K)}catch(Q){K(Q)}finally{W!==null&&z.types!==null&&(W.types=z.types),Y.T=W}},bt.unstable_useCacheRefresh=function(){return Y.H.useCacheRefresh()},bt.use=function(R){return Y.H.use(R)},bt.useActionState=function(R,W,z){return Y.H.useActionState(R,W,z)},bt.useCallback=function(R,W){return Y.H.useCallback(R,W)},bt.useContext=function(R){return Y.H.useContext(R)},bt.useDebugValue=function(){},bt.useDeferredValue=function(R,W){return Y.H.useDeferredValue(R,W)},bt.useEffect=function(R,W){return Y.H.useEffect(R,W)},bt.useEffectEvent=function(R){return Y.H.useEffectEvent(R)},bt.useId=function(){return Y.H.useId()},bt.useImperativeHandle=function(R,W,z){return Y.H.useImperativeHandle(R,W,z)},bt.useInsertionEffect=function(R,W){return Y.H.useInsertionEffect(R,W)},bt.useLayoutEffect=function(R,W){return Y.H.useLayoutEffect(R,W)},bt.useMemo=function(R,W){return Y.H.useMemo(R,W)},bt.useOptimistic=function(R,W){return Y.H.useOptimistic(R,W)},bt.useReducer=function(R,W,z){return Y.H.useReducer(R,W,z)},bt.useRef=function(R){return Y.H.useRef(R)},bt.useState=function(R){return Y.H.useState(R)},bt.useSyncExternalStore=function(R,W,z){return Y.H.useSyncExternalStore(R,W,z)},bt.useTransition=function(){return Y.H.useTransition()},bt.version="19.2.4",bt}var eb;function Ao(){return eb||(eb=1,ah.exports=b2()),ah.exports}var j=Ao();const y2=$u(j);var lh={exports:{}},Fi={},ih={exports:{}},oh={};var tb;function v2(){return tb||(tb=1,(function(e){function r(_,G){var q=_.length;_.push(G);e:for(;0<q;){var K=q-1>>>1,B=_[K];if(0<o(B,G))_[K]=G,_[q]=B,q=K;else break e}}function s(_){return _.length===0?null:_[0]}function l(_){if(_.length===0)return null;var G=_[0],q=_.pop();if(q!==G){_[0]=q;e:for(var K=0,B=_.length,R=B>>>1;K<R;){var W=2*(K+1)-1,z=_[W],L=W+1,F=_[L];if(0>o(z,q))L<B&&0>o(F,z)?(_[K]=F,_[L]=q,K=L):(_[K]=z,_[W]=q,K=W);else if(L<B&&0>o(F,q))_[K]=F,_[L]=q,K=L;else break e}}return G}function o(_,G){var q=_.sortIndex-G.sortIndex;return q!==0?q:_.id-G.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var m=[],h=[],x=1,g=null,b=3,p=!1,w=!1,S=!1,T=!1,E=typeof setTimeout=="function"?setTimeout:null,C=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function k(_){for(var G=s(h);G!==null;){if(G.callback===null)l(h);else if(G.startTime<=_)l(h),G.sortIndex=G.expirationTime,r(m,G);else break;G=s(h)}}function H(_){if(S=!1,k(_),!w)if(s(m)!==null)w=!0,M||(M=!0,V());else{var G=s(h);G!==null&&I(H,G.startTime-_)}}var M=!1,Y=-1,$=5,X=-1;function P(){return T?!0:!(e.unstable_now()-X<$)}function U(){if(T=!1,M){var _=e.unstable_now();X=_;var G=!0;try{e:{w=!1,S&&(S=!1,C(Y),Y=-1),p=!0;var q=b;try{t:{for(k(_),g=s(m);g!==null&&!(g.expirationTime>_&&P());){var K=g.callback;if(typeof K=="function"){g.callback=null,b=g.priorityLevel;var B=K(g.expirationTime<=_);if(_=e.unstable_now(),typeof B=="function"){g.callback=B,k(_),G=!0;break t}g===s(m)&&l(m),k(_)}else l(m);g=s(m)}if(g!==null)G=!0;else{var R=s(h);R!==null&&I(H,R.startTime-_),G=!1}}break e}finally{g=null,b=q,p=!1}G=void 0}}finally{G?V():M=!1}}}var V;if(typeof N=="function")V=function(){N(U)};else if(typeof MessageChannel<"u"){var D=new MessageChannel,A=D.port2;D.port1.onmessage=U,V=function(){A.postMessage(null)}}else V=function(){E(U,0)};function I(_,G){Y=E(function(){_(e.unstable_now())},G)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(_){_.callback=null},e.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"):$=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return b},e.unstable_next=function(_){switch(b){case 1:case 2:case 3:var G=3;break;default:G=b}var q=b;b=G;try{return _()}finally{b=q}},e.unstable_requestPaint=function(){T=!0},e.unstable_runWithPriority=function(_,G){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var q=b;b=_;try{return G()}finally{b=q}},e.unstable_scheduleCallback=function(_,G,q){var K=e.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?K+q:K):q=K,_){case 1:var B=-1;break;case 2:B=250;break;case 5:B=1073741823;break;case 4:B=1e4;break;default:B=5e3}return B=q+B,_={id:x++,callback:G,priorityLevel:_,startTime:q,expirationTime:B,sortIndex:-1},q>K?(_.sortIndex=q,r(h,_),s(m)===null&&_===s(h)&&(S?(C(Y),Y=-1):S=!0,I(H,q-K))):(_.sortIndex=B,r(m,_),w||p||(w=!0,M||(M=!0,V()))),_},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(_){var G=b;return function(){var q=b;b=G;try{return _.apply(this,arguments)}finally{b=q}}}})(oh)),oh}var nb;function j2(){return nb||(nb=1,ih.exports=v2()),ih.exports}var ch={exports:{}},Jn={};var rb;function w2(){if(rb)return Jn;rb=1;var e=Ao();function r(m){var h="https://react.dev/errors/"+m;if(1<arguments.length){h+="?args[]="+encodeURIComponent(arguments[1]);for(var x=2;x<arguments.length;x++)h+="&args[]="+encodeURIComponent(arguments[x])}return"Minified React error #"+m+"; visit "+h+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function s(){}var l={d:{f:s,r:function(){throw Error(r(522))},D:s,C:s,L:s,m:s,X:s,S:s,M:s},p:0,findDOMNode:null},o=Symbol.for("react.portal");function c(m,h,x){var g=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:g==null?null:""+g,children:m,containerInfo:h,implementation:x}}var u=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function f(m,h){if(m==="font")return"";if(typeof h=="string")return h==="use-credentials"?h:""}return Jn.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=l,Jn.createPortal=function(m,h){var x=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!h||h.nodeType!==1&&h.nodeType!==9&&h.nodeType!==11)throw Error(r(299));return c(m,h,null,x)},Jn.flushSync=function(m){var h=u.T,x=l.p;try{if(u.T=null,l.p=2,m)return m()}finally{u.T=h,l.p=x,l.d.f()}},Jn.preconnect=function(m,h){typeof m=="string"&&(h?(h=h.crossOrigin,h=typeof h=="string"?h==="use-credentials"?h:"":void 0):h=null,l.d.C(m,h))},Jn.prefetchDNS=function(m){typeof m=="string"&&l.d.D(m)},Jn.preinit=function(m,h){if(typeof m=="string"&&h&&typeof h.as=="string"){var x=h.as,g=f(x,h.crossOrigin),b=typeof h.integrity=="string"?h.integrity:void 0,p=typeof h.fetchPriority=="string"?h.fetchPriority:void 0;x==="style"?l.d.S(m,typeof h.precedence=="string"?h.precedence:void 0,{crossOrigin:g,integrity:b,fetchPriority:p}):x==="script"&&l.d.X(m,{crossOrigin:g,integrity:b,fetchPriority:p,nonce:typeof h.nonce=="string"?h.nonce:void 0})}},Jn.preinitModule=function(m,h){if(typeof m=="string")if(typeof h=="object"&&h!==null){if(h.as==null||h.as==="script"){var x=f(h.as,h.crossOrigin);l.d.M(m,{crossOrigin:x,integrity:typeof h.integrity=="string"?h.integrity:void 0,nonce:typeof h.nonce=="string"?h.nonce:void 0})}}else h==null&&l.d.M(m)},Jn.preload=function(m,h){if(typeof m=="string"&&typeof h=="object"&&h!==null&&typeof h.as=="string"){var x=h.as,g=f(x,h.crossOrigin);l.d.L(m,x,{crossOrigin:g,integrity:typeof h.integrity=="string"?h.integrity:void 0,nonce:typeof h.nonce=="string"?h.nonce:void 0,type:typeof h.type=="string"?h.type:void 0,fetchPriority:typeof h.fetchPriority=="string"?h.fetchPriority:void 0,referrerPolicy:typeof h.referrerPolicy=="string"?h.referrerPolicy:void 0,imageSrcSet:typeof h.imageSrcSet=="string"?h.imageSrcSet:void 0,imageSizes:typeof h.imageSizes=="string"?h.imageSizes:void 0,media:typeof h.media=="string"?h.media:void 0})}},Jn.preloadModule=function(m,h){if(typeof m=="string")if(h){var x=f(h.as,h.crossOrigin);l.d.m(m,{as:typeof h.as=="string"&&h.as!=="script"?h.as:void 0,crossOrigin:x,integrity:typeof h.integrity=="string"?h.integrity:void 0})}else l.d.m(m)},Jn.requestFormReset=function(m){l.d.r(m)},Jn.unstable_batchedUpdates=function(m,h){return m(h)},Jn.useFormState=function(m,h,x){return u.H.useFormState(m,h,x)},Jn.useFormStatus=function(){return u.H.useHostTransitionStatus()},Jn.version="19.2.4",Jn}var sb;function qv(){if(sb)return ch.exports;sb=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(r){console.error(r)}}return e(),ch.exports=w2(),ch.exports}var ab;function N2(){if(ab)return Fi;ab=1;var e=j2(),r=Ao(),s=qv();function l(n){var a="https://react.dev/errors/"+n;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)a+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+n+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(n){return!(!n||n.nodeType!==1&&n.nodeType!==9&&n.nodeType!==11)}function c(n){var a=n,i=n;if(n.alternate)for(;a.return;)a=a.return;else{n=a;do a=n,(a.flags&4098)!==0&&(i=a.return),n=a.return;while(n)}return a.tag===3?i:null}function u(n){if(n.tag===13){var a=n.memoizedState;if(a===null&&(n=n.alternate,n!==null&&(a=n.memoizedState)),a!==null)return a.dehydrated}return null}function f(n){if(n.tag===31){var a=n.memoizedState;if(a===null&&(n=n.alternate,n!==null&&(a=n.memoizedState)),a!==null)return a.dehydrated}return null}function m(n){if(c(n)!==n)throw Error(l(188))}function h(n){var a=n.alternate;if(!a){if(a=c(n),a===null)throw Error(l(188));return a!==n?null:n}for(var i=n,d=a;;){var y=i.return;if(y===null)break;var v=y.alternate;if(v===null){if(d=y.return,d!==null){i=d;continue}break}if(y.child===v.child){for(v=y.child;v;){if(v===i)return m(y),n;if(v===d)return m(y),a;v=v.sibling}throw Error(l(188))}if(i.return!==d.return)i=y,d=v;else{for(var O=!1,J=y.child;J;){if(J===i){O=!0,i=y,d=v;break}if(J===d){O=!0,d=y,i=v;break}J=J.sibling}if(!O){for(J=v.child;J;){if(J===i){O=!0,i=v,d=y;break}if(J===d){O=!0,d=v,i=y;break}J=J.sibling}if(!O)throw Error(l(189))}}if(i.alternate!==d)throw Error(l(190))}if(i.tag!==3)throw Error(l(188));return i.stateNode.current===i?n:a}function x(n){var a=n.tag;if(a===5||a===26||a===27||a===6)return n;for(n=n.child;n!==null;){if(a=x(n),a!==null)return a;n=n.sibling}return null}var g=Object.assign,b=Symbol.for("react.element"),p=Symbol.for("react.transitional.element"),w=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),T=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),C=Symbol.for("react.consumer"),N=Symbol.for("react.context"),k=Symbol.for("react.forward_ref"),H=Symbol.for("react.suspense"),M=Symbol.for("react.suspense_list"),Y=Symbol.for("react.memo"),$=Symbol.for("react.lazy"),X=Symbol.for("react.activity"),P=Symbol.for("react.memo_cache_sentinel"),U=Symbol.iterator;function V(n){return n===null||typeof n!="object"?null:(n=U&&n[U]||n["@@iterator"],typeof n=="function"?n:null)}var D=Symbol.for("react.client.reference");function A(n){if(n==null)return null;if(typeof n=="function")return n.$$typeof===D?null:n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case S:return"Fragment";case E:return"Profiler";case T:return"StrictMode";case H:return"Suspense";case M:return"SuspenseList";case X:return"Activity"}if(typeof n=="object")switch(n.$$typeof){case w:return"Portal";case N:return n.displayName||"Context";case C:return(n._context.displayName||"Context")+".Consumer";case k:var a=n.render;return n=n.displayName,n||(n=a.displayName||a.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case Y:return a=n.displayName||null,a!==null?a:A(n.type)||"Memo";case $:a=n._payload,n=n._init;try{return A(n(a))}catch{}}return null}var I=Array.isArray,_=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,G=s.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q={pending:!1,data:null,method:null,action:null},K=[],B=-1;function R(n){return{current:n}}function W(n){0>B||(n.current=K[B],K[B]=null,B--)}function z(n,a){B++,K[B]=n.current,n.current=a}var L=R(null),F=R(null),Q=R(null),ne=R(null);function Z(n,a){switch(z(Q,a),z(F,n),z(L,null),a.nodeType){case 9:case 11:n=(n=a.documentElement)&&(n=n.namespaceURI)?v0(n):0;break;default:if(n=a.tagName,a=a.namespaceURI)a=v0(a),n=j0(a,n);else switch(n){case"svg":n=1;break;case"math":n=2;break;default:n=0}}W(L),z(L,n)}function ee(){W(L),W(F),W(Q)}function oe(n){n.memoizedState!==null&&z(ne,n);var a=L.current,i=j0(a,n.type);a!==i&&(z(F,n),z(L,i))}function pe(n){F.current===n&&(W(L),W(F)),ne.current===n&&(W(ne),Hi._currentValue=q)}var Se,Re;function ze(n){if(Se===void 0)try{throw Error()}catch(i){var a=i.stack.trim().match(/\n( *(at )?)/);Se=a&&a[1]||"",Re=-1<i.stack.indexOf(`
2
+ at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
3
+ `+Se+n+Re}var Be=!1;function Xe(n,a){if(!n||Be)return"";Be=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var d={DetermineComponentFrameRoot:function(){try{if(a){var Te=function(){throw Error()};if(Object.defineProperty(Te.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Te,[])}catch(je){var ge=je}Reflect.construct(n,[],Te)}else{try{Te.call()}catch(je){ge=je}n.call(Te.prototype)}}else{try{throw Error()}catch(je){ge=je}(Te=n())&&typeof Te.catch=="function"&&Te.catch(function(){})}}catch(je){if(je&&ge&&typeof je.stack=="string")return[je.stack,ge.stack]}return[null,null]}};d.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var y=Object.getOwnPropertyDescriptor(d.DetermineComponentFrameRoot,"name");y&&y.configurable&&Object.defineProperty(d.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var v=d.DetermineComponentFrameRoot(),O=v[0],J=v[1];if(O&&J){var ae=O.split(`
4
+ `),xe=J.split(`
5
+ `);for(y=d=0;d<ae.length&&!ae[d].includes("DetermineComponentFrameRoot");)d++;for(;y<xe.length&&!xe[y].includes("DetermineComponentFrameRoot");)y++;if(d===ae.length||y===xe.length)for(d=ae.length-1,y=xe.length-1;1<=d&&0<=y&&ae[d]!==xe[y];)y--;for(;1<=d&&0<=y;d--,y--)if(ae[d]!==xe[y]){if(d!==1||y!==1)do if(d--,y--,0>y||ae[d]!==xe[y]){var ke=`
6
+ `+ae[d].replace(" at new "," at ");return n.displayName&&ke.includes("<anonymous>")&&(ke=ke.replace("<anonymous>",n.displayName)),ke}while(1<=d&&0<=y);break}}}finally{Be=!1,Error.prepareStackTrace=i}return(i=n?n.displayName||n.name:"")?ze(i):""}function _e(n,a){switch(n.tag){case 26:case 27:case 5:return ze(n.type);case 16:return ze("Lazy");case 13:return n.child!==a&&a!==null?ze("Suspense Fallback"):ze("Suspense");case 19:return ze("SuspenseList");case 0:case 15:return Xe(n.type,!1);case 11:return Xe(n.type.render,!1);case 1:return Xe(n.type,!0);case 31:return ze("Activity");default:return""}}function Ye(n){try{var a="",i=null;do a+=_e(n,i),i=n,n=n.return;while(n);return a}catch(d){return`
7
+ Error generating stack: `+d.message+`
8
+ `+d.stack}}var ht=Object.prototype.hasOwnProperty,gt=e.unstable_scheduleCallback,ie=e.unstable_cancelCallback,Le=e.unstable_shouldYield,xt=e.unstable_requestPaint,yt=e.unstable_now,Zt=e.unstable_getCurrentPriorityLevel,ve=e.unstable_ImmediatePriority,Me=e.unstable_UserBlockingPriority,Ue=e.unstable_NormalPriority,et=e.unstable_LowPriority,Ge=e.unstable_IdlePriority,Ht=e.log,_t=e.unstable_setDisableYieldValue,jt=null,vt=null;function he(n){if(typeof Ht=="function"&&_t(n),vt&&typeof vt.setStrictMode=="function")try{vt.setStrictMode(jt,n)}catch{}}var He=Math.clz32?Math.clz32:pt,ft=Math.log,ct=Math.LN2;function pt(n){return n>>>=0,n===0?32:31-(ft(n)/ct|0)|0}var Ot=256,rn=262144,Wt=4194304;function cn(n){var a=n&42;if(a!==0)return a;switch(n&-n){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 n&261888;case 262144:case 524288:case 1048576:case 2097152:return n&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return n&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return n}}function vn(n,a,i){var d=n.pendingLanes;if(d===0)return 0;var y=0,v=n.suspendedLanes,O=n.pingedLanes;n=n.warmLanes;var J=d&134217727;return J!==0?(d=J&~v,d!==0?y=cn(d):(O&=J,O!==0?y=cn(O):i||(i=J&~n,i!==0&&(y=cn(i))))):(J=d&~v,J!==0?y=cn(J):O!==0?y=cn(O):i||(i=d&~n,i!==0&&(y=cn(i)))),y===0?0:a!==0&&a!==y&&(a&v)===0&&(v=y&-y,i=a&-a,v>=i||v===32&&(i&4194048)!==0)?a:y}function wt(n,a){return(n.pendingLanes&~(n.suspendedLanes&~n.pingedLanes)&a)===0}function ue(n,a){switch(n){case 1:case 2:case 4:case 8:case 64:return a+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 a+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 te(){var n=Wt;return Wt<<=1,(Wt&62914560)===0&&(Wt=4194304),n}function Ne(n){for(var a=[],i=0;31>i;i++)a.push(n);return a}function De(n,a){n.pendingLanes|=a,a!==268435456&&(n.suspendedLanes=0,n.pingedLanes=0,n.warmLanes=0)}function dt(n,a,i,d,y,v){var O=n.pendingLanes;n.pendingLanes=i,n.suspendedLanes=0,n.pingedLanes=0,n.warmLanes=0,n.expiredLanes&=i,n.entangledLanes&=i,n.errorRecoveryDisabledLanes&=i,n.shellSuspendCounter=0;var J=n.entanglements,ae=n.expirationTimes,xe=n.hiddenUpdates;for(i=O&~i;0<i;){var ke=31-He(i),Te=1<<ke;J[ke]=0,ae[ke]=-1;var ge=xe[ke];if(ge!==null)for(xe[ke]=null,ke=0;ke<ge.length;ke++){var je=ge[ke];je!==null&&(je.lane&=-536870913)}i&=~Te}d!==0&&$e(n,d,0),v!==0&&y===0&&n.tag!==0&&(n.suspendedLanes|=v&~(O&~a))}function $e(n,a,i){n.pendingLanes|=a,n.suspendedLanes&=~a;var d=31-He(a);n.entangledLanes|=a,n.entanglements[d]=n.entanglements[d]|1073741824|i&261930}function Mt(n,a){var i=n.entangledLanes|=a;for(n=n.entanglements;i;){var d=31-He(i),y=1<<d;y&a|n[d]&a&&(n[d]|=a),i&=~y}}function sn(n,a){var i=a&-a;return i=(i&42)!==0?1:hn(i),(i&(n.suspendedLanes|a))!==0?0:i}function hn(n){switch(n){case 2:n=1;break;case 8:n=4;break;case 32:n=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:n=128;break;case 268435456:n=134217728;break;default:n=0}return n}function Dt(n){return n&=-n,2<n?8<n?(n&134217727)!==0?32:268435456:8:2}function Bn(){var n=G.p;return n!==0?n:(n=window.event,n===void 0?32:V0(n.type))}function Hn(n,a){var i=G.p;try{return G.p=n,a()}finally{G.p=i}}var jn=Math.random().toString(36).slice(2),It="__reactFiber$"+jn,yn="__reactProps$"+jn,Pn="__reactContainer$"+jn,ye="__reactEvents$"+jn,Ke="__reactListeners$"+jn,kt="__reactHandles$"+jn,Et="__reactResources$"+jn,wn="__reactMarker$"+jn;function sr(n){delete n[It],delete n[yn],delete n[ye],delete n[Ke],delete n[kt]}function ar(n){var a=n[It];if(a)return a;for(var i=n.parentNode;i;){if(a=i[Pn]||i[It]){if(i=a.alternate,a.child!==null||i!==null&&i.child!==null)for(n=T0(n);n!==null;){if(i=n[It])return i;n=T0(n)}return a}n=i,i=n.parentNode}return null}function Dr(n){if(n=n[It]||n[Pn]){var a=n.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return n}return null}function Or(n){var a=n.tag;if(a===5||a===26||a===27||a===6)return n.stateNode;throw Error(l(33))}function yr(n){var a=n[Et];return a||(a=n[Et]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function un(n){n[wn]=!0}var Rr=new Set,Ps={};function lr(n,a){ir(n,a),ir(n+"Capture",a)}function ir(n,a){for(Ps[n]=a,n=0;n<a.length;n++)Rr.add(a[n])}var Us=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]*$"),En={},Yr={};function ka(n){return ht.call(Yr,n)?!0:ht.call(En,n)?!1:Us.test(n)?Yr[n]=!0:(En[n]=!0,!1)}function or(n,a,i){if(ka(a))if(i===null)n.removeAttribute(a);else{switch(typeof i){case"undefined":case"function":case"symbol":n.removeAttribute(a);return;case"boolean":var d=a.toLowerCase().slice(0,5);if(d!=="data-"&&d!=="aria-"){n.removeAttribute(a);return}}n.setAttribute(a,""+i)}}function zr(n,a,i){if(i===null)n.removeAttribute(a);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":n.removeAttribute(a);return}n.setAttribute(a,""+i)}}function Fn(n,a,i,d){if(d===null)n.removeAttribute(i);else{switch(typeof d){case"undefined":case"function":case"symbol":case"boolean":n.removeAttribute(i);return}n.setAttributeNS(a,i,""+d)}}function Nn(n){switch(typeof n){case"bigint":case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function vr(n){var a=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function se(n,a,i){var d=Object.getOwnPropertyDescriptor(n.constructor.prototype,a);if(!n.hasOwnProperty(a)&&typeof d<"u"&&typeof d.get=="function"&&typeof d.set=="function"){var y=d.get,v=d.set;return Object.defineProperty(n,a,{configurable:!0,get:function(){return y.call(this)},set:function(O){i=""+O,v.call(this,O)}}),Object.defineProperty(n,a,{enumerable:d.enumerable}),{getValue:function(){return i},setValue:function(O){i=""+O},stopTracking:function(){n._valueTracker=null,delete n[a]}}}}function Oe(n){if(!n._valueTracker){var a=vr(n)?"checked":"value";n._valueTracker=se(n,a,""+n[a])}}function qe(n){if(!n)return!1;var a=n._valueTracker;if(!a)return!0;var i=a.getValue(),d="";return n&&(d=vr(n)?n.checked?"true":"false":n.value),n=d,n!==i?(a.setValue(n),!0):!1}function re(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}var be=/[\n"\\]/g;function we(n){return n.replace(be,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function Ee(n,a,i,d,y,v,O,J){n.name="",O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"?n.type=O:n.removeAttribute("type"),a!=null?O==="number"?(a===0&&n.value===""||n.value!=a)&&(n.value=""+Nn(a)):n.value!==""+Nn(a)&&(n.value=""+Nn(a)):O!=="submit"&&O!=="reset"||n.removeAttribute("value"),a!=null?Pe(n,O,Nn(a)):i!=null?Pe(n,O,Nn(i)):d!=null&&n.removeAttribute("value"),y==null&&v!=null&&(n.defaultChecked=!!v),y!=null&&(n.checked=y&&typeof y!="function"&&typeof y!="symbol"),J!=null&&typeof J!="function"&&typeof J!="symbol"&&typeof J!="boolean"?n.name=""+Nn(J):n.removeAttribute("name")}function Ae(n,a,i,d,y,v,O,J){if(v!=null&&typeof v!="function"&&typeof v!="symbol"&&typeof v!="boolean"&&(n.type=v),a!=null||i!=null){if(!(v!=="submit"&&v!=="reset"||a!=null)){Oe(n);return}i=i!=null?""+Nn(i):"",a=a!=null?""+Nn(a):i,J||a===n.value||(n.value=a),n.defaultValue=a}d=d??y,d=typeof d!="function"&&typeof d!="symbol"&&!!d,n.checked=J?n.checked:!!d,n.defaultChecked=!!d,O!=null&&typeof O!="function"&&typeof O!="symbol"&&typeof O!="boolean"&&(n.name=O),Oe(n)}function Pe(n,a,i){a==="number"&&re(n.ownerDocument)===n||n.defaultValue===""+i||(n.defaultValue=""+i)}function Ve(n,a,i,d){if(n=n.options,a){a={};for(var y=0;y<i.length;y++)a["$"+i[y]]=!0;for(i=0;i<n.length;i++)y=a.hasOwnProperty("$"+n[i].value),n[i].selected!==y&&(n[i].selected=y),y&&d&&(n[i].defaultSelected=!0)}else{for(i=""+Nn(i),a=null,y=0;y<n.length;y++){if(n[y].value===i){n[y].selected=!0,d&&(n[y].defaultSelected=!0);return}a!==null||n[y].disabled||(a=n[y])}a!==null&&(a.selected=!0)}}function mt(n,a,i){if(a!=null&&(a=""+Nn(a),a!==n.value&&(n.value=a),i==null)){n.defaultValue!==a&&(n.defaultValue=a);return}n.defaultValue=i!=null?""+Nn(i):""}function st(n,a,i,d){if(a==null){if(d!=null){if(i!=null)throw Error(l(92));if(I(d)){if(1<d.length)throw Error(l(93));d=d[0]}i=d}i==null&&(i=""),a=i}i=Nn(a),n.defaultValue=i,d=n.textContent,d===i&&d!==""&&d!==null&&(n.value=d),Oe(n)}function nt(n,a){if(a){var i=n.firstChild;if(i&&i===n.lastChild&&i.nodeType===3){i.nodeValue=a;return}}n.textContent=a}var Tt=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 Ft(n,a,i){var d=a.indexOf("--")===0;i==null||typeof i=="boolean"||i===""?d?n.setProperty(a,""):a==="float"?n.cssFloat="":n[a]="":d?n.setProperty(a,i):typeof i!="number"||i===0||Tt.has(a)?a==="float"?n.cssFloat=i:n[a]=(""+i).trim():n[a]=i+"px"}function Kn(n,a,i){if(a!=null&&typeof a!="object")throw Error(l(62));if(n=n.style,i!=null){for(var d in i)!i.hasOwnProperty(d)||a!=null&&a.hasOwnProperty(d)||(d.indexOf("--")===0?n.setProperty(d,""):d==="float"?n.cssFloat="":n[d]="");for(var y in a)d=a[y],a.hasOwnProperty(y)&&i[y]!==d&&Ft(n,y,d)}else for(var v in a)a.hasOwnProperty(v)&&Ft(n,v,a[v])}function Je(n){if(n.indexOf("-")===-1)return!1;switch(n){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 At=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"]]),ut=/^[\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 Ze(n){return ut.test(""+n)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":n}function Fe(){}var at=null;function it(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var an=null,Un=null;function nl(n){var a=Dr(n);if(a&&(n=a.stateNode)){var i=n[yn]||null;e:switch(n=a.stateNode,a.type){case"input":if(Ee(n,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name),a=i.name,i.type==="radio"&&a!=null){for(i=n;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll('input[name="'+we(""+a)+'"][type="radio"]'),a=0;a<i.length;a++){var d=i[a];if(d!==n&&d.form===n.form){var y=d[yn]||null;if(!y)throw Error(l(90));Ee(d,y.value,y.defaultValue,y.defaultValue,y.checked,y.defaultChecked,y.type,y.name)}}for(a=0;a<i.length;a++)d=i[a],d.form===n.form&&qe(d)}break e;case"textarea":mt(n,i.value,i.defaultValue);break e;case"select":a=i.value,a!=null&&Ve(n,!!i.multiple,a,!1)}}}var ni=!1;function vx(n,a,i){if(ni)return n(a,i);ni=!0;try{var d=n(a);return d}finally{if(ni=!1,(an!==null||Un!==null)&&(Sc(),an&&(a=an,n=Un,Un=an=null,nl(a),n)))for(a=0;a<n.length;a++)nl(n[a])}}function ri(n,a){var i=n.stateNode;if(i===null)return null;var d=i[yn]||null;if(d===null)return null;i=d[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(d=!d.disabled)||(n=n.type,d=!(n==="button"||n==="input"||n==="select"||n==="textarea")),n=!d;break e;default:n=!1}if(n)return null;if(i&&typeof i!="function")throw Error(l(231,a,typeof i));return i}var ps=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),rd=!1;if(ps)try{var si={};Object.defineProperty(si,"passive",{get:function(){rd=!0}}),window.addEventListener("test",si,si),window.removeEventListener("test",si,si)}catch{rd=!1}var qs=null,sd=null,Bo=null;function jx(){if(Bo)return Bo;var n,a=sd,i=a.length,d,y="value"in qs?qs.value:qs.textContent,v=y.length;for(n=0;n<i&&a[n]===y[n];n++);var O=i-n;for(d=1;d<=O&&a[i-d]===y[v-d];d++);return Bo=y.slice(n,1<d?1-d:void 0)}function Ho(n){var a=n.keyCode;return"charCode"in n?(n=n.charCode,n===0&&a===13&&(n=13)):n=a,n===10&&(n=13),32<=n||n===13?n:0}function Po(){return!0}function wx(){return!1}function cr(n){function a(i,d,y,v,O){this._reactName=i,this._targetInst=y,this.type=d,this.nativeEvent=v,this.target=O,this.currentTarget=null;for(var J in n)n.hasOwnProperty(J)&&(i=n[J],this[J]=i?i(v):v[J]);return this.isDefaultPrevented=(v.defaultPrevented!=null?v.defaultPrevented:v.returnValue===!1)?Po:wx,this.isPropagationStopped=wx,this}return g(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=Po)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Po)},persist:function(){},isPersistent:Po}),a}var Sa={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(n){return n.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Uo=cr(Sa),ai=g({},Sa,{view:0,detail:0}),mN=cr(ai),ad,ld,li,qo=g({},ai,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:od,button:0,buttons:0,relatedTarget:function(n){return n.relatedTarget===void 0?n.fromElement===n.srcElement?n.toElement:n.fromElement:n.relatedTarget},movementX:function(n){return"movementX"in n?n.movementX:(n!==li&&(li&&n.type==="mousemove"?(ad=n.screenX-li.screenX,ld=n.screenY-li.screenY):ld=ad=0,li=n),ad)},movementY:function(n){return"movementY"in n?n.movementY:ld}}),Nx=cr(qo),xN=g({},qo,{dataTransfer:0}),gN=cr(xN),pN=g({},ai,{relatedTarget:0}),id=cr(pN),bN=g({},Sa,{animationName:0,elapsedTime:0,pseudoElement:0}),yN=cr(bN),vN=g({},Sa,{clipboardData:function(n){return"clipboardData"in n?n.clipboardData:window.clipboardData}}),jN=cr(vN),wN=g({},Sa,{data:0}),kx=cr(wN),NN={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},kN={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"},SN={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function CN(n){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(n):(n=SN[n])?!!a[n]:!1}function od(){return CN}var EN=g({},ai,{key:function(n){if(n.key){var a=NN[n.key]||n.key;if(a!=="Unidentified")return a}return n.type==="keypress"?(n=Ho(n),n===13?"Enter":String.fromCharCode(n)):n.type==="keydown"||n.type==="keyup"?kN[n.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:od,charCode:function(n){return n.type==="keypress"?Ho(n):0},keyCode:function(n){return n.type==="keydown"||n.type==="keyup"?n.keyCode:0},which:function(n){return n.type==="keypress"?Ho(n):n.type==="keydown"||n.type==="keyup"?n.keyCode:0}}),TN=cr(EN),AN=g({},qo,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Sx=cr(AN),_N=g({},ai,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:od}),MN=cr(_N),DN=g({},Sa,{propertyName:0,elapsedTime:0,pseudoElement:0}),ON=cr(DN),RN=g({},qo,{deltaX:function(n){return"deltaX"in n?n.deltaX:"wheelDeltaX"in n?-n.wheelDeltaX:0},deltaY:function(n){return"deltaY"in n?n.deltaY:"wheelDeltaY"in n?-n.wheelDeltaY:"wheelDelta"in n?-n.wheelDelta:0},deltaZ:0,deltaMode:0}),zN=cr(RN),LN=g({},Sa,{newState:0,oldState:0}),IN=cr(LN),$N=[9,13,27,32],cd=ps&&"CompositionEvent"in window,ii=null;ps&&"documentMode"in document&&(ii=document.documentMode);var BN=ps&&"TextEvent"in window&&!ii,Cx=ps&&(!cd||ii&&8<ii&&11>=ii),Ex=" ",Tx=!1;function Ax(n,a){switch(n){case"keyup":return $N.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function _x(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var rl=!1;function HN(n,a){switch(n){case"compositionend":return _x(a);case"keypress":return a.which!==32?null:(Tx=!0,Ex);case"textInput":return n=a.data,n===Ex&&Tx?null:n;default:return null}}function PN(n,a){if(rl)return n==="compositionend"||!cd&&Ax(n,a)?(n=jx(),Bo=sd=qs=null,rl=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return Cx&&a.locale!=="ko"?null:a.data;default:return null}}var UN={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 Mx(n){var a=n&&n.nodeName&&n.nodeName.toLowerCase();return a==="input"?!!UN[n.type]:a==="textarea"}function Dx(n,a,i,d){an?Un?Un.push(d):Un=[d]:an=d,a=Dc(a,"onChange"),0<a.length&&(i=new Uo("onChange","change",null,i,d),n.push({event:i,listeners:a}))}var oi=null,ci=null;function qN(n){m0(n,0)}function Vo(n){var a=Or(n);if(qe(a))return n}function Ox(n,a){if(n==="change")return a}var Rx=!1;if(ps){var ud;if(ps){var dd="oninput"in document;if(!dd){var zx=document.createElement("div");zx.setAttribute("oninput","return;"),dd=typeof zx.oninput=="function"}ud=dd}else ud=!1;Rx=ud&&(!document.documentMode||9<document.documentMode)}function Lx(){oi&&(oi.detachEvent("onpropertychange",Ix),ci=oi=null)}function Ix(n){if(n.propertyName==="value"&&Vo(ci)){var a=[];Dx(a,ci,n,it(n)),vx(qN,a)}}function VN(n,a,i){n==="focusin"?(Lx(),oi=a,ci=i,oi.attachEvent("onpropertychange",Ix)):n==="focusout"&&Lx()}function FN(n){if(n==="selectionchange"||n==="keyup"||n==="keydown")return Vo(ci)}function YN(n,a){if(n==="click")return Vo(a)}function GN(n,a){if(n==="input"||n==="change")return Vo(a)}function XN(n,a){return n===a&&(n!==0||1/n===1/a)||n!==n&&a!==a}var jr=typeof Object.is=="function"?Object.is:XN;function ui(n,a){if(jr(n,a))return!0;if(typeof n!="object"||n===null||typeof a!="object"||a===null)return!1;var i=Object.keys(n),d=Object.keys(a);if(i.length!==d.length)return!1;for(d=0;d<i.length;d++){var y=i[d];if(!ht.call(a,y)||!jr(n[y],a[y]))return!1}return!0}function $x(n){for(;n&&n.firstChild;)n=n.firstChild;return n}function Bx(n,a){var i=$x(n);n=0;for(var d;i;){if(i.nodeType===3){if(d=n+i.textContent.length,n<=a&&d>=a)return{node:i,offset:a-n};n=d}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=$x(i)}}function Hx(n,a){return n&&a?n===a?!0:n&&n.nodeType===3?!1:a&&a.nodeType===3?Hx(n,a.parentNode):"contains"in n?n.contains(a):n.compareDocumentPosition?!!(n.compareDocumentPosition(a)&16):!1:!1}function Px(n){n=n!=null&&n.ownerDocument!=null&&n.ownerDocument.defaultView!=null?n.ownerDocument.defaultView:window;for(var a=re(n.document);a instanceof n.HTMLIFrameElement;){try{var i=typeof a.contentWindow.location.href=="string"}catch{i=!1}if(i)n=a.contentWindow;else break;a=re(n.document)}return a}function fd(n){var a=n&&n.nodeName&&n.nodeName.toLowerCase();return a&&(a==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||a==="textarea"||n.contentEditable==="true")}var ZN=ps&&"documentMode"in document&&11>=document.documentMode,sl=null,hd=null,di=null,md=!1;function Ux(n,a,i){var d=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;md||sl==null||sl!==re(d)||(d=sl,"selectionStart"in d&&fd(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),di&&ui(di,d)||(di=d,d=Dc(hd,"onSelect"),0<d.length&&(a=new Uo("onSelect","select",null,a,i),n.push({event:a,listeners:d}),a.target=sl)))}function Ca(n,a){var i={};return i[n.toLowerCase()]=a.toLowerCase(),i["Webkit"+n]="webkit"+a,i["Moz"+n]="moz"+a,i}var al={animationend:Ca("Animation","AnimationEnd"),animationiteration:Ca("Animation","AnimationIteration"),animationstart:Ca("Animation","AnimationStart"),transitionrun:Ca("Transition","TransitionRun"),transitionstart:Ca("Transition","TransitionStart"),transitioncancel:Ca("Transition","TransitionCancel"),transitionend:Ca("Transition","TransitionEnd")},xd={},qx={};ps&&(qx=document.createElement("div").style,"AnimationEvent"in window||(delete al.animationend.animation,delete al.animationiteration.animation,delete al.animationstart.animation),"TransitionEvent"in window||delete al.transitionend.transition);function Ea(n){if(xd[n])return xd[n];if(!al[n])return n;var a=al[n],i;for(i in a)if(a.hasOwnProperty(i)&&i in qx)return xd[n]=a[i];return n}var Vx=Ea("animationend"),Fx=Ea("animationiteration"),Yx=Ea("animationstart"),QN=Ea("transitionrun"),KN=Ea("transitionstart"),JN=Ea("transitioncancel"),Gx=Ea("transitionend"),Xx=new Map,gd="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(" ");gd.push("scrollEnd");function Gr(n,a){Xx.set(n,a),lr(a,[n])}var Fo=typeof reportError=="function"?reportError:function(n){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof n=="object"&&n!==null&&typeof n.message=="string"?String(n.message):String(n),error:n});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",n);return}console.error(n)},Lr=[],ll=0,pd=0;function Yo(){for(var n=ll,a=pd=ll=0;a<n;){var i=Lr[a];Lr[a++]=null;var d=Lr[a];Lr[a++]=null;var y=Lr[a];Lr[a++]=null;var v=Lr[a];if(Lr[a++]=null,d!==null&&y!==null){var O=d.pending;O===null?y.next=y:(y.next=O.next,O.next=y),d.pending=y}v!==0&&Zx(i,y,v)}}function Go(n,a,i,d){Lr[ll++]=n,Lr[ll++]=a,Lr[ll++]=i,Lr[ll++]=d,pd|=d,n.lanes|=d,n=n.alternate,n!==null&&(n.lanes|=d)}function bd(n,a,i,d){return Go(n,a,i,d),Xo(n)}function Ta(n,a){return Go(n,null,null,a),Xo(n)}function Zx(n,a,i){n.lanes|=i;var d=n.alternate;d!==null&&(d.lanes|=i);for(var y=!1,v=n.return;v!==null;)v.childLanes|=i,d=v.alternate,d!==null&&(d.childLanes|=i),v.tag===22&&(n=v.stateNode,n===null||n._visibility&1||(y=!0)),n=v,v=v.return;return n.tag===3?(v=n.stateNode,y&&a!==null&&(y=31-He(i),n=v.hiddenUpdates,d=n[y],d===null?n[y]=[a]:d.push(a),a.lane=i|536870912),v):null}function Xo(n){if(50<Oi)throw Oi=0,Tf=null,Error(l(185));for(var a=n.return;a!==null;)n=a,a=n.return;return n.tag===3?n.stateNode:null}var il={};function WN(n,a,i,d){this.tag=n,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=d,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function wr(n,a,i,d){return new WN(n,a,i,d)}function yd(n){return n=n.prototype,!(!n||!n.isReactComponent)}function bs(n,a){var i=n.alternate;return i===null?(i=wr(n.tag,a,n.key,n.mode),i.elementType=n.elementType,i.type=n.type,i.stateNode=n.stateNode,i.alternate=n,n.alternate=i):(i.pendingProps=a,i.type=n.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=n.flags&65011712,i.childLanes=n.childLanes,i.lanes=n.lanes,i.child=n.child,i.memoizedProps=n.memoizedProps,i.memoizedState=n.memoizedState,i.updateQueue=n.updateQueue,a=n.dependencies,i.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},i.sibling=n.sibling,i.index=n.index,i.ref=n.ref,i.refCleanup=n.refCleanup,i}function Qx(n,a){n.flags&=65011714;var i=n.alternate;return i===null?(n.childLanes=0,n.lanes=a,n.child=null,n.subtreeFlags=0,n.memoizedProps=null,n.memoizedState=null,n.updateQueue=null,n.dependencies=null,n.stateNode=null):(n.childLanes=i.childLanes,n.lanes=i.lanes,n.child=i.child,n.subtreeFlags=0,n.deletions=null,n.memoizedProps=i.memoizedProps,n.memoizedState=i.memoizedState,n.updateQueue=i.updateQueue,n.type=i.type,a=i.dependencies,n.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),n}function Zo(n,a,i,d,y,v){var O=0;if(d=n,typeof n=="function")yd(n)&&(O=1);else if(typeof n=="string")O=s2(n,i,L.current)?26:n==="html"||n==="head"||n==="body"?27:5;else e:switch(n){case X:return n=wr(31,i,a,y),n.elementType=X,n.lanes=v,n;case S:return Aa(i.children,y,v,a);case T:O=8,y|=24;break;case E:return n=wr(12,i,a,y|2),n.elementType=E,n.lanes=v,n;case H:return n=wr(13,i,a,y),n.elementType=H,n.lanes=v,n;case M:return n=wr(19,i,a,y),n.elementType=M,n.lanes=v,n;default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case N:O=10;break e;case C:O=9;break e;case k:O=11;break e;case Y:O=14;break e;case $:O=16,d=null;break e}O=29,i=Error(l(130,n===null?"null":typeof n,"")),d=null}return a=wr(O,i,a,y),a.elementType=n,a.type=d,a.lanes=v,a}function Aa(n,a,i,d){return n=wr(7,n,d,a),n.lanes=i,n}function vd(n,a,i){return n=wr(6,n,null,a),n.lanes=i,n}function Kx(n){var a=wr(18,null,null,0);return a.stateNode=n,a}function jd(n,a,i){return a=wr(4,n.children!==null?n.children:[],n.key,a),a.lanes=i,a.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},a}var Jx=new WeakMap;function Ir(n,a){if(typeof n=="object"&&n!==null){var i=Jx.get(n);return i!==void 0?i:(a={value:n,source:a,stack:Ye(a)},Jx.set(n,a),a)}return{value:n,source:a,stack:Ye(a)}}var ol=[],cl=0,Qo=null,fi=0,$r=[],Br=0,Vs=null,rs=1,ss="";function ys(n,a){ol[cl++]=fi,ol[cl++]=Qo,Qo=n,fi=a}function Wx(n,a,i){$r[Br++]=rs,$r[Br++]=ss,$r[Br++]=Vs,Vs=n;var d=rs;n=ss;var y=32-He(d)-1;d&=~(1<<y),i+=1;var v=32-He(a)+y;if(30<v){var O=y-y%5;v=(d&(1<<O)-1).toString(32),d>>=O,y-=O,rs=1<<32-He(a)+y|i<<y|d,ss=v+n}else rs=1<<v|i<<y|d,ss=n}function wd(n){n.return!==null&&(ys(n,1),Wx(n,1,0))}function Nd(n){for(;n===Qo;)Qo=ol[--cl],ol[cl]=null,fi=ol[--cl],ol[cl]=null;for(;n===Vs;)Vs=$r[--Br],$r[Br]=null,ss=$r[--Br],$r[Br]=null,rs=$r[--Br],$r[Br]=null}function eg(n,a){$r[Br++]=rs,$r[Br++]=ss,$r[Br++]=Vs,rs=a.id,ss=a.overflow,Vs=n}var Gn=null,mn=null,Pt=!1,Fs=null,Hr=!1,kd=Error(l(519));function Ys(n){var a=Error(l(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw hi(Ir(a,n)),kd}function tg(n){var a=n.stateNode,i=n.type,d=n.memoizedProps;switch(a[It]=n,a[yn]=d,i){case"dialog":zt("cancel",a),zt("close",a);break;case"iframe":case"object":case"embed":zt("load",a);break;case"video":case"audio":for(i=0;i<zi.length;i++)zt(zi[i],a);break;case"source":zt("error",a);break;case"img":case"image":case"link":zt("error",a),zt("load",a);break;case"details":zt("toggle",a);break;case"input":zt("invalid",a),Ae(a,d.value,d.defaultValue,d.checked,d.defaultChecked,d.type,d.name,!0);break;case"select":zt("invalid",a);break;case"textarea":zt("invalid",a),st(a,d.value,d.defaultValue,d.children)}i=d.children,typeof i!="string"&&typeof i!="number"&&typeof i!="bigint"||a.textContent===""+i||d.suppressHydrationWarning===!0||b0(a.textContent,i)?(d.popover!=null&&(zt("beforetoggle",a),zt("toggle",a)),d.onScroll!=null&&zt("scroll",a),d.onScrollEnd!=null&&zt("scrollend",a),d.onClick!=null&&(a.onclick=Fe),a=!0):a=!1,a||Ys(n,!0)}function ng(n){for(Gn=n.return;Gn;)switch(Gn.tag){case 5:case 31:case 13:Hr=!1;return;case 27:case 3:Hr=!0;return;default:Gn=Gn.return}}function ul(n){if(n!==Gn)return!1;if(!Pt)return ng(n),Pt=!0,!1;var a=n.tag,i;if((i=a!==3&&a!==27)&&((i=a===5)&&(i=n.type,i=!(i!=="form"&&i!=="button")||qf(n.type,n.memoizedProps)),i=!i),i&&mn&&Ys(n),ng(n),a===13){if(n=n.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(l(317));mn=E0(n)}else if(a===31){if(n=n.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(l(317));mn=E0(n)}else a===27?(a=mn,la(n.type)?(n=Xf,Xf=null,mn=n):mn=a):mn=Gn?Ur(n.stateNode.nextSibling):null;return!0}function _a(){mn=Gn=null,Pt=!1}function Sd(){var n=Fs;return n!==null&&(hr===null?hr=n:hr.push.apply(hr,n),Fs=null),n}function hi(n){Fs===null?Fs=[n]:Fs.push(n)}var Cd=R(null),Ma=null,vs=null;function Gs(n,a,i){z(Cd,a._currentValue),a._currentValue=i}function js(n){n._currentValue=Cd.current,W(Cd)}function Ed(n,a,i){for(;n!==null;){var d=n.alternate;if((n.childLanes&a)!==a?(n.childLanes|=a,d!==null&&(d.childLanes|=a)):d!==null&&(d.childLanes&a)!==a&&(d.childLanes|=a),n===i)break;n=n.return}}function Td(n,a,i,d){var y=n.child;for(y!==null&&(y.return=n);y!==null;){var v=y.dependencies;if(v!==null){var O=y.child;v=v.firstContext;e:for(;v!==null;){var J=v;v=y;for(var ae=0;ae<a.length;ae++)if(J.context===a[ae]){v.lanes|=i,J=v.alternate,J!==null&&(J.lanes|=i),Ed(v.return,i,n),d||(O=null);break e}v=J.next}}else if(y.tag===18){if(O=y.return,O===null)throw Error(l(341));O.lanes|=i,v=O.alternate,v!==null&&(v.lanes|=i),Ed(O,i,n),O=null}else O=y.child;if(O!==null)O.return=y;else for(O=y;O!==null;){if(O===n){O=null;break}if(y=O.sibling,y!==null){y.return=O.return,O=y;break}O=O.return}y=O}}function dl(n,a,i,d){n=null;for(var y=a,v=!1;y!==null;){if(!v){if((y.flags&524288)!==0)v=!0;else if((y.flags&262144)!==0)break}if(y.tag===10){var O=y.alternate;if(O===null)throw Error(l(387));if(O=O.memoizedProps,O!==null){var J=y.type;jr(y.pendingProps.value,O.value)||(n!==null?n.push(J):n=[J])}}else if(y===ne.current){if(O=y.alternate,O===null)throw Error(l(387));O.memoizedState.memoizedState!==y.memoizedState.memoizedState&&(n!==null?n.push(Hi):n=[Hi])}y=y.return}n!==null&&Td(a,n,i,d),a.flags|=262144}function Ko(n){for(n=n.firstContext;n!==null;){if(!jr(n.context._currentValue,n.memoizedValue))return!0;n=n.next}return!1}function Da(n){Ma=n,vs=null,n=n.dependencies,n!==null&&(n.firstContext=null)}function Xn(n){return rg(Ma,n)}function Jo(n,a){return Ma===null&&Da(n),rg(n,a)}function rg(n,a){var i=a._currentValue;if(a={context:a,memoizedValue:i,next:null},vs===null){if(n===null)throw Error(l(308));vs=a,n.dependencies={lanes:0,firstContext:a},n.flags|=524288}else vs=vs.next=a;return i}var e5=typeof AbortController<"u"?AbortController:function(){var n=[],a=this.signal={aborted:!1,addEventListener:function(i,d){n.push(d)}};this.abort=function(){a.aborted=!0,n.forEach(function(i){return i()})}},t5=e.unstable_scheduleCallback,n5=e.unstable_NormalPriority,Mn={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ad(){return{controller:new e5,data:new Map,refCount:0}}function mi(n){n.refCount--,n.refCount===0&&t5(n5,function(){n.controller.abort()})}var xi=null,_d=0,fl=0,hl=null;function r5(n,a){if(xi===null){var i=xi=[];_d=0,fl=Rf(),hl={status:"pending",value:void 0,then:function(d){i.push(d)}}}return _d++,a.then(sg,sg),a}function sg(){if(--_d===0&&xi!==null){hl!==null&&(hl.status="fulfilled");var n=xi;xi=null,fl=0,hl=null;for(var a=0;a<n.length;a++)(0,n[a])()}}function s5(n,a){var i=[],d={status:"pending",value:null,reason:null,then:function(y){i.push(y)}};return n.then(function(){d.status="fulfilled",d.value=a;for(var y=0;y<i.length;y++)(0,i[y])(a)},function(y){for(d.status="rejected",d.reason=y,y=0;y<i.length;y++)(0,i[y])(void 0)}),d}var ag=_.S;_.S=function(n,a){Up=yt(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&r5(n,a),ag!==null&&ag(n,a)};var Oa=R(null);function Md(){var n=Oa.current;return n!==null?n:ln.pooledCache}function Wo(n,a){a===null?z(Oa,Oa.current):z(Oa,a.pool)}function lg(){var n=Md();return n===null?null:{parent:Mn._currentValue,pool:n}}var ml=Error(l(460)),Dd=Error(l(474)),ec=Error(l(542)),tc={then:function(){}};function ig(n){return n=n.status,n==="fulfilled"||n==="rejected"}function og(n,a,i){switch(i=n[i],i===void 0?n.push(a):i!==a&&(a.then(Fe,Fe),a=i),a.status){case"fulfilled":return a.value;case"rejected":throw n=a.reason,ug(n),n;default:if(typeof a.status=="string")a.then(Fe,Fe);else{if(n=ln,n!==null&&100<n.shellSuspendCounter)throw Error(l(482));n=a,n.status="pending",n.then(function(d){if(a.status==="pending"){var y=a;y.status="fulfilled",y.value=d}},function(d){if(a.status==="pending"){var y=a;y.status="rejected",y.reason=d}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw n=a.reason,ug(n),n}throw za=a,ml}}function Ra(n){try{var a=n._init;return a(n._payload)}catch(i){throw i!==null&&typeof i=="object"&&typeof i.then=="function"?(za=i,ml):i}}var za=null;function cg(){if(za===null)throw Error(l(459));var n=za;return za=null,n}function ug(n){if(n===ml||n===ec)throw Error(l(483))}var xl=null,gi=0;function nc(n){var a=gi;return gi+=1,xl===null&&(xl=[]),og(xl,n,a)}function pi(n,a){a=a.props.ref,n.ref=a!==void 0?a:null}function rc(n,a){throw a.$$typeof===b?Error(l(525)):(n=Object.prototype.toString.call(a),Error(l(31,n==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":n)))}function dg(n){function a(de,ce){if(n){var me=de.deletions;me===null?(de.deletions=[ce],de.flags|=16):me.push(ce)}}function i(de,ce){if(!n)return null;for(;ce!==null;)a(de,ce),ce=ce.sibling;return null}function d(de){for(var ce=new Map;de!==null;)de.key!==null?ce.set(de.key,de):ce.set(de.index,de),de=de.sibling;return ce}function y(de,ce){return de=bs(de,ce),de.index=0,de.sibling=null,de}function v(de,ce,me){return de.index=me,n?(me=de.alternate,me!==null?(me=me.index,me<ce?(de.flags|=67108866,ce):me):(de.flags|=67108866,ce)):(de.flags|=1048576,ce)}function O(de){return n&&de.alternate===null&&(de.flags|=67108866),de}function J(de,ce,me,Ce){return ce===null||ce.tag!==6?(ce=vd(me,de.mode,Ce),ce.return=de,ce):(ce=y(ce,me),ce.return=de,ce)}function ae(de,ce,me,Ce){var rt=me.type;return rt===S?ke(de,ce,me.props.children,Ce,me.key):ce!==null&&(ce.elementType===rt||typeof rt=="object"&&rt!==null&&rt.$$typeof===$&&Ra(rt)===ce.type)?(ce=y(ce,me.props),pi(ce,me),ce.return=de,ce):(ce=Zo(me.type,me.key,me.props,null,de.mode,Ce),pi(ce,me),ce.return=de,ce)}function xe(de,ce,me,Ce){return ce===null||ce.tag!==4||ce.stateNode.containerInfo!==me.containerInfo||ce.stateNode.implementation!==me.implementation?(ce=jd(me,de.mode,Ce),ce.return=de,ce):(ce=y(ce,me.children||[]),ce.return=de,ce)}function ke(de,ce,me,Ce,rt){return ce===null||ce.tag!==7?(ce=Aa(me,de.mode,Ce,rt),ce.return=de,ce):(ce=y(ce,me),ce.return=de,ce)}function Te(de,ce,me){if(typeof ce=="string"&&ce!==""||typeof ce=="number"||typeof ce=="bigint")return ce=vd(""+ce,de.mode,me),ce.return=de,ce;if(typeof ce=="object"&&ce!==null){switch(ce.$$typeof){case p:return me=Zo(ce.type,ce.key,ce.props,null,de.mode,me),pi(me,ce),me.return=de,me;case w:return ce=jd(ce,de.mode,me),ce.return=de,ce;case $:return ce=Ra(ce),Te(de,ce,me)}if(I(ce)||V(ce))return ce=Aa(ce,de.mode,me,null),ce.return=de,ce;if(typeof ce.then=="function")return Te(de,nc(ce),me);if(ce.$$typeof===N)return Te(de,Jo(de,ce),me);rc(de,ce)}return null}function ge(de,ce,me,Ce){var rt=ce!==null?ce.key:null;if(typeof me=="string"&&me!==""||typeof me=="number"||typeof me=="bigint")return rt!==null?null:J(de,ce,""+me,Ce);if(typeof me=="object"&&me!==null){switch(me.$$typeof){case p:return me.key===rt?ae(de,ce,me,Ce):null;case w:return me.key===rt?xe(de,ce,me,Ce):null;case $:return me=Ra(me),ge(de,ce,me,Ce)}if(I(me)||V(me))return rt!==null?null:ke(de,ce,me,Ce,null);if(typeof me.then=="function")return ge(de,ce,nc(me),Ce);if(me.$$typeof===N)return ge(de,ce,Jo(de,me),Ce);rc(de,me)}return null}function je(de,ce,me,Ce,rt){if(typeof Ce=="string"&&Ce!==""||typeof Ce=="number"||typeof Ce=="bigint")return de=de.get(me)||null,J(ce,de,""+Ce,rt);if(typeof Ce=="object"&&Ce!==null){switch(Ce.$$typeof){case p:return de=de.get(Ce.key===null?me:Ce.key)||null,ae(ce,de,Ce,rt);case w:return de=de.get(Ce.key===null?me:Ce.key)||null,xe(ce,de,Ce,rt);case $:return Ce=Ra(Ce),je(de,ce,me,Ce,rt)}if(I(Ce)||V(Ce))return de=de.get(me)||null,ke(ce,de,Ce,rt,null);if(typeof Ce.then=="function")return je(de,ce,me,nc(Ce),rt);if(Ce.$$typeof===N)return je(de,ce,me,Jo(ce,Ce),rt);rc(ce,Ce)}return null}function Qe(de,ce,me,Ce){for(var rt=null,Yt=null,We=ce,St=ce=0,Bt=null;We!==null&&St<me.length;St++){We.index>St?(Bt=We,We=null):Bt=We.sibling;var Gt=ge(de,We,me[St],Ce);if(Gt===null){We===null&&(We=Bt);break}n&&We&&Gt.alternate===null&&a(de,We),ce=v(Gt,ce,St),Yt===null?rt=Gt:Yt.sibling=Gt,Yt=Gt,We=Bt}if(St===me.length)return i(de,We),Pt&&ys(de,St),rt;if(We===null){for(;St<me.length;St++)We=Te(de,me[St],Ce),We!==null&&(ce=v(We,ce,St),Yt===null?rt=We:Yt.sibling=We,Yt=We);return Pt&&ys(de,St),rt}for(We=d(We);St<me.length;St++)Bt=je(We,de,St,me[St],Ce),Bt!==null&&(n&&Bt.alternate!==null&&We.delete(Bt.key===null?St:Bt.key),ce=v(Bt,ce,St),Yt===null?rt=Bt:Yt.sibling=Bt,Yt=Bt);return n&&We.forEach(function(da){return a(de,da)}),Pt&&ys(de,St),rt}function ot(de,ce,me,Ce){if(me==null)throw Error(l(151));for(var rt=null,Yt=null,We=ce,St=ce=0,Bt=null,Gt=me.next();We!==null&&!Gt.done;St++,Gt=me.next()){We.index>St?(Bt=We,We=null):Bt=We.sibling;var da=ge(de,We,Gt.value,Ce);if(da===null){We===null&&(We=Bt);break}n&&We&&da.alternate===null&&a(de,We),ce=v(da,ce,St),Yt===null?rt=da:Yt.sibling=da,Yt=da,We=Bt}if(Gt.done)return i(de,We),Pt&&ys(de,St),rt;if(We===null){for(;!Gt.done;St++,Gt=me.next())Gt=Te(de,Gt.value,Ce),Gt!==null&&(ce=v(Gt,ce,St),Yt===null?rt=Gt:Yt.sibling=Gt,Yt=Gt);return Pt&&ys(de,St),rt}for(We=d(We);!Gt.done;St++,Gt=me.next())Gt=je(We,de,St,Gt.value,Ce),Gt!==null&&(n&&Gt.alternate!==null&&We.delete(Gt.key===null?St:Gt.key),ce=v(Gt,ce,St),Yt===null?rt=Gt:Yt.sibling=Gt,Yt=Gt);return n&&We.forEach(function(x2){return a(de,x2)}),Pt&&ys(de,St),rt}function nn(de,ce,me,Ce){if(typeof me=="object"&&me!==null&&me.type===S&&me.key===null&&(me=me.props.children),typeof me=="object"&&me!==null){switch(me.$$typeof){case p:e:{for(var rt=me.key;ce!==null;){if(ce.key===rt){if(rt=me.type,rt===S){if(ce.tag===7){i(de,ce.sibling),Ce=y(ce,me.props.children),Ce.return=de,de=Ce;break e}}else if(ce.elementType===rt||typeof rt=="object"&&rt!==null&&rt.$$typeof===$&&Ra(rt)===ce.type){i(de,ce.sibling),Ce=y(ce,me.props),pi(Ce,me),Ce.return=de,de=Ce;break e}i(de,ce);break}else a(de,ce);ce=ce.sibling}me.type===S?(Ce=Aa(me.props.children,de.mode,Ce,me.key),Ce.return=de,de=Ce):(Ce=Zo(me.type,me.key,me.props,null,de.mode,Ce),pi(Ce,me),Ce.return=de,de=Ce)}return O(de);case w:e:{for(rt=me.key;ce!==null;){if(ce.key===rt)if(ce.tag===4&&ce.stateNode.containerInfo===me.containerInfo&&ce.stateNode.implementation===me.implementation){i(de,ce.sibling),Ce=y(ce,me.children||[]),Ce.return=de,de=Ce;break e}else{i(de,ce);break}else a(de,ce);ce=ce.sibling}Ce=jd(me,de.mode,Ce),Ce.return=de,de=Ce}return O(de);case $:return me=Ra(me),nn(de,ce,me,Ce)}if(I(me))return Qe(de,ce,me,Ce);if(V(me)){if(rt=V(me),typeof rt!="function")throw Error(l(150));return me=rt.call(me),ot(de,ce,me,Ce)}if(typeof me.then=="function")return nn(de,ce,nc(me),Ce);if(me.$$typeof===N)return nn(de,ce,Jo(de,me),Ce);rc(de,me)}return typeof me=="string"&&me!==""||typeof me=="number"||typeof me=="bigint"?(me=""+me,ce!==null&&ce.tag===6?(i(de,ce.sibling),Ce=y(ce,me),Ce.return=de,de=Ce):(i(de,ce),Ce=vd(me,de.mode,Ce),Ce.return=de,de=Ce),O(de)):i(de,ce)}return function(de,ce,me,Ce){try{gi=0;var rt=nn(de,ce,me,Ce);return xl=null,rt}catch(We){if(We===ml||We===ec)throw We;var Yt=wr(29,We,null,de.mode);return Yt.lanes=Ce,Yt.return=de,Yt}}}var La=dg(!0),fg=dg(!1),Xs=!1;function Od(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Rd(n,a){n=n.updateQueue,a.updateQueue===n&&(a.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,callbacks:null})}function Zs(n){return{lane:n,tag:0,payload:null,callback:null,next:null}}function Qs(n,a,i){var d=n.updateQueue;if(d===null)return null;if(d=d.shared,(Xt&2)!==0){var y=d.pending;return y===null?a.next=a:(a.next=y.next,y.next=a),d.pending=a,a=Xo(n),Zx(n,null,i),a}return Go(n,d,a,i),Xo(n)}function bi(n,a,i){if(a=a.updateQueue,a!==null&&(a=a.shared,(i&4194048)!==0)){var d=a.lanes;d&=n.pendingLanes,i|=d,a.lanes=i,Mt(n,i)}}function zd(n,a){var i=n.updateQueue,d=n.alternate;if(d!==null&&(d=d.updateQueue,i===d)){var y=null,v=null;if(i=i.firstBaseUpdate,i!==null){do{var O={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};v===null?y=v=O:v=v.next=O,i=i.next}while(i!==null);v===null?y=v=a:v=v.next=a}else y=v=a;i={baseState:d.baseState,firstBaseUpdate:y,lastBaseUpdate:v,shared:d.shared,callbacks:d.callbacks},n.updateQueue=i;return}n=i.lastBaseUpdate,n===null?i.firstBaseUpdate=a:n.next=a,i.lastBaseUpdate=a}var Ld=!1;function yi(){if(Ld){var n=hl;if(n!==null)throw n}}function vi(n,a,i,d){Ld=!1;var y=n.updateQueue;Xs=!1;var v=y.firstBaseUpdate,O=y.lastBaseUpdate,J=y.shared.pending;if(J!==null){y.shared.pending=null;var ae=J,xe=ae.next;ae.next=null,O===null?v=xe:O.next=xe,O=ae;var ke=n.alternate;ke!==null&&(ke=ke.updateQueue,J=ke.lastBaseUpdate,J!==O&&(J===null?ke.firstBaseUpdate=xe:J.next=xe,ke.lastBaseUpdate=ae))}if(v!==null){var Te=y.baseState;O=0,ke=xe=ae=null,J=v;do{var ge=J.lane&-536870913,je=ge!==J.lane;if(je?($t&ge)===ge:(d&ge)===ge){ge!==0&&ge===fl&&(Ld=!0),ke!==null&&(ke=ke.next={lane:0,tag:J.tag,payload:J.payload,callback:null,next:null});e:{var Qe=n,ot=J;ge=a;var nn=i;switch(ot.tag){case 1:if(Qe=ot.payload,typeof Qe=="function"){Te=Qe.call(nn,Te,ge);break e}Te=Qe;break e;case 3:Qe.flags=Qe.flags&-65537|128;case 0:if(Qe=ot.payload,ge=typeof Qe=="function"?Qe.call(nn,Te,ge):Qe,ge==null)break e;Te=g({},Te,ge);break e;case 2:Xs=!0}}ge=J.callback,ge!==null&&(n.flags|=64,je&&(n.flags|=8192),je=y.callbacks,je===null?y.callbacks=[ge]:je.push(ge))}else je={lane:ge,tag:J.tag,payload:J.payload,callback:J.callback,next:null},ke===null?(xe=ke=je,ae=Te):ke=ke.next=je,O|=ge;if(J=J.next,J===null){if(J=y.shared.pending,J===null)break;je=J,J=je.next,je.next=null,y.lastBaseUpdate=je,y.shared.pending=null}}while(!0);ke===null&&(ae=Te),y.baseState=ae,y.firstBaseUpdate=xe,y.lastBaseUpdate=ke,v===null&&(y.shared.lanes=0),ta|=O,n.lanes=O,n.memoizedState=Te}}function hg(n,a){if(typeof n!="function")throw Error(l(191,n));n.call(a)}function mg(n,a){var i=n.callbacks;if(i!==null)for(n.callbacks=null,n=0;n<i.length;n++)hg(i[n],a)}var gl=R(null),sc=R(0);function xg(n,a){n=_s,z(sc,n),z(gl,a),_s=n|a.baseLanes}function Id(){z(sc,_s),z(gl,gl.current)}function $d(){_s=sc.current,W(gl),W(sc)}var Nr=R(null),Pr=null;function Ks(n){var a=n.alternate;z(Tn,Tn.current&1),z(Nr,n),Pr===null&&(a===null||gl.current!==null||a.memoizedState!==null)&&(Pr=n)}function Bd(n){z(Tn,Tn.current),z(Nr,n),Pr===null&&(Pr=n)}function gg(n){n.tag===22?(z(Tn,Tn.current),z(Nr,n),Pr===null&&(Pr=n)):Js()}function Js(){z(Tn,Tn.current),z(Nr,Nr.current)}function kr(n){W(Nr),Pr===n&&(Pr=null),W(Tn)}var Tn=R(0);function ac(n){for(var a=n;a!==null;){if(a.tag===13){var i=a.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||Yf(i)||Gf(i)))return a}else if(a.tag===19&&(a.memoizedProps.revealOrder==="forwards"||a.memoizedProps.revealOrder==="backwards"||a.memoizedProps.revealOrder==="unstable_legacy-backwards"||a.memoizedProps.revealOrder==="together")){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===n)break;for(;a.sibling===null;){if(a.return===null||a.return===n)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var ws=0,Nt=null,en=null,Dn=null,lc=!1,pl=!1,Ia=!1,ic=0,ji=0,bl=null,a5=0;function kn(){throw Error(l(321))}function Hd(n,a){if(a===null)return!1;for(var i=0;i<a.length&&i<n.length;i++)if(!jr(n[i],a[i]))return!1;return!0}function Pd(n,a,i,d,y,v){return ws=v,Nt=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,_.H=n===null||n.memoizedState===null?Wg:nf,Ia=!1,v=i(d,y),Ia=!1,pl&&(v=bg(a,i,d,y)),pg(n),v}function pg(n){_.H=ki;var a=en!==null&&en.next!==null;if(ws=0,Dn=en=Nt=null,lc=!1,ji=0,bl=null,a)throw Error(l(300));n===null||On||(n=n.dependencies,n!==null&&Ko(n)&&(On=!0))}function bg(n,a,i,d){Nt=n;var y=0;do{if(pl&&(bl=null),ji=0,pl=!1,25<=y)throw Error(l(301));if(y+=1,Dn=en=null,n.updateQueue!=null){var v=n.updateQueue;v.lastEffect=null,v.events=null,v.stores=null,v.memoCache!=null&&(v.memoCache.index=0)}_.H=ep,v=a(i,d)}while(pl);return v}function l5(){var n=_.H,a=n.useState()[0];return a=typeof a.then=="function"?wi(a):a,n=n.useState()[0],(en!==null?en.memoizedState:null)!==n&&(Nt.flags|=1024),a}function Ud(){var n=ic!==0;return ic=0,n}function qd(n,a,i){a.updateQueue=n.updateQueue,a.flags&=-2053,n.lanes&=~i}function Vd(n){if(lc){for(n=n.memoizedState;n!==null;){var a=n.queue;a!==null&&(a.pending=null),n=n.next}lc=!1}ws=0,Dn=en=Nt=null,pl=!1,ji=ic=0,bl=null}function nr(){var n={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Dn===null?Nt.memoizedState=Dn=n:Dn=Dn.next=n,Dn}function An(){if(en===null){var n=Nt.alternate;n=n!==null?n.memoizedState:null}else n=en.next;var a=Dn===null?Nt.memoizedState:Dn.next;if(a!==null)Dn=a,en=n;else{if(n===null)throw Nt.alternate===null?Error(l(467)):Error(l(310));en=n,n={memoizedState:en.memoizedState,baseState:en.baseState,baseQueue:en.baseQueue,queue:en.queue,next:null},Dn===null?Nt.memoizedState=Dn=n:Dn=Dn.next=n}return Dn}function oc(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function wi(n){var a=ji;return ji+=1,bl===null&&(bl=[]),n=og(bl,n,a),a=Nt,(Dn===null?a.memoizedState:Dn.next)===null&&(a=a.alternate,_.H=a===null||a.memoizedState===null?Wg:nf),n}function cc(n){if(n!==null&&typeof n=="object"){if(typeof n.then=="function")return wi(n);if(n.$$typeof===N)return Xn(n)}throw Error(l(438,String(n)))}function Fd(n){var a=null,i=Nt.updateQueue;if(i!==null&&(a=i.memoCache),a==null){var d=Nt.alternate;d!==null&&(d=d.updateQueue,d!==null&&(d=d.memoCache,d!=null&&(a={data:d.data.map(function(y){return y.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),i===null&&(i=oc(),Nt.updateQueue=i),i.memoCache=a,i=a.data[a.index],i===void 0)for(i=a.data[a.index]=Array(n),d=0;d<n;d++)i[d]=P;return a.index++,i}function Ns(n,a){return typeof a=="function"?a(n):a}function uc(n){var a=An();return Yd(a,en,n)}function Yd(n,a,i){var d=n.queue;if(d===null)throw Error(l(311));d.lastRenderedReducer=i;var y=n.baseQueue,v=d.pending;if(v!==null){if(y!==null){var O=y.next;y.next=v.next,v.next=O}a.baseQueue=y=v,d.pending=null}if(v=n.baseState,y===null)n.memoizedState=v;else{a=y.next;var J=O=null,ae=null,xe=a,ke=!1;do{var Te=xe.lane&-536870913;if(Te!==xe.lane?($t&Te)===Te:(ws&Te)===Te){var ge=xe.revertLane;if(ge===0)ae!==null&&(ae=ae.next={lane:0,revertLane:0,gesture:null,action:xe.action,hasEagerState:xe.hasEagerState,eagerState:xe.eagerState,next:null}),Te===fl&&(ke=!0);else if((ws&ge)===ge){xe=xe.next,ge===fl&&(ke=!0);continue}else Te={lane:0,revertLane:xe.revertLane,gesture:null,action:xe.action,hasEagerState:xe.hasEagerState,eagerState:xe.eagerState,next:null},ae===null?(J=ae=Te,O=v):ae=ae.next=Te,Nt.lanes|=ge,ta|=ge;Te=xe.action,Ia&&i(v,Te),v=xe.hasEagerState?xe.eagerState:i(v,Te)}else ge={lane:Te,revertLane:xe.revertLane,gesture:xe.gesture,action:xe.action,hasEagerState:xe.hasEagerState,eagerState:xe.eagerState,next:null},ae===null?(J=ae=ge,O=v):ae=ae.next=ge,Nt.lanes|=Te,ta|=Te;xe=xe.next}while(xe!==null&&xe!==a);if(ae===null?O=v:ae.next=J,!jr(v,n.memoizedState)&&(On=!0,ke&&(i=hl,i!==null)))throw i;n.memoizedState=v,n.baseState=O,n.baseQueue=ae,d.lastRenderedState=v}return y===null&&(d.lanes=0),[n.memoizedState,d.dispatch]}function Gd(n){var a=An(),i=a.queue;if(i===null)throw Error(l(311));i.lastRenderedReducer=n;var d=i.dispatch,y=i.pending,v=a.memoizedState;if(y!==null){i.pending=null;var O=y=y.next;do v=n(v,O.action),O=O.next;while(O!==y);jr(v,a.memoizedState)||(On=!0),a.memoizedState=v,a.baseQueue===null&&(a.baseState=v),i.lastRenderedState=v}return[v,d]}function yg(n,a,i){var d=Nt,y=An(),v=Pt;if(v){if(i===void 0)throw Error(l(407));i=i()}else i=a();var O=!jr((en||y).memoizedState,i);if(O&&(y.memoizedState=i,On=!0),y=y.queue,Qd(wg.bind(null,d,y,n),[n]),y.getSnapshot!==a||O||Dn!==null&&Dn.memoizedState.tag&1){if(d.flags|=2048,yl(9,{destroy:void 0},jg.bind(null,d,y,i,a),null),ln===null)throw Error(l(349));v||(ws&127)!==0||vg(d,a,i)}return i}function vg(n,a,i){n.flags|=16384,n={getSnapshot:a,value:i},a=Nt.updateQueue,a===null?(a=oc(),Nt.updateQueue=a,a.stores=[n]):(i=a.stores,i===null?a.stores=[n]:i.push(n))}function jg(n,a,i,d){a.value=i,a.getSnapshot=d,Ng(a)&&kg(n)}function wg(n,a,i){return i(function(){Ng(a)&&kg(n)})}function Ng(n){var a=n.getSnapshot;n=n.value;try{var i=a();return!jr(n,i)}catch{return!0}}function kg(n){var a=Ta(n,2);a!==null&&mr(a,n,2)}function Xd(n){var a=nr();if(typeof n=="function"){var i=n;if(n=i(),Ia){he(!0);try{i()}finally{he(!1)}}}return a.memoizedState=a.baseState=n,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ns,lastRenderedState:n},a}function Sg(n,a,i,d){return n.baseState=i,Yd(n,en,typeof d=="function"?d:Ns)}function i5(n,a,i,d,y){if(hc(n))throw Error(l(485));if(n=a.action,n!==null){var v={payload:y,action:n,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(O){v.listeners.push(O)}};_.T!==null?i(!0):v.isTransition=!1,d(v),i=a.pending,i===null?(v.next=a.pending=v,Cg(a,v)):(v.next=i.next,a.pending=i.next=v)}}function Cg(n,a){var i=a.action,d=a.payload,y=n.state;if(a.isTransition){var v=_.T,O={};_.T=O;try{var J=i(y,d),ae=_.S;ae!==null&&ae(O,J),Eg(n,a,J)}catch(xe){Zd(n,a,xe)}finally{v!==null&&O.types!==null&&(v.types=O.types),_.T=v}}else try{v=i(y,d),Eg(n,a,v)}catch(xe){Zd(n,a,xe)}}function Eg(n,a,i){i!==null&&typeof i=="object"&&typeof i.then=="function"?i.then(function(d){Tg(n,a,d)},function(d){return Zd(n,a,d)}):Tg(n,a,i)}function Tg(n,a,i){a.status="fulfilled",a.value=i,Ag(a),n.state=i,a=n.pending,a!==null&&(i=a.next,i===a?n.pending=null:(i=i.next,a.next=i,Cg(n,i)))}function Zd(n,a,i){var d=n.pending;if(n.pending=null,d!==null){d=d.next;do a.status="rejected",a.reason=i,Ag(a),a=a.next;while(a!==d)}n.action=null}function Ag(n){n=n.listeners;for(var a=0;a<n.length;a++)(0,n[a])()}function _g(n,a){return a}function Mg(n,a){if(Pt){var i=ln.formState;if(i!==null){e:{var d=Nt;if(Pt){if(mn){t:{for(var y=mn,v=Hr;y.nodeType!==8;){if(!v){y=null;break t}if(y=Ur(y.nextSibling),y===null){y=null;break t}}v=y.data,y=v==="F!"||v==="F"?y:null}if(y){mn=Ur(y.nextSibling),d=y.data==="F!";break e}}Ys(d)}d=!1}d&&(a=i[0])}}return i=nr(),i.memoizedState=i.baseState=a,d={pending:null,lanes:0,dispatch:null,lastRenderedReducer:_g,lastRenderedState:a},i.queue=d,i=Qg.bind(null,Nt,d),d.dispatch=i,d=Xd(!1),v=tf.bind(null,Nt,!1,d.queue),d=nr(),y={state:a,dispatch:null,action:n,pending:null},d.queue=y,i=i5.bind(null,Nt,y,v,i),y.dispatch=i,d.memoizedState=n,[a,i,!1]}function Dg(n){var a=An();return Og(a,en,n)}function Og(n,a,i){if(a=Yd(n,a,_g)[0],n=uc(Ns)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var d=wi(a)}catch(O){throw O===ml?ec:O}else d=a;a=An();var y=a.queue,v=y.dispatch;return i!==a.memoizedState&&(Nt.flags|=2048,yl(9,{destroy:void 0},o5.bind(null,y,i),null)),[d,v,n]}function o5(n,a){n.action=a}function Rg(n){var a=An(),i=en;if(i!==null)return Og(a,i,n);An(),a=a.memoizedState,i=An();var d=i.queue.dispatch;return i.memoizedState=n,[a,d,!1]}function yl(n,a,i,d){return n={tag:n,create:i,deps:d,inst:a,next:null},a=Nt.updateQueue,a===null&&(a=oc(),Nt.updateQueue=a),i=a.lastEffect,i===null?a.lastEffect=n.next=n:(d=i.next,i.next=n,n.next=d,a.lastEffect=n),n}function zg(){return An().memoizedState}function dc(n,a,i,d){var y=nr();Nt.flags|=n,y.memoizedState=yl(1|a,{destroy:void 0},i,d===void 0?null:d)}function fc(n,a,i,d){var y=An();d=d===void 0?null:d;var v=y.memoizedState.inst;en!==null&&d!==null&&Hd(d,en.memoizedState.deps)?y.memoizedState=yl(a,v,i,d):(Nt.flags|=n,y.memoizedState=yl(1|a,v,i,d))}function Lg(n,a){dc(8390656,8,n,a)}function Qd(n,a){fc(2048,8,n,a)}function c5(n){Nt.flags|=4;var a=Nt.updateQueue;if(a===null)a=oc(),Nt.updateQueue=a,a.events=[n];else{var i=a.events;i===null?a.events=[n]:i.push(n)}}function Ig(n){var a=An().memoizedState;return c5({ref:a,nextImpl:n}),function(){if((Xt&2)!==0)throw Error(l(440));return a.impl.apply(void 0,arguments)}}function $g(n,a){return fc(4,2,n,a)}function Bg(n,a){return fc(4,4,n,a)}function Hg(n,a){if(typeof a=="function"){n=n();var i=a(n);return function(){typeof i=="function"?i():a(null)}}if(a!=null)return n=n(),a.current=n,function(){a.current=null}}function Pg(n,a,i){i=i!=null?i.concat([n]):null,fc(4,4,Hg.bind(null,a,n),i)}function Kd(){}function Ug(n,a){var i=An();a=a===void 0?null:a;var d=i.memoizedState;return a!==null&&Hd(a,d[1])?d[0]:(i.memoizedState=[n,a],n)}function qg(n,a){var i=An();a=a===void 0?null:a;var d=i.memoizedState;if(a!==null&&Hd(a,d[1]))return d[0];if(d=n(),Ia){he(!0);try{n()}finally{he(!1)}}return i.memoizedState=[d,a],d}function Jd(n,a,i){return i===void 0||(ws&1073741824)!==0&&($t&261930)===0?n.memoizedState=a:(n.memoizedState=i,n=Vp(),Nt.lanes|=n,ta|=n,i)}function Vg(n,a,i,d){return jr(i,a)?i:gl.current!==null?(n=Jd(n,i,d),jr(n,a)||(On=!0),n):(ws&42)===0||(ws&1073741824)!==0&&($t&261930)===0?(On=!0,n.memoizedState=i):(n=Vp(),Nt.lanes|=n,ta|=n,a)}function Fg(n,a,i,d,y){var v=G.p;G.p=v!==0&&8>v?v:8;var O=_.T,J={};_.T=J,tf(n,!1,a,i);try{var ae=y(),xe=_.S;if(xe!==null&&xe(J,ae),ae!==null&&typeof ae=="object"&&typeof ae.then=="function"){var ke=s5(ae,d);Ni(n,a,ke,Er(n))}else Ni(n,a,d,Er(n))}catch(Te){Ni(n,a,{then:function(){},status:"rejected",reason:Te},Er())}finally{G.p=v,O!==null&&J.types!==null&&(O.types=J.types),_.T=O}}function u5(){}function Wd(n,a,i,d){if(n.tag!==5)throw Error(l(476));var y=Yg(n).queue;Fg(n,y,a,q,i===null?u5:function(){return Gg(n),i(d)})}function Yg(n){var a=n.memoizedState;if(a!==null)return a;a={memoizedState:q,baseState:q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ns,lastRenderedState:q},next:null};var i={};return a.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ns,lastRenderedState:i},next:null},n.memoizedState=a,n=n.alternate,n!==null&&(n.memoizedState=a),a}function Gg(n){var a=Yg(n);a.next===null&&(a=n.alternate.memoizedState),Ni(n,a.next.queue,{},Er())}function ef(){return Xn(Hi)}function Xg(){return An().memoizedState}function Zg(){return An().memoizedState}function d5(n){for(var a=n.return;a!==null;){switch(a.tag){case 24:case 3:var i=Er();n=Zs(i);var d=Qs(a,n,i);d!==null&&(mr(d,a,i),bi(d,a,i)),a={cache:Ad()},n.payload=a;return}a=a.return}}function f5(n,a,i){var d=Er();i={lane:d,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},hc(n)?Kg(a,i):(i=bd(n,a,i,d),i!==null&&(mr(i,n,d),Jg(i,a,d)))}function Qg(n,a,i){var d=Er();Ni(n,a,i,d)}function Ni(n,a,i,d){var y={lane:d,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(hc(n))Kg(a,y);else{var v=n.alternate;if(n.lanes===0&&(v===null||v.lanes===0)&&(v=a.lastRenderedReducer,v!==null))try{var O=a.lastRenderedState,J=v(O,i);if(y.hasEagerState=!0,y.eagerState=J,jr(J,O))return Go(n,a,y,0),ln===null&&Yo(),!1}catch{}if(i=bd(n,a,y,d),i!==null)return mr(i,n,d),Jg(i,a,d),!0}return!1}function tf(n,a,i,d){if(d={lane:2,revertLane:Rf(),gesture:null,action:d,hasEagerState:!1,eagerState:null,next:null},hc(n)){if(a)throw Error(l(479))}else a=bd(n,i,d,2),a!==null&&mr(a,n,2)}function hc(n){var a=n.alternate;return n===Nt||a!==null&&a===Nt}function Kg(n,a){pl=lc=!0;var i=n.pending;i===null?a.next=a:(a.next=i.next,i.next=a),n.pending=a}function Jg(n,a,i){if((i&4194048)!==0){var d=a.lanes;d&=n.pendingLanes,i|=d,a.lanes=i,Mt(n,i)}}var ki={readContext:Xn,use:cc,useCallback:kn,useContext:kn,useEffect:kn,useImperativeHandle:kn,useLayoutEffect:kn,useInsertionEffect:kn,useMemo:kn,useReducer:kn,useRef:kn,useState:kn,useDebugValue:kn,useDeferredValue:kn,useTransition:kn,useSyncExternalStore:kn,useId:kn,useHostTransitionStatus:kn,useFormState:kn,useActionState:kn,useOptimistic:kn,useMemoCache:kn,useCacheRefresh:kn};ki.useEffectEvent=kn;var Wg={readContext:Xn,use:cc,useCallback:function(n,a){return nr().memoizedState=[n,a===void 0?null:a],n},useContext:Xn,useEffect:Lg,useImperativeHandle:function(n,a,i){i=i!=null?i.concat([n]):null,dc(4194308,4,Hg.bind(null,a,n),i)},useLayoutEffect:function(n,a){return dc(4194308,4,n,a)},useInsertionEffect:function(n,a){dc(4,2,n,a)},useMemo:function(n,a){var i=nr();a=a===void 0?null:a;var d=n();if(Ia){he(!0);try{n()}finally{he(!1)}}return i.memoizedState=[d,a],d},useReducer:function(n,a,i){var d=nr();if(i!==void 0){var y=i(a);if(Ia){he(!0);try{i(a)}finally{he(!1)}}}else y=a;return d.memoizedState=d.baseState=y,n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:y},d.queue=n,n=n.dispatch=f5.bind(null,Nt,n),[d.memoizedState,n]},useRef:function(n){var a=nr();return n={current:n},a.memoizedState=n},useState:function(n){n=Xd(n);var a=n.queue,i=Qg.bind(null,Nt,a);return a.dispatch=i,[n.memoizedState,i]},useDebugValue:Kd,useDeferredValue:function(n,a){var i=nr();return Jd(i,n,a)},useTransition:function(){var n=Xd(!1);return n=Fg.bind(null,Nt,n.queue,!0,!1),nr().memoizedState=n,[!1,n]},useSyncExternalStore:function(n,a,i){var d=Nt,y=nr();if(Pt){if(i===void 0)throw Error(l(407));i=i()}else{if(i=a(),ln===null)throw Error(l(349));($t&127)!==0||vg(d,a,i)}y.memoizedState=i;var v={value:i,getSnapshot:a};return y.queue=v,Lg(wg.bind(null,d,v,n),[n]),d.flags|=2048,yl(9,{destroy:void 0},jg.bind(null,d,v,i,a),null),i},useId:function(){var n=nr(),a=ln.identifierPrefix;if(Pt){var i=ss,d=rs;i=(d&~(1<<32-He(d)-1)).toString(32)+i,a="_"+a+"R_"+i,i=ic++,0<i&&(a+="H"+i.toString(32)),a+="_"}else i=a5++,a="_"+a+"r_"+i.toString(32)+"_";return n.memoizedState=a},useHostTransitionStatus:ef,useFormState:Mg,useActionState:Mg,useOptimistic:function(n){var a=nr();a.memoizedState=a.baseState=n;var i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=i,a=tf.bind(null,Nt,!0,i),i.dispatch=a,[n,a]},useMemoCache:Fd,useCacheRefresh:function(){return nr().memoizedState=d5.bind(null,Nt)},useEffectEvent:function(n){var a=nr(),i={impl:n};return a.memoizedState=i,function(){if((Xt&2)!==0)throw Error(l(440));return i.impl.apply(void 0,arguments)}}},nf={readContext:Xn,use:cc,useCallback:Ug,useContext:Xn,useEffect:Qd,useImperativeHandle:Pg,useInsertionEffect:$g,useLayoutEffect:Bg,useMemo:qg,useReducer:uc,useRef:zg,useState:function(){return uc(Ns)},useDebugValue:Kd,useDeferredValue:function(n,a){var i=An();return Vg(i,en.memoizedState,n,a)},useTransition:function(){var n=uc(Ns)[0],a=An().memoizedState;return[typeof n=="boolean"?n:wi(n),a]},useSyncExternalStore:yg,useId:Xg,useHostTransitionStatus:ef,useFormState:Dg,useActionState:Dg,useOptimistic:function(n,a){var i=An();return Sg(i,en,n,a)},useMemoCache:Fd,useCacheRefresh:Zg};nf.useEffectEvent=Ig;var ep={readContext:Xn,use:cc,useCallback:Ug,useContext:Xn,useEffect:Qd,useImperativeHandle:Pg,useInsertionEffect:$g,useLayoutEffect:Bg,useMemo:qg,useReducer:Gd,useRef:zg,useState:function(){return Gd(Ns)},useDebugValue:Kd,useDeferredValue:function(n,a){var i=An();return en===null?Jd(i,n,a):Vg(i,en.memoizedState,n,a)},useTransition:function(){var n=Gd(Ns)[0],a=An().memoizedState;return[typeof n=="boolean"?n:wi(n),a]},useSyncExternalStore:yg,useId:Xg,useHostTransitionStatus:ef,useFormState:Rg,useActionState:Rg,useOptimistic:function(n,a){var i=An();return en!==null?Sg(i,en,n,a):(i.baseState=n,[n,i.queue.dispatch])},useMemoCache:Fd,useCacheRefresh:Zg};ep.useEffectEvent=Ig;function rf(n,a,i,d){a=n.memoizedState,i=i(d,a),i=i==null?a:g({},a,i),n.memoizedState=i,n.lanes===0&&(n.updateQueue.baseState=i)}var sf={enqueueSetState:function(n,a,i){n=n._reactInternals;var d=Er(),y=Zs(d);y.payload=a,i!=null&&(y.callback=i),a=Qs(n,y,d),a!==null&&(mr(a,n,d),bi(a,n,d))},enqueueReplaceState:function(n,a,i){n=n._reactInternals;var d=Er(),y=Zs(d);y.tag=1,y.payload=a,i!=null&&(y.callback=i),a=Qs(n,y,d),a!==null&&(mr(a,n,d),bi(a,n,d))},enqueueForceUpdate:function(n,a){n=n._reactInternals;var i=Er(),d=Zs(i);d.tag=2,a!=null&&(d.callback=a),a=Qs(n,d,i),a!==null&&(mr(a,n,i),bi(a,n,i))}};function tp(n,a,i,d,y,v,O){return n=n.stateNode,typeof n.shouldComponentUpdate=="function"?n.shouldComponentUpdate(d,v,O):a.prototype&&a.prototype.isPureReactComponent?!ui(i,d)||!ui(y,v):!0}function np(n,a,i,d){n=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(i,d),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(i,d),a.state!==n&&sf.enqueueReplaceState(a,a.state,null)}function $a(n,a){var i=a;if("ref"in a){i={};for(var d in a)d!=="ref"&&(i[d]=a[d])}if(n=n.defaultProps){i===a&&(i=g({},i));for(var y in n)i[y]===void 0&&(i[y]=n[y])}return i}function rp(n){Fo(n)}function sp(n){console.error(n)}function ap(n){Fo(n)}function mc(n,a){try{var i=n.onUncaughtError;i(a.value,{componentStack:a.stack})}catch(d){setTimeout(function(){throw d})}}function lp(n,a,i){try{var d=n.onCaughtError;d(i.value,{componentStack:i.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(y){setTimeout(function(){throw y})}}function af(n,a,i){return i=Zs(i),i.tag=3,i.payload={element:null},i.callback=function(){mc(n,a)},i}function ip(n){return n=Zs(n),n.tag=3,n}function op(n,a,i,d){var y=i.type.getDerivedStateFromError;if(typeof y=="function"){var v=d.value;n.payload=function(){return y(v)},n.callback=function(){lp(a,i,d)}}var O=i.stateNode;O!==null&&typeof O.componentDidCatch=="function"&&(n.callback=function(){lp(a,i,d),typeof y!="function"&&(na===null?na=new Set([this]):na.add(this));var J=d.stack;this.componentDidCatch(d.value,{componentStack:J!==null?J:""})})}function h5(n,a,i,d,y){if(i.flags|=32768,d!==null&&typeof d=="object"&&typeof d.then=="function"){if(a=i.alternate,a!==null&&dl(a,i,y,!0),i=Nr.current,i!==null){switch(i.tag){case 31:case 13:return Pr===null?Cc():i.alternate===null&&Sn===0&&(Sn=3),i.flags&=-257,i.flags|=65536,i.lanes=y,d===tc?i.flags|=16384:(a=i.updateQueue,a===null?i.updateQueue=new Set([d]):a.add(d),Mf(n,d,y)),!1;case 22:return i.flags|=65536,d===tc?i.flags|=16384:(a=i.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([d])},i.updateQueue=a):(i=a.retryQueue,i===null?a.retryQueue=new Set([d]):i.add(d)),Mf(n,d,y)),!1}throw Error(l(435,i.tag))}return Mf(n,d,y),Cc(),!1}if(Pt)return a=Nr.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=y,d!==kd&&(n=Error(l(422),{cause:d}),hi(Ir(n,i)))):(d!==kd&&(a=Error(l(423),{cause:d}),hi(Ir(a,i))),n=n.current.alternate,n.flags|=65536,y&=-y,n.lanes|=y,d=Ir(d,i),y=af(n.stateNode,d,y),zd(n,y),Sn!==4&&(Sn=2)),!1;var v=Error(l(520),{cause:d});if(v=Ir(v,i),Di===null?Di=[v]:Di.push(v),Sn!==4&&(Sn=2),a===null)return!0;d=Ir(d,i),i=a;do{switch(i.tag){case 3:return i.flags|=65536,n=y&-y,i.lanes|=n,n=af(i.stateNode,d,n),zd(i,n),!1;case 1:if(a=i.type,v=i.stateNode,(i.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||v!==null&&typeof v.componentDidCatch=="function"&&(na===null||!na.has(v))))return i.flags|=65536,y&=-y,i.lanes|=y,y=ip(y),op(y,n,i,d),zd(i,y),!1}i=i.return}while(i!==null);return!1}var lf=Error(l(461)),On=!1;function Zn(n,a,i,d){a.child=n===null?fg(a,null,i,d):La(a,n.child,i,d)}function cp(n,a,i,d,y){i=i.render;var v=a.ref;if("ref"in d){var O={};for(var J in d)J!=="ref"&&(O[J]=d[J])}else O=d;return Da(a),d=Pd(n,a,i,O,v,y),J=Ud(),n!==null&&!On?(qd(n,a,y),ks(n,a,y)):(Pt&&J&&wd(a),a.flags|=1,Zn(n,a,d,y),a.child)}function up(n,a,i,d,y){if(n===null){var v=i.type;return typeof v=="function"&&!yd(v)&&v.defaultProps===void 0&&i.compare===null?(a.tag=15,a.type=v,dp(n,a,v,d,y)):(n=Zo(i.type,null,d,a,a.mode,y),n.ref=a.ref,n.return=a,a.child=n)}if(v=n.child,!xf(n,y)){var O=v.memoizedProps;if(i=i.compare,i=i!==null?i:ui,i(O,d)&&n.ref===a.ref)return ks(n,a,y)}return a.flags|=1,n=bs(v,d),n.ref=a.ref,n.return=a,a.child=n}function dp(n,a,i,d,y){if(n!==null){var v=n.memoizedProps;if(ui(v,d)&&n.ref===a.ref)if(On=!1,a.pendingProps=d=v,xf(n,y))(n.flags&131072)!==0&&(On=!0);else return a.lanes=n.lanes,ks(n,a,y)}return of(n,a,i,d,y)}function fp(n,a,i,d){var y=d.children,v=n!==null?n.memoizedState:null;if(n===null&&a.stateNode===null&&(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),d.mode==="hidden"){if((a.flags&128)!==0){if(v=v!==null?v.baseLanes|i:i,n!==null){for(d=a.child=n.child,y=0;d!==null;)y=y|d.lanes|d.childLanes,d=d.sibling;d=y&~v}else d=0,a.child=null;return hp(n,a,v,i,d)}if((i&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},n!==null&&Wo(a,v!==null?v.cachePool:null),v!==null?xg(a,v):Id(),gg(a);else return d=a.lanes=536870912,hp(n,a,v!==null?v.baseLanes|i:i,i,d)}else v!==null?(Wo(a,v.cachePool),xg(a,v),Js(),a.memoizedState=null):(n!==null&&Wo(a,null),Id(),Js());return Zn(n,a,y,i),a.child}function Si(n,a){return n!==null&&n.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function hp(n,a,i,d,y){var v=Md();return v=v===null?null:{parent:Mn._currentValue,pool:v},a.memoizedState={baseLanes:i,cachePool:v},n!==null&&Wo(a,null),Id(),gg(a),n!==null&&dl(n,a,d,!0),a.childLanes=y,null}function xc(n,a){return a=pc({mode:a.mode,children:a.children},n.mode),a.ref=n.ref,n.child=a,a.return=n,a}function mp(n,a,i){return La(a,n.child,null,i),n=xc(a,a.pendingProps),n.flags|=2,kr(a),a.memoizedState=null,n}function m5(n,a,i){var d=a.pendingProps,y=(a.flags&128)!==0;if(a.flags&=-129,n===null){if(Pt){if(d.mode==="hidden")return n=xc(a,d),a.lanes=536870912,Si(null,n);if(Bd(a),(n=mn)?(n=C0(n,Hr),n=n!==null&&n.data==="&"?n:null,n!==null&&(a.memoizedState={dehydrated:n,treeContext:Vs!==null?{id:rs,overflow:ss}:null,retryLane:536870912,hydrationErrors:null},i=Kx(n),i.return=a,a.child=i,Gn=a,mn=null)):n=null,n===null)throw Ys(a);return a.lanes=536870912,null}return xc(a,d)}var v=n.memoizedState;if(v!==null){var O=v.dehydrated;if(Bd(a),y)if(a.flags&256)a.flags&=-257,a=mp(n,a,i);else if(a.memoizedState!==null)a.child=n.child,a.flags|=128,a=null;else throw Error(l(558));else if(On||dl(n,a,i,!1),y=(i&n.childLanes)!==0,On||y){if(d=ln,d!==null&&(O=sn(d,i),O!==0&&O!==v.retryLane))throw v.retryLane=O,Ta(n,O),mr(d,n,O),lf;Cc(),a=mp(n,a,i)}else n=v.treeContext,mn=Ur(O.nextSibling),Gn=a,Pt=!0,Fs=null,Hr=!1,n!==null&&eg(a,n),a=xc(a,d),a.flags|=4096;return a}return n=bs(n.child,{mode:d.mode,children:d.children}),n.ref=a.ref,a.child=n,n.return=a,n}function gc(n,a){var i=a.ref;if(i===null)n!==null&&n.ref!==null&&(a.flags|=4194816);else{if(typeof i!="function"&&typeof i!="object")throw Error(l(284));(n===null||n.ref!==i)&&(a.flags|=4194816)}}function of(n,a,i,d,y){return Da(a),i=Pd(n,a,i,d,void 0,y),d=Ud(),n!==null&&!On?(qd(n,a,y),ks(n,a,y)):(Pt&&d&&wd(a),a.flags|=1,Zn(n,a,i,y),a.child)}function xp(n,a,i,d,y,v){return Da(a),a.updateQueue=null,i=bg(a,d,i,y),pg(n),d=Ud(),n!==null&&!On?(qd(n,a,v),ks(n,a,v)):(Pt&&d&&wd(a),a.flags|=1,Zn(n,a,i,v),a.child)}function gp(n,a,i,d,y){if(Da(a),a.stateNode===null){var v=il,O=i.contextType;typeof O=="object"&&O!==null&&(v=Xn(O)),v=new i(d,v),a.memoizedState=v.state!==null&&v.state!==void 0?v.state:null,v.updater=sf,a.stateNode=v,v._reactInternals=a,v=a.stateNode,v.props=d,v.state=a.memoizedState,v.refs={},Od(a),O=i.contextType,v.context=typeof O=="object"&&O!==null?Xn(O):il,v.state=a.memoizedState,O=i.getDerivedStateFromProps,typeof O=="function"&&(rf(a,i,O,d),v.state=a.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof v.getSnapshotBeforeUpdate=="function"||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(O=v.state,typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount(),O!==v.state&&sf.enqueueReplaceState(v,v.state,null),vi(a,d,v,y),yi(),v.state=a.memoizedState),typeof v.componentDidMount=="function"&&(a.flags|=4194308),d=!0}else if(n===null){v=a.stateNode;var J=a.memoizedProps,ae=$a(i,J);v.props=ae;var xe=v.context,ke=i.contextType;O=il,typeof ke=="object"&&ke!==null&&(O=Xn(ke));var Te=i.getDerivedStateFromProps;ke=typeof Te=="function"||typeof v.getSnapshotBeforeUpdate=="function",J=a.pendingProps!==J,ke||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(J||xe!==O)&&np(a,v,d,O),Xs=!1;var ge=a.memoizedState;v.state=ge,vi(a,d,v,y),yi(),xe=a.memoizedState,J||ge!==xe||Xs?(typeof Te=="function"&&(rf(a,i,Te,d),xe=a.memoizedState),(ae=Xs||tp(a,i,ae,d,ge,xe,O))?(ke||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount()),typeof v.componentDidMount=="function"&&(a.flags|=4194308)):(typeof v.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=d,a.memoizedState=xe),v.props=d,v.state=xe,v.context=O,d=ae):(typeof v.componentDidMount=="function"&&(a.flags|=4194308),d=!1)}else{v=a.stateNode,Rd(n,a),O=a.memoizedProps,ke=$a(i,O),v.props=ke,Te=a.pendingProps,ge=v.context,xe=i.contextType,ae=il,typeof xe=="object"&&xe!==null&&(ae=Xn(xe)),J=i.getDerivedStateFromProps,(xe=typeof J=="function"||typeof v.getSnapshotBeforeUpdate=="function")||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(O!==Te||ge!==ae)&&np(a,v,d,ae),Xs=!1,ge=a.memoizedState,v.state=ge,vi(a,d,v,y),yi();var je=a.memoizedState;O!==Te||ge!==je||Xs||n!==null&&n.dependencies!==null&&Ko(n.dependencies)?(typeof J=="function"&&(rf(a,i,J,d),je=a.memoizedState),(ke=Xs||tp(a,i,ke,d,ge,je,ae)||n!==null&&n.dependencies!==null&&Ko(n.dependencies))?(xe||typeof v.UNSAFE_componentWillUpdate!="function"&&typeof v.componentWillUpdate!="function"||(typeof v.componentWillUpdate=="function"&&v.componentWillUpdate(d,je,ae),typeof v.UNSAFE_componentWillUpdate=="function"&&v.UNSAFE_componentWillUpdate(d,je,ae)),typeof v.componentDidUpdate=="function"&&(a.flags|=4),typeof v.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof v.componentDidUpdate!="function"||O===n.memoizedProps&&ge===n.memoizedState||(a.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||O===n.memoizedProps&&ge===n.memoizedState||(a.flags|=1024),a.memoizedProps=d,a.memoizedState=je),v.props=d,v.state=je,v.context=ae,d=ke):(typeof v.componentDidUpdate!="function"||O===n.memoizedProps&&ge===n.memoizedState||(a.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||O===n.memoizedProps&&ge===n.memoizedState||(a.flags|=1024),d=!1)}return v=d,gc(n,a),d=(a.flags&128)!==0,v||d?(v=a.stateNode,i=d&&typeof i.getDerivedStateFromError!="function"?null:v.render(),a.flags|=1,n!==null&&d?(a.child=La(a,n.child,null,y),a.child=La(a,null,i,y)):Zn(n,a,i,y),a.memoizedState=v.state,n=a.child):n=ks(n,a,y),n}function pp(n,a,i,d){return _a(),a.flags|=256,Zn(n,a,i,d),a.child}var cf={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function uf(n){return{baseLanes:n,cachePool:lg()}}function df(n,a,i){return n=n!==null?n.childLanes&~i:0,a&&(n|=Cr),n}function bp(n,a,i){var d=a.pendingProps,y=!1,v=(a.flags&128)!==0,O;if((O=v)||(O=n!==null&&n.memoizedState===null?!1:(Tn.current&2)!==0),O&&(y=!0,a.flags&=-129),O=(a.flags&32)!==0,a.flags&=-33,n===null){if(Pt){if(y?Ks(a):Js(),(n=mn)?(n=C0(n,Hr),n=n!==null&&n.data!=="&"?n:null,n!==null&&(a.memoizedState={dehydrated:n,treeContext:Vs!==null?{id:rs,overflow:ss}:null,retryLane:536870912,hydrationErrors:null},i=Kx(n),i.return=a,a.child=i,Gn=a,mn=null)):n=null,n===null)throw Ys(a);return Gf(n)?a.lanes=32:a.lanes=536870912,null}var J=d.children;return d=d.fallback,y?(Js(),y=a.mode,J=pc({mode:"hidden",children:J},y),d=Aa(d,y,i,null),J.return=a,d.return=a,J.sibling=d,a.child=J,d=a.child,d.memoizedState=uf(i),d.childLanes=df(n,O,i),a.memoizedState=cf,Si(null,d)):(Ks(a),ff(a,J))}var ae=n.memoizedState;if(ae!==null&&(J=ae.dehydrated,J!==null)){if(v)a.flags&256?(Ks(a),a.flags&=-257,a=hf(n,a,i)):a.memoizedState!==null?(Js(),a.child=n.child,a.flags|=128,a=null):(Js(),J=d.fallback,y=a.mode,d=pc({mode:"visible",children:d.children},y),J=Aa(J,y,i,null),J.flags|=2,d.return=a,J.return=a,d.sibling=J,a.child=d,La(a,n.child,null,i),d=a.child,d.memoizedState=uf(i),d.childLanes=df(n,O,i),a.memoizedState=cf,a=Si(null,d));else if(Ks(a),Gf(J)){if(O=J.nextSibling&&J.nextSibling.dataset,O)var xe=O.dgst;O=xe,d=Error(l(419)),d.stack="",d.digest=O,hi({value:d,source:null,stack:null}),a=hf(n,a,i)}else if(On||dl(n,a,i,!1),O=(i&n.childLanes)!==0,On||O){if(O=ln,O!==null&&(d=sn(O,i),d!==0&&d!==ae.retryLane))throw ae.retryLane=d,Ta(n,d),mr(O,n,d),lf;Yf(J)||Cc(),a=hf(n,a,i)}else Yf(J)?(a.flags|=192,a.child=n.child,a=null):(n=ae.treeContext,mn=Ur(J.nextSibling),Gn=a,Pt=!0,Fs=null,Hr=!1,n!==null&&eg(a,n),a=ff(a,d.children),a.flags|=4096);return a}return y?(Js(),J=d.fallback,y=a.mode,ae=n.child,xe=ae.sibling,d=bs(ae,{mode:"hidden",children:d.children}),d.subtreeFlags=ae.subtreeFlags&65011712,xe!==null?J=bs(xe,J):(J=Aa(J,y,i,null),J.flags|=2),J.return=a,d.return=a,d.sibling=J,a.child=d,Si(null,d),d=a.child,J=n.child.memoizedState,J===null?J=uf(i):(y=J.cachePool,y!==null?(ae=Mn._currentValue,y=y.parent!==ae?{parent:ae,pool:ae}:y):y=lg(),J={baseLanes:J.baseLanes|i,cachePool:y}),d.memoizedState=J,d.childLanes=df(n,O,i),a.memoizedState=cf,Si(n.child,d)):(Ks(a),i=n.child,n=i.sibling,i=bs(i,{mode:"visible",children:d.children}),i.return=a,i.sibling=null,n!==null&&(O=a.deletions,O===null?(a.deletions=[n],a.flags|=16):O.push(n)),a.child=i,a.memoizedState=null,i)}function ff(n,a){return a=pc({mode:"visible",children:a},n.mode),a.return=n,n.child=a}function pc(n,a){return n=wr(22,n,null,a),n.lanes=0,n}function hf(n,a,i){return La(a,n.child,null,i),n=ff(a,a.pendingProps.children),n.flags|=2,a.memoizedState=null,n}function yp(n,a,i){n.lanes|=a;var d=n.alternate;d!==null&&(d.lanes|=a),Ed(n.return,a,i)}function mf(n,a,i,d,y,v){var O=n.memoizedState;O===null?n.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:d,tail:i,tailMode:y,treeForkCount:v}:(O.isBackwards=a,O.rendering=null,O.renderingStartTime=0,O.last=d,O.tail=i,O.tailMode=y,O.treeForkCount=v)}function vp(n,a,i){var d=a.pendingProps,y=d.revealOrder,v=d.tail;d=d.children;var O=Tn.current,J=(O&2)!==0;if(J?(O=O&1|2,a.flags|=128):O&=1,z(Tn,O),Zn(n,a,d,i),d=Pt?fi:0,!J&&n!==null&&(n.flags&128)!==0)e:for(n=a.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&yp(n,i,a);else if(n.tag===19)yp(n,i,a);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===a)break e;for(;n.sibling===null;){if(n.return===null||n.return===a)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}switch(y){case"forwards":for(i=a.child,y=null;i!==null;)n=i.alternate,n!==null&&ac(n)===null&&(y=i),i=i.sibling;i=y,i===null?(y=a.child,a.child=null):(y=i.sibling,i.sibling=null),mf(a,!1,y,i,v,d);break;case"backwards":case"unstable_legacy-backwards":for(i=null,y=a.child,a.child=null;y!==null;){if(n=y.alternate,n!==null&&ac(n)===null){a.child=y;break}n=y.sibling,y.sibling=i,i=y,y=n}mf(a,!0,i,null,v,d);break;case"together":mf(a,!1,null,null,void 0,d);break;default:a.memoizedState=null}return a.child}function ks(n,a,i){if(n!==null&&(a.dependencies=n.dependencies),ta|=a.lanes,(i&a.childLanes)===0)if(n!==null){if(dl(n,a,i,!1),(i&a.childLanes)===0)return null}else return null;if(n!==null&&a.child!==n.child)throw Error(l(153));if(a.child!==null){for(n=a.child,i=bs(n,n.pendingProps),a.child=i,i.return=a;n.sibling!==null;)n=n.sibling,i=i.sibling=bs(n,n.pendingProps),i.return=a;i.sibling=null}return a.child}function xf(n,a){return(n.lanes&a)!==0?!0:(n=n.dependencies,!!(n!==null&&Ko(n)))}function x5(n,a,i){switch(a.tag){case 3:Z(a,a.stateNode.containerInfo),Gs(a,Mn,n.memoizedState.cache),_a();break;case 27:case 5:oe(a);break;case 4:Z(a,a.stateNode.containerInfo);break;case 10:Gs(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,Bd(a),null;break;case 13:var d=a.memoizedState;if(d!==null)return d.dehydrated!==null?(Ks(a),a.flags|=128,null):(i&a.child.childLanes)!==0?bp(n,a,i):(Ks(a),n=ks(n,a,i),n!==null?n.sibling:null);Ks(a);break;case 19:var y=(n.flags&128)!==0;if(d=(i&a.childLanes)!==0,d||(dl(n,a,i,!1),d=(i&a.childLanes)!==0),y){if(d)return vp(n,a,i);a.flags|=128}if(y=a.memoizedState,y!==null&&(y.rendering=null,y.tail=null,y.lastEffect=null),z(Tn,Tn.current),d)break;return null;case 22:return a.lanes=0,fp(n,a,i,a.pendingProps);case 24:Gs(a,Mn,n.memoizedState.cache)}return ks(n,a,i)}function jp(n,a,i){if(n!==null)if(n.memoizedProps!==a.pendingProps)On=!0;else{if(!xf(n,i)&&(a.flags&128)===0)return On=!1,x5(n,a,i);On=(n.flags&131072)!==0}else On=!1,Pt&&(a.flags&1048576)!==0&&Wx(a,fi,a.index);switch(a.lanes=0,a.tag){case 16:e:{var d=a.pendingProps;if(n=Ra(a.elementType),a.type=n,typeof n=="function")yd(n)?(d=$a(n,d),a.tag=1,a=gp(null,a,n,d,i)):(a.tag=0,a=of(null,a,n,d,i));else{if(n!=null){var y=n.$$typeof;if(y===k){a.tag=11,a=cp(null,a,n,d,i);break e}else if(y===Y){a.tag=14,a=up(null,a,n,d,i);break e}}throw a=A(n)||n,Error(l(306,a,""))}}return a;case 0:return of(n,a,a.type,a.pendingProps,i);case 1:return d=a.type,y=$a(d,a.pendingProps),gp(n,a,d,y,i);case 3:e:{if(Z(a,a.stateNode.containerInfo),n===null)throw Error(l(387));d=a.pendingProps;var v=a.memoizedState;y=v.element,Rd(n,a),vi(a,d,null,i);var O=a.memoizedState;if(d=O.cache,Gs(a,Mn,d),d!==v.cache&&Td(a,[Mn],i,!0),yi(),d=O.element,v.isDehydrated)if(v={element:d,isDehydrated:!1,cache:O.cache},a.updateQueue.baseState=v,a.memoizedState=v,a.flags&256){a=pp(n,a,d,i);break e}else if(d!==y){y=Ir(Error(l(424)),a),hi(y),a=pp(n,a,d,i);break e}else for(n=a.stateNode.containerInfo,n.nodeType===9?n=n.body:n=n.nodeName==="HTML"?n.ownerDocument.body:n,mn=Ur(n.firstChild),Gn=a,Pt=!0,Fs=null,Hr=!0,i=fg(a,null,d,i),a.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(_a(),d===y){a=ks(n,a,i);break e}Zn(n,a,d,i)}a=a.child}return a;case 26:return gc(n,a),n===null?(i=D0(a.type,null,a.pendingProps,null))?a.memoizedState=i:Pt||(i=a.type,n=a.pendingProps,d=Oc(Q.current).createElement(i),d[It]=a,d[yn]=n,Qn(d,i,n),un(d),a.stateNode=d):a.memoizedState=D0(a.type,n.memoizedProps,a.pendingProps,n.memoizedState),null;case 27:return oe(a),n===null&&Pt&&(d=a.stateNode=A0(a.type,a.pendingProps,Q.current),Gn=a,Hr=!0,y=mn,la(a.type)?(Xf=y,mn=Ur(d.firstChild)):mn=y),Zn(n,a,a.pendingProps.children,i),gc(n,a),n===null&&(a.flags|=4194304),a.child;case 5:return n===null&&Pt&&((y=d=mn)&&(d=F5(d,a.type,a.pendingProps,Hr),d!==null?(a.stateNode=d,Gn=a,mn=Ur(d.firstChild),Hr=!1,y=!0):y=!1),y||Ys(a)),oe(a),y=a.type,v=a.pendingProps,O=n!==null?n.memoizedProps:null,d=v.children,qf(y,v)?d=null:O!==null&&qf(y,O)&&(a.flags|=32),a.memoizedState!==null&&(y=Pd(n,a,l5,null,null,i),Hi._currentValue=y),gc(n,a),Zn(n,a,d,i),a.child;case 6:return n===null&&Pt&&((n=i=mn)&&(i=Y5(i,a.pendingProps,Hr),i!==null?(a.stateNode=i,Gn=a,mn=null,n=!0):n=!1),n||Ys(a)),null;case 13:return bp(n,a,i);case 4:return Z(a,a.stateNode.containerInfo),d=a.pendingProps,n===null?a.child=La(a,null,d,i):Zn(n,a,d,i),a.child;case 11:return cp(n,a,a.type,a.pendingProps,i);case 7:return Zn(n,a,a.pendingProps,i),a.child;case 8:return Zn(n,a,a.pendingProps.children,i),a.child;case 12:return Zn(n,a,a.pendingProps.children,i),a.child;case 10:return d=a.pendingProps,Gs(a,a.type,d.value),Zn(n,a,d.children,i),a.child;case 9:return y=a.type._context,d=a.pendingProps.children,Da(a),y=Xn(y),d=d(y),a.flags|=1,Zn(n,a,d,i),a.child;case 14:return up(n,a,a.type,a.pendingProps,i);case 15:return dp(n,a,a.type,a.pendingProps,i);case 19:return vp(n,a,i);case 31:return m5(n,a,i);case 22:return fp(n,a,i,a.pendingProps);case 24:return Da(a),d=Xn(Mn),n===null?(y=Md(),y===null&&(y=ln,v=Ad(),y.pooledCache=v,v.refCount++,v!==null&&(y.pooledCacheLanes|=i),y=v),a.memoizedState={parent:d,cache:y},Od(a),Gs(a,Mn,y)):((n.lanes&i)!==0&&(Rd(n,a),vi(a,null,null,i),yi()),y=n.memoizedState,v=a.memoizedState,y.parent!==d?(y={parent:d,cache:d},a.memoizedState=y,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=y),Gs(a,Mn,d)):(d=v.cache,Gs(a,Mn,d),d!==y.cache&&Td(a,[Mn],i,!0))),Zn(n,a,a.pendingProps.children,i),a.child;case 29:throw a.pendingProps}throw Error(l(156,a.tag))}function Ss(n){n.flags|=4}function gf(n,a,i,d,y){if((a=(n.mode&32)!==0)&&(a=!1),a){if(n.flags|=16777216,(y&335544128)===y)if(n.stateNode.complete)n.flags|=8192;else if(Xp())n.flags|=8192;else throw za=tc,Dd}else n.flags&=-16777217}function wp(n,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)n.flags&=-16777217;else if(n.flags|=16777216,!I0(a))if(Xp())n.flags|=8192;else throw za=tc,Dd}function bc(n,a){a!==null&&(n.flags|=4),n.flags&16384&&(a=n.tag!==22?te():536870912,n.lanes|=a,Nl|=a)}function Ci(n,a){if(!Pt)switch(n.tailMode){case"hidden":a=n.tail;for(var i=null;a!==null;)a.alternate!==null&&(i=a),a=a.sibling;i===null?n.tail=null:i.sibling=null;break;case"collapsed":i=n.tail;for(var d=null;i!==null;)i.alternate!==null&&(d=i),i=i.sibling;d===null?a||n.tail===null?n.tail=null:n.tail.sibling=null:d.sibling=null}}function xn(n){var a=n.alternate!==null&&n.alternate.child===n.child,i=0,d=0;if(a)for(var y=n.child;y!==null;)i|=y.lanes|y.childLanes,d|=y.subtreeFlags&65011712,d|=y.flags&65011712,y.return=n,y=y.sibling;else for(y=n.child;y!==null;)i|=y.lanes|y.childLanes,d|=y.subtreeFlags,d|=y.flags,y.return=n,y=y.sibling;return n.subtreeFlags|=d,n.childLanes=i,a}function g5(n,a,i){var d=a.pendingProps;switch(Nd(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return xn(a),null;case 1:return xn(a),null;case 3:return i=a.stateNode,d=null,n!==null&&(d=n.memoizedState.cache),a.memoizedState.cache!==d&&(a.flags|=2048),js(Mn),ee(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(n===null||n.child===null)&&(ul(a)?Ss(a):n===null||n.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,Sd())),xn(a),null;case 26:var y=a.type,v=a.memoizedState;return n===null?(Ss(a),v!==null?(xn(a),wp(a,v)):(xn(a),gf(a,y,null,d,i))):v?v!==n.memoizedState?(Ss(a),xn(a),wp(a,v)):(xn(a),a.flags&=-16777217):(n=n.memoizedProps,n!==d&&Ss(a),xn(a),gf(a,y,n,d,i)),null;case 27:if(pe(a),i=Q.current,y=a.type,n!==null&&a.stateNode!=null)n.memoizedProps!==d&&Ss(a);else{if(!d){if(a.stateNode===null)throw Error(l(166));return xn(a),null}n=L.current,ul(a)?tg(a):(n=A0(y,d,i),a.stateNode=n,Ss(a))}return xn(a),null;case 5:if(pe(a),y=a.type,n!==null&&a.stateNode!=null)n.memoizedProps!==d&&Ss(a);else{if(!d){if(a.stateNode===null)throw Error(l(166));return xn(a),null}if(v=L.current,ul(a))tg(a);else{var O=Oc(Q.current);switch(v){case 1:v=O.createElementNS("http://www.w3.org/2000/svg",y);break;case 2:v=O.createElementNS("http://www.w3.org/1998/Math/MathML",y);break;default:switch(y){case"svg":v=O.createElementNS("http://www.w3.org/2000/svg",y);break;case"math":v=O.createElementNS("http://www.w3.org/1998/Math/MathML",y);break;case"script":v=O.createElement("div"),v.innerHTML="<script><\/script>",v=v.removeChild(v.firstChild);break;case"select":v=typeof d.is=="string"?O.createElement("select",{is:d.is}):O.createElement("select"),d.multiple?v.multiple=!0:d.size&&(v.size=d.size);break;default:v=typeof d.is=="string"?O.createElement(y,{is:d.is}):O.createElement(y)}}v[It]=a,v[yn]=d;e:for(O=a.child;O!==null;){if(O.tag===5||O.tag===6)v.appendChild(O.stateNode);else if(O.tag!==4&&O.tag!==27&&O.child!==null){O.child.return=O,O=O.child;continue}if(O===a)break e;for(;O.sibling===null;){if(O.return===null||O.return===a)break e;O=O.return}O.sibling.return=O.return,O=O.sibling}a.stateNode=v;e:switch(Qn(v,y,d),y){case"button":case"input":case"select":case"textarea":d=!!d.autoFocus;break e;case"img":d=!0;break e;default:d=!1}d&&Ss(a)}}return xn(a),gf(a,a.type,n===null?null:n.memoizedProps,a.pendingProps,i),null;case 6:if(n&&a.stateNode!=null)n.memoizedProps!==d&&Ss(a);else{if(typeof d!="string"&&a.stateNode===null)throw Error(l(166));if(n=Q.current,ul(a)){if(n=a.stateNode,i=a.memoizedProps,d=null,y=Gn,y!==null)switch(y.tag){case 27:case 5:d=y.memoizedProps}n[It]=a,n=!!(n.nodeValue===i||d!==null&&d.suppressHydrationWarning===!0||b0(n.nodeValue,i)),n||Ys(a,!0)}else n=Oc(n).createTextNode(d),n[It]=a,a.stateNode=n}return xn(a),null;case 31:if(i=a.memoizedState,n===null||n.memoizedState!==null){if(d=ul(a),i!==null){if(n===null){if(!d)throw Error(l(318));if(n=a.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(l(557));n[It]=a}else _a(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;xn(a),n=!1}else i=Sd(),n!==null&&n.memoizedState!==null&&(n.memoizedState.hydrationErrors=i),n=!0;if(!n)return a.flags&256?(kr(a),a):(kr(a),null);if((a.flags&128)!==0)throw Error(l(558))}return xn(a),null;case 13:if(d=a.memoizedState,n===null||n.memoizedState!==null&&n.memoizedState.dehydrated!==null){if(y=ul(a),d!==null&&d.dehydrated!==null){if(n===null){if(!y)throw Error(l(318));if(y=a.memoizedState,y=y!==null?y.dehydrated:null,!y)throw Error(l(317));y[It]=a}else _a(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;xn(a),y=!1}else y=Sd(),n!==null&&n.memoizedState!==null&&(n.memoizedState.hydrationErrors=y),y=!0;if(!y)return a.flags&256?(kr(a),a):(kr(a),null)}return kr(a),(a.flags&128)!==0?(a.lanes=i,a):(i=d!==null,n=n!==null&&n.memoizedState!==null,i&&(d=a.child,y=null,d.alternate!==null&&d.alternate.memoizedState!==null&&d.alternate.memoizedState.cachePool!==null&&(y=d.alternate.memoizedState.cachePool.pool),v=null,d.memoizedState!==null&&d.memoizedState.cachePool!==null&&(v=d.memoizedState.cachePool.pool),v!==y&&(d.flags|=2048)),i!==n&&i&&(a.child.flags|=8192),bc(a,a.updateQueue),xn(a),null);case 4:return ee(),n===null&&$f(a.stateNode.containerInfo),xn(a),null;case 10:return js(a.type),xn(a),null;case 19:if(W(Tn),d=a.memoizedState,d===null)return xn(a),null;if(y=(a.flags&128)!==0,v=d.rendering,v===null)if(y)Ci(d,!1);else{if(Sn!==0||n!==null&&(n.flags&128)!==0)for(n=a.child;n!==null;){if(v=ac(n),v!==null){for(a.flags|=128,Ci(d,!1),n=v.updateQueue,a.updateQueue=n,bc(a,n),a.subtreeFlags=0,n=i,i=a.child;i!==null;)Qx(i,n),i=i.sibling;return z(Tn,Tn.current&1|2),Pt&&ys(a,d.treeForkCount),a.child}n=n.sibling}d.tail!==null&&yt()>Nc&&(a.flags|=128,y=!0,Ci(d,!1),a.lanes=4194304)}else{if(!y)if(n=ac(v),n!==null){if(a.flags|=128,y=!0,n=n.updateQueue,a.updateQueue=n,bc(a,n),Ci(d,!0),d.tail===null&&d.tailMode==="hidden"&&!v.alternate&&!Pt)return xn(a),null}else 2*yt()-d.renderingStartTime>Nc&&i!==536870912&&(a.flags|=128,y=!0,Ci(d,!1),a.lanes=4194304);d.isBackwards?(v.sibling=a.child,a.child=v):(n=d.last,n!==null?n.sibling=v:a.child=v,d.last=v)}return d.tail!==null?(n=d.tail,d.rendering=n,d.tail=n.sibling,d.renderingStartTime=yt(),n.sibling=null,i=Tn.current,z(Tn,y?i&1|2:i&1),Pt&&ys(a,d.treeForkCount),n):(xn(a),null);case 22:case 23:return kr(a),$d(),d=a.memoizedState!==null,n!==null?n.memoizedState!==null!==d&&(a.flags|=8192):d&&(a.flags|=8192),d?(i&536870912)!==0&&(a.flags&128)===0&&(xn(a),a.subtreeFlags&6&&(a.flags|=8192)):xn(a),i=a.updateQueue,i!==null&&bc(a,i.retryQueue),i=null,n!==null&&n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(i=n.memoizedState.cachePool.pool),d=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(d=a.memoizedState.cachePool.pool),d!==i&&(a.flags|=2048),n!==null&&W(Oa),null;case 24:return i=null,n!==null&&(i=n.memoizedState.cache),a.memoizedState.cache!==i&&(a.flags|=2048),js(Mn),xn(a),null;case 25:return null;case 30:return null}throw Error(l(156,a.tag))}function p5(n,a){switch(Nd(a),a.tag){case 1:return n=a.flags,n&65536?(a.flags=n&-65537|128,a):null;case 3:return js(Mn),ee(),n=a.flags,(n&65536)!==0&&(n&128)===0?(a.flags=n&-65537|128,a):null;case 26:case 27:case 5:return pe(a),null;case 31:if(a.memoizedState!==null){if(kr(a),a.alternate===null)throw Error(l(340));_a()}return n=a.flags,n&65536?(a.flags=n&-65537|128,a):null;case 13:if(kr(a),n=a.memoizedState,n!==null&&n.dehydrated!==null){if(a.alternate===null)throw Error(l(340));_a()}return n=a.flags,n&65536?(a.flags=n&-65537|128,a):null;case 19:return W(Tn),null;case 4:return ee(),null;case 10:return js(a.type),null;case 22:case 23:return kr(a),$d(),n!==null&&W(Oa),n=a.flags,n&65536?(a.flags=n&-65537|128,a):null;case 24:return js(Mn),null;case 25:return null;default:return null}}function Np(n,a){switch(Nd(a),a.tag){case 3:js(Mn),ee();break;case 26:case 27:case 5:pe(a);break;case 4:ee();break;case 31:a.memoizedState!==null&&kr(a);break;case 13:kr(a);break;case 19:W(Tn);break;case 10:js(a.type);break;case 22:case 23:kr(a),$d(),n!==null&&W(Oa);break;case 24:js(Mn)}}function Ei(n,a){try{var i=a.updateQueue,d=i!==null?i.lastEffect:null;if(d!==null){var y=d.next;i=y;do{if((i.tag&n)===n){d=void 0;var v=i.create,O=i.inst;d=v(),O.destroy=d}i=i.next}while(i!==y)}}catch(J){Kt(a,a.return,J)}}function Ws(n,a,i){try{var d=a.updateQueue,y=d!==null?d.lastEffect:null;if(y!==null){var v=y.next;d=v;do{if((d.tag&n)===n){var O=d.inst,J=O.destroy;if(J!==void 0){O.destroy=void 0,y=a;var ae=i,xe=J;try{xe()}catch(ke){Kt(y,ae,ke)}}}d=d.next}while(d!==v)}}catch(ke){Kt(a,a.return,ke)}}function kp(n){var a=n.updateQueue;if(a!==null){var i=n.stateNode;try{mg(a,i)}catch(d){Kt(n,n.return,d)}}}function Sp(n,a,i){i.props=$a(n.type,n.memoizedProps),i.state=n.memoizedState;try{i.componentWillUnmount()}catch(d){Kt(n,a,d)}}function Ti(n,a){try{var i=n.ref;if(i!==null){switch(n.tag){case 26:case 27:case 5:var d=n.stateNode;break;case 30:d=n.stateNode;break;default:d=n.stateNode}typeof i=="function"?n.refCleanup=i(d):i.current=d}}catch(y){Kt(n,a,y)}}function as(n,a){var i=n.ref,d=n.refCleanup;if(i!==null)if(typeof d=="function")try{d()}catch(y){Kt(n,a,y)}finally{n.refCleanup=null,n=n.alternate,n!=null&&(n.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(y){Kt(n,a,y)}else i.current=null}function Cp(n){var a=n.type,i=n.memoizedProps,d=n.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":i.autoFocus&&d.focus();break e;case"img":i.src?d.src=i.src:i.srcSet&&(d.srcset=i.srcSet)}}catch(y){Kt(n,n.return,y)}}function pf(n,a,i){try{var d=n.stateNode;B5(d,n.type,i,a),d[yn]=a}catch(y){Kt(n,n.return,y)}}function Ep(n){return n.tag===5||n.tag===3||n.tag===26||n.tag===27&&la(n.type)||n.tag===4}function bf(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||Ep(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.tag===27&&la(n.type)||n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function yf(n,a,i){var d=n.tag;if(d===5||d===6)n=n.stateNode,a?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(n,a):(a=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,a.appendChild(n),i=i._reactRootContainer,i!=null||a.onclick!==null||(a.onclick=Fe));else if(d!==4&&(d===27&&la(n.type)&&(i=n.stateNode,a=null),n=n.child,n!==null))for(yf(n,a,i),n=n.sibling;n!==null;)yf(n,a,i),n=n.sibling}function yc(n,a,i){var d=n.tag;if(d===5||d===6)n=n.stateNode,a?i.insertBefore(n,a):i.appendChild(n);else if(d!==4&&(d===27&&la(n.type)&&(i=n.stateNode),n=n.child,n!==null))for(yc(n,a,i),n=n.sibling;n!==null;)yc(n,a,i),n=n.sibling}function Tp(n){var a=n.stateNode,i=n.memoizedProps;try{for(var d=n.type,y=a.attributes;y.length;)a.removeAttributeNode(y[0]);Qn(a,d,i),a[It]=n,a[yn]=i}catch(v){Kt(n,n.return,v)}}var Cs=!1,Rn=!1,vf=!1,Ap=typeof WeakSet=="function"?WeakSet:Set,Yn=null;function b5(n,a){if(n=n.containerInfo,Pf=Hc,n=Px(n),fd(n)){if("selectionStart"in n)var i={start:n.selectionStart,end:n.selectionEnd};else e:{i=(i=n.ownerDocument)&&i.defaultView||window;var d=i.getSelection&&i.getSelection();if(d&&d.rangeCount!==0){i=d.anchorNode;var y=d.anchorOffset,v=d.focusNode;d=d.focusOffset;try{i.nodeType,v.nodeType}catch{i=null;break e}var O=0,J=-1,ae=-1,xe=0,ke=0,Te=n,ge=null;t:for(;;){for(var je;Te!==i||y!==0&&Te.nodeType!==3||(J=O+y),Te!==v||d!==0&&Te.nodeType!==3||(ae=O+d),Te.nodeType===3&&(O+=Te.nodeValue.length),(je=Te.firstChild)!==null;)ge=Te,Te=je;for(;;){if(Te===n)break t;if(ge===i&&++xe===y&&(J=O),ge===v&&++ke===d&&(ae=O),(je=Te.nextSibling)!==null)break;Te=ge,ge=Te.parentNode}Te=je}i=J===-1||ae===-1?null:{start:J,end:ae}}else i=null}i=i||{start:0,end:0}}else i=null;for(Uf={focusedElem:n,selectionRange:i},Hc=!1,Yn=a;Yn!==null;)if(a=Yn,n=a.child,(a.subtreeFlags&1028)!==0&&n!==null)n.return=a,Yn=n;else for(;Yn!==null;){switch(a=Yn,v=a.alternate,n=a.flags,a.tag){case 0:if((n&4)!==0&&(n=a.updateQueue,n=n!==null?n.events:null,n!==null))for(i=0;i<n.length;i++)y=n[i],y.ref.impl=y.nextImpl;break;case 11:case 15:break;case 1:if((n&1024)!==0&&v!==null){n=void 0,i=a,y=v.memoizedProps,v=v.memoizedState,d=i.stateNode;try{var Qe=$a(i.type,y);n=d.getSnapshotBeforeUpdate(Qe,v),d.__reactInternalSnapshotBeforeUpdate=n}catch(ot){Kt(i,i.return,ot)}}break;case 3:if((n&1024)!==0){if(n=a.stateNode.containerInfo,i=n.nodeType,i===9)Ff(n);else if(i===1)switch(n.nodeName){case"HEAD":case"HTML":case"BODY":Ff(n);break;default:n.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((n&1024)!==0)throw Error(l(163))}if(n=a.sibling,n!==null){n.return=a.return,Yn=n;break}Yn=a.return}}function _p(n,a,i){var d=i.flags;switch(i.tag){case 0:case 11:case 15:Ts(n,i),d&4&&Ei(5,i);break;case 1:if(Ts(n,i),d&4)if(n=i.stateNode,a===null)try{n.componentDidMount()}catch(O){Kt(i,i.return,O)}else{var y=$a(i.type,a.memoizedProps);a=a.memoizedState;try{n.componentDidUpdate(y,a,n.__reactInternalSnapshotBeforeUpdate)}catch(O){Kt(i,i.return,O)}}d&64&&kp(i),d&512&&Ti(i,i.return);break;case 3:if(Ts(n,i),d&64&&(n=i.updateQueue,n!==null)){if(a=null,i.child!==null)switch(i.child.tag){case 27:case 5:a=i.child.stateNode;break;case 1:a=i.child.stateNode}try{mg(n,a)}catch(O){Kt(i,i.return,O)}}break;case 27:a===null&&d&4&&Tp(i);case 26:case 5:Ts(n,i),a===null&&d&4&&Cp(i),d&512&&Ti(i,i.return);break;case 12:Ts(n,i);break;case 31:Ts(n,i),d&4&&Op(n,i);break;case 13:Ts(n,i),d&4&&Rp(n,i),d&64&&(n=i.memoizedState,n!==null&&(n=n.dehydrated,n!==null&&(i=E5.bind(null,i),G5(n,i))));break;case 22:if(d=i.memoizedState!==null||Cs,!d){a=a!==null&&a.memoizedState!==null||Rn,y=Cs;var v=Rn;Cs=d,(Rn=a)&&!v?As(n,i,(i.subtreeFlags&8772)!==0):Ts(n,i),Cs=y,Rn=v}break;case 30:break;default:Ts(n,i)}}function Mp(n){var a=n.alternate;a!==null&&(n.alternate=null,Mp(a)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(a=n.stateNode,a!==null&&sr(a)),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}var gn=null,ur=!1;function Es(n,a,i){for(i=i.child;i!==null;)Dp(n,a,i),i=i.sibling}function Dp(n,a,i){if(vt&&typeof vt.onCommitFiberUnmount=="function")try{vt.onCommitFiberUnmount(jt,i)}catch{}switch(i.tag){case 26:Rn||as(i,a),Es(n,a,i),i.memoizedState?i.memoizedState.count--:i.stateNode&&(i=i.stateNode,i.parentNode.removeChild(i));break;case 27:Rn||as(i,a);var d=gn,y=ur;la(i.type)&&(gn=i.stateNode,ur=!1),Es(n,a,i),Ii(i.stateNode),gn=d,ur=y;break;case 5:Rn||as(i,a);case 6:if(d=gn,y=ur,gn=null,Es(n,a,i),gn=d,ur=y,gn!==null)if(ur)try{(gn.nodeType===9?gn.body:gn.nodeName==="HTML"?gn.ownerDocument.body:gn).removeChild(i.stateNode)}catch(v){Kt(i,a,v)}else try{gn.removeChild(i.stateNode)}catch(v){Kt(i,a,v)}break;case 18:gn!==null&&(ur?(n=gn,k0(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,i.stateNode),Ml(n)):k0(gn,i.stateNode));break;case 4:d=gn,y=ur,gn=i.stateNode.containerInfo,ur=!0,Es(n,a,i),gn=d,ur=y;break;case 0:case 11:case 14:case 15:Ws(2,i,a),Rn||Ws(4,i,a),Es(n,a,i);break;case 1:Rn||(as(i,a),d=i.stateNode,typeof d.componentWillUnmount=="function"&&Sp(i,a,d)),Es(n,a,i);break;case 21:Es(n,a,i);break;case 22:Rn=(d=Rn)||i.memoizedState!==null,Es(n,a,i),Rn=d;break;default:Es(n,a,i)}}function Op(n,a){if(a.memoizedState===null&&(n=a.alternate,n!==null&&(n=n.memoizedState,n!==null))){n=n.dehydrated;try{Ml(n)}catch(i){Kt(a,a.return,i)}}}function Rp(n,a){if(a.memoizedState===null&&(n=a.alternate,n!==null&&(n=n.memoizedState,n!==null&&(n=n.dehydrated,n!==null))))try{Ml(n)}catch(i){Kt(a,a.return,i)}}function y5(n){switch(n.tag){case 31:case 13:case 19:var a=n.stateNode;return a===null&&(a=n.stateNode=new Ap),a;case 22:return n=n.stateNode,a=n._retryCache,a===null&&(a=n._retryCache=new Ap),a;default:throw Error(l(435,n.tag))}}function vc(n,a){var i=y5(n);a.forEach(function(d){if(!i.has(d)){i.add(d);var y=T5.bind(null,n,d);d.then(y,y)}})}function dr(n,a){var i=a.deletions;if(i!==null)for(var d=0;d<i.length;d++){var y=i[d],v=n,O=a,J=O;e:for(;J!==null;){switch(J.tag){case 27:if(la(J.type)){gn=J.stateNode,ur=!1;break e}break;case 5:gn=J.stateNode,ur=!1;break e;case 3:case 4:gn=J.stateNode.containerInfo,ur=!0;break e}J=J.return}if(gn===null)throw Error(l(160));Dp(v,O,y),gn=null,ur=!1,v=y.alternate,v!==null&&(v.return=null),y.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)zp(a,n),a=a.sibling}var Xr=null;function zp(n,a){var i=n.alternate,d=n.flags;switch(n.tag){case 0:case 11:case 14:case 15:dr(a,n),fr(n),d&4&&(Ws(3,n,n.return),Ei(3,n),Ws(5,n,n.return));break;case 1:dr(a,n),fr(n),d&512&&(Rn||i===null||as(i,i.return)),d&64&&Cs&&(n=n.updateQueue,n!==null&&(d=n.callbacks,d!==null&&(i=n.shared.hiddenCallbacks,n.shared.hiddenCallbacks=i===null?d:i.concat(d))));break;case 26:var y=Xr;if(dr(a,n),fr(n),d&512&&(Rn||i===null||as(i,i.return)),d&4){var v=i!==null?i.memoizedState:null;if(d=n.memoizedState,i===null)if(d===null)if(n.stateNode===null){e:{d=n.type,i=n.memoizedProps,y=y.ownerDocument||y;t:switch(d){case"title":v=y.getElementsByTagName("title")[0],(!v||v[wn]||v[It]||v.namespaceURI==="http://www.w3.org/2000/svg"||v.hasAttribute("itemprop"))&&(v=y.createElement(d),y.head.insertBefore(v,y.querySelector("head > title"))),Qn(v,d,i),v[It]=n,un(v),d=v;break e;case"link":var O=z0("link","href",y).get(d+(i.href||""));if(O){for(var J=0;J<O.length;J++)if(v=O[J],v.getAttribute("href")===(i.href==null||i.href===""?null:i.href)&&v.getAttribute("rel")===(i.rel==null?null:i.rel)&&v.getAttribute("title")===(i.title==null?null:i.title)&&v.getAttribute("crossorigin")===(i.crossOrigin==null?null:i.crossOrigin)){O.splice(J,1);break t}}v=y.createElement(d),Qn(v,d,i),y.head.appendChild(v);break;case"meta":if(O=z0("meta","content",y).get(d+(i.content||""))){for(J=0;J<O.length;J++)if(v=O[J],v.getAttribute("content")===(i.content==null?null:""+i.content)&&v.getAttribute("name")===(i.name==null?null:i.name)&&v.getAttribute("property")===(i.property==null?null:i.property)&&v.getAttribute("http-equiv")===(i.httpEquiv==null?null:i.httpEquiv)&&v.getAttribute("charset")===(i.charSet==null?null:i.charSet)){O.splice(J,1);break t}}v=y.createElement(d),Qn(v,d,i),y.head.appendChild(v);break;default:throw Error(l(468,d))}v[It]=n,un(v),d=v}n.stateNode=d}else L0(y,n.type,n.stateNode);else n.stateNode=R0(y,d,n.memoizedProps);else v!==d?(v===null?i.stateNode!==null&&(i=i.stateNode,i.parentNode.removeChild(i)):v.count--,d===null?L0(y,n.type,n.stateNode):R0(y,d,n.memoizedProps)):d===null&&n.stateNode!==null&&pf(n,n.memoizedProps,i.memoizedProps)}break;case 27:dr(a,n),fr(n),d&512&&(Rn||i===null||as(i,i.return)),i!==null&&d&4&&pf(n,n.memoizedProps,i.memoizedProps);break;case 5:if(dr(a,n),fr(n),d&512&&(Rn||i===null||as(i,i.return)),n.flags&32){y=n.stateNode;try{nt(y,"")}catch(Qe){Kt(n,n.return,Qe)}}d&4&&n.stateNode!=null&&(y=n.memoizedProps,pf(n,y,i!==null?i.memoizedProps:y)),d&1024&&(vf=!0);break;case 6:if(dr(a,n),fr(n),d&4){if(n.stateNode===null)throw Error(l(162));d=n.memoizedProps,i=n.stateNode;try{i.nodeValue=d}catch(Qe){Kt(n,n.return,Qe)}}break;case 3:if(Lc=null,y=Xr,Xr=Rc(a.containerInfo),dr(a,n),Xr=y,fr(n),d&4&&i!==null&&i.memoizedState.isDehydrated)try{Ml(a.containerInfo)}catch(Qe){Kt(n,n.return,Qe)}vf&&(vf=!1,Lp(n));break;case 4:d=Xr,Xr=Rc(n.stateNode.containerInfo),dr(a,n),fr(n),Xr=d;break;case 12:dr(a,n),fr(n);break;case 31:dr(a,n),fr(n),d&4&&(d=n.updateQueue,d!==null&&(n.updateQueue=null,vc(n,d)));break;case 13:dr(a,n),fr(n),n.child.flags&8192&&n.memoizedState!==null!=(i!==null&&i.memoizedState!==null)&&(wc=yt()),d&4&&(d=n.updateQueue,d!==null&&(n.updateQueue=null,vc(n,d)));break;case 22:y=n.memoizedState!==null;var ae=i!==null&&i.memoizedState!==null,xe=Cs,ke=Rn;if(Cs=xe||y,Rn=ke||ae,dr(a,n),Rn=ke,Cs=xe,fr(n),d&8192)e:for(a=n.stateNode,a._visibility=y?a._visibility&-2:a._visibility|1,y&&(i===null||ae||Cs||Rn||Ba(n)),i=null,a=n;;){if(a.tag===5||a.tag===26){if(i===null){ae=i=a;try{if(v=ae.stateNode,y)O=v.style,typeof O.setProperty=="function"?O.setProperty("display","none","important"):O.display="none";else{J=ae.stateNode;var Te=ae.memoizedProps.style,ge=Te!=null&&Te.hasOwnProperty("display")?Te.display:null;J.style.display=ge==null||typeof ge=="boolean"?"":(""+ge).trim()}}catch(Qe){Kt(ae,ae.return,Qe)}}}else if(a.tag===6){if(i===null){ae=a;try{ae.stateNode.nodeValue=y?"":ae.memoizedProps}catch(Qe){Kt(ae,ae.return,Qe)}}}else if(a.tag===18){if(i===null){ae=a;try{var je=ae.stateNode;y?S0(je,!0):S0(ae.stateNode,!1)}catch(Qe){Kt(ae,ae.return,Qe)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===n)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===n)break e;for(;a.sibling===null;){if(a.return===null||a.return===n)break e;i===a&&(i=null),a=a.return}i===a&&(i=null),a.sibling.return=a.return,a=a.sibling}d&4&&(d=n.updateQueue,d!==null&&(i=d.retryQueue,i!==null&&(d.retryQueue=null,vc(n,i))));break;case 19:dr(a,n),fr(n),d&4&&(d=n.updateQueue,d!==null&&(n.updateQueue=null,vc(n,d)));break;case 30:break;case 21:break;default:dr(a,n),fr(n)}}function fr(n){var a=n.flags;if(a&2){try{for(var i,d=n.return;d!==null;){if(Ep(d)){i=d;break}d=d.return}if(i==null)throw Error(l(160));switch(i.tag){case 27:var y=i.stateNode,v=bf(n);yc(n,v,y);break;case 5:var O=i.stateNode;i.flags&32&&(nt(O,""),i.flags&=-33);var J=bf(n);yc(n,J,O);break;case 3:case 4:var ae=i.stateNode.containerInfo,xe=bf(n);yf(n,xe,ae);break;default:throw Error(l(161))}}catch(ke){Kt(n,n.return,ke)}n.flags&=-3}a&4096&&(n.flags&=-4097)}function Lp(n){if(n.subtreeFlags&1024)for(n=n.child;n!==null;){var a=n;Lp(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),n=n.sibling}}function Ts(n,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)_p(n,a.alternate,a),a=a.sibling}function Ba(n){for(n=n.child;n!==null;){var a=n;switch(a.tag){case 0:case 11:case 14:case 15:Ws(4,a,a.return),Ba(a);break;case 1:as(a,a.return);var i=a.stateNode;typeof i.componentWillUnmount=="function"&&Sp(a,a.return,i),Ba(a);break;case 27:Ii(a.stateNode);case 26:case 5:as(a,a.return),Ba(a);break;case 22:a.memoizedState===null&&Ba(a);break;case 30:Ba(a);break;default:Ba(a)}n=n.sibling}}function As(n,a,i){for(i=i&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var d=a.alternate,y=n,v=a,O=v.flags;switch(v.tag){case 0:case 11:case 15:As(y,v,i),Ei(4,v);break;case 1:if(As(y,v,i),d=v,y=d.stateNode,typeof y.componentDidMount=="function")try{y.componentDidMount()}catch(xe){Kt(d,d.return,xe)}if(d=v,y=d.updateQueue,y!==null){var J=d.stateNode;try{var ae=y.shared.hiddenCallbacks;if(ae!==null)for(y.shared.hiddenCallbacks=null,y=0;y<ae.length;y++)hg(ae[y],J)}catch(xe){Kt(d,d.return,xe)}}i&&O&64&&kp(v),Ti(v,v.return);break;case 27:Tp(v);case 26:case 5:As(y,v,i),i&&d===null&&O&4&&Cp(v),Ti(v,v.return);break;case 12:As(y,v,i);break;case 31:As(y,v,i),i&&O&4&&Op(y,v);break;case 13:As(y,v,i),i&&O&4&&Rp(y,v);break;case 22:v.memoizedState===null&&As(y,v,i),Ti(v,v.return);break;case 30:break;default:As(y,v,i)}a=a.sibling}}function jf(n,a){var i=null;n!==null&&n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(i=n.memoizedState.cachePool.pool),n=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(n=a.memoizedState.cachePool.pool),n!==i&&(n!=null&&n.refCount++,i!=null&&mi(i))}function wf(n,a){n=null,a.alternate!==null&&(n=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==n&&(a.refCount++,n!=null&&mi(n))}function Zr(n,a,i,d){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)Ip(n,a,i,d),a=a.sibling}function Ip(n,a,i,d){var y=a.flags;switch(a.tag){case 0:case 11:case 15:Zr(n,a,i,d),y&2048&&Ei(9,a);break;case 1:Zr(n,a,i,d);break;case 3:Zr(n,a,i,d),y&2048&&(n=null,a.alternate!==null&&(n=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==n&&(a.refCount++,n!=null&&mi(n)));break;case 12:if(y&2048){Zr(n,a,i,d),n=a.stateNode;try{var v=a.memoizedProps,O=v.id,J=v.onPostCommit;typeof J=="function"&&J(O,a.alternate===null?"mount":"update",n.passiveEffectDuration,-0)}catch(ae){Kt(a,a.return,ae)}}else Zr(n,a,i,d);break;case 31:Zr(n,a,i,d);break;case 13:Zr(n,a,i,d);break;case 23:break;case 22:v=a.stateNode,O=a.alternate,a.memoizedState!==null?v._visibility&2?Zr(n,a,i,d):Ai(n,a):v._visibility&2?Zr(n,a,i,d):(v._visibility|=2,vl(n,a,i,d,(a.subtreeFlags&10256)!==0||!1)),y&2048&&jf(O,a);break;case 24:Zr(n,a,i,d),y&2048&&wf(a.alternate,a);break;default:Zr(n,a,i,d)}}function vl(n,a,i,d,y){for(y=y&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var v=n,O=a,J=i,ae=d,xe=O.flags;switch(O.tag){case 0:case 11:case 15:vl(v,O,J,ae,y),Ei(8,O);break;case 23:break;case 22:var ke=O.stateNode;O.memoizedState!==null?ke._visibility&2?vl(v,O,J,ae,y):Ai(v,O):(ke._visibility|=2,vl(v,O,J,ae,y)),y&&xe&2048&&jf(O.alternate,O);break;case 24:vl(v,O,J,ae,y),y&&xe&2048&&wf(O.alternate,O);break;default:vl(v,O,J,ae,y)}a=a.sibling}}function Ai(n,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var i=n,d=a,y=d.flags;switch(d.tag){case 22:Ai(i,d),y&2048&&jf(d.alternate,d);break;case 24:Ai(i,d),y&2048&&wf(d.alternate,d);break;default:Ai(i,d)}a=a.sibling}}var _i=8192;function jl(n,a,i){if(n.subtreeFlags&_i)for(n=n.child;n!==null;)$p(n,a,i),n=n.sibling}function $p(n,a,i){switch(n.tag){case 26:jl(n,a,i),n.flags&_i&&n.memoizedState!==null&&a2(i,Xr,n.memoizedState,n.memoizedProps);break;case 5:jl(n,a,i);break;case 3:case 4:var d=Xr;Xr=Rc(n.stateNode.containerInfo),jl(n,a,i),Xr=d;break;case 22:n.memoizedState===null&&(d=n.alternate,d!==null&&d.memoizedState!==null?(d=_i,_i=16777216,jl(n,a,i),_i=d):jl(n,a,i));break;default:jl(n,a,i)}}function Bp(n){var a=n.alternate;if(a!==null&&(n=a.child,n!==null)){a.child=null;do a=n.sibling,n.sibling=null,n=a;while(n!==null)}}function Mi(n){var a=n.deletions;if((n.flags&16)!==0){if(a!==null)for(var i=0;i<a.length;i++){var d=a[i];Yn=d,Pp(d,n)}Bp(n)}if(n.subtreeFlags&10256)for(n=n.child;n!==null;)Hp(n),n=n.sibling}function Hp(n){switch(n.tag){case 0:case 11:case 15:Mi(n),n.flags&2048&&Ws(9,n,n.return);break;case 3:Mi(n);break;case 12:Mi(n);break;case 22:var a=n.stateNode;n.memoizedState!==null&&a._visibility&2&&(n.return===null||n.return.tag!==13)?(a._visibility&=-3,jc(n)):Mi(n);break;default:Mi(n)}}function jc(n){var a=n.deletions;if((n.flags&16)!==0){if(a!==null)for(var i=0;i<a.length;i++){var d=a[i];Yn=d,Pp(d,n)}Bp(n)}for(n=n.child;n!==null;){switch(a=n,a.tag){case 0:case 11:case 15:Ws(8,a,a.return),jc(a);break;case 22:i=a.stateNode,i._visibility&2&&(i._visibility&=-3,jc(a));break;default:jc(a)}n=n.sibling}}function Pp(n,a){for(;Yn!==null;){var i=Yn;switch(i.tag){case 0:case 11:case 15:Ws(8,i,a);break;case 23:case 22:if(i.memoizedState!==null&&i.memoizedState.cachePool!==null){var d=i.memoizedState.cachePool.pool;d!=null&&d.refCount++}break;case 24:mi(i.memoizedState.cache)}if(d=i.child,d!==null)d.return=i,Yn=d;else e:for(i=n;Yn!==null;){d=Yn;var y=d.sibling,v=d.return;if(Mp(d),d===i){Yn=null;break e}if(y!==null){y.return=v,Yn=y;break e}Yn=v}}}var v5={getCacheForType:function(n){var a=Xn(Mn),i=a.data.get(n);return i===void 0&&(i=n(),a.data.set(n,i)),i},cacheSignal:function(){return Xn(Mn).controller.signal}},j5=typeof WeakMap=="function"?WeakMap:Map,Xt=0,ln=null,Rt=null,$t=0,Qt=0,Sr=null,ea=!1,wl=!1,Nf=!1,_s=0,Sn=0,ta=0,Ha=0,kf=0,Cr=0,Nl=0,Di=null,hr=null,Sf=!1,wc=0,Up=0,Nc=1/0,kc=null,na=null,qn=0,ra=null,kl=null,Ms=0,Cf=0,Ef=null,qp=null,Oi=0,Tf=null;function Er(){return(Xt&2)!==0&&$t!==0?$t&-$t:_.T!==null?Rf():Bn()}function Vp(){if(Cr===0)if(($t&536870912)===0||Pt){var n=rn;rn<<=1,(rn&3932160)===0&&(rn=262144),Cr=n}else Cr=536870912;return n=Nr.current,n!==null&&(n.flags|=32),Cr}function mr(n,a,i){(n===ln&&(Qt===2||Qt===9)||n.cancelPendingCommit!==null)&&(Sl(n,0),sa(n,$t,Cr,!1)),De(n,i),((Xt&2)===0||n!==ln)&&(n===ln&&((Xt&2)===0&&(Ha|=i),Sn===4&&sa(n,$t,Cr,!1)),ls(n))}function Fp(n,a,i){if((Xt&6)!==0)throw Error(l(327));var d=!i&&(a&127)===0&&(a&n.expiredLanes)===0||wt(n,a),y=d?k5(n,a):_f(n,a,!0),v=d;do{if(y===0){wl&&!d&&sa(n,a,0,!1);break}else{if(i=n.current.alternate,v&&!w5(i)){y=_f(n,a,!1),v=!1;continue}if(y===2){if(v=a,n.errorRecoveryDisabledLanes&v)var O=0;else O=n.pendingLanes&-536870913,O=O!==0?O:O&536870912?536870912:0;if(O!==0){a=O;e:{var J=n;y=Di;var ae=J.current.memoizedState.isDehydrated;if(ae&&(Sl(J,O).flags|=256),O=_f(J,O,!1),O!==2){if(Nf&&!ae){J.errorRecoveryDisabledLanes|=v,Ha|=v,y=4;break e}v=hr,hr=y,v!==null&&(hr===null?hr=v:hr.push.apply(hr,v))}y=O}if(v=!1,y!==2)continue}}if(y===1){Sl(n,0),sa(n,a,0,!0);break}e:{switch(d=n,v=y,v){case 0:case 1:throw Error(l(345));case 4:if((a&4194048)!==a)break;case 6:sa(d,a,Cr,!ea);break e;case 2:hr=null;break;case 3:case 5:break;default:throw Error(l(329))}if((a&62914560)===a&&(y=wc+300-yt(),10<y)){if(sa(d,a,Cr,!ea),vn(d,0,!0)!==0)break e;Ms=a,d.timeoutHandle=w0(Yp.bind(null,d,i,hr,kc,Sf,a,Cr,Ha,Nl,ea,v,"Throttled",-0,0),y);break e}Yp(d,i,hr,kc,Sf,a,Cr,Ha,Nl,ea,v,null,-0,0)}}break}while(!0);ls(n)}function Yp(n,a,i,d,y,v,O,J,ae,xe,ke,Te,ge,je){if(n.timeoutHandle=-1,Te=a.subtreeFlags,Te&8192||(Te&16785408)===16785408){Te={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Fe},$p(a,v,Te);var Qe=(v&62914560)===v?wc-yt():(v&4194048)===v?Up-yt():0;if(Qe=l2(Te,Qe),Qe!==null){Ms=v,n.cancelPendingCommit=Qe(e0.bind(null,n,a,v,i,d,y,O,J,ae,ke,Te,null,ge,je)),sa(n,v,O,!xe);return}}e0(n,a,v,i,d,y,O,J,ae)}function w5(n){for(var a=n;;){var i=a.tag;if((i===0||i===11||i===15)&&a.flags&16384&&(i=a.updateQueue,i!==null&&(i=i.stores,i!==null)))for(var d=0;d<i.length;d++){var y=i[d],v=y.getSnapshot;y=y.value;try{if(!jr(v(),y))return!1}catch{return!1}}if(i=a.child,a.subtreeFlags&16384&&i!==null)i.return=a,a=i;else{if(a===n)break;for(;a.sibling===null;){if(a.return===null||a.return===n)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function sa(n,a,i,d){a&=~kf,a&=~Ha,n.suspendedLanes|=a,n.pingedLanes&=~a,d&&(n.warmLanes|=a),d=n.expirationTimes;for(var y=a;0<y;){var v=31-He(y),O=1<<v;d[v]=-1,y&=~O}i!==0&&$e(n,i,a)}function Sc(){return(Xt&6)===0?(Ri(0),!1):!0}function Af(){if(Rt!==null){if(Qt===0)var n=Rt.return;else n=Rt,vs=Ma=null,Vd(n),xl=null,gi=0,n=Rt;for(;n!==null;)Np(n.alternate,n),n=n.return;Rt=null}}function Sl(n,a){var i=n.timeoutHandle;i!==-1&&(n.timeoutHandle=-1,U5(i)),i=n.cancelPendingCommit,i!==null&&(n.cancelPendingCommit=null,i()),Ms=0,Af(),ln=n,Rt=i=bs(n.current,null),$t=a,Qt=0,Sr=null,ea=!1,wl=wt(n,a),Nf=!1,Nl=Cr=kf=Ha=ta=Sn=0,hr=Di=null,Sf=!1,(a&8)!==0&&(a|=a&32);var d=n.entangledLanes;if(d!==0)for(n=n.entanglements,d&=a;0<d;){var y=31-He(d),v=1<<y;a|=n[y],d&=~v}return _s=a,Yo(),i}function Gp(n,a){Nt=null,_.H=ki,a===ml||a===ec?(a=cg(),Qt=3):a===Dd?(a=cg(),Qt=4):Qt=a===lf?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,Sr=a,Rt===null&&(Sn=1,mc(n,Ir(a,n.current)))}function Xp(){var n=Nr.current;return n===null?!0:($t&4194048)===$t?Pr===null:($t&62914560)===$t||($t&536870912)!==0?n===Pr:!1}function Zp(){var n=_.H;return _.H=ki,n===null?ki:n}function Qp(){var n=_.A;return _.A=v5,n}function Cc(){Sn=4,ea||($t&4194048)!==$t&&Nr.current!==null||(wl=!0),(ta&134217727)===0&&(Ha&134217727)===0||ln===null||sa(ln,$t,Cr,!1)}function _f(n,a,i){var d=Xt;Xt|=2;var y=Zp(),v=Qp();(ln!==n||$t!==a)&&(kc=null,Sl(n,a)),a=!1;var O=Sn;e:do try{if(Qt!==0&&Rt!==null){var J=Rt,ae=Sr;switch(Qt){case 8:Af(),O=6;break e;case 3:case 2:case 9:case 6:Nr.current===null&&(a=!0);var xe=Qt;if(Qt=0,Sr=null,Cl(n,J,ae,xe),i&&wl){O=0;break e}break;default:xe=Qt,Qt=0,Sr=null,Cl(n,J,ae,xe)}}N5(),O=Sn;break}catch(ke){Gp(n,ke)}while(!0);return a&&n.shellSuspendCounter++,vs=Ma=null,Xt=d,_.H=y,_.A=v,Rt===null&&(ln=null,$t=0,Yo()),O}function N5(){for(;Rt!==null;)Kp(Rt)}function k5(n,a){var i=Xt;Xt|=2;var d=Zp(),y=Qp();ln!==n||$t!==a?(kc=null,Nc=yt()+500,Sl(n,a)):wl=wt(n,a);e:do try{if(Qt!==0&&Rt!==null){a=Rt;var v=Sr;t:switch(Qt){case 1:Qt=0,Sr=null,Cl(n,a,v,1);break;case 2:case 9:if(ig(v)){Qt=0,Sr=null,Jp(a);break}a=function(){Qt!==2&&Qt!==9||ln!==n||(Qt=7),ls(n)},v.then(a,a);break e;case 3:Qt=7;break e;case 4:Qt=5;break e;case 7:ig(v)?(Qt=0,Sr=null,Jp(a)):(Qt=0,Sr=null,Cl(n,a,v,7));break;case 5:var O=null;switch(Rt.tag){case 26:O=Rt.memoizedState;case 5:case 27:var J=Rt;if(O?I0(O):J.stateNode.complete){Qt=0,Sr=null;var ae=J.sibling;if(ae!==null)Rt=ae;else{var xe=J.return;xe!==null?(Rt=xe,Ec(xe)):Rt=null}break t}}Qt=0,Sr=null,Cl(n,a,v,5);break;case 6:Qt=0,Sr=null,Cl(n,a,v,6);break;case 8:Af(),Sn=6;break e;default:throw Error(l(462))}}S5();break}catch(ke){Gp(n,ke)}while(!0);return vs=Ma=null,_.H=d,_.A=y,Xt=i,Rt!==null?0:(ln=null,$t=0,Yo(),Sn)}function S5(){for(;Rt!==null&&!Le();)Kp(Rt)}function Kp(n){var a=jp(n.alternate,n,_s);n.memoizedProps=n.pendingProps,a===null?Ec(n):Rt=a}function Jp(n){var a=n,i=a.alternate;switch(a.tag){case 15:case 0:a=xp(i,a,a.pendingProps,a.type,void 0,$t);break;case 11:a=xp(i,a,a.pendingProps,a.type.render,a.ref,$t);break;case 5:Vd(a);default:Np(i,a),a=Rt=Qx(a,_s),a=jp(i,a,_s)}n.memoizedProps=n.pendingProps,a===null?Ec(n):Rt=a}function Cl(n,a,i,d){vs=Ma=null,Vd(a),xl=null,gi=0;var y=a.return;try{if(h5(n,y,a,i,$t)){Sn=1,mc(n,Ir(i,n.current)),Rt=null;return}}catch(v){if(y!==null)throw Rt=y,v;Sn=1,mc(n,Ir(i,n.current)),Rt=null;return}a.flags&32768?(Pt||d===1?n=!0:wl||($t&536870912)!==0?n=!1:(ea=n=!0,(d===2||d===9||d===3||d===6)&&(d=Nr.current,d!==null&&d.tag===13&&(d.flags|=16384))),Wp(a,n)):Ec(a)}function Ec(n){var a=n;do{if((a.flags&32768)!==0){Wp(a,ea);return}n=a.return;var i=g5(a.alternate,a,_s);if(i!==null){Rt=i;return}if(a=a.sibling,a!==null){Rt=a;return}Rt=a=n}while(a!==null);Sn===0&&(Sn=5)}function Wp(n,a){do{var i=p5(n.alternate,n);if(i!==null){i.flags&=32767,Rt=i;return}if(i=n.return,i!==null&&(i.flags|=32768,i.subtreeFlags=0,i.deletions=null),!a&&(n=n.sibling,n!==null)){Rt=n;return}Rt=n=i}while(n!==null);Sn=6,Rt=null}function e0(n,a,i,d,y,v,O,J,ae){n.cancelPendingCommit=null;do Tc();while(qn!==0);if((Xt&6)!==0)throw Error(l(327));if(a!==null){if(a===n.current)throw Error(l(177));if(v=a.lanes|a.childLanes,v|=pd,dt(n,i,v,O,J,ae),n===ln&&(Rt=ln=null,$t=0),kl=a,ra=n,Ms=i,Cf=v,Ef=y,qp=d,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(n.callbackNode=null,n.callbackPriority=0,A5(Ue,function(){return a0(),null})):(n.callbackNode=null,n.callbackPriority=0),d=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||d){d=_.T,_.T=null,y=G.p,G.p=2,O=Xt,Xt|=4;try{b5(n,a,i)}finally{Xt=O,G.p=y,_.T=d}}qn=1,t0(),n0(),r0()}}function t0(){if(qn===1){qn=0;var n=ra,a=kl,i=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||i){i=_.T,_.T=null;var d=G.p;G.p=2;var y=Xt;Xt|=4;try{zp(a,n);var v=Uf,O=Px(n.containerInfo),J=v.focusedElem,ae=v.selectionRange;if(O!==J&&J&&J.ownerDocument&&Hx(J.ownerDocument.documentElement,J)){if(ae!==null&&fd(J)){var xe=ae.start,ke=ae.end;if(ke===void 0&&(ke=xe),"selectionStart"in J)J.selectionStart=xe,J.selectionEnd=Math.min(ke,J.value.length);else{var Te=J.ownerDocument||document,ge=Te&&Te.defaultView||window;if(ge.getSelection){var je=ge.getSelection(),Qe=J.textContent.length,ot=Math.min(ae.start,Qe),nn=ae.end===void 0?ot:Math.min(ae.end,Qe);!je.extend&&ot>nn&&(O=nn,nn=ot,ot=O);var de=Bx(J,ot),ce=Bx(J,nn);if(de&&ce&&(je.rangeCount!==1||je.anchorNode!==de.node||je.anchorOffset!==de.offset||je.focusNode!==ce.node||je.focusOffset!==ce.offset)){var me=Te.createRange();me.setStart(de.node,de.offset),je.removeAllRanges(),ot>nn?(je.addRange(me),je.extend(ce.node,ce.offset)):(me.setEnd(ce.node,ce.offset),je.addRange(me))}}}}for(Te=[],je=J;je=je.parentNode;)je.nodeType===1&&Te.push({element:je,left:je.scrollLeft,top:je.scrollTop});for(typeof J.focus=="function"&&J.focus(),J=0;J<Te.length;J++){var Ce=Te[J];Ce.element.scrollLeft=Ce.left,Ce.element.scrollTop=Ce.top}}Hc=!!Pf,Uf=Pf=null}finally{Xt=y,G.p=d,_.T=i}}n.current=a,qn=2}}function n0(){if(qn===2){qn=0;var n=ra,a=kl,i=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||i){i=_.T,_.T=null;var d=G.p;G.p=2;var y=Xt;Xt|=4;try{_p(n,a.alternate,a)}finally{Xt=y,G.p=d,_.T=i}}qn=3}}function r0(){if(qn===4||qn===3){qn=0,xt();var n=ra,a=kl,i=Ms,d=qp;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?qn=5:(qn=0,kl=ra=null,s0(n,n.pendingLanes));var y=n.pendingLanes;if(y===0&&(na=null),Dt(i),a=a.stateNode,vt&&typeof vt.onCommitFiberRoot=="function")try{vt.onCommitFiberRoot(jt,a,void 0,(a.current.flags&128)===128)}catch{}if(d!==null){a=_.T,y=G.p,G.p=2,_.T=null;try{for(var v=n.onRecoverableError,O=0;O<d.length;O++){var J=d[O];v(J.value,{componentStack:J.stack})}}finally{_.T=a,G.p=y}}(Ms&3)!==0&&Tc(),ls(n),y=n.pendingLanes,(i&261930)!==0&&(y&42)!==0?n===Tf?Oi++:(Oi=0,Tf=n):Oi=0,Ri(0)}}function s0(n,a){(n.pooledCacheLanes&=a)===0&&(a=n.pooledCache,a!=null&&(n.pooledCache=null,mi(a)))}function Tc(){return t0(),n0(),r0(),a0()}function a0(){if(qn!==5)return!1;var n=ra,a=Cf;Cf=0;var i=Dt(Ms),d=_.T,y=G.p;try{G.p=32>i?32:i,_.T=null,i=Ef,Ef=null;var v=ra,O=Ms;if(qn=0,kl=ra=null,Ms=0,(Xt&6)!==0)throw Error(l(331));var J=Xt;if(Xt|=4,Hp(v.current),Ip(v,v.current,O,i),Xt=J,Ri(0,!1),vt&&typeof vt.onPostCommitFiberRoot=="function")try{vt.onPostCommitFiberRoot(jt,v)}catch{}return!0}finally{G.p=y,_.T=d,s0(n,a)}}function l0(n,a,i){a=Ir(i,a),a=af(n.stateNode,a,2),n=Qs(n,a,2),n!==null&&(De(n,2),ls(n))}function Kt(n,a,i){if(n.tag===3)l0(n,n,i);else for(;a!==null;){if(a.tag===3){l0(a,n,i);break}else if(a.tag===1){var d=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof d.componentDidCatch=="function"&&(na===null||!na.has(d))){n=Ir(i,n),i=ip(2),d=Qs(a,i,2),d!==null&&(op(i,d,a,n),De(d,2),ls(d));break}}a=a.return}}function Mf(n,a,i){var d=n.pingCache;if(d===null){d=n.pingCache=new j5;var y=new Set;d.set(a,y)}else y=d.get(a),y===void 0&&(y=new Set,d.set(a,y));y.has(i)||(Nf=!0,y.add(i),n=C5.bind(null,n,a,i),a.then(n,n))}function C5(n,a,i){var d=n.pingCache;d!==null&&d.delete(a),n.pingedLanes|=n.suspendedLanes&i,n.warmLanes&=~i,ln===n&&($t&i)===i&&(Sn===4||Sn===3&&($t&62914560)===$t&&300>yt()-wc?(Xt&2)===0&&Sl(n,0):kf|=i,Nl===$t&&(Nl=0)),ls(n)}function i0(n,a){a===0&&(a=te()),n=Ta(n,a),n!==null&&(De(n,a),ls(n))}function E5(n){var a=n.memoizedState,i=0;a!==null&&(i=a.retryLane),i0(n,i)}function T5(n,a){var i=0;switch(n.tag){case 31:case 13:var d=n.stateNode,y=n.memoizedState;y!==null&&(i=y.retryLane);break;case 19:d=n.stateNode;break;case 22:d=n.stateNode._retryCache;break;default:throw Error(l(314))}d!==null&&d.delete(a),i0(n,i)}function A5(n,a){return gt(n,a)}var Ac=null,El=null,Df=!1,_c=!1,Of=!1,aa=0;function ls(n){n!==El&&n.next===null&&(El===null?Ac=El=n:El=El.next=n),_c=!0,Df||(Df=!0,M5())}function Ri(n,a){if(!Of&&_c){Of=!0;do for(var i=!1,d=Ac;d!==null;){if(n!==0){var y=d.pendingLanes;if(y===0)var v=0;else{var O=d.suspendedLanes,J=d.pingedLanes;v=(1<<31-He(42|n)+1)-1,v&=y&~(O&~J),v=v&201326741?v&201326741|1:v?v|2:0}v!==0&&(i=!0,d0(d,v))}else v=$t,v=vn(d,d===ln?v:0,d.cancelPendingCommit!==null||d.timeoutHandle!==-1),(v&3)===0||wt(d,v)||(i=!0,d0(d,v));d=d.next}while(i);Of=!1}}function _5(){o0()}function o0(){_c=Df=!1;var n=0;aa!==0&&P5()&&(n=aa);for(var a=yt(),i=null,d=Ac;d!==null;){var y=d.next,v=c0(d,a);v===0?(d.next=null,i===null?Ac=y:i.next=y,y===null&&(El=i)):(i=d,(n!==0||(v&3)!==0)&&(_c=!0)),d=y}qn!==0&&qn!==5||Ri(n),aa!==0&&(aa=0)}function c0(n,a){for(var i=n.suspendedLanes,d=n.pingedLanes,y=n.expirationTimes,v=n.pendingLanes&-62914561;0<v;){var O=31-He(v),J=1<<O,ae=y[O];ae===-1?((J&i)===0||(J&d)!==0)&&(y[O]=ue(J,a)):ae<=a&&(n.expiredLanes|=J),v&=~J}if(a=ln,i=$t,i=vn(n,n===a?i:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),d=n.callbackNode,i===0||n===a&&(Qt===2||Qt===9)||n.cancelPendingCommit!==null)return d!==null&&d!==null&&ie(d),n.callbackNode=null,n.callbackPriority=0;if((i&3)===0||wt(n,i)){if(a=i&-i,a===n.callbackPriority)return a;switch(d!==null&&ie(d),Dt(i)){case 2:case 8:i=Me;break;case 32:i=Ue;break;case 268435456:i=Ge;break;default:i=Ue}return d=u0.bind(null,n),i=gt(i,d),n.callbackPriority=a,n.callbackNode=i,a}return d!==null&&d!==null&&ie(d),n.callbackPriority=2,n.callbackNode=null,2}function u0(n,a){if(qn!==0&&qn!==5)return n.callbackNode=null,n.callbackPriority=0,null;var i=n.callbackNode;if(Tc()&&n.callbackNode!==i)return null;var d=$t;return d=vn(n,n===ln?d:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),d===0?null:(Fp(n,d,a),c0(n,yt()),n.callbackNode!=null&&n.callbackNode===i?u0.bind(null,n):null)}function d0(n,a){if(Tc())return null;Fp(n,a,!0)}function M5(){q5(function(){(Xt&6)!==0?gt(ve,_5):o0()})}function Rf(){if(aa===0){var n=fl;n===0&&(n=Ot,Ot<<=1,(Ot&261888)===0&&(Ot=256)),aa=n}return aa}function f0(n){return n==null||typeof n=="symbol"||typeof n=="boolean"?null:typeof n=="function"?n:Ze(""+n)}function h0(n,a){var i=a.ownerDocument.createElement("input");return i.name=a.name,i.value=a.value,n.id&&i.setAttribute("form",n.id),a.parentNode.insertBefore(i,a),n=new FormData(n),i.parentNode.removeChild(i),n}function D5(n,a,i,d,y){if(a==="submit"&&i&&i.stateNode===y){var v=f0((y[yn]||null).action),O=d.submitter;O&&(a=(a=O[yn]||null)?f0(a.formAction):O.getAttribute("formAction"),a!==null&&(v=a,O=null));var J=new Uo("action","action",null,d,y);n.push({event:J,listeners:[{instance:null,listener:function(){if(d.defaultPrevented){if(aa!==0){var ae=O?h0(y,O):new FormData(y);Wd(i,{pending:!0,data:ae,method:y.method,action:v},null,ae)}}else typeof v=="function"&&(J.preventDefault(),ae=O?h0(y,O):new FormData(y),Wd(i,{pending:!0,data:ae,method:y.method,action:v},v,ae))},currentTarget:y}]})}}for(var zf=0;zf<gd.length;zf++){var Lf=gd[zf],O5=Lf.toLowerCase(),R5=Lf[0].toUpperCase()+Lf.slice(1);Gr(O5,"on"+R5)}Gr(Vx,"onAnimationEnd"),Gr(Fx,"onAnimationIteration"),Gr(Yx,"onAnimationStart"),Gr("dblclick","onDoubleClick"),Gr("focusin","onFocus"),Gr("focusout","onBlur"),Gr(QN,"onTransitionRun"),Gr(KN,"onTransitionStart"),Gr(JN,"onTransitionCancel"),Gr(Gx,"onTransitionEnd"),ir("onMouseEnter",["mouseout","mouseover"]),ir("onMouseLeave",["mouseout","mouseover"]),ir("onPointerEnter",["pointerout","pointerover"]),ir("onPointerLeave",["pointerout","pointerover"]),lr("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),lr("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),lr("onBeforeInput",["compositionend","keypress","textInput","paste"]),lr("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),lr("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),lr("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var zi="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(" "),z5=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(zi));function m0(n,a){a=(a&4)!==0;for(var i=0;i<n.length;i++){var d=n[i],y=d.event;d=d.listeners;e:{var v=void 0;if(a)for(var O=d.length-1;0<=O;O--){var J=d[O],ae=J.instance,xe=J.currentTarget;if(J=J.listener,ae!==v&&y.isPropagationStopped())break e;v=J,y.currentTarget=xe;try{v(y)}catch(ke){Fo(ke)}y.currentTarget=null,v=ae}else for(O=0;O<d.length;O++){if(J=d[O],ae=J.instance,xe=J.currentTarget,J=J.listener,ae!==v&&y.isPropagationStopped())break e;v=J,y.currentTarget=xe;try{v(y)}catch(ke){Fo(ke)}y.currentTarget=null,v=ae}}}}function zt(n,a){var i=a[ye];i===void 0&&(i=a[ye]=new Set);var d=n+"__bubble";i.has(d)||(x0(a,n,2,!1),i.add(d))}function If(n,a,i){var d=0;a&&(d|=4),x0(i,n,d,a)}var Mc="_reactListening"+Math.random().toString(36).slice(2);function $f(n){if(!n[Mc]){n[Mc]=!0,Rr.forEach(function(i){i!=="selectionchange"&&(z5.has(i)||If(i,!1,n),If(i,!0,n))});var a=n.nodeType===9?n:n.ownerDocument;a===null||a[Mc]||(a[Mc]=!0,If("selectionchange",!1,a))}}function x0(n,a,i,d){switch(V0(a)){case 2:var y=c2;break;case 8:y=u2;break;default:y=Wf}i=y.bind(null,a,i,n),y=void 0,!rd||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(y=!0),d?y!==void 0?n.addEventListener(a,i,{capture:!0,passive:y}):n.addEventListener(a,i,!0):y!==void 0?n.addEventListener(a,i,{passive:y}):n.addEventListener(a,i,!1)}function Bf(n,a,i,d,y){var v=d;if((a&1)===0&&(a&2)===0&&d!==null)e:for(;;){if(d===null)return;var O=d.tag;if(O===3||O===4){var J=d.stateNode.containerInfo;if(J===y)break;if(O===4)for(O=d.return;O!==null;){var ae=O.tag;if((ae===3||ae===4)&&O.stateNode.containerInfo===y)return;O=O.return}for(;J!==null;){if(O=ar(J),O===null)return;if(ae=O.tag,ae===5||ae===6||ae===26||ae===27){d=v=O;continue e}J=J.parentNode}}d=d.return}vx(function(){var xe=v,ke=it(i),Te=[];e:{var ge=Xx.get(n);if(ge!==void 0){var je=Uo,Qe=n;switch(n){case"keypress":if(Ho(i)===0)break e;case"keydown":case"keyup":je=TN;break;case"focusin":Qe="focus",je=id;break;case"focusout":Qe="blur",je=id;break;case"beforeblur":case"afterblur":je=id;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":je=Nx;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":je=gN;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":je=MN;break;case Vx:case Fx:case Yx:je=yN;break;case Gx:je=ON;break;case"scroll":case"scrollend":je=mN;break;case"wheel":je=zN;break;case"copy":case"cut":case"paste":je=jN;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":je=Sx;break;case"toggle":case"beforetoggle":je=IN}var ot=(a&4)!==0,nn=!ot&&(n==="scroll"||n==="scrollend"),de=ot?ge!==null?ge+"Capture":null:ge;ot=[];for(var ce=xe,me;ce!==null;){var Ce=ce;if(me=Ce.stateNode,Ce=Ce.tag,Ce!==5&&Ce!==26&&Ce!==27||me===null||de===null||(Ce=ri(ce,de),Ce!=null&&ot.push(Li(ce,Ce,me))),nn)break;ce=ce.return}0<ot.length&&(ge=new je(ge,Qe,null,i,ke),Te.push({event:ge,listeners:ot}))}}if((a&7)===0){e:{if(ge=n==="mouseover"||n==="pointerover",je=n==="mouseout"||n==="pointerout",ge&&i!==at&&(Qe=i.relatedTarget||i.fromElement)&&(ar(Qe)||Qe[Pn]))break e;if((je||ge)&&(ge=ke.window===ke?ke:(ge=ke.ownerDocument)?ge.defaultView||ge.parentWindow:window,je?(Qe=i.relatedTarget||i.toElement,je=xe,Qe=Qe?ar(Qe):null,Qe!==null&&(nn=c(Qe),ot=Qe.tag,Qe!==nn||ot!==5&&ot!==27&&ot!==6)&&(Qe=null)):(je=null,Qe=xe),je!==Qe)){if(ot=Nx,Ce="onMouseLeave",de="onMouseEnter",ce="mouse",(n==="pointerout"||n==="pointerover")&&(ot=Sx,Ce="onPointerLeave",de="onPointerEnter",ce="pointer"),nn=je==null?ge:Or(je),me=Qe==null?ge:Or(Qe),ge=new ot(Ce,ce+"leave",je,i,ke),ge.target=nn,ge.relatedTarget=me,Ce=null,ar(ke)===xe&&(ot=new ot(de,ce+"enter",Qe,i,ke),ot.target=me,ot.relatedTarget=nn,Ce=ot),nn=Ce,je&&Qe)t:{for(ot=L5,de=je,ce=Qe,me=0,Ce=de;Ce;Ce=ot(Ce))me++;Ce=0;for(var rt=ce;rt;rt=ot(rt))Ce++;for(;0<me-Ce;)de=ot(de),me--;for(;0<Ce-me;)ce=ot(ce),Ce--;for(;me--;){if(de===ce||ce!==null&&de===ce.alternate){ot=de;break t}de=ot(de),ce=ot(ce)}ot=null}else ot=null;je!==null&&g0(Te,ge,je,ot,!1),Qe!==null&&nn!==null&&g0(Te,nn,Qe,ot,!0)}}e:{if(ge=xe?Or(xe):window,je=ge.nodeName&&ge.nodeName.toLowerCase(),je==="select"||je==="input"&&ge.type==="file")var Yt=Ox;else if(Mx(ge))if(Rx)Yt=GN;else{Yt=FN;var We=VN}else je=ge.nodeName,!je||je.toLowerCase()!=="input"||ge.type!=="checkbox"&&ge.type!=="radio"?xe&&Je(xe.elementType)&&(Yt=Ox):Yt=YN;if(Yt&&(Yt=Yt(n,xe))){Dx(Te,Yt,i,ke);break e}We&&We(n,ge,xe),n==="focusout"&&xe&&ge.type==="number"&&xe.memoizedProps.value!=null&&Pe(ge,"number",ge.value)}switch(We=xe?Or(xe):window,n){case"focusin":(Mx(We)||We.contentEditable==="true")&&(sl=We,hd=xe,di=null);break;case"focusout":di=hd=sl=null;break;case"mousedown":md=!0;break;case"contextmenu":case"mouseup":case"dragend":md=!1,Ux(Te,i,ke);break;case"selectionchange":if(ZN)break;case"keydown":case"keyup":Ux(Te,i,ke)}var St;if(cd)e:{switch(n){case"compositionstart":var Bt="onCompositionStart";break e;case"compositionend":Bt="onCompositionEnd";break e;case"compositionupdate":Bt="onCompositionUpdate";break e}Bt=void 0}else rl?Ax(n,i)&&(Bt="onCompositionEnd"):n==="keydown"&&i.keyCode===229&&(Bt="onCompositionStart");Bt&&(Cx&&i.locale!=="ko"&&(rl||Bt!=="onCompositionStart"?Bt==="onCompositionEnd"&&rl&&(St=jx()):(qs=ke,sd="value"in qs?qs.value:qs.textContent,rl=!0)),We=Dc(xe,Bt),0<We.length&&(Bt=new kx(Bt,n,null,i,ke),Te.push({event:Bt,listeners:We}),St?Bt.data=St:(St=_x(i),St!==null&&(Bt.data=St)))),(St=BN?HN(n,i):PN(n,i))&&(Bt=Dc(xe,"onBeforeInput"),0<Bt.length&&(We=new kx("onBeforeInput","beforeinput",null,i,ke),Te.push({event:We,listeners:Bt}),We.data=St)),D5(Te,n,xe,i,ke)}m0(Te,a)})}function Li(n,a,i){return{instance:n,listener:a,currentTarget:i}}function Dc(n,a){for(var i=a+"Capture",d=[];n!==null;){var y=n,v=y.stateNode;if(y=y.tag,y!==5&&y!==26&&y!==27||v===null||(y=ri(n,i),y!=null&&d.unshift(Li(n,y,v)),y=ri(n,a),y!=null&&d.push(Li(n,y,v))),n.tag===3)return d;n=n.return}return[]}function L5(n){if(n===null)return null;do n=n.return;while(n&&n.tag!==5&&n.tag!==27);return n||null}function g0(n,a,i,d,y){for(var v=a._reactName,O=[];i!==null&&i!==d;){var J=i,ae=J.alternate,xe=J.stateNode;if(J=J.tag,ae!==null&&ae===d)break;J!==5&&J!==26&&J!==27||xe===null||(ae=xe,y?(xe=ri(i,v),xe!=null&&O.unshift(Li(i,xe,ae))):y||(xe=ri(i,v),xe!=null&&O.push(Li(i,xe,ae)))),i=i.return}O.length!==0&&n.push({event:a,listeners:O})}var I5=/\r\n?/g,$5=/\u0000|\uFFFD/g;function p0(n){return(typeof n=="string"?n:""+n).replace(I5,`
9
+ `).replace($5,"")}function b0(n,a){return a=p0(a),p0(n)===a}function tn(n,a,i,d,y,v){switch(i){case"children":typeof d=="string"?a==="body"||a==="textarea"&&d===""||nt(n,d):(typeof d=="number"||typeof d=="bigint")&&a!=="body"&&nt(n,""+d);break;case"className":zr(n,"class",d);break;case"tabIndex":zr(n,"tabindex",d);break;case"dir":case"role":case"viewBox":case"width":case"height":zr(n,i,d);break;case"style":Kn(n,d,v);break;case"data":if(a!=="object"){zr(n,"data",d);break}case"src":case"href":if(d===""&&(a!=="a"||i!=="href")){n.removeAttribute(i);break}if(d==null||typeof d=="function"||typeof d=="symbol"||typeof d=="boolean"){n.removeAttribute(i);break}d=Ze(""+d),n.setAttribute(i,d);break;case"action":case"formAction":if(typeof d=="function"){n.setAttribute(i,"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 v=="function"&&(i==="formAction"?(a!=="input"&&tn(n,a,"name",y.name,y,null),tn(n,a,"formEncType",y.formEncType,y,null),tn(n,a,"formMethod",y.formMethod,y,null),tn(n,a,"formTarget",y.formTarget,y,null)):(tn(n,a,"encType",y.encType,y,null),tn(n,a,"method",y.method,y,null),tn(n,a,"target",y.target,y,null)));if(d==null||typeof d=="symbol"||typeof d=="boolean"){n.removeAttribute(i);break}d=Ze(""+d),n.setAttribute(i,d);break;case"onClick":d!=null&&(n.onclick=Fe);break;case"onScroll":d!=null&&zt("scroll",n);break;case"onScrollEnd":d!=null&&zt("scrollend",n);break;case"dangerouslySetInnerHTML":if(d!=null){if(typeof d!="object"||!("__html"in d))throw Error(l(61));if(i=d.__html,i!=null){if(y.children!=null)throw Error(l(60));n.innerHTML=i}}break;case"multiple":n.multiple=d&&typeof d!="function"&&typeof d!="symbol";break;case"muted":n.muted=d&&typeof d!="function"&&typeof d!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(d==null||typeof d=="function"||typeof d=="boolean"||typeof d=="symbol"){n.removeAttribute("xlink:href");break}i=Ze(""+d),n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",i);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":d!=null&&typeof d!="function"&&typeof d!="symbol"?n.setAttribute(i,""+d):n.removeAttribute(i);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":d&&typeof d!="function"&&typeof d!="symbol"?n.setAttribute(i,""):n.removeAttribute(i);break;case"capture":case"download":d===!0?n.setAttribute(i,""):d!==!1&&d!=null&&typeof d!="function"&&typeof d!="symbol"?n.setAttribute(i,d):n.removeAttribute(i);break;case"cols":case"rows":case"size":case"span":d!=null&&typeof d!="function"&&typeof d!="symbol"&&!isNaN(d)&&1<=d?n.setAttribute(i,d):n.removeAttribute(i);break;case"rowSpan":case"start":d==null||typeof d=="function"||typeof d=="symbol"||isNaN(d)?n.removeAttribute(i):n.setAttribute(i,d);break;case"popover":zt("beforetoggle",n),zt("toggle",n),or(n,"popover",d);break;case"xlinkActuate":Fn(n,"http://www.w3.org/1999/xlink","xlink:actuate",d);break;case"xlinkArcrole":Fn(n,"http://www.w3.org/1999/xlink","xlink:arcrole",d);break;case"xlinkRole":Fn(n,"http://www.w3.org/1999/xlink","xlink:role",d);break;case"xlinkShow":Fn(n,"http://www.w3.org/1999/xlink","xlink:show",d);break;case"xlinkTitle":Fn(n,"http://www.w3.org/1999/xlink","xlink:title",d);break;case"xlinkType":Fn(n,"http://www.w3.org/1999/xlink","xlink:type",d);break;case"xmlBase":Fn(n,"http://www.w3.org/XML/1998/namespace","xml:base",d);break;case"xmlLang":Fn(n,"http://www.w3.org/XML/1998/namespace","xml:lang",d);break;case"xmlSpace":Fn(n,"http://www.w3.org/XML/1998/namespace","xml:space",d);break;case"is":or(n,"is",d);break;case"innerText":case"textContent":break;default:(!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(i=At.get(i)||i,or(n,i,d))}}function Hf(n,a,i,d,y,v){switch(i){case"style":Kn(n,d,v);break;case"dangerouslySetInnerHTML":if(d!=null){if(typeof d!="object"||!("__html"in d))throw Error(l(61));if(i=d.__html,i!=null){if(y.children!=null)throw Error(l(60));n.innerHTML=i}}break;case"children":typeof d=="string"?nt(n,d):(typeof d=="number"||typeof d=="bigint")&&nt(n,""+d);break;case"onScroll":d!=null&&zt("scroll",n);break;case"onScrollEnd":d!=null&&zt("scrollend",n);break;case"onClick":d!=null&&(n.onclick=Fe);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Ps.hasOwnProperty(i))e:{if(i[0]==="o"&&i[1]==="n"&&(y=i.endsWith("Capture"),a=i.slice(2,y?i.length-7:void 0),v=n[yn]||null,v=v!=null?v[i]:null,typeof v=="function"&&n.removeEventListener(a,v,y),typeof d=="function")){typeof v!="function"&&v!==null&&(i in n?n[i]=null:n.hasAttribute(i)&&n.removeAttribute(i)),n.addEventListener(a,d,y);break e}i in n?n[i]=d:d===!0?n.setAttribute(i,""):or(n,i,d)}}}function Qn(n,a,i){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":zt("error",n),zt("load",n);var d=!1,y=!1,v;for(v in i)if(i.hasOwnProperty(v)){var O=i[v];if(O!=null)switch(v){case"src":d=!0;break;case"srcSet":y=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(l(137,a));default:tn(n,a,v,O,i,null)}}y&&tn(n,a,"srcSet",i.srcSet,i,null),d&&tn(n,a,"src",i.src,i,null);return;case"input":zt("invalid",n);var J=v=O=y=null,ae=null,xe=null;for(d in i)if(i.hasOwnProperty(d)){var ke=i[d];if(ke!=null)switch(d){case"name":y=ke;break;case"type":O=ke;break;case"checked":ae=ke;break;case"defaultChecked":xe=ke;break;case"value":v=ke;break;case"defaultValue":J=ke;break;case"children":case"dangerouslySetInnerHTML":if(ke!=null)throw Error(l(137,a));break;default:tn(n,a,d,ke,i,null)}}Ae(n,v,J,ae,xe,O,y,!1);return;case"select":zt("invalid",n),d=O=v=null;for(y in i)if(i.hasOwnProperty(y)&&(J=i[y],J!=null))switch(y){case"value":v=J;break;case"defaultValue":O=J;break;case"multiple":d=J;default:tn(n,a,y,J,i,null)}a=v,i=O,n.multiple=!!d,a!=null?Ve(n,!!d,a,!1):i!=null&&Ve(n,!!d,i,!0);return;case"textarea":zt("invalid",n),v=y=d=null;for(O in i)if(i.hasOwnProperty(O)&&(J=i[O],J!=null))switch(O){case"value":d=J;break;case"defaultValue":y=J;break;case"children":v=J;break;case"dangerouslySetInnerHTML":if(J!=null)throw Error(l(91));break;default:tn(n,a,O,J,i,null)}st(n,d,y,v);return;case"option":for(ae in i)i.hasOwnProperty(ae)&&(d=i[ae],d!=null)&&(ae==="selected"?n.selected=d&&typeof d!="function"&&typeof d!="symbol":tn(n,a,ae,d,i,null));return;case"dialog":zt("beforetoggle",n),zt("toggle",n),zt("cancel",n),zt("close",n);break;case"iframe":case"object":zt("load",n);break;case"video":case"audio":for(d=0;d<zi.length;d++)zt(zi[d],n);break;case"image":zt("error",n),zt("load",n);break;case"details":zt("toggle",n);break;case"embed":case"source":case"link":zt("error",n),zt("load",n);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(xe in i)if(i.hasOwnProperty(xe)&&(d=i[xe],d!=null))switch(xe){case"children":case"dangerouslySetInnerHTML":throw Error(l(137,a));default:tn(n,a,xe,d,i,null)}return;default:if(Je(a)){for(ke in i)i.hasOwnProperty(ke)&&(d=i[ke],d!==void 0&&Hf(n,a,ke,d,i,void 0));return}}for(J in i)i.hasOwnProperty(J)&&(d=i[J],d!=null&&tn(n,a,J,d,i,null))}function B5(n,a,i,d){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var y=null,v=null,O=null,J=null,ae=null,xe=null,ke=null;for(je in i){var Te=i[je];if(i.hasOwnProperty(je)&&Te!=null)switch(je){case"checked":break;case"value":break;case"defaultValue":ae=Te;default:d.hasOwnProperty(je)||tn(n,a,je,null,d,Te)}}for(var ge in d){var je=d[ge];if(Te=i[ge],d.hasOwnProperty(ge)&&(je!=null||Te!=null))switch(ge){case"type":v=je;break;case"name":y=je;break;case"checked":xe=je;break;case"defaultChecked":ke=je;break;case"value":O=je;break;case"defaultValue":J=je;break;case"children":case"dangerouslySetInnerHTML":if(je!=null)throw Error(l(137,a));break;default:je!==Te&&tn(n,a,ge,je,d,Te)}}Ee(n,O,J,ae,xe,ke,v,y);return;case"select":je=O=J=ge=null;for(v in i)if(ae=i[v],i.hasOwnProperty(v)&&ae!=null)switch(v){case"value":break;case"multiple":je=ae;default:d.hasOwnProperty(v)||tn(n,a,v,null,d,ae)}for(y in d)if(v=d[y],ae=i[y],d.hasOwnProperty(y)&&(v!=null||ae!=null))switch(y){case"value":ge=v;break;case"defaultValue":J=v;break;case"multiple":O=v;default:v!==ae&&tn(n,a,y,v,d,ae)}a=J,i=O,d=je,ge!=null?Ve(n,!!i,ge,!1):!!d!=!!i&&(a!=null?Ve(n,!!i,a,!0):Ve(n,!!i,i?[]:"",!1));return;case"textarea":je=ge=null;for(J in i)if(y=i[J],i.hasOwnProperty(J)&&y!=null&&!d.hasOwnProperty(J))switch(J){case"value":break;case"children":break;default:tn(n,a,J,null,d,y)}for(O in d)if(y=d[O],v=i[O],d.hasOwnProperty(O)&&(y!=null||v!=null))switch(O){case"value":ge=y;break;case"defaultValue":je=y;break;case"children":break;case"dangerouslySetInnerHTML":if(y!=null)throw Error(l(91));break;default:y!==v&&tn(n,a,O,y,d,v)}mt(n,ge,je);return;case"option":for(var Qe in i)ge=i[Qe],i.hasOwnProperty(Qe)&&ge!=null&&!d.hasOwnProperty(Qe)&&(Qe==="selected"?n.selected=!1:tn(n,a,Qe,null,d,ge));for(ae in d)ge=d[ae],je=i[ae],d.hasOwnProperty(ae)&&ge!==je&&(ge!=null||je!=null)&&(ae==="selected"?n.selected=ge&&typeof ge!="function"&&typeof ge!="symbol":tn(n,a,ae,ge,d,je));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 ot in i)ge=i[ot],i.hasOwnProperty(ot)&&ge!=null&&!d.hasOwnProperty(ot)&&tn(n,a,ot,null,d,ge);for(xe in d)if(ge=d[xe],je=i[xe],d.hasOwnProperty(xe)&&ge!==je&&(ge!=null||je!=null))switch(xe){case"children":case"dangerouslySetInnerHTML":if(ge!=null)throw Error(l(137,a));break;default:tn(n,a,xe,ge,d,je)}return;default:if(Je(a)){for(var nn in i)ge=i[nn],i.hasOwnProperty(nn)&&ge!==void 0&&!d.hasOwnProperty(nn)&&Hf(n,a,nn,void 0,d,ge);for(ke in d)ge=d[ke],je=i[ke],!d.hasOwnProperty(ke)||ge===je||ge===void 0&&je===void 0||Hf(n,a,ke,ge,d,je);return}}for(var de in i)ge=i[de],i.hasOwnProperty(de)&&ge!=null&&!d.hasOwnProperty(de)&&tn(n,a,de,null,d,ge);for(Te in d)ge=d[Te],je=i[Te],!d.hasOwnProperty(Te)||ge===je||ge==null&&je==null||tn(n,a,Te,ge,d,je)}function y0(n){switch(n){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function H5(){if(typeof performance.getEntriesByType=="function"){for(var n=0,a=0,i=performance.getEntriesByType("resource"),d=0;d<i.length;d++){var y=i[d],v=y.transferSize,O=y.initiatorType,J=y.duration;if(v&&J&&y0(O)){for(O=0,J=y.responseEnd,d+=1;d<i.length;d++){var ae=i[d],xe=ae.startTime;if(xe>J)break;var ke=ae.transferSize,Te=ae.initiatorType;ke&&y0(Te)&&(ae=ae.responseEnd,O+=ke*(ae<J?1:(J-xe)/(ae-xe)))}if(--d,a+=8*(v+O)/(y.duration/1e3),n++,10<n)break}}if(0<n)return a/n/1e6}return navigator.connection&&(n=navigator.connection.downlink,typeof n=="number")?n:5}var Pf=null,Uf=null;function Oc(n){return n.nodeType===9?n:n.ownerDocument}function v0(n){switch(n){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function j0(n,a){if(n===0)switch(a){case"svg":return 1;case"math":return 2;default:return 0}return n===1&&a==="foreignObject"?0:n}function qf(n,a){return n==="textarea"||n==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.children=="bigint"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var Vf=null;function P5(){var n=window.event;return n&&n.type==="popstate"?n===Vf?!1:(Vf=n,!0):(Vf=null,!1)}var w0=typeof setTimeout=="function"?setTimeout:void 0,U5=typeof clearTimeout=="function"?clearTimeout:void 0,N0=typeof Promise=="function"?Promise:void 0,q5=typeof queueMicrotask=="function"?queueMicrotask:typeof N0<"u"?function(n){return N0.resolve(null).then(n).catch(V5)}:w0;function V5(n){setTimeout(function(){throw n})}function la(n){return n==="head"}function k0(n,a){var i=a,d=0;do{var y=i.nextSibling;if(n.removeChild(i),y&&y.nodeType===8)if(i=y.data,i==="/$"||i==="/&"){if(d===0){n.removeChild(y),Ml(a);return}d--}else if(i==="$"||i==="$?"||i==="$~"||i==="$!"||i==="&")d++;else if(i==="html")Ii(n.ownerDocument.documentElement);else if(i==="head"){i=n.ownerDocument.head,Ii(i);for(var v=i.firstChild;v;){var O=v.nextSibling,J=v.nodeName;v[wn]||J==="SCRIPT"||J==="STYLE"||J==="LINK"&&v.rel.toLowerCase()==="stylesheet"||i.removeChild(v),v=O}}else i==="body"&&Ii(n.ownerDocument.body);i=y}while(i);Ml(a)}function S0(n,a){var i=n;n=0;do{var d=i.nextSibling;if(i.nodeType===1?a?(i._stashedDisplay=i.style.display,i.style.display="none"):(i.style.display=i._stashedDisplay||"",i.getAttribute("style")===""&&i.removeAttribute("style")):i.nodeType===3&&(a?(i._stashedText=i.nodeValue,i.nodeValue=""):i.nodeValue=i._stashedText||""),d&&d.nodeType===8)if(i=d.data,i==="/$"){if(n===0)break;n--}else i!=="$"&&i!=="$?"&&i!=="$~"&&i!=="$!"||n++;i=d}while(i)}function Ff(n){var a=n.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var i=a;switch(a=a.nextSibling,i.nodeName){case"HTML":case"HEAD":case"BODY":Ff(i),sr(i);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(i.rel.toLowerCase()==="stylesheet")continue}n.removeChild(i)}}function F5(n,a,i,d){for(;n.nodeType===1;){var y=i;if(n.nodeName.toLowerCase()!==a.toLowerCase()){if(!d&&(n.nodeName!=="INPUT"||n.type!=="hidden"))break}else if(d){if(!n[wn])switch(a){case"meta":if(!n.hasAttribute("itemprop"))break;return n;case"link":if(v=n.getAttribute("rel"),v==="stylesheet"&&n.hasAttribute("data-precedence"))break;if(v!==y.rel||n.getAttribute("href")!==(y.href==null||y.href===""?null:y.href)||n.getAttribute("crossorigin")!==(y.crossOrigin==null?null:y.crossOrigin)||n.getAttribute("title")!==(y.title==null?null:y.title))break;return n;case"style":if(n.hasAttribute("data-precedence"))break;return n;case"script":if(v=n.getAttribute("src"),(v!==(y.src==null?null:y.src)||n.getAttribute("type")!==(y.type==null?null:y.type)||n.getAttribute("crossorigin")!==(y.crossOrigin==null?null:y.crossOrigin))&&v&&n.hasAttribute("async")&&!n.hasAttribute("itemprop"))break;return n;default:return n}}else if(a==="input"&&n.type==="hidden"){var v=y.name==null?null:""+y.name;if(y.type==="hidden"&&n.getAttribute("name")===v)return n}else return n;if(n=Ur(n.nextSibling),n===null)break}return null}function Y5(n,a,i){if(a==="")return null;for(;n.nodeType!==3;)if((n.nodeType!==1||n.nodeName!=="INPUT"||n.type!=="hidden")&&!i||(n=Ur(n.nextSibling),n===null))return null;return n}function C0(n,a){for(;n.nodeType!==8;)if((n.nodeType!==1||n.nodeName!=="INPUT"||n.type!=="hidden")&&!a||(n=Ur(n.nextSibling),n===null))return null;return n}function Yf(n){return n.data==="$?"||n.data==="$~"}function Gf(n){return n.data==="$!"||n.data==="$?"&&n.ownerDocument.readyState!=="loading"}function G5(n,a){var i=n.ownerDocument;if(n.data==="$~")n._reactRetry=a;else if(n.data!=="$?"||i.readyState!=="loading")a();else{var d=function(){a(),i.removeEventListener("DOMContentLoaded",d)};i.addEventListener("DOMContentLoaded",d),n._reactRetry=d}}function Ur(n){for(;n!=null;n=n.nextSibling){var a=n.nodeType;if(a===1||a===3)break;if(a===8){if(a=n.data,a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"||a==="F!"||a==="F")break;if(a==="/$"||a==="/&")return null}}return n}var Xf=null;function E0(n){n=n.nextSibling;for(var a=0;n;){if(n.nodeType===8){var i=n.data;if(i==="/$"||i==="/&"){if(a===0)return Ur(n.nextSibling);a--}else i!=="$"&&i!=="$!"&&i!=="$?"&&i!=="$~"&&i!=="&"||a++}n=n.nextSibling}return null}function T0(n){n=n.previousSibling;for(var a=0;n;){if(n.nodeType===8){var i=n.data;if(i==="$"||i==="$!"||i==="$?"||i==="$~"||i==="&"){if(a===0)return n;a--}else i!=="/$"&&i!=="/&"||a++}n=n.previousSibling}return null}function A0(n,a,i){switch(a=Oc(i),n){case"html":if(n=a.documentElement,!n)throw Error(l(452));return n;case"head":if(n=a.head,!n)throw Error(l(453));return n;case"body":if(n=a.body,!n)throw Error(l(454));return n;default:throw Error(l(451))}}function Ii(n){for(var a=n.attributes;a.length;)n.removeAttributeNode(a[0]);sr(n)}var qr=new Map,_0=new Set;function Rc(n){return typeof n.getRootNode=="function"?n.getRootNode():n.nodeType===9?n:n.ownerDocument}var Ds=G.d;G.d={f:X5,r:Z5,D:Q5,C:K5,L:J5,m:W5,X:t2,S:e2,M:n2};function X5(){var n=Ds.f(),a=Sc();return n||a}function Z5(n){var a=Dr(n);a!==null&&a.tag===5&&a.type==="form"?Gg(a):Ds.r(n)}var Tl=typeof document>"u"?null:document;function M0(n,a,i){var d=Tl;if(d&&typeof a=="string"&&a){var y=we(a);y='link[rel="'+n+'"][href="'+y+'"]',typeof i=="string"&&(y+='[crossorigin="'+i+'"]'),_0.has(y)||(_0.add(y),n={rel:n,crossOrigin:i,href:a},d.querySelector(y)===null&&(a=d.createElement("link"),Qn(a,"link",n),un(a),d.head.appendChild(a)))}}function Q5(n){Ds.D(n),M0("dns-prefetch",n,null)}function K5(n,a){Ds.C(n,a),M0("preconnect",n,a)}function J5(n,a,i){Ds.L(n,a,i);var d=Tl;if(d&&n&&a){var y='link[rel="preload"][as="'+we(a)+'"]';a==="image"&&i&&i.imageSrcSet?(y+='[imagesrcset="'+we(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(y+='[imagesizes="'+we(i.imageSizes)+'"]')):y+='[href="'+we(n)+'"]';var v=y;switch(a){case"style":v=Al(n);break;case"script":v=_l(n)}qr.has(v)||(n=g({rel:"preload",href:a==="image"&&i&&i.imageSrcSet?void 0:n,as:a},i),qr.set(v,n),d.querySelector(y)!==null||a==="style"&&d.querySelector($i(v))||a==="script"&&d.querySelector(Bi(v))||(a=d.createElement("link"),Qn(a,"link",n),un(a),d.head.appendChild(a)))}}function W5(n,a){Ds.m(n,a);var i=Tl;if(i&&n){var d=a&&typeof a.as=="string"?a.as:"script",y='link[rel="modulepreload"][as="'+we(d)+'"][href="'+we(n)+'"]',v=y;switch(d){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":v=_l(n)}if(!qr.has(v)&&(n=g({rel:"modulepreload",href:n},a),qr.set(v,n),i.querySelector(y)===null)){switch(d){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(Bi(v)))return}d=i.createElement("link"),Qn(d,"link",n),un(d),i.head.appendChild(d)}}}function e2(n,a,i){Ds.S(n,a,i);var d=Tl;if(d&&n){var y=yr(d).hoistableStyles,v=Al(n);a=a||"default";var O=y.get(v);if(!O){var J={loading:0,preload:null};if(O=d.querySelector($i(v)))J.loading=5;else{n=g({rel:"stylesheet",href:n,"data-precedence":a},i),(i=qr.get(v))&&Zf(n,i);var ae=O=d.createElement("link");un(ae),Qn(ae,"link",n),ae._p=new Promise(function(xe,ke){ae.onload=xe,ae.onerror=ke}),ae.addEventListener("load",function(){J.loading|=1}),ae.addEventListener("error",function(){J.loading|=2}),J.loading|=4,zc(O,a,d)}O={type:"stylesheet",instance:O,count:1,state:J},y.set(v,O)}}}function t2(n,a){Ds.X(n,a);var i=Tl;if(i&&n){var d=yr(i).hoistableScripts,y=_l(n),v=d.get(y);v||(v=i.querySelector(Bi(y)),v||(n=g({src:n,async:!0},a),(a=qr.get(y))&&Qf(n,a),v=i.createElement("script"),un(v),Qn(v,"link",n),i.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},d.set(y,v))}}function n2(n,a){Ds.M(n,a);var i=Tl;if(i&&n){var d=yr(i).hoistableScripts,y=_l(n),v=d.get(y);v||(v=i.querySelector(Bi(y)),v||(n=g({src:n,async:!0,type:"module"},a),(a=qr.get(y))&&Qf(n,a),v=i.createElement("script"),un(v),Qn(v,"link",n),i.head.appendChild(v)),v={type:"script",instance:v,count:1,state:null},d.set(y,v))}}function D0(n,a,i,d){var y=(y=Q.current)?Rc(y):null;if(!y)throw Error(l(446));switch(n){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(a=Al(i.href),i=yr(y).hoistableStyles,d=i.get(a),d||(d={type:"style",instance:null,count:0,state:null},i.set(a,d)),d):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){n=Al(i.href);var v=yr(y).hoistableStyles,O=v.get(n);if(O||(y=y.ownerDocument||y,O={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},v.set(n,O),(v=y.querySelector($i(n)))&&!v._p&&(O.instance=v,O.state.loading=5),qr.has(n)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},qr.set(n,i),v||r2(y,n,i,O.state))),a&&d===null)throw Error(l(528,""));return O}if(a&&d!==null)throw Error(l(529,""));return null;case"script":return a=i.async,i=i.src,typeof i=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=_l(i),i=yr(y).hoistableScripts,d=i.get(a),d||(d={type:"script",instance:null,count:0,state:null},i.set(a,d)),d):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,n))}}function Al(n){return'href="'+we(n)+'"'}function $i(n){return'link[rel="stylesheet"]['+n+"]"}function O0(n){return g({},n,{"data-precedence":n.precedence,precedence:null})}function r2(n,a,i,d){n.querySelector('link[rel="preload"][as="style"]['+a+"]")?d.loading=1:(a=n.createElement("link"),d.preload=a,a.addEventListener("load",function(){return d.loading|=1}),a.addEventListener("error",function(){return d.loading|=2}),Qn(a,"link",i),un(a),n.head.appendChild(a))}function _l(n){return'[src="'+we(n)+'"]'}function Bi(n){return"script[async]"+n}function R0(n,a,i){if(a.count++,a.instance===null)switch(a.type){case"style":var d=n.querySelector('style[data-href~="'+we(i.href)+'"]');if(d)return a.instance=d,un(d),d;var y=g({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return d=(n.ownerDocument||n).createElement("style"),un(d),Qn(d,"style",y),zc(d,i.precedence,n),a.instance=d;case"stylesheet":y=Al(i.href);var v=n.querySelector($i(y));if(v)return a.state.loading|=4,a.instance=v,un(v),v;d=O0(i),(y=qr.get(y))&&Zf(d,y),v=(n.ownerDocument||n).createElement("link"),un(v);var O=v;return O._p=new Promise(function(J,ae){O.onload=J,O.onerror=ae}),Qn(v,"link",d),a.state.loading|=4,zc(v,i.precedence,n),a.instance=v;case"script":return v=_l(i.src),(y=n.querySelector(Bi(v)))?(a.instance=y,un(y),y):(d=i,(y=qr.get(v))&&(d=g({},i),Qf(d,y)),n=n.ownerDocument||n,y=n.createElement("script"),un(y),Qn(y,"link",d),n.head.appendChild(y),a.instance=y);case"void":return null;default:throw Error(l(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(d=a.instance,a.state.loading|=4,zc(d,i.precedence,n));return a.instance}function zc(n,a,i){for(var d=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),y=d.length?d[d.length-1]:null,v=y,O=0;O<d.length;O++){var J=d[O];if(J.dataset.precedence===a)v=J;else if(v!==y)break}v?v.parentNode.insertBefore(n,v.nextSibling):(a=i.nodeType===9?i.head:i,a.insertBefore(n,a.firstChild))}function Zf(n,a){n.crossOrigin==null&&(n.crossOrigin=a.crossOrigin),n.referrerPolicy==null&&(n.referrerPolicy=a.referrerPolicy),n.title==null&&(n.title=a.title)}function Qf(n,a){n.crossOrigin==null&&(n.crossOrigin=a.crossOrigin),n.referrerPolicy==null&&(n.referrerPolicy=a.referrerPolicy),n.integrity==null&&(n.integrity=a.integrity)}var Lc=null;function z0(n,a,i){if(Lc===null){var d=new Map,y=Lc=new Map;y.set(i,d)}else y=Lc,d=y.get(i),d||(d=new Map,y.set(i,d));if(d.has(n))return d;for(d.set(n,null),i=i.getElementsByTagName(n),y=0;y<i.length;y++){var v=i[y];if(!(v[wn]||v[It]||n==="link"&&v.getAttribute("rel")==="stylesheet")&&v.namespaceURI!=="http://www.w3.org/2000/svg"){var O=v.getAttribute(a)||"";O=n+O;var J=d.get(O);J?J.push(v):d.set(O,[v])}}return d}function L0(n,a,i){n=n.ownerDocument||n,n.head.insertBefore(i,a==="title"?n.querySelector("head > title"):null)}function s2(n,a,i){if(i===1||a.itemProp!=null)return!1;switch(n){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;return a.rel==="stylesheet"?(n=a.disabled,typeof a.precedence=="string"&&n==null):!0;case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function I0(n){return!(n.type==="stylesheet"&&(n.state.loading&3)===0)}function a2(n,a,i,d){if(i.type==="stylesheet"&&(typeof d.media!="string"||matchMedia(d.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var y=Al(d.href),v=a.querySelector($i(y));if(v){a=v._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(n.count++,n=Ic.bind(n),a.then(n,n)),i.state.loading|=4,i.instance=v,un(v);return}v=a.ownerDocument||a,d=O0(d),(y=qr.get(y))&&Zf(d,y),v=v.createElement("link"),un(v);var O=v;O._p=new Promise(function(J,ae){O.onload=J,O.onerror=ae}),Qn(v,"link",d),i.instance=v}n.stylesheets===null&&(n.stylesheets=new Map),n.stylesheets.set(i,a),(a=i.state.preload)&&(i.state.loading&3)===0&&(n.count++,i=Ic.bind(n),a.addEventListener("load",i),a.addEventListener("error",i))}}var Kf=0;function l2(n,a){return n.stylesheets&&n.count===0&&Bc(n,n.stylesheets),0<n.count||0<n.imgCount?function(i){var d=setTimeout(function(){if(n.stylesheets&&Bc(n,n.stylesheets),n.unsuspend){var v=n.unsuspend;n.unsuspend=null,v()}},6e4+a);0<n.imgBytes&&Kf===0&&(Kf=62500*H5());var y=setTimeout(function(){if(n.waitingForImages=!1,n.count===0&&(n.stylesheets&&Bc(n,n.stylesheets),n.unsuspend)){var v=n.unsuspend;n.unsuspend=null,v()}},(n.imgBytes>Kf?50:800)+a);return n.unsuspend=i,function(){n.unsuspend=null,clearTimeout(d),clearTimeout(y)}}:null}function Ic(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Bc(this,this.stylesheets);else if(this.unsuspend){var n=this.unsuspend;this.unsuspend=null,n()}}}var $c=null;function Bc(n,a){n.stylesheets=null,n.unsuspend!==null&&(n.count++,$c=new Map,a.forEach(i2,n),$c=null,Ic.call(n))}function i2(n,a){if(!(a.state.loading&4)){var i=$c.get(n);if(i)var d=i.get(null);else{i=new Map,$c.set(n,i);for(var y=n.querySelectorAll("link[data-precedence],style[data-precedence]"),v=0;v<y.length;v++){var O=y[v];(O.nodeName==="LINK"||O.getAttribute("media")!=="not all")&&(i.set(O.dataset.precedence,O),d=O)}d&&i.set(null,d)}y=a.instance,O=y.getAttribute("data-precedence"),v=i.get(O)||d,v===d&&i.set(null,y),i.set(O,y),this.count++,d=Ic.bind(this),y.addEventListener("load",d),y.addEventListener("error",d),v?v.parentNode.insertBefore(y,v.nextSibling):(n=n.nodeType===9?n.head:n,n.insertBefore(y,n.firstChild)),a.state.loading|=4}}var Hi={$$typeof:N,Provider:null,Consumer:null,_currentValue:q,_currentValue2:q,_threadCount:0};function o2(n,a,i,d,y,v,O,J,ae){this.tag=1,this.containerInfo=n,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=Ne(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ne(0),this.hiddenUpdates=Ne(null),this.identifierPrefix=d,this.onUncaughtError=y,this.onCaughtError=v,this.onRecoverableError=O,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=ae,this.incompleteTransitions=new Map}function $0(n,a,i,d,y,v,O,J,ae,xe,ke,Te){return n=new o2(n,a,i,O,ae,xe,ke,Te,J),a=1,v===!0&&(a|=24),v=wr(3,null,null,a),n.current=v,v.stateNode=n,a=Ad(),a.refCount++,n.pooledCache=a,a.refCount++,v.memoizedState={element:d,isDehydrated:i,cache:a},Od(v),n}function B0(n){return n?(n=il,n):il}function H0(n,a,i,d,y,v){y=B0(y),d.context===null?d.context=y:d.pendingContext=y,d=Zs(a),d.payload={element:i},v=v===void 0?null:v,v!==null&&(d.callback=v),i=Qs(n,d,a),i!==null&&(mr(i,n,a),bi(i,n,a))}function P0(n,a){if(n=n.memoizedState,n!==null&&n.dehydrated!==null){var i=n.retryLane;n.retryLane=i!==0&&i<a?i:a}}function Jf(n,a){P0(n,a),(n=n.alternate)&&P0(n,a)}function U0(n){if(n.tag===13||n.tag===31){var a=Ta(n,67108864);a!==null&&mr(a,n,67108864),Jf(n,67108864)}}function q0(n){if(n.tag===13||n.tag===31){var a=Er();a=hn(a);var i=Ta(n,a);i!==null&&mr(i,n,a),Jf(n,a)}}var Hc=!0;function c2(n,a,i,d){var y=_.T;_.T=null;var v=G.p;try{G.p=2,Wf(n,a,i,d)}finally{G.p=v,_.T=y}}function u2(n,a,i,d){var y=_.T;_.T=null;var v=G.p;try{G.p=8,Wf(n,a,i,d)}finally{G.p=v,_.T=y}}function Wf(n,a,i,d){if(Hc){var y=eh(d);if(y===null)Bf(n,a,d,Pc,i),F0(n,d);else if(f2(y,n,a,i,d))d.stopPropagation();else if(F0(n,d),a&4&&-1<d2.indexOf(n)){for(;y!==null;){var v=Dr(y);if(v!==null)switch(v.tag){case 3:if(v=v.stateNode,v.current.memoizedState.isDehydrated){var O=cn(v.pendingLanes);if(O!==0){var J=v;for(J.pendingLanes|=2,J.entangledLanes|=2;O;){var ae=1<<31-He(O);J.entanglements[1]|=ae,O&=~ae}ls(v),(Xt&6)===0&&(Nc=yt()+500,Ri(0))}}break;case 31:case 13:J=Ta(v,2),J!==null&&mr(J,v,2),Sc(),Jf(v,2)}if(v=eh(d),v===null&&Bf(n,a,d,Pc,i),v===y)break;y=v}y!==null&&d.stopPropagation()}else Bf(n,a,d,null,i)}}function eh(n){return n=it(n),th(n)}var Pc=null;function th(n){if(Pc=null,n=ar(n),n!==null){var a=c(n);if(a===null)n=null;else{var i=a.tag;if(i===13){if(n=u(a),n!==null)return n;n=null}else if(i===31){if(n=f(a),n!==null)return n;n=null}else if(i===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;n=null}else a!==n&&(n=null)}}return Pc=n,null}function V0(n){switch(n){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(Zt()){case ve:return 2;case Me:return 8;case Ue:case et:return 32;case Ge:return 268435456;default:return 32}default:return 32}}var nh=!1,ia=null,oa=null,ca=null,Pi=new Map,Ui=new Map,ua=[],d2="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 F0(n,a){switch(n){case"focusin":case"focusout":ia=null;break;case"dragenter":case"dragleave":oa=null;break;case"mouseover":case"mouseout":ca=null;break;case"pointerover":case"pointerout":Pi.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ui.delete(a.pointerId)}}function qi(n,a,i,d,y,v){return n===null||n.nativeEvent!==v?(n={blockedOn:a,domEventName:i,eventSystemFlags:d,nativeEvent:v,targetContainers:[y]},a!==null&&(a=Dr(a),a!==null&&U0(a)),n):(n.eventSystemFlags|=d,a=n.targetContainers,y!==null&&a.indexOf(y)===-1&&a.push(y),n)}function f2(n,a,i,d,y){switch(a){case"focusin":return ia=qi(ia,n,a,i,d,y),!0;case"dragenter":return oa=qi(oa,n,a,i,d,y),!0;case"mouseover":return ca=qi(ca,n,a,i,d,y),!0;case"pointerover":var v=y.pointerId;return Pi.set(v,qi(Pi.get(v)||null,n,a,i,d,y)),!0;case"gotpointercapture":return v=y.pointerId,Ui.set(v,qi(Ui.get(v)||null,n,a,i,d,y)),!0}return!1}function Y0(n){var a=ar(n.target);if(a!==null){var i=c(a);if(i!==null){if(a=i.tag,a===13){if(a=u(i),a!==null){n.blockedOn=a,Hn(n.priority,function(){q0(i)});return}}else if(a===31){if(a=f(i),a!==null){n.blockedOn=a,Hn(n.priority,function(){q0(i)});return}}else if(a===3&&i.stateNode.current.memoizedState.isDehydrated){n.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}n.blockedOn=null}function Uc(n){if(n.blockedOn!==null)return!1;for(var a=n.targetContainers;0<a.length;){var i=eh(n.nativeEvent);if(i===null){i=n.nativeEvent;var d=new i.constructor(i.type,i);at=d,i.target.dispatchEvent(d),at=null}else return a=Dr(i),a!==null&&U0(a),n.blockedOn=i,!1;a.shift()}return!0}function G0(n,a,i){Uc(n)&&i.delete(a)}function h2(){nh=!1,ia!==null&&Uc(ia)&&(ia=null),oa!==null&&Uc(oa)&&(oa=null),ca!==null&&Uc(ca)&&(ca=null),Pi.forEach(G0),Ui.forEach(G0)}function qc(n,a){n.blockedOn===a&&(n.blockedOn=null,nh||(nh=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,h2)))}var Vc=null;function X0(n){Vc!==n&&(Vc=n,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){Vc===n&&(Vc=null);for(var a=0;a<n.length;a+=3){var i=n[a],d=n[a+1],y=n[a+2];if(typeof d!="function"){if(th(d||i)===null)continue;break}var v=Dr(i);v!==null&&(n.splice(a,3),a-=3,Wd(v,{pending:!0,data:y,method:i.method,action:d},d,y))}}))}function Ml(n){function a(ae){return qc(ae,n)}ia!==null&&qc(ia,n),oa!==null&&qc(oa,n),ca!==null&&qc(ca,n),Pi.forEach(a),Ui.forEach(a);for(var i=0;i<ua.length;i++){var d=ua[i];d.blockedOn===n&&(d.blockedOn=null)}for(;0<ua.length&&(i=ua[0],i.blockedOn===null);)Y0(i),i.blockedOn===null&&ua.shift();if(i=(n.ownerDocument||n).$$reactFormReplay,i!=null)for(d=0;d<i.length;d+=3){var y=i[d],v=i[d+1],O=y[yn]||null;if(typeof v=="function")O||X0(i);else if(O){var J=null;if(v&&v.hasAttribute("formAction")){if(y=v,O=v[yn]||null)J=O.formAction;else if(th(y)!==null)continue}else J=O.action;typeof J=="function"?i[d+1]=J:(i.splice(d,3),d-=3),X0(i)}}}function Z0(){function n(v){v.canIntercept&&v.info==="react-transition"&&v.intercept({handler:function(){return new Promise(function(O){return y=O})},focusReset:"manual",scroll:"manual"})}function a(){y!==null&&(y(),y=null),d||setTimeout(i,20)}function i(){if(!d&&!navigation.transition){var v=navigation.currentEntry;v&&v.url!=null&&navigation.navigate(v.url,{state:v.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var d=!1,y=null;return navigation.addEventListener("navigate",n),navigation.addEventListener("navigatesuccess",a),navigation.addEventListener("navigateerror",a),setTimeout(i,100),function(){d=!0,navigation.removeEventListener("navigate",n),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),y!==null&&(y(),y=null)}}}function rh(n){this._internalRoot=n}Fc.prototype.render=rh.prototype.render=function(n){var a=this._internalRoot;if(a===null)throw Error(l(409));var i=a.current,d=Er();H0(i,d,n,a,null,null)},Fc.prototype.unmount=rh.prototype.unmount=function(){var n=this._internalRoot;if(n!==null){this._internalRoot=null;var a=n.containerInfo;H0(n.current,2,null,n,null,null),Sc(),a[Pn]=null}};function Fc(n){this._internalRoot=n}Fc.prototype.unstable_scheduleHydration=function(n){if(n){var a=Bn();n={blockedOn:null,target:n,priority:a};for(var i=0;i<ua.length&&a!==0&&a<ua[i].priority;i++);ua.splice(i,0,n),i===0&&Y0(n)}};var Q0=r.version;if(Q0!=="19.2.4")throw Error(l(527,Q0,"19.2.4"));G.findDOMNode=function(n){var a=n._reactInternals;if(a===void 0)throw typeof n.render=="function"?Error(l(188)):(n=Object.keys(n).join(","),Error(l(268,n)));return n=h(a),n=n!==null?x(n):null,n=n===null?null:n.stateNode,n};var m2={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:_,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Yc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Yc.isDisabled&&Yc.supportsFiber)try{jt=Yc.inject(m2),vt=Yc}catch{}}return Fi.createRoot=function(n,a){if(!o(n))throw Error(l(299));var i=!1,d="",y=rp,v=sp,O=ap;return a!=null&&(a.unstable_strictMode===!0&&(i=!0),a.identifierPrefix!==void 0&&(d=a.identifierPrefix),a.onUncaughtError!==void 0&&(y=a.onUncaughtError),a.onCaughtError!==void 0&&(v=a.onCaughtError),a.onRecoverableError!==void 0&&(O=a.onRecoverableError)),a=$0(n,1,!1,null,null,i,d,null,y,v,O,Z0),n[Pn]=a.current,$f(n),new rh(a)},Fi.hydrateRoot=function(n,a,i){if(!o(n))throw Error(l(299));var d=!1,y="",v=rp,O=sp,J=ap,ae=null;return i!=null&&(i.unstable_strictMode===!0&&(d=!0),i.identifierPrefix!==void 0&&(y=i.identifierPrefix),i.onUncaughtError!==void 0&&(v=i.onUncaughtError),i.onCaughtError!==void 0&&(O=i.onCaughtError),i.onRecoverableError!==void 0&&(J=i.onRecoverableError),i.formState!==void 0&&(ae=i.formState)),a=$0(n,1,!0,a,i??null,d,y,ae,v,O,J,Z0),a.context=B0(null),i=a.current,d=Er(),d=hn(d),y=Zs(d),y.callback=null,Qs(i,y,d),i=d,a.current.lanes=i,De(a,i),ls(a),n[Pn]=a.current,$f(n),new Fc(a)},Fi.version="19.2.4",Fi}var lb;function k2(){if(lb)return lh.exports;lb=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(r){console.error(r)}}return e(),lh.exports=N2(),lh.exports}var S2=k2();const Qh="/api";async function fe(e,r){const s=await fetch(`${Qh}${e}`,{headers:{"Content-Type":"application/json"},credentials:"include",...r,body:r?.body?typeof r.body=="string"?r.body:JSON.stringify(r.body):void 0});if(!s.ok){let l="";try{const o=await s.json();l=o.error??o.message??""}catch{}throw new Error(l||`API error: ${s.status}`)}return s.json()}const le={agents:{list:()=>fe("/agents"),get:e=>fe(`/agents/${e}`),create:(e,r,s,l)=>fe("/agents",{method:"POST",body:JSON.stringify({name:e,roleName:r,agentRole:s,teamId:l})}),start:e=>fe(`/agents/${e}/start`,{method:"POST"}),stop:e=>fe(`/agents/${e}/stop`,{method:"POST"}),remove:(e,r)=>fe(`/agents/${e}${r?.purgeFiles?"?purgeFiles=true":""}`,{method:"DELETE"}),updateConfig:(e,r)=>fe(`/agents/${e}/config`,{method:"PATCH",body:JSON.stringify(r)}),getMemory:e=>fe(`/agents/${e}/memory`),getMemorySession:(e,r)=>fe(`/agents/${e}/memory/sessions/${encodeURIComponent(r)}`),updateDailyMemory:(e,r)=>fe(`/agents/${e}/memory/daily`,{method:"PUT",body:JSON.stringify({content:r})}),updateLongTermMemory:(e,r,s)=>fe(`/agents/${e}/memory/longterm`,{method:"PUT",body:JSON.stringify({key:r,content:s})}),getFiles:e=>fe(`/agents/${e}/files`),getFilesMap:e=>fe(`/agents/${e}/files`),updateFile:(e,r,s)=>fe(`/agents/${e}/files/${encodeURIComponent(r)}`,{method:"PUT",body:JSON.stringify({content:s})}),updateSystemPrompt:(e,r)=>fe(`/agents/${e}/system-prompt`,{method:"PUT",body:JSON.stringify({systemPrompt:r})}),roleStatus:e=>fe(`/agents/${e}/role-status`),roleDiff:(e,r="ROLE.md")=>fe(`/agents/${e}/role-diff?file=${encodeURIComponent(r)}`),roleSync:(e,r)=>fe(`/agents/${e}/role-sync`,{method:"POST",body:JSON.stringify(r?{files:r}:{})}),roleUpdates:()=>fe("/agents/role-updates"),addSkill:(e,r)=>fe(`/agents/${e}/skills`,{method:"POST",body:JSON.stringify({skillName:r})}),removeSkill:(e,r)=>fe(`/agents/${e}/skills/${encodeURIComponent(r)}`,{method:"DELETE"}),getHeartbeat:e=>fe(`/agents/${e}/heartbeat`),triggerHeartbeat:e=>fe(`/agents/${e}/heartbeat/trigger`,{method:"POST"}),getRecentActivities:e=>fe(`/agents/${e}/recent-activities`),getActivityLogs:(e,r)=>fe(`/agents/${e}/activity-logs?activityId=${encodeURIComponent(r)}`),getActivities:(e,r)=>{const s=new URLSearchParams;r?.type&&s.set("type",r.type),r?.limit&&s.set("limit",String(r.limit)),r?.before&&s.set("before",r.before);const l=s.toString();return fe(`/agents/${e}/activities${l?"?"+l:""}`)},message:(e,r,s,l)=>fe(`/agents/${e}/message`,{method:"POST",body:JSON.stringify({text:r,images:s,sessionId:l??void 0})}),messageStream:(e,r,s,l,o,c,u)=>new Promise(async(f,m)=>{let h="",x;try{const g=await fetch(`${Qh}/agents/${e}/message`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({text:r,stream:!0,images:c,sessionId:u??void 0}),signal:o});if(!g.ok){m(new Error(`API error: ${g.status}`));return}const b=g.body?.getReader();if(!b){m(new Error("No reader"));return}const p=new TextDecoder;let w="";for(;;){const{done:S,value:T}=await b.read();if(S)break;w+=p.decode(T,{stream:!0});const E=w.split(`
10
+ `);w=E.pop()??"";for(const C of E){const N=C.trim();if(N.startsWith("data: "))try{const k=JSON.parse(N.slice(6));if(k.type==="text_delta"&&k.text)h+=k.text,s(k.text);else if(k.type==="thinking_delta"&&k.thinking)s?.(`<think>${k.thinking}</think>`);else if(k.type==="done")h=k.content??h,k.sessionId&&(x=k.sessionId);else if(k.type==="error"){const H=k;H.sessionId&&(x=H.sessionId);const M=new Error(H.message??H.error??"Unknown stream error");M.sessionId=H.sessionId,m(M),b.cancel().catch(()=>{});return}else k.type==="tool_call_start"&&k.toolCall?.name?l?.({tool:k.toolCall.name,phase:"start"}):k.type==="agent_tool"&&k.tool&&k.phase?k.phase==="start"?l?.({tool:k.tool,phase:"start",arguments:k.arguments}):k.phase==="end"&&l?.({tool:k.tool,phase:"end",success:k.success,arguments:k.arguments,result:k.result,error:k.error,durationMs:k.durationMs}):k.type==="tool_output"&&k.tool&&l?.({tool:k.tool,phase:"output",output:k.text})}catch{}}}f({content:h,sessionId:x})}catch(g){g instanceof Error&&g.name==="AbortError"?f({content:h,sessionId:x}):m(g)}})},roles:{list:()=>fe("/roles")},teams:{list:e=>fe(`/teams?orgId=${e??"default"}`),create:(e,r)=>fe("/teams",{method:"POST",body:JSON.stringify({name:e,description:r})}),update:(e,r)=>fe(`/teams/${e}`,{method:"PATCH",body:JSON.stringify(r)}),delete:(e,r,s)=>fe(`/teams/${e}?deleteMembers=${r?"true":"false"}${s?.purgeFiles?"&purgeFiles=true":""}`,{method:"DELETE"}),addMember:(e,r,s)=>fe(`/teams/${e}/members`,{method:"POST",body:JSON.stringify({memberId:r,memberType:s})}),removeMember:(e,r)=>fe(`/teams/${e}/members/${r}`,{method:"DELETE"}),startAll:e=>fe(`/teams/${e}/start`,{method:"POST"}),stopAll:e=>fe(`/teams/${e}/stop`,{method:"POST"}),pauseAll:(e,r)=>fe(`/teams/${e}/pause`,{method:"POST",body:JSON.stringify({reason:r})}),resumeAll:e=>fe(`/teams/${e}/resume`,{method:"POST"}),status:e=>fe(`/teams/${e}/status`),getFiles:e=>fe(`/teams/${e}/files`),getFile:(e,r)=>fe(`/teams/${e}/files/${encodeURIComponent(r)}`),updateFile:(e,r,s)=>fe(`/teams/${e}/files/${encodeURIComponent(r)}`,{method:"PUT",body:JSON.stringify({content:s})}),exportTeam:e=>fe(`/teams/${e}/export`,{method:"POST"}),getFilesMap:e=>fe(`/teams/${e}/export`)},externalAgents:{list:e=>fe(`/external-agents?orgId=${e??"default"}`)},tasks:{list:e=>{const r=new URLSearchParams;e?.assignedAgentId&&r.set("assignedAgentId",e.assignedAgentId),e?.status&&r.set("status",e.status),e?.projectId&&r.set("projectId",e.projectId);const s=r.toString();return fe(`/tasks${s?`?${s}`:""}`)},get:e=>fe(`/tasks/${e}`),create:(e,r,s,l,o,c,u,f,m,h)=>fe("/tasks",{method:"POST",body:JSON.stringify({title:e,description:r,assignedAgentId:s,reviewerAgentId:l,priority:o,projectId:c,blockedBy:u,requirementId:f,taskType:m,scheduleConfig:h})}),update:(e,r)=>fe(`/tasks/${e}`,{method:"PUT",body:JSON.stringify(r)}),updateStatus:(e,r)=>fe(`/tasks/${e}`,{method:"PUT",body:JSON.stringify({status:r})}),assign:(e,r)=>fe(`/tasks/${e}`,{method:"PUT",body:JSON.stringify({assignedAgentId:r})}),approve:e=>fe(`/tasks/${e}/approve`,{method:"POST"}),reject:e=>fe(`/tasks/${e}/reject`,{method:"POST"}),cancel:(e,r=!1)=>fe(`/tasks/${e}/cancel`,{method:"POST",body:JSON.stringify({cascade:r})}),getDependentCount:e=>fe(`/tasks/${e}/dependents`),board:e=>{const r=new URLSearchParams;e?.projectId&&r.set("projectId",e.projectId);const s=r.toString();return fe(`/taskboard${s?`?${s}`:""}`)},listSubtasks:e=>fe(`/tasks/${e}/subtasks`),createSubtask:(e,r)=>fe(`/tasks/${e}/subtasks`,{method:"POST",body:JSON.stringify({title:r})}),completeSubtask:(e,r)=>fe(`/tasks/${e}/subtasks/${r}/complete`,{method:"POST"}),cancelSubtask:(e,r)=>fe(`/tasks/${e}/subtasks/${r}/cancel`,{method:"POST"}),deleteSubtask:(e,r)=>fe(`/tasks/${e}/subtasks/${r}`,{method:"DELETE"}),run:e=>fe(`/tasks/${e}/run`,{method:"POST"}),getLogs:e=>fe(`/tasks/${e}/logs`),accept:(e,r)=>fe(`/tasks/${e}/accept`,{method:"POST",body:JSON.stringify({reviewerAgentId:r??"human"})}),revision:(e,r,s)=>fe(`/tasks/${e}/revision`,{method:"POST",body:JSON.stringify({reason:r,reviewerAgentId:s??"human"})}),archive:e=>fe(`/tasks/${e}/archive`,{method:"POST"}),pause:e=>fe(`/tasks/${e}/pause`,{method:"POST"}),resume:e=>fe(`/tasks/${e}/resume`,{method:"POST"}),retry:e=>fe(`/tasks/${e}/retry`,{method:"POST"}),getComments:e=>fe(`/tasks/${e}/comments`),addComment:(e,r,s,l,o)=>fe(`/tasks/${e}/comments`,{method:"POST",body:JSON.stringify({content:r,authorId:o??"human",authorName:s??"User",authorType:"human",attachments:l})}),pauseSchedule:e=>fe(`/tasks/${e}/schedule/pause`,{method:"POST"}),resumeSchedule:e=>fe(`/tasks/${e}/schedule/resume`,{method:"POST"}),runNow:e=>fe(`/tasks/${e}/schedule/run-now`,{method:"POST"}),deliverables:e=>{const r=e?`?projectId=${encodeURIComponent(e)}`:"";return fe(`/tasks/deliverables${r}`)}},files:{preview:e=>fe(`/files/preview?path=${encodeURIComponent(e)}`),reveal:e=>fe("/files/reveal",{method:"POST",body:JSON.stringify({path:e})})},requirements:{list:e=>{const r=new URLSearchParams;e?.orgId&&r.set("orgId",e.orgId),e?.status&&r.set("status",e.status),e?.source&&r.set("source",e.source),e?.projectId&&r.set("projectId",e.projectId);const s=r.toString();return fe(`/requirements${s?`?${s}`:""}`)},get:e=>fe(`/requirements/${e}`),create:e=>fe("/requirements",{method:"POST",body:JSON.stringify(e)}),update:(e,r)=>fe(`/requirements/${e}`,{method:"PUT",body:JSON.stringify(r)}),updateStatus:(e,r)=>fe(`/requirements/${e}/status`,{method:"POST",body:JSON.stringify({status:r})}),approve:e=>fe(`/requirements/${e}/approve`,{method:"POST"}),reject:(e,r)=>fe(`/requirements/${e}/reject`,{method:"POST",body:JSON.stringify({reason:r})}),delete:e=>fe(`/requirements/${e}`,{method:"DELETE"})},users:{list:e=>fe(`/users?orgId=${e??"default"}`),create:(e,r,s,l,o,c)=>fe("/users",{method:"POST",body:JSON.stringify({name:e,role:r,orgId:s,email:l,password:o,teamId:c})}),remove:e=>fe(`/users/${e}`,{method:"DELETE"})},message:{send:(e,r)=>fe("/message",{method:"POST",body:JSON.stringify({text:e,...r})}),sendStream:(e,r,s,l)=>new Promise(async(o,c)=>{let u="",f="";try{const{signal:m,...h}=s??{},x=await fetch(`${Qh}/message`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({text:e,stream:!0,...h}),signal:m});if(!x.ok){c(new Error(`API error: ${x.status}`));return}const g=x.body?.getReader();if(!g){c(new Error("No reader"));return}const b=new TextDecoder;let p="";for(;;){const{done:w,value:S}=await g.read();if(w)break;p+=b.decode(S,{stream:!0});const T=p.split(`
11
+ `);p=T.pop()??"";for(const E of T){const C=E.trim();if(C.startsWith("data: "))try{const N=JSON.parse(C.slice(6));if(N.type==="text_delta"&&N.text)u+=N.text,r(N.text);else if(N.type==="thinking_delta"&&N.thinking)r(`<think>${N.thinking}</think>`);else if(N.type==="done")u=N.content??u,f=N.agentId??f;else if(N.type==="error"){const k=N,H=new Error(k.message??k.error??"Unknown stream error");H.sessionId=k.sessionId,c(H),g.cancel().catch(()=>{});return}else N.type==="tool_call_start"&&N.toolCall?.name?l?.({tool:N.toolCall.name,phase:"start"}):N.type==="agent_tool"&&N.tool&&N.phase?N.phase==="start"?l?.({tool:N.tool,phase:"start",arguments:N.arguments}):N.phase==="end"&&l?.({tool:N.tool,phase:"end",success:N.success,arguments:N.arguments,result:N.result,error:N.error,durationMs:N.durationMs}):N.type==="tool_output"&&N.tool&&l?.({tool:N.tool,phase:"output",output:N.text})}catch{}}}o({content:u,agentId:f})}catch(m){m instanceof Error&&m.name==="AbortError"?o({content:u,agentId:f}):c(m)}})},teamTemplates:{list:e=>{const r=e?`?q=${encodeURIComponent(e)}`:"";return fe(`/team-templates${r}`)},get:e=>fe(`/team-templates/${e}`)},ops:{dashboard:(e="24h")=>fe(`/ops/dashboard?period=${e}`)},agentMetrics:(e,r="24h")=>fe(`/agents/${e}/metrics?period=${r}`),usage:{summary:(e="default",r)=>{const s=new URLSearchParams({orgId:e});return r&&s.set("period",r),fe(`/usage?${s}`)},agents:(e="default")=>fe(`/usage/agents?orgId=${e}`)},health:()=>fe("/health"),system:{openPath:e=>fe("/system/open-path",{method:"POST",body:JSON.stringify({path:e})}),storage:()=>fe("/system/storage"),orphans:()=>fe("/system/storage/orphans"),purgeOrphans:e=>fe("/system/storage/orphans",{method:"DELETE",body:e?JSON.stringify({ids:e}):void 0})},settings:{getLlm:()=>fe("/settings/llm"),getAgent:()=>fe("/settings/agent"),updateAgent:e=>fe("/settings/agent",{method:"POST",body:JSON.stringify(e)})},skills:{list:()=>fe("/skills"),builtin:()=>fe("/skills/builtin"),registry:e=>fe(`/skills/registry${e?`?source=${e}`:""}`),registrySkillhub:e=>{const r=new URLSearchParams;e?.q&&r.set("q",e.q),e?.category&&r.set("category",e.category),e?.page&&r.set("page",String(e.page)),e?.limit&&r.set("limit",String(e.limit)),e?.sort&&r.set("sort",e.sort);const s=r.toString();return fe(`/skills/registry/skillhub${s?`?${s}`:""}`)},registrySkillssh:e=>fe(`/skills/registry/skillssh${e?`?q=${encodeURIComponent(e)}`:""}`),import:(e,r,s,l)=>fe("/skills/import",{method:"POST",body:JSON.stringify({name:e,sourceUrl:r,description:s,category:l})}),install:e=>fe("/skills/install",{method:"POST",body:JSON.stringify(e)}),uninstall:e=>fe(`/skills/installed/${encodeURIComponent(e)}`,{method:"DELETE"}),getFilesMap:e=>fe(`/skills/${encodeURIComponent(e)}/files`)},builder:{artifacts:{list:()=>fe("/builder/artifacts"),get:(e,r)=>fe(`/builder/artifacts/${e}s/${encodeURIComponent(r)}`),save:(e,r)=>fe("/builder/artifacts/save",{method:"POST",body:JSON.stringify({mode:e,artifact:r})}),import:(e,r,s,l)=>fe("/builder/artifacts/import",{method:"POST",body:JSON.stringify({type:e,name:r,files:s,source:l})}),install:(e,r)=>fe(`/builder/artifacts/${e}s/${encodeURIComponent(r)}/install`,{method:"POST"}),uninstall:(e,r)=>fe(`/builder/artifacts/${e}s/${encodeURIComponent(r)}/uninstall`,{method:"POST"}),delete:(e,r)=>fe(`/builder/artifacts/${e}s/${encodeURIComponent(r)}`,{method:"DELETE"}),installed:()=>fe("/builder/artifacts/installed")}},auth:{login:(e,r)=>fe("/auth/login",{method:"POST",body:JSON.stringify({email:e,password:r})}),logout:()=>fe("/auth/logout",{method:"POST"}),me:()=>fe("/auth/me"),changePassword:(e,r)=>fe("/auth/change-password",{method:"POST",body:JSON.stringify({currentPassword:e,newPassword:r})})},sessions:{listByAgent:(e,r=20)=>fe(`/agents/${e}/sessions?limit=${r}`),getMessages:(e,r=50,s)=>fe(`/sessions/${e}/messages?limit=${r}${s?`&before=${s}`:""}`),delete:e=>fe(`/sessions/${e}`,{method:"DELETE"})},channels:{getMessages:(e,r=50,s)=>fe(`/channels/${encodeURIComponent(e)}/messages?limit=${r}${s?`&before=${s}`:""}`),sendMessage:(e,r)=>fe(`/channels/${encodeURIComponent(e)}/messages`,{method:"POST",body:JSON.stringify(r)})},governance:{getSystemStatus:()=>fe("/system/status"),pauseAll:e=>fe("/system/pause-all",{method:"POST",body:JSON.stringify({reason:e})}),resumeAll:()=>fe("/system/resume-all",{method:"POST"}),emergencyStop:e=>fe("/system/emergency-stop",{method:"POST",body:JSON.stringify({reason:e})}),getAnnouncements:()=>fe("/system/announcements"),createAnnouncement:e=>fe("/system/announcements",{method:"POST",body:JSON.stringify(e)}),getPolicy:()=>fe("/governance/policy"),setPolicy:e=>fe("/governance/policy",{method:"PUT",body:JSON.stringify(e)})},projects:{list:e=>{const r=e?`?orgId=${e}`:"";return fe(`/projects${r}`)},get:e=>fe(`/projects/${e}`),create:e=>fe("/projects",{method:"POST",body:JSON.stringify(e)}),update:(e,r)=>fe(`/projects/${e}`,{method:"PUT",body:JSON.stringify(r)}),delete:e=>fe(`/projects/${e}`,{method:"DELETE"})},knowledge:{search:(e,r,s)=>{const l=new URLSearchParams;return e&&l.set("query",e),r&&l.set("scope",r),s&&l.set("category",s),fe(`/knowledge/search?${l}`)},contribute:e=>fe("/knowledge",{method:"POST",body:JSON.stringify(e)}),flagOutdated:(e,r)=>fe(`/knowledge/${e}/flag-outdated`,{method:"POST",body:JSON.stringify({reason:r})}),verify:e=>fe(`/knowledge/${e}/verify`,{method:"POST",body:JSON.stringify({verifiedBy:"human"})}),remove:e=>fe(`/knowledge/${e}`,{method:"DELETE"})},deliverables:{search:e=>{const r=new URLSearchParams;return e?.q&&r.set("q",e.q),e?.projectId&&r.set("projectId",e.projectId),e?.agentId&&r.set("agentId",e.agentId),e?.taskId&&r.set("taskId",e.taskId),e?.type&&r.set("type",e.type),e?.status&&r.set("status",e.status),e?.artifactType&&r.set("artifactType",e.artifactType),e?.offset&&r.set("offset",String(e.offset)),e?.limit&&r.set("limit",String(e.limit)),fe(`/deliverables?${r}`)},create:e=>fe("/deliverables",{method:"POST",body:JSON.stringify(e)}),update:(e,r)=>fe(`/deliverables/${e}`,{method:"PUT",body:JSON.stringify(r)}),remove:e=>fe(`/deliverables/${e}`,{method:"DELETE"}),verify:e=>fe(`/deliverables/${e}`,{method:"PUT",body:JSON.stringify({status:"verified"})})},reports:{list:()=>fe("/reports"),get:e=>fe(`/reports/${e}`),generate:e=>fe("/reports/generate",{method:"POST",body:JSON.stringify(e)}),approvePlan:(e,r)=>fe(`/reports/${e}/plan/approve`,{method:"POST",body:JSON.stringify(r)}),rejectPlan:(e,r)=>fe(`/reports/${e}/plan/reject`,{method:"POST",body:JSON.stringify(r)}),addFeedback:(e,r)=>fe(`/reports/${e}/feedback`,{method:"POST",body:JSON.stringify(r)}),getFeedback:e=>fe(`/reports/${e}/feedback`)}};class C2{ws=null;handlers=new Map;reconnectTimer=null;intentionalClose=!1;connect(){if(this.ws&&(this.ws.readyState===WebSocket.CONNECTING||this.ws.readyState===WebSocket.OPEN))return;this.intentionalClose=!1;const s=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`,l=new WebSocket(s);this.ws=l,l.onmessage=o=>{if(this.ws===l)try{const c=JSON.parse(o.data),u=this.handlers.get(c.type);if(u)for(const m of u)m(c);const f=this.handlers.get("*");if(f)for(const m of f)m(c)}catch{}},l.onclose=()=>{this.intentionalClose||(this.reconnectTimer=setTimeout(()=>this.connect(),3e3))},l.onerror=()=>{l.close()}}disconnect(){this.intentionalClose=!0,this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.ws&&(this.ws.onclose=null,this.ws.close(),this.ws=null)}on(r,s){return this.handlers.has(r)||this.handlers.set(r,new Set),this.handlers.get(r).add(s),()=>this.handlers.get(r)?.delete(s)}}const Cn=new C2;let xo=window.__MARKUS_HUB_URL__??"https://markus.global";fe("/settings/hub").then(e=>{e.hubUrl&&(xo=e.hubUrl);const r=localStorage.getItem("markus_hub_token");r&&fe("/settings/hub-token",{method:"POST",body:JSON.stringify({token:r})}).catch(()=>{})}).catch(()=>{});const Am="markus_hub_token",_m="markus_hub_user";function ya(){return localStorage.getItem(Am)}function E2(){try{const e=localStorage.getItem(_m);return e?JSON.parse(e):null}catch{return null}}function Vv(){localStorage.removeItem(Am),localStorage.removeItem(_m),Fv(null)}function Kh(e,r){localStorage.setItem(Am,e),localStorage.setItem(_m,JSON.stringify(r)),Fv(e)}function Fv(e){fe("/settings/hub-token",{method:"POST",body:JSON.stringify({token:e})}).catch(()=>{})}let Yi=null;function fa(){if(ya())return Promise.resolve();if(Yi)return Yi;const e=`cs_${Date.now()}_${Math.random().toString(36).slice(2,10)}`;return Yi=new Promise((r,s)=>{const l=`${xo}/auth/connect?session=${encodeURIComponent(e)}`,o=460,c=580,u=Math.round(window.screenX+(window.outerWidth-o)/2),f=Math.round(window.screenY+(window.outerHeight-c)/2),m=window.open(l,"markus_hub_auth",`popup=yes,width=${o},height=${c},left=${u},top=${f}`);let h=!1;const x=()=>{clearInterval(g),clearInterval(b),Yi=null},g=setInterval(async()=>{if(!h)try{const w=await(await fetch(`${xo}/api/auth/connect-status?session=${encodeURIComponent(e)}`)).json();w.ready&&w.token&&w.user&&(h=!0,Kh(w.token,w.user),x(),m?.close(),r())}catch{}},1500),b=setInterval(()=>{h||m?.closed&&(h=!0,x(),ya()?r():s(new Error("Hub login cancelled")))},500)}),Yi}async function Vr(e,r){const s=ya(),l={"Content-Type":"application/json",...r?.headers};s&&(l.Authorization=`Bearer ${s}`);const o=await fetch(`${xo}/api${e}`,{...r,headers:l}),c=await o.json();if(o.status===401&&s&&Vv(),!o.ok)throw new Error(c.error??`Hub HTTP ${o.status}`);return c}const Ln={getUrl:()=>xo,isAuthenticated:()=>!!ya(),getUser:E2,logout:()=>{Vv()},ensureAuth:fa,login:async(e,r)=>{const s=await Vr("/auth/login",{method:"POST",body:JSON.stringify({email:e,password:r})});return Kh(s.token,s.user),s},register:async(e,r,s)=>{const l=await Vr("/auth/register",{method:"POST",body:JSON.stringify({username:e,email:r,password:s})});return Kh(l.token,l.user),l},search:e=>{const r=new URLSearchParams;e?.type&&r.set("type",e.type),e?.q&&r.set("q",e.q),e?.category&&r.set("category",e.category),e?.sort&&r.set("sort",e.sort),e?.page&&r.set("page",String(e.page)),e?.limit&&r.set("limit",String(e.limit));const s=r.toString();return Vr(`/items${s?`?${s}`:""}`)},getItem:e=>Vr(`/items/${e}`),download:async e=>{await fa();try{return await Vr(`/items/${e}/download`,{method:"POST"})}catch(r){if(!ya())return await fa(),Vr(`/items/${e}/download`,{method:"POST"});throw r}},publish:async e=>{await fa();try{return await Vr("/items",{method:"POST",body:JSON.stringify(e)})}catch(r){if(!ya())return await fa(),Vr("/items",{method:"POST",body:JSON.stringify(e)});throw r}},publishViaProxy:async e=>{await fa();try{return await Vr("/items",{method:"POST",body:JSON.stringify(e)})}catch(r){if(!ya())return await fa(),Vr("/items",{method:"POST",body:JSON.stringify(e)});throw r}},myItems:async()=>ya()?Vr("/items/mine"):{items:[]},deleteItem:async e=>(await fa(),Vr(`/items/${e}`,{method:"DELETE"}))};let ib=null;const Ut={setHandler(e){ib=e},navigate(e,r){r&&Object.entries(r).forEach(([s,l])=>localStorage.setItem(`markus_nav_${s}`,l)),window.dispatchEvent(new CustomEvent("markus:navigate",{detail:{page:e,params:r}})),ib?.(e,r)}};function ob(){const[e,r]=j.useState([]),[s,l]=j.useState([]),[o,c]=j.useState({}),[u,f]=j.useState(null),[m,h]=j.useState("24h"),[x,g]=j.useState([]),[b,p]=j.useState(null),w=()=>{le.agents.list().then($=>r($.agents)).catch(()=>{}),le.teams.list().then($=>l($.teams)).catch(()=>{}),le.tasks.board().then($=>c($.board)).catch(()=>{}),le.ops.dashboard(m).then(f).catch(()=>{}),le.requirements.list({source:"agent"}).then($=>{g($.requirements.filter(X=>X.status==="draft"||X.status==="pending_review"))}).catch(()=>{}),le.system.storage().then(p).catch(()=>{})};j.useEffect(()=>{w();const $=setInterval(w,3e4),X=()=>w();return window.addEventListener("markus:data-changed",X),()=>{clearInterval($),window.removeEventListener("markus:data-changed",X)}},[m]);const S=$=>$,T={};for(const[$,X]of Object.entries(o)){const P=S(X).length;P>0&&(T[$]=P)}const E=T.pending_approval??0,C=T.in_progress??0,N=T.completed??0;T.failed;const k=Object.values(T).reduce(($,X)=>$+X,0),H=e.filter($=>$.status==="idle"||$.status==="working").length,M=e.filter($=>$.status==="working").length,Y=j.useMemo(()=>{const $=new Map(e.map(X=>[X.id,X]));return s.map(X=>{const P=X.members.filter(D=>D.type==="agent").map(D=>$.get(D.id)).filter(D=>!!D),U=P.filter(D=>D.status==="working").length,V=P.filter(D=>D.status==="idle"||D.status==="working").length;return{team:X,agents:P,working:U,active:V,total:P.length}})},[s,e]);return t.jsxs("div",{className:"flex-1 overflow-y-auto",children:[t.jsxs("div",{className:"flex items-center justify-between px-6 h-14 border-b border-border-default bg-surface-secondary",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("h2",{className:"text-lg font-semibold",children:"Overview"}),t.jsx("div",{className:"flex gap-1 bg-surface-elevated rounded-lg p-0.5",children:["1h","24h","7d"].map($=>t.jsx("button",{onClick:()=>h($),className:`px-2.5 py-1 text-xs rounded-md transition-colors ${m===$?"bg-brand-600 text-white":"text-fg-secondary hover:text-fg-primary"}`,children:$},$))})]}),t.jsx("div",{className:"flex gap-2",children:t.jsx("button",{onClick:()=>Ut.navigate("agents"),className:"px-4 py-2 bg-brand-600 hover:bg-brand-500 text-white text-sm rounded-lg transition-colors",children:"+ Hire Agent"})})]}),t.jsxs("div",{className:"p-7 space-y-6",children:[t.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:[t.jsx(Gc,{label:"Active Agents",value:H,total:e.length,color:"indigo",onClick:()=>Ut.navigate("team")}),t.jsx(Gc,{label:"Tasks In Progress",value:C,color:"blue",onClick:()=>Ut.navigate("tasks")}),t.jsx(Gc,{label:"Pending Queue",value:E,color:"amber",onClick:()=>Ut.navigate("tasks")}),t.jsx(Gc,{label:"Completed",value:N,total:k>0?k:void 0,color:"green",onClick:()=>Ut.navigate("tasks")})]}),k===0&&(!u||u.taskKPI.recentActivity.length===0)&&t.jsxs("div",{className:"bg-surface-secondary border border-brand-500/20 rounded-xl p-6",children:[t.jsx("h3",{className:"text-sm font-semibold text-fg-primary mb-1",children:"Getting Started"}),t.jsx("p",{className:"text-xs text-fg-secondary mb-4",children:"Your AI team is ready. Here are a few things to try first:"}),t.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-3",children:[{label:"Chat with Secretary",desc:"Your default team manager can help coordinate work",page:"team"},{label:"Browse Agent Templates",desc:"Hire specialized agents from the template library",page:"agents"},{label:"Create a Project",desc:"Set up a project with tasks and requirements",page:"projects"}].map($=>t.jsxs("button",{onClick:()=>Ut.navigate($.page),className:"text-left bg-surface-elevated/50 hover:bg-surface-elevated border border-border-default/50 hover:border-brand-500/30 rounded-lg p-4 transition-colors",children:[t.jsx("div",{className:"text-xs font-medium text-fg-primary",children:$.label}),t.jsx("div",{className:"text-[11px] text-fg-tertiary mt-1",children:$.desc})]},$.label))})]}),t.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[t.jsxs("div",{className:"lg:col-span-2 space-y-6",children:[k>0&&t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 cursor-pointer hover:border-gray-600 transition-colors",onClick:()=>Ut.navigate("tasks"),children:[t.jsx("h3",{className:"text-xs font-semibold text-fg-tertiary uppercase tracking-wider mb-4",children:"Task Distribution"}),t.jsx(A2,{statusCounts:T,total:k}),(T.blocked??0)>0&&t.jsxs("div",{className:"mt-3 text-xs text-amber-600 flex items-center gap-1.5",children:[t.jsx("span",{className:"w-1.5 h-1.5 bg-amber-400 rounded-full"}),T.blocked," blocked — needs attention"]})]}),t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:[t.jsxs("div",{className:"flex items-center justify-between mb-4",children:[t.jsx("h3",{className:"text-xs font-semibold text-fg-tertiary uppercase tracking-wider",children:"Team Status"}),t.jsx("button",{onClick:()=>Ut.navigate("team"),className:"text-[11px] text-fg-tertiary hover:text-fg-secondary",children:"View all →"})]}),Y.length===0&&e.length===0?t.jsx("div",{className:"text-sm text-fg-tertiary py-4 text-center cursor-pointer",onClick:()=>Ut.navigate("team"),children:"No teams yet. Create a team or hire agents to get started."}):t.jsxs("div",{className:"space-y-4",children:[Y.map($=>t.jsxs("div",{className:"bg-surface-elevated/30 border border-border-default/30 rounded-lg p-4 hover:border-brand-500/20 transition-colors cursor-pointer",onClick:()=>Ut.navigate("team"),children:[t.jsxs("div",{className:"flex items-center justify-between mb-3",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"w-7 h-7 rounded-lg bg-brand-600/30 flex items-center justify-center text-xs font-bold text-brand-500",children:$.team.name.charAt(0)}),t.jsxs("div",{children:[t.jsx("div",{className:"text-sm font-medium",children:$.team.name}),$.team.description&&t.jsx("div",{className:"text-[11px] text-fg-tertiary truncate max-w-[200px]",children:$.team.description})]})]}),t.jsxs("div",{className:"flex items-center gap-3 text-[11px] text-fg-tertiary",children:[t.jsxs("span",{children:[$.total," members"]}),$.working>0&&t.jsxs("span",{className:"text-brand-500",children:[$.working," working"]}),t.jsxs("span",{className:$.active===$.total?"text-green-600":"",children:[$.active," active"]})]})]}),t.jsxs("div",{className:"flex gap-2 flex-wrap",children:[$.agents.slice(0,6).map(X=>t.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 rounded bg-surface-overlay/30",onClick:P=>{P.stopPropagation(),Ut.navigate("team",{selectAgent:X.id})},children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${X.status==="idle"?"bg-green-400":X.status==="working"?"bg-brand-400 animate-pulse":"bg-gray-600"}`}),t.jsx("span",{className:"text-[11px] text-fg-secondary",children:X.name})]},X.id)),$.agents.length>6&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary self-center",children:["+",$.agents.length-6," more"]})]})]},$.team.id)),(()=>{const $=new Set(s.flatMap(P=>P.members.filter(U=>U.type==="agent").map(U=>U.id))),X=e.filter(P=>!$.has(P.id));return X.length===0?null:t.jsxs("div",{className:"bg-surface-elevated/20 border border-border-default/20 rounded-lg p-4",children:[t.jsxs("div",{className:"flex items-center justify-between mb-3",children:[t.jsx("div",{className:"text-xs text-fg-tertiary font-medium",children:"Unassigned Agents"}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[X.length," agents"]})]}),t.jsxs("div",{className:"flex gap-2 flex-wrap",children:[X.slice(0,6).map(P=>t.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 rounded bg-surface-overlay/30 cursor-pointer",onClick:()=>Ut.navigate("team",{selectAgent:P.id}),children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${P.status==="idle"?"bg-green-400":P.status==="working"?"bg-brand-400 animate-pulse":"bg-gray-600"}`}),t.jsx("span",{className:"text-[11px] text-fg-secondary",children:P.name})]},P.id)),X.length>6&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary self-center",children:["+",X.length-6," more"]})]})]})})()]})]})]}),t.jsxs("div",{className:"space-y-6",children:[x.length>0&&t.jsxs("div",{className:"bg-surface-secondary border border-amber-500/30 rounded-xl p-5",children:[t.jsxs("div",{className:"flex items-center justify-between mb-3",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"w-2 h-2 bg-amber-400 rounded-full animate-pulse"}),t.jsx("h3",{className:"text-xs font-semibold text-amber-600 uppercase tracking-wider",children:"Pending Reviews"})]}),t.jsx("button",{onClick:()=>Ut.navigate("projects"),className:"text-[11px] text-fg-tertiary hover:text-fg-secondary",children:"Review →"})]}),t.jsxs("div",{className:"space-y-2",children:[x.slice(0,5).map($=>t.jsxs("div",{className:"flex items-start gap-2.5 py-2 px-2.5 rounded-lg bg-surface-elevated/40 hover:bg-surface-elevated/60 transition-colors cursor-pointer",onClick:()=>Ut.navigate("projects"),children:[t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-xs text-fg-primary font-medium truncate",children:$.title}),t.jsxs("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:["proposed by ",$.createdBy," · ",$.priority]})]}),t.jsx("span",{className:"text-[10px] bg-amber-500/15 text-amber-600 px-1.5 py-0.5 rounded-full shrink-0",children:$.source==="agent"?"Agent":"User"})]},$.id)),x.length>5&&t.jsxs("div",{className:"text-[10px] text-fg-tertiary text-center pt-1",children:["+",x.length-5," more"]})]}),t.jsxs("p",{className:"text-[10px] text-fg-tertiary mt-3",children:["Agents proposed ",x.length," requirement",x.length>1?"s":""," — review to authorize work."]})]}),u&&u.taskKPI.recentActivity.length>0&&t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:[t.jsxs("div",{className:"flex items-center justify-between mb-3",children:[t.jsx("h3",{className:"text-xs font-semibold text-fg-tertiary uppercase tracking-wider",children:"Recent Activity"}),t.jsx("button",{onClick:()=>Ut.navigate("tasks"),className:"text-[11px] text-fg-tertiary hover:text-fg-secondary",children:"View all →"})]}),t.jsx("div",{className:"space-y-1.5",children:u.taskKPI.recentActivity.slice(0,8).map($=>t.jsxs("div",{className:"flex items-center gap-2.5 py-1.5 px-2 rounded-lg hover:bg-surface-elevated/40 transition-colors cursor-pointer",onClick:()=>Ut.navigate("tasks",{openTask:$.taskId}),children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${Jh[$.status]??"bg-gray-500"}`}),t.jsx("span",{className:"text-xs text-fg-secondary truncate flex-1",children:$.title}),t.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:new Date($.updatedAt).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]},$.taskId))})]}),u&&t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:[t.jsx("h3",{className:"text-xs font-semibold text-fg-tertiary uppercase tracking-wider mb-4",children:"System Health"}),t.jsxs("div",{className:"space-y-3",children:[t.jsx(Gi,{label:"Health Score",value:u.systemHealth.overallScore,max:100,unit:"%",color:u.systemHealth.overallScore>=80?"green":u.systemHealth.overallScore>=50?"amber":"red"}),t.jsx(Gi,{label:"Success Rate",value:u.taskKPI.successRate,max:100,unit:"%",color:u.taskKPI.successRate>=80?"green":"amber"}),t.jsx(Gi,{label:"Active / Total",value:H,max:e.length||1,unit:`/${e.length}`,color:"brand"}),t.jsx(Gi,{label:"Token Cost",value:parseFloat(u.systemHealth.totalTokenCost.toFixed(2)),max:Math.max(1,Math.ceil(u.systemHealth.totalTokenCost*2)),unit:"$",color:"brand",raw:!0}),t.jsx(Gi,{label:"Working Now",value:M,max:e.length||1,unit:`/${e.length}`,color:"blue"})]}),u.systemHealth.criticalAgents.length>0&&t.jsx("div",{className:"mt-4 pt-3 border-t border-border-default",children:t.jsxs("div",{className:"flex items-center gap-2 text-xs text-red-500 flex-wrap",children:[t.jsx("span",{className:"w-2 h-2 bg-red-500 rounded-full animate-pulse"}),"Needs attention:",u.systemHealth.criticalAgents.map($=>t.jsxs("span",{className:"px-2 py-0.5 bg-red-500/10 rounded text-red-500 cursor-pointer hover:bg-red-500/20",onClick:()=>Ut.navigate("team",{selectAgent:$.id}),children:[$.name," (",$.score,"%)"]},$.id))]})})]}),b&&t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 cursor-pointer hover:border-brand-500/30 transition-colors",onClick:()=>Ut.navigate("settings"),children:[t.jsx("h3",{className:"text-xs font-semibold text-fg-tertiary uppercase tracking-wider mb-3",children:"Storage"}),t.jsxs("div",{className:"flex items-baseline gap-2",children:[t.jsx("span",{className:"text-2xl font-bold text-fg-primary",children:cb(b.totalSize)}),t.jsx("span",{className:"text-xs text-fg-tertiary",children:"total"})]}),t.jsxs("div",{className:"mt-2 flex gap-4 text-xs text-fg-tertiary",children:[t.jsxs("span",{children:["DB: ",cb(b.database.size)]}),t.jsxs("span",{children:["Agents: ",b.agents.length]})]}),t.jsx("div",{className:"mt-2 text-[10px] text-fg-tertiary",children:"Click to view details in Settings"})]})]})]})]})]})}const Jh={pending_approval:"bg-amber-500",in_progress:"bg-brand-500",blocked:"bg-red-500",review:"bg-blue-500",completed:"bg-green-500",failed:"bg-red-500",cancelled:"bg-gray-600"},T2={pending_approval:"text-amber-600",in_progress:"text-brand-500",blocked:"text-red-500",review:"text-blue-600",completed:"text-green-600",failed:"text-red-500",cancelled:"text-fg-tertiary"};function A2({statusCounts:e,total:r}){const s=Object.entries(e).filter(([,l])=>l>0).sort(([,l],[,o])=>o-l);return t.jsxs("div",{children:[t.jsx("div",{className:"flex h-4 rounded-full overflow-hidden gap-0.5 mb-4",children:s.map(([l,o])=>t.jsx("div",{className:`${Jh[l]??"bg-gray-600"} transition-all`,style:{width:`${o/r*100}%`},title:`${l}: ${o}`},l))}),t.jsx("div",{className:"flex gap-4 flex-wrap",children:s.map(([l,o])=>t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx("span",{className:`w-2.5 h-2.5 rounded-sm ${Jh[l]??"bg-gray-600"}`}),t.jsx("span",{className:"text-xs text-fg-secondary capitalize",children:l.replace(/_/g," ")}),t.jsx("span",{className:`text-xs font-semibold ${T2[l]??"text-fg-secondary"}`,children:o})]},l))})]})}function Gc({label:e,value:r,total:s,color:l,onClick:o}){const c={indigo:{text:"text-brand-500",border:"border-l-brand-500"},blue:{text:"text-blue-600",border:"border-l-blue-500"},amber:{text:"text-amber-600",border:"border-l-amber-500"},green:{text:"text-green-600",border:"border-l-green-500"}},u=c[l]??c.indigo;return t.jsxs("div",{onClick:o,className:`bg-surface-secondary border border-border-default ${u.border} border-l-2 rounded-xl p-5 cursor-pointer hover:bg-surface-elevated transition-all`,children:[t.jsx("div",{className:"text-xs text-fg-tertiary mb-2",children:e}),t.jsxs("div",{className:`text-3xl font-bold ${u.text}`,children:[r,s!==void 0&&t.jsxs("span",{className:"text-base font-normal text-fg-muted",children:["/",s]})]})]})}function Gi({label:e,value:r,max:s,unit:l,color:o,raw:c}){const u=s>0?Math.min(r/s*100,100):0,f={green:"bg-green-400",amber:"bg-amber-400",red:"bg-red-400",brand:"bg-brand-400",blue:"bg-blue-400"},m={green:"text-green-600",amber:"text-amber-600",red:"text-red-500",brand:"text-brand-500",blue:"text-blue-600"},h=f[o]??"bg-gray-400",x=m[o]??"text-fg-secondary";return t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-baseline justify-between mb-1.5",children:[t.jsx("span",{className:"text-[11px] text-fg-tertiary",children:e}),t.jsx("span",{className:`text-sm font-semibold ${x}`,children:c?`${l}${r}`:t.jsxs(t.Fragment,{children:[r,t.jsx("span",{className:"text-[10px] font-normal text-fg-tertiary",children:l})]})})]}),t.jsx("div",{className:"w-full h-1.5 bg-surface-elevated rounded-full overflow-hidden",children:t.jsx("div",{className:`h-full rounded-full ${h} transition-all`,style:{width:`${u}%`}})})]})}function cb(e){if(e===0)return"0 B";const r=["B","KB","MB","GB"],s=Math.min(Math.floor(Math.log(e)/Math.log(1024)),r.length-1),l=e/Math.pow(1024,s);return`${l<10?l.toFixed(1):Math.round(l)} ${r[s]}`}function _2(e,r){const s={};return(e[e.length-1]===""?[...e,""]:e).join((s.padRight?" ":"")+","+(s.padLeft===!1?"":" ")).trim()}const M2=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,D2=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,O2={};function ub(e,r){return(O2.jsx?D2:M2).test(e)}const R2=/[ \t\n\f\r]/g;function z2(e){return typeof e=="object"?e.type==="text"?db(e.value):!1:db(e)}function db(e){return e.replace(R2,"")===""}class _o{constructor(r,s,l){this.normal=s,this.property=r,l&&(this.space=l)}}_o.prototype.normal={};_o.prototype.property={};_o.prototype.space=void 0;function Yv(e,r){const s={},l={};for(const o of e)Object.assign(s,o.property),Object.assign(l,o.normal);return new _o(s,l,r)}function Wh(e){return e.toLowerCase()}class br{constructor(r,s){this.attribute=s,this.property=r}}br.prototype.attribute="";br.prototype.booleanish=!1;br.prototype.boolean=!1;br.prototype.commaOrSpaceSeparated=!1;br.prototype.commaSeparated=!1;br.prototype.defined=!1;br.prototype.mustUseProperty=!1;br.prototype.number=!1;br.prototype.overloadedBoolean=!1;br.prototype.property="";br.prototype.spaceSeparated=!1;br.prototype.space=void 0;let L2=0;const Ct=tl(),zn=tl(),em=tl(),Ie=tl(),dn=tl(),Hl=tl(),Tr=tl();function tl(){return 2**++L2}const tm=Object.freeze(Object.defineProperty({__proto__:null,boolean:Ct,booleanish:zn,commaOrSpaceSeparated:Tr,commaSeparated:Hl,number:Ie,overloadedBoolean:em,spaceSeparated:dn},Symbol.toStringTag,{value:"Module"})),uh=Object.keys(tm);class Mm extends br{constructor(r,s,l,o){let c=-1;if(super(r,s),fb(this,"space",o),typeof l=="number")for(;++c<uh.length;){const u=uh[c];fb(this,uh[c],(l&tm[u])===tm[u])}}}Mm.prototype.defined=!0;function fb(e,r,s){s&&(e[r]=s)}function ei(e){const r={},s={};for(const[l,o]of Object.entries(e.properties)){const c=new Mm(l,e.transform(e.attributes||{},l),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(l)&&(c.mustUseProperty=!0),r[l]=c,s[Wh(l)]=l,s[Wh(c.attribute)]=l}return new _o(r,s,e.space)}const Gv=ei({properties:{ariaActiveDescendant:null,ariaAtomic:zn,ariaAutoComplete:null,ariaBusy:zn,ariaChecked:zn,ariaColCount:Ie,ariaColIndex:Ie,ariaColSpan:Ie,ariaControls:dn,ariaCurrent:null,ariaDescribedBy:dn,ariaDetails:null,ariaDisabled:zn,ariaDropEffect:dn,ariaErrorMessage:null,ariaExpanded:zn,ariaFlowTo:dn,ariaGrabbed:zn,ariaHasPopup:null,ariaHidden:zn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:dn,ariaLevel:Ie,ariaLive:null,ariaModal:zn,ariaMultiLine:zn,ariaMultiSelectable:zn,ariaOrientation:null,ariaOwns:dn,ariaPlaceholder:null,ariaPosInSet:Ie,ariaPressed:zn,ariaReadOnly:zn,ariaRelevant:null,ariaRequired:zn,ariaRoleDescription:dn,ariaRowCount:Ie,ariaRowIndex:Ie,ariaRowSpan:Ie,ariaSelected:zn,ariaSetSize:Ie,ariaSort:null,ariaValueMax:Ie,ariaValueMin:Ie,ariaValueNow:Ie,ariaValueText:null,role:null},transform(e,r){return r==="role"?r:"aria-"+r.slice(4).toLowerCase()}});function Xv(e,r){return r in e?e[r]:r}function Zv(e,r){return Xv(e,r.toLowerCase())}const I2=ei({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Hl,acceptCharset:dn,accessKey:dn,action:null,allow:null,allowFullScreen:Ct,allowPaymentRequest:Ct,allowUserMedia:Ct,alt:null,as:null,async:Ct,autoCapitalize:null,autoComplete:dn,autoFocus:Ct,autoPlay:Ct,blocking:dn,capture:null,charSet:null,checked:Ct,cite:null,className:dn,cols:Ie,colSpan:null,content:null,contentEditable:zn,controls:Ct,controlsList:dn,coords:Ie|Hl,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Ct,defer:Ct,dir:null,dirName:null,disabled:Ct,download:em,draggable:zn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Ct,formTarget:null,headers:dn,height:Ie,hidden:em,high:Ie,href:null,hrefLang:null,htmlFor:dn,httpEquiv:dn,id:null,imageSizes:null,imageSrcSet:null,inert:Ct,inputMode:null,integrity:null,is:null,isMap:Ct,itemId:null,itemProp:dn,itemRef:dn,itemScope:Ct,itemType:dn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Ct,low:Ie,manifest:null,max:null,maxLength:Ie,media:null,method:null,min:null,minLength:Ie,multiple:Ct,muted:Ct,name:null,nonce:null,noModule:Ct,noValidate:Ct,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Ct,optimum:Ie,pattern:null,ping:dn,placeholder:null,playsInline:Ct,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Ct,referrerPolicy:null,rel:dn,required:Ct,reversed:Ct,rows:Ie,rowSpan:Ie,sandbox:dn,scope:null,scoped:Ct,seamless:Ct,selected:Ct,shadowRootClonable:Ct,shadowRootDelegatesFocus:Ct,shadowRootMode:null,shape:null,size:Ie,sizes:null,slot:null,span:Ie,spellCheck:zn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Ie,step:null,style:null,tabIndex:Ie,target:null,title:null,translate:null,type:null,typeMustMatch:Ct,useMap:null,value:zn,width:Ie,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:dn,axis:null,background:null,bgColor:null,border:Ie,borderColor:null,bottomMargin:Ie,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Ct,declare:Ct,event:null,face:null,frame:null,frameBorder:null,hSpace:Ie,leftMargin:Ie,link:null,longDesc:null,lowSrc:null,marginHeight:Ie,marginWidth:Ie,noResize:Ct,noHref:Ct,noShade:Ct,noWrap:Ct,object:null,profile:null,prompt:null,rev:null,rightMargin:Ie,rules:null,scheme:null,scrolling:zn,standby:null,summary:null,text:null,topMargin:Ie,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Ie,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Ct,disableRemotePlayback:Ct,prefix:null,property:null,results:Ie,security:null,unselectable:null},space:"html",transform:Zv}),$2=ei({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",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",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",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",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",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",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:Tr,accentHeight:Ie,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Ie,amplitude:Ie,arabicForm:null,ascent:Ie,attributeName:null,attributeType:null,azimuth:Ie,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Ie,by:null,calcMode:null,capHeight:Ie,className:dn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Ie,diffuseConstant:Ie,direction:null,display:null,dur:null,divisor:Ie,dominantBaseline:null,download:Ct,dx:null,dy:null,edgeMode:null,editable:null,elevation:Ie,enableBackground:null,end:null,event:null,exponent:Ie,externalResourcesRequired:null,fill:null,fillOpacity:Ie,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Hl,g2:Hl,glyphName:Hl,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Ie,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Ie,horizOriginX:Ie,horizOriginY:Ie,id:null,ideographic:Ie,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Ie,k:Ie,k1:Ie,k2:Ie,k3:Ie,k4:Ie,kernelMatrix:Tr,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Ie,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Ie,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Ie,overlineThickness:Ie,paintOrder:null,panose1:null,path:null,pathLength:Ie,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:dn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Ie,pointsAtY:Ie,pointsAtZ:Ie,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Tr,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Tr,rev:Tr,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Tr,requiredFeatures:Tr,requiredFonts:Tr,requiredFormats:Tr,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Ie,specularExponent:Ie,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Ie,strikethroughThickness:Ie,string:null,stroke:null,strokeDashArray:Tr,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Ie,strokeOpacity:Ie,strokeWidth:null,style:null,surfaceScale:Ie,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Tr,tabIndex:Ie,tableValues:null,target:null,targetX:Ie,targetY:Ie,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Tr,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Ie,underlineThickness:Ie,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Ie,values:null,vAlphabetic:Ie,vMathematical:Ie,vectorEffect:null,vHanging:Ie,vIdeographic:Ie,version:null,vertAdvY:Ie,vertOriginX:Ie,vertOriginY:Ie,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Ie,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Xv}),Qv=ei({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,r){return"xlink:"+r.slice(5).toLowerCase()}}),Kv=ei({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Zv}),Jv=ei({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,r){return"xml:"+r.slice(3).toLowerCase()}}),B2={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},H2=/[A-Z]/g,hb=/-[a-z]/g,P2=/^data[-\w.:]+$/i;function U2(e,r){const s=Wh(r);let l=r,o=br;if(s in e.normal)return e.property[e.normal[s]];if(s.length>4&&s.slice(0,4)==="data"&&P2.test(r)){if(r.charAt(4)==="-"){const c=r.slice(5).replace(hb,V2);l="data"+c.charAt(0).toUpperCase()+c.slice(1)}else{const c=r.slice(4);if(!hb.test(c)){let u=c.replace(H2,q2);u.charAt(0)!=="-"&&(u="-"+u),r="data"+u}}o=Mm}return new o(l,r)}function q2(e){return"-"+e.toLowerCase()}function V2(e){return e.charAt(1).toUpperCase()}const F2=Yv([Gv,I2,Qv,Kv,Jv],"html"),Dm=Yv([Gv,$2,Qv,Kv,Jv],"svg");function Y2(e){return e.join(" ").trim()}var Dl={},dh,mb;function G2(){if(mb)return dh;mb=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,r=/\n/g,s=/^\s*/,l=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,c=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,f=/^\s+|\s+$/g,m=`
12
+ `,h="/",x="*",g="",b="comment",p="declaration";function w(T,E){if(typeof T!="string")throw new TypeError("First argument must be a string");if(!T)return[];E=E||{};var C=1,N=1;function k(A){var I=A.match(r);I&&(C+=I.length);var _=A.lastIndexOf(m);N=~_?A.length-_:N+A.length}function H(){var A={line:C,column:N};return function(I){return I.position=new M(A),X(),I}}function M(A){this.start=A,this.end={line:C,column:N},this.source=E.source}M.prototype.content=T;function Y(A){var I=new Error(E.source+":"+C+":"+N+": "+A);if(I.reason=A,I.filename=E.source,I.line=C,I.column=N,I.source=T,!E.silent)throw I}function $(A){var I=A.exec(T);if(I){var _=I[0];return k(_),T=T.slice(_.length),I}}function X(){$(s)}function P(A){var I;for(A=A||[];I=U();)I!==!1&&A.push(I);return A}function U(){var A=H();if(!(h!=T.charAt(0)||x!=T.charAt(1))){for(var I=2;g!=T.charAt(I)&&(x!=T.charAt(I)||h!=T.charAt(I+1));)++I;if(I+=2,g===T.charAt(I-1))return Y("End of comment missing");var _=T.slice(2,I-2);return N+=2,k(_),T=T.slice(I),N+=2,A({type:b,comment:_})}}function V(){var A=H(),I=$(l);if(I){if(U(),!$(o))return Y("property missing ':'");var _=$(c),G=A({type:p,property:S(I[0].replace(e,g)),value:_?S(_[0].replace(e,g)):g});return $(u),G}}function D(){var A=[];P(A);for(var I;I=V();)I!==!1&&(A.push(I),P(A));return A}return X(),D()}function S(T){return T?T.replace(f,g):g}return dh=w,dh}var xb;function X2(){if(xb)return Dl;xb=1;var e=Dl&&Dl.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(Dl,"__esModule",{value:!0}),Dl.default=s;const r=e(G2());function s(l,o){let c=null;if(!l||typeof l!="string")return c;const u=(0,r.default)(l),f=typeof o=="function";return u.forEach(m=>{if(m.type!=="declaration")return;const{property:h,value:x}=m;f?o(h,x,m):x&&(c=c||{},c[h]=x)}),c}return Dl}var Xi={},gb;function Z2(){if(gb)return Xi;gb=1,Object.defineProperty(Xi,"__esModule",{value:!0}),Xi.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,r=/-([a-z])/g,s=/^[^-]+$/,l=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,c=function(h){return!h||s.test(h)||e.test(h)},u=function(h,x){return x.toUpperCase()},f=function(h,x){return"".concat(x,"-")},m=function(h,x){return x===void 0&&(x={}),c(h)?h:(h=h.toLowerCase(),x.reactCompat?h=h.replace(o,f):h=h.replace(l,f),h.replace(r,u))};return Xi.camelCase=m,Xi}var Zi,pb;function Q2(){if(pb)return Zi;pb=1;var e=Zi&&Zi.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},r=e(X2()),s=Z2();function l(o,c){var u={};return!o||typeof o!="string"||(0,r.default)(o,function(f,m){f&&m&&(u[(0,s.camelCase)(f,c)]=m)}),u}return l.default=l,Zi=l,Zi}var K2=Q2();const J2=$u(K2),Wv=e1("end"),Om=e1("start");function e1(e){return r;function r(s){const l=s&&s.position&&s.position[e]||{};if(typeof l.line=="number"&&l.line>0&&typeof l.column=="number"&&l.column>0)return{line:l.line,column:l.column,offset:typeof l.offset=="number"&&l.offset>-1?l.offset:void 0}}}function W2(e){const r=Om(e),s=Wv(e);if(r&&s)return{start:r,end:s}}function co(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?bb(e.position):"start"in e||"end"in e?bb(e):"line"in e||"column"in e?nm(e):""}function nm(e){return yb(e&&e.line)+":"+yb(e&&e.column)}function bb(e){return nm(e&&e.start)+"-"+nm(e&&e.end)}function yb(e){return e&&typeof e=="number"?e:1}class tr extends Error{constructor(r,s,l){super(),typeof s=="string"&&(l=s,s=void 0);let o="",c={},u=!1;if(s&&("line"in s&&"column"in s?c={place:s}:"start"in s&&"end"in s?c={place:s}:"type"in s?c={ancestors:[s],place:s.position}:c={...s}),typeof r=="string"?o=r:!c.cause&&r&&(u=!0,o=r.message,c.cause=r),!c.ruleId&&!c.source&&typeof l=="string"){const m=l.indexOf(":");m===-1?c.ruleId=l:(c.source=l.slice(0,m),c.ruleId=l.slice(m+1))}if(!c.place&&c.ancestors&&c.ancestors){const m=c.ancestors[c.ancestors.length-1];m&&(c.place=m.position)}const f=c.place&&"start"in c.place?c.place.start:c.place;this.ancestors=c.ancestors||void 0,this.cause=c.cause||void 0,this.column=f?f.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=f?f.line:void 0,this.name=co(c.place)||"1:1",this.place=c.place||void 0,this.reason=this.message,this.ruleId=c.ruleId||void 0,this.source=c.source||void 0,this.stack=u&&c.cause&&typeof c.cause.stack=="string"?c.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}tr.prototype.file="";tr.prototype.name="";tr.prototype.reason="";tr.prototype.message="";tr.prototype.stack="";tr.prototype.column=void 0;tr.prototype.line=void 0;tr.prototype.ancestors=void 0;tr.prototype.cause=void 0;tr.prototype.fatal=void 0;tr.prototype.place=void 0;tr.prototype.ruleId=void 0;tr.prototype.source=void 0;const Rm={}.hasOwnProperty,ek=new Map,tk=/[A-Z]/g,nk=new Set(["table","tbody","thead","tfoot","tr"]),rk=new Set(["td","th"]),t1="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function sk(e,r){if(!r||r.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const s=r.filePath||void 0;let l;if(r.development){if(typeof r.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");l=fk(s,r.jsxDEV)}else{if(typeof r.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof r.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");l=dk(s,r.jsx,r.jsxs)}const o={Fragment:r.Fragment,ancestors:[],components:r.components||{},create:l,elementAttributeNameCase:r.elementAttributeNameCase||"react",evaluater:r.createEvaluater?r.createEvaluater():void 0,filePath:s,ignoreInvalidStyle:r.ignoreInvalidStyle||!1,passKeys:r.passKeys!==!1,passNode:r.passNode||!1,schema:r.space==="svg"?Dm:F2,stylePropertyNameCase:r.stylePropertyNameCase||"dom",tableCellAlignToStyle:r.tableCellAlignToStyle!==!1},c=n1(o,e,void 0);return c&&typeof c!="string"?c:o.create(e,o.Fragment,{children:c||void 0},void 0)}function n1(e,r,s){if(r.type==="element")return ak(e,r,s);if(r.type==="mdxFlowExpression"||r.type==="mdxTextExpression")return lk(e,r);if(r.type==="mdxJsxFlowElement"||r.type==="mdxJsxTextElement")return ok(e,r,s);if(r.type==="mdxjsEsm")return ik(e,r);if(r.type==="root")return ck(e,r,s);if(r.type==="text")return uk(e,r)}function ak(e,r,s){const l=e.schema;let o=l;r.tagName.toLowerCase()==="svg"&&l.space==="html"&&(o=Dm,e.schema=o),e.ancestors.push(r);const c=s1(e,r.tagName,!1),u=hk(e,r);let f=Lm(e,r);return nk.has(r.tagName)&&(f=f.filter(function(m){return typeof m=="string"?!z2(m):!0})),r1(e,u,c,r),zm(u,f),e.ancestors.pop(),e.schema=l,e.create(r,c,u,s)}function lk(e,r){if(r.data&&r.data.estree&&e.evaluater){const l=r.data.estree.body[0];return l.type,e.evaluater.evaluateExpression(l.expression)}go(e,r.position)}function ik(e,r){if(r.data&&r.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(r.data.estree);go(e,r.position)}function ok(e,r,s){const l=e.schema;let o=l;r.name==="svg"&&l.space==="html"&&(o=Dm,e.schema=o),e.ancestors.push(r);const c=r.name===null?e.Fragment:s1(e,r.name,!0),u=mk(e,r),f=Lm(e,r);return r1(e,u,c,r),zm(u,f),e.ancestors.pop(),e.schema=l,e.create(r,c,u,s)}function ck(e,r,s){const l={};return zm(l,Lm(e,r)),e.create(r,e.Fragment,l,s)}function uk(e,r){return r.value}function r1(e,r,s,l){typeof s!="string"&&s!==e.Fragment&&e.passNode&&(r.node=l)}function zm(e,r){if(r.length>0){const s=r.length>1?r:r[0];s&&(e.children=s)}}function dk(e,r,s){return l;function l(o,c,u,f){const h=Array.isArray(u.children)?s:r;return f?h(c,u,f):h(c,u)}}function fk(e,r){return s;function s(l,o,c,u){const f=Array.isArray(c.children),m=Om(l);return r(o,c,u,f,{columnNumber:m?m.column-1:void 0,fileName:e,lineNumber:m?m.line:void 0},void 0)}}function hk(e,r){const s={};let l,o;for(o in r.properties)if(o!=="children"&&Rm.call(r.properties,o)){const c=xk(e,o,r.properties[o]);if(c){const[u,f]=c;e.tableCellAlignToStyle&&u==="align"&&typeof f=="string"&&rk.has(r.tagName)?l=f:s[u]=f}}if(l){const c=s.style||(s.style={});c[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=l}return s}function mk(e,r){const s={};for(const l of r.attributes)if(l.type==="mdxJsxExpressionAttribute")if(l.data&&l.data.estree&&e.evaluater){const c=l.data.estree.body[0];c.type;const u=c.expression;u.type;const f=u.properties[0];f.type,Object.assign(s,e.evaluater.evaluateExpression(f.argument))}else go(e,r.position);else{const o=l.name;let c;if(l.value&&typeof l.value=="object")if(l.value.data&&l.value.data.estree&&e.evaluater){const f=l.value.data.estree.body[0];f.type,c=e.evaluater.evaluateExpression(f.expression)}else go(e,r.position);else c=l.value===null?!0:l.value;s[o]=c}return s}function Lm(e,r){const s=[];let l=-1;const o=e.passKeys?new Map:ek;for(;++l<r.children.length;){const c=r.children[l];let u;if(e.passKeys){const m=c.type==="element"?c.tagName:c.type==="mdxJsxFlowElement"||c.type==="mdxJsxTextElement"?c.name:void 0;if(m){const h=o.get(m)||0;u=m+"-"+h,o.set(m,h+1)}}const f=n1(e,c,u);f!==void 0&&s.push(f)}return s}function xk(e,r,s){const l=U2(e.schema,r);if(!(s==null||typeof s=="number"&&Number.isNaN(s))){if(Array.isArray(s)&&(s=l.commaSeparated?_2(s):Y2(s)),l.property==="style"){let o=typeof s=="object"?s:gk(e,String(s));return e.stylePropertyNameCase==="css"&&(o=pk(o)),["style",o]}return[e.elementAttributeNameCase==="react"&&l.space?B2[l.property]||l.property:l.attribute,s]}}function gk(e,r){try{return J2(r,{reactCompat:!0})}catch(s){if(e.ignoreInvalidStyle)return{};const l=s,o=new tr("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:l,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw o.file=e.filePath||void 0,o.url=t1+"#cannot-parse-style-attribute",o}}function s1(e,r,s){let l;if(!s)l={type:"Literal",value:r};else if(r.includes(".")){const o=r.split(".");let c=-1,u;for(;++c<o.length;){const f=ub(o[c])?{type:"Identifier",name:o[c]}:{type:"Literal",value:o[c]};u=u?{type:"MemberExpression",object:u,property:f,computed:!!(c&&f.type==="Literal"),optional:!1}:f}l=u}else l=ub(r)&&!/^[a-z]/.test(r)?{type:"Identifier",name:r}:{type:"Literal",value:r};if(l.type==="Literal"){const o=l.value;return Rm.call(e.components,o)?e.components[o]:o}if(e.evaluater)return e.evaluater.evaluateExpression(l);go(e)}function go(e,r){const s=new tr("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:r,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw s.file=e.filePath||void 0,s.url=t1+"#cannot-handle-mdx-estrees-without-createevaluater",s}function pk(e){const r={};let s;for(s in e)Rm.call(e,s)&&(r[bk(s)]=e[s]);return r}function bk(e){let r=e.replace(tk,yk);return r.slice(0,3)==="ms-"&&(r="-"+r),r}function yk(e){return"-"+e.toLowerCase()}const fh={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},vk={};function Im(e,r){const s=vk,l=typeof s.includeImageAlt=="boolean"?s.includeImageAlt:!0,o=typeof s.includeHtml=="boolean"?s.includeHtml:!0;return a1(e,l,o)}function a1(e,r,s){if(jk(e)){if("value"in e)return e.type==="html"&&!s?"":e.value;if(r&&"alt"in e&&e.alt)return e.alt;if("children"in e)return vb(e.children,r,s)}return Array.isArray(e)?vb(e,r,s):""}function vb(e,r,s){const l=[];let o=-1;for(;++o<e.length;)l[o]=a1(e[o],r,s);return l.join("")}function jk(e){return!!(e&&typeof e=="object")}const jb=document.createElement("i");function $m(e){const r="&"+e+";";jb.innerHTML=r;const s=jb.textContent;return s.charCodeAt(s.length-1)===59&&e!=="semi"||s===r?!1:s}function _r(e,r,s,l){const o=e.length;let c=0,u;if(r<0?r=-r>o?0:o+r:r=r>o?o:r,s=s>0?s:0,l.length<1e4)u=Array.from(l),u.unshift(r,s),e.splice(...u);else for(s&&e.splice(r,s);c<l.length;)u=l.slice(c,c+1e4),u.unshift(r,0),e.splice(...u),c+=1e4,r+=1e4}function Fr(e,r){return e.length>0?(_r(e,e.length,0,r),e):r}const wb={}.hasOwnProperty;function l1(e){const r={};let s=-1;for(;++s<e.length;)wk(r,e[s]);return r}function wk(e,r){let s;for(s in r){const o=(wb.call(e,s)?e[s]:void 0)||(e[s]={}),c=r[s];let u;if(c)for(u in c){wb.call(o,u)||(o[u]=[]);const f=c[u];Nk(o[u],Array.isArray(f)?f:f?[f]:[])}}}function Nk(e,r){let s=-1;const l=[];for(;++s<r.length;)(r[s].add==="after"?e:l).push(r[s]);_r(e,0,0,l)}function i1(e,r){const s=Number.parseInt(e,r);return s<9||s===11||s>13&&s<32||s>126&&s<160||s>55295&&s<57344||s>64975&&s<65008||(s&65535)===65535||(s&65535)===65534||s>1114111?"�":String.fromCodePoint(s)}function es(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const rr=Na(/[A-Za-z]/),Wn=Na(/[\dA-Za-z]/),kk=Na(/[#-'*+\--9=?A-Z^-~]/);function pu(e){return e!==null&&(e<32||e===127)}const rm=Na(/\d/),Sk=Na(/[\dA-Fa-f]/),Ck=Na(/[!-/:-@[-`{-~]/);function lt(e){return e!==null&&e<-2}function on(e){return e!==null&&(e<0||e===32)}function Lt(e){return e===-2||e===-1||e===32}const Bu=Na(new RegExp("\\p{P}|\\p{S}","u")),Qa=Na(/\s/);function Na(e){return r;function r(s){return s!==null&&s>-1&&e.test(String.fromCharCode(s))}}function ti(e){const r=[];let s=-1,l=0,o=0;for(;++s<e.length;){const c=e.charCodeAt(s);let u="";if(c===37&&Wn(e.charCodeAt(s+1))&&Wn(e.charCodeAt(s+2)))o=2;else if(c<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(c))||(u=String.fromCharCode(c));else if(c>55295&&c<57344){const f=e.charCodeAt(s+1);c<56320&&f>56319&&f<57344?(u=String.fromCharCode(c,f),o=1):u="�"}else u=String.fromCharCode(c);u&&(r.push(e.slice(l,s),encodeURIComponent(u)),l=s+o+1,u=""),o&&(s+=o,o=0)}return r.join("")+e.slice(l)}function qt(e,r,s,l){const o=l?l-1:Number.POSITIVE_INFINITY;let c=0;return u;function u(m){return Lt(m)?(e.enter(s),f(m)):r(m)}function f(m){return Lt(m)&&c++<o?(e.consume(m),f):(e.exit(s),r(m))}}const Ek={tokenize:Tk};function Tk(e){const r=e.attempt(this.parser.constructs.contentInitial,l,o);let s;return r;function l(f){if(f===null){e.consume(f);return}return e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),qt(e,r,"linePrefix")}function o(f){return e.enter("paragraph"),c(f)}function c(f){const m=e.enter("chunkText",{contentType:"text",previous:s});return s&&(s.next=m),s=m,u(f)}function u(f){if(f===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(f);return}return lt(f)?(e.consume(f),e.exit("chunkText"),c):(e.consume(f),u)}}const Ak={tokenize:_k},Nb={tokenize:Mk};function _k(e){const r=this,s=[];let l=0,o,c,u;return f;function f(N){if(l<s.length){const k=s[l];return r.containerState=k[1],e.attempt(k[0].continuation,m,h)(N)}return h(N)}function m(N){if(l++,r.containerState._closeFlow){r.containerState._closeFlow=void 0,o&&C();const k=r.events.length;let H=k,M;for(;H--;)if(r.events[H][0]==="exit"&&r.events[H][1].type==="chunkFlow"){M=r.events[H][1].end;break}E(l);let Y=k;for(;Y<r.events.length;)r.events[Y][1].end={...M},Y++;return _r(r.events,H+1,0,r.events.slice(k)),r.events.length=Y,h(N)}return f(N)}function h(N){if(l===s.length){if(!o)return b(N);if(o.currentConstruct&&o.currentConstruct.concrete)return w(N);r.interrupt=!!(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return r.containerState={},e.check(Nb,x,g)(N)}function x(N){return o&&C(),E(l),b(N)}function g(N){return r.parser.lazy[r.now().line]=l!==s.length,u=r.now().offset,w(N)}function b(N){return r.containerState={},e.attempt(Nb,p,w)(N)}function p(N){return l++,s.push([r.currentConstruct,r.containerState]),b(N)}function w(N){if(N===null){o&&C(),E(0),e.consume(N);return}return o=o||r.parser.flow(r.now()),e.enter("chunkFlow",{_tokenizer:o,contentType:"flow",previous:c}),S(N)}function S(N){if(N===null){T(e.exit("chunkFlow"),!0),E(0),e.consume(N);return}return lt(N)?(e.consume(N),T(e.exit("chunkFlow")),l=0,r.interrupt=void 0,f):(e.consume(N),S)}function T(N,k){const H=r.sliceStream(N);if(k&&H.push(null),N.previous=c,c&&(c.next=N),c=N,o.defineSkip(N.start),o.write(H),r.parser.lazy[N.start.line]){let M=o.events.length;for(;M--;)if(o.events[M][1].start.offset<u&&(!o.events[M][1].end||o.events[M][1].end.offset>u))return;const Y=r.events.length;let $=Y,X,P;for(;$--;)if(r.events[$][0]==="exit"&&r.events[$][1].type==="chunkFlow"){if(X){P=r.events[$][1].end;break}X=!0}for(E(l),M=Y;M<r.events.length;)r.events[M][1].end={...P},M++;_r(r.events,$+1,0,r.events.slice(Y)),r.events.length=M}}function E(N){let k=s.length;for(;k-- >N;){const H=s[k];r.containerState=H[1],H[0].exit.call(r,e)}s.length=N}function C(){o.write([null]),c=void 0,o=void 0,r.containerState._closeFlow=void 0}}function Mk(e,r,s){return qt(e,e.attempt(this.parser.constructs.document,r,s),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function ql(e){if(e===null||on(e)||Qa(e))return 1;if(Bu(e))return 2}function Hu(e,r,s){const l=[];let o=-1;for(;++o<e.length;){const c=e[o].resolveAll;c&&!l.includes(c)&&(r=c(r,s),l.push(c))}return r}const sm={name:"attention",resolveAll:Dk,tokenize:Ok};function Dk(e,r){let s=-1,l,o,c,u,f,m,h,x;for(;++s<e.length;)if(e[s][0]==="enter"&&e[s][1].type==="attentionSequence"&&e[s][1]._close){for(l=s;l--;)if(e[l][0]==="exit"&&e[l][1].type==="attentionSequence"&&e[l][1]._open&&r.sliceSerialize(e[l][1]).charCodeAt(0)===r.sliceSerialize(e[s][1]).charCodeAt(0)){if((e[l][1]._close||e[s][1]._open)&&(e[s][1].end.offset-e[s][1].start.offset)%3&&!((e[l][1].end.offset-e[l][1].start.offset+e[s][1].end.offset-e[s][1].start.offset)%3))continue;m=e[l][1].end.offset-e[l][1].start.offset>1&&e[s][1].end.offset-e[s][1].start.offset>1?2:1;const g={...e[l][1].end},b={...e[s][1].start};kb(g,-m),kb(b,m),u={type:m>1?"strongSequence":"emphasisSequence",start:g,end:{...e[l][1].end}},f={type:m>1?"strongSequence":"emphasisSequence",start:{...e[s][1].start},end:b},c={type:m>1?"strongText":"emphasisText",start:{...e[l][1].end},end:{...e[s][1].start}},o={type:m>1?"strong":"emphasis",start:{...u.start},end:{...f.end}},e[l][1].end={...u.start},e[s][1].start={...f.end},h=[],e[l][1].end.offset-e[l][1].start.offset&&(h=Fr(h,[["enter",e[l][1],r],["exit",e[l][1],r]])),h=Fr(h,[["enter",o,r],["enter",u,r],["exit",u,r],["enter",c,r]]),h=Fr(h,Hu(r.parser.constructs.insideSpan.null,e.slice(l+1,s),r)),h=Fr(h,[["exit",c,r],["enter",f,r],["exit",f,r],["exit",o,r]]),e[s][1].end.offset-e[s][1].start.offset?(x=2,h=Fr(h,[["enter",e[s][1],r],["exit",e[s][1],r]])):x=0,_r(e,l-1,s-l+3,h),s=l+h.length-x-2;break}}for(s=-1;++s<e.length;)e[s][1].type==="attentionSequence"&&(e[s][1].type="data");return e}function Ok(e,r){const s=this.parser.constructs.attentionMarkers.null,l=this.previous,o=ql(l);let c;return u;function u(m){return c=m,e.enter("attentionSequence"),f(m)}function f(m){if(m===c)return e.consume(m),f;const h=e.exit("attentionSequence"),x=ql(m),g=!x||x===2&&o||s.includes(m),b=!o||o===2&&x||s.includes(l);return h._open=!!(c===42?g:g&&(o||!b)),h._close=!!(c===42?b:b&&(x||!g)),r(m)}}function kb(e,r){e.column+=r,e.offset+=r,e._bufferIndex+=r}const Rk={name:"autolink",tokenize:zk};function zk(e,r,s){let l=0;return o;function o(p){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),c}function c(p){return rr(p)?(e.consume(p),u):p===64?s(p):h(p)}function u(p){return p===43||p===45||p===46||Wn(p)?(l=1,f(p)):h(p)}function f(p){return p===58?(e.consume(p),l=0,m):(p===43||p===45||p===46||Wn(p))&&l++<32?(e.consume(p),f):(l=0,h(p))}function m(p){return p===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),r):p===null||p===32||p===60||pu(p)?s(p):(e.consume(p),m)}function h(p){return p===64?(e.consume(p),x):kk(p)?(e.consume(p),h):s(p)}function x(p){return Wn(p)?g(p):s(p)}function g(p){return p===46?(e.consume(p),l=0,x):p===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),r):b(p)}function b(p){if((p===45||Wn(p))&&l++<63){const w=p===45?b:g;return e.consume(p),w}return s(p)}}const Mo={partial:!0,tokenize:Lk};function Lk(e,r,s){return l;function l(c){return Lt(c)?qt(e,o,"linePrefix")(c):o(c)}function o(c){return c===null||lt(c)?r(c):s(c)}}const o1={continuation:{tokenize:$k},exit:Bk,name:"blockQuote",tokenize:Ik};function Ik(e,r,s){const l=this;return o;function o(u){if(u===62){const f=l.containerState;return f.open||(e.enter("blockQuote",{_container:!0}),f.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(u),e.exit("blockQuoteMarker"),c}return s(u)}function c(u){return Lt(u)?(e.enter("blockQuotePrefixWhitespace"),e.consume(u),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),r):(e.exit("blockQuotePrefix"),r(u))}}function $k(e,r,s){const l=this;return o;function o(u){return Lt(u)?qt(e,c,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u):c(u)}function c(u){return e.attempt(o1,r,s)(u)}}function Bk(e){e.exit("blockQuote")}const c1={name:"characterEscape",tokenize:Hk};function Hk(e,r,s){return l;function l(c){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(c),e.exit("escapeMarker"),o}function o(c){return Ck(c)?(e.enter("characterEscapeValue"),e.consume(c),e.exit("characterEscapeValue"),e.exit("characterEscape"),r):s(c)}}const u1={name:"characterReference",tokenize:Pk};function Pk(e,r,s){const l=this;let o=0,c,u;return f;function f(g){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(g),e.exit("characterReferenceMarker"),m}function m(g){return g===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(g),e.exit("characterReferenceMarkerNumeric"),h):(e.enter("characterReferenceValue"),c=31,u=Wn,x(g))}function h(g){return g===88||g===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(g),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),c=6,u=Sk,x):(e.enter("characterReferenceValue"),c=7,u=rm,x(g))}function x(g){if(g===59&&o){const b=e.exit("characterReferenceValue");return u===Wn&&!$m(l.sliceSerialize(b))?s(g):(e.enter("characterReferenceMarker"),e.consume(g),e.exit("characterReferenceMarker"),e.exit("characterReference"),r)}return u(g)&&o++<c?(e.consume(g),x):s(g)}}const Sb={partial:!0,tokenize:qk},Cb={concrete:!0,name:"codeFenced",tokenize:Uk};function Uk(e,r,s){const l=this,o={partial:!0,tokenize:H};let c=0,u=0,f;return m;function m(M){return h(M)}function h(M){const Y=l.events[l.events.length-1];return c=Y&&Y[1].type==="linePrefix"?Y[2].sliceSerialize(Y[1],!0).length:0,f=M,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),x(M)}function x(M){return M===f?(u++,e.consume(M),x):u<3?s(M):(e.exit("codeFencedFenceSequence"),Lt(M)?qt(e,g,"whitespace")(M):g(M))}function g(M){return M===null||lt(M)?(e.exit("codeFencedFence"),l.interrupt?r(M):e.check(Sb,S,k)(M)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),b(M))}function b(M){return M===null||lt(M)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),g(M)):Lt(M)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),qt(e,p,"whitespace")(M)):M===96&&M===f?s(M):(e.consume(M),b)}function p(M){return M===null||lt(M)?g(M):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),w(M))}function w(M){return M===null||lt(M)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),g(M)):M===96&&M===f?s(M):(e.consume(M),w)}function S(M){return e.attempt(o,k,T)(M)}function T(M){return e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),E}function E(M){return c>0&&Lt(M)?qt(e,C,"linePrefix",c+1)(M):C(M)}function C(M){return M===null||lt(M)?e.check(Sb,S,k)(M):(e.enter("codeFlowValue"),N(M))}function N(M){return M===null||lt(M)?(e.exit("codeFlowValue"),C(M)):(e.consume(M),N)}function k(M){return e.exit("codeFenced"),r(M)}function H(M,Y,$){let X=0;return P;function P(I){return M.enter("lineEnding"),M.consume(I),M.exit("lineEnding"),U}function U(I){return M.enter("codeFencedFence"),Lt(I)?qt(M,V,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):V(I)}function V(I){return I===f?(M.enter("codeFencedFenceSequence"),D(I)):$(I)}function D(I){return I===f?(X++,M.consume(I),D):X>=u?(M.exit("codeFencedFenceSequence"),Lt(I)?qt(M,A,"whitespace")(I):A(I)):$(I)}function A(I){return I===null||lt(I)?(M.exit("codeFencedFence"),Y(I)):$(I)}}}function qk(e,r,s){const l=this;return o;function o(u){return u===null?s(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),c)}function c(u){return l.parser.lazy[l.now().line]?s(u):r(u)}}const hh={name:"codeIndented",tokenize:Fk},Vk={partial:!0,tokenize:Yk};function Fk(e,r,s){const l=this;return o;function o(h){return e.enter("codeIndented"),qt(e,c,"linePrefix",5)(h)}function c(h){const x=l.events[l.events.length-1];return x&&x[1].type==="linePrefix"&&x[2].sliceSerialize(x[1],!0).length>=4?u(h):s(h)}function u(h){return h===null?m(h):lt(h)?e.attempt(Vk,u,m)(h):(e.enter("codeFlowValue"),f(h))}function f(h){return h===null||lt(h)?(e.exit("codeFlowValue"),u(h)):(e.consume(h),f)}function m(h){return e.exit("codeIndented"),r(h)}}function Yk(e,r,s){const l=this;return o;function o(u){return l.parser.lazy[l.now().line]?s(u):lt(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):qt(e,c,"linePrefix",5)(u)}function c(u){const f=l.events[l.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?r(u):lt(u)?o(u):s(u)}}const Gk={name:"codeText",previous:Zk,resolve:Xk,tokenize:Qk};function Xk(e){let r=e.length-4,s=3,l,o;if((e[s][1].type==="lineEnding"||e[s][1].type==="space")&&(e[r][1].type==="lineEnding"||e[r][1].type==="space")){for(l=s;++l<r;)if(e[l][1].type==="codeTextData"){e[s][1].type="codeTextPadding",e[r][1].type="codeTextPadding",s+=2,r-=2;break}}for(l=s-1,r++;++l<=r;)o===void 0?l!==r&&e[l][1].type!=="lineEnding"&&(o=l):(l===r||e[l][1].type==="lineEnding")&&(e[o][1].type="codeTextData",l!==o+2&&(e[o][1].end=e[l-1][1].end,e.splice(o+2,l-o-2),r-=l-o-2,l=o+2),o=void 0);return e}function Zk(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function Qk(e,r,s){let l=0,o,c;return u;function u(g){return e.enter("codeText"),e.enter("codeTextSequence"),f(g)}function f(g){return g===96?(e.consume(g),l++,f):(e.exit("codeTextSequence"),m(g))}function m(g){return g===null?s(g):g===32?(e.enter("space"),e.consume(g),e.exit("space"),m):g===96?(c=e.enter("codeTextSequence"),o=0,x(g)):lt(g)?(e.enter("lineEnding"),e.consume(g),e.exit("lineEnding"),m):(e.enter("codeTextData"),h(g))}function h(g){return g===null||g===32||g===96||lt(g)?(e.exit("codeTextData"),m(g)):(e.consume(g),h)}function x(g){return g===96?(e.consume(g),o++,x):o===l?(e.exit("codeTextSequence"),e.exit("codeText"),r(g)):(c.type="codeTextData",h(g))}}class Kk{constructor(r){this.left=r?[...r]:[],this.right=[]}get(r){if(r<0||r>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+r+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return r<this.left.length?this.left[r]:this.right[this.right.length-r+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(r,s){const l=s??Number.POSITIVE_INFINITY;return l<this.left.length?this.left.slice(r,l):r>this.left.length?this.right.slice(this.right.length-l+this.left.length,this.right.length-r+this.left.length).reverse():this.left.slice(r).concat(this.right.slice(this.right.length-l+this.left.length).reverse())}splice(r,s,l){const o=s||0;this.setCursor(Math.trunc(r));const c=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return l&&Qi(this.left,l),c.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(r){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(r)}pushMany(r){this.setCursor(Number.POSITIVE_INFINITY),Qi(this.left,r)}unshift(r){this.setCursor(0),this.right.push(r)}unshiftMany(r){this.setCursor(0),Qi(this.right,r.reverse())}setCursor(r){if(!(r===this.left.length||r>this.left.length&&this.right.length===0||r<0&&this.left.length===0))if(r<this.left.length){const s=this.left.splice(r,Number.POSITIVE_INFINITY);Qi(this.right,s.reverse())}else{const s=this.right.splice(this.left.length+this.right.length-r,Number.POSITIVE_INFINITY);Qi(this.left,s.reverse())}}}function Qi(e,r){let s=0;if(r.length<1e4)e.push(...r);else for(;s<r.length;)e.push(...r.slice(s,s+1e4)),s+=1e4}function d1(e){const r={};let s=-1,l,o,c,u,f,m,h;const x=new Kk(e);for(;++s<x.length;){for(;s in r;)s=r[s];if(l=x.get(s),s&&l[1].type==="chunkFlow"&&x.get(s-1)[1].type==="listItemPrefix"&&(m=l[1]._tokenizer.events,c=0,c<m.length&&m[c][1].type==="lineEndingBlank"&&(c+=2),c<m.length&&m[c][1].type==="content"))for(;++c<m.length&&m[c][1].type!=="content";)m[c][1].type==="chunkText"&&(m[c][1]._isInFirstContentOfListItem=!0,c++);if(l[0]==="enter")l[1].contentType&&(Object.assign(r,Jk(x,s)),s=r[s],h=!0);else if(l[1]._container){for(c=s,o=void 0;c--;)if(u=x.get(c),u[1].type==="lineEnding"||u[1].type==="lineEndingBlank")u[0]==="enter"&&(o&&(x.get(o)[1].type="lineEndingBlank"),u[1].type="lineEnding",o=c);else if(!(u[1].type==="linePrefix"||u[1].type==="listItemIndent"))break;o&&(l[1].end={...x.get(o)[1].start},f=x.slice(o,s),f.unshift(l),x.splice(o,s-o+1,f))}}return _r(e,0,Number.POSITIVE_INFINITY,x.slice(0)),!h}function Jk(e,r){const s=e.get(r)[1],l=e.get(r)[2];let o=r-1;const c=[];let u=s._tokenizer;u||(u=l.parser[s.contentType](s.start),s._contentTypeTextTrailing&&(u._contentTypeTextTrailing=!0));const f=u.events,m=[],h={};let x,g,b=-1,p=s,w=0,S=0;const T=[S];for(;p;){for(;e.get(++o)[1]!==p;);c.push(o),p._tokenizer||(x=l.sliceStream(p),p.next||x.push(null),g&&u.defineSkip(p.start),p._isInFirstContentOfListItem&&(u._gfmTasklistFirstContentOfListItem=!0),u.write(x),p._isInFirstContentOfListItem&&(u._gfmTasklistFirstContentOfListItem=void 0)),g=p,p=p.next}for(p=s;++b<f.length;)f[b][0]==="exit"&&f[b-1][0]==="enter"&&f[b][1].type===f[b-1][1].type&&f[b][1].start.line!==f[b][1].end.line&&(S=b+1,T.push(S),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(u.events=[],p?(p._tokenizer=void 0,p.previous=void 0):T.pop(),b=T.length;b--;){const E=f.slice(T[b],T[b+1]),C=c.pop();m.push([C,C+E.length-1]),e.splice(C,2,E)}for(m.reverse(),b=-1;++b<m.length;)h[w+m[b][0]]=w+m[b][1],w+=m[b][1]-m[b][0]-1;return h}const Wk={resolve:tS,tokenize:nS},eS={partial:!0,tokenize:rS};function tS(e){return d1(e),e}function nS(e,r){let s;return l;function l(f){return e.enter("content"),s=e.enter("chunkContent",{contentType:"content"}),o(f)}function o(f){return f===null?c(f):lt(f)?e.check(eS,u,c)(f):(e.consume(f),o)}function c(f){return e.exit("chunkContent"),e.exit("content"),r(f)}function u(f){return e.consume(f),e.exit("chunkContent"),s.next=e.enter("chunkContent",{contentType:"content",previous:s}),s=s.next,o}}function rS(e,r,s){const l=this;return o;function o(u){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),qt(e,c,"linePrefix")}function c(u){if(u===null||lt(u))return s(u);const f=l.events[l.events.length-1];return!l.parser.constructs.disable.null.includes("codeIndented")&&f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?r(u):e.interrupt(l.parser.constructs.flow,s,r)(u)}}function f1(e,r,s,l,o,c,u,f,m){const h=m||Number.POSITIVE_INFINITY;let x=0;return g;function g(E){return E===60?(e.enter(l),e.enter(o),e.enter(c),e.consume(E),e.exit(c),b):E===null||E===32||E===41||pu(E)?s(E):(e.enter(l),e.enter(u),e.enter(f),e.enter("chunkString",{contentType:"string"}),S(E))}function b(E){return E===62?(e.enter(c),e.consume(E),e.exit(c),e.exit(o),e.exit(l),r):(e.enter(f),e.enter("chunkString",{contentType:"string"}),p(E))}function p(E){return E===62?(e.exit("chunkString"),e.exit(f),b(E)):E===null||E===60||lt(E)?s(E):(e.consume(E),E===92?w:p)}function w(E){return E===60||E===62||E===92?(e.consume(E),p):p(E)}function S(E){return!x&&(E===null||E===41||on(E))?(e.exit("chunkString"),e.exit(f),e.exit(u),e.exit(l),r(E)):x<h&&E===40?(e.consume(E),x++,S):E===41?(e.consume(E),x--,S):E===null||E===32||E===40||pu(E)?s(E):(e.consume(E),E===92?T:S)}function T(E){return E===40||E===41||E===92?(e.consume(E),S):S(E)}}function h1(e,r,s,l,o,c){const u=this;let f=0,m;return h;function h(p){return e.enter(l),e.enter(o),e.consume(p),e.exit(o),e.enter(c),x}function x(p){return f>999||p===null||p===91||p===93&&!m||p===94&&!f&&"_hiddenFootnoteSupport"in u.parser.constructs?s(p):p===93?(e.exit(c),e.enter(o),e.consume(p),e.exit(o),e.exit(l),r):lt(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),x):(e.enter("chunkString",{contentType:"string"}),g(p))}function g(p){return p===null||p===91||p===93||lt(p)||f++>999?(e.exit("chunkString"),x(p)):(e.consume(p),m||(m=!Lt(p)),p===92?b:g)}function b(p){return p===91||p===92||p===93?(e.consume(p),f++,g):g(p)}}function m1(e,r,s,l,o,c){let u;return f;function f(b){return b===34||b===39||b===40?(e.enter(l),e.enter(o),e.consume(b),e.exit(o),u=b===40?41:b,m):s(b)}function m(b){return b===u?(e.enter(o),e.consume(b),e.exit(o),e.exit(l),r):(e.enter(c),h(b))}function h(b){return b===u?(e.exit(c),m(u)):b===null?s(b):lt(b)?(e.enter("lineEnding"),e.consume(b),e.exit("lineEnding"),qt(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),x(b))}function x(b){return b===u||b===null||lt(b)?(e.exit("chunkString"),h(b)):(e.consume(b),b===92?g:x)}function g(b){return b===u||b===92?(e.consume(b),x):x(b)}}function uo(e,r){let s;return l;function l(o){return lt(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s=!0,l):Lt(o)?qt(e,l,s?"linePrefix":"lineSuffix")(o):r(o)}}const sS={name:"definition",tokenize:lS},aS={partial:!0,tokenize:iS};function lS(e,r,s){const l=this;let o;return c;function c(p){return e.enter("definition"),u(p)}function u(p){return h1.call(l,e,f,s,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function f(p){return o=es(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),m):s(p)}function m(p){return on(p)?uo(e,h)(p):h(p)}function h(p){return f1(e,x,s,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function x(p){return e.attempt(aS,g,g)(p)}function g(p){return Lt(p)?qt(e,b,"whitespace")(p):b(p)}function b(p){return p===null||lt(p)?(e.exit("definition"),l.parser.defined.push(o),r(p)):s(p)}}function iS(e,r,s){return l;function l(f){return on(f)?uo(e,o)(f):s(f)}function o(f){return m1(e,c,s,"definitionTitle","definitionTitleMarker","definitionTitleString")(f)}function c(f){return Lt(f)?qt(e,u,"whitespace")(f):u(f)}function u(f){return f===null||lt(f)?r(f):s(f)}}const oS={name:"hardBreakEscape",tokenize:cS};function cS(e,r,s){return l;function l(c){return e.enter("hardBreakEscape"),e.consume(c),o}function o(c){return lt(c)?(e.exit("hardBreakEscape"),r(c)):s(c)}}const uS={name:"headingAtx",resolve:dS,tokenize:fS};function dS(e,r){let s=e.length-2,l=3,o,c;return e[l][1].type==="whitespace"&&(l+=2),s-2>l&&e[s][1].type==="whitespace"&&(s-=2),e[s][1].type==="atxHeadingSequence"&&(l===s-1||s-4>l&&e[s-2][1].type==="whitespace")&&(s-=l+1===s?2:4),s>l&&(o={type:"atxHeadingText",start:e[l][1].start,end:e[s][1].end},c={type:"chunkText",start:e[l][1].start,end:e[s][1].end,contentType:"text"},_r(e,l,s-l+1,[["enter",o,r],["enter",c,r],["exit",c,r],["exit",o,r]])),e}function fS(e,r,s){let l=0;return o;function o(x){return e.enter("atxHeading"),c(x)}function c(x){return e.enter("atxHeadingSequence"),u(x)}function u(x){return x===35&&l++<6?(e.consume(x),u):x===null||on(x)?(e.exit("atxHeadingSequence"),f(x)):s(x)}function f(x){return x===35?(e.enter("atxHeadingSequence"),m(x)):x===null||lt(x)?(e.exit("atxHeading"),r(x)):Lt(x)?qt(e,f,"whitespace")(x):(e.enter("atxHeadingText"),h(x))}function m(x){return x===35?(e.consume(x),m):(e.exit("atxHeadingSequence"),f(x))}function h(x){return x===null||x===35||on(x)?(e.exit("atxHeadingText"),f(x)):(e.consume(x),h)}}const hS=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Eb=["pre","script","style","textarea"],mS={concrete:!0,name:"htmlFlow",resolveTo:pS,tokenize:bS},xS={partial:!0,tokenize:vS},gS={partial:!0,tokenize:yS};function pS(e){let r=e.length;for(;r--&&!(e[r][0]==="enter"&&e[r][1].type==="htmlFlow"););return r>1&&e[r-2][1].type==="linePrefix"&&(e[r][1].start=e[r-2][1].start,e[r+1][1].start=e[r-2][1].start,e.splice(r-2,2)),e}function bS(e,r,s){const l=this;let o,c,u,f,m;return h;function h(z){return x(z)}function x(z){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(z),g}function g(z){return z===33?(e.consume(z),b):z===47?(e.consume(z),c=!0,S):z===63?(e.consume(z),o=3,l.interrupt?r:B):rr(z)?(e.consume(z),u=String.fromCharCode(z),T):s(z)}function b(z){return z===45?(e.consume(z),o=2,p):z===91?(e.consume(z),o=5,f=0,w):rr(z)?(e.consume(z),o=4,l.interrupt?r:B):s(z)}function p(z){return z===45?(e.consume(z),l.interrupt?r:B):s(z)}function w(z){const L="CDATA[";return z===L.charCodeAt(f++)?(e.consume(z),f===L.length?l.interrupt?r:V:w):s(z)}function S(z){return rr(z)?(e.consume(z),u=String.fromCharCode(z),T):s(z)}function T(z){if(z===null||z===47||z===62||on(z)){const L=z===47,F=u.toLowerCase();return!L&&!c&&Eb.includes(F)?(o=1,l.interrupt?r(z):V(z)):hS.includes(u.toLowerCase())?(o=6,L?(e.consume(z),E):l.interrupt?r(z):V(z)):(o=7,l.interrupt&&!l.parser.lazy[l.now().line]?s(z):c?C(z):N(z))}return z===45||Wn(z)?(e.consume(z),u+=String.fromCharCode(z),T):s(z)}function E(z){return z===62?(e.consume(z),l.interrupt?r:V):s(z)}function C(z){return Lt(z)?(e.consume(z),C):P(z)}function N(z){return z===47?(e.consume(z),P):z===58||z===95||rr(z)?(e.consume(z),k):Lt(z)?(e.consume(z),N):P(z)}function k(z){return z===45||z===46||z===58||z===95||Wn(z)?(e.consume(z),k):H(z)}function H(z){return z===61?(e.consume(z),M):Lt(z)?(e.consume(z),H):N(z)}function M(z){return z===null||z===60||z===61||z===62||z===96?s(z):z===34||z===39?(e.consume(z),m=z,Y):Lt(z)?(e.consume(z),M):$(z)}function Y(z){return z===m?(e.consume(z),m=null,X):z===null||lt(z)?s(z):(e.consume(z),Y)}function $(z){return z===null||z===34||z===39||z===47||z===60||z===61||z===62||z===96||on(z)?H(z):(e.consume(z),$)}function X(z){return z===47||z===62||Lt(z)?N(z):s(z)}function P(z){return z===62?(e.consume(z),U):s(z)}function U(z){return z===null||lt(z)?V(z):Lt(z)?(e.consume(z),U):s(z)}function V(z){return z===45&&o===2?(e.consume(z),_):z===60&&o===1?(e.consume(z),G):z===62&&o===4?(e.consume(z),R):z===63&&o===3?(e.consume(z),B):z===93&&o===5?(e.consume(z),K):lt(z)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(xS,W,D)(z)):z===null||lt(z)?(e.exit("htmlFlowData"),D(z)):(e.consume(z),V)}function D(z){return e.check(gS,A,W)(z)}function A(z){return e.enter("lineEnding"),e.consume(z),e.exit("lineEnding"),I}function I(z){return z===null||lt(z)?D(z):(e.enter("htmlFlowData"),V(z))}function _(z){return z===45?(e.consume(z),B):V(z)}function G(z){return z===47?(e.consume(z),u="",q):V(z)}function q(z){if(z===62){const L=u.toLowerCase();return Eb.includes(L)?(e.consume(z),R):V(z)}return rr(z)&&u.length<8?(e.consume(z),u+=String.fromCharCode(z),q):V(z)}function K(z){return z===93?(e.consume(z),B):V(z)}function B(z){return z===62?(e.consume(z),R):z===45&&o===2?(e.consume(z),B):V(z)}function R(z){return z===null||lt(z)?(e.exit("htmlFlowData"),W(z)):(e.consume(z),R)}function W(z){return e.exit("htmlFlow"),r(z)}}function yS(e,r,s){const l=this;return o;function o(u){return lt(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),c):s(u)}function c(u){return l.parser.lazy[l.now().line]?s(u):r(u)}}function vS(e,r,s){return l;function l(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(Mo,r,s)}}const jS={name:"htmlText",tokenize:wS};function wS(e,r,s){const l=this;let o,c,u;return f;function f(B){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(B),m}function m(B){return B===33?(e.consume(B),h):B===47?(e.consume(B),H):B===63?(e.consume(B),N):rr(B)?(e.consume(B),$):s(B)}function h(B){return B===45?(e.consume(B),x):B===91?(e.consume(B),c=0,w):rr(B)?(e.consume(B),C):s(B)}function x(B){return B===45?(e.consume(B),p):s(B)}function g(B){return B===null?s(B):B===45?(e.consume(B),b):lt(B)?(u=g,G(B)):(e.consume(B),g)}function b(B){return B===45?(e.consume(B),p):g(B)}function p(B){return B===62?_(B):B===45?b(B):g(B)}function w(B){const R="CDATA[";return B===R.charCodeAt(c++)?(e.consume(B),c===R.length?S:w):s(B)}function S(B){return B===null?s(B):B===93?(e.consume(B),T):lt(B)?(u=S,G(B)):(e.consume(B),S)}function T(B){return B===93?(e.consume(B),E):S(B)}function E(B){return B===62?_(B):B===93?(e.consume(B),E):S(B)}function C(B){return B===null||B===62?_(B):lt(B)?(u=C,G(B)):(e.consume(B),C)}function N(B){return B===null?s(B):B===63?(e.consume(B),k):lt(B)?(u=N,G(B)):(e.consume(B),N)}function k(B){return B===62?_(B):N(B)}function H(B){return rr(B)?(e.consume(B),M):s(B)}function M(B){return B===45||Wn(B)?(e.consume(B),M):Y(B)}function Y(B){return lt(B)?(u=Y,G(B)):Lt(B)?(e.consume(B),Y):_(B)}function $(B){return B===45||Wn(B)?(e.consume(B),$):B===47||B===62||on(B)?X(B):s(B)}function X(B){return B===47?(e.consume(B),_):B===58||B===95||rr(B)?(e.consume(B),P):lt(B)?(u=X,G(B)):Lt(B)?(e.consume(B),X):_(B)}function P(B){return B===45||B===46||B===58||B===95||Wn(B)?(e.consume(B),P):U(B)}function U(B){return B===61?(e.consume(B),V):lt(B)?(u=U,G(B)):Lt(B)?(e.consume(B),U):X(B)}function V(B){return B===null||B===60||B===61||B===62||B===96?s(B):B===34||B===39?(e.consume(B),o=B,D):lt(B)?(u=V,G(B)):Lt(B)?(e.consume(B),V):(e.consume(B),A)}function D(B){return B===o?(e.consume(B),o=void 0,I):B===null?s(B):lt(B)?(u=D,G(B)):(e.consume(B),D)}function A(B){return B===null||B===34||B===39||B===60||B===61||B===96?s(B):B===47||B===62||on(B)?X(B):(e.consume(B),A)}function I(B){return B===47||B===62||on(B)?X(B):s(B)}function _(B){return B===62?(e.consume(B),e.exit("htmlTextData"),e.exit("htmlText"),r):s(B)}function G(B){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(B),e.exit("lineEnding"),q}function q(B){return Lt(B)?qt(e,K,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(B):K(B)}function K(B){return e.enter("htmlTextData"),u(B)}}const Bm={name:"labelEnd",resolveAll:CS,resolveTo:ES,tokenize:TS},NS={tokenize:AS},kS={tokenize:_S},SS={tokenize:MS};function CS(e){let r=-1;const s=[];for(;++r<e.length;){const l=e[r][1];if(s.push(e[r]),l.type==="labelImage"||l.type==="labelLink"||l.type==="labelEnd"){const o=l.type==="labelImage"?4:2;l.type="data",r+=o}}return e.length!==s.length&&_r(e,0,e.length,s),e}function ES(e,r){let s=e.length,l=0,o,c,u,f;for(;s--;)if(o=e[s][1],c){if(o.type==="link"||o.type==="labelLink"&&o._inactive)break;e[s][0]==="enter"&&o.type==="labelLink"&&(o._inactive=!0)}else if(u){if(e[s][0]==="enter"&&(o.type==="labelImage"||o.type==="labelLink")&&!o._balanced&&(c=s,o.type!=="labelLink")){l=2;break}}else o.type==="labelEnd"&&(u=s);const m={type:e[c][1].type==="labelLink"?"link":"image",start:{...e[c][1].start},end:{...e[e.length-1][1].end}},h={type:"label",start:{...e[c][1].start},end:{...e[u][1].end}},x={type:"labelText",start:{...e[c+l+2][1].end},end:{...e[u-2][1].start}};return f=[["enter",m,r],["enter",h,r]],f=Fr(f,e.slice(c+1,c+l+3)),f=Fr(f,[["enter",x,r]]),f=Fr(f,Hu(r.parser.constructs.insideSpan.null,e.slice(c+l+4,u-3),r)),f=Fr(f,[["exit",x,r],e[u-2],e[u-1],["exit",h,r]]),f=Fr(f,e.slice(u+1)),f=Fr(f,[["exit",m,r]]),_r(e,c,e.length,f),e}function TS(e,r,s){const l=this;let o=l.events.length,c,u;for(;o--;)if((l.events[o][1].type==="labelImage"||l.events[o][1].type==="labelLink")&&!l.events[o][1]._balanced){c=l.events[o][1];break}return f;function f(b){return c?c._inactive?g(b):(u=l.parser.defined.includes(es(l.sliceSerialize({start:c.end,end:l.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(b),e.exit("labelMarker"),e.exit("labelEnd"),m):s(b)}function m(b){return b===40?e.attempt(NS,x,u?x:g)(b):b===91?e.attempt(kS,x,u?h:g)(b):u?x(b):g(b)}function h(b){return e.attempt(SS,x,g)(b)}function x(b){return r(b)}function g(b){return c._balanced=!0,s(b)}}function AS(e,r,s){return l;function l(g){return e.enter("resource"),e.enter("resourceMarker"),e.consume(g),e.exit("resourceMarker"),o}function o(g){return on(g)?uo(e,c)(g):c(g)}function c(g){return g===41?x(g):f1(e,u,f,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(g)}function u(g){return on(g)?uo(e,m)(g):x(g)}function f(g){return s(g)}function m(g){return g===34||g===39||g===40?m1(e,h,s,"resourceTitle","resourceTitleMarker","resourceTitleString")(g):x(g)}function h(g){return on(g)?uo(e,x)(g):x(g)}function x(g){return g===41?(e.enter("resourceMarker"),e.consume(g),e.exit("resourceMarker"),e.exit("resource"),r):s(g)}}function _S(e,r,s){const l=this;return o;function o(f){return h1.call(l,e,c,u,"reference","referenceMarker","referenceString")(f)}function c(f){return l.parser.defined.includes(es(l.sliceSerialize(l.events[l.events.length-1][1]).slice(1,-1)))?r(f):s(f)}function u(f){return s(f)}}function MS(e,r,s){return l;function l(c){return e.enter("reference"),e.enter("referenceMarker"),e.consume(c),e.exit("referenceMarker"),o}function o(c){return c===93?(e.enter("referenceMarker"),e.consume(c),e.exit("referenceMarker"),e.exit("reference"),r):s(c)}}const DS={name:"labelStartImage",resolveAll:Bm.resolveAll,tokenize:OS};function OS(e,r,s){const l=this;return o;function o(f){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(f),e.exit("labelImageMarker"),c}function c(f){return f===91?(e.enter("labelMarker"),e.consume(f),e.exit("labelMarker"),e.exit("labelImage"),u):s(f)}function u(f){return f===94&&"_hiddenFootnoteSupport"in l.parser.constructs?s(f):r(f)}}const RS={name:"labelStartLink",resolveAll:Bm.resolveAll,tokenize:zS};function zS(e,r,s){const l=this;return o;function o(u){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(u),e.exit("labelMarker"),e.exit("labelLink"),c}function c(u){return u===94&&"_hiddenFootnoteSupport"in l.parser.constructs?s(u):r(u)}}const mh={name:"lineEnding",tokenize:LS};function LS(e,r){return s;function s(l){return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),qt(e,r,"linePrefix")}}const cu={name:"thematicBreak",tokenize:IS};function IS(e,r,s){let l=0,o;return c;function c(h){return e.enter("thematicBreak"),u(h)}function u(h){return o=h,f(h)}function f(h){return h===o?(e.enter("thematicBreakSequence"),m(h)):l>=3&&(h===null||lt(h))?(e.exit("thematicBreak"),r(h)):s(h)}function m(h){return h===o?(e.consume(h),l++,m):(e.exit("thematicBreakSequence"),Lt(h)?qt(e,f,"whitespace")(h):f(h))}}const xr={continuation:{tokenize:PS},exit:qS,name:"list",tokenize:HS},$S={partial:!0,tokenize:VS},BS={partial:!0,tokenize:US};function HS(e,r,s){const l=this,o=l.events[l.events.length-1];let c=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return f;function f(p){const w=l.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!l.containerState.marker||p===l.containerState.marker:rm(p)){if(l.containerState.type||(l.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(cu,s,h)(p):h(p);if(!l.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),m(p)}return s(p)}function m(p){return rm(p)&&++u<10?(e.consume(p),m):(!l.interrupt||u<2)&&(l.containerState.marker?p===l.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),h(p)):s(p)}function h(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),l.containerState.marker=l.containerState.marker||p,e.check(Mo,l.interrupt?s:x,e.attempt($S,b,g))}function x(p){return l.containerState.initialBlankLine=!0,c++,b(p)}function g(p){return Lt(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),b):s(p)}function b(p){return l.containerState.size=c+l.sliceSerialize(e.exit("listItemPrefix"),!0).length,r(p)}}function PS(e,r,s){const l=this;return l.containerState._closeFlow=void 0,e.check(Mo,o,c);function o(f){return l.containerState.furtherBlankLines=l.containerState.furtherBlankLines||l.containerState.initialBlankLine,qt(e,r,"listItemIndent",l.containerState.size+1)(f)}function c(f){return l.containerState.furtherBlankLines||!Lt(f)?(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,u(f)):(l.containerState.furtherBlankLines=void 0,l.containerState.initialBlankLine=void 0,e.attempt(BS,r,u)(f))}function u(f){return l.containerState._closeFlow=!0,l.interrupt=void 0,qt(e,e.attempt(xr,r,s),"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(f)}}function US(e,r,s){const l=this;return qt(e,o,"listItemIndent",l.containerState.size+1);function o(c){const u=l.events[l.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===l.containerState.size?r(c):s(c)}}function qS(e){e.exit(this.containerState.type)}function VS(e,r,s){const l=this;return qt(e,o,"listItemPrefixWhitespace",l.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(c){const u=l.events[l.events.length-1];return!Lt(c)&&u&&u[1].type==="listItemPrefixWhitespace"?r(c):s(c)}}const Tb={name:"setextUnderline",resolveTo:FS,tokenize:YS};function FS(e,r){let s=e.length,l,o,c;for(;s--;)if(e[s][0]==="enter"){if(e[s][1].type==="content"){l=s;break}e[s][1].type==="paragraph"&&(o=s)}else e[s][1].type==="content"&&e.splice(s,1),!c&&e[s][1].type==="definition"&&(c=s);const u={type:"setextHeading",start:{...e[l][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",c?(e.splice(o,0,["enter",u,r]),e.splice(c+1,0,["exit",e[l][1],r]),e[l][1].end={...e[c][1].end}):e[l][1]=u,e.push(["exit",u,r]),e}function YS(e,r,s){const l=this;let o;return c;function c(h){let x=l.events.length,g;for(;x--;)if(l.events[x][1].type!=="lineEnding"&&l.events[x][1].type!=="linePrefix"&&l.events[x][1].type!=="content"){g=l.events[x][1].type==="paragraph";break}return!l.parser.lazy[l.now().line]&&(l.interrupt||g)?(e.enter("setextHeadingLine"),o=h,u(h)):s(h)}function u(h){return e.enter("setextHeadingLineSequence"),f(h)}function f(h){return h===o?(e.consume(h),f):(e.exit("setextHeadingLineSequence"),Lt(h)?qt(e,m,"lineSuffix")(h):m(h))}function m(h){return h===null||lt(h)?(e.exit("setextHeadingLine"),r(h)):s(h)}}const GS={tokenize:XS};function XS(e){const r=this,s=e.attempt(Mo,l,e.attempt(this.parser.constructs.flowInitial,o,qt(e,e.attempt(this.parser.constructs.flow,o,e.attempt(Wk,o)),"linePrefix")));return s;function l(c){if(c===null){e.consume(c);return}return e.enter("lineEndingBlank"),e.consume(c),e.exit("lineEndingBlank"),r.currentConstruct=void 0,s}function o(c){if(c===null){e.consume(c);return}return e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),r.currentConstruct=void 0,s}}const ZS={resolveAll:g1()},QS=x1("string"),KS=x1("text");function x1(e){return{resolveAll:g1(e==="text"?JS:void 0),tokenize:r};function r(s){const l=this,o=this.parser.constructs[e],c=s.attempt(o,u,f);return u;function u(x){return h(x)?c(x):f(x)}function f(x){if(x===null){s.consume(x);return}return s.enter("data"),s.consume(x),m}function m(x){return h(x)?(s.exit("data"),c(x)):(s.consume(x),m)}function h(x){if(x===null)return!0;const g=o[x];let b=-1;if(g)for(;++b<g.length;){const p=g[b];if(!p.previous||p.previous.call(l,l.previous))return!0}return!1}}}function g1(e){return r;function r(s,l){let o=-1,c;for(;++o<=s.length;)c===void 0?s[o]&&s[o][1].type==="data"&&(c=o,o++):(!s[o]||s[o][1].type!=="data")&&(o!==c+2&&(s[c][1].end=s[o-1][1].end,s.splice(c+2,o-c-2),o=c+2),c=void 0);return e?e(s,l):s}}function JS(e,r){let s=0;for(;++s<=e.length;)if((s===e.length||e[s][1].type==="lineEnding")&&e[s-1][1].type==="data"){const l=e[s-1][1],o=r.sliceStream(l);let c=o.length,u=-1,f=0,m;for(;c--;){const h=o[c];if(typeof h=="string"){for(u=h.length;h.charCodeAt(u-1)===32;)f++,u--;if(u)break;u=-1}else if(h===-2)m=!0,f++;else if(h!==-1){c++;break}}if(r._contentTypeTextTrailing&&s===e.length&&(f=0),f){const h={type:s===e.length||m||f<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:c?u:l.start._bufferIndex+u,_index:l.start._index+c,line:l.end.line,column:l.end.column-f,offset:l.end.offset-f},end:{...l.end}};l.end={...h.start},l.start.offset===l.end.offset?Object.assign(l,h):(e.splice(s,0,["enter",h,r],["exit",h,r]),s+=2)}s++}return e}const WS={42:xr,43:xr,45:xr,48:xr,49:xr,50:xr,51:xr,52:xr,53:xr,54:xr,55:xr,56:xr,57:xr,62:o1},eC={91:sS},tC={[-2]:hh,[-1]:hh,32:hh},nC={35:uS,42:cu,45:[Tb,cu],60:mS,61:Tb,95:cu,96:Cb,126:Cb},rC={38:u1,92:c1},sC={[-5]:mh,[-4]:mh,[-3]:mh,33:DS,38:u1,42:sm,60:[Rk,jS],91:RS,92:[oS,c1],93:Bm,95:sm,96:Gk},aC={null:[sm,ZS]},lC={null:[42,95]},iC={null:[]},oC=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:lC,contentInitial:eC,disable:iC,document:WS,flow:nC,flowInitial:tC,insideSpan:aC,string:rC,text:sC},Symbol.toStringTag,{value:"Module"}));function cC(e,r,s){let l={_bufferIndex:-1,_index:0,line:s&&s.line||1,column:s&&s.column||1,offset:s&&s.offset||0};const o={},c=[];let u=[],f=[];const m={attempt:Y(H),check:Y(M),consume:C,enter:N,exit:k,interrupt:Y(M,{interrupt:!0})},h={code:null,containerState:{},defineSkip:S,events:[],now:w,parser:e,previous:null,sliceSerialize:b,sliceStream:p,write:g};let x=r.tokenize.call(h,m);return r.resolveAll&&c.push(r),h;function g(U){return u=Fr(u,U),T(),u[u.length-1]!==null?[]:($(r,0),h.events=Hu(c,h.events,h),h.events)}function b(U,V){return dC(p(U),V)}function p(U){return uC(u,U)}function w(){const{_bufferIndex:U,_index:V,line:D,column:A,offset:I}=l;return{_bufferIndex:U,_index:V,line:D,column:A,offset:I}}function S(U){o[U.line]=U.column,P()}function T(){let U;for(;l._index<u.length;){const V=u[l._index];if(typeof V=="string")for(U=l._index,l._bufferIndex<0&&(l._bufferIndex=0);l._index===U&&l._bufferIndex<V.length;)E(V.charCodeAt(l._bufferIndex));else E(V)}}function E(U){x=x(U)}function C(U){lt(U)?(l.line++,l.column=1,l.offset+=U===-3?2:1,P()):U!==-1&&(l.column++,l.offset++),l._bufferIndex<0?l._index++:(l._bufferIndex++,l._bufferIndex===u[l._index].length&&(l._bufferIndex=-1,l._index++)),h.previous=U}function N(U,V){const D=V||{};return D.type=U,D.start=w(),h.events.push(["enter",D,h]),f.push(D),D}function k(U){const V=f.pop();return V.end=w(),h.events.push(["exit",V,h]),V}function H(U,V){$(U,V.from)}function M(U,V){V.restore()}function Y(U,V){return D;function D(A,I,_){let G,q,K,B;return Array.isArray(A)?W(A):"tokenize"in A?W([A]):R(A);function R(Q){return ne;function ne(Z){const ee=Z!==null&&Q[Z],oe=Z!==null&&Q.null,pe=[...Array.isArray(ee)?ee:ee?[ee]:[],...Array.isArray(oe)?oe:oe?[oe]:[]];return W(pe)(Z)}}function W(Q){return G=Q,q=0,Q.length===0?_:z(Q[q])}function z(Q){return ne;function ne(Z){return B=X(),K=Q,Q.partial||(h.currentConstruct=Q),Q.name&&h.parser.constructs.disable.null.includes(Q.name)?F():Q.tokenize.call(V?Object.assign(Object.create(h),V):h,m,L,F)(Z)}}function L(Q){return U(K,B),I}function F(Q){return B.restore(),++q<G.length?z(G[q]):_}}}function $(U,V){U.resolveAll&&!c.includes(U)&&c.push(U),U.resolve&&_r(h.events,V,h.events.length-V,U.resolve(h.events.slice(V),h)),U.resolveTo&&(h.events=U.resolveTo(h.events,h))}function X(){const U=w(),V=h.previous,D=h.currentConstruct,A=h.events.length,I=Array.from(f);return{from:A,restore:_};function _(){l=U,h.previous=V,h.currentConstruct=D,h.events.length=A,f=I,P()}}function P(){l.line in o&&l.column<2&&(l.column=o[l.line],l.offset+=o[l.line]-1)}}function uC(e,r){const s=r.start._index,l=r.start._bufferIndex,o=r.end._index,c=r.end._bufferIndex;let u;if(s===o)u=[e[s].slice(l,c)];else{if(u=e.slice(s,o),l>-1){const f=u[0];typeof f=="string"?u[0]=f.slice(l):u.shift()}c>0&&u.push(e[o].slice(0,c))}return u}function dC(e,r){let s=-1;const l=[];let o;for(;++s<e.length;){const c=e[s];let u;if(typeof c=="string")u=c;else switch(c){case-5:{u="\r";break}case-4:{u=`
13
+ `;break}case-3:{u=`\r
14
+ `;break}case-2:{u=r?" ":" ";break}case-1:{if(!r&&o)continue;u=" ";break}default:u=String.fromCharCode(c)}o=c===-2,l.push(u)}return l.join("")}function fC(e){const l={constructs:l1([oC,...(e||{}).extensions||[]]),content:o(Ek),defined:[],document:o(Ak),flow:o(GS),lazy:{},string:o(QS),text:o(KS)};return l;function o(c){return u;function u(f){return cC(l,c,f)}}}function hC(e){for(;!d1(e););return e}const Ab=/[\0\t\n\r]/g;function mC(){let e=1,r="",s=!0,l;return o;function o(c,u,f){const m=[];let h,x,g,b,p;for(c=r+(typeof c=="string"?c.toString():new TextDecoder(u||void 0).decode(c)),g=0,r="",s&&(c.charCodeAt(0)===65279&&g++,s=void 0);g<c.length;){if(Ab.lastIndex=g,h=Ab.exec(c),b=h&&h.index!==void 0?h.index:c.length,p=c.charCodeAt(b),!h){r=c.slice(g);break}if(p===10&&g===b&&l)m.push(-3),l=void 0;else switch(l&&(m.push(-5),l=void 0),g<b&&(m.push(c.slice(g,b)),e+=b-g),p){case 0:{m.push(65533),e++;break}case 9:{for(x=Math.ceil(e/4)*4,m.push(-2);e++<x;)m.push(-1);break}case 10:{m.push(-4),e=1;break}default:l=!0,e=1}g=b+1}return f&&(l&&m.push(-5),r&&m.push(r),m.push(null)),m}}const xC=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function gC(e){return e.replace(xC,pC)}function pC(e,r,s){if(r)return r;if(s.charCodeAt(0)===35){const o=s.charCodeAt(1),c=o===120||o===88;return i1(s.slice(c?2:1),c?16:10)}return $m(s)||e}const p1={}.hasOwnProperty;function bC(e,r,s){return r&&typeof r=="object"&&(s=r,r=void 0),yC(s)(hC(fC(s).document().write(mC()(e,r,!0))))}function yC(e){const r={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:c(ht),autolinkProtocol:X,autolinkEmail:X,atxHeading:c(Be),blockQuote:c(oe),characterEscape:X,characterReference:X,codeFenced:c(pe),codeFencedFenceInfo:u,codeFencedFenceMeta:u,codeIndented:c(pe,u),codeText:c(Se,u),codeTextData:X,data:X,codeFlowValue:X,definition:c(Re),definitionDestinationString:u,definitionLabelString:u,definitionTitleString:u,emphasis:c(ze),hardBreakEscape:c(Xe),hardBreakTrailing:c(Xe),htmlFlow:c(_e,u),htmlFlowData:X,htmlText:c(_e,u),htmlTextData:X,image:c(Ye),label:u,link:c(ht),listItem:c(ie),listItemValue:b,listOrdered:c(gt,g),listUnordered:c(gt),paragraph:c(Le),reference:z,referenceString:u,resourceDestinationString:u,resourceTitleString:u,setextHeading:c(Be),strong:c(xt),thematicBreak:c(Zt)},exit:{atxHeading:m(),atxHeadingSequence:H,autolink:m(),autolinkEmail:ee,autolinkProtocol:Z,blockQuote:m(),characterEscapeValue:P,characterReferenceMarkerHexadecimal:F,characterReferenceMarkerNumeric:F,characterReferenceValue:Q,characterReference:ne,codeFenced:m(T),codeFencedFence:S,codeFencedFenceInfo:p,codeFencedFenceMeta:w,codeFlowValue:P,codeIndented:m(E),codeText:m(I),codeTextData:P,data:P,definition:m(),definitionDestinationString:k,definitionLabelString:C,definitionTitleString:N,emphasis:m(),hardBreakEscape:m(V),hardBreakTrailing:m(V),htmlFlow:m(D),htmlFlowData:P,htmlText:m(A),htmlTextData:P,image:m(G),label:K,labelText:q,lineEnding:U,link:m(_),listItem:m(),listOrdered:m(),listUnordered:m(),paragraph:m(),referenceString:L,resourceDestinationString:B,resourceTitleString:R,resource:W,setextHeading:m($),setextHeadingLineSequence:Y,setextHeadingText:M,strong:m(),thematicBreak:m()}};b1(r,(e||{}).mdastExtensions||[]);const s={};return l;function l(ve){let Me={type:"root",children:[]};const Ue={stack:[Me],tokenStack:[],config:r,enter:f,exit:h,buffer:u,resume:x,data:s},et=[];let Ge=-1;for(;++Ge<ve.length;)if(ve[Ge][1].type==="listOrdered"||ve[Ge][1].type==="listUnordered")if(ve[Ge][0]==="enter")et.push(Ge);else{const Ht=et.pop();Ge=o(ve,Ht,Ge)}for(Ge=-1;++Ge<ve.length;){const Ht=r[ve[Ge][0]];p1.call(Ht,ve[Ge][1].type)&&Ht[ve[Ge][1].type].call(Object.assign({sliceSerialize:ve[Ge][2].sliceSerialize},Ue),ve[Ge][1])}if(Ue.tokenStack.length>0){const Ht=Ue.tokenStack[Ue.tokenStack.length-1];(Ht[1]||_b).call(Ue,void 0,Ht[0])}for(Me.position={start:ha(ve.length>0?ve[0][1].start:{line:1,column:1,offset:0}),end:ha(ve.length>0?ve[ve.length-2][1].end:{line:1,column:1,offset:0})},Ge=-1;++Ge<r.transforms.length;)Me=r.transforms[Ge](Me)||Me;return Me}function o(ve,Me,Ue){let et=Me-1,Ge=-1,Ht=!1,_t,jt,vt,he;for(;++et<=Ue;){const He=ve[et];switch(He[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{He[0]==="enter"?Ge++:Ge--,he=void 0;break}case"lineEndingBlank":{He[0]==="enter"&&(_t&&!he&&!Ge&&!vt&&(vt=et),he=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:he=void 0}if(!Ge&&He[0]==="enter"&&He[1].type==="listItemPrefix"||Ge===-1&&He[0]==="exit"&&(He[1].type==="listUnordered"||He[1].type==="listOrdered")){if(_t){let ft=et;for(jt=void 0;ft--;){const ct=ve[ft];if(ct[1].type==="lineEnding"||ct[1].type==="lineEndingBlank"){if(ct[0]==="exit")continue;jt&&(ve[jt][1].type="lineEndingBlank",Ht=!0),ct[1].type="lineEnding",jt=ft}else if(!(ct[1].type==="linePrefix"||ct[1].type==="blockQuotePrefix"||ct[1].type==="blockQuotePrefixWhitespace"||ct[1].type==="blockQuoteMarker"||ct[1].type==="listItemIndent"))break}vt&&(!jt||vt<jt)&&(_t._spread=!0),_t.end=Object.assign({},jt?ve[jt][1].start:He[1].end),ve.splice(jt||et,0,["exit",_t,He[2]]),et++,Ue++}if(He[1].type==="listItemPrefix"){const ft={type:"listItem",_spread:!1,start:Object.assign({},He[1].start),end:void 0};_t=ft,ve.splice(et,0,["enter",ft,He[2]]),et++,Ue++,vt=void 0,he=!0}}}return ve[Me][1]._spread=Ht,Ue}function c(ve,Me){return Ue;function Ue(et){f.call(this,ve(et),et),Me&&Me.call(this,et)}}function u(){this.stack.push({type:"fragment",children:[]})}function f(ve,Me,Ue){this.stack[this.stack.length-1].children.push(ve),this.stack.push(ve),this.tokenStack.push([Me,Ue||void 0]),ve.position={start:ha(Me.start),end:void 0}}function m(ve){return Me;function Me(Ue){ve&&ve.call(this,Ue),h.call(this,Ue)}}function h(ve,Me){const Ue=this.stack.pop(),et=this.tokenStack.pop();if(et)et[0].type!==ve.type&&(Me?Me.call(this,ve,et[0]):(et[1]||_b).call(this,ve,et[0]));else throw new Error("Cannot close `"+ve.type+"` ("+co({start:ve.start,end:ve.end})+"): it’s not open");Ue.position.end=ha(ve.end)}function x(){return Im(this.stack.pop())}function g(){this.data.expectingFirstListItemValue=!0}function b(ve){if(this.data.expectingFirstListItemValue){const Me=this.stack[this.stack.length-2];Me.start=Number.parseInt(this.sliceSerialize(ve),10),this.data.expectingFirstListItemValue=void 0}}function p(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.lang=ve}function w(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.meta=ve}function S(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function T(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.value=ve.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function E(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.value=ve.replace(/(\r?\n|\r)$/g,"")}function C(ve){const Me=this.resume(),Ue=this.stack[this.stack.length-1];Ue.label=Me,Ue.identifier=es(this.sliceSerialize(ve)).toLowerCase()}function N(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.title=ve}function k(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.url=ve}function H(ve){const Me=this.stack[this.stack.length-1];if(!Me.depth){const Ue=this.sliceSerialize(ve).length;Me.depth=Ue}}function M(){this.data.setextHeadingSlurpLineEnding=!0}function Y(ve){const Me=this.stack[this.stack.length-1];Me.depth=this.sliceSerialize(ve).codePointAt(0)===61?1:2}function $(){this.data.setextHeadingSlurpLineEnding=void 0}function X(ve){const Ue=this.stack[this.stack.length-1].children;let et=Ue[Ue.length-1];(!et||et.type!=="text")&&(et=yt(),et.position={start:ha(ve.start),end:void 0},Ue.push(et)),this.stack.push(et)}function P(ve){const Me=this.stack.pop();Me.value+=this.sliceSerialize(ve),Me.position.end=ha(ve.end)}function U(ve){const Me=this.stack[this.stack.length-1];if(this.data.atHardBreak){const Ue=Me.children[Me.children.length-1];Ue.position.end=ha(ve.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&r.canContainEols.includes(Me.type)&&(X.call(this,ve),P.call(this,ve))}function V(){this.data.atHardBreak=!0}function D(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.value=ve}function A(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.value=ve}function I(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.value=ve}function _(){const ve=this.stack[this.stack.length-1];if(this.data.inReference){const Me=this.data.referenceType||"shortcut";ve.type+="Reference",ve.referenceType=Me,delete ve.url,delete ve.title}else delete ve.identifier,delete ve.label;this.data.referenceType=void 0}function G(){const ve=this.stack[this.stack.length-1];if(this.data.inReference){const Me=this.data.referenceType||"shortcut";ve.type+="Reference",ve.referenceType=Me,delete ve.url,delete ve.title}else delete ve.identifier,delete ve.label;this.data.referenceType=void 0}function q(ve){const Me=this.sliceSerialize(ve),Ue=this.stack[this.stack.length-2];Ue.label=gC(Me),Ue.identifier=es(Me).toLowerCase()}function K(){const ve=this.stack[this.stack.length-1],Me=this.resume(),Ue=this.stack[this.stack.length-1];if(this.data.inReference=!0,Ue.type==="link"){const et=ve.children;Ue.children=et}else Ue.alt=Me}function B(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.url=ve}function R(){const ve=this.resume(),Me=this.stack[this.stack.length-1];Me.title=ve}function W(){this.data.inReference=void 0}function z(){this.data.referenceType="collapsed"}function L(ve){const Me=this.resume(),Ue=this.stack[this.stack.length-1];Ue.label=Me,Ue.identifier=es(this.sliceSerialize(ve)).toLowerCase(),this.data.referenceType="full"}function F(ve){this.data.characterReferenceType=ve.type}function Q(ve){const Me=this.sliceSerialize(ve),Ue=this.data.characterReferenceType;let et;Ue?(et=i1(Me,Ue==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):et=$m(Me);const Ge=this.stack[this.stack.length-1];Ge.value+=et}function ne(ve){const Me=this.stack.pop();Me.position.end=ha(ve.end)}function Z(ve){P.call(this,ve);const Me=this.stack[this.stack.length-1];Me.url=this.sliceSerialize(ve)}function ee(ve){P.call(this,ve);const Me=this.stack[this.stack.length-1];Me.url="mailto:"+this.sliceSerialize(ve)}function oe(){return{type:"blockquote",children:[]}}function pe(){return{type:"code",lang:null,meta:null,value:""}}function Se(){return{type:"inlineCode",value:""}}function Re(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function ze(){return{type:"emphasis",children:[]}}function Be(){return{type:"heading",depth:0,children:[]}}function Xe(){return{type:"break"}}function _e(){return{type:"html",value:""}}function Ye(){return{type:"image",title:null,url:"",alt:null}}function ht(){return{type:"link",title:null,url:"",children:[]}}function gt(ve){return{type:"list",ordered:ve.type==="listOrdered",start:null,spread:ve._spread,children:[]}}function ie(ve){return{type:"listItem",spread:ve._spread,checked:null,children:[]}}function Le(){return{type:"paragraph",children:[]}}function xt(){return{type:"strong",children:[]}}function yt(){return{type:"text",value:""}}function Zt(){return{type:"thematicBreak"}}}function ha(e){return{line:e.line,column:e.column,offset:e.offset}}function b1(e,r){let s=-1;for(;++s<r.length;){const l=r[s];Array.isArray(l)?b1(e,l):vC(e,l)}}function vC(e,r){let s;for(s in r)if(p1.call(r,s))switch(s){case"canContainEols":{const l=r[s];l&&e[s].push(...l);break}case"transforms":{const l=r[s];l&&e[s].push(...l);break}case"enter":case"exit":{const l=r[s];l&&Object.assign(e[s],l);break}}}function _b(e,r){throw e?new Error("Cannot close `"+e.type+"` ("+co({start:e.start,end:e.end})+"): a different token (`"+r.type+"`, "+co({start:r.start,end:r.end})+") is open"):new Error("Cannot close document, a token (`"+r.type+"`, "+co({start:r.start,end:r.end})+") is still open")}function jC(e){const r=this;r.parser=s;function s(l){return bC(l,{...r.data("settings"),...e,extensions:r.data("micromarkExtensions")||[],mdastExtensions:r.data("fromMarkdownExtensions")||[]})}}function wC(e,r){const s={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(r),!0)};return e.patch(r,s),e.applyData(r,s)}function NC(e,r){const s={type:"element",tagName:"br",properties:{},children:[]};return e.patch(r,s),[e.applyData(r,s),{type:"text",value:`
15
+ `}]}function kC(e,r){const s=r.value?r.value+`
16
+ `:"",l={},o=r.lang?r.lang.split(/\s+/):[];o.length>0&&(l.className=["language-"+o[0]]);let c={type:"element",tagName:"code",properties:l,children:[{type:"text",value:s}]};return r.meta&&(c.data={meta:r.meta}),e.patch(r,c),c=e.applyData(r,c),c={type:"element",tagName:"pre",properties:{},children:[c]},e.patch(r,c),c}function SC(e,r){const s={type:"element",tagName:"del",properties:{},children:e.all(r)};return e.patch(r,s),e.applyData(r,s)}function CC(e,r){const s={type:"element",tagName:"em",properties:{},children:e.all(r)};return e.patch(r,s),e.applyData(r,s)}function EC(e,r){const s=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",l=String(r.identifier).toUpperCase(),o=ti(l.toLowerCase()),c=e.footnoteOrder.indexOf(l);let u,f=e.footnoteCounts.get(l);f===void 0?(f=0,e.footnoteOrder.push(l),u=e.footnoteOrder.length):u=c+1,f+=1,e.footnoteCounts.set(l,f);const m={type:"element",tagName:"a",properties:{href:"#"+s+"fn-"+o,id:s+"fnref-"+o+(f>1?"-"+f:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(r,m);const h={type:"element",tagName:"sup",properties:{},children:[m]};return e.patch(r,h),e.applyData(r,h)}function TC(e,r){const s={type:"element",tagName:"h"+r.depth,properties:{},children:e.all(r)};return e.patch(r,s),e.applyData(r,s)}function AC(e,r){if(e.options.allowDangerousHtml){const s={type:"raw",value:r.value};return e.patch(r,s),e.applyData(r,s)}}function y1(e,r){const s=r.referenceType;let l="]";if(s==="collapsed"?l+="[]":s==="full"&&(l+="["+(r.label||r.identifier)+"]"),r.type==="imageReference")return[{type:"text",value:"!["+r.alt+l}];const o=e.all(r),c=o[0];c&&c.type==="text"?c.value="["+c.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=l:o.push({type:"text",value:l}),o}function _C(e,r){const s=String(r.identifier).toUpperCase(),l=e.definitionById.get(s);if(!l)return y1(e,r);const o={src:ti(l.url||""),alt:r.alt};l.title!==null&&l.title!==void 0&&(o.title=l.title);const c={type:"element",tagName:"img",properties:o,children:[]};return e.patch(r,c),e.applyData(r,c)}function MC(e,r){const s={src:ti(r.url)};r.alt!==null&&r.alt!==void 0&&(s.alt=r.alt),r.title!==null&&r.title!==void 0&&(s.title=r.title);const l={type:"element",tagName:"img",properties:s,children:[]};return e.patch(r,l),e.applyData(r,l)}function DC(e,r){const s={type:"text",value:r.value.replace(/\r?\n|\r/g," ")};e.patch(r,s);const l={type:"element",tagName:"code",properties:{},children:[s]};return e.patch(r,l),e.applyData(r,l)}function OC(e,r){const s=String(r.identifier).toUpperCase(),l=e.definitionById.get(s);if(!l)return y1(e,r);const o={href:ti(l.url||"")};l.title!==null&&l.title!==void 0&&(o.title=l.title);const c={type:"element",tagName:"a",properties:o,children:e.all(r)};return e.patch(r,c),e.applyData(r,c)}function RC(e,r){const s={href:ti(r.url)};r.title!==null&&r.title!==void 0&&(s.title=r.title);const l={type:"element",tagName:"a",properties:s,children:e.all(r)};return e.patch(r,l),e.applyData(r,l)}function zC(e,r,s){const l=e.all(r),o=s?LC(s):v1(r),c={},u=[];if(typeof r.checked=="boolean"){const x=l[0];let g;x&&x.type==="element"&&x.tagName==="p"?g=x:(g={type:"element",tagName:"p",properties:{},children:[]},l.unshift(g)),g.children.length>0&&g.children.unshift({type:"text",value:" "}),g.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:r.checked,disabled:!0},children:[]}),c.className=["task-list-item"]}let f=-1;for(;++f<l.length;){const x=l[f];(o||f!==0||x.type!=="element"||x.tagName!=="p")&&u.push({type:"text",value:`
17
+ `}),x.type==="element"&&x.tagName==="p"&&!o?u.push(...x.children):u.push(x)}const m=l[l.length-1];m&&(o||m.type!=="element"||m.tagName!=="p")&&u.push({type:"text",value:`
18
+ `});const h={type:"element",tagName:"li",properties:c,children:u};return e.patch(r,h),e.applyData(r,h)}function LC(e){let r=!1;if(e.type==="list"){r=e.spread||!1;const s=e.children;let l=-1;for(;!r&&++l<s.length;)r=v1(s[l])}return r}function v1(e){const r=e.spread;return r??e.children.length>1}function IC(e,r){const s={},l=e.all(r);let o=-1;for(typeof r.start=="number"&&r.start!==1&&(s.start=r.start);++o<l.length;){const u=l[o];if(u.type==="element"&&u.tagName==="li"&&u.properties&&Array.isArray(u.properties.className)&&u.properties.className.includes("task-list-item")){s.className=["contains-task-list"];break}}const c={type:"element",tagName:r.ordered?"ol":"ul",properties:s,children:e.wrap(l,!0)};return e.patch(r,c),e.applyData(r,c)}function $C(e,r){const s={type:"element",tagName:"p",properties:{},children:e.all(r)};return e.patch(r,s),e.applyData(r,s)}function BC(e,r){const s={type:"root",children:e.wrap(e.all(r))};return e.patch(r,s),e.applyData(r,s)}function HC(e,r){const s={type:"element",tagName:"strong",properties:{},children:e.all(r)};return e.patch(r,s),e.applyData(r,s)}function PC(e,r){const s=e.all(r),l=s.shift(),o=[];if(l){const u={type:"element",tagName:"thead",properties:{},children:e.wrap([l],!0)};e.patch(r.children[0],u),o.push(u)}if(s.length>0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(s,!0)},f=Om(r.children[1]),m=Wv(r.children[r.children.length-1]);f&&m&&(u.position={start:f,end:m}),o.push(u)}const c={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(r,c),e.applyData(r,c)}function UC(e,r,s){const l=s?s.children:void 0,c=(l?l.indexOf(r):1)===0?"th":"td",u=s&&s.type==="table"?s.align:void 0,f=u?u.length:r.children.length;let m=-1;const h=[];for(;++m<f;){const g=r.children[m],b={},p=u?u[m]:void 0;p&&(b.align=p);let w={type:"element",tagName:c,properties:b,children:[]};g&&(w.children=e.all(g),e.patch(g,w),w=e.applyData(g,w)),h.push(w)}const x={type:"element",tagName:"tr",properties:{},children:e.wrap(h,!0)};return e.patch(r,x),e.applyData(r,x)}function qC(e,r){const s={type:"element",tagName:"td",properties:{},children:e.all(r)};return e.patch(r,s),e.applyData(r,s)}const Mb=9,Db=32;function VC(e){const r=String(e),s=/\r?\n|\r/g;let l=s.exec(r),o=0;const c=[];for(;l;)c.push(Ob(r.slice(o,l.index),o>0,!0),l[0]),o=l.index+l[0].length,l=s.exec(r);return c.push(Ob(r.slice(o),o>0,!1)),c.join("")}function Ob(e,r,s){let l=0,o=e.length;if(r){let c=e.codePointAt(l);for(;c===Mb||c===Db;)l++,c=e.codePointAt(l)}if(s){let c=e.codePointAt(o-1);for(;c===Mb||c===Db;)o--,c=e.codePointAt(o-1)}return o>l?e.slice(l,o):""}function FC(e,r){const s={type:"text",value:VC(String(r.value))};return e.patch(r,s),e.applyData(r,s)}function YC(e,r){const s={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(r,s),e.applyData(r,s)}const GC={blockquote:wC,break:NC,code:kC,delete:SC,emphasis:CC,footnoteReference:EC,heading:TC,html:AC,imageReference:_C,image:MC,inlineCode:DC,linkReference:OC,link:RC,listItem:zC,list:IC,paragraph:$C,root:BC,strong:HC,table:PC,tableCell:qC,tableRow:UC,text:FC,thematicBreak:YC,toml:Xc,yaml:Xc,definition:Xc,footnoteDefinition:Xc};function Xc(){}const j1=-1,Pu=0,fo=1,bu=2,Hm=3,Pm=4,Um=5,qm=6,w1=7,N1=8,Rb=typeof self=="object"?self:globalThis,XC=(e,r)=>{const s=(o,c)=>(e.set(c,o),o),l=o=>{if(e.has(o))return e.get(o);const[c,u]=r[o];switch(c){case Pu:case j1:return s(u,o);case fo:{const f=s([],o);for(const m of u)f.push(l(m));return f}case bu:{const f=s({},o);for(const[m,h]of u)f[l(m)]=l(h);return f}case Hm:return s(new Date(u),o);case Pm:{const{source:f,flags:m}=u;return s(new RegExp(f,m),o)}case Um:{const f=s(new Map,o);for(const[m,h]of u)f.set(l(m),l(h));return f}case qm:{const f=s(new Set,o);for(const m of u)f.add(l(m));return f}case w1:{const{name:f,message:m}=u;return s(new Rb[f](m),o)}case N1:return s(BigInt(u),o);case"BigInt":return s(Object(BigInt(u)),o);case"ArrayBuffer":return s(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:f}=new Uint8Array(u);return s(new DataView(f),u)}}return s(new Rb[c](u),o)};return l},zb=e=>XC(new Map,e)(0),Ol="",{toString:ZC}={},{keys:QC}=Object,Ki=e=>{const r=typeof e;if(r!=="object"||!e)return[Pu,r];const s=ZC.call(e).slice(8,-1);switch(s){case"Array":return[fo,Ol];case"Object":return[bu,Ol];case"Date":return[Hm,Ol];case"RegExp":return[Pm,Ol];case"Map":return[Um,Ol];case"Set":return[qm,Ol];case"DataView":return[fo,s]}return s.includes("Array")?[fo,s]:s.includes("Error")?[w1,s]:[bu,s]},Zc=([e,r])=>e===Pu&&(r==="function"||r==="symbol"),KC=(e,r,s,l)=>{const o=(u,f)=>{const m=l.push(u)-1;return s.set(f,m),m},c=u=>{if(s.has(u))return s.get(u);let[f,m]=Ki(u);switch(f){case Pu:{let x=u;switch(m){case"bigint":f=N1,x=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+m);x=null;break;case"undefined":return o([j1],u)}return o([f,x],u)}case fo:{if(m){let b=u;return m==="DataView"?b=new Uint8Array(u.buffer):m==="ArrayBuffer"&&(b=new Uint8Array(u)),o([m,[...b]],u)}const x=[],g=o([f,x],u);for(const b of u)x.push(c(b));return g}case bu:{if(m)switch(m){case"BigInt":return o([m,u.toString()],u);case"Boolean":case"Number":case"String":return o([m,u.valueOf()],u)}if(r&&"toJSON"in u)return c(u.toJSON());const x=[],g=o([f,x],u);for(const b of QC(u))(e||!Zc(Ki(u[b])))&&x.push([c(b),c(u[b])]);return g}case Hm:return o([f,u.toISOString()],u);case Pm:{const{source:x,flags:g}=u;return o([f,{source:x,flags:g}],u)}case Um:{const x=[],g=o([f,x],u);for(const[b,p]of u)(e||!(Zc(Ki(b))||Zc(Ki(p))))&&x.push([c(b),c(p)]);return g}case qm:{const x=[],g=o([f,x],u);for(const b of u)(e||!Zc(Ki(b)))&&x.push(c(b));return g}}const{message:h}=u;return o([f,{name:m,message:h}],u)};return c},Lb=(e,{json:r,lossy:s}={})=>{const l=[];return KC(!(r||s),!!r,new Map,l)(e),l},yu=typeof structuredClone=="function"?(e,r)=>r&&("json"in r||"lossy"in r)?zb(Lb(e,r)):structuredClone(e):(e,r)=>zb(Lb(e,r));function JC(e,r){const s=[{type:"text",value:"↩"}];return r>1&&s.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(r)}]}),s}function WC(e,r){return"Back to reference "+(e+1)+(r>1?"-"+r:"")}function eE(e){const r=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",s=e.options.footnoteBackContent||JC,l=e.options.footnoteBackLabel||WC,o=e.options.footnoteLabel||"Footnotes",c=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},f=[];let m=-1;for(;++m<e.footnoteOrder.length;){const h=e.footnoteById.get(e.footnoteOrder[m]);if(!h)continue;const x=e.all(h),g=String(h.identifier).toUpperCase(),b=ti(g.toLowerCase());let p=0;const w=[],S=e.footnoteCounts.get(g);for(;S!==void 0&&++p<=S;){w.length>0&&w.push({type:"text",value:" "});let C=typeof s=="string"?s:s(m,p);typeof C=="string"&&(C={type:"text",value:C}),w.push({type:"element",tagName:"a",properties:{href:"#"+r+"fnref-"+b+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof l=="string"?l:l(m,p),className:["data-footnote-backref"]},children:Array.isArray(C)?C:[C]})}const T=x[x.length-1];if(T&&T.type==="element"&&T.tagName==="p"){const C=T.children[T.children.length-1];C&&C.type==="text"?C.value+=" ":T.children.push({type:"text",value:" "}),T.children.push(...w)}else x.push(...w);const E={type:"element",tagName:"li",properties:{id:r+"fn-"+b},children:e.wrap(x,!0)};e.patch(h,E),f.push(E)}if(f.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:c,properties:{...yu(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:`
19
+ `},{type:"element",tagName:"ol",properties:{},children:e.wrap(f,!0)},{type:"text",value:`
20
+ `}]}}const Uu=(function(e){if(e==null)return sE;if(typeof e=="function")return qu(e);if(typeof e=="object")return Array.isArray(e)?tE(e):nE(e);if(typeof e=="string")return rE(e);throw new Error("Expected function, string, or object as test")});function tE(e){const r=[];let s=-1;for(;++s<e.length;)r[s]=Uu(e[s]);return qu(l);function l(...o){let c=-1;for(;++c<r.length;)if(r[c].apply(this,o))return!0;return!1}}function nE(e){const r=e;return qu(s);function s(l){const o=l;let c;for(c in e)if(o[c]!==r[c])return!1;return!0}}function rE(e){return qu(r);function r(s){return s&&s.type===e}}function qu(e){return r;function r(s,l,o){return!!(aE(s)&&e.call(this,s,typeof l=="number"?l:void 0,o||void 0))}}function sE(){return!0}function aE(e){return e!==null&&typeof e=="object"&&"type"in e}const k1=[],lE=!0,am=!1,iE="skip";function S1(e,r,s,l){let o;typeof r=="function"&&typeof s!="function"?(l=s,s=r):o=r;const c=Uu(o),u=l?-1:1;f(e,void 0,[])();function f(m,h,x){const g=m&&typeof m=="object"?m:{};if(typeof g.type=="string"){const p=typeof g.tagName=="string"?g.tagName:typeof g.name=="string"?g.name:void 0;Object.defineProperty(b,"name",{value:"node ("+(m.type+(p?"<"+p+">":""))+")"})}return b;function b(){let p=k1,w,S,T;if((!r||c(m,h,x[x.length-1]||void 0))&&(p=oE(s(m,x)),p[0]===am))return p;if("children"in m&&m.children){const E=m;if(E.children&&p[0]!==iE)for(S=(l?E.children.length:-1)+u,T=x.concat(E);S>-1&&S<E.children.length;){const C=E.children[S];if(w=f(C,S,T)(),w[0]===am)return w;S=typeof w[1]=="number"?w[1]:S+u}}return p}}}function oE(e){return Array.isArray(e)?e:typeof e=="number"?[lE,e]:e==null?k1:[e]}function Vm(e,r,s,l){let o,c,u;typeof r=="function"&&typeof s!="function"?(c=void 0,u=r,o=s):(c=r,u=s,o=l),S1(e,c,f,o);function f(m,h){const x=h[h.length-1],g=x?x.children.indexOf(m):void 0;return u(m,g,x)}}const lm={}.hasOwnProperty,cE={};function uE(e,r){const s=r||cE,l=new Map,o=new Map,c=new Map,u={...GC,...s.handlers},f={all:h,applyData:fE,definitionById:l,footnoteById:o,footnoteCounts:c,footnoteOrder:[],handlers:u,one:m,options:s,patch:dE,wrap:mE};return Vm(e,function(x){if(x.type==="definition"||x.type==="footnoteDefinition"){const g=x.type==="definition"?l:o,b=String(x.identifier).toUpperCase();g.has(b)||g.set(b,x)}}),f;function m(x,g){const b=x.type,p=f.handlers[b];if(lm.call(f.handlers,b)&&p)return p(f,x,g);if(f.options.passThrough&&f.options.passThrough.includes(b)){if("children"in x){const{children:S,...T}=x,E=yu(T);return E.children=f.all(x),E}return yu(x)}return(f.options.unknownHandler||hE)(f,x,g)}function h(x){const g=[];if("children"in x){const b=x.children;let p=-1;for(;++p<b.length;){const w=f.one(b[p],x);if(w){if(p&&b[p-1].type==="break"&&(!Array.isArray(w)&&w.type==="text"&&(w.value=Ib(w.value)),!Array.isArray(w)&&w.type==="element")){const S=w.children[0];S&&S.type==="text"&&(S.value=Ib(S.value))}Array.isArray(w)?g.push(...w):g.push(w)}}}return g}}function dE(e,r){e.position&&(r.position=W2(e))}function fE(e,r){let s=r;if(e&&e.data){const l=e.data.hName,o=e.data.hChildren,c=e.data.hProperties;if(typeof l=="string")if(s.type==="element")s.tagName=l;else{const u="children"in s?s.children:[s];s={type:"element",tagName:l,properties:{},children:u}}s.type==="element"&&c&&Object.assign(s.properties,yu(c)),"children"in s&&s.children&&o!==null&&o!==void 0&&(s.children=o)}return s}function hE(e,r){const s=r.data||{},l="value"in r&&!(lm.call(s,"hProperties")||lm.call(s,"hChildren"))?{type:"text",value:r.value}:{type:"element",tagName:"div",properties:{},children:e.all(r)};return e.patch(r,l),e.applyData(r,l)}function mE(e,r){const s=[];let l=-1;for(r&&s.push({type:"text",value:`
21
+ `});++l<e.length;)l&&s.push({type:"text",value:`
22
+ `}),s.push(e[l]);return r&&e.length>0&&s.push({type:"text",value:`
23
+ `}),s}function Ib(e){let r=0,s=e.charCodeAt(r);for(;s===9||s===32;)r++,s=e.charCodeAt(r);return e.slice(r)}function $b(e,r){const s=uE(e,r),l=s.one(e,void 0),o=eE(s),c=Array.isArray(l)?{type:"root",children:l}:l||{type:"root",children:[]};return o&&c.children.push({type:"text",value:`
24
+ `},o),c}function xE(e,r){return e&&"run"in e?async function(s,l){const o=$b(s,{file:l,...r});await e.run(o,l)}:function(s,l){return $b(s,{file:l,...e||r})}}function Bb(e){if(e)throw e}var xh,Hb;function gE(){if(Hb)return xh;Hb=1;var e=Object.prototype.hasOwnProperty,r=Object.prototype.toString,s=Object.defineProperty,l=Object.getOwnPropertyDescriptor,o=function(h){return typeof Array.isArray=="function"?Array.isArray(h):r.call(h)==="[object Array]"},c=function(h){if(!h||r.call(h)!=="[object Object]")return!1;var x=e.call(h,"constructor"),g=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!x&&!g)return!1;var b;for(b in h);return typeof b>"u"||e.call(h,b)},u=function(h,x){s&&x.name==="__proto__"?s(h,x.name,{enumerable:!0,configurable:!0,value:x.newValue,writable:!0}):h[x.name]=x.newValue},f=function(h,x){if(x==="__proto__")if(e.call(h,x)){if(l)return l(h,x).value}else return;return h[x]};return xh=function m(){var h,x,g,b,p,w,S=arguments[0],T=1,E=arguments.length,C=!1;for(typeof S=="boolean"&&(C=S,S=arguments[1]||{},T=2),(S==null||typeof S!="object"&&typeof S!="function")&&(S={});T<E;++T)if(h=arguments[T],h!=null)for(x in h)g=f(S,x),b=f(h,x),S!==b&&(C&&b&&(c(b)||(p=o(b)))?(p?(p=!1,w=g&&o(g)?g:[]):w=g&&c(g)?g:{},u(S,{name:x,newValue:m(C,w,b)})):typeof b<"u"&&u(S,{name:x,newValue:b}));return S},xh}var pE=gE();const gh=$u(pE);function im(e){if(typeof e!="object"||e===null)return!1;const r=Object.getPrototypeOf(e);return(r===null||r===Object.prototype||Object.getPrototypeOf(r)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function bE(){const e=[],r={run:s,use:l};return r;function s(...o){let c=-1;const u=o.pop();if(typeof u!="function")throw new TypeError("Expected function as last argument, not "+u);f(null,...o);function f(m,...h){const x=e[++c];let g=-1;if(m){u(m);return}for(;++g<o.length;)(h[g]===null||h[g]===void 0)&&(h[g]=o[g]);o=h,x?yE(x,f)(...h):u(null,...h)}}function l(o){if(typeof o!="function")throw new TypeError("Expected `middelware` to be a function, not "+o);return e.push(o),r}}function yE(e,r){let s;return l;function l(...u){const f=e.length>u.length;let m;f&&u.push(o);try{m=e.apply(this,u)}catch(h){const x=h;if(f&&s)throw x;return o(x)}f||(m&&m.then&&typeof m.then=="function"?m.then(c,o):m instanceof Error?o(m):c(m))}function o(u,...f){s||(s=!0,r(u,...f))}function c(u){o(null,u)}}const cs={basename:vE,dirname:jE,extname:wE,join:NE,sep:"/"};function vE(e,r){if(r!==void 0&&typeof r!="string")throw new TypeError('"ext" argument must be a string');Do(e);let s=0,l=-1,o=e.length,c;if(r===void 0||r.length===0||r.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(c){s=o+1;break}}else l<0&&(c=!0,l=o+1);return l<0?"":e.slice(s,l)}if(r===e)return"";let u=-1,f=r.length-1;for(;o--;)if(e.codePointAt(o)===47){if(c){s=o+1;break}}else u<0&&(c=!0,u=o+1),f>-1&&(e.codePointAt(o)===r.codePointAt(f--)?f<0&&(l=o):(f=-1,l=u));return s===l?l=u:l<0&&(l=e.length),e.slice(s,l)}function jE(e){if(Do(e),e.length===0)return".";let r=-1,s=e.length,l;for(;--s;)if(e.codePointAt(s)===47){if(l){r=s;break}}else l||(l=!0);return r<0?e.codePointAt(0)===47?"/":".":r===1&&e.codePointAt(0)===47?"//":e.slice(0,r)}function wE(e){Do(e);let r=e.length,s=-1,l=0,o=-1,c=0,u;for(;r--;){const f=e.codePointAt(r);if(f===47){if(u){l=r+1;break}continue}s<0&&(u=!0,s=r+1),f===46?o<0?o=r:c!==1&&(c=1):o>-1&&(c=-1)}return o<0||s<0||c===0||c===1&&o===s-1&&o===l+1?"":e.slice(o,s)}function NE(...e){let r=-1,s;for(;++r<e.length;)Do(e[r]),e[r]&&(s=s===void 0?e[r]:s+"/"+e[r]);return s===void 0?".":kE(s)}function kE(e){Do(e);const r=e.codePointAt(0)===47;let s=SE(e,!r);return s.length===0&&!r&&(s="."),s.length>0&&e.codePointAt(e.length-1)===47&&(s+="/"),r?"/"+s:s}function SE(e,r){let s="",l=0,o=-1,c=0,u=-1,f,m;for(;++u<=e.length;){if(u<e.length)f=e.codePointAt(u);else{if(f===47)break;f=47}if(f===47){if(!(o===u-1||c===1))if(o!==u-1&&c===2){if(s.length<2||l!==2||s.codePointAt(s.length-1)!==46||s.codePointAt(s.length-2)!==46){if(s.length>2){if(m=s.lastIndexOf("/"),m!==s.length-1){m<0?(s="",l=0):(s=s.slice(0,m),l=s.length-1-s.lastIndexOf("/")),o=u,c=0;continue}}else if(s.length>0){s="",l=0,o=u,c=0;continue}}r&&(s=s.length>0?s+"/..":"..",l=2)}else s.length>0?s+="/"+e.slice(o+1,u):s=e.slice(o+1,u),l=u-o-1;o=u,c=0}else f===46&&c>-1?c++:c=-1}return s}function Do(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const CE={cwd:EE};function EE(){return"/"}function om(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function TE(e){if(typeof e=="string")e=new URL(e);else if(!om(e)){const r=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw r.code="ERR_INVALID_ARG_TYPE",r}if(e.protocol!=="file:"){const r=new TypeError("The URL must be of scheme file");throw r.code="ERR_INVALID_URL_SCHEME",r}return AE(e)}function AE(e){if(e.hostname!==""){const l=new TypeError('File URL host must be "localhost" or empty on darwin');throw l.code="ERR_INVALID_FILE_URL_HOST",l}const r=e.pathname;let s=-1;for(;++s<r.length;)if(r.codePointAt(s)===37&&r.codePointAt(s+1)===50){const l=r.codePointAt(s+2);if(l===70||l===102){const o=new TypeError("File URL path must not include encoded / characters");throw o.code="ERR_INVALID_FILE_URL_PATH",o}}return decodeURIComponent(r)}const ph=["history","path","basename","stem","extname","dirname"];class C1{constructor(r){let s;r?om(r)?s={path:r}:typeof r=="string"||_E(r)?s={value:r}:s=r:s={},this.cwd="cwd"in s?"":CE.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let l=-1;for(;++l<ph.length;){const c=ph[l];c in s&&s[c]!==void 0&&s[c]!==null&&(this[c]=c==="history"?[...s[c]]:s[c])}let o;for(o in s)ph.includes(o)||(this[o]=s[o])}get basename(){return typeof this.path=="string"?cs.basename(this.path):void 0}set basename(r){yh(r,"basename"),bh(r,"basename"),this.path=cs.join(this.dirname||"",r)}get dirname(){return typeof this.path=="string"?cs.dirname(this.path):void 0}set dirname(r){Pb(this.basename,"dirname"),this.path=cs.join(r||"",this.basename)}get extname(){return typeof this.path=="string"?cs.extname(this.path):void 0}set extname(r){if(bh(r,"extname"),Pb(this.dirname,"extname"),r){if(r.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(r.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=cs.join(this.dirname,this.stem+(r||""))}get path(){return this.history[this.history.length-1]}set path(r){om(r)&&(r=TE(r)),yh(r,"path"),this.path!==r&&this.history.push(r)}get stem(){return typeof this.path=="string"?cs.basename(this.path,this.extname):void 0}set stem(r){yh(r,"stem"),bh(r,"stem"),this.path=cs.join(this.dirname||"",r+(this.extname||""))}fail(r,s,l){const o=this.message(r,s,l);throw o.fatal=!0,o}info(r,s,l){const o=this.message(r,s,l);return o.fatal=void 0,o}message(r,s,l){const o=new tr(r,s,l);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}toString(r){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(r||void 0).decode(this.value)}}function bh(e,r){if(e&&e.includes(cs.sep))throw new Error("`"+r+"` cannot be a path: did not expect `"+cs.sep+"`")}function yh(e,r){if(!e)throw new Error("`"+r+"` cannot be empty")}function Pb(e,r){if(!e)throw new Error("Setting `"+r+"` requires `path` to be set too")}function _E(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const ME=(function(e){const l=this.constructor.prototype,o=l[e],c=function(){return o.apply(c,arguments)};return Object.setPrototypeOf(c,l),c}),DE={}.hasOwnProperty;class Fm extends ME{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=bE()}copy(){const r=new Fm;let s=-1;for(;++s<this.attachers.length;){const l=this.attachers[s];r.use(...l)}return r.data(gh(!0,{},this.namespace)),r}data(r,s){return typeof r=="string"?arguments.length===2?(wh("data",this.frozen),this.namespace[r]=s,this):DE.call(this.namespace,r)&&this.namespace[r]||void 0:r?(wh("data",this.frozen),this.namespace=r,this):this.namespace}freeze(){if(this.frozen)return this;const r=this;for(;++this.freezeIndex<this.attachers.length;){const[s,...l]=this.attachers[this.freezeIndex];if(l[0]===!1)continue;l[0]===!0&&(l[0]=void 0);const o=s.call(r,...l);typeof o=="function"&&this.transformers.use(o)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(r){this.freeze();const s=Qc(r),l=this.parser||this.Parser;return vh("parse",l),l(String(s),s)}process(r,s){const l=this;return this.freeze(),vh("process",this.parser||this.Parser),jh("process",this.compiler||this.Compiler),s?o(void 0,s):new Promise(o);function o(c,u){const f=Qc(r),m=l.parse(f);l.run(m,f,function(x,g,b){if(x||!g||!b)return h(x);const p=g,w=l.stringify(p,b);zE(w)?b.value=w:b.result=w,h(x,b)});function h(x,g){x||!g?u(x):c?c(g):s(void 0,g)}}}processSync(r){let s=!1,l;return this.freeze(),vh("processSync",this.parser||this.Parser),jh("processSync",this.compiler||this.Compiler),this.process(r,o),qb("processSync","process",s),l;function o(c,u){s=!0,Bb(c),l=u}}run(r,s,l){Ub(r),this.freeze();const o=this.transformers;return!l&&typeof s=="function"&&(l=s,s=void 0),l?c(void 0,l):new Promise(c);function c(u,f){const m=Qc(s);o.run(r,m,h);function h(x,g,b){const p=g||r;x?f(x):u?u(p):l(void 0,p,b)}}}runSync(r,s){let l=!1,o;return this.run(r,s,c),qb("runSync","run",l),o;function c(u,f){Bb(u),o=f,l=!0}}stringify(r,s){this.freeze();const l=Qc(s),o=this.compiler||this.Compiler;return jh("stringify",o),Ub(r),o(r,l)}use(r,...s){const l=this.attachers,o=this.namespace;if(wh("use",this.frozen),r!=null)if(typeof r=="function")m(r,s);else if(typeof r=="object")Array.isArray(r)?f(r):u(r);else throw new TypeError("Expected usable value, not `"+r+"`");return this;function c(h){if(typeof h=="function")m(h,[]);else if(typeof h=="object")if(Array.isArray(h)){const[x,...g]=h;m(x,g)}else u(h);else throw new TypeError("Expected usable value, not `"+h+"`")}function u(h){if(!("plugins"in h)&&!("settings"in h))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");f(h.plugins),h.settings&&(o.settings=gh(!0,o.settings,h.settings))}function f(h){let x=-1;if(h!=null)if(Array.isArray(h))for(;++x<h.length;){const g=h[x];c(g)}else throw new TypeError("Expected a list of plugins, not `"+h+"`")}function m(h,x){let g=-1,b=-1;for(;++g<l.length;)if(l[g][0]===h){b=g;break}if(b===-1)l.push([h,...x]);else if(x.length>0){let[p,...w]=x;const S=l[b][1];im(S)&&im(p)&&(p=gh(!0,S,p)),l[b]=[h,p,...w]}}}}const OE=new Fm().freeze();function vh(e,r){if(typeof r!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function jh(e,r){if(typeof r!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function wh(e,r){if(r)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function Ub(e){if(!im(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function qb(e,r,s){if(!s)throw new Error("`"+e+"` finished async. Use `"+r+"` instead")}function Qc(e){return RE(e)?e:new C1(e)}function RE(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function zE(e){return typeof e=="string"||LE(e)}function LE(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const IE="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",Vb=[],Fb={allowDangerousHtml:!0},$E=/^(https?|ircs?|mailto|xmpp)$/i,BE=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function Yb(e){const r=HE(e),s=PE(e);return UE(r.runSync(r.parse(s),s),e)}function HE(e){const r=e.rehypePlugins||Vb,s=e.remarkPlugins||Vb,l=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Fb}:Fb;return OE().use(jC).use(s).use(xE,l).use(r)}function PE(e){const r=e.children||"",s=new C1;return typeof r=="string"&&(s.value=r),s}function UE(e,r){const s=r.allowedElements,l=r.allowElement,o=r.components,c=r.disallowedElements,u=r.skipHtml,f=r.unwrapDisallowed,m=r.urlTransform||qE;for(const x of BE)Object.hasOwn(r,x.from)&&(""+x.from+(x.to?"use `"+x.to+"` instead":"remove it")+IE+x.id,void 0);return Vm(e,h),sk(e,{Fragment:t.Fragment,components:o,ignoreInvalidStyle:!0,jsx:t.jsx,jsxs:t.jsxs,passKeys:!0,passNode:!0});function h(x,g,b){if(x.type==="raw"&&b&&typeof g=="number")return u?b.children.splice(g,1):b.children[g]={type:"text",value:x.value},g;if(x.type==="element"){let p;for(p in fh)if(Object.hasOwn(fh,p)&&Object.hasOwn(x.properties,p)){const w=x.properties[p],S=fh[p];(S===null||S.includes(x.tagName))&&(x.properties[p]=m(String(w||""),p,x))}}if(x.type==="element"){let p=s?!s.includes(x.tagName):c?c.includes(x.tagName):!1;if(!p&&l&&typeof g=="number"&&(p=!l(x,g,b)),p&&b&&typeof g=="number")return f&&x.children?b.children.splice(g,1,...x.children):b.children.splice(g,1),g}}}function qE(e){const r=e.indexOf(":"),s=e.indexOf("?"),l=e.indexOf("#"),o=e.indexOf("/");return r===-1||o!==-1&&r>o||s!==-1&&r>s||l!==-1&&r>l||$E.test(e.slice(0,r))?e:""}function Gb(e,r){const s=String(e);if(typeof r!="string")throw new TypeError("Expected character");let l=0,o=s.indexOf(r);for(;o!==-1;)l++,o=s.indexOf(r,o+r.length);return l}function VE(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function FE(e,r,s){const o=Uu((s||{}).ignore||[]),c=YE(r);let u=-1;for(;++u<c.length;)S1(e,"text",f);function f(h,x){let g=-1,b;for(;++g<x.length;){const p=x[g],w=b?b.children:void 0;if(o(p,w?w.indexOf(p):void 0,b))return;b=p}if(b)return m(h,x)}function m(h,x){const g=x[x.length-1],b=c[u][0],p=c[u][1];let w=0;const T=g.children.indexOf(h);let E=!1,C=[];b.lastIndex=0;let N=b.exec(h.value);for(;N;){const k=N.index,H={index:N.index,input:N.input,stack:[...x,h]};let M=p(...N,H);if(typeof M=="string"&&(M=M.length>0?{type:"text",value:M}:void 0),M===!1?b.lastIndex=k+1:(w!==k&&C.push({type:"text",value:h.value.slice(w,k)}),Array.isArray(M)?C.push(...M):M&&C.push(M),w=k+N[0].length,E=!0),!b.global)break;N=b.exec(h.value)}return E?(w<h.value.length&&C.push({type:"text",value:h.value.slice(w)}),g.children.splice(T,1,...C)):C=[h],T+C.length}}function YE(e){const r=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const s=!e[0]||Array.isArray(e[0])?e:[e];let l=-1;for(;++l<s.length;){const o=s[l];r.push([GE(o[0]),XE(o[1])])}return r}function GE(e){return typeof e=="string"?new RegExp(VE(e),"g"):e}function XE(e){return typeof e=="function"?e:function(){return e}}const Nh="phrasing",kh=["autolink","link","image","label"];function ZE(){return{transforms:[n3],enter:{literalAutolink:KE,literalAutolinkEmail:Sh,literalAutolinkHttp:Sh,literalAutolinkWww:Sh},exit:{literalAutolink:t3,literalAutolinkEmail:e3,literalAutolinkHttp:JE,literalAutolinkWww:WE}}}function QE(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Nh,notInConstruct:kh},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Nh,notInConstruct:kh},{character:":",before:"[ps]",after:"\\/",inConstruct:Nh,notInConstruct:kh}]}}function KE(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Sh(e){this.config.enter.autolinkProtocol.call(this,e)}function JE(e){this.config.exit.autolinkProtocol.call(this,e)}function WE(e){this.config.exit.data.call(this,e);const r=this.stack[this.stack.length-1];r.type,r.url="http://"+this.sliceSerialize(e)}function e3(e){this.config.exit.autolinkEmail.call(this,e)}function t3(e){this.exit(e)}function n3(e){FE(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,r3],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),s3]],{ignore:["link","linkReference"]})}function r3(e,r,s,l,o){let c="";if(!E1(o)||(/^w/i.test(r)&&(s=r+s,r="",c="http://"),!a3(s)))return!1;const u=l3(s+l);if(!u[0])return!1;const f={type:"link",title:null,url:c+r+u[0],children:[{type:"text",value:r+u[0]}]};return u[1]?[f,{type:"text",value:u[1]}]:f}function s3(e,r,s,l){return!E1(l,!0)||/[-\d_]$/.test(s)?!1:{type:"link",title:null,url:"mailto:"+r+"@"+s,children:[{type:"text",value:r+"@"+s}]}}function a3(e){const r=e.split(".");return!(r.length<2||r[r.length-1]&&(/_/.test(r[r.length-1])||!/[a-zA-Z\d]/.test(r[r.length-1]))||r[r.length-2]&&(/_/.test(r[r.length-2])||!/[a-zA-Z\d]/.test(r[r.length-2])))}function l3(e){const r=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!r)return[e,void 0];e=e.slice(0,r.index);let s=r[0],l=s.indexOf(")");const o=Gb(e,"(");let c=Gb(e,")");for(;l!==-1&&o>c;)e+=s.slice(0,l+1),s=s.slice(l+1),l=s.indexOf(")"),c++;return[e,s]}function E1(e,r){const s=e.input.charCodeAt(e.index-1);return(e.index===0||Qa(s)||Bu(s))&&(!r||s!==47)}T1.peek=x3;function i3(){this.buffer()}function o3(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function c3(){this.buffer()}function u3(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function d3(e){const r=this.resume(),s=this.stack[this.stack.length-1];s.type,s.identifier=es(this.sliceSerialize(e)).toLowerCase(),s.label=r}function f3(e){this.exit(e)}function h3(e){const r=this.resume(),s=this.stack[this.stack.length-1];s.type,s.identifier=es(this.sliceSerialize(e)).toLowerCase(),s.label=r}function m3(e){this.exit(e)}function x3(){return"["}function T1(e,r,s,l){const o=s.createTracker(l);let c=o.move("[^");const u=s.enter("footnoteReference"),f=s.enter("reference");return c+=o.move(s.safe(s.associationId(e),{after:"]",before:c})),f(),u(),c+=o.move("]"),c}function g3(){return{enter:{gfmFootnoteCallString:i3,gfmFootnoteCall:o3,gfmFootnoteDefinitionLabelString:c3,gfmFootnoteDefinition:u3},exit:{gfmFootnoteCallString:d3,gfmFootnoteCall:f3,gfmFootnoteDefinitionLabelString:h3,gfmFootnoteDefinition:m3}}}function p3(e){let r=!1;return e&&e.firstLineBlank&&(r=!0),{handlers:{footnoteDefinition:s,footnoteReference:T1},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function s(l,o,c,u){const f=c.createTracker(u);let m=f.move("[^");const h=c.enter("footnoteDefinition"),x=c.enter("label");return m+=f.move(c.safe(c.associationId(l),{before:m,after:"]"})),x(),m+=f.move("]:"),l.children&&l.children.length>0&&(f.shift(4),m+=f.move((r?`
25
+ `:" ")+c.indentLines(c.containerFlow(l,f.current()),r?A1:b3))),h(),m}}function b3(e,r,s){return r===0?e:A1(e,r,s)}function A1(e,r,s){return(s?"":" ")+e}const y3=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];_1.peek=k3;function v3(){return{canContainEols:["delete"],enter:{strikethrough:w3},exit:{strikethrough:N3}}}function j3(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:y3}],handlers:{delete:_1}}}function w3(e){this.enter({type:"delete",children:[]},e)}function N3(e){this.exit(e)}function _1(e,r,s,l){const o=s.createTracker(l),c=s.enter("strikethrough");let u=o.move("~~");return u+=s.containerPhrasing(e,{...o.current(),before:u,after:"~"}),u+=o.move("~~"),c(),u}function k3(){return"~"}function S3(e){return e.length}function C3(e,r){const s=r||{},l=(s.align||[]).concat(),o=s.stringLength||S3,c=[],u=[],f=[],m=[];let h=0,x=-1;for(;++x<e.length;){const S=[],T=[];let E=-1;for(e[x].length>h&&(h=e[x].length);++E<e[x].length;){const C=E3(e[x][E]);if(s.alignDelimiters!==!1){const N=o(C);T[E]=N,(m[E]===void 0||N>m[E])&&(m[E]=N)}S.push(C)}u[x]=S,f[x]=T}let g=-1;if(typeof l=="object"&&"length"in l)for(;++g<h;)c[g]=Xb(l[g]);else{const S=Xb(l);for(;++g<h;)c[g]=S}g=-1;const b=[],p=[];for(;++g<h;){const S=c[g];let T="",E="";S===99?(T=":",E=":"):S===108?T=":":S===114&&(E=":");let C=s.alignDelimiters===!1?1:Math.max(1,m[g]-T.length-E.length);const N=T+"-".repeat(C)+E;s.alignDelimiters!==!1&&(C=T.length+C+E.length,C>m[g]&&(m[g]=C),p[g]=C),b[g]=N}u.splice(1,0,b),f.splice(1,0,p),x=-1;const w=[];for(;++x<u.length;){const S=u[x],T=f[x];g=-1;const E=[];for(;++g<h;){const C=S[g]||"";let N="",k="";if(s.alignDelimiters!==!1){const H=m[g]-(T[g]||0),M=c[g];M===114?N=" ".repeat(H):M===99?H%2?(N=" ".repeat(H/2+.5),k=" ".repeat(H/2-.5)):(N=" ".repeat(H/2),k=N):k=" ".repeat(H)}s.delimiterStart!==!1&&!g&&E.push("|"),s.padding!==!1&&!(s.alignDelimiters===!1&&C==="")&&(s.delimiterStart!==!1||g)&&E.push(" "),s.alignDelimiters!==!1&&E.push(N),E.push(C),s.alignDelimiters!==!1&&E.push(k),s.padding!==!1&&E.push(" "),(s.delimiterEnd!==!1||g!==h-1)&&E.push("|")}w.push(s.delimiterEnd===!1?E.join("").replace(/ +$/,""):E.join(""))}return w.join(`
26
+ `)}function E3(e){return e==null?"":String(e)}function Xb(e){const r=typeof e=="string"?e.codePointAt(0):0;return r===67||r===99?99:r===76||r===108?108:r===82||r===114?114:0}function T3(e,r,s,l){const o=s.enter("blockquote"),c=s.createTracker(l);c.move("> "),c.shift(2);const u=s.indentLines(s.containerFlow(e,c.current()),A3);return o(),u}function A3(e,r,s){return">"+(s?"":" ")+e}function _3(e,r){return Zb(e,r.inConstruct,!0)&&!Zb(e,r.notInConstruct,!1)}function Zb(e,r,s){if(typeof r=="string"&&(r=[r]),!r||r.length===0)return s;let l=-1;for(;++l<r.length;)if(e.includes(r[l]))return!0;return!1}function Qb(e,r,s,l){let o=-1;for(;++o<s.unsafe.length;)if(s.unsafe[o].character===`
27
+ `&&_3(s.stack,s.unsafe[o]))return/[ \t]/.test(l.before)?"":" ";return`\\
28
+ `}function M3(e,r){const s=String(e);let l=s.indexOf(r),o=l,c=0,u=0;if(typeof r!="string")throw new TypeError("Expected substring");for(;l!==-1;)l===o?++c>u&&(u=c):c=1,o=l+r.length,l=s.indexOf(r,o);return u}function D3(e,r){return!!(r.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function O3(e){const r=e.options.fence||"`";if(r!=="`"&&r!=="~")throw new Error("Cannot serialize code with `"+r+"` for `options.fence`, expected `` ` `` or `~`");return r}function R3(e,r,s,l){const o=O3(s),c=e.value||"",u=o==="`"?"GraveAccent":"Tilde";if(D3(e,s)){const g=s.enter("codeIndented"),b=s.indentLines(c,z3);return g(),b}const f=s.createTracker(l),m=o.repeat(Math.max(M3(c,o)+1,3)),h=s.enter("codeFenced");let x=f.move(m);if(e.lang){const g=s.enter(`codeFencedLang${u}`);x+=f.move(s.safe(e.lang,{before:x,after:" ",encode:["`"],...f.current()})),g()}if(e.lang&&e.meta){const g=s.enter(`codeFencedMeta${u}`);x+=f.move(" "),x+=f.move(s.safe(e.meta,{before:x,after:`
29
+ `,encode:["`"],...f.current()})),g()}return x+=f.move(`
30
+ `),c&&(x+=f.move(c+`
31
+ `)),x+=f.move(m),h(),x}function z3(e,r,s){return(s?"":" ")+e}function Ym(e){const r=e.options.quote||'"';if(r!=='"'&&r!=="'")throw new Error("Cannot serialize title with `"+r+"` for `options.quote`, expected `\"`, or `'`");return r}function L3(e,r,s,l){const o=Ym(s),c=o==='"'?"Quote":"Apostrophe",u=s.enter("definition");let f=s.enter("label");const m=s.createTracker(l);let h=m.move("[");return h+=m.move(s.safe(s.associationId(e),{before:h,after:"]",...m.current()})),h+=m.move("]: "),f(),!e.url||/[\0- \u007F]/.test(e.url)?(f=s.enter("destinationLiteral"),h+=m.move("<"),h+=m.move(s.safe(e.url,{before:h,after:">",...m.current()})),h+=m.move(">")):(f=s.enter("destinationRaw"),h+=m.move(s.safe(e.url,{before:h,after:e.title?" ":`
32
+ `,...m.current()}))),f(),e.title&&(f=s.enter(`title${c}`),h+=m.move(" "+o),h+=m.move(s.safe(e.title,{before:h,after:o,...m.current()})),h+=m.move(o),f()),u(),h}function I3(e){const r=e.options.emphasis||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize emphasis with `"+r+"` for `options.emphasis`, expected `*`, or `_`");return r}function po(e){return"&#x"+e.toString(16).toUpperCase()+";"}function vu(e,r,s){const l=ql(e),o=ql(r);return l===void 0?o===void 0?s==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:l===1?o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}M1.peek=$3;function M1(e,r,s,l){const o=I3(s),c=s.enter("emphasis"),u=s.createTracker(l),f=u.move(o);let m=u.move(s.containerPhrasing(e,{after:o,before:f,...u.current()}));const h=m.charCodeAt(0),x=vu(l.before.charCodeAt(l.before.length-1),h,o);x.inside&&(m=po(h)+m.slice(1));const g=m.charCodeAt(m.length-1),b=vu(l.after.charCodeAt(0),g,o);b.inside&&(m=m.slice(0,-1)+po(g));const p=u.move(o);return c(),s.attentionEncodeSurroundingInfo={after:b.outside,before:x.outside},f+m+p}function $3(e,r,s){return s.options.emphasis||"*"}function B3(e,r){let s=!1;return Vm(e,function(l){if("value"in l&&/\r?\n|\r/.test(l.value)||l.type==="break")return s=!0,am}),!!((!e.depth||e.depth<3)&&Im(e)&&(r.options.setext||s))}function H3(e,r,s,l){const o=Math.max(Math.min(6,e.depth||1),1),c=s.createTracker(l);if(B3(e,s)){const x=s.enter("headingSetext"),g=s.enter("phrasing"),b=s.containerPhrasing(e,{...c.current(),before:`
33
+ `,after:`
34
+ `});return g(),x(),b+`
35
+ `+(o===1?"=":"-").repeat(b.length-(Math.max(b.lastIndexOf("\r"),b.lastIndexOf(`
36
+ `))+1))}const u="#".repeat(o),f=s.enter("headingAtx"),m=s.enter("phrasing");c.move(u+" ");let h=s.containerPhrasing(e,{before:"# ",after:`
37
+ `,...c.current()});return/^[\t ]/.test(h)&&(h=po(h.charCodeAt(0))+h.slice(1)),h=h?u+" "+h:u,s.options.closeAtx&&(h+=" "+u),m(),f(),h}D1.peek=P3;function D1(e){return e.value||""}function P3(){return"<"}O1.peek=U3;function O1(e,r,s,l){const o=Ym(s),c=o==='"'?"Quote":"Apostrophe",u=s.enter("image");let f=s.enter("label");const m=s.createTracker(l);let h=m.move("![");return h+=m.move(s.safe(e.alt,{before:h,after:"]",...m.current()})),h+=m.move("]("),f(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(f=s.enter("destinationLiteral"),h+=m.move("<"),h+=m.move(s.safe(e.url,{before:h,after:">",...m.current()})),h+=m.move(">")):(f=s.enter("destinationRaw"),h+=m.move(s.safe(e.url,{before:h,after:e.title?" ":")",...m.current()}))),f(),e.title&&(f=s.enter(`title${c}`),h+=m.move(" "+o),h+=m.move(s.safe(e.title,{before:h,after:o,...m.current()})),h+=m.move(o),f()),h+=m.move(")"),u(),h}function U3(){return"!"}R1.peek=q3;function R1(e,r,s,l){const o=e.referenceType,c=s.enter("imageReference");let u=s.enter("label");const f=s.createTracker(l);let m=f.move("![");const h=s.safe(e.alt,{before:m,after:"]",...f.current()});m+=f.move(h+"]["),u();const x=s.stack;s.stack=[],u=s.enter("reference");const g=s.safe(s.associationId(e),{before:m,after:"]",...f.current()});return u(),s.stack=x,c(),o==="full"||!h||h!==g?m+=f.move(g+"]"):o==="shortcut"?m=m.slice(0,-1):m+=f.move("]"),m}function q3(){return"!"}z1.peek=V3;function z1(e,r,s){let l=e.value||"",o="`",c=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(l);)o+="`";for(/[^ \r\n]/.test(l)&&(/^[ \r\n]/.test(l)&&/[ \r\n]$/.test(l)||/^`|`$/.test(l))&&(l=" "+l+" ");++c<s.unsafe.length;){const u=s.unsafe[c],f=s.compilePattern(u);let m;if(u.atBreak)for(;m=f.exec(l);){let h=m.index;l.charCodeAt(h)===10&&l.charCodeAt(h-1)===13&&h--,l=l.slice(0,h)+" "+l.slice(m.index+1)}}return o+l+o}function V3(){return"`"}function L1(e,r){const s=Im(e);return!!(!r.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(s===e.url||"mailto:"+s===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}I1.peek=F3;function I1(e,r,s,l){const o=Ym(s),c=o==='"'?"Quote":"Apostrophe",u=s.createTracker(l);let f,m;if(L1(e,s)){const x=s.stack;s.stack=[],f=s.enter("autolink");let g=u.move("<");return g+=u.move(s.containerPhrasing(e,{before:g,after:">",...u.current()})),g+=u.move(">"),f(),s.stack=x,g}f=s.enter("link"),m=s.enter("label");let h=u.move("[");return h+=u.move(s.containerPhrasing(e,{before:h,after:"](",...u.current()})),h+=u.move("]("),m(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(m=s.enter("destinationLiteral"),h+=u.move("<"),h+=u.move(s.safe(e.url,{before:h,after:">",...u.current()})),h+=u.move(">")):(m=s.enter("destinationRaw"),h+=u.move(s.safe(e.url,{before:h,after:e.title?" ":")",...u.current()}))),m(),e.title&&(m=s.enter(`title${c}`),h+=u.move(" "+o),h+=u.move(s.safe(e.title,{before:h,after:o,...u.current()})),h+=u.move(o),m()),h+=u.move(")"),f(),h}function F3(e,r,s){return L1(e,s)?"<":"["}$1.peek=Y3;function $1(e,r,s,l){const o=e.referenceType,c=s.enter("linkReference");let u=s.enter("label");const f=s.createTracker(l);let m=f.move("[");const h=s.containerPhrasing(e,{before:m,after:"]",...f.current()});m+=f.move(h+"]["),u();const x=s.stack;s.stack=[],u=s.enter("reference");const g=s.safe(s.associationId(e),{before:m,after:"]",...f.current()});return u(),s.stack=x,c(),o==="full"||!h||h!==g?m+=f.move(g+"]"):o==="shortcut"?m=m.slice(0,-1):m+=f.move("]"),m}function Y3(){return"["}function Gm(e){const r=e.options.bullet||"*";if(r!=="*"&&r!=="+"&&r!=="-")throw new Error("Cannot serialize items with `"+r+"` for `options.bullet`, expected `*`, `+`, or `-`");return r}function G3(e){const r=Gm(e),s=e.options.bulletOther;if(!s)return r==="*"?"-":"*";if(s!=="*"&&s!=="+"&&s!=="-")throw new Error("Cannot serialize items with `"+s+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(s===r)throw new Error("Expected `bullet` (`"+r+"`) and `bulletOther` (`"+s+"`) to be different");return s}function X3(e){const r=e.options.bulletOrdered||".";if(r!=="."&&r!==")")throw new Error("Cannot serialize items with `"+r+"` for `options.bulletOrdered`, expected `.` or `)`");return r}function B1(e){const r=e.options.rule||"*";if(r!=="*"&&r!=="-"&&r!=="_")throw new Error("Cannot serialize rules with `"+r+"` for `options.rule`, expected `*`, `-`, or `_`");return r}function Z3(e,r,s,l){const o=s.enter("list"),c=s.bulletCurrent;let u=e.ordered?X3(s):Gm(s);const f=e.ordered?u==="."?")":".":G3(s);let m=r&&s.bulletLastUsed?u===s.bulletLastUsed:!1;if(!e.ordered){const x=e.children?e.children[0]:void 0;if((u==="*"||u==="-")&&x&&(!x.children||!x.children[0])&&s.stack[s.stack.length-1]==="list"&&s.stack[s.stack.length-2]==="listItem"&&s.stack[s.stack.length-3]==="list"&&s.stack[s.stack.length-4]==="listItem"&&s.indexStack[s.indexStack.length-1]===0&&s.indexStack[s.indexStack.length-2]===0&&s.indexStack[s.indexStack.length-3]===0&&(m=!0),B1(s)===u&&x){let g=-1;for(;++g<e.children.length;){const b=e.children[g];if(b&&b.type==="listItem"&&b.children&&b.children[0]&&b.children[0].type==="thematicBreak"){m=!0;break}}}}m&&(u=f),s.bulletCurrent=u;const h=s.containerFlow(e,l);return s.bulletLastUsed=u,s.bulletCurrent=c,o(),h}function Q3(e){const r=e.options.listItemIndent||"one";if(r!=="tab"&&r!=="one"&&r!=="mixed")throw new Error("Cannot serialize items with `"+r+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return r}function K3(e,r,s,l){const o=Q3(s);let c=s.bulletCurrent||Gm(s);r&&r.type==="list"&&r.ordered&&(c=(typeof r.start=="number"&&r.start>-1?r.start:1)+(s.options.incrementListMarker===!1?0:r.children.indexOf(e))+c);let u=c.length+1;(o==="tab"||o==="mixed"&&(r&&r.type==="list"&&r.spread||e.spread))&&(u=Math.ceil(u/4)*4);const f=s.createTracker(l);f.move(c+" ".repeat(u-c.length)),f.shift(u);const m=s.enter("listItem"),h=s.indentLines(s.containerFlow(e,f.current()),x);return m(),h;function x(g,b,p){return b?(p?"":" ".repeat(u))+g:(p?c:c+" ".repeat(u-c.length))+g}}function J3(e,r,s,l){const o=s.enter("paragraph"),c=s.enter("phrasing"),u=s.containerPhrasing(e,l);return c(),o(),u}const W3=Uu(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function e4(e,r,s,l){return(e.children.some(function(u){return W3(u)})?s.containerPhrasing:s.containerFlow).call(s,e,l)}function t4(e){const r=e.options.strong||"*";if(r!=="*"&&r!=="_")throw new Error("Cannot serialize strong with `"+r+"` for `options.strong`, expected `*`, or `_`");return r}H1.peek=n4;function H1(e,r,s,l){const o=t4(s),c=s.enter("strong"),u=s.createTracker(l),f=u.move(o+o);let m=u.move(s.containerPhrasing(e,{after:o,before:f,...u.current()}));const h=m.charCodeAt(0),x=vu(l.before.charCodeAt(l.before.length-1),h,o);x.inside&&(m=po(h)+m.slice(1));const g=m.charCodeAt(m.length-1),b=vu(l.after.charCodeAt(0),g,o);b.inside&&(m=m.slice(0,-1)+po(g));const p=u.move(o+o);return c(),s.attentionEncodeSurroundingInfo={after:b.outside,before:x.outside},f+m+p}function n4(e,r,s){return s.options.strong||"*"}function r4(e,r,s,l){return s.safe(e.value,l)}function s4(e){const r=e.options.ruleRepetition||3;if(r<3)throw new Error("Cannot serialize rules with repetition `"+r+"` for `options.ruleRepetition`, expected `3` or more");return r}function a4(e,r,s){const l=(B1(s)+(s.options.ruleSpaces?" ":"")).repeat(s4(s));return s.options.ruleSpaces?l.slice(0,-1):l}const P1={blockquote:T3,break:Qb,code:R3,definition:L3,emphasis:M1,hardBreak:Qb,heading:H3,html:D1,image:O1,imageReference:R1,inlineCode:z1,link:I1,linkReference:$1,list:Z3,listItem:K3,paragraph:J3,root:e4,strong:H1,text:r4,thematicBreak:a4};function l4(){return{enter:{table:i4,tableData:Kb,tableHeader:Kb,tableRow:c4},exit:{codeText:u4,table:o4,tableData:Ch,tableHeader:Ch,tableRow:Ch}}}function i4(e){const r=e._align;this.enter({type:"table",align:r.map(function(s){return s==="none"?null:s}),children:[]},e),this.data.inTable=!0}function o4(e){this.exit(e),this.data.inTable=void 0}function c4(e){this.enter({type:"tableRow",children:[]},e)}function Ch(e){this.exit(e)}function Kb(e){this.enter({type:"tableCell",children:[]},e)}function u4(e){let r=this.resume();this.data.inTable&&(r=r.replace(/\\([\\|])/g,d4));const s=this.stack[this.stack.length-1];s.type,s.value=r,this.exit(e)}function d4(e,r){return r==="|"?r:e}function f4(e){const r=e||{},s=r.tableCellPadding,l=r.tablePipeAlign,o=r.stringLength,c=s?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
38
+ `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:b,table:u,tableCell:m,tableRow:f}};function u(p,w,S,T){return h(x(p,S,T),p.align)}function f(p,w,S,T){const E=g(p,S,T),C=h([E]);return C.slice(0,C.indexOf(`
39
+ `))}function m(p,w,S,T){const E=S.enter("tableCell"),C=S.enter("phrasing"),N=S.containerPhrasing(p,{...T,before:c,after:c});return C(),E(),N}function h(p,w){return C3(p,{align:w,alignDelimiters:l,padding:s,stringLength:o})}function x(p,w,S){const T=p.children;let E=-1;const C=[],N=w.enter("table");for(;++E<T.length;)C[E]=g(T[E],w,S);return N(),C}function g(p,w,S){const T=p.children;let E=-1;const C=[],N=w.enter("tableRow");for(;++E<T.length;)C[E]=m(T[E],p,w,S);return N(),C}function b(p,w,S){let T=P1.inlineCode(p,w,S);return S.stack.includes("tableCell")&&(T=T.replace(/\|/g,"\\$&")),T}}function h4(){return{exit:{taskListCheckValueChecked:Jb,taskListCheckValueUnchecked:Jb,paragraph:x4}}}function m4(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:g4}}}function Jb(e){const r=this.stack[this.stack.length-2];r.type,r.checked=e.type==="taskListCheckValueChecked"}function x4(e){const r=this.stack[this.stack.length-2];if(r&&r.type==="listItem"&&typeof r.checked=="boolean"){const s=this.stack[this.stack.length-1];s.type;const l=s.children[0];if(l&&l.type==="text"){const o=r.children;let c=-1,u;for(;++c<o.length;){const f=o[c];if(f.type==="paragraph"){u=f;break}}u===s&&(l.value=l.value.slice(1),l.value.length===0?s.children.shift():s.position&&l.position&&typeof l.position.start.offset=="number"&&(l.position.start.column++,l.position.start.offset++,s.position.start=Object.assign({},l.position.start)))}}this.exit(e)}function g4(e,r,s,l){const o=e.children[0],c=typeof e.checked=="boolean"&&o&&o.type==="paragraph",u="["+(e.checked?"x":" ")+"] ",f=s.createTracker(l);c&&f.move(u);let m=P1.listItem(e,r,s,{...l,...f.current()});return c&&(m=m.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,h)),m;function h(x){return x+u}}function p4(){return[ZE(),g3(),v3(),l4(),h4()]}function b4(e){return{extensions:[QE(),p3(e),j3(),f4(e),m4()]}}const y4={tokenize:S4,partial:!0},U1={tokenize:C4,partial:!0},q1={tokenize:E4,partial:!0},V1={tokenize:T4,partial:!0},v4={tokenize:A4,partial:!0},F1={name:"wwwAutolink",tokenize:N4,previous:G1},Y1={name:"protocolAutolink",tokenize:k4,previous:X1},Bs={name:"emailAutolink",tokenize:w4,previous:Z1},ms={};function j4(){return{text:ms}}let Pa=48;for(;Pa<123;)ms[Pa]=Bs,Pa++,Pa===58?Pa=65:Pa===91&&(Pa=97);ms[43]=Bs;ms[45]=Bs;ms[46]=Bs;ms[95]=Bs;ms[72]=[Bs,Y1];ms[104]=[Bs,Y1];ms[87]=[Bs,F1];ms[119]=[Bs,F1];function w4(e,r,s){const l=this;let o,c;return u;function u(g){return!cm(g)||!Z1.call(l,l.previous)||Xm(l.events)?s(g):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),f(g))}function f(g){return cm(g)?(e.consume(g),f):g===64?(e.consume(g),m):s(g)}function m(g){return g===46?e.check(v4,x,h)(g):g===45||g===95||Wn(g)?(c=!0,e.consume(g),m):x(g)}function h(g){return e.consume(g),o=!0,m}function x(g){return c&&o&&rr(l.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),r(g)):s(g)}}function N4(e,r,s){const l=this;return o;function o(u){return u!==87&&u!==119||!G1.call(l,l.previous)||Xm(l.events)?s(u):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(y4,e.attempt(U1,e.attempt(q1,c),s),s)(u))}function c(u){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),r(u)}}function k4(e,r,s){const l=this;let o="",c=!1;return u;function u(g){return(g===72||g===104)&&X1.call(l,l.previous)&&!Xm(l.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(g),e.consume(g),f):s(g)}function f(g){if(rr(g)&&o.length<5)return o+=String.fromCodePoint(g),e.consume(g),f;if(g===58){const b=o.toLowerCase();if(b==="http"||b==="https")return e.consume(g),m}return s(g)}function m(g){return g===47?(e.consume(g),c?h:(c=!0,m)):s(g)}function h(g){return g===null||pu(g)||on(g)||Qa(g)||Bu(g)?s(g):e.attempt(U1,e.attempt(q1,x),s)(g)}function x(g){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),r(g)}}function S4(e,r,s){let l=0;return o;function o(u){return(u===87||u===119)&&l<3?(l++,e.consume(u),o):u===46&&l===3?(e.consume(u),c):s(u)}function c(u){return u===null?s(u):r(u)}}function C4(e,r,s){let l,o,c;return u;function u(h){return h===46||h===95?e.check(V1,m,f)(h):h===null||on(h)||Qa(h)||h!==45&&Bu(h)?m(h):(c=!0,e.consume(h),u)}function f(h){return h===95?l=!0:(o=l,l=void 0),e.consume(h),u}function m(h){return o||l||!c?s(h):r(h)}}function E4(e,r){let s=0,l=0;return o;function o(u){return u===40?(s++,e.consume(u),o):u===41&&l<s?c(u):u===33||u===34||u===38||u===39||u===41||u===42||u===44||u===46||u===58||u===59||u===60||u===63||u===93||u===95||u===126?e.check(V1,r,c)(u):u===null||on(u)||Qa(u)?r(u):(e.consume(u),o)}function c(u){return u===41&&l++,e.consume(u),o}}function T4(e,r,s){return l;function l(f){return f===33||f===34||f===39||f===41||f===42||f===44||f===46||f===58||f===59||f===63||f===95||f===126?(e.consume(f),l):f===38?(e.consume(f),c):f===93?(e.consume(f),o):f===60||f===null||on(f)||Qa(f)?r(f):s(f)}function o(f){return f===null||f===40||f===91||on(f)||Qa(f)?r(f):l(f)}function c(f){return rr(f)?u(f):s(f)}function u(f){return f===59?(e.consume(f),l):rr(f)?(e.consume(f),u):s(f)}}function A4(e,r,s){return l;function l(c){return e.consume(c),o}function o(c){return Wn(c)?s(c):r(c)}}function G1(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||on(e)}function X1(e){return!rr(e)}function Z1(e){return!(e===47||cm(e))}function cm(e){return e===43||e===45||e===46||e===95||Wn(e)}function Xm(e){let r=e.length,s=!1;for(;r--;){const l=e[r][1];if((l.type==="labelLink"||l.type==="labelImage")&&!l._balanced){s=!0;break}if(l._gfmAutolinkLiteralWalkedInto){s=!1;break}}return e.length>0&&!s&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),s}const _4={tokenize:$4,partial:!0};function M4(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:z4,continuation:{tokenize:L4},exit:I4}},text:{91:{name:"gfmFootnoteCall",tokenize:R4},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:D4,resolveTo:O4}}}}function D4(e,r,s){const l=this;let o=l.events.length;const c=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let u;for(;o--;){const m=l.events[o][1];if(m.type==="labelImage"){u=m;break}if(m.type==="gfmFootnoteCall"||m.type==="labelLink"||m.type==="label"||m.type==="image"||m.type==="link")break}return f;function f(m){if(!u||!u._balanced)return s(m);const h=es(l.sliceSerialize({start:u.end,end:l.now()}));return h.codePointAt(0)!==94||!c.includes(h.slice(1))?s(m):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),r(m))}}function O4(e,r){let s=e.length;for(;s--;)if(e[s][1].type==="labelImage"&&e[s][0]==="enter"){e[s][1];break}e[s+1][1].type="data",e[s+3][1].type="gfmFootnoteCallLabelMarker";const l={type:"gfmFootnoteCall",start:Object.assign({},e[s+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[s+3][1].end),end:Object.assign({},e[s+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const c={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},u={type:"chunkString",contentType:"string",start:Object.assign({},c.start),end:Object.assign({},c.end)},f=[e[s+1],e[s+2],["enter",l,r],e[s+3],e[s+4],["enter",o,r],["exit",o,r],["enter",c,r],["enter",u,r],["exit",u,r],["exit",c,r],e[e.length-2],e[e.length-1],["exit",l,r]];return e.splice(s,e.length-s+1,...f),e}function R4(e,r,s){const l=this,o=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let c=0,u;return f;function f(g){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),m}function m(g){return g!==94?s(g):(e.enter("gfmFootnoteCallMarker"),e.consume(g),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",h)}function h(g){if(c>999||g===93&&!u||g===null||g===91||on(g))return s(g);if(g===93){e.exit("chunkString");const b=e.exit("gfmFootnoteCallString");return o.includes(es(l.sliceSerialize(b)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),r):s(g)}return on(g)||(u=!0),c++,e.consume(g),g===92?x:h}function x(g){return g===91||g===92||g===93?(e.consume(g),c++,h):h(g)}}function z4(e,r,s){const l=this,o=l.parser.gfmFootnotes||(l.parser.gfmFootnotes=[]);let c,u=0,f;return m;function m(w){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(w){return w===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",x):s(w)}function x(w){if(u>999||w===93&&!f||w===null||w===91||on(w))return s(w);if(w===93){e.exit("chunkString");const S=e.exit("gfmFootnoteDefinitionLabelString");return c=es(l.sliceSerialize(S)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),b}return on(w)||(f=!0),u++,e.consume(w),w===92?g:x}function g(w){return w===91||w===92||w===93?(e.consume(w),u++,x):x(w)}function b(w){return w===58?(e.enter("definitionMarker"),e.consume(w),e.exit("definitionMarker"),o.includes(c)||o.push(c),qt(e,p,"gfmFootnoteDefinitionWhitespace")):s(w)}function p(w){return r(w)}}function L4(e,r,s){return e.check(Mo,r,e.attempt(_4,r,s))}function I4(e){e.exit("gfmFootnoteDefinition")}function $4(e,r,s){const l=this;return qt(e,o,"gfmFootnoteDefinitionIndent",5);function o(c){const u=l.events[l.events.length-1];return u&&u[1].type==="gfmFootnoteDefinitionIndent"&&u[2].sliceSerialize(u[1],!0).length===4?r(c):s(c)}}function B4(e){let s=(e||{}).singleTilde;const l={name:"strikethrough",tokenize:c,resolveAll:o};return s==null&&(s=!0),{text:{126:l},insideSpan:{null:[l]},attentionMarkers:{null:[126]}};function o(u,f){let m=-1;for(;++m<u.length;)if(u[m][0]==="enter"&&u[m][1].type==="strikethroughSequenceTemporary"&&u[m][1]._close){let h=m;for(;h--;)if(u[h][0]==="exit"&&u[h][1].type==="strikethroughSequenceTemporary"&&u[h][1]._open&&u[m][1].end.offset-u[m][1].start.offset===u[h][1].end.offset-u[h][1].start.offset){u[m][1].type="strikethroughSequence",u[h][1].type="strikethroughSequence";const x={type:"strikethrough",start:Object.assign({},u[h][1].start),end:Object.assign({},u[m][1].end)},g={type:"strikethroughText",start:Object.assign({},u[h][1].end),end:Object.assign({},u[m][1].start)},b=[["enter",x,f],["enter",u[h][1],f],["exit",u[h][1],f],["enter",g,f]],p=f.parser.constructs.insideSpan.null;p&&_r(b,b.length,0,Hu(p,u.slice(h+1,m),f)),_r(b,b.length,0,[["exit",g,f],["enter",u[m][1],f],["exit",u[m][1],f],["exit",x,f]]),_r(u,h-1,m-h+3,b),m=h+b.length-2;break}}for(m=-1;++m<u.length;)u[m][1].type==="strikethroughSequenceTemporary"&&(u[m][1].type="data");return u}function c(u,f,m){const h=this.previous,x=this.events;let g=0;return b;function b(w){return h===126&&x[x.length-1][1].type!=="characterEscape"?m(w):(u.enter("strikethroughSequenceTemporary"),p(w))}function p(w){const S=ql(h);if(w===126)return g>1?m(w):(u.consume(w),g++,p);if(g<2&&!s)return m(w);const T=u.exit("strikethroughSequenceTemporary"),E=ql(w);return T._open=!E||E===2&&!!S,T._close=!S||S===2&&!!E,f(w)}}}class H4{constructor(){this.map=[]}add(r,s,l){P4(this,r,s,l)}consume(r){if(this.map.sort(function(c,u){return c[0]-u[0]}),this.map.length===0)return;let s=this.map.length;const l=[];for(;s>0;)s-=1,l.push(r.slice(this.map[s][0]+this.map[s][1]),this.map[s][2]),r.length=this.map[s][0];l.push(r.slice()),r.length=0;let o=l.pop();for(;o;){for(const c of o)r.push(c);o=l.pop()}this.map.length=0}}function P4(e,r,s,l){let o=0;if(!(s===0&&l.length===0)){for(;o<e.map.length;){if(e.map[o][0]===r){e.map[o][1]+=s,e.map[o][2].push(...l);return}o+=1}e.map.push([r,s,l])}}function U4(e,r){let s=!1;const l=[];for(;r<e.length;){const o=e[r];if(s){if(o[0]==="enter")o[1].type==="tableContent"&&l.push(e[r+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(e[r-1][1].type==="tableDelimiterMarker"){const c=l.length-1;l[c]=l[c]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(s=!0);r+=1}return l}function q4(){return{flow:{null:{name:"table",tokenize:V4,resolveAll:F4}}}}function V4(e,r,s){const l=this;let o=0,c=0,u;return f;function f(P){let U=l.events.length-1;for(;U>-1;){const A=l.events[U][1].type;if(A==="lineEnding"||A==="linePrefix")U--;else break}const V=U>-1?l.events[U][1].type:null,D=V==="tableHead"||V==="tableRow"?M:m;return D===M&&l.parser.lazy[l.now().line]?s(P):D(P)}function m(P){return e.enter("tableHead"),e.enter("tableRow"),h(P)}function h(P){return P===124||(u=!0,c+=1),x(P)}function x(P){return P===null?s(P):lt(P)?c>1?(c=0,l.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),p):s(P):Lt(P)?qt(e,x,"whitespace")(P):(c+=1,u&&(u=!1,o+=1),P===124?(e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),u=!0,x):(e.enter("data"),g(P)))}function g(P){return P===null||P===124||on(P)?(e.exit("data"),x(P)):(e.consume(P),P===92?b:g)}function b(P){return P===92||P===124?(e.consume(P),g):g(P)}function p(P){return l.interrupt=!1,l.parser.lazy[l.now().line]?s(P):(e.enter("tableDelimiterRow"),u=!1,Lt(P)?qt(e,w,"linePrefix",l.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(P):w(P))}function w(P){return P===45||P===58?T(P):P===124?(u=!0,e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),S):H(P)}function S(P){return Lt(P)?qt(e,T,"whitespace")(P):T(P)}function T(P){return P===58?(c+=1,u=!0,e.enter("tableDelimiterMarker"),e.consume(P),e.exit("tableDelimiterMarker"),E):P===45?(c+=1,E(P)):P===null||lt(P)?k(P):H(P)}function E(P){return P===45?(e.enter("tableDelimiterFiller"),C(P)):H(P)}function C(P){return P===45?(e.consume(P),C):P===58?(u=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(P),e.exit("tableDelimiterMarker"),N):(e.exit("tableDelimiterFiller"),N(P))}function N(P){return Lt(P)?qt(e,k,"whitespace")(P):k(P)}function k(P){return P===124?w(P):P===null||lt(P)?!u||o!==c?H(P):(e.exit("tableDelimiterRow"),e.exit("tableHead"),r(P)):H(P)}function H(P){return s(P)}function M(P){return e.enter("tableRow"),Y(P)}function Y(P){return P===124?(e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),Y):P===null||lt(P)?(e.exit("tableRow"),r(P)):Lt(P)?qt(e,Y,"whitespace")(P):(e.enter("data"),$(P))}function $(P){return P===null||P===124||on(P)?(e.exit("data"),Y(P)):(e.consume(P),P===92?X:$)}function X(P){return P===92||P===124?(e.consume(P),$):$(P)}}function F4(e,r){let s=-1,l=!0,o=0,c=[0,0,0,0],u=[0,0,0,0],f=!1,m=0,h,x,g;const b=new H4;for(;++s<e.length;){const p=e[s],w=p[1];p[0]==="enter"?w.type==="tableHead"?(f=!1,m!==0&&(Wb(b,r,m,h,x),x=void 0,m=0),h={type:"table",start:Object.assign({},w.start),end:Object.assign({},w.end)},b.add(s,0,[["enter",h,r]])):w.type==="tableRow"||w.type==="tableDelimiterRow"?(l=!0,g=void 0,c=[0,0,0,0],u=[0,s+1,0,0],f&&(f=!1,x={type:"tableBody",start:Object.assign({},w.start),end:Object.assign({},w.end)},b.add(s,0,[["enter",x,r]])),o=w.type==="tableDelimiterRow"?2:x?3:1):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")?(l=!1,u[2]===0&&(c[1]!==0&&(u[0]=u[1],g=Kc(b,r,c,o,void 0,g),c=[0,0,0,0]),u[2]=s)):w.type==="tableCellDivider"&&(l?l=!1:(c[1]!==0&&(u[0]=u[1],g=Kc(b,r,c,o,void 0,g)),c=u,u=[c[1],s,0,0])):w.type==="tableHead"?(f=!0,m=s):w.type==="tableRow"||w.type==="tableDelimiterRow"?(m=s,c[1]!==0?(u[0]=u[1],g=Kc(b,r,c,o,s,g)):u[1]!==0&&(g=Kc(b,r,u,o,s,g)),o=0):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")&&(u[3]=s)}for(m!==0&&Wb(b,r,m,h,x),b.consume(r.events),s=-1;++s<r.events.length;){const p=r.events[s];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=U4(r.events,s))}return e}function Kc(e,r,s,l,o,c){const u=l===1?"tableHeader":l===2?"tableDelimiter":"tableData",f="tableContent";s[0]!==0&&(c.end=Object.assign({},Ll(r.events,s[0])),e.add(s[0],0,[["exit",c,r]]));const m=Ll(r.events,s[1]);if(c={type:u,start:Object.assign({},m),end:Object.assign({},m)},e.add(s[1],0,[["enter",c,r]]),s[2]!==0){const h=Ll(r.events,s[2]),x=Ll(r.events,s[3]),g={type:f,start:Object.assign({},h),end:Object.assign({},x)};if(e.add(s[2],0,[["enter",g,r]]),l!==2){const b=r.events[s[2]],p=r.events[s[3]];if(b[1].end=Object.assign({},p[1].end),b[1].type="chunkText",b[1].contentType="text",s[3]>s[2]+1){const w=s[2]+1,S=s[3]-s[2]-1;e.add(w,S,[])}}e.add(s[3]+1,0,[["exit",g,r]])}return o!==void 0&&(c.end=Object.assign({},Ll(r.events,o)),e.add(o,0,[["exit",c,r]]),c=void 0),c}function Wb(e,r,s,l,o){const c=[],u=Ll(r.events,s);o&&(o.end=Object.assign({},u),c.push(["exit",o,r])),l.end=Object.assign({},u),c.push(["exit",l,r]),e.add(s+1,0,c)}function Ll(e,r){const s=e[r],l=s[0]==="enter"?"start":"end";return s[1][l]}const Y4={name:"tasklistCheck",tokenize:X4};function G4(){return{text:{91:Y4}}}function X4(e,r,s){const l=this;return o;function o(m){return l.previous!==null||!l._gfmTasklistFirstContentOfListItem?s(m):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(m),e.exit("taskListCheckMarker"),c)}function c(m){return on(m)?(e.enter("taskListCheckValueUnchecked"),e.consume(m),e.exit("taskListCheckValueUnchecked"),u):m===88||m===120?(e.enter("taskListCheckValueChecked"),e.consume(m),e.exit("taskListCheckValueChecked"),u):s(m)}function u(m){return m===93?(e.enter("taskListCheckMarker"),e.consume(m),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),f):s(m)}function f(m){return lt(m)?r(m):Lt(m)?e.check({tokenize:Z4},r,s)(m):s(m)}}function Z4(e,r,s){return qt(e,l,"whitespace");function l(o){return o===null?s(o):r(o)}}function Q4(e){return l1([j4(),M4(),B4(e),q4(),G4()])}const K4={};function ey(e){const r=this,s=e||K4,l=r.data(),o=l.micromarkExtensions||(l.micromarkExtensions=[]),c=l.fromMarkdownExtensions||(l.fromMarkdownExtensions=[]),u=l.toMarkdownExtensions||(l.toMarkdownExtensions=[]);o.push(Q4(s)),c.push(p4()),u.push(b4(s))}const J4=/<think>([\s\S]*?)<\/think>/g;function W4(e){const r=[],s=e.replace(J4,(l,o)=>{const c=o.trim();return c&&r.push(c),""});return{thinking:r,rest:s.trim()}}const ty={p:({children:e})=>t.jsx("p",{className:"mb-2 last:mb-0 leading-relaxed",children:e}),h1:({children:e})=>t.jsx("h1",{className:"text-base font-bold mb-2 mt-3 first:mt-0",children:e}),h2:({children:e})=>t.jsx("h2",{className:"text-sm font-bold mb-2 mt-3 first:mt-0",children:e}),h3:({children:e})=>t.jsx("h3",{className:"text-sm font-semibold mb-1 mt-2 first:mt-0",children:e}),ul:({children:e})=>t.jsx("ul",{className:"list-disc pl-4 mb-2 space-y-0.5",children:e}),ol:({children:e})=>t.jsx("ol",{className:"list-decimal pl-4 mb-2 space-y-0.5",children:e}),li:({children:e})=>t.jsx("li",{className:"leading-relaxed",children:e}),code:({children:e,className:r})=>r?.includes("language-")?t.jsx("code",{className:"text-fg-secondary font-mono",children:e}):t.jsx("code",{className:"bg-surface-secondary px-1.5 py-0.5 rounded text-xs font-mono text-brand-500",children:e}),pre:({children:e})=>t.jsx("pre",{className:"bg-surface-secondary rounded-lg p-3 overflow-x-auto my-2 text-xs [&>code]:bg-transparent [&>code]:p-0 [&>code]:rounded-none [&>code]:text-fg-secondary",children:e}),strong:({children:e})=>t.jsx("strong",{className:"font-semibold text-fg-primary",children:e}),em:({children:e})=>t.jsx("em",{className:"italic text-fg-secondary",children:e}),blockquote:({children:e})=>t.jsx("blockquote",{className:"border-l-2 border-brand-500 pl-3 my-2 text-fg-secondary italic",children:e}),a:({href:e,children:r})=>t.jsx("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:"text-brand-500 hover:text-brand-500 underline",children:r}),hr:()=>t.jsx("hr",{className:"border-border-default my-3"}),table:({children:e})=>t.jsx("div",{className:"overflow-x-auto my-2",children:t.jsx("table",{className:"min-w-full text-xs border-collapse border border-border-default",children:e})}),thead:({children:e})=>t.jsx("thead",{className:"bg-surface-elevated",children:e}),tbody:({children:e})=>t.jsx("tbody",{className:"divide-y divide-gray-700/50",children:e}),tr:({children:e})=>t.jsx("tr",{className:"hover:bg-surface-elevated/50 transition-colors",children:e}),th:({children:e})=>t.jsx("th",{className:"px-3 py-1.5 text-left text-xs font-semibold text-fg-secondary border border-border-default",children:e}),td:({children:e})=>t.jsx("td",{className:"px-3 py-1.5 text-xs text-fg-secondary border border-border-default",children:e})};function er({content:e,className:r=""}){const{thinking:s,rest:l}=W4(e);return t.jsxs("div",{className:`prose prose-sm max-w-none ${r}`,children:[s.length>0&&(()=>{const o=s.join(`
40
+
41
+ `),c=o.split(`
42
+ `)[0]??"",u=c.length>80?c.slice(0,80)+"…":c;return t.jsxs("details",{className:"mb-3 rounded-lg bg-surface-elevated/60 border border-border-default/50 overflow-hidden group/think",children:[t.jsxs("summary",{className:"cursor-pointer select-none px-3 py-2 text-xs text-fg-secondary hover:text-fg-secondary transition-colors flex items-center gap-1.5 min-w-0",children:[t.jsx("svg",{className:"w-3 h-3 shrink-0 transition-transform group-open/think:rotate-90",viewBox:"0 0 20 20",fill:"currentColor",children:t.jsx("path",{fillRule:"evenodd",d:"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z",clipRule:"evenodd"})}),t.jsx("span",{className:"shrink-0",children:"思考过程"}),t.jsx("span",{className:"truncate text-fg-tertiary ml-1 group-open/think:hidden",children:u})]}),t.jsx("div",{className:"px-3 pb-3 border-t border-border-default/50",children:t.jsx("div",{className:"mt-2 pl-3 border-l-2 border-brand-500/40 text-xs text-fg-secondary max-h-60 overflow-y-auto leading-relaxed",children:t.jsx(Yb,{remarkPlugins:[ey],components:ty,children:o})})})]})})(),t.jsx(Yb,{remarkPlugins:[ey],components:ty,children:l})]})}const ny={shell_execute:{label:"Running command",icon:"⌨"},file_read:{label:"Reading file",icon:"📄"},file_write:{label:"Writing file",icon:"✏"},file_edit:{label:"Editing file",icon:"✏"},file_list:{label:"Listing files",icon:"📂"},web_fetch:{label:"Fetching webpage",icon:"🌐"},web_search:{label:"Searching web",icon:"🔍"},web_extract:{label:"Extracting content",icon:"📑"},create_subtask:{label:"Adding subtask",icon:"📌"},update_task:{label:"Updating task",icon:"✅"},add_task_note:{label:"Adding note",icon:"📝"},git_status:{label:"Git status",icon:"🔀"},git_diff:{label:"Git diff",icon:"🔀"},git_log:{label:"Git log",icon:"📜"},git_branch:{label:"Git branch",icon:"🌿"},git_add:{label:"Git add",icon:"➕"},git_commit:{label:"Git commit",icon:"💾"},code_search:{label:"Searching code",icon:"🔍"},navigate_page:{label:"Opening page",icon:"🌐"},new_page:{label:"Opening new tab",icon:"🌐"},close_page:{label:"Closing tab",icon:"🌐"},select_page:{label:"Switching tab",icon:"🌐"},click:{label:"Clicking element",icon:"👆"},fill:{label:"Filling field",icon:"⌨"},type_text:{label:"Typing text",icon:"⌨"},take_screenshot:{label:"Screenshot",icon:"📸"},take_snapshot:{label:"Page snapshot",icon:"📋"},evaluate_script:{label:"Running script",icon:"⚙"},agent_send_message:{label:"Messaging colleague",icon:"💬"},agent_list:{label:"Checking team",icon:"👥"},create_task:{label:"Creating task",icon:"📌"},feishu_send_message:{label:"Sending Feishu msg",icon:"✉"},feishu_search_docs:{label:"Searching Feishu",icon:"🔍"}};function um(e){const r=e.includes("__")?e.split("__").pop():e;return ny[r]??ny[e]??{label:r.replace(/_/g," ").replace(/\b\w/g,s=>s.toUpperCase()),icon:"⚙"}}function eT(e){const r=[];for(const s of e)if(s.phase!=="output"){if(s.phase==="start"){const l=`${s.tool}_${s.ts}`;r.push({key:l,tool:s.tool,status:"running"})}else for(let l=r.length-1;l>=0;l--)if(r[l].tool===s.tool&&r[l].status==="running"){r[l]={...r[l],status:s.success===!1?"error":"done"};break}}return r}function Q1(){return t.jsxs("svg",{className:"w-3 h-3 animate-spin text-brand-500 shrink-0",viewBox:"0 0 24 24",fill:"none",children:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]})}function tT(){return t.jsx("span",{className:"flex items-center gap-0.5",children:[0,150,300].map(e=>t.jsx("span",{className:"w-1 h-1 rounded-full bg-brand-400 animate-bounce",style:{animationDelay:`${e}ms`,animationDuration:"1s"}},e))})}function ry({item:e,idx:r,total:s}){const l=um(e.tool);return t.jsxs("div",{className:"flex items-center gap-2 py-0.5",children:[t.jsxs("div",{className:"flex flex-col items-center self-stretch w-3 shrink-0",children:[r>0&&t.jsx("div",{className:"w-px h-2 bg-surface-overlay"}),t.jsx("div",{className:`w-2.5 h-2.5 rounded-full border flex items-center justify-center text-[8px] shrink-0 ${e.status==="running"?"border-brand-500 bg-brand-500/15":e.status==="error"?"border-red-500 bg-red-500/15 text-red-500":"border-gray-600 bg-surface-elevated text-fg-tertiary"}`,children:e.status==="done"?"✓":e.status==="error"?"✗":""}),r<s-1&&t.jsx("div",{className:"w-px flex-1 bg-surface-overlay mt-0.5"})]}),t.jsxs("div",{className:`flex items-center gap-1.5 text-xs ${e.status==="running"?"text-brand-500":e.status==="error"?"text-red-500 opacity-60":"text-fg-tertiary"}`,children:[t.jsx("span",{className:"opacity-70",children:l.icon}),t.jsxs("span",{children:[l.label,e.status==="running"?"…":""]}),e.status==="running"&&t.jsx(Q1,{})]})]})}function nT({activities:e,isActive:r,persistent:s}){const l=eT(e),[o,c]=j.useState(!1),[u,f]=j.useState(!1),m=j.useRef(null);if(j.useEffect(()=>(s||r||e.length>0?(c(!0),m.current&&clearTimeout(m.current)):m.current=setTimeout(()=>c(!1),800),()=>{m.current&&clearTimeout(m.current)}),[s,r,e.length]),!o)return null;const h=l.length>0,x=h&&l.every(p=>p.status!=="running"),g=r&&!h,b=r&&h&&x;if(s&&x){const p=l.filter(S=>S.status==="error").length,w=l.filter(S=>S.status==="done").length;return t.jsxs("div",{className:"mb-3 border-b border-border-default/50 pb-2",children:[t.jsxs("button",{onClick:()=>f(S=>!S),className:"flex items-center gap-1.5 text-xs text-fg-tertiary hover:text-fg-secondary transition-colors select-none",children:[t.jsx("span",{className:`transition-transform duration-150 ${u?"rotate-90":""}`,children:"▶"}),t.jsxs("span",{className:"font-medium",children:[w," step",w!==1?"s":""]}),p>0&&t.jsxs("span",{className:"text-red-500 ml-0.5",children:["· ",p," failed"]}),!u&&t.jsxs("span",{className:"ml-1 flex gap-0.5",children:[l.slice(0,5).map(S=>t.jsx("span",{className:"text-[10px] opacity-60",title:um(S.tool).label,children:um(S.tool).icon},S.key)),l.length>5&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["+",l.length-5]})]})]}),u&&t.jsx("div",{className:"mt-2 space-y-0.5",children:l.map((S,T)=>t.jsx(ry,{item:S,idx:T,total:l.length},S.key))})]})}return t.jsxs("div",{className:"mb-2 space-y-0.5",children:[l.map((p,w)=>t.jsx(ry,{item:p,idx:w,total:l.length},p.key)),g&&t.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-fg-secondary py-0.5",children:[t.jsx("span",{className:"mr-0.5",children:"Thinking"}),t.jsx(tT,{})]}),b&&t.jsxs("div",{className:"flex items-center gap-1.5 py-0.5",children:[t.jsxs("div",{className:"flex flex-col items-center self-stretch w-3 shrink-0",children:[t.jsx("div",{className:"w-px h-2 bg-surface-overlay"}),t.jsx("div",{className:"w-2.5 h-2.5 rounded-full border border-brand-500 bg-brand-500/15 shrink-0"})]}),t.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-brand-500",children:[t.jsx(Q1,{}),t.jsx("span",{children:"Writing response…"})]})]})]})}var K1=qv();const sy={shell_execute:{label:"Running command",icon:"⌨"},file_read:{label:"Reading file",icon:"📄"},file_write:{label:"Writing file",icon:"✏"},file_edit:{label:"Editing file",icon:"✏"},file_list:{label:"Listing files",icon:"📂"},web_fetch:{label:"Fetching page",icon:"🌐"},web_search:{label:"Searching web",icon:"🔍"},web_extract:{label:"Extracting content",icon:"📑"},create_task:{label:"Creating task",icon:"📌"},task_create:{label:"Creating task",icon:"📌"},create_subtask:{label:"Adding subtask",icon:"📌"},update_task:{label:"Updating task",icon:"✅"},task_update:{label:"Updating task",icon:"✅"},add_task_note:{label:"Adding note",icon:"📝"},task_add_note:{label:"Adding note",icon:"📝"},task_list:{label:"Listing tasks",icon:"📋"},requirement_propose:{label:"Proposing requirement",icon:"📋"},requirement_list:{label:"Listing requirements",icon:"📋"},git_status:{label:"Git status",icon:"🔀"},git_diff:{label:"Git diff",icon:"🔀"},git_log:{label:"Git log",icon:"📜"},git_branch:{label:"Git branch",icon:"🌿"},git_add:{label:"Git add",icon:"➕"},git_commit:{label:"Git commit",icon:"💾"},code_search:{label:"Searching code",icon:"🔍"},project_structure:{label:"Project structure",icon:"🗂"},code_stats:{label:"Code stats",icon:"📊"},navigate_page:{label:"Opening page",icon:"🌐"},new_page:{label:"Opening new tab",icon:"🌐"},close_page:{label:"Closing tab",icon:"🌐"},select_page:{label:"Switching tab",icon:"🌐"},list_pages:{label:"Listing tabs",icon:"🌐"},click:{label:"Clicking element",icon:"👆"},hover:{label:"Hovering element",icon:"👆"},fill:{label:"Filling field",icon:"⌨"},fill_form:{label:"Filling form",icon:"⌨"},type_text:{label:"Typing text",icon:"⌨"},press_key:{label:"Pressing key",icon:"⌨"},take_screenshot:{label:"Screenshot",icon:"📸"},take_snapshot:{label:"Page snapshot",icon:"📋"},evaluate_script:{label:"Running script",icon:"⚙"},wait_for:{label:"Waiting",icon:"⏳"},list_console_messages:{label:"Console logs",icon:"🔍"},list_network_requests:{label:"Network requests",icon:"🔍"},lighthouse_audit:{label:"Running audit",icon:"📊"},agent_send_message:{label:"Messaging colleague",icon:"💬"},agent_list:{label:"Checking team",icon:"👥"},memory_save:{label:"Saving memory",icon:"💾"},memory_search:{label:"Searching memory",icon:"🔍"},feishu_send_message:{label:"Sending Feishu msg",icon:"✉"},feishu_search_docs:{label:"Searching Feishu",icon:"🔍"}};function Zm(e){const r=e.includes("__")?e.split("__").pop():e;return sy[r]??sy[e]??{label:r.replace(/_/g," ").replace(/\b\w/g,s=>s.toUpperCase()),icon:"⚙"}}function rT(e){if(e.tool!=="shell_execute"||!e.args||typeof e.args!="object")return null;const r=e.args.command;return typeof r=="string"?r:null}function Qm(e){return e==null?"":e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function Km(e){const r=new Date(e);if(isNaN(r.getTime()))return e;const s=String(r.getMonth()+1).padStart(2,"0"),l=String(r.getDate()).padStart(2,"0"),o=String(r.getHours()).padStart(2,"0"),c=String(r.getMinutes()).padStart(2,"0"),u=String(r.getSeconds()).padStart(2,"0");return`${s}-${l} ${o}:${c}:${u}`}function J1(e,r){return e.length<=r?e:e.slice(0,r)+"…"}function ju(e){try{const r=JSON.parse(e);return JSON.stringify(r,null,2)}catch{return e}}function sT(e){if(!e||typeof e!="object")return"";const r=e,s=[];for(const[l,o]of Object.entries(r)){if(o==null)continue;const c=typeof o=="string"?o:JSON.stringify(o);s.push(`${l}: ${J1(c,120)}`)}return s.join(", ")}function aT(e){return!e||typeof e!="object"?[]:Object.entries(e).filter(([,s])=>s!=null).map(([s,l])=>({key:s,value:typeof l=="string"?l:JSON.stringify(l,null,2)}))}function Jm(e){const r=Km(e.createdAt),s=e.createdAt,l=e.metadata;switch(e.type){case"text":return{type:"text",content:e.content,time:r,timestamp:s};case"status":return{type:"status",content:e.content,time:r,timestamp:s};case"error":return{type:"error",content:e.content,time:r,timestamp:s};case"tool_start":return{type:"tool",time:r,timestamp:s,key:`ts_${e.seq}`,info:{tool:e.content,status:"running",args:l?.arguments}};case"tool_end":return{type:"tool",time:r,timestamp:s,key:`te_${e.seq}`,info:{tool:e.content,status:l?.success===!1?"error":"done",args:l?.arguments,result:l?.result,error:l?.error,durationMs:l?.durationMs}};default:return null}}function W1(e){const r=Km(e.createdAt),s=e.metadata;switch(e.type){case"text":return{type:"text",content:e.content,time:r};case"status":return{type:"status",content:e.content,time:r};case"error":return{type:"error",content:e.content,time:r};case"tool_start":return{type:"tool",time:r,key:`as_${e.seq}`,info:{tool:e.content,status:"running",args:s?.arguments??s?.args}};case"tool_end":return{type:"tool",time:r,key:`ae_${e.seq}`,info:{tool:e.content,status:s?.success===!1?"error":"done",args:s?.arguments,result:s?.result??s?.preview,error:s?.error,durationMs:s?.durationMs}};default:return null}}function bo(e){const r=new Set;for(let s=0;s<e.length;s++){const l=e[s];if(l.type==="tool"&&(l.info.status==="done"||l.info.status==="error"))for(let o=s-1;o>=0;o--){const c=e[o];if(c.type==="tool"&&c.info.status==="running"&&c.info.tool===l.info.tool&&!r.has(o)){r.add(o);break}}}return e.filter((s,l)=>!r.has(l))}function wu({label:e="Thinking"}){return t.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-fg-secondary py-0.5",children:[t.jsx("span",{children:e}),t.jsx("span",{className:"flex gap-0.5",children:[0,150,300].map(r=>t.jsx("span",{className:"w-1 h-1 rounded-full bg-brand-400 animate-bounce",style:{animationDelay:`${r}ms`,animationDuration:"1s"}},r))})]})}function ej({content:e,className:r}){return t.jsxs("div",{className:"bg-surface-elevated/50 rounded-lg px-3 py-2.5 my-1",children:[t.jsx(er,{content:e,className:r??"text-sm text-fg-secondary"}),t.jsx("span",{className:"inline-block w-0.5 h-4 bg-brand-400 animate-pulse ml-0.5 align-middle"})]})}function lT({info:e,anchorRef:r,onHover:s}){const[l,o]=j.useState(null);if(j.useEffect(()=>{if(r.current){const h=r.current.getBoundingClientRect(),x=h.top>240;o({left:Math.max(8,Math.min(h.left,window.innerWidth-340)),top:x?h.top-6:h.bottom+6,direction:x?"above":"below"})}},[r]),!l)return null;const c=sT(e.args),u=e.status!=="error",f=Zm(e.tool),m={position:"fixed",left:l.left,...l.direction==="above"?{bottom:window.innerHeight-l.top}:{top:l.top},zIndex:9999};return K1.createPortal(t.jsxs("div",{style:m,className:"w-96 max-w-[90vw] max-h-[60vh] bg-surface-secondary border border-border-default rounded-lg shadow-xl text-xs flex flex-col",onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1),children:[t.jsxs("div",{className:"px-3 py-2 border-b border-border-default flex items-center justify-between shrink-0",children:[t.jsx("span",{className:"font-medium text-fg-primary",children:f.label}),t.jsxs("div",{className:"flex items-center gap-2",children:[e.durationMs!=null&&t.jsx("span",{className:"text-fg-tertiary",children:Qm(e.durationMs)}),t.jsx("span",{className:u?"text-green-600":"text-red-500",children:u?"✓ ok":"✗ failed"})]})]}),t.jsxs("div",{className:"flex-1 overflow-y-auto min-h-0",children:[c&&t.jsxs("div",{className:"px-3 py-1.5 border-b border-border-default",children:[t.jsx("div",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider mb-0.5",children:"Arguments"}),t.jsx("div",{className:"text-fg-secondary font-mono text-[11px] break-all",children:c})]}),e.result&&t.jsxs("div",{className:"px-3 py-1.5",children:[t.jsx("div",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider mb-0.5",children:"Result"}),t.jsx("div",{className:"text-fg-secondary font-mono text-[11px] break-all whitespace-pre-wrap",children:ju(e.result)})]}),e.error&&t.jsxs("div",{className:"px-3 py-1.5",children:[t.jsx("div",{className:"text-[10px] text-red-500 uppercase tracking-wider mb-0.5",children:"Error"}),t.jsx("div",{className:"text-red-500 font-mono text-[11px] break-all whitespace-pre-wrap",children:ju(String(e.error))})]}),!c&&!e.result&&!e.error&&t.jsx("div",{className:"px-3 py-1.5 text-fg-tertiary italic",children:"No details recorded"})]}),t.jsx("div",{className:"px-3 py-1 border-t border-border-default text-[10px] text-fg-tertiary shrink-0",children:"Click to expand full details"})]}),document.body)}function iT({info:e,onClose:r}){const s=Zm(e.tool),l=aT(e.args),o=e.status!=="error";return j.useEffect(()=>{const c=u=>{u.key==="Escape"&&r()};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[r]),t.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center",onClick:r,children:[t.jsx("div",{className:"absolute inset-0 bg-black/60"}),t.jsxs("div",{className:"relative bg-surface-secondary border border-border-default rounded-xl shadow-2xl w-[560px] max-w-[92vw] max-h-[80vh] overflow-hidden flex flex-col",onClick:c=>c.stopPropagation(),children:[t.jsxs("div",{className:"px-5 py-3 border-b border-border-default flex items-center justify-between shrink-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"opacity-60 text-sm",children:s.icon}),t.jsx("span",{className:`text-sm font-semibold ${o?"text-fg-primary":"text-red-500"}`,children:s.label}),t.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded ${o?"bg-green-500/15 text-green-600":"bg-red-500/15 text-red-500"}`,children:o?"Success":"Failed"})]}),t.jsxs("div",{className:"flex items-center gap-3",children:[e.durationMs!=null&&t.jsx("span",{className:"text-xs text-fg-tertiary",children:Qm(e.durationMs)}),t.jsx("button",{onClick:r,className:"text-fg-tertiary hover:text-fg-secondary text-lg leading-none",children:"×"})]})]}),t.jsxs("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-4",children:[l.length>0&&t.jsxs("div",{children:[t.jsx("h4",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider mb-2",children:"Arguments"}),t.jsx("div",{className:"space-y-2",children:l.map(({key:c,value:u})=>t.jsxs("div",{children:[t.jsx("div",{className:"text-[11px] text-brand-500 font-medium mb-0.5",children:c}),t.jsx("pre",{className:"text-xs text-fg-secondary bg-surface-elevated/70 rounded-lg px-3 py-2 overflow-x-auto max-h-80 overflow-y-auto whitespace-pre-wrap break-all font-mono",children:u})]},c))})]}),e.result&&t.jsxs("div",{children:[t.jsx("h4",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider mb-2",children:"Result"}),t.jsx("pre",{className:"text-xs text-fg-secondary bg-surface-elevated/70 rounded-lg px-3 py-2 overflow-x-auto overflow-y-auto max-h-[60vh] whitespace-pre-wrap break-all font-mono",children:ju(e.result)})]}),e.error&&t.jsxs("div",{children:[t.jsx("h4",{className:"text-[10px] font-semibold text-red-500 uppercase tracking-wider mb-2",children:"Error"}),t.jsx("pre",{className:"text-xs text-red-500 bg-red-500/10 border border-red-500/20 rounded-lg px-3 py-2 overflow-x-auto max-h-40 whitespace-pre-wrap break-all font-mono",children:ju(String(e.error))})]}),!l.length&&!e.result&&!e.error&&t.jsx("div",{className:"text-sm text-fg-tertiary italic py-4 text-center",children:"No detailed data recorded for this tool call."})]})]})]})}function oT(e,r){if(e!=="task_create"&&e!=="create_task"||!r)return null;try{const s=JSON.parse(r);if(!s.task)return null;const l=s.task;return{taskId:l.id,title:l.title,description:l.description,assignedAgentId:l.assignedAgentId,priority:l.priority}}catch{return null}}const tj={urgent:"text-red-500",high:"text-amber-500",medium:"text-blue-500",low:"text-fg-tertiary"},ay={pending_approval:"pending",in_progress:"in_progress",completed:"completed",review:"review",blocked:"blocked",failed:"failed",cancelled:"cancelled",archived:"archived"},ly={pending:{icon:"⏳",label:"Pending Approval",borderClass:"border-amber-500/40",bgClass:"bg-amber-500/5",badgeClass:"bg-amber-500/15 text-amber-600",textClass:""},approving:{icon:"⏳",label:"Approving…",borderClass:"border-amber-500/40",bgClass:"bg-amber-500/5",badgeClass:"bg-amber-500/15 text-amber-600",textClass:""},rejecting:{icon:"⏳",label:"Rejecting…",borderClass:"border-amber-500/40",bgClass:"bg-amber-500/5",badgeClass:"bg-amber-500/15 text-amber-600",textClass:""},in_progress:{icon:"▶",label:"In Progress",borderClass:"border-blue-500/40",bgClass:"bg-blue-500/5",badgeClass:"bg-blue-500/15 text-blue-500",textClass:"text-blue-500"},completed:{icon:"✅",label:"Completed",borderClass:"border-green-500/30",bgClass:"bg-green-500/5",badgeClass:"bg-green-500/15 text-green-500",textClass:"text-green-500"},review:{icon:"👀",label:"In Review",borderClass:"border-purple-500/40",bgClass:"bg-purple-500/5",badgeClass:"bg-purple-500/15 text-purple-500",textClass:"text-purple-500"},blocked:{icon:"🚫",label:"Blocked",borderClass:"border-orange-500/40",bgClass:"bg-orange-500/5",badgeClass:"bg-orange-500/15 text-orange-500",textClass:"text-orange-500"},failed:{icon:"❌",label:"Failed",borderClass:"border-red-500/30",bgClass:"bg-red-500/5",badgeClass:"bg-red-500/15 text-red-500",textClass:"text-red-500"},cancelled:{icon:"⊘",label:"Cancelled",borderClass:"border-border-default/40",bgClass:"bg-surface-secondary/30",badgeClass:"bg-surface-elevated text-fg-tertiary",textClass:"text-fg-tertiary"},archived:{icon:"📦",label:"Archived",borderClass:"border-border-default/40",bgClass:"bg-surface-secondary/30",badgeClass:"bg-surface-elevated text-fg-tertiary",textClass:"text-fg-tertiary"},loading:{icon:"⏳",label:"Loading…",borderClass:"border-border-default/40",bgClass:"bg-surface-secondary/30",badgeClass:"bg-surface-elevated text-fg-tertiary",textClass:""}};function cT({info:e}){const[r,s]=j.useState("loading");j.useEffect(()=>{let m=!1;return le.tasks.get(e.taskId).then(({task:h})=>{m||s(ay[h.status]??"pending")}).catch(()=>{m||s("pending")}),()=>{m=!0}},[e.taskId]),j.useEffect(()=>Cn.on("task:update",m=>{const h=m.payload;h.taskId===e.taskId&&h.status&&s(ay[h.status]??"pending")}),[e.taskId]);const l=async()=>{s("approving");try{await le.tasks.approve(e.taskId),s("in_progress")}catch{s("pending")}},o=async()=>{s("rejecting");try{await le.tasks.reject(e.taskId),s("cancelled")}catch{s("pending")}},c=r==="pending"||r==="approving"||r==="rejecting",u=ly[r]??ly.loading,f=()=>Ut.navigate("tasks",{openTask:e.taskId});return t.jsxs("div",{className:`my-2 rounded-lg border ${u.borderClass} ${u.bgClass} p-3 max-w-md transition-colors`,children:[t.jsxs("div",{className:"flex items-start gap-2 mb-1 cursor-pointer group",role:"button",tabIndex:0,onClick:f,onKeyDown:m=>m.key==="Enter"&&f(),children:[t.jsx("span",{className:"text-sm mt-0.5",children:u.icon}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${u.badgeClass}`,children:"Task"}),!c&&r!=="loading"&&t.jsx("span",{className:`text-[10px] font-medium ${u.textClass}`,children:u.label})]}),t.jsx("div",{className:`text-sm font-medium truncate mt-1 group-hover:underline ${!c&&r!=="loading"?"text-fg-secondary":"text-fg-primary"}`,children:e.title}),e.description&&t.jsx("div",{className:"text-xs text-fg-secondary mt-0.5 line-clamp-2",children:e.description}),t.jsxs("div",{className:"flex items-center gap-2 mt-1.5 text-[11px] text-fg-tertiary",children:[e.priority&&t.jsx("span",{className:tj[e.priority]??"text-fg-tertiary",children:e.priority}),t.jsxs("span",{className:"opacity-50",children:["ID: ",e.taskId.slice(0,8),"..."]})]})]})]}),c&&t.jsxs("div",{className:"flex items-center gap-2 mt-2 pt-2 border-t border-border-default/30",children:[t.jsx("button",{onClick:l,disabled:r!=="pending",className:"flex-1 px-3 py-1.5 text-xs font-medium rounded-md bg-green-600 hover:bg-green-500 text-white transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r==="approving"?"Approving…":"Approve"}),t.jsx("button",{onClick:o,disabled:r!=="pending",className:"flex-1 px-3 py-1.5 text-xs font-medium rounded-md bg-surface-elevated hover:bg-surface-overlay text-fg-secondary border border-border-default transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r==="rejecting"?"Rejecting…":"Reject"})]})]})}function uT(e,r){if(e!=="requirement_propose"||!r)return null;try{const s=JSON.parse(r);if(s.status!=="success"||!s.requirement)return null;const l=s.requirement;return l.status!=="draft"&&l.status!=="pending_review"?null:{requirementId:l.id,title:l.title,description:l.description,priority:l.priority}}catch{return null}}function dT({info:e}){const[r,s]=j.useState("idle"),[l,o]=j.useState(""),[c,u]=j.useState(!1),f=async()=>{s("approving");try{await le.requirements.approve(e.requirementId),s("approved")}catch{s("idle")}},m=async()=>{if(!c){u(!0);return}if(l.trim()){s("rejecting");try{await le.requirements.reject(e.requirementId,l.trim()),s("rejected")}catch{s("idle")}}},h=r==="approved"||r==="rejected";return t.jsxs("div",{className:`my-2 rounded-lg border ${h?"border-border-default/40 bg-surface-secondary/30":"border-amber-500/40 bg-amber-500/5"} p-3 max-w-md`,children:[t.jsxs("div",{className:"flex items-start gap-2 mb-2",children:[t.jsx("span",{className:"text-amber-500 text-sm mt-0.5",children:h?r==="approved"?"✅":"❌":"📋"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"flex items-center gap-1.5",children:t.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-amber-500/15 text-amber-600 font-medium",children:"REQ"})}),t.jsx("div",{className:"text-sm font-medium text-fg-primary truncate mt-1",children:e.title}),e.description&&t.jsx("div",{className:"text-xs text-fg-secondary mt-0.5 line-clamp-3",children:e.description}),t.jsxs("div",{className:"flex items-center gap-2 mt-1.5 text-[11px] text-fg-tertiary",children:[e.priority&&t.jsx("span",{className:tj[e.priority]??"text-fg-tertiary",children:e.priority}),t.jsxs("span",{className:"opacity-50",children:["ID: ",e.requirementId.slice(0,8),"..."]})]})]})]}),!h&&t.jsxs("div",{className:"mt-2 pt-2 border-t border-border-default/30 space-y-2",children:[c&&t.jsx("input",{type:"text",value:l,onChange:x=>o(x.target.value),placeholder:"Rejection reason...",className:"w-full px-2 py-1.5 text-xs rounded-md bg-surface-secondary border border-border-default text-fg-primary placeholder:text-fg-tertiary focus:outline-none focus:border-brand-500",onKeyDown:x=>x.key==="Enter"&&m(),autoFocus:!0}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{onClick:f,disabled:r!=="idle",className:"flex-1 px-3 py-1.5 text-xs font-medium rounded-md bg-green-600 hover:bg-green-500 text-white transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r==="approving"?"Approving...":"Approve"}),t.jsx("button",{onClick:m,disabled:r!=="idle"||c&&!l.trim(),className:"flex-1 px-3 py-1.5 text-xs font-medium rounded-md bg-surface-elevated hover:bg-surface-overlay text-fg-secondary border border-border-default transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:r==="rejecting"?"Rejecting...":"Reject"})]})]}),r==="approved"&&t.jsx("div",{className:"text-xs text-green-500 mt-1.5",children:"Requirement approved — agents can now create tasks for it"}),r==="rejected"&&t.jsxs("div",{className:"text-xs text-fg-tertiary mt-1.5",children:["Requirement rejected",l?`: ${l}`:""]})]})}function nj({info:e,showTime:r,time:s,isLast:l}){const o=Zm(e.tool),[c,u]=j.useState(!1),[f,m]=j.useState(!1),h=j.useRef(null),x=j.useRef(void 0),g=e.status!=="running",b=e.status==="stopped",p=j.useCallback(T=>{clearTimeout(x.current),T?x.current=setTimeout(()=>u(!0),200):x.current=setTimeout(()=>u(!1),150)},[]);j.useEffect(()=>()=>clearTimeout(x.current),[]);const w=rT(e),S=j.useRef(null);return j.useEffect(()=>{S.current&&(S.current.scrollTop=S.current.scrollHeight)},[e.liveOutput]),t.jsxs(t.Fragment,{children:[t.jsxs("div",{ref:h,className:`relative flex items-start gap-2 py-0.5 ${l?"":"border-b border-border-default/30 pb-1.5 mb-0.5"} ${g?"cursor-pointer rounded hover:bg-surface-elevated/30 transition-colors":""}`,onMouseEnter:()=>g&&p(!0),onMouseLeave:()=>p(!1),onClick:()=>g&&m(!0),children:[r&&s&&t.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0 w-24 text-right tabular-nums mt-0.5 hidden md:inline",children:s}),t.jsx("div",{className:"flex flex-col items-center shrink-0 mt-0.5",style:{width:14},children:t.jsx("div",{className:`w-3 h-3 rounded-full border flex items-center justify-center text-[8px] shrink-0 ${e.status==="running"?"border-brand-500 bg-brand-500/15 animate-pulse":e.status==="error"?"border-red-500 bg-red-500/15 text-red-500":b?"border-gray-500 bg-surface-secondary text-fg-tertiary":"border-green-500 bg-green-500/15 text-green-500"}`,children:e.status==="done"?"✓":e.status==="error"?"✗":b?"■":""})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:`flex items-center gap-1 text-xs leading-snug ${e.status==="running"?"text-brand-500":e.status==="error"?"text-red-500 line-through opacity-50":b?"text-fg-tertiary opacity-60":"text-fg-tertiary"}`,children:[t.jsx("span",{className:"opacity-60",children:o.icon}),t.jsxs("span",{children:[o.label,e.status==="running"?"…":""]}),e.status==="running"&&t.jsxs("svg",{className:"w-3 h-3 animate-spin ml-0.5 shrink-0",viewBox:"0 0 24 24",fill:"none",children:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]}),e.durationMs!=null&&e.status!=="running"&&t.jsx("span",{className:"text-[10px] text-fg-tertiary ml-0.5",children:Qm(e.durationMs)})]}),w&&t.jsxs("div",{className:`mt-0.5 font-mono text-[11px] truncate max-w-full ${e.status==="running"?"text-fg-secondary":"text-fg-tertiary"}`,title:w,children:[t.jsx("span",{className:"text-fg-tertiary select-none",children:"$ "}),J1(w,120)]}),e.liveOutput&&e.status==="running"&&t.jsx("pre",{ref:S,className:"mt-1 font-mono text-[11px] text-fg-tertiary bg-surface-secondary/60 rounded px-2 py-1.5 max-h-32 overflow-y-auto overflow-x-hidden whitespace-pre-wrap break-all",children:e.liveOutput})]}),c&&t.jsx(lT,{info:e,anchorRef:h,onHover:p})]}),f&&t.jsx(iT,{info:e,onClose:()=>m(!1)}),g&&(()=>{const T=oT(e.tool,e.result);if(T)return t.jsx(cT,{info:T});const E=uT(e.tool,e.result);return E?t.jsx(dT,{info:E}):null})()]})}const fT=j.memo(Vl);function Vl({entry:e,showTime:r,isLast:s}){if(e.type==="tool")return t.jsx(nj,{info:e.info,showTime:r,time:e.time,isLast:s},e.key);if(e.type==="text")return t.jsxs("div",{className:"flex items-start gap-2 ",children:[r&&e.time&&t.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0 w-24 text-right tabular-nums mt-2.5 hidden md:inline",children:e.time}),t.jsx("div",{className:"flex-1 bg-surface-elevated/50 rounded-lg px-3 py-2.5 my-1",children:t.jsx(er,{content:e.content,className:"text-sm text-fg-secondary"})})]});if(e.type==="status"){const l=e.content==="completed"||e.content==="execution_finished",o=e.content==="started",c=e.content==="resumed",u=l?"text-green-600":o?"text-blue-600":c?"text-amber-600":"text-fg-tertiary",f=l?"bg-green-400":o?"bg-blue-400":c?"bg-amber-400":"bg-gray-500";return t.jsxs("div",{className:"flex items-center gap-2 py-0.5 px-1",children:[r&&e.time&&t.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0 w-24 text-right tabular-nums hidden md:inline",children:e.time}),t.jsx("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${f}`}),t.jsx("span",{className:`text-xs capitalize ${u}`,children:e.content})]})}return e.type==="error"?t.jsxs("div",{className:"flex items-start gap-2 ",children:[r&&e.time&&t.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0 w-24 text-right tabular-nums mt-2 hidden md:inline",children:e.time}),t.jsxs("div",{className:"flex-1 text-xs text-red-500 bg-red-500/10 border border-red-500/20 rounded px-2.5 py-2 my-1 leading-relaxed",children:[t.jsx("span",{className:"font-medium",children:"Error:"})," ",e.content]})]}):null}const hT="(max-width: 767px)";let Eh=null;function rj(){return Eh||(Eh=window.matchMedia(hT)),Eh}function mT(e){const r=rj();return r.addEventListener("change",e),()=>r.removeEventListener("change",e)}function xT(){return rj().matches}function gT(){return!1}function xs(){return j.useSyncExternalStore(mT,xT,gT)}function sj({title:e,message:r,confirmLabel:s="Confirm",checkboxes:l,onConfirm:o,onCancel:c}){const[u,f]=j.useState(()=>{const m={};for(const h of l??[])m[h.id]=h.defaultChecked??!1;return m});return t.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-[60]",onClick:c,children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-6 w-[360px] shadow-2xl",onClick:m=>m.stopPropagation(),children:[t.jsx("h3",{className:"font-semibold text-base mb-2",children:e}),t.jsx("p",{className:"text-sm text-fg-secondary mb-4 leading-relaxed",children:r}),l&&l.length>0&&t.jsx("div",{className:"mb-4 space-y-2",children:l.map(m=>t.jsxs("label",{className:"flex items-center gap-2 text-sm text-fg-secondary cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:u[m.id]??!1,onChange:h=>f(x=>({...x,[m.id]:h.target.checked})),className:"rounded bg-surface-elevated border-border-default"}),m.label]},m.id))}),t.jsxs("div",{className:"flex justify-end gap-2",children:[t.jsx("button",{onClick:c,className:"px-4 py-1.5 text-sm border border-border-default rounded-lg hover:bg-surface-elevated transition-colors",children:"Cancel"}),t.jsx("button",{onClick:()=>o(l?u:void 0),className:"px-4 py-1.5 text-sm bg-red-600 hover:bg-red-500 text-white rounded-lg transition-colors",children:s})]})]})})}function Vu({children:e,onClose:r,title:s,width:l="w-[440px]"}){return t.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:r,children:t.jsxs("div",{className:`bg-surface-secondary border border-border-default rounded-xl p-6 ${l} shadow-2xl max-h-[90vh] overflow-y-auto`,onClick:o=>o.stopPropagation(),children:[t.jsx("h3",{className:"text-base font-semibold mb-5",children:s}),e]})})}function Ls({label:e,children:r}){return t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs text-fg-secondary mb-1.5 font-medium",children:e}),r]})}function pT({onClose:e,onCreate:r}){const[s,l]=j.useState(""),[o,c]=j.useState("");return t.jsx(Vu,{onClose:e,title:"Create a New Team",children:t.jsxs("div",{className:"space-y-4",children:[t.jsx(Ls,{label:"Team Name",children:t.jsx("input",{value:s,onChange:u=>l(u.target.value),placeholder:"e.g. Engineering, Marketing, Support",className:"input",autoFocus:!0,onKeyDown:u=>{u.key==="Enter"&&s.trim()&&r(s.trim(),o.trim()||void 0)}})}),t.jsx(Ls,{label:"Description (optional)",children:t.jsx("textarea",{value:o,onChange:u=>c(u.target.value),placeholder:"What does this team work on?",className:"input",rows:2})}),t.jsx("div",{className:"text-xs text-fg-tertiary",children:"You can add human and AI members to this team after creating it."}),t.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[t.jsx("button",{onClick:e,className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated",children:"Cancel"}),t.jsx("button",{onClick:()=>s.trim()&&r(s.trim(),o.trim()||void 0),disabled:!s.trim(),className:"px-4 py-2 text-sm bg-brand-600 hover:bg-brand-500 disabled:opacity-40 rounded-lg text-white",children:"Create Team"})]})]})})}function bT({teamId:e,teams:r,onClose:s,onAdd:l}){const[o,c]=j.useState(""),[u,f]=j.useState("member"),[m,h]=j.useState(""),[x,g]=j.useState(""),[b,p]=j.useState(""),[w,S]=j.useState(e??""),[T,E]=j.useState(""),C=()=>{if(E(""),!o.trim()){E("Name is required");return}if(x&&x!==b){E("Passwords do not match");return}l(o.trim(),u,m||void 0,x||void 0,w||void 0)};return t.jsx(Vu,{onClose:s,title:"Add Human Team Member",width:"w-[460px]",children:t.jsxs("div",{className:"space-y-4",children:[t.jsx(Ls,{label:"Name *",children:t.jsx("input",{value:o,onChange:N=>c(N.target.value),placeholder:"Full name",className:"input",autoFocus:!0})}),t.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[t.jsx(Ls,{label:"Role",children:t.jsxs("select",{value:u,onChange:N=>f(N.target.value),className:"input",children:[t.jsx("option",{value:"owner",children:"Owner"}),t.jsx("option",{value:"admin",children:"Admin"}),t.jsx("option",{value:"member",children:"Member"}),t.jsx("option",{value:"guest",children:"Guest"})]})}),t.jsx(Ls,{label:"Assign to Team",children:t.jsxs("select",{value:w,onChange:N=>S(N.target.value),className:"input",children:[t.jsx("option",{value:"",children:"No team"}),r.map(N=>t.jsx("option",{value:N.id,children:N.name},N.id))]})})]}),t.jsx(Ls,{label:"Email",children:t.jsx("input",{value:m,onChange:N=>h(N.target.value),type:"email",placeholder:"Optional (required for login)",className:"input"})}),t.jsxs("div",{className:"border-t border-border-default pt-3",children:[t.jsx("div",{className:"text-xs text-fg-tertiary mb-3",children:"Set a password to allow this person to log in."}),t.jsx(Ls,{label:"Password",children:t.jsx("input",{value:x,onChange:N=>g(N.target.value),type:"password",placeholder:"Leave blank for no login access",className:"input"})}),x&&t.jsx("div",{className:"mt-3",children:t.jsx(Ls,{label:"Confirm Password",children:t.jsx("input",{value:b,onChange:N=>p(N.target.value),type:"password",placeholder:"Repeat password",className:"input"})})})]}),T&&t.jsx("div",{className:"text-xs text-red-500 bg-red-500/10 border border-red-500/30 rounded-lg px-3 py-2",children:T}),t.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[t.jsx("button",{onClick:s,className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated",children:"Cancel"}),t.jsx("button",{onClick:C,className:"px-4 py-2 text-sm bg-green-700 hover:bg-green-600 rounded-lg text-white",children:"Add Member"})]})]})})}function yT({teamId:e,ungrouped:r,onClose:s,onAdd:l}){return t.jsx(Vu,{onClose:s,title:"Add Existing Member to Team",children:t.jsxs("div",{className:"space-y-3",children:[t.jsx("div",{className:"text-xs text-fg-tertiary",children:"Select an ungrouped member to add to this team."}),r.length===0?t.jsx("div",{className:"text-center py-8 text-sm text-fg-tertiary",children:"All members are already in a team."}):t.jsx("div",{className:"space-y-2 max-h-72 overflow-y-auto",children:r.map(o=>t.jsxs("button",{onClick:()=>l(o.id,o.type),className:"w-full flex items-center gap-3 px-4 py-3 rounded-lg border border-border-default hover:border-brand-500 hover:bg-brand-500/10 text-left transition-all",children:[t.jsx("div",{className:`w-8 h-8 rounded-lg flex items-center justify-center text-xs font-bold text-white ${o.type==="agent"?"bg-brand-600":"bg-green-600"}`,children:o.name.charAt(0)}),t.jsxs("div",{className:"flex-1",children:[t.jsx("div",{className:"font-medium text-sm",children:o.name}),t.jsxs("div",{className:"text-xs text-fg-tertiary",children:[o.role," · ",o.type==="agent"?"AI":"Human"]})]}),o.status&&t.jsx("span",{className:`w-2 h-2 rounded-full ${o.status==="idle"?"bg-green-400":o.status==="working"?"bg-brand-400":"bg-gray-600"}`})]},o.id))}),t.jsx("div",{className:"flex justify-end pt-2",children:t.jsx("button",{onClick:s,className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated",children:"Close"})})]})})}function vT({onClose:e,onConnected:r}){const[s,l]=j.useState(""),[o,c]=j.useState(""),[u,f]=j.useState(!1),[m,h]=j.useState(null),[x,g]=j.useState(null),b=async()=>{if(!s.trim()){c("Agent name is required");return}const w=s.trim().toLowerCase().replace(/\s+/g,"-");f(!0),c("");try{const S=await fetch("/api/external-agents/register",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({externalAgentId:w,agentName:s.trim(),orgId:"default",capabilities:["general"]})});if(!S.ok){const E=await S.json().catch(()=>({}));throw new Error(E.error??`HTTP ${S.status}`)}const T=await S.json();h({externalAgentId:w,markusAgentId:T.registration?.markusAgentId,token:T.token,gatewayUrl:T.gatewayUrl})}catch(S){c(String(S))}f(!1)},p=(w,S)=>{navigator.clipboard.writeText(w),g(S),setTimeout(()=>g(null),2e3)};return t.jsx(Vu,{onClose:e,title:"Import OpenClaw Agent",width:"w-[560px]",children:m?(()=>{const w=m.gatewayUrl??`${window.location.origin}/api/gateway`,S=`Connect to the Markus AI platform as an external agent.
43
+
44
+ Gateway URL: ${w}
45
+ Agent ID: ${m.externalAgentId}
46
+ ${m.token?`Bearer Token: ${m.token}`:""}
47
+
48
+ Step 1: Read the integration handbook at GET ${w}/manual (set header Authorization: Bearer <token above>). It describes the full Markus concept model, API endpoints, and collaboration patterns.
49
+ Step 2: Start a sync loop — call POST ${w}/sync every 30 seconds with your status. The response includes assigned tasks, inbox messages, team context (colleagues), and project context (requirements).
50
+ Step 3: Accept and execute tasks, report progress, and communicate with teammates via the sync message system.`;return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"text-center py-6",children:[t.jsx("div",{className:"text-3xl mb-3 text-green-600",children:"✓"}),t.jsx("div",{className:"text-base text-green-600 font-medium mb-1",children:"Agent registered"}),t.jsx("div",{className:"text-sm text-fg-secondary mt-1",children:t.jsx("strong",{children:s})})]}),t.jsxs("div",{className:"bg-brand-500/10 border border-brand-500/30 rounded-xl p-4",children:[t.jsx("div",{className:"text-xs text-fg-secondary mb-3",children:"Copy this prompt and paste it into your OpenClaw agent, Cursor, or any AI assistant."}),t.jsx("button",{onClick:()=>p(S,"prompt"),className:`w-full py-2.5 text-sm font-medium rounded-lg transition-colors ${x==="prompt"?"bg-green-600 text-white":"bg-brand-700 hover:bg-brand-600 text-white"}`,children:x==="prompt"?"Copied!":"Copy Connection Prompt"})]}),t.jsx("div",{className:"flex justify-end pt-5",children:t.jsx("button",{onClick:()=>{r()},className:"px-5 py-2 text-sm bg-surface-elevated hover:bg-surface-overlay rounded-lg text-fg-secondary border border-border-default",children:"Done"})})]})})():t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"text-xs text-fg-secondary mb-4",children:"Register an OpenClaw agent to join your Markus organization. After registration, you'll get a ready-to-use connection config."}),t.jsxs("div",{className:"space-y-4",children:[t.jsx(Ls,{label:"Agent Name *",children:t.jsx("input",{className:"input",placeholder:"e.g. Alice",value:s,onChange:w=>l(w.target.value),autoFocus:!0})}),o&&t.jsx("div",{className:"text-xs text-red-500 bg-red-500/10 border border-red-500/30 rounded-lg px-3 py-2",children:o}),t.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[t.jsx("button",{onClick:e,className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated",children:"Cancel"}),t.jsx("button",{onClick:b,disabled:u,className:"px-4 py-2 text-sm bg-brand-700 hover:bg-brand-600 rounded-lg text-white disabled:opacity-50",children:u?"Connecting...":"Import Agent"})]})]})]})})}let iy=new Map;function jT(e){return e.split(" ").map(r=>r[0]).join("").toUpperCase().slice(0,2)}function wT({authUser:e,agents:r,teams:s,humans:l,tasks:o,externalAgents:c,groupChats:u,chatMode:f,selectedAgent:m,activeChannel:h,activeDmUserId:x,onSelectAgent:g,onSelectChannel:b,onSelectDm:p,onRefreshTeams:w,onRefreshAgents:S,onViewProfile:T,width:E,onResizeStart:C,hidden:N}){const k=xs(),H=e?.role==="owner"||e?.role==="admin",M=j.useMemo(()=>new Set(c.map(te=>te.markusAgentId).filter(Boolean)),[c]),[Y,$]=j.useState([]),[X,P]=j.useState(new Set),[U,V]=j.useState(!1),[D,A]=j.useState(null),[I,_]=j.useState(null),[G,q]=j.useState(!1),[K,B]=j.useState(null),[R,W]=j.useState(null),[z,L]=j.useState(null),[F,Q]=j.useState(!1),ne=j.useRef(null),[Z,ee]=j.useState(null),oe=(te,Ne="success")=>{ee({message:te,type:Ne}),setTimeout(()=>ee(null),3e3)},[pe,Se]=j.useState(null),Re=(te,Ne,De,dt,$e)=>{Se({title:te,message:Ne,onConfirm:De,confirmLabel:dt,checkboxes:$e})},[ze,Be]=j.useState(null),[Xe,_e]=j.useState(null),Ye=j.useRef(null),ht=j.useRef(null),[gt,ie]=j.useState(!1),[Le,xt]=j.useState(null),[yt,Zt]=j.useState(""),ve=j.useCallback(te=>{if(!te)return;const Ne=te.getBoundingClientRect(),De=8;Ne.bottom>window.innerHeight&&(te.style.top=`${Math.max(De,window.innerHeight-Ne.height-De)}px`),Ne.right>window.innerWidth&&(te.style.left=`${Math.max(De,window.innerWidth-Ne.width-De)}px`)},[]),[Me,Ue]=j.useState(iy),et=j.useMemo(()=>r.map(te=>te.id).sort().join(","),[r]);j.useEffect(()=>{if(!r.length)return;let te=!1;const Ne=async()=>{const dt=[];if(await Promise.allSettled(r.map(async $e=>{try{const{sessions:Mt}=await le.sessions.listByAgent($e.id,1);if(!Mt.length)return;const{messages:sn}=await le.sessions.getMessages(Mt[0].id,1);if(sn.length){const hn=sn[0],Dt=hn.metadata?.segments;let Bn=hn.content;if(Dt&&Dt.length>0){const jn=[...Dt].reverse().find(It=>It.type==="text");jn&&jn.type==="text"&&(Bn=jn.content)}const Hn=Bn.replace(/<think>[\s\S]*?<\/think>/g,"").replace(/\n+/g," ").trim().slice(0,80);Hn&&dt.push([$e.id,Hn])}}catch{}})),!te){const $e=new Map(dt);iy=$e,Ue($e)}};Ne();const De=setInterval(Ne,3e4);return()=>{te=!0,clearInterval(De)}},[et]);const Ge=j.useCallback(()=>{le.teams.list().then(te=>$(te.ungrouped)).catch(()=>{})},[]);j.useEffect(()=>{Ge()},[Ge]),j.useEffect(()=>Cn.on("*",Ge),[Ge]),j.useEffect(()=>{if(!K&&!R&&!F)return;const te=Ne=>{B(null),W(null),Q(!1)};return setTimeout(()=>document.addEventListener("click",te),0),()=>document.removeEventListener("click",te)},[K,R,F]);const Ht=(te,Ne)=>{Re(`Delete "${Ne}"?`,"This team will be removed from the database. Check options below to also delete members and disk files.",async De=>{const dt=De?.deleteMembers??!0,$e=De?.purgeFiles??!1;await le.teams.delete(te,dt,{purgeFiles:$e}),w(),Ge(),window.dispatchEvent(new CustomEvent("markus:data-changed"))},"Delete Team",[{id:"deleteMembers",label:"Also delete all members in this team",defaultChecked:!0},{id:"purgeFiles",label:"Also delete disk files (workspace, memory, logs)",defaultChecked:!1}])},_t=async(te,Ne)=>{try{const dt=await(Ne==="start"?le.teams.startAll:Ne==="stop"?le.teams.stopAll:Ne==="pause"?le.teams.pauseAll:le.teams.resumeAll)(te),$e=dt.success?.length??0,Mt=dt.failed?.length??0,sn={start:"started",stop:"stopped",pause:"paused",resume:"resumed"};Mt>0?oe(`${Ne}: ${$e} succeeded, ${Mt} failed`,"error"):$e>0&&oe(`${$e} agent${$e>1?"s":""} ${sn[Ne]}`,"success"),S()}catch(De){oe(`Failed to ${Ne}: ${De instanceof Error?De.message:String(De)}`,"error")}},jt=async(te,Ne,De)=>{await le.teams.update(te,{managerId:Ne,managerType:De}),w()},vt=async te=>{if(!yt.trim()){xt(null);return}await le.teams.update(te,{name:yt.trim()}),xt(null),w()},he=async(te,Ne)=>{Ne==="offline"?await le.agents.start(te):await le.agents.stop(te),S()},He=(te,Ne)=>{Re("Remove from team?","This member will be moved to Ungrouped.",async()=>{await le.teams.removeMember(te,Ne),w(),Ge()},"Remove")},ft=(te,Ne,De)=>{Re(`Remove "${Ne}"?`,"This agent will be removed from the database. Check the option below to also delete its workspace, memory, and other files from disk.",async dt=>{{const $e=dt?.purgeFiles??!1;await le.agents.remove(te,{purgeFiles:$e})}S(),w(),Ge(),window.dispatchEvent(new CustomEvent("markus:data-changed"))},"Remove",[{id:"purgeFiles",label:"Also delete disk files (workspace, memory, logs)",defaultChecked:!1}])},ct=(te,Ne,De)=>{ht.current={x:te.clientX,y:te.clientY},Ye.current=setTimeout(()=>{Be({agentId:Ne,fromTeamId:De}),ie(!0)},200)},pt=te=>{if(!ht.current||!Ye.current)return;const Ne=Math.abs(te.clientX-ht.current.x),De=Math.abs(te.clientY-ht.current.y);(Ne>5||De>5)&&(gt||(clearTimeout(Ye.current),Ye.current=null))},Ot=async()=>{if(Ye.current&&(clearTimeout(Ye.current),Ye.current=null),ht.current=null,gt&&ze&&Xe){const te=Xe==="_ungrouped"?void 0:Xe;try{if(ze.fromTeamId&&ze.fromTeamId!==te&&await le.teams.removeMember(ze.fromTeamId,ze.agentId),te&&te!==ze.fromTeamId){const Ne=r.find(De=>De.id===ze.agentId);await le.teams.addMember(te,ze.agentId,"agent")}w(),S(),Ge()}catch(Ne){oe(`Move failed: ${Ne instanceof Error?Ne.message:String(Ne)}`,"error")}}Be(null),_e(null),ie(!1)},rn=j.useMemo(()=>new Map(s.map(te=>[te.id,te])),[s]),Wt=j.useMemo(()=>{const te=new Map,Ne=[];for(const De of r)if(De.teamId&&rn.has(De.teamId)){const dt=te.get(De.teamId)??[];dt.push(De),te.set(De.teamId,dt)}else Ne.push(De);return{byTeam:te,ungrouped:Ne}},[r,rn]);s.filter(te=>Wt.byTeam.has(te.id)||te.members?.length>0).map(te=>te.id);const cn=te=>P(Ne=>{const De=new Set(Ne);return De.has(te)?De.delete(te):De.add(te),De}),vn=(te,Ne)=>{const De=f==="direct"&&m===te.id,dt=M.has(te.id),$e=te.status==="idle"?"bg-green-500":te.status==="working"?"bg-blue-500 animate-pulse":te.status==="error"?"bg-red-500":te.status==="paused"?"bg-amber-500":"bg-gray-600",sn=(Ne?rn.get(Ne):void 0)?.managerId===te.id,hn=te.role?.toLowerCase().replace(/[-_]/g," ").trim(),Dt=te.name.toLowerCase().trim(),Bn=hn&&hn!==Dt,Hn=Me.get(te.id)||te.currentActivity?.label?.slice(0,60)||"",jn=te.status==="idle"?"Online":te.status==="working"?"Working":te.status==="error"?"Error":te.status==="paused"?"Paused":"Offline";return t.jsx("div",{className:`relative mb-0.5 ${gt&&ze?.agentId===te.id?"opacity-40":""}`,onPointerDown:It=>ct(It,te.id,Ne),onPointerMove:pt,onPointerUp:Ot,children:t.jsxs("button",{onClick:()=>{gt||g(te.id)},onContextMenu:It=>{H&&(It.preventDefault(),W({agentId:te.id,teamId:Ne,x:It.clientX,y:It.clientY}))},className:`w-full flex items-center gap-2.5 px-2 py-1.5 rounded-lg text-xs transition-colors select-none ${k?"":"touch-none"} ${De?"bg-brand-600/20 text-brand-500":"text-fg-secondary hover:bg-surface-elevated"}`,children:[t.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0 ${De?"bg-brand-600 text-white":"bg-surface-overlay text-fg-secondary"}`,children:jT(te.name)}),t.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsx("span",{className:"truncate font-medium text-[11px] leading-tight",children:te.name}),Bn&&t.jsxs("span",{className:"text-[9px] text-fg-tertiary shrink-0 truncate max-w-[60px]",children:["(",te.role,")"]}),sn&&t.jsx("svg",{width:"9",height:"9",viewBox:"0 0 24 24",fill:"currentColor",className:"text-amber-600 shrink-0",children:t.jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})}),dt&&t.jsx("span",{className:"text-[8px] px-1 py-0 rounded bg-brand-500/20 text-brand-500 font-medium shrink-0 leading-relaxed",children:"EXT"})]}),t.jsx("div",{className:"truncate text-[10px] leading-tight mt-0.5 text-fg-tertiary",children:Hn||" "})]}),t.jsx("span",{title:jn,onClick:It=>{It.stopPropagation(),T(te.id)},className:`w-2 h-2 rounded-full shrink-0 cursor-pointer transition-transform duration-150 hover:scale-[2] ${$e}`})]})},te.id)},wt=(te,Ne,De,dt)=>{const $e=X.has(te),Mt=gt&&Xe===te&&ze?.fromTeamId!==te,sn=te!=="_ungrouped"?(ue.byTeam.get(te)??[])[0]:void 0,hn=sn&&f==="channel"&&h===sn.channelKey;return t.jsxs("div",{className:`mb-1 rounded-lg transition-colors ${Mt?"ring-1 ring-brand-500/50 bg-brand-500/5":""}`,onPointerEnter:()=>{gt&&_e(te)},onPointerLeave:()=>{gt&&Xe===te&&_e(null)},children:[t.jsxs("div",{className:"group/teamhdr flex items-center gap-0.5",children:[t.jsxs("button",{onClick:()=>{sn?b(sn.channelKey):cn(te)},onContextMenu:Dt=>{!H||!Ne||(Dt.preventDefault(),B({teamId:te,x:Dt.clientX,y:Dt.clientY}))},className:`flex-1 flex items-center gap-2 px-2 py-1.5 rounded-lg text-xs transition-colors min-w-0 ${hn?"bg-brand-600/20 text-brand-500":"text-fg-secondary hover:bg-surface-elevated"}`,children:[t.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center shrink-0 ${hn?"bg-brand-600 text-white":"bg-surface-overlay text-fg-secondary"}`,children:t.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),t.jsx("circle",{cx:"9",cy:"7",r:"4"}),t.jsx("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),t.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]})}),t.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[Le===te?t.jsx("input",{className:"bg-transparent border-b border-brand-500 text-fg-secondary text-[11px] font-medium outline-none w-full",value:yt,onChange:Dt=>Zt(Dt.target.value),onBlur:()=>vt(te),onKeyDown:Dt=>{Dt.key==="Enter"&&vt(te),Dt.key==="Escape"&&xt(null)},onClick:Dt=>Dt.stopPropagation(),autoFocus:!0}):t.jsx("span",{className:"truncate font-medium text-[11px] leading-tight block",children:dt}),t.jsxs("div",{className:"text-[10px] text-fg-tertiary leading-tight mt-0.5",children:[De.length," members"]})]})]}),t.jsx("button",{onClick:()=>cn(te),className:"w-5 h-5 flex items-center justify-center text-fg-tertiary hover:text-fg-secondary rounded transition-colors shrink-0 opacity-60 hover:opacity-100",title:$e?"Expand":"Collapse",children:t.jsx("svg",{className:`w-3 h-3 transition-transform duration-150 ${$e?"":"rotate-90"}`,fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z",clipRule:"evenodd"})})}),H&&Ne&&t.jsx("button",{onClick:Dt=>{Dt.stopPropagation(),B({teamId:te,x:Dt.clientX,y:Dt.clientY})},className:"w-5 h-5 flex items-center justify-center text-fg-tertiary hover:text-fg-secondary rounded transition-colors shrink-0 opacity-0 group-hover/teamhdr:opacity-100",title:"More options",children:t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("circle",{cx:"12",cy:"12",r:"1"}),t.jsx("circle",{cx:"12",cy:"5",r:"1"}),t.jsx("circle",{cx:"12",cy:"19",r:"1"})]})})]}),Mt&&gt&&t.jsx("div",{className:"text-[9px] text-brand-500 px-4 py-0.5 animate-pulse",children:"Drop here"}),!$e&&t.jsx("div",{className:"ml-1",children:De.map(Dt=>vn(Dt,te==="_ungrouped"?void 0:te))})]},te)},ue=j.useMemo(()=>{const te=new Map,Ne=[];for(const De of u)if(De.teamId){const dt=te.get(De.teamId)??[];dt.push(De),te.set(De.teamId,dt)}else{const dt=s.find($e=>De.name.toLowerCase().includes($e.name.toLowerCase())||$e.name.toLowerCase().includes(De.name.toLowerCase()));if(dt){const $e=te.get(dt.id)??[];$e.push(De),te.set(dt.id,$e)}else Ne.push(De)}return{byTeam:te,unmatched:Ne}},[u,s]);return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:`bg-surface-secondary/60 border-r border-border-default flex flex-col ${E!=null?"shrink-0":"flex-1 min-w-0"}`,style:N?{display:"none"}:E!=null?{width:E}:void 0,children:[t.jsx("div",{className:"px-4 h-14 flex items-center border-b border-border-default shrink-0",children:t.jsx("h2",{className:"text-lg font-semibold",children:"Chat"})}),H&&t.jsx("div",{className:"px-3 pt-2 pb-1 flex items-center gap-1.5",ref:ne,children:t.jsxs("div",{className:"relative flex-1",children:[t.jsxs("button",{onClick:()=>Q(!F),className:"w-full flex items-center justify-center gap-1 px-2 py-1.5 text-[10px] font-medium text-fg-secondary hover:text-fg-primary bg-surface-elevated/60 hover:bg-surface-elevated rounded-lg transition-colors",children:[t.jsx("span",{className:"text-brand-500",children:"+"})," Manage",t.jsx("svg",{className:`w-2.5 h-2.5 ml-auto transition-transform ${F?"rotate-180":""}`,fill:"currentColor",viewBox:"0 0 20 20",children:t.jsx("path",{fillRule:"evenodd",d:"M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z",clipRule:"evenodd"})})]}),F&&t.jsxs("div",{className:"absolute left-0 top-full mt-1 w-48 bg-surface-secondary border border-border-default rounded-lg shadow-xl z-30 overflow-hidden",children:[t.jsxs("button",{onClick:()=>{Q(!1),V(!0)},className:"w-full text-left px-4 py-2.5 text-xs text-fg-secondary hover:bg-surface-elevated transition-colors",children:[t.jsxs("div",{className:"font-medium flex items-center gap-1.5",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),t.jsx("circle",{cx:"9",cy:"7",r:"4"}),t.jsx("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),t.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]}),"New Team"]}),t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 pl-[18px]",children:"Create an empty team"})]}),t.jsxs("button",{onClick:()=>{Q(!1),Ut.navigate("agents")},className:"w-full text-left px-4 py-2.5 text-xs text-fg-secondary hover:bg-surface-elevated border-t border-border-default transition-colors",children:[t.jsxs("div",{className:"font-medium flex items-center gap-1.5",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("rect",{x:"3",y:"3",width:"7",height:"7"}),t.jsx("rect",{x:"14",y:"3",width:"7",height:"7"}),t.jsx("rect",{x:"14",y:"14",width:"7",height:"7"}),t.jsx("rect",{x:"3",y:"14",width:"7",height:"7"})]}),"Add Agent"]}),t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 pl-[18px]",children:"Create from templates"})]}),t.jsxs("button",{onClick:()=>{Q(!1),q(!0)},className:"w-full text-left px-4 py-2.5 text-xs text-brand-500 hover:bg-surface-elevated border-t border-border-default transition-colors",children:[t.jsxs("div",{className:"font-medium flex items-center gap-1.5",children:[t.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M21 12a9 9 0 0 1-9 9m9-9a9 9 0 0 0-9-9m9 9H3m9 9a9 9 0 0 1-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 0 1 9-9"})}),"Import OpenClaw"]}),t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 pl-[18px]",children:"Connect an external agent"})]}),t.jsxs("button",{onClick:()=>{Q(!1),A({})},className:"w-full text-left px-4 py-2.5 text-xs text-green-600 hover:bg-surface-elevated border-t border-border-default transition-colors",children:[t.jsxs("div",{className:"font-medium flex items-center gap-1.5",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),t.jsx("circle",{cx:"8.5",cy:"7",r:"4"}),t.jsx("line",{x1:"20",y1:"8",x2:"20",y2:"14"}),t.jsx("line",{x1:"23",y1:"11",x2:"17",y2:"11"})]}),"Add Human"]}),t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 pl-[18px]",children:"Add a human team member"})]})]})]})}),t.jsxs("div",{className:"flex-1 overflow-y-auto px-3 py-2 flex flex-col",children:[r.length===0&&s.length===0&&t.jsx("p",{className:"text-xs text-fg-tertiary px-1 mb-2",children:"No agents yet"}),ue.unmatched.map(te=>t.jsxs("button",{onClick:()=>b(te.channelKey),className:`w-full flex items-center gap-2 px-2 py-1.5 rounded-lg text-xs mb-0.5 transition-colors ${f==="channel"&&h===te.channelKey?"bg-brand-600/20 text-brand-500":"text-fg-secondary hover:bg-surface-elevated"}`,children:[t.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center shrink-0 ${f==="channel"&&h===te.channelKey?"bg-brand-600 text-white":"bg-surface-overlay text-fg-secondary"}`,children:t.jsx("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}),t.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[t.jsx("span",{className:"truncate font-medium text-[11px] leading-tight block",children:te.name}),t.jsx("div",{className:"text-[10px] text-fg-tertiary leading-tight mt-0.5",children:"Group Chat"})]}),te.memberCount!==void 0&&te.memberCount>0&&t.jsx("span",{className:"text-[9px] text-fg-tertiary shrink-0",children:te.memberCount})]},te.id)),s.map(te=>{const Ne=Wt.byTeam.get(te.id)??[];return Ne.length===0&&(!te.members||te.members.length===0)?null:wt(te.id,te,Ne,te.name)}),s.filter(te=>(Wt.byTeam.get(te.id)??[]).length===0&&te.members&&te.members.length>0).map(te=>wt(te.id,te,[],te.name)),Wt.ungrouped.length>0&&wt("_ungrouped",null,Wt.ungrouped,"Other"),s.length===0&&r.length>0&&r.map(te=>vn(te)),t.jsxs("div",{className:"mt-3 pt-2 border-t border-border-default/60",children:[t.jsx("p",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider mb-2",children:"People"}),e&&t.jsxs("button",{onClick:()=>p(e.id),className:`w-full flex items-center gap-2.5 px-2 py-1.5 rounded-lg text-xs mb-0.5 transition-colors ${f==="dm"&&(x===e.id||!x)?"bg-brand-600/20 text-brand-500":"text-fg-secondary hover:bg-surface-elevated"}`,children:[t.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0 ${f==="dm"&&(x===e.id||!x)?"bg-brand-600 text-white":"bg-brand-500/15 text-brand-500"}`,children:e.name[0]?.toUpperCase()}),t.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[t.jsx("div",{className:"truncate font-medium text-[11px] leading-tight",children:e.name}),t.jsx("div",{className:"text-fg-tertiary truncate text-[10px] leading-tight mt-0.5",children:"My Notes"})]}),t.jsx("span",{className:"text-fg-tertiary shrink-0",children:t.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),t.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]})})]}),l.filter(te=>te.id!==e?.id).map(te=>t.jsxs("button",{onClick:()=>p(te.id),className:`w-full flex items-center gap-2.5 px-2 py-1.5 rounded-lg text-xs mb-0.5 transition-colors ${f==="dm"&&x===te.id?"bg-green-500/10 text-green-600":"text-fg-secondary hover:bg-surface-elevated"}`,children:[t.jsx("div",{className:`w-6 h-6 rounded-full flex items-center justify-center text-[10px] font-bold shrink-0 ${f==="dm"&&x===te.id?"bg-green-600 text-white":"bg-green-500/10 text-green-600"}`,children:te.name[0]?.toUpperCase()}),t.jsxs("div",{className:"flex-1 min-w-0 text-left",children:[t.jsx("div",{className:"truncate font-medium text-[11px] leading-tight",children:te.name}),t.jsx("div",{className:"text-fg-tertiary truncate text-[10px] leading-tight mt-0.5",children:te.email||te.role})]}),t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-green-500 shrink-0"})]},te.id))]})]})]}),C&&t.jsx("div",{className:"w-1 cursor-col-resize shrink-0 group relative",onMouseDown:C,children:t.jsx("div",{className:"absolute inset-y-0 -left-0.5 -right-0.5 group-hover:bg-brand-500/30 group-active:bg-brand-500/50 transition-colors"})}),K&&(()=>{const te=Wt.byTeam.get(K.teamId)??[],Ne=te.some(Mt=>Mt.status==="offline"),De=te.some(Mt=>Mt.status==="idle"||Mt.status==="working"),dt=te.some(Mt=>Mt.status==="paused"),$e=te.some(Mt=>Mt.status!=="offline");return t.jsxs("div",{ref:ve,className:"fixed bg-surface-elevated border border-border-default rounded-lg shadow-xl py-1 z-50 w-44",style:{left:K.x,top:K.y},onClick:Mt=>Mt.stopPropagation(),children:[t.jsxs("button",{onClick:()=>{const Mt=rn.get(K.teamId);Mt&&(xt(K.teamId),Zt(Mt.name)),B(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary flex items-center gap-2",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),t.jsx("path",{d:"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"})]}),"Rename Team"]}),Ne&&t.jsxs("button",{onClick:()=>{_t(K.teamId,"start"),B(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-green-600 flex items-center gap-2",children:[t.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("polygon",{points:"5 3 19 12 5 21 5 3"})}),"Start All"]}),$e&&t.jsxs("button",{onClick:()=>{_t(K.teamId,"stop"),B(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[t.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})}),"Stop All"]}),De&&t.jsxs("button",{onClick:()=>{_t(K.teamId,"pause"),B(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-amber-600 flex items-center gap-2",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:[t.jsx("rect",{x:"6",y:"4",width:"4",height:"16",rx:"1"}),t.jsx("rect",{x:"14",y:"4",width:"4",height:"16",rx:"1"})]}),"Pause All"]}),dt&&t.jsxs("button",{onClick:()=>{_t(K.teamId,"resume"),B(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-blue-600 flex items-center gap-2",children:[t.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("polygon",{points:"5 3 19 12 5 21 5 3"})}),"Resume All"]}),t.jsx("div",{className:"border-t border-border-default/50 my-1"}),t.jsxs("button",{onClick:()=>{B(null),Ut.navigate("agents")},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-brand-500 flex items-center gap-2",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),t.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]}),"Add Agent"]}),t.jsxs("button",{onClick:()=>{B(null),A({teamId:K.teamId})},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-green-600 flex items-center gap-2",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),t.jsx("circle",{cx:"8.5",cy:"7",r:"4"}),t.jsx("line",{x1:"20",y1:"8",x2:"20",y2:"14"}),t.jsx("line",{x1:"23",y1:"11",x2:"17",y2:"11"})]}),"Add Human"]}),Y.length>0&&t.jsxs("button",{onClick:()=>{B(null),_(K.teamId)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary flex items-center gap-2",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),t.jsx("circle",{cx:"8.5",cy:"7",r:"4"}),t.jsx("polyline",{points:"17 11 19 13 23 9"})]}),"Add Existing"]}),t.jsx("div",{className:"border-t border-border-default/50 my-1"}),t.jsxs("button",{onClick:()=>{const Mt=rn.get(K.teamId);Mt&&Ht(K.teamId,Mt.name),B(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("polyline",{points:"3 6 5 6 21 6"}),t.jsx("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]}),"Delete Team"]})]})})(),R&&(()=>{const te=r.find($e=>$e.id===R.agentId);if(!te)return null;const De=(R.teamId?rn.get(R.teamId):void 0)?.managerId===te.id,dt=te.id===e?.id;return t.jsxs("div",{ref:ve,className:"fixed bg-surface-elevated border border-border-default rounded-lg shadow-xl py-1 z-50 w-44",style:{left:R.x,top:R.y},onClick:$e=>$e.stopPropagation(),children:[t.jsxs("button",{onClick:()=>{W(null),T(te.id)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-brand-500 flex items-center gap-2",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),t.jsx("circle",{cx:"12",cy:"7",r:"4"})]}),"View Profile"]}),te.status==="offline"?t.jsxs("button",{onClick:()=>{he(te.id,"offline"),W(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-green-600 flex items-center gap-2",children:[t.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("polygon",{points:"5 3 19 12 5 21 5 3"})}),"Start"]}):t.jsxs("button",{onClick:()=>{he(te.id,te.status??"idle"),W(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[t.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})}),"Stop"]}),R.teamId&&!De&&t.jsxs("button",{onClick:()=>{jt(R.teamId,te.id,"agent"),W(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-amber-600 flex items-center gap-2",children:[t.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"})}),"Set as Manager"]}),R.teamId&&t.jsxs("button",{onClick:()=>{He(R.teamId,te.id),W(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary flex items-center gap-2",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("polyline",{points:"9 14 4 9 9 4"}),t.jsx("path",{d:"M20 20v-7a4 4 0 0 0-4-4H4"})]}),"Remove from team"]}),s.length>0&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"border-t border-border-default/50 my-1"}),t.jsxs("div",{className:"px-3 py-1 text-[10px] text-fg-tertiary uppercase flex items-center gap-1.5",children:[t.jsxs("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M5 12h14"}),t.jsx("path",{d:"M12 5l7 7-7 7"})]}),"Move to"]}),s.filter($e=>$e.id!==R.teamId).map($e=>t.jsx("button",{onClick:async()=>{R.teamId&&await le.teams.removeMember(R.teamId,te.id),await le.teams.addMember($e.id,te.id,"agent"),w(),S(),Ge(),W(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-fg-secondary pl-7",children:$e.name},$e.id))]}),t.jsx("div",{className:"border-t border-border-default/50 my-1"}),!dt&&t.jsxs("button",{onClick:()=>{ft(te.id,te.name),W(null)},className:"w-full text-left px-3 py-2 text-xs hover:bg-surface-overlay text-red-500 flex items-center gap-2",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("polyline",{points:"3 6 5 6 21 6"}),t.jsx("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]}),"Remove from org"]})]})})(),U&&t.jsx(pT,{onClose:()=>V(!1),onCreate:async(te,Ne)=>{await le.teams.create(te,Ne),V(!1),w()}}),D!==null&&t.jsx(bT,{teamId:D.teamId,teams:s,onClose:()=>A(null),onAdd:async(te,Ne,De,dt,$e)=>{await le.users.create(te,Ne,void 0,De,dt,$e),A(null),w()}}),I!==null&&t.jsx(yT,{teamId:I,ungrouped:Y,onClose:()=>_(null),onAdd:async(te,Ne)=>{await le.teams.addMember(I,te,Ne),_(null),w(),Ge()}}),G&&t.jsx(vT,{onClose:()=>q(!1),onConnected:()=>{q(!1),S(),w()}}),pe&&t.jsx(sj,{title:pe.title,message:pe.message,confirmLabel:pe.confirmLabel,checkboxes:pe.checkboxes,onConfirm:te=>{pe.onConfirm(te),Se(null)},onCancel:()=>Se(null)}),Z&&t.jsx("div",{className:`fixed bottom-6 left-1/2 -translate-x-1/2 z-50 px-4 py-2.5 rounded-lg shadow-xl text-sm font-medium ${Z.type==="error"?"bg-red-500/10 text-red-500 border border-red-500/30":"bg-surface-elevated/95 text-fg-primary border border-border-default/50"}`,children:Z.message})]})}const NT=[{key:"overview",label:"Overview",icon:"▦"},{key:"activity",label:"Activity",icon:"⏱"},{key:"files",label:"Files",icon:"📄"},{key:"tools",label:"Tools",icon:"⚒"},{key:"skills",label:"Skills",icon:"◆"},{key:"memory",label:"Memory",icon:"🧠"},{key:"heartbeat",label:"Heartbeat",icon:"♡"}],kT={idle:"bg-green-400",working:"bg-brand-400 animate-pulse",paused:"bg-amber-400",offline:"bg-gray-500",error:"bg-red-400"};function uu(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toLocaleString()}function ST({agentId:e,onBack:r,inline:s}){const[l,o]=j.useState(null),[c,u]=j.useState("overview"),[f,m]=j.useState(null),h=j.useCallback(()=>{le.agents.get(e).then(o).catch(()=>{})},[e]);if(j.useEffect(()=>(u("overview"),m(null),h(),le.externalAgents.list().then(b=>{const p=b.agents.find(w=>w.markusAgentId===e);m(p??null)}).catch(()=>{}),Cn.on("agent:update",b=>{b.payload.agentId===e&&h()})),[e,h]),!l)return t.jsx("div",{className:"flex-1 flex items-center justify-center text-fg-tertiary text-sm",children:"Loading agent..."});const x=kT[l.state.status]??"bg-gray-500";return t.jsxs("div",{className:"flex-1 overflow-y-auto bg-surface-primary",children:[t.jsxs("div",{className:"px-5 py-3.5 border-b border-border-default bg-surface-secondary sticky top-0 z-10",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"w-10 h-10 rounded-xl bg-brand-600 text-white flex items-center justify-center text-lg font-bold shrink-0",children:l.name.charAt(0)}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[t.jsx("h2",{className:"text-base font-semibold",children:l.name}),t.jsx("span",{className:`w-2 h-2 rounded-full ${x}`}),t.jsx("span",{className:"text-xs text-fg-tertiary",children:l.state.status}),f&&t.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-brand-500/15 text-brand-500 rounded font-medium",children:"External"}),l.agentRole==="manager"&&t.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-amber-500/15 text-amber-600 rounded font-medium",children:"Manager"})]}),t.jsxs("div",{className:"text-xs text-fg-tertiary truncate",children:[l.role,l.roleDescription?` — ${l.roleDescription}`:""]})]}),t.jsxs("div",{className:"flex gap-1.5 shrink-0",children:[t.jsxs("button",{onClick:()=>Ut.navigate("chat",{agentId:e}),className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 text-white rounded-lg transition-colors flex items-center gap-1",children:[t.jsx("span",{children:"◈"})," Chat"]}),t.jsxs("button",{onClick:async()=>{if(l)try{const{filesMap:g}=await le.agents.getFilesMap(e),b={type:"agent",name:l.name.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"")||l.name,displayName:l.name,version:"1.0.0",description:l.roleDescription??l.role,author:"",category:"general",tags:[],agent:{roleName:l.role,agentRole:l.agentRole},dependencies:{skills:l.skills??[]}};await Ln.publishViaProxy({itemType:"agent",name:l.name,description:b.description,category:"general",config:b,files:g}),alert(`Published "${l.name}" to Markus Hub`)}catch(g){alert(`Failed to publish: ${g}`)}},className:"px-3 py-1.5 text-xs bg-green-600 hover:bg-green-500 text-white rounded-lg transition-colors flex items-center gap-1",title:"Publish to Markus Hub",children:[t.jsx("span",{children:"↑"})," Hub"]}),s&&t.jsx("button",{onClick:r,className:"p-1.5 text-fg-tertiary hover:text-fg-secondary text-lg leading-none",children:"×"})]})]}),t.jsx("div",{className:"flex gap-1 mt-3 -mb-[1px] overflow-x-auto",children:NT.filter(g=>!f||["overview","activity"].includes(g.key)).map(g=>t.jsxs("button",{onClick:()=>u(g.key),className:`px-3 py-1.5 text-xs rounded-t-lg border border-b-0 transition-colors whitespace-nowrap ${c===g.key?"bg-surface-primary text-fg-primary border-border-default":"text-fg-tertiary border-transparent hover:text-fg-secondary hover:bg-surface-elevated/50"}`,children:[t.jsx("span",{className:"mr-1",children:g.icon}),g.label]},g.key))})]}),t.jsxs("div",{className:"p-5",children:[c==="overview"&&t.jsx(CT,{agent:l,onUpdate:h,externalInfo:f}),c==="activity"&&t.jsx(LT,{agentId:e}),c==="files"&&t.jsx(ET,{agentId:e}),c==="tools"&&t.jsx(_T,{tools:l.tools??[]}),c==="skills"&&t.jsx(MT,{agent:l,onUpdate:h}),c==="memory"&&t.jsx(DT,{agentId:e}),c==="heartbeat"&&t.jsx(OT,{agentId:e,initialData:l.heartbeat})]})]})}function CT({agent:e,onUpdate:r,externalInfo:s}){const[l,o]=j.useState(!1),[c,u]=j.useState(e.name),[f,m]=j.useState(e.agentRole),[h,x]=j.useState(e.config?.llmConfig?.modelMode??"default"),[g,b]=j.useState(e.config?.llmConfig.primary??""),[p,w]=j.useState(e.config?.llmConfig.fallback??""),[S,T]=j.useState(!1),[E,C]=j.useState({}),[N,k]=j.useState(""),[H,M]=j.useState([]),[Y,$]=j.useState(null),[X,P]=j.useState(null),[U,V]=j.useState([]),[D,A]=j.useState(null),[I,_]=j.useState(null),[G,q]=j.useState("");j.useEffect(()=>{le.settings.getLlm().then(L=>{C(L.providers),k(L.defaultProvider)}).catch(()=>{}),le.tasks.list({assignedAgentId:e.id}).then(L=>M(L.tasks.slice(0,5))).catch(()=>{}),le.usage.agents().then(L=>{const F=L.agents.find(Q=>Q.agentId===e.id);F&&$(F)}).catch(()=>{}),le.agents.getRecentActivities(e.id).then(L=>V(L.activities)).catch(()=>{}),le.system.storage().then(L=>{q(L.dataDir+"/agents/"+e.id);const F=L.agents.find(Q=>Q.id===e.id);F&&_(F)}).catch(()=>{})},[e.id]);const K=Object.entries(E).filter(([,L])=>L.configured).map(([L])=>L),B=e.config?.llmConfig?.modelMode??"default",R=async()=>{T(!0);try{await le.agents.updateConfig(e.id,{name:c,agentRole:f,llmConfig:{modelMode:h,primary:h==="custom"?g:N,fallback:p||void 0}}),r(),o(!1)}catch{}T(!1)},W=()=>{e.state.status==="offline"?le.agents.start(e.id).then(r):le.agents.stop(e.id).then(r)},z={pending:"bg-gray-400",assigned:"bg-blue-400",in_progress:"bg-brand-400",completed:"bg-green-400",failed:"bg-red-400",cancelled:"bg-gray-600"};if(s){const L=[{method:"POST",path:"/api/gateway/sync",desc:"Exchange status, tasks, messages, team & project context"},{method:"GET",path:"/api/gateway/manual",desc:"Download integration handbook (dynamic, includes colleagues & projects)"},{method:"GET",path:"/api/gateway/team",desc:"Query team members, roles, and manager"},{method:"GET",path:"/api/gateway/projects",desc:"List projects with governance"},{method:"GET",path:"/api/gateway/requirements",desc:"Query requirements (filter by project/status)"}],F=[{field:"assignedTasks",desc:"Tasks with requirement & project traceability"},{field:"inboxMessages",desc:"Messages from teammates"},{field:"teamContext",desc:"Colleagues (id, name, role, status) + manager"},{field:"projectContext",desc:"Projects and active requirements"}];return t.jsxs("div",{className:"space-y-4",children:[t.jsx(fn,{title:"Identity",children:t.jsxs("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3",children:[t.jsx(_n,{label:"Name",children:e.name}),t.jsx(_n,{label:"Agent Role",children:t.jsx("span",{className:e.agentRole==="manager"?"text-amber-600":"text-blue-600",children:e.agentRole==="manager"?"★ Manager":"◆ Worker"})}),t.jsx(_n,{label:"Role Template",children:e.role}),t.jsx(_n,{label:"Markus Agent ID",mono:!0,children:e.id}),t.jsx(_n,{label:"Organization",children:e.config?.orgId??"default"}),t.jsx(_n,{label:"Created",children:e.config?.createdAt?new Date(e.config.createdAt).toLocaleDateString():"—"})]})}),t.jsx(fn,{title:"Connection Status",children:t.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[t.jsx(Vn,{label:"Connection",value:s.connected?"Online":"Offline",color:s.connected?"green":"gray"}),t.jsx(Vn,{label:"Platform",value:"OpenClaw"}),t.jsx(Vn,{label:"Active Tasks",value:String(e.state.activeTaskIds?.length??0)}),t.jsx(Vn,{label:"Last Sync",value:s.lastHeartbeat?new Date(s.lastHeartbeat).toLocaleTimeString():"Never"})]})}),t.jsx(fn,{title:"External Agent Details",children:t.jsxs("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3",children:[t.jsx(_n,{label:"External Agent ID",mono:!0,children:s.externalAgentId}),t.jsx(_n,{label:"Registered",children:new Date(s.registeredAt).toLocaleString()}),t.jsx(_n,{label:"Capabilities",children:s.capabilities.length>0?s.capabilities.join(", "):"none declared"}),t.jsx(_n,{label:"Last Heartbeat",children:s.lastHeartbeat?new Date(s.lastHeartbeat).toLocaleString():"Never"})]})}),t.jsx(fn,{title:"Sync Context (received every sync cycle)",children:t.jsx("div",{className:"space-y-1.5",children:F.map(Q=>t.jsxs("div",{className:"flex items-start gap-2.5 px-3 py-2 rounded-lg bg-surface-elevated/30 border border-border-default/30",children:[t.jsx("span",{className:"font-mono text-[10px] text-brand-500 shrink-0 pt-0.5",children:Q.field}),t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:Q.desc})]},Q.field))})}),t.jsx(fn,{title:"Gateway API Endpoints",children:t.jsx("div",{className:"space-y-1.5",children:L.map(Q=>t.jsxs("div",{className:"flex items-start gap-2.5 px-3 py-2 rounded-lg bg-surface-elevated/30 border border-border-default/30",children:[t.jsx("span",{className:`text-[10px] font-semibold shrink-0 pt-0.5 ${Q.method==="POST"?"text-amber-600":"text-green-600"}`,children:Q.method}),t.jsx("span",{className:"font-mono text-[10px] text-fg-secondary shrink-0 pt-0.5",children:Q.path}),t.jsx("span",{className:"text-[10px] text-fg-tertiary ml-auto",children:Q.desc})]},Q.path))})}),H.length>0&&t.jsx(fn,{title:"Recent Tasks",action:t.jsx("button",{onClick:()=>Ut.navigate("projects"),className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"View all →"}),children:t.jsx("div",{className:"divide-y divide-gray-800/50 -mx-5",children:H.map(Q=>t.jsxs("div",{className:"flex items-center gap-2.5 px-5 py-2.5",children:[t.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${z[Q.status]??"bg-gray-500"}`}),t.jsx("span",{className:"text-xs text-fg-secondary flex-1 truncate",children:Q.title}),t.jsx("span",{className:"text-[10px] text-fg-tertiary capitalize shrink-0",children:Q.status.replace(/_/g," ")})]},Q.id))})})]})}return t.jsxs("div",{className:"space-y-4",children:[t.jsx(fn,{title:"Identity",action:l?t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>o(!1),className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Cancel"}),t.jsx("button",{onClick:R,disabled:S,className:"text-xs text-brand-500 hover:text-brand-500",children:S?"Saving...":"Save"})]}):t.jsx("button",{onClick:()=>{o(!0),u(e.name),m(e.agentRole),x(e.config?.llmConfig?.modelMode??"default"),b(e.config?.llmConfig.primary??""),w(e.config?.llmConfig.fallback??"")},className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Edit"}),children:t.jsxs("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3",children:[t.jsx(_n,{label:"Name",children:l?t.jsx("input",{className:"input-sm",value:c,onChange:L=>u(L.target.value)}):e.name}),t.jsx(_n,{label:"Agent Role",children:l?t.jsx("div",{className:"flex gap-1.5",children:["worker","manager"].map(L=>t.jsx("button",{onClick:()=>m(L),className:`px-2 py-1 text-[10px] rounded border transition-colors capitalize ${f===L?L==="manager"?"bg-amber-500/15 text-amber-600 border-amber-500/30":"bg-blue-500/15 text-blue-600 border-blue-500/30":"bg-surface-elevated text-fg-tertiary border-border-default"}`,children:L},L))}):t.jsx("span",{className:e.agentRole==="manager"?"text-amber-600":"text-blue-600",children:e.agentRole==="manager"?"★ Manager":"◆ Worker"})}),t.jsx(_n,{label:"Role Template",children:e.role}),t.jsx(_n,{label:"Agent ID",mono:!0,children:e.id}),t.jsx(_n,{label:"Organization",children:e.config?.orgId??"default"}),t.jsx(_n,{label:"Created",children:e.config?.createdAt?new Date(e.config.createdAt).toLocaleDateString():"—"})]})}),t.jsxs(fn,{title:"Runtime Status",children:[t.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[t.jsx(Vn,{label:"Status",value:e.state.status,color:e.state.status==="idle"?"green":e.state.status==="working"?"indigo":e.state.status==="error"?"red":"gray"}),t.jsx(Vn,{label:"Tokens Today",value:String(e.state.tokensUsedToday)}),t.jsx(Vn,{label:"Active Tasks",value:String(e.state.activeTaskIds?.length??0)}),t.jsx(Vn,{label:"Last Heartbeat",value:e.state.lastHeartbeat?new Date(e.state.lastHeartbeat).toLocaleTimeString():"Never"})]}),e.state.status==="error"&&t.jsxs("div",{className:"mt-3 bg-red-500/10 border border-red-500/20 rounded-lg p-3",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[t.jsx("span",{className:"w-2 h-2 rounded-full bg-red-500 animate-pulse"}),t.jsx("span",{className:"text-xs font-medium text-red-500",children:"Error Details"}),e.state.lastErrorAt&&t.jsx("span",{className:"text-[10px] text-red-500/50 ml-auto",children:new Date(e.state.lastErrorAt).toLocaleString()})]}),t.jsx("pre",{className:"text-[11px] text-red-500/80 leading-relaxed whitespace-pre-wrap break-all font-mono bg-red-500/5 rounded p-2",children:e.state.lastError||"Agent encountered an error. Check logs for more details."})]}),e.state.status==="working"&&(e.state.activeTaskIds?.length??0)>0&&t.jsxs("div",{className:"mt-3 bg-brand-500/10 border border-brand-500/20 rounded-lg p-3",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1.5",children:[t.jsx("span",{className:"w-2 h-2 rounded-full bg-brand-400 animate-pulse"}),t.jsx("span",{className:"text-xs font-medium text-brand-500",children:"Currently Working"}),t.jsxs("span",{className:"text-[10px] text-brand-500/50 ml-auto",children:[e.state.activeTaskIds.length," active task",e.state.activeTaskIds.length>1?"s":""]})]}),t.jsx("div",{className:"space-y-1",children:H.filter(L=>e.state.activeTaskIds?.includes(L.id)).map(L=>t.jsxs("div",{className:"flex items-center gap-2 text-[11px]",children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-brand-400 animate-pulse shrink-0"}),t.jsx("span",{className:"text-fg-secondary truncate flex-1",children:L.title}),t.jsx("span",{className:"text-fg-tertiary capitalize shrink-0",children:L.status.replace(/_/g," ")})]},L.id))})]}),t.jsx("div",{className:"flex gap-2 mt-4 pt-3 border-t border-border-default/50",children:t.jsx("button",{onClick:W,className:"px-3 py-1.5 text-xs border border-border-default rounded-lg hover:border-brand-500 transition-colors",children:e.state.status==="offline"?"▶ Start":"⏹ Stop"})})]}),Y&&t.jsx(fn,{title:"Usage",children:t.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[t.jsx(Vn,{label:"Total Tokens",value:uu(Y.totalTokens)}),t.jsx(Vn,{label:"Requests",value:String(Y.requestCount)}),t.jsx(Vn,{label:"Tool Calls",value:String(Y.toolCalls)}),t.jsx(Vn,{label:"Prompt Tokens",value:uu(Y.promptTokens)}),t.jsx(Vn,{label:"Completion Tokens",value:uu(Y.completionTokens)}),t.jsx(Vn,{label:"Est. Cost",value:`$${Y.estimatedCost<.01?Y.estimatedCost.toFixed(4):Y.estimatedCost.toFixed(2)}`})]})}),I&&t.jsxs(fn,{title:"Storage",action:t.jsx("button",{onClick:()=>{le.system.openPath(G)},className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Open folder →"}),children:[t.jsxs("div",{className:"flex items-baseline gap-2 mb-3",children:[t.jsx("span",{className:"text-lg font-bold text-fg-primary",children:oy(I.size)}),t.jsx("span",{className:"text-xs text-fg-tertiary font-mono truncate",children:G})]}),t.jsx("div",{className:"grid grid-cols-3 gap-3",children:I.subItems.filter(L=>L.size>0).map(L=>t.jsx(Vn,{label:L.name,value:oy(L.size)},L.name))})]}),t.jsx(fn,{title:"LLM Configuration",children:t.jsxs("div",{className:"grid grid-cols-2 gap-x-6 gap-y-3",children:[t.jsx(_n,{label:"Model Mode",children:l?t.jsx("div",{className:"flex gap-1.5",children:["default","custom"].map(L=>t.jsx("button",{onClick:()=>x(L),className:`px-2.5 py-1 text-[10px] rounded border transition-colors capitalize ${h===L?L==="default"?"bg-brand-500/15 text-brand-500 border-brand-500/30":"bg-amber-500/15 text-amber-600 border-amber-500/30":"bg-surface-elevated text-fg-tertiary border-border-default"}`,children:L==="default"?"System Default":"Custom"},L))}):t.jsx("span",{className:`text-xs ${B==="custom"?"text-amber-600":"text-brand-500"}`,children:B==="custom"?"⚙ Custom":"◎ System Default"})}),t.jsx(_n,{label:"Primary Model",children:l?h==="custom"?t.jsxs("select",{className:"input-sm",value:g,onChange:L=>b(L.target.value),children:[K.map(L=>t.jsxs("option",{value:L,children:[L," (",E[L]?.model,")"]},L)),!K.includes(g)&&g&&t.jsx("option",{value:g,children:g})]}):t.jsxs("span",{className:"text-xs text-fg-secondary italic",children:["follows system default (",N||"...",")"]}):t.jsx("span",{className:"font-mono text-xs",children:B==="custom"?e.config?.llmConfig.primary??"—":t.jsxs("span",{className:"text-fg-secondary",children:[N||e.config?.llmConfig.primary||"—"," ",t.jsx("span",{className:"text-fg-tertiary",children:"(system default)"})]})})}),t.jsx(_n,{label:"Fallback",children:l?t.jsxs("select",{className:"input-sm",value:p,onChange:L=>w(L.target.value),children:[t.jsx("option",{value:"",children:"none"}),K.map(L=>t.jsx("option",{value:L,children:L},L))]}):t.jsx("span",{className:"font-mono text-xs",children:e.config?.llmConfig.fallback??"none"})}),t.jsx(_n,{label:"Max Tokens/Request",children:e.config?.llmConfig.maxTokensPerRequest??"default"}),t.jsx(_n,{label:"Max Tokens/Day",children:e.config?.llmConfig.maxTokensPerDay??"unlimited"})]})}),H.length>0&&t.jsx(fn,{title:"Recent Tasks",action:t.jsx("button",{onClick:()=>Ut.navigate("projects"),className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"View all →"}),children:t.jsx("div",{className:"divide-y divide-gray-800/50 -mx-5",children:H.map(L=>{const F=X===L.id,Q=["in_progress","failed","completed","review"].includes(L.status);return t.jsxs("div",{children:[t.jsxs("button",{onClick:()=>Q?P(F?null:L.id):void 0,className:`w-full flex items-center gap-2.5 px-5 py-2.5 text-left transition-colors ${Q?"hover:bg-surface-elevated/40 cursor-pointer":"cursor-default"}`,children:[t.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${z[L.status]??"bg-gray-500"}`}),t.jsx("span",{className:"text-xs text-fg-secondary flex-1 truncate",children:L.title}),t.jsx("span",{className:"text-[10px] text-fg-tertiary capitalize shrink-0",children:L.status.replace(/_/g," ")}),Q&&t.jsx("span",{className:"text-fg-tertiary text-[10px]",children:F?"▲":"▼"})]}),F&&t.jsx("div",{className:"border-t border-border-default/60 bg-surface-primary/40",children:t.jsx(aj,{taskId:L.id,isLive:L.status==="in_progress"})})]},L.id)})})}),U.filter(L=>L.type==="heartbeat").length>0&&t.jsx(fn,{title:"Recent Heartbeats",action:t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[U.filter(L=>L.type==="heartbeat").length," runs"]}),children:t.jsx("div",{className:"divide-y divide-gray-800/50 -mx-5",children:U.filter(L=>L.type==="heartbeat").map(L=>{const F=D===L.id;return t.jsxs("div",{children:[t.jsxs("button",{onClick:()=>A(F?null:L.id),className:"w-full flex items-center gap-2.5 px-5 py-2.5 text-left transition-colors hover:bg-surface-elevated/40 cursor-pointer",children:[t.jsx("span",{className:"w-2 h-2 rounded-full shrink-0 bg-green-400"}),t.jsx("span",{className:"text-xs text-fg-secondary flex-1 truncate",children:L.label}),t.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:new Date(L.startedAt).toLocaleString()}),t.jsx("span",{className:"text-fg-tertiary text-[10px]",children:F?"▲":"▼"})]}),F&&t.jsx("div",{className:"border-t border-border-default/60 bg-surface-primary/40",children:t.jsx(Nu,{agentId:e.id,activityId:L.id})})]},L.id)})})}),U.filter(L=>L.type==="chat").length>0&&t.jsx(fn,{title:"Recent A2A Communications",action:t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[U.filter(L=>L.type==="chat").length," conversations"]}),children:t.jsx("div",{className:"divide-y divide-gray-800/50 -mx-5",children:U.filter(L=>L.type==="chat").map(L=>{const F=D===L.id;return t.jsxs("div",{children:[t.jsxs("button",{onClick:()=>A(F?null:L.id),className:"w-full flex items-center gap-2.5 px-5 py-2.5 text-left transition-colors hover:bg-surface-elevated/40 cursor-pointer",children:[t.jsx("span",{className:"w-2 h-2 rounded-full shrink-0 bg-blue-400"}),t.jsx("span",{className:"text-xs text-fg-secondary flex-1 truncate",children:L.label}),t.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:new Date(L.startedAt).toLocaleString()}),t.jsx("span",{className:"text-fg-tertiary text-[10px]",children:F?"▲":"▼"})]}),F&&t.jsx("div",{className:"border-t border-border-default/60 bg-surface-primary/40",children:t.jsx(Nu,{agentId:e.id,activityId:L.id})})]},L.id)})})})]})}function ET({agentId:e}){const[r,s]=j.useState([]),[l,o]=j.useState(!0),[c,u]=j.useState(null),[f,m]=j.useState(""),[h,x]=j.useState(!1),[g,b]=j.useState(!1),[p,w]=j.useState(null),[S,T]=j.useState(!1),[E,C]=j.useState(null),N=j.useCallback(()=>{o(!0),Promise.all([le.agents.getFiles(e),le.agents.roleStatus(e).catch(()=>null)]).then(([V,D])=>{s(V.files),w(D),V.files.length>0&&!c&&(u(V.files[0].name),m(V.files[0].content))}).catch(()=>{}).finally(()=>o(!1))},[e]);j.useEffect(()=>{N()},[N]);const k=V=>{const D=r.find(A=>A.name===V);D&&(u(V),m(D.content),b(!1),C(null))},H=async()=>{if(c){x(!0);try{await le.agents.updateFile(e,c,f),s(V=>V.map(D=>D.name===c?{...D,content:f}:D)),b(!1),c==="ROLE.md"&&await le.agents.updateSystemPrompt(e,f)}catch{}x(!1)}},M=async V=>{T(!0);try{await le.agents.roleSync(e,V?[V]:void 0),C(null),b(!1),N()}catch{}T(!1)},Y=async V=>{if(E?.file===V){C(null);return}try{const D=await le.agents.roleDiff(e,V);D.agentContent!=null&&D.templateContent!=null&&C({file:V,agent:D.agentContent,template:D.templateContent})}catch{}};if(l)return t.jsx("div",{className:"text-xs text-fg-tertiary py-8 text-center",children:"Loading files..."});const $={"ROLE.md":"System Prompt / Role Definition","HEARTBEAT.md":"Heartbeat Tasks","POLICIES.md":"Policies & Guardrails","CONTEXT.md":"Context & Instructions"},X=p?.files.filter(V=>V.status==="modified"||V.status==="added_in_template")??[],P=p?.hasTemplate&&!p.isUpToDate,U=c?X.some(V=>V.file===c):!1;return t.jsxs("div",{className:"space-y-4",children:[P&&t.jsxs("div",{className:"bg-amber-500/8 border border-amber-500/25 rounded-xl p-4 flex items-start gap-3",children:[t.jsx("span",{className:"text-amber-600 text-sm mt-0.5",children:"↻"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-xs text-amber-600 font-medium",children:"Template Update Available"}),t.jsxs("div",{className:"text-[11px] text-amber-600/70 mt-0.5",children:[X.length," file",X.length>1?"s":""," differ from the ",t.jsx("code",{className:"px-1 py-0.5 bg-amber-500/10 rounded text-amber-600",children:p.templateId})," template:"," ",X.map(V=>V.file).join(", ")]})]}),t.jsx("button",{onClick:()=>M(),disabled:S,className:"px-3 py-1.5 text-xs bg-amber-600 hover:bg-amber-500 text-white rounded-lg transition-colors shrink-0 disabled:opacity-50",children:S?"Syncing...":"Sync All"})]}),t.jsxs(fn,{title:"Agent Configuration Files",action:p?.hasTemplate?t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:`inline-block w-1.5 h-1.5 rounded-full ${p.isUpToDate?"bg-green-400":"bg-amber-400"}`}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["Template: ",t.jsx("span",{className:"text-fg-secondary",children:p.templateId}),p.isUpToDate?" (up to date)":" (updates available)"]})]}):t.jsx("div",{className:"text-[10px] text-fg-tertiary",children:"Custom agent — no linked template"}),children:[t.jsx("div",{className:"flex gap-2 mb-4 flex-wrap",children:r.map(V=>{const D=X.some(A=>A.file===V.name);return t.jsxs("button",{onClick:()=>k(V.name),className:`px-3 py-1.5 text-xs rounded-lg border transition-colors relative ${c===V.name?"bg-brand-600/15 border-brand-500/40 text-brand-500":"border-border-default text-fg-tertiary hover:text-fg-secondary"}`,children:[V.name,D&&t.jsx("span",{className:"absolute -top-1 -right-1 w-2 h-2 bg-amber-400 rounded-full"})]},V.name)})}),c&&t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsx("div",{className:"text-xs text-fg-secondary",children:$[c]??c}),t.jsxs("div",{className:"flex gap-2 items-center",children:[U&&t.jsxs(t.Fragment,{children:[t.jsx("button",{onClick:()=>Y(c),className:"px-2.5 py-1 text-[11px] text-amber-600 hover:text-amber-600 border border-amber-500/30 hover:border-amber-500/50 rounded-lg transition-colors",children:E?.file===c?"Hide Diff":"View Diff"}),t.jsx("button",{onClick:()=>M(c),disabled:S,className:"px-2.5 py-1 text-[11px] bg-amber-600 hover:bg-amber-500 text-white rounded-lg transition-colors disabled:opacity-50",children:S?"Syncing...":"Sync This File"})]}),g&&t.jsx("span",{className:"text-[10px] text-amber-600",children:"unsaved"}),t.jsx("button",{onClick:H,disabled:h||!g,className:`px-3 py-1 text-xs rounded-lg transition-colors ${g?"bg-brand-600 hover:bg-brand-500 text-white":"bg-surface-elevated text-fg-tertiary cursor-default"}`,children:h?"Saving...":"Save"})]})]}),E?.file===c&&t.jsxs("div",{className:"mb-3 border border-border-default rounded-lg overflow-hidden",children:[t.jsxs("div",{className:"grid grid-cols-2 text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider bg-surface-elevated/80",children:[t.jsx("div",{className:"px-3 py-2 border-r border-border-default",children:"Current (Agent)"}),t.jsxs("div",{className:"px-3 py-2",children:["Template (",p?.templateId,")"]})]}),t.jsxs("div",{className:"grid grid-cols-2 max-h-60 overflow-y-auto",children:[t.jsx("pre",{className:"px-3 py-2 text-[11px] font-mono text-red-500/70 bg-red-500/5 border-r border-border-default whitespace-pre-wrap break-words overflow-x-hidden",children:E.agent}),t.jsx("pre",{className:"px-3 py-2 text-[11px] font-mono text-green-600/70 bg-green-500/5 whitespace-pre-wrap break-words overflow-x-hidden",children:E.template})]})]}),t.jsx("textarea",{value:f,onChange:V=>{m(V.target.value),b(!0)},className:"w-full h-80 bg-surface-elevated/60 border border-border-default rounded-lg p-4 text-xs font-mono text-fg-secondary leading-relaxed resize-y focus:border-brand-500 outline-none",spellCheck:!1}),c==="ROLE.md"&&t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-2",children:"Changes to ROLE.md will update the agent's runtime system prompt immediately."})]}),r.length===0&&t.jsx(Il,{text:"No configuration files found for this role"})]})]})}const TT={Files:["file_read","file_write","file_edit","apply_patch"],Search:["grep_search","glob_find","list_directory"],Runtime:["shell_execute","background_exec","process"],Web:["web_search","web_fetch","web_extract"],Tasks:["task_create","task_list","task_update","task_get","task_assign","task_note","task_submit_review","subtask_create","subtask_complete","subtask_list"],Requirements:["requirement_propose","requirement_list","requirement_update_status"],Projects:["list_projects","get_project","project_info"],Deliverables:["deliverable_create","deliverable_search","deliverable_list","deliverable_update"],Communication:["agent_send_message","agent_list_colleagues","agent_send_group_message","agent_create_group_chat","agent_list_group_chats","agent_broadcast_status","agent_delegate_task"],Memory:["memory_save","memory_search","memory_list","memory_update_longterm"],Planning:["todo_write","todo_read"],"Team (Manager)":["team_list","team_status","delegate_message","create_task","task_check_duplicates","task_cleanup_duplicates","task_board_health"]};function AT(e){const r=new Map,s=new Set;for(const[c,u]of Object.entries(TT)){const f=e.filter(m=>u.some(h=>m.name.startsWith(h)));f.length>0&&(r.set(c,f),f.forEach(m=>s.add(m.name)))}const l=e.filter(c=>!s.has(c.name));for(const c of l){const u=c.name.indexOf("__");if(u>0){const m=`MCP: ${c.name.slice(0,u)}`;r.has(m)||r.set(m,[]),r.get(m).push(c),s.add(c.name)}}const o=e.filter(c=>!s.has(c.name));return o.length>0&&r.set("Other",o),[...r.entries()].map(([c,u])=>({category:c,tools:u}))}function _T({tools:e}){const r=AT(e);return t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"text-xs text-fg-tertiary",children:[e.length," tools registered"]}),r.map(s=>t.jsx(fn,{title:s.category,children:t.jsx("div",{className:"grid grid-cols-2 gap-2",children:s.tools.map(l=>t.jsxs("div",{className:"flex items-center gap-3 px-3 py-2 rounded-lg bg-surface-elevated/30 border border-border-default/30",children:[t.jsx("div",{className:"w-2 h-2 rounded-full bg-green-400 shrink-0"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-xs font-medium font-mono",children:l.name}),t.jsx("div",{className:"text-[10px] text-fg-tertiary truncate",children:l.description})]})]},l.name))})},s.category)),e.length===0&&t.jsx("div",{className:"text-center py-12 text-fg-tertiary text-sm",children:"No tools registered"})]})}function MT({agent:e,onUpdate:r}){const s=e.proficiency??{},[l,o]=j.useState(null),[c,u]=j.useState(null),[f,m]=j.useState(!1),[h,x]=j.useState(null),g=new Set(e.skills),b=e.availableSkills??[],p=b.filter(k=>g.has(k.name)),w=b.filter(k=>!g.has(k.name)),S=async k=>{if(l===k){o(null),u(null);return}o(k),m(!0);try{const H=await fetch(`/api/skills/${encodeURIComponent(k)}`);if(H.ok){const M=await H.json();u(M.skill)}else u(null)}catch{u(null)}m(!1)},T=async k=>{x(k);try{await fetch(`/api/agents/${e.id}/skills`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({skill:k})}),r()}catch{}x(null)},E=async k=>{x(k);try{await fetch(`/api/agents/${e.id}/skills/${encodeURIComponent(k)}`,{method:"DELETE"}),r()}catch{}x(null)},C={development:"bg-blue-500/15 text-blue-600",devops:"bg-amber-500/15 text-amber-600",communication:"bg-green-500/15 text-green-600",data:"bg-brand-500/15 text-brand-500",productivity:"bg-amber-500/15 text-amber-600",browser:"bg-blue-500/15 text-blue-600",custom:"bg-gray-500/15 text-fg-secondary"},N=(k,H)=>{const M=s[k.name],Y=M&&M.uses>0?Math.round(M.successes/M.uses*100):null,$=l===k.name,X=h===k.name;return t.jsxs("div",{children:[t.jsxs("div",{className:`flex items-center gap-3 px-4 py-2.5 rounded-lg border cursor-pointer transition-all ${$?"bg-brand-500/10 border-brand-500/40":"bg-surface-elevated/30 border-border-default/30 hover:border-gray-600/50"}`,onClick:()=>S(k.name),children:[t.jsx("span",{className:`text-sm transition-transform ${$?"rotate-90":""}`,children:"▶"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-sm font-medium",children:k.name}),t.jsx("span",{className:`px-1.5 py-0.5 rounded text-[9px] font-medium ${C[k.category]??C.custom}`,children:k.category}),k.alwaysOn&&t.jsx("span",{className:"px-1.5 py-0.5 rounded text-[9px] font-medium bg-green-500/15 text-green-500",children:"always-on"}),k.builtIn&&!k.alwaysOn&&t.jsx("span",{className:"px-1.5 py-0.5 rounded text-[9px] font-medium bg-surface-overlay/40 text-fg-tertiary",children:"built-in"})]}),t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5 truncate",children:k.description}),M&&t.jsxs("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:[M.uses," uses · ",M.successes," successes",M.lastUsed&&` · last ${new Date(M.lastUsed).toLocaleDateString()}`]})]}),Y!==null&&t.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[t.jsx("div",{className:"w-16 h-1.5 bg-surface-overlay rounded-full overflow-hidden",children:t.jsx("div",{className:`h-full rounded-full ${Y>=80?"bg-green-400":Y>=50?"bg-amber-400":"bg-red-400"}`,style:{width:`${Y}%`}})}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary w-8 text-right",children:[Y,"%"]})]}),!k.alwaysOn&&t.jsx("button",{className:`px-2.5 py-1 rounded text-[10px] font-medium transition-all shrink-0 ${H?"bg-red-500/10 text-red-400 hover:bg-red-500/20":"bg-brand-500/10 text-brand-400 hover:bg-brand-500/20"} ${X?"opacity-50 pointer-events-none":""}`,onClick:P=>{P.stopPropagation(),H?E(k.name):T(k.name)},children:X?"...":H?"Deactivate":"Activate"})]}),$&&t.jsx("div",{className:"ml-6 mt-1 mb-2 p-4 bg-surface-elevated/30 rounded-lg border border-border-default/20 space-y-3",children:f?t.jsx("div",{className:"text-[10px] text-fg-tertiary py-3 text-center",children:"Loading skill details…"}):c?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[t.jsx("span",{className:`px-2 py-0.5 rounded text-[10px] font-medium ${C[c.category]??C.custom}`,children:c.category}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["v",c.version]}),c.author&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["by ",c.author]}),c.requiredPermissions?.map(P=>t.jsx("span",{className:"px-1.5 py-0.5 bg-amber-500/10 text-amber-600 text-[10px] rounded",children:P},P))]}),c.description&&t.jsx("p",{className:"text-xs text-fg-secondary leading-relaxed",children:c.description}),c.tags&&c.tags.length>0&&t.jsx("div",{className:"flex gap-1 flex-wrap",children:c.tags.map(P=>t.jsxs("span",{className:"px-1.5 py-0.5 bg-surface-overlay/40 text-fg-tertiary text-[10px] rounded",children:["#",P]},P))}),(c.toolDetails??c.tools??[]).length>0&&t.jsxs("div",{children:[t.jsxs("div",{className:"text-[10px] text-fg-tertiary font-semibold uppercase tracking-wider mb-2",children:["Tools (",(c.toolDetails??c.tools??[]).length,")"]}),t.jsx("div",{className:"space-y-1.5",children:(c.toolDetails??c.tools??[]).map(P=>t.jsxs("div",{className:"px-3 py-2 bg-surface-secondary/50 rounded border border-border-default/20",children:[t.jsx("div",{className:"text-xs font-medium text-brand-500",children:P.name}),P.description&&t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:P.description})]},P.name))})]})]}):t.jsx("div",{className:"text-[10px] text-fg-tertiary py-3 text-center",children:"Skill details not available (skill may not be registered in the store)"})})]},k.name)};return t.jsxs("div",{className:"space-y-4",children:[t.jsx(fn,{title:`Active Skills (${p.length})`,action:t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:"Instructions injected into agent context"}),children:p.length===0?t.jsx(Il,{text:"No active skills"}):t.jsx("div",{className:"space-y-2",children:p.map(k=>N(k,!0))})}),w.length>0&&t.jsx(fn,{title:`Available Skills (${w.length})`,action:t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:"Discoverable via discover_tools"}),children:t.jsx("div",{className:"space-y-2",children:w.map(k=>N(k,!1))})})]})}function DT({agentId:e}){const[r,s]=j.useState(null),[l,o]=j.useState(!0),[c,u]=j.useState("entries"),[f,m]=j.useState(!1),[h,x]=j.useState(""),[g,b]=j.useState(!1),[p,w]=j.useState(""),[S,T]=j.useState(!1),[E,C]=j.useState(null),[N,k]=j.useState(null),[H,M]=j.useState([]),[Y,$]=j.useState(!1),X=j.useCallback(()=>{o(!0),le.agents.getMemory(e).then(D=>{s(D),x(D.recentDailyLogs??""),w(D.longTermMemory??"")}).catch(()=>{}).finally(()=>o(!1))},[e]);j.useEffect(()=>{X()},[X]);const P=async()=>{T(!0),await le.agents.updateDailyMemory(e,h).catch(()=>{}),T(!1),m(!1),X()},U=async()=>{T(!0),await le.agents.updateLongTermMemory(e,"User-edited",p).catch(()=>{}),T(!1),b(!1),X()};if(l)return t.jsx("div",{className:"text-xs text-fg-tertiary py-8 text-center",children:"Loading memory..."});if(!r)return t.jsx("div",{className:"text-xs text-fg-tertiary py-8 text-center",children:"Failed to load memory data"});const V=[{key:"entries",label:`Recent (${r.entries.length})`},{key:"sessions",label:`Sessions (${r.sessions.length})`},{key:"daily",label:"Daily Logs"},{key:"longterm",label:"Long-term"}];return t.jsxs("div",{className:"space-y-4",children:[t.jsx("div",{className:"flex gap-2",children:V.map(D=>t.jsx("button",{onClick:()=>u(D.key),className:`px-3 py-1.5 text-xs rounded-lg border transition-colors ${c===D.key?"bg-brand-600/15 border-brand-500/40 text-brand-500":"border-border-default text-fg-tertiary hover:text-fg-secondary"}`,children:D.label},D.key))}),c==="entries"&&t.jsx(fn,{title:"Recent Memory Entries",children:r.entries.length===0?t.jsx(Il,{text:"No memory entries"}):t.jsx("div",{className:"space-y-1.5 max-h-[600px] overflow-y-auto",children:r.entries.map((D,A)=>{const I=E===A;return t.jsxs("div",{children:[t.jsxs("button",{onClick:()=>C(I?null:A),className:"w-full flex gap-2 px-3 py-2 rounded-lg bg-surface-elevated/20 text-xs text-left hover:bg-surface-elevated/40 transition-colors cursor-pointer",children:[t.jsx("span",{className:`px-1.5 py-0.5 rounded text-[10px] font-medium shrink-0 ${D.type==="fact"?"bg-blue-500/15 text-blue-600":D.type==="task"?"bg-green-500/15 text-green-600":D.type==="note"?"bg-brand-500/15 text-brand-500":"bg-surface-overlay text-fg-secondary"}`,children:D.type}),t.jsx("span",{className:`text-fg-secondary flex-1 min-w-0 ${I?"":"line-clamp-2"}`,children:D.content}),t.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[D.importance!=null&&t.jsxs("span",{className:`px-1 py-0.5 rounded text-[9px] font-medium ${D.importance>=7?"bg-red-500/15 text-red-500":D.importance>=4?"bg-amber-500/15 text-amber-600":"bg-surface-overlay text-fg-tertiary"}`,children:["P",D.importance]}),t.jsx("span",{className:"text-fg-tertiary text-[10px]",children:new Date(D.timestamp).toLocaleTimeString()}),t.jsx("span",{className:"text-fg-tertiary text-[10px]",children:I?"▲":"▼"})]})]}),I&&t.jsxs("div",{className:"mx-3 mt-1 mb-2 p-3 bg-surface-elevated/30 rounded-lg border border-border-default/20",children:[t.jsx("pre",{className:"text-xs text-fg-secondary whitespace-pre-wrap font-mono leading-relaxed break-words",children:D.content}),t.jsxs("div",{className:"flex gap-3 mt-2 pt-2 border-t border-border-default/30 text-[10px] text-fg-tertiary",children:[t.jsxs("span",{children:["Type: ",D.type]}),D.importance!=null&&t.jsxs("span",{children:["Importance: ",D.importance]}),t.jsx("span",{children:new Date(D.timestamp).toLocaleString()})]})]})]},A)})})}),c==="sessions"&&t.jsx(fn,{title:"Chat Sessions",children:r.sessions.length===0?t.jsx(Il,{text:"No sessions"}):t.jsx("div",{className:"space-y-1.5 max-h-[600px] overflow-y-auto",children:r.sessions.map(D=>{const A=N===D.id,I=async()=>{if(A){k(null),M([]);return}k(D.id),$(!0);try{const _=await le.agents.getMemorySession(e,D.id);M(_.messages)}catch{M([])}$(!1)};return t.jsxs("div",{children:[t.jsxs("button",{onClick:I,className:"w-full flex items-center gap-3 px-3 py-2.5 rounded-lg bg-surface-elevated/20 hover:bg-surface-elevated/40 transition-colors cursor-pointer text-left",children:[t.jsx("div",{className:"text-xs text-fg-secondary font-mono flex-1 truncate",children:D.id}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[D.messageCount," msgs"]}),t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:new Date(D.updatedAt).toLocaleDateString()}),t.jsx("span",{className:"text-fg-tertiary text-[10px]",children:A?"▲":"▼"})]}),A&&t.jsx("div",{className:"mx-3 mt-1 mb-2 bg-surface-elevated/30 rounded-lg border border-border-default/20 max-h-96 overflow-y-auto",children:Y?t.jsx("div",{className:"text-[10px] text-fg-tertiary py-3 text-center",children:"Loading messages..."}):H.length===0?t.jsx("div",{className:"text-[10px] text-fg-tertiary py-3 text-center",children:"No messages in this session"}):(()=>{const _=new Map;for(const G of H)G.role==="tool"&&G.toolCallId&&_.set(G.toolCallId,G.content);return t.jsx("div",{className:"divide-y divide-gray-700/30",children:H.filter(G=>G.role!=="tool").map((G,q)=>t.jsxs("div",{className:"px-3 py-2",children:[(G.role==="user"||G.role==="system")&&t.jsxs("div",{children:[t.jsx("span",{className:`inline-block px-1.5 py-0.5 rounded text-[10px] font-medium mb-1 ${G.role==="user"?"bg-blue-500/15 text-blue-600":"bg-surface-overlay text-fg-secondary"}`,children:G.role}),t.jsx("div",{className:"text-xs text-fg-secondary",children:t.jsx(er,{content:G.content,className:"text-xs text-fg-secondary"})})]}),G.role==="assistant"&&t.jsxs("div",{className:"space-y-1",children:[G.content&&t.jsxs("div",{children:[t.jsx("span",{className:"inline-block px-1.5 py-0.5 rounded text-[10px] font-medium mb-1 bg-green-500/15 text-green-600",children:"assistant"}),t.jsx("div",{className:"text-xs text-fg-secondary",children:t.jsx(er,{content:G.content,className:"text-xs text-fg-secondary"})})]}),G.toolCalls&&G.toolCalls.length>0&&t.jsx("div",{className:"space-y-0.5",children:G.toolCalls.map(K=>{let B;try{B=JSON.parse(K.arguments)}catch{}const R={tool:K.name,status:"done",args:B,result:_.get(K.id)};return t.jsx(Vl,{entry:{type:"tool",info:R}},K.id)})})]})]},q))})})()})]},D.id)})})}),c==="daily"&&t.jsx(fn,{title:"Daily Logs",action:f?t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>m(!1),className:"text-xs text-fg-tertiary",children:"Cancel"}),t.jsx("button",{onClick:P,disabled:S,className:"text-xs text-brand-500",children:S?"Saving...":"Save"})]}):t.jsx("button",{onClick:()=>m(!0),className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Edit"}),children:f?t.jsx("textarea",{value:h,onChange:D=>x(D.target.value),className:"w-full h-64 bg-surface-elevated/60 border border-border-default rounded-lg p-4 text-xs font-mono text-fg-secondary leading-relaxed resize-y focus:border-brand-500 outline-none"}):r.recentDailyLogs?t.jsx("pre",{className:"text-xs text-fg-secondary whitespace-pre-wrap font-mono leading-relaxed bg-surface-elevated/30 rounded-lg p-4 max-h-96 overflow-y-auto",children:r.recentDailyLogs}):t.jsx(Il,{text:"No daily logs"})}),c==="longterm"&&t.jsx(fn,{title:"Long-term Memory",action:g?t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>b(!1),className:"text-xs text-fg-tertiary",children:"Cancel"}),t.jsx("button",{onClick:U,disabled:S,className:"text-xs text-brand-500",children:S?"Saving...":"Save"})]}):t.jsx("button",{onClick:()=>b(!0),className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Edit"}),children:g?t.jsx("textarea",{value:p,onChange:D=>w(D.target.value),className:"w-full h-64 bg-surface-elevated/60 border border-border-default rounded-lg p-4 text-xs font-mono text-fg-secondary leading-relaxed resize-y focus:border-brand-500 outline-none"}):r.longTermMemory?t.jsx("pre",{className:"text-xs text-fg-secondary whitespace-pre-wrap font-mono leading-relaxed bg-surface-elevated/30 rounded-lg p-4 max-h-96 overflow-y-auto",children:r.longTermMemory}):t.jsx(Il,{text:"No long-term memory stored"})})]})}function OT({agentId:e,initialData:r}){const[s,l]=j.useState(r??null),[o,c]=j.useState(!r),[u,f]=j.useState([]),[m,h]=j.useState(null),[x,g]=j.useState(!1),[b,p]=j.useState(null),w=j.useCallback(()=>{le.agents.getHeartbeat(e).then(l).catch(()=>{}),le.agents.getRecentActivities(e).then(C=>{f(C.activities.filter(N=>N.type==="heartbeat"))}).catch(()=>{})},[e]);j.useEffect(()=>{c(!0),w(),c(!1)},[w]),j.useEffect(()=>Cn.on("agent:update",N=>{N.payload?.agentId===e&&w()}),[e,w]);const S=async()=>{g(!0),p(null);try{const C=await le.agents.triggerHeartbeat(e);p(C.message),setTimeout(()=>p(null),4e3),setTimeout(w,2e3)}catch(C){p(String(C).replace("Error: ",""))}g(!1)};if(o)return t.jsx("div",{className:"text-xs text-fg-tertiary py-8 text-center",children:"Loading heartbeat data..."});if(!s)return t.jsx("div",{className:"text-xs text-fg-tertiary py-8 text-center",children:"No heartbeat data available"});const T=C=>C?C<1e3?`${C}ms`:C<6e4?`${(C/1e3).toFixed(1)}s`:`${(C/6e4).toFixed(1)}m`:null,E=C=>{if(!C)return null;const N=Date.now()-new Date(C).getTime();if(N<0){const k=Math.abs(N);return k<6e4?`in ${Math.ceil(k/1e3)}s`:k<36e5?`in ${Math.ceil(k/6e4)}m`:`in ${(k/36e5).toFixed(1)}h`}return N<6e4?`${Math.floor(N/1e3)}s ago`:N<36e5?`${Math.floor(N/6e4)}m ago`:`${(N/36e5).toFixed(1)}h ago`};return t.jsxs("div",{className:"space-y-4",children:[t.jsxs(fn,{title:"Heartbeat Scheduler",action:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{onClick:w,className:"text-[10px] text-fg-tertiary hover:text-fg-secondary transition-colors",children:"Refresh"}),t.jsx("button",{onClick:S,disabled:x||!s.running,className:"text-[10px] px-2.5 py-1 rounded-md bg-blue-600/20 text-blue-600 hover:bg-blue-600/30 border border-blue-500/30 transition-colors disabled:opacity-40",children:x?"Triggering...":"Trigger Now"})]}),children:[t.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[t.jsx(Vn,{label:"Status",value:s.running?"Running":"Stopped",color:s.running?"green":"gray"}),t.jsx(Vn,{label:"Interval",value:T(s.intervalMs)??"—"}),t.jsx(Vn,{label:"Last Run",value:s.lastHeartbeat?E(s.lastHeartbeat)??"—":"Never"}),t.jsx(Vn,{label:"Next Run",value:s.nextRunAt?E(s.nextRunAt)??"—":s.running?"Pending":"—"})]}),b&&t.jsx("div",{className:"mt-3 text-[11px] text-blue-600 bg-blue-500/10 border border-blue-500/20 rounded-lg px-3 py-2",children:b})]}),s.lastSummary&&t.jsx(fn,{title:"Last Heartbeat Summary",action:s.lastSummaryAt?t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:new Date(s.lastSummaryAt).toLocaleString()}):void 0,children:t.jsx("div",{className:"bg-surface-primary/50 rounded-lg px-4 py-3",children:t.jsx(er,{content:s.lastSummary,className:"text-xs text-fg-secondary leading-relaxed"})})}),u.length>0?t.jsx(fn,{title:"Recent Runs",action:t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[u.length," runs this session"]}),children:t.jsx("div",{className:"divide-y divide-gray-800/50 -mx-5",children:[...u].reverse().map(C=>{const N=m===C.id;return t.jsxs("div",{children:[t.jsxs("button",{onClick:()=>h(N?null:C.id),className:"w-full flex items-center gap-2.5 px-5 py-2.5 text-left transition-colors hover:bg-surface-elevated/40 cursor-pointer",children:[t.jsx("span",{className:"w-2 h-2 rounded-full shrink-0 bg-blue-400"}),t.jsx("span",{className:"text-xs text-fg-secondary flex-1 truncate",children:C.label}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:[C.logCount," actions"]}),t.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:new Date(C.startedAt).toLocaleString()}),t.jsx("svg",{className:`w-3 h-3 text-fg-tertiary shrink-0 transition-transform ${N?"rotate-180":""}`,viewBox:"0 0 12 12",fill:"currentColor",children:t.jsx("path",{d:"M3 4.5l3 3 3-3",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})]}),N&&t.jsx("div",{className:"border-t border-border-default/60 bg-surface-primary/40",children:t.jsx(Nu,{agentId:e,activityId:C.id})})]},C.id)})})}):s.lastHeartbeat?null:t.jsx(fn,{title:"Recent Runs",children:t.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-center",children:[t.jsx("div",{className:"text-xl mb-2 opacity-40",children:"♡"}),t.jsx("p",{className:"text-xs text-fg-tertiary",children:"No heartbeat runs yet this session."}),t.jsx("p",{className:"text-[10px] text-fg-tertiary mt-1",children:s.running?`First heartbeat will trigger in ~${T(s.intervalMs-s.uptimeMs%s.intervalMs)??"soon"}.`:"Heartbeat scheduler is stopped."}),s.running&&t.jsx("button",{onClick:S,disabled:x,className:"mt-3 text-[10px] px-3 py-1.5 rounded-md bg-blue-600/15 text-blue-600 hover:bg-blue-600/25 border border-blue-500/25 transition-colors disabled:opacity-40",children:x?"Triggering...":"Run First Heartbeat Now"})]})})]})}function aj({taskId:e,isLive:r}){const[s,l]=j.useState([]),[o,c]=j.useState(""),[u,f]=j.useState(!0),m=j.useRef(null),h=j.useRef(null),x=j.useRef(!0);if(j.useEffect(()=>{const b=h.current;if(!b)return;const p=()=>{x.current=b.scrollHeight-b.scrollTop-b.clientHeight<60};return b.addEventListener("scroll",p,{passive:!0}),()=>b.removeEventListener("scroll",p)},[]),j.useEffect(()=>{f(!0),c(""),le.tasks.getLogs(e).then(b=>{l(b.logs),f(!1)}).catch(()=>f(!1))},[e]),j.useEffect(()=>{if(!r)return;const b=Cn.on("task:log",w=>{const S=w.payload;if(S.taskId!==e)return;const T={id:S.id,taskId:S.taskId,agentId:S.agentId,seq:S.seq,type:S.logType,content:S.content,metadata:S.metadata,createdAt:S.createdAt};l(E=>T.id&&E.some(C=>C.id===T.id)?E:[...E,T]),T.type==="text"&&c("")}),p=Cn.on("task:log:delta",w=>{const S=w.payload;S.taskId===e&&c(T=>T+S.text)});return()=>{b(),p()}},[e,r]),j.useEffect(()=>{x.current&&m.current?.scrollIntoView({behavior:"smooth"})},[s,o]),u)return t.jsx("div",{className:"px-4 py-3 text-xs text-fg-tertiary",children:"Loading..."});if(s.length===0&&!o)return t.jsx("div",{className:"px-4 py-3 text-xs text-fg-tertiary",children:"No execution logs yet."});const g=bo(s.map(Jm).filter(b=>b!=null));return t.jsxs("div",{ref:h,className:"max-h-56 overflow-y-auto px-3 py-2 space-y-0.5",children:[g.map((b,p)=>t.jsx(Vl,{entry:b,showTime:!0},`e-${p}`)),o&&t.jsx(ej,{content:o}),t.jsx("div",{ref:m})]})}function Nu({agentId:e,activityId:r}){const[s,l]=j.useState([]),[o,c]=j.useState(!0);if(j.useEffect(()=>{c(!0),le.agents.getActivityLogs(e,r).then(f=>{l(f.logs),c(!1)}).catch(()=>c(!1))},[e,r]),o)return t.jsx("div",{className:"px-4 py-3 text-xs text-fg-tertiary",children:"Loading..."});if(s.length===0)return t.jsx("div",{className:"px-4 py-3 text-xs text-fg-tertiary",children:"No activity logs available."});const u=bo(s.map(W1).filter(f=>f!=null));return t.jsx("div",{className:"max-h-56 overflow-y-auto px-3 py-2 space-y-0.5",children:u.map((f,m)=>t.jsx(Vl,{entry:f,showTime:!0},`a-${m}`))})}function fn({title:e,action:r,children:s}){return t.jsxs("div",{className:"bg-surface-secondary/60 border border-border-default rounded-xl p-5",children:[t.jsxs("div",{className:"flex items-center justify-between mb-3",children:[t.jsx("h3",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider",children:e}),r]}),s]})}function _n({label:e,mono:r,children:s}){return t.jsxs("div",{className:"flex flex-col gap-0.5",children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:e}),t.jsx("span",{className:`text-xs text-fg-secondary ${r?"font-mono text-[10px]":""}`,children:s})]})}function Vn({label:e,value:r,color:s}){const l=s==="green"?"text-green-600":s==="indigo"?"text-brand-500":s==="red"?"text-red-500":"text-fg-secondary";return t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:`text-lg font-semibold ${l}`,children:r}),t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:e})]})}function Il({text:e}){return t.jsx("div",{className:"text-xs text-fg-tertiary py-6 text-center",children:e})}function oy(e){if(e===0)return"0 B";const r=["B","KB","MB","GB"],s=Math.min(Math.floor(Math.log(e)/Math.log(1024)),r.length-1),l=e/Math.pow(1024,s);return`${l<10?l.toFixed(1):Math.round(l)} ${r[s]}`}const RT=[{key:"all",label:"All"},{key:"task",label:"Task"},{key:"chat",label:"Chat"},{key:"heartbeat",label:"Heartbeat"},{key:"a2a",label:"A2A"},{key:"internal",label:"Internal"},{key:"respond_in_session",label:"Session"}],zT={task:"☑",chat:"💬",heartbeat:"♡",a2a:"🔗",internal:"⚙",respond_in_session:"↩"};function LT({agentId:e}){const[r,s]=j.useState([]),[l,o]=j.useState("all"),[c,u]=j.useState(!0),[f,m]=j.useState(null),[h,x]=j.useState(!0),g=j.useCallback(async p=>{u(!0);try{const w=l==="all"?void 0:l,S=await le.agents.getActivities(e,{type:w,limit:30,before:p});s(p?T=>[...T,...S.activities]:S.activities),x(S.activities.length>=30)}catch{}u(!1)},[e,l]);j.useEffect(()=>{s([]),m(null),g()},[g]);const b=()=>{if(r.length>0){const p=r[r.length-1];g(p.startedAt)}};return t.jsxs("div",{className:"space-y-3",children:[t.jsx("div",{className:"flex gap-1.5 flex-wrap",children:RT.map(p=>t.jsx("button",{onClick:()=>o(p.key),className:`px-2.5 py-1 text-xs rounded-md border transition-colors ${l===p.key?"bg-brand-500/20 border-brand-500/40 text-brand-300":"bg-surface-2 border-border-subtle text-fg-secondary hover:bg-surface-3"}`,children:p.label},p.key))}),c&&r.length===0&&t.jsx("div",{className:"text-xs text-fg-tertiary text-center py-8",children:"Loading activities..."}),!c&&r.length===0&&t.jsx("div",{className:"text-xs text-fg-tertiary text-center py-8",children:"No activity history found."}),t.jsx("div",{className:"space-y-1.5",children:r.map(p=>t.jsxs("div",{className:"bg-surface-2 rounded-lg border border-border-subtle",children:[t.jsxs("button",{className:"w-full px-3 py-2.5 flex items-start gap-2.5 text-left hover:bg-surface-3/50 transition-colors rounded-lg",onClick:()=>m(f===p.id?null:p.id),children:[t.jsx("span",{className:"text-sm mt-0.5",children:f===p.id?"▾":"▸"}),t.jsx("span",{className:"text-sm",children:zT[p.type]??"●"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-xs font-medium text-fg-primary truncate",children:p.label}),t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded ${p.success?"bg-green-500/15 text-green-400":"bg-red-500/15 text-red-400"}`,children:p.success?"✓":"✗"})]}),t.jsxs("div",{className:"text-[10px] text-fg-tertiary mt-0.5 flex gap-2",children:[t.jsx("span",{children:new Date(p.startedAt).toLocaleString()}),p.endedAt&&t.jsxs("span",{children:["→ ",new Date(p.endedAt).toLocaleTimeString()]}),p.totalTokens>0&&t.jsxs("span",{children:[uu(p.totalTokens)," tokens"]}),p.totalTools>0&&t.jsxs("span",{children:[p.totalTools," tools"]})]})]}),t.jsx("span",{className:"text-[10px] text-fg-tertiary bg-surface-3 px-1.5 py-0.5 rounded",children:p.type})]}),f===p.id&&t.jsx("div",{className:"border-t border-border-subtle",children:p.type==="task"&&p.taskId?t.jsx(aj,{taskId:p.taskId,isLive:!p.endedAt}):t.jsx(Nu,{agentId:e,activityId:p.id})})]},p.id))}),h&&r.length>0&&t.jsx("div",{className:"text-center",children:t.jsx("button",{onClick:b,disabled:c,className:"text-xs text-brand-400 hover:text-brand-300 transition-colors disabled:opacity-50",children:c?"Loading...":"Load Earlier..."})})]})}const IT=[{key:"overview",label:"Overview",icon:"▦"},{key:"members",label:"Members",icon:"◉"},{key:"announcements",label:"Announcements",icon:"◈"},{key:"norms",label:"Norms",icon:"☰"},{key:"settings",label:"Settings",icon:"⚙"}],cy={idle:"bg-green-400",working:"bg-brand-400 animate-pulse",paused:"bg-amber-400",offline:"bg-gray-500",error:"bg-red-400"};function $T({teamId:e,onBack:r,inline:s}){const[l,o]=j.useState(null),[c,u]=j.useState("overview"),[f,m]=j.useState(""),[h,x]=j.useState(""),[g,b]=j.useState(!1),[p,w]=j.useState(!1),[S,T]=j.useState(""),[E,C]=j.useState(""),[N,k]=j.useState(!1),[H,M]=j.useState(!1),[Y,$]=j.useState(""),[X,P]=j.useState(""),[U,V]=j.useState(!1),[D,A]=j.useState([]),I=j.useRef(null),_=j.useCallback(async()=>{try{const L=(await le.teams.list()).teams.find(Q=>Q.id===e);L&&o(L);const F=await le.teams.status(e);A(F.agents)}catch{}},[e]),G=j.useCallback(async()=>{try{const z=await le.teams.getFile(e,"ANNOUNCEMENT.md");m(z.content)}catch{m("")}try{const z=await le.teams.getFile(e,"NORMS.md");x(z.content)}catch{x("")}},[e]);j.useEffect(()=>{u("overview"),_(),G()},[e,_,G]);const q=async(z,L)=>{k(!0);try{await le.teams.updateFile(e,z,L),z==="ANNOUNCEMENT.md"?(m(L),b(!1)):(x(L),w(!1))}catch{}k(!1)},K=async()=>{Y.trim()&&(await le.teams.update(e,{name:Y.trim()}),M(!1),_())},B=async()=>{await le.teams.update(e,{description:X}),V(!1),_()};if(!l)return t.jsx("div",{className:"flex-1 flex items-center justify-center text-fg-tertiary text-sm",children:"Loading team..."});const R=l.members.find(z=>z.agentRole==="manager"),W=D.filter(z=>z.status!=="offline").length;return t.jsxs("div",{className:"flex-1 overflow-y-auto bg-surface-primary",children:[t.jsxs("div",{className:"px-5 py-3.5 border-b border-border-default bg-surface-secondary sticky top-0 z-10",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"w-10 h-10 rounded-xl bg-brand-600 text-white flex items-center justify-center text-lg font-bold shrink-0",children:t.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),t.jsx("circle",{cx:"9",cy:"7",r:"4"}),t.jsx("path",{d:"M23 21v-2a4 4 0 0 0-3-3.87"}),t.jsx("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]})}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[t.jsx("h2",{className:"text-base font-semibold",children:l.name}),t.jsxs("span",{className:"px-1.5 py-0.5 text-[10px] bg-brand-500/15 text-brand-500 rounded font-medium",children:[l.members.length," members"]}),t.jsxs("span",{className:"px-1.5 py-0.5 text-[10px] bg-green-500/15 text-green-600 rounded font-medium",children:[W," online"]})]}),t.jsx("div",{className:"text-xs text-fg-tertiary truncate",children:l.description||"No description"})]}),t.jsxs("button",{onClick:async()=>{if(l)try{const{files:z}=await le.teams.getFilesMap(l.id),L=l.members.filter(Q=>Q.type==="agent"),F={type:"team",name:l.name.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"")||l.name,displayName:l.name,version:"1.0.0",description:l.description??"",author:"",category:"general",tags:[],team:{members:L.map(Q=>({name:Q.name,roleName:Q.role,role:Q.agentRole??"worker",count:1,skills:[]}))}};await Ln.publishViaProxy({itemType:"team",name:l.name,description:l.description??"",category:"general",config:F,files:z}),alert(`Published "${l.name}" to Markus Hub`)}catch(z){alert(`Failed to publish: ${z}`)}},className:"px-3 py-1.5 text-xs bg-green-600 hover:bg-green-500 text-white rounded-lg transition-colors flex items-center gap-1",title:"Publish to Markus Hub",children:[t.jsx("span",{children:"↑"})," Hub"]}),s&&t.jsx("button",{onClick:r,className:"p-1.5 text-fg-tertiary hover:text-fg-secondary text-lg leading-none",children:"×"})]}),t.jsx("div",{className:"flex gap-1 mt-3 -mb-[1px] overflow-x-auto",children:IT.map(z=>t.jsxs("button",{onClick:()=>u(z.key),className:`px-3 py-1.5 text-xs rounded-t-lg whitespace-nowrap transition-colors ${c===z.key?"bg-surface-primary text-fg-primary border border-border-default border-b-gray-950":"text-fg-tertiary hover:text-fg-secondary"}`,children:[z.icon," ",z.label]},z.key))})]}),t.jsxs("div",{className:"p-5",children:[c==="overview"&&t.jsxs("div",{className:"space-y-5",children:[t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default",children:[t.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Manager"}),t.jsx("div",{className:"text-sm font-medium",children:R?.name??l.managerName??"None"})]}),t.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default",children:[t.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Team ID"}),t.jsx("div",{className:"text-sm font-mono text-fg-secondary truncate",children:l.id})]})]}),f.trim()&&t.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default",children:[t.jsx("div",{className:"text-xs text-fg-tertiary mb-2 font-medium",children:"Latest Announcement"}),t.jsxs("div",{className:"text-sm text-fg-secondary whitespace-pre-wrap",children:[f.slice(0,500),f.length>500?"...":""]})]}),t.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default",children:[t.jsx("div",{className:"text-xs text-fg-tertiary mb-2 font-medium",children:"Members"}),t.jsx("div",{className:"space-y-2",children:l.members.map(z=>{const L=D.find(Q=>Q.id===z.id),F=cy[L?.status??"offline"]??"bg-gray-500";return t.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[t.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${F}`}),t.jsx("span",{className:"font-medium",children:z.name}),t.jsx("span",{className:"text-fg-tertiary",children:z.role}),z.agentRole==="manager"&&t.jsx("span",{className:"text-[10px] px-1 py-0.5 bg-amber-500/15 text-amber-600 rounded",children:"Manager"})]},z.id)})})]})]}),c==="members"&&t.jsxs("div",{className:"space-y-3",children:[l.members.map(z=>{const L=D.find(Q=>Q.id===z.id),F=cy[L?.status??"offline"]??"bg-gray-500";return t.jsxs("div",{className:"p-3 bg-surface-secondary rounded-xl border border-border-default flex items-center gap-3",children:[t.jsx("div",{className:"w-8 h-8 rounded-lg bg-surface-elevated flex items-center justify-center text-sm font-bold shrink-0",children:z.name.charAt(0)}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-sm font-medium",children:z.name}),t.jsx("span",{className:`w-2 h-2 rounded-full ${F}`}),t.jsx("span",{className:"text-xs text-fg-tertiary",children:L?.status??"offline"}),z.agentRole==="manager"&&t.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-amber-500/15 text-amber-600 rounded font-medium",children:"Manager"})]}),t.jsxs("div",{className:"text-xs text-fg-tertiary",children:[z.role," · ",z.type]})]})]},z.id)}),l.members.length===0&&t.jsx("div",{className:"text-sm text-fg-tertiary text-center py-8",children:"No members"})]}),c==="announcements"&&t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h3",{className:"text-sm font-medium text-fg-secondary",children:"Team Announcements"}),!g&&t.jsx("button",{onClick:()=>{T(f),b(!0)},className:"px-3 py-1 text-xs bg-surface-elevated hover:bg-surface-overlay text-fg-secondary rounded-lg transition-colors",children:"Edit"})]}),g?t.jsxs("div",{className:"space-y-3",children:[t.jsx("textarea",{value:S,onChange:z=>T(z.target.value),className:"w-full h-64 bg-surface-secondary border border-border-default rounded-xl p-3 text-sm text-fg-primary resize-y focus:outline-none focus:border-brand-500 font-mono",placeholder:"Write team announcements here (Markdown supported)..."}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>q("ANNOUNCEMENT.md",S),disabled:N,className:"px-4 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 text-white rounded-lg transition-colors disabled:opacity-50",children:N?"Saving...":"Save"}),t.jsx("button",{onClick:()=>b(!1),className:"px-4 py-1.5 text-xs bg-surface-elevated hover:bg-surface-overlay text-fg-secondary rounded-lg transition-colors",children:"Cancel"})]})]}):t.jsx("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default min-h-[120px]",children:f.trim()?t.jsx("div",{className:"text-sm text-fg-secondary whitespace-pre-wrap",children:f}):t.jsx("div",{className:"text-sm text-fg-tertiary italic",children:"No announcements yet. Click Edit to add."})})]}),c==="norms"&&t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h3",{className:"text-sm font-medium text-fg-secondary",children:"Team Working Norms"}),!p&&t.jsx("button",{onClick:()=>{C(h),w(!0)},className:"px-3 py-1 text-xs bg-surface-elevated hover:bg-surface-overlay text-fg-secondary rounded-lg transition-colors",children:"Edit"})]}),p?t.jsxs("div",{className:"space-y-3",children:[t.jsx("textarea",{value:E,onChange:z=>C(z.target.value),className:"w-full h-64 bg-surface-secondary border border-border-default rounded-xl p-3 text-sm text-fg-primary resize-y focus:outline-none focus:border-brand-500 font-mono",placeholder:"Define team norms and working agreements (Markdown supported)..."}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>q("NORMS.md",E),disabled:N,className:"px-4 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 text-white rounded-lg transition-colors disabled:opacity-50",children:N?"Saving...":"Save"}),t.jsx("button",{onClick:()=>w(!1),className:"px-4 py-1.5 text-xs bg-surface-elevated hover:bg-surface-overlay text-fg-secondary rounded-lg transition-colors",children:"Cancel"})]})]}):t.jsx("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default min-h-[120px]",children:h.trim()?t.jsx("div",{className:"text-sm text-fg-secondary whitespace-pre-wrap",children:h}):t.jsx("div",{className:"text-sm text-fg-tertiary italic",children:"No norms defined yet. Click Edit to add."})})]}),c==="settings"&&t.jsxs("div",{className:"space-y-5",children:[t.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default space-y-4",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Team Name"}),H?t.jsxs("div",{className:"flex gap-2 items-center",children:[t.jsx("input",{ref:I,value:Y,onChange:z=>$(z.target.value),onKeyDown:z=>z.key==="Enter"&&K(),className:"flex-1 bg-surface-elevated border border-border-default rounded-lg px-3 py-1.5 text-sm text-fg-primary focus:outline-none focus:border-brand-500",autoFocus:!0}),t.jsx("button",{onClick:K,className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 rounded-lg text-white",children:"Save"}),t.jsx("button",{onClick:()=>M(!1),className:"px-3 py-1.5 text-xs bg-surface-elevated hover:bg-surface-overlay rounded-lg text-fg-secondary",children:"Cancel"})]}):t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-sm",children:l.name}),t.jsx("button",{onClick:()=>{$(l.name),M(!0)},className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Edit"})]})]}),t.jsxs("div",{children:[t.jsx("div",{className:"text-xs text-fg-tertiary mb-1",children:"Description"}),U?t.jsxs("div",{className:"space-y-2",children:[t.jsx("textarea",{value:X,onChange:z=>P(z.target.value),className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-1.5 text-sm text-fg-primary resize-y focus:outline-none focus:border-brand-500",rows:3,autoFocus:!0}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:B,className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 rounded-lg text-white",children:"Save"}),t.jsx("button",{onClick:()=>V(!1),className:"px-3 py-1.5 text-xs bg-surface-elevated hover:bg-surface-overlay rounded-lg text-fg-secondary",children:"Cancel"})]})]}):t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-sm text-fg-secondary",children:l.description||"No description"}),t.jsx("button",{onClick:()=>{P(l.description??""),V(!0)},className:"text-xs text-fg-tertiary hover:text-fg-secondary",children:"Edit"})]})]})]}),t.jsx(BT,{teamId:e,teamName:l.name,onDeleted:r})]})]})]})}function BT({teamId:e,teamName:r,onDeleted:s}){const[l,o]=j.useState(!1),[c,u]=j.useState(!1),[f,m]=j.useState(!1),[h,x]=j.useState(!1);return t.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-red-900/30 space-y-3",children:[t.jsx("div",{className:"text-sm font-medium text-red-500",children:"Danger Zone"}),l?t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{className:"text-xs text-fg-secondary",children:['Delete team "',r,'"? This removes the team record from the database.']}),t.jsxs("label",{className:"flex items-center gap-2 text-xs text-fg-secondary cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:f,onChange:g=>m(g.target.checked),className:"rounded"}),"Also delete all members in this team"]}),t.jsxs("label",{className:"flex items-center gap-2 text-xs text-fg-secondary cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:c,onChange:g=>u(g.target.checked),className:"rounded"}),"Also delete disk files (workspace, memory, logs)"]}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{disabled:h,onClick:async()=>{x(!0);try{await le.teams.delete(e,f,{purgeFiles:c}),window.dispatchEvent(new CustomEvent("markus:data-changed")),s()}catch{x(!1)}},className:"px-4 py-1.5 text-xs bg-red-600 hover:bg-red-700 text-white rounded-lg transition-colors disabled:opacity-50",children:h?"Deleting...":"Confirm Delete"}),t.jsx("button",{onClick:()=>o(!1),className:"px-4 py-1.5 text-xs bg-surface-elevated hover:bg-surface-overlay text-fg-secondary rounded-lg transition-colors border border-border-default",children:"Cancel"})]})]}):t.jsx("button",{onClick:()=>o(!0),className:"px-4 py-1.5 text-xs bg-red-600/20 hover:bg-red-600/30 text-red-500 rounded-lg transition-colors border border-red-500/30",children:"Delete Team"})]})}function Wm({side:e,defaultWidth:r,minWidth:s,maxWidth:l,collapsedWidth:o=0,storageKey:c}){const[u,f]=j.useState(()=>{try{const p=localStorage.getItem(`${c}_w`);if(p)return Math.max(s,Math.min(l,parseInt(p,10)))}catch{}return r}),[m,h]=j.useState(()=>{try{return localStorage.getItem(`${c}_c`)==="1"}catch{return!1}}),x=j.useRef(!1);j.useEffect(()=>{try{localStorage.setItem(`${c}_w`,String(u))}catch{}},[u,c]),j.useEffect(()=>{try{localStorage.setItem(`${c}_c`,m?"1":"0")}catch{}},[m,c]);const g=j.useCallback(p=>{p.preventDefault(),x.current=!0;const w=p.clientX,S=u,T=C=>{if(!x.current)return;const N=C.clientX-w;f(Math.max(s,Math.min(l,S+N)))},E=()=>{x.current=!1,document.removeEventListener("mousemove",T),document.removeEventListener("mouseup",E),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",T),document.addEventListener("mouseup",E),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[u,e,s,l]),b=j.useCallback(()=>h(p=>!p),[]);return{width:m?o:u,rawWidth:u,collapsed:m,toggle:b,setCollapsed:h,onResizeStart:g}}function uy(e){const r={id:e.id,sender:e.role==="user"?"user":"agent",text:e.content,time:new Date(e.createdAt).toLocaleTimeString(),agentId:e.role!=="user"?e.agentId:void 0};return e.role!=="user"&&e.metadata?.segments&&e.metadata.segments.length>0&&(r.segments=e.metadata.segments.map((s,l)=>s.type==="tool"?{type:"tool",key:`${s.tool}_${l}`,tool:s.tool,status:s.status,args:s.arguments,result:s.result,error:s.error,durationMs:s.durationMs}:{type:"text",content:s.content})),(e.metadata?.isError||e.role==="assistant"&&e.content.startsWith("⚠"))&&(r.isError=!0),e.metadata?.isStopped&&(r.isStopped=!0),e.metadata?.images?.length&&(r.images=e.metadata.images),r}function Ji(e){const r=e.senderType==="system"||e.senderType==="agent"&&e.text.startsWith("⚠"),s={id:e.id,sender:e.senderType==="human"?"user":"agent",text:e.text,time:new Date(e.createdAt).toLocaleTimeString(),agentName:e.senderType!=="human"?e.senderName:void 0,agentId:e.senderType!=="human"?e.senderId:void 0,isError:r};if(e.metadata&&e.senderType==="agent"){const l=[],o=e.metadata;if(o.thinking?.length&&l.push({type:"text",content:"",thinking:o.thinking.join(`
51
+
52
+ `)}),o.toolCalls?.length)for(let c=0;c<o.toolCalls.length;c++){const u=o.toolCalls[c];l.push({type:"tool",key:`${u.tool}_${c}`,tool:u.tool,status:u.status==="error"?"error":"done",args:u.arguments,result:u.result,durationMs:u.durationMs})}l.length>0&&(l.push({type:"text",content:e.text}),s.segments=l)}return s}function lj(e){return e.split(" ").map(r=>r[0]).join("").toUpperCase().slice(0,2)}function HT({name:e,agentId:r,agents:s,onViewProfile:l}){const[o,c]=j.useState(!1),u=j.useRef(null),f=r?s.find(m=>m.id===r):s.find(m=>m.name===e);return j.useEffect(()=>{if(!o)return;const m=h=>{u.current&&!u.current.contains(h.target)&&c(!1)};return document.addEventListener("mousedown",m),()=>document.removeEventListener("mousedown",m)},[o]),f?t.jsxs("span",{ref:u,className:"relative inline-block",children:[t.jsx("button",{onClick:()=>c(!o),className:"text-fg-tertiary hover:text-brand-500 cursor-pointer transition-colors",children:e}),o&&t.jsxs("div",{className:"absolute left-0 top-full mt-1.5 bg-surface-secondary border border-border-default rounded-xl shadow-2xl z-40 w-56 p-3 space-y-2",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"w-7 h-7 rounded-full bg-brand-500/15 flex items-center justify-center text-[10px] font-bold text-brand-600",children:lj(f.name)}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-xs text-fg-primary font-medium truncate",children:f.name}),t.jsxs("div",{className:"text-[10px] text-fg-tertiary",children:[f.role," · ",f.agentRole??"worker"]})]}),t.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${f.status==="working"?"bg-blue-400 animate-pulse":f.status==="error"?"bg-red-400":"bg-green-400"}`})]}),t.jsx("button",{onClick:()=>{c(!1),l?.(f.id)},className:"w-full text-center text-[10px] text-brand-500 hover:text-brand-500 border border-border-default hover:border-gray-600 rounded-lg py-1 transition-colors",children:"View Profile →"})]})]}):t.jsx("span",{children:e})}function PT({agent:e,anchorRect:r,onClose:s,onViewProfile:l}){const o=j.useRef(null);j.useEffect(()=>{const f=m=>{o.current&&!o.current.contains(m.target)&&s()};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[s]);const c=e.status==="idle"?"bg-green-400":e.status==="working"?"bg-blue-400 animate-pulse":e.status==="error"?"bg-red-400":"bg-gray-500",u=e.status==="idle"?"Online":e.status==="working"?"Working":e.status==="error"?"Error":e.status==="paused"?"Paused":"Offline";return t.jsxs("div",{ref:o,className:"fixed z-50 w-64 bg-surface-secondary border border-border-default rounded-xl shadow-2xl p-4 space-y-3",style:{top:r.top+40,left:r.left},children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"w-10 h-10 rounded-full bg-brand-500/15 flex items-center justify-center text-sm font-bold text-brand-600",children:lj(e.name)}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm text-fg-primary font-medium truncate",children:e.name}),t.jsx("div",{className:"text-[11px] text-fg-tertiary",children:e.role}),t.jsxs("div",{className:"flex items-center gap-1.5 mt-0.5",children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${c}`}),t.jsx("span",{className:"text-[10px] text-fg-secondary",children:u}),e.agentRole&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["· ",e.agentRole]})]})]})]}),t.jsx("button",{onClick:()=>{s(),l(e.id)},className:"w-full py-1.5 text-xs text-brand-500 hover:text-brand-500 border border-border-default hover:border-gray-600 rounded-lg transition-colors text-center",children:"View Profile →"})]})}function dy(e){const r=String(e);if(r.includes("AbortError")||r.includes("abort"))return"";let s="";const l=r.match(/\{[\s\S]*\}/);if(l)try{const o=JSON.parse(l[0]);s=o.error?.message??o.message??""}catch{}if(!s){const o=r.lastIndexOf(": ");o>=0&&(s=r.slice(o+2).trim())}return r.includes("402")||/insufficient.?balance/i.test(r)?`⚠ AI service error: ${s||"Insufficient credits"}. Please top up the API balance or contact your administrator.`:r.includes("401")||/unauthorized|invalid.?api.?key/i.test(r)?`⚠ AI service authentication failed: ${s||"Invalid API key"}. Please check the configuration.`:r.includes("429")||/rate.?limit/i.test(r)?`⚠ Rate limit exceeded: ${s||"Too many requests"}. Please wait a moment and try again.`:r.includes("503")||/service.?unavailable/i.test(r)?`⚠ AI service unavailable: ${s||"Service temporarily down"}. Please try again later.`:`⚠ AI service error: ${s||r.slice(0,120)}`}function fy({msg:e,onCopy:r,onRetry:s,isCopied:l}){const o=e.isError||e.sender==="agent"&&e.text.startsWith("⚠"),c=e.isStopped;return t.jsxs("div",{className:"flex items-center gap-0.5 mt-1",children:[t.jsxs("button",{onClick:()=>r(e),className:"flex items-center gap-1 px-2 py-0.5 rounded text-[11px] text-fg-tertiary hover:text-fg-primary hover:bg-surface-overlay/60 transition-colors",title:"Copy",children:[l?t.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:t.jsx("polyline",{points:"20 6 9 17 4 12"})}):t.jsxs("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[t.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),t.jsx("path",{d:"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"})]}),l?"Copied":"Copy"]}),c&&s&&t.jsxs("button",{onClick:()=>s(e),className:"flex items-center gap-1 px-2 py-0.5 rounded text-[11px] text-brand-500 hover:text-brand-500 hover:bg-brand-500/10 transition-colors",title:"Re-ask",children:[t.jsxs("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[t.jsx("polyline",{points:"23 4 23 10 17 10"}),t.jsx("path",{d:"M20.49 15a9 9 0 11-2.12-9.36L23 10"})]}),"Re-ask"]}),o&&!c&&s&&t.jsxs("button",{onClick:()=>s(e),className:"flex items-center gap-1 px-2 py-0.5 rounded text-[11px] text-amber-600 hover:text-amber-600 hover:bg-amber-500/10 transition-colors",title:"Retry",children:[t.jsxs("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[t.jsx("polyline",{points:"23 4 23 10 17 10"}),t.jsx("path",{d:"M20.49 15a9 9 0 11-2.12-9.36L23 10"})]}),"Retry"]})]})}function UT({msg:e,isStreaming:r,liveActivities:s}){const l=e.segments,o=e.isStopped,[c,u]=j.useState(!1);if(l!==void 0){const m=l[l.length-1],h=r&&l.length>0&&m?.type==="tool"&&m.status!=="running",x=l.length===0,g=l.filter(p=>p.type==="text"&&!!p.thinking).map(p=>p.thinking).join(""),b=g.length>0;return t.jsxs("div",{className:"space-y-0.5 min-h-[1em]",children:[x&&r&&t.jsx(wu,{}),b&&t.jsxs("div",{className:"mb-2",children:[t.jsxs("button",{onClick:()=>u(p=>!p),className:"flex items-center gap-1 text-xs text-fg-tertiary hover:text-fg-secondary transition-colors",children:[t.jsx("span",{className:`transition-transform ${c?"rotate-90":""}▶`,style:{fontSize:8}}),t.jsxs("span",{children:["思考过程 (",g.length," 字符)"]})]}),c&&t.jsx("div",{className:"mt-1 pl-3 border-l-2 border-brand-500/50 text-xs text-fg-secondary whitespace-pre-wrap max-h-60 overflow-y-auto",children:g})]}),l.map((p,w)=>{const S=w===l.length-1;return p.type==="tool"?t.jsx(nj,{info:{tool:p.tool,status:p.status,args:p.args,result:p.result,error:p.error,durationMs:p.durationMs,liveOutput:p.liveOutput},isLast:S&&!h},p.key):t.jsxs("div",{className:p.content?"":"hidden",children:[t.jsx(er,{content:p.content}),r&&S&&t.jsx("span",{className:"inline-block w-0.5 h-4 bg-brand-400 animate-pulse ml-0.5 align-text-bottom"})]},w)}),h&&t.jsxs("div",{className:"flex items-center gap-2 pl-0.5 pt-0.5",children:[t.jsxs("div",{className:"flex flex-col items-center",style:{width:14},children:[t.jsx("div",{className:"w-px flex-1 bg-surface-overlay",style:{minHeight:6}}),t.jsx("div",{className:"w-2 h-2 rounded-full border border-gray-600 bg-surface-elevated shrink-0"})]}),t.jsx(wu,{label:"Processing"})]}),o&&t.jsxs("div",{className:"flex items-center gap-1.5 mt-1.5 text-[11px] text-fg-tertiary",children:[t.jsx("svg",{className:"w-3 h-3 shrink-0",viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})}),t.jsx("span",{children:"Stopped"})]})]})}const f=(e.activities?.length??0)>0;return t.jsxs(t.Fragment,{children:[(r||f)&&t.jsx(nT,{activities:r?s:e.activities??[],isActive:r,persistent:!r&&f}),e.text?t.jsx(er,{content:e.text}):null,o&&t.jsxs("div",{className:"flex items-center gap-1.5 mt-1.5 text-[11px] text-fg-tertiary",children:[t.jsx("svg",{className:"w-3 h-3 shrink-0",viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})}),t.jsx("span",{children:"Stopped"})]})]})}const dm=new Set;function qT(){return window.location.hash}function VT(e){return dm.add(e),()=>{dm.delete(e)}}typeof window<"u"&&window.addEventListener("hashchange",()=>dm.forEach(e=>e()));function hy({initialAgentId:e,authUser:r}={}){const[s,l]=j.useState([]),[o,c]=j.useState([]),u=xs(),f=j.useSyncExternalStore(VT,qT),m=u&&f.startsWith("#chat/"),h=j.useCallback(()=>{window.location.hash="chat/d"},[]);j.useEffect(()=>{if(!u)return;const re=()=>{b.current==="profile"&&g("chat")};return window.addEventListener("popstate",re),()=>window.removeEventListener("popstate",re)},[u]);const[x,g]=j.useState("chat"),b=j.useRef("chat");b.current=x;const p=Wm({side:"left",defaultWidth:224,minWidth:160,maxWidth:360,storageKey:"markus_chat_sidebar"}),[w,S]=j.useState(null),T=j.useCallback(()=>{g("profile"),u&&history.pushState({mobileProfile:!0},"",window.location.hash)},[u]),E=j.useCallback(re=>{N("direct"),H(re),T(),S(null)},[T]),[C,N]=j.useState(()=>e?"direct":localStorage.getItem("markus_chat_mode")??"direct"),[k,H]=j.useState(()=>e??localStorage.getItem("markus_chat_agent")??""),[M,Y]=j.useState(()=>localStorage.getItem("markus_chat_channel")??"#general"),[$,X]=j.useState(""),P=j.useRef(new Map),U=j.useRef(new Map),V=j.useRef(new Set),D=j.useRef(""),[A,I]=j.useState([]),[_,G]=j.useState(""),[q,K]=j.useState(!1),[B,R]=j.useState([]),[W,z]=j.useState(!1),[L,F]=j.useState(!1),[Q,ne]=j.useState([]),Z=j.useRef(null),ee="__new_chat__",[oe,pe]=j.useState([]),[Se,Re]=j.useState(null),[ze,Be]=j.useState(!1),[Xe,_e]=j.useState([]),Ye=j.useRef(new Map),ht=j.useRef(new Map),gt=j.useRef(null),ie=j.useRef(null),Le=j.useRef(null),xt=j.useRef(null),[yt,Zt]=j.useState([]),[ve,Me]=j.useState([]),[Ue,et]=j.useState([]),[Ge,Ht]=j.useState([]),[_t,jt]=j.useState(null),[vt,he]=j.useState(!1),[He,ft]=j.useState(""),[ct,pt]=j.useState(!1),[Ot,rn]=j.useState(""),Wt=C==="channel"?yt.find(re=>re.channelKey===M)?.teamId:void 0,cn=j.useRef(null),vn=j.useRef(null),wt=j.useRef(null),ue=j.useRef(void 0),te=j.useRef(!1),Ne=j.useRef(!0);j.useEffect(()=>{if(!ze)return;const re=be=>{ie.current&&!ie.current.contains(be.target)&&gt.current&&!gt.current.contains(be.target)&&Be(!1)};return document.addEventListener("mousedown",re),()=>document.removeEventListener("mousedown",re)},[ze]);const De=(re,be)=>{if(!be||re===be)return`notes:${re}`;const[we,Ee]=[re,be].sort();return`dm:${we}:${Ee}`},dt=(re,be,we,Ee)=>re==="channel"?`ch:${we}`:re==="direct"?be||"_direct":re==="dm"?`dm:${Ee??""}`:"_smart",$e=j.useCallback((re,be)=>{const we=be(P.current.get(re)??[]);P.current.set(re,we),D.current===re&&I(we)},[]),Mt=(re,be)=>{const we=[...U.current.get(re)??[],be];U.current.set(re,we),D.current===re&&R(we)};j.useEffect(()=>{localStorage.setItem("markus_chat_mode",C)},[C]),j.useEffect(()=>{localStorage.setItem("markus_chat_agent",k)},[k]),j.useEffect(()=>{localStorage.setItem("markus_chat_channel",M)},[M]);const sn=j.useCallback(()=>le.agents.list().then(re=>l(re.agents)).catch(()=>{}),[]),hn=j.useCallback(()=>le.teams.list().then(re=>Me(re.teams)).catch(()=>{}),[]);j.useEffect(()=>{sn(),le.users.list().then(Ve=>c(Ve.users)).catch(()=>{}),le.tasks.list().then(Ve=>Ht(Ve.tasks)).catch(()=>{}),hn(),le.externalAgents.list().then(Ve=>et(Ve.agents)).catch(()=>{}),fetch("/api/group-chats").then(Ve=>Ve.json()).then(Ve=>Zt(Ve.chats)).catch(()=>{});const re=setInterval(sn,8e3),be=setInterval(hn,15e3),we=Cn.on("agent:update",sn),Ee=Cn.on("*",hn),Ae=Cn.on("chat:group_created",()=>{fetch("/api/group-chats").then(Ve=>Ve.json()).then(Ve=>Zt(Ve.chats)).catch(()=>{})}),Pe=()=>{sn(),hn()};return window.addEventListener("markus:data-changed",Pe),()=>{clearInterval(re),clearInterval(be),we(),Ee(),Ae(),window.removeEventListener("markus:data-changed",Pe)}},[]),j.useEffect(()=>{const re=Ee=>{const Ae=Ee.detail;(Ae.page==="chat"||Ae.page==="team")&&(Ae.params?.agentId&&(N("direct"),H(Ae.params.agentId)),Ae.params?.selectAgent&&E(Ae.params.selectAgent),Ae.params?.openHire)},be=localStorage.getItem("markus_nav_agentId");be&&(localStorage.removeItem("markus_nav_agentId"),N("direct"),H(be));const we=localStorage.getItem("markus_nav_selectAgent");return we&&(localStorage.removeItem("markus_nav_selectAgent"),E(we)),window.addEventListener("markus:navigate",re),()=>window.removeEventListener("markus:navigate",re)},[]),j.useEffect(()=>{const re=vn.current;if(!re)return;const be=()=>{Ne.current=re.scrollHeight-re.scrollTop-re.clientHeight<80};return re.addEventListener("scroll",be,{passive:!0}),()=>re.removeEventListener("scroll",be)},[]),j.useLayoutEffect(()=>{if(te.current){te.current=!1;return}Ne.current&&cn.current?.scrollIntoView({behavior:"instant"})},[A,B]);const Dt=j.useCallback(async re=>{const be=re==="smart:default"?"_smart":`ch:${re}`;try{const we=await le.channels.getMessages(re,50),Ee=we.messages.map(Ji);P.current.set(be,Ee),D.current===be&&(I(Ee),z(we.hasMore),Le.current=we.messages[0]?new Date(we.messages[0].createdAt).toISOString():null)}catch{D.current===be&&(I([]),z(!1))}},[]),Bn=j.useCallback(async(re,be)=>{xt.current=re;try{const we=await le.sessions.getMessages(re,50),Ee=we.messages.map(uy);P.current.set(be,Ee),D.current===be&&xt.current===re&&(I(Ee),z(we.hasMore),Le.current=we.messages[0]?new Date(we.messages[0].createdAt).toISOString():null)}catch{D.current===be&&xt.current===re&&(I([]),z(!1),Le.current=null)}},[]),Hn=j.useCallback(async re=>{if(!re)return pe([]),[];try{const{sessions:be}=await le.sessions.listByAgent(re,10);return pe(be),be}catch{return pe([]),[]}},[]),jn=j.useCallback(async()=>{if(!(L||!W||!Le.current)){F(!0);try{const re=D.current;if(C==="channel"||C==="smart"||C==="dm"){const be=C==="smart"?"smart:default":C==="dm"?De(r?.id??"",$):M,we=await le.channels.getMessages(be,50,Le.current),Ee=we.messages.map(Ji);te.current=!0,I(Ae=>{const Pe=[...Ee,...Ae];return P.current.set(re,Pe),Pe}),z(we.hasMore),we.messages[0]&&(Le.current=new Date(we.messages[0].createdAt).toISOString())}else if(Se){const be=await le.sessions.getMessages(Se,50,Le.current),we=be.messages.map(uy);te.current=!0,I(Ee=>{const Ae=[...we,...Ee];return P.current.set(re,Ae),Ae}),z(be.hasMore),be.messages[0]&&(Le.current=new Date(be.messages[0].createdAt).toISOString())}}catch{}finally{F(!1)}}},[L,W,C,M,Se,r?.id,$]);j.useEffect(()=>{const re=dt(C,k,M,$),be=D.current;D.current=re,be&&be!==re&&(Ye.current.set(be,Xe),ht.current.set(be,Se));const we=P.current.get(re),Ee=U.current.get(re)??[],Ae=V.current.has(re);R(Ee),K(Ae),C==="direct"&&k&&Hn(k);const Pe=Ye.current.get(re),Ve=ht.current.get(re);if(Pe&&Pe.length>0&&_e(Pe),Be(!1),we!==void 0)I(we),z(!1),Ve!==void 0&&Re(Ve),(!Pe||Pe.length===0)&&_e([]);else if(I([]),z(!1),Le.current=null,C==="channel"||C==="dm"){const mt=C==="dm"?De(r?.id??"",$):M;Dt(mt),(!Pe||Pe.length===0)&&_e([])}else C==="smart"?(Dt("smart:default"),(!Pe||Pe.length===0)&&_e([])):C==="direct"&&k&&Hn(k).then(mt=>{if(D.current===re)if(mt.length>0){const st=Pe&&Pe.length>0?Pe:mt.slice(0,5),nt=Ve!==void 0?Ve:st[0].id,Tt=nt&&st.some(Ft=>Ft.id===nt)?nt:st[0].id;Re(Tt),_e(st),Bn(Tt,re)}else{Re(null),(!Pe||Pe.length===0)&&_e([]);const st=(()=>{const nt=(navigator.language||"").toLowerCase();return nt.startsWith("zh")?"介绍一下你自己":nt.startsWith("ja")?"自己紹介をしてください":nt.startsWith("ko")?"자기소개를 해주세요":nt.startsWith("fr")?"Présentez-vous":nt.startsWith("de")?"Stell dich vor":nt.startsWith("es")?"Preséntate":nt.startsWith("pt")?"Apresente-se":nt.startsWith("ru")?"Представьтесь":"Introduce yourself"})();setTimeout(()=>ue.current?.(st),150)}})},[C,k,M,$]),j.useEffect(()=>C!=="channel"?void 0:Cn.on("chat:message",be=>{const we=be.payload,Ee=we.channel??"";if(!Ee||Ee!==M)return;const Ae=we.senderType??"agent",Pe=we.text??we.message??"",Ve=we.senderId??we.agentId??"",mt=we.senderName??we.agentId??"Agent",st=we.metadata,nt={id:`ws_${Date.now()}_${Ve}`,sender:Ae==="human"?"user":"agent",text:Pe,time:new Date().toLocaleTimeString(),agentName:Ae==="agent"?mt:void 0,agentId:Ae==="agent"?Ve:void 0};if(st&&Ae==="agent"){const Ft=[];if(st.thinking?.length&&Ft.push({type:"text",content:"",thinking:st.thinking.join(`
53
+
54
+ `)}),st.toolCalls?.length)for(let Kn=0;Kn<st.toolCalls.length;Kn++){const Je=st.toolCalls[Kn];Ft.push({type:"tool",key:`${Je.tool}_${Kn}`,tool:Je.tool,status:Je.status==="error"?"error":"done",args:Je.arguments,result:Je.result,durationMs:Je.durationMs})}Ft.length>0&&(Ft.push({type:"text",content:Pe}),nt.segments=Ft)}const Tt=dt("channel",k,M,$);$e(Tt,Ft=>[...Ft,nt])}),[C,M,k,$,$e]),j.useEffect(()=>Cn.on("chat:proactive_message",be=>{const we=be.payload,Ee=we.agentId??"",Ae=we.agentName??"Agent",Pe=we.message??"",Ve=we.sessionId??"";if(!(!Ee||!Pe)&&C==="direct"&&k===Ee){const mt={id:`proactive_${Date.now()}`,sender:"agent",text:Pe,time:new Date().toLocaleTimeString(),agentName:Ae,agentId:Ee},st=dt("direct",Ee,M,$);$e(st,nt=>[...nt,mt]),Ve&&Se!==Ve&&Re(Ve)}}),[C,k,M,$,Se,$e]),Ge.find(re=>re.id===_t),j.useEffect(()=>{jt(null)},[k]);const It=re=>(re.match(/@(\w+)/g)??[]).map(be=>be.slice(1)),yn=()=>{wt.current?.abort(),wt.current=null;const re=D.current;V.current.delete(re),U.current.delete(re),K(!1),R([])},Pn=async re=>{const be=(re??_).trim();if(!be&&Q.length===0||C==="direct"&&!k)return;if(Ne.current=!0,q){wt.current?.abort(),wt.current=null;const Pe=D.current;V.current.delete(Pe),U.current.delete(Pe),$e(Pe,Ve=>{const mt=[...Ve];for(let st=mt.length-1;st>=0;st--)if(mt[st].sender==="agent"&&!mt[st].isStopped&&!mt[st].isError){const nt=mt[st],Tt=(nt.segments??[]).map(Ft=>Ft.type==="tool"&&Ft.status==="running"?{...Ft,status:"stopped"}:Ft);mt[st]={...nt,isStopped:!0,segments:Tt};break}return mt}),K(!1),R([]),await new Promise(Ve=>setTimeout(Ve,50))}const we=Q.length>0?Q.map(Pe=>Pe.dataUrl):void 0,Ee=dt(C,k,M,$);re||G(""),ne([]),pt(!1);const Ae=C==="dm";if(V.current.add(Ee),U.current.set(Ee,[]),D.current===Ee&&!Ae&&(K(!0),R([])),C==="dm"){const Pe=De(r?.id??"",$),Ve=`opt_${Date.now()}`;$e(Ee,mt=>[...mt,{id:Ve,sender:"user",text:be,time:new Date().toLocaleTimeString()}]);try{const mt=await le.channels.sendMessage(Pe,{text:be,senderName:r?.name??"You",senderId:r?.id,mentions:[],orgId:"default",humanOnly:!0});$e(Ee,st=>{const nt=st.filter(Ft=>Ft.id!==Ve),Tt=[];return mt.userMessage&&Tt.push(Ji(mt.userMessage)),Tt.length>0?[...nt,...Tt]:st})}catch(mt){$e(Ee,st=>[...st,{id:`err_${Date.now()}`,sender:"agent",text:`Error: ${String(mt)}`,time:new Date().toLocaleTimeString(),agentName:"System",isError:!0}])}V.current.delete(Ee),D.current===Ee&&K(!1)}else if(C==="channel"){const Pe=`opt_${Date.now()}`;$e(Ee,Ve=>[...Ve,{id:Pe,sender:"user",text:be,time:new Date().toLocaleTimeString()}]);try{const Ve=It(be),mt=Ve.length>0?s.find(nt=>nt.name.toLowerCase()===Ve[0].toLowerCase()):null,st=await le.channels.sendMessage(M,{text:be,senderName:r?.name??"You",mentions:Ve,senderId:r?.id,targetAgentId:mt?.id,orgId:"default"});$e(Ee,nt=>{const Tt=nt.filter(Kn=>Kn.id!==Pe),Ft=[];return st.userMessage&&Ft.push(Ji(st.userMessage)),st.agentMessage&&Ft.push(Ji(st.agentMessage)),Ft.length>0?[...Tt,...Ft]:nt})}catch(Ve){const mt=dy(Ve)||`Error: ${String(Ve)}`;$e(Ee,st=>[...st,{id:`err_${Date.now()}`,sender:"agent",text:mt,time:new Date().toLocaleTimeString(),agentName:"System",isError:!0}])}V.current.delete(Ee),D.current===Ee&&K(!1)}else{const Pe=`a_${Date.now()}`,Ve={id:`u_${Date.now()}`,sender:"user",text:be,time:new Date().toLocaleTimeString()};we?.length&&(Ve.images=we),$e(Ee,Je=>[...Je,Ve,{id:Pe,sender:"agent",text:"",time:new Date().toLocaleTimeString(),segments:[]}]);const mt=Je=>{$e(Ee,At=>{const ut=[...At],Ze=ut.findIndex(ni=>ni.id===Pe);if(Ze<0)return At;const Fe=ut[Ze].segments??[],at=Fe[Fe.length-1];let it,an=Je;const Un=Je.match(/<think>([\s\S]*?)<\/think>/);Un&&(it=(at?.type==="text"?at.thinking??"":"")+Un[1],an=Je.replace(/<think>[\s\S]*?<\/think>/,""));const nl=at?.type==="text"?[...Fe.slice(0,-1),{type:"text",content:at.content+an,thinking:it??at.thinking}]:[...Fe,{type:"text",content:an,thinking:it}];return ut[Ze]={...ut[Ze],text:ut[Ze].text+an,segments:nl},ut})},st=Je=>{Je.phase!=="output"&&Mt(Ee,{...Je,ts:Date.now()}),Je.phase==="start"?$e(Ee,At=>{const ut=[...At],Ze=ut.findIndex(it=>it.id===Pe);if(Ze<0)return At;const Fe=[...ut[Ze].segments??[]];let at=!1;if(Je.arguments)for(let it=Fe.length-1;it>=0;it--){const an=Fe[it];if(an.type==="tool"&&an.tool===Je.tool&&an.status==="running"){Fe[it]={...an,args:Je.arguments},at=!0;break}}if(!at){const it=`${Je.tool}_${Date.now()}`;Fe.push({type:"tool",key:it,tool:Je.tool,status:"running",args:Je.arguments})}return ut[Ze]={...ut[Ze],segments:Fe},ut}):Je.phase==="output"?$e(Ee,At=>{const ut=[...At],Ze=ut.findIndex(at=>at.id===Pe);if(Ze<0)return At;const Fe=[...ut[Ze].segments??[]];for(let at=Fe.length-1;at>=0;at--){const it=Fe[at];if(it.type==="tool"&&it.tool===Je.tool&&it.status==="running"){Fe[at]={...it,liveOutput:(it.liveOutput??"")+(Je.output??"")};break}}return ut[Ze]={...ut[Ze],segments:Fe},ut}):$e(Ee,At=>{const ut=[...At],Ze=ut.findIndex(at=>at.id===Pe);if(Ze<0)return At;const Fe=[...ut[Ze].segments??[]];for(let at=Fe.length-1;at>=0;at--){const it=Fe[at];if(it.type==="tool"&&it.tool===Je.tool&&it.status==="running"){Fe[at]={...it,status:Je.success===!1?"error":"done",args:Je.arguments,result:Je.result,error:Je.error,durationMs:Je.durationMs,liveOutput:void 0};break}}return ut[Ze]={...ut[Ze],segments:Fe},ut})},nt=new AbortController;wt.current=nt;try{if(C==="smart"){const Je=await le.message.sendStream(be,mt,{senderId:r?.id||void 0,signal:nt.signal,images:we},st),At=s.find(ut=>ut.id===Je.agentId);At&&$e(Ee,ut=>{const Ze=[...ut],Fe=Ze.findIndex(at=>at.id===Pe);return Fe>=0&&(Ze[Fe]={...Ze[Fe],agentName:At.name}),Ze})}else{const Je=Se===ee?null:Se,At=await le.agents.messageStream(k,be,mt,st,nt.signal,we,Je);D.current===Ee&&(At.sessionId&&(Re(At.sessionId),_e(ut=>ut.map(Ze=>Ze.id===ee?{...Ze,id:At.sessionId}:Ze))),Hn(k).then(ut=>{if(D.current===Ee&&(pe(ut),At.sessionId)){const Ze=ut.find(Fe=>Fe.id===At.sessionId);Ze&&_e(Fe=>Fe.some(it=>it.id===Ze.id)?Fe.map(it=>it.id===Ze.id?Ze:it):[Ze,...Fe.filter(it=>it.id!==ee)])}}))}}catch(Je){const At=Je?.sessionId;At&&C==="direct"&&D.current===Ee&&(Re(At),_e(Ze=>Ze.map(Fe=>Fe.id===ee?{...Fe,id:At}:Fe)),Hn(k).then(Ze=>{if(D.current!==Ee)return;pe(Ze);const Fe=Ze.find(at=>at.id===At);Fe&&_e(at=>at.some(an=>an.id===Fe.id)?at.map(an=>an.id===Fe.id?Fe:an):[Fe,...at])}));const ut=dy(Je);ut?$e(Ee,Ze=>{const Fe=[...Ze],at=Fe.findIndex(it=>it.id===Pe);if(at>=0){const it=Fe[at].segments??[];Fe[at]={...Fe[at],text:ut,isError:!0,segments:[...it,{type:"text",content:ut}]}}return Fe}):$e(Ee,Ze=>{const Fe=[...Ze],at=Fe.findIndex(it=>it.id===Pe);if(at>=0){const it=Fe[at];if(!(it.text||it.segments&&it.segments.length>0&&it.segments.some(Un=>Un.type==="text"&&Un.content||Un.type==="tool")))return Ze.filter(Un=>Un.id!==Pe);Fe[at]={...it,isStopped:!0}}return Fe})}$e(Ee,Je=>{const At=[...Je],ut=At.findIndex(Ze=>Ze.id===Pe);if(ut>=0){const Ze=(At[ut].segments??[]).map(Fe=>Fe.type==="tool"&&Fe.status==="running"?{...Fe,status:"stopped"}:Fe);At[ut]={...At[ut],segments:Ze}}return At}),nt.signal.aborted&&$e(Ee,Je=>{const At=[...Je],ut=At.findIndex(Ze=>Ze.id===Pe);if(ut>=0){const Ze=At[ut];if(!(Ze.text||Ze.segments&&Ze.segments.length>0&&Ze.segments.some(at=>at.type==="text"&&at.content||at.type==="tool")))return Je.filter(at=>at.id!==Pe);At[ut]={...Ze,isStopped:!0}}return At});const Ft=(P.current.get(Ee)??[]).find(Je=>Je.id===Pe),Kn=Se&&Se!==ee?Se:null;Ft&&!Ft.text&&C==="direct"&&Kn&&!nt.signal.aborted&&(async(At,ut)=>{for(let Ze=0;Ze<At;Ze++){await new Promise(Fe=>setTimeout(Fe,ut));try{const at=(await le.sessions.getMessages(Kn,2)).messages.find(it=>it.role==="assistant");if(at?.content){$e(Ee,it=>{const an=[...it],Un=an.findIndex(nl=>nl.id===Pe);return Un>=0&&(an[Un]={...an[Un],text:at.content,segments:[{type:"text",content:at.content}]}),an});return}}catch{}}})(5,3e3)}wt.current=null,V.current.delete(Ee),U.current.delete(Ee),D.current===Ee&&(K(!1),R([]))};ue.current=Pn;const[ye,Ke]=j.useState(null),kt=j.useCallback(re=>{const be=re.segments?re.segments.filter(we=>we.type==="text").map(we=>we.content).join(`
55
+ `):re.text;navigator.clipboard.writeText(be),Ke(re.id),setTimeout(()=>Ke(we=>we===re.id?null:we),2e3)},[]),Et=j.useCallback(re=>{const be=D.current,we=P.current.get(be)??A,Ee=we.findIndex(Ve=>Ve.id===re.id);if(Ee<0)return;const Ae=Ee>0&&we[Ee-1]?.sender==="user"?we[Ee-1]:null,Pe=Ae?.text??"";Pe&&($e(be,Ve=>Ve.filter(mt=>mt.id!==re.id&&(Ae?mt.id!==Ae.id:!0))),Pn(Pe))},[A,$e]),wn=async re=>{Re(re.id),Be(!1),z(!1),Le.current=null;const be=D.current;P.current.delete(be),I([]),_e(we=>we.some(Ee=>Ee.id===re.id)?we:[...we,re]),await Bn(re.id,be)},sr=re=>{if(_e(be=>be.filter(we=>we.id!==re)),Se===re){const be=Xe.filter(we=>we.id!==re);be.length>0?wn(be[be.length-1]):ar()}},ar=()=>{Re(ee);const re=D.current;P.current.delete(re),I([]),z(!1),Le.current=null,Be(!1),_e(be=>{const we=be.filter(Ee=>Ee.id!==ee);return[{id:ee,agentId:k??"",userId:null,title:"New Chat",createdAt:new Date().toISOString(),lastMessageAt:new Date().toISOString()},...we]})},Dr=re=>{if(G(re),C!=="channel"){pt(!1);return}const be=re.lastIndexOf("@");if(be>=0&&(be===0||re[be-1]===" ")){const we=re.slice(be+1);if(!we.includes(" ")){pt(!0),rn(we.toLowerCase());return}}pt(!1)},Or=re=>{const be=_.lastIndexOf("@");G(_.slice(0,be)+"@"+re+" "),pt(!1)},yr=4*1024*1024,un=5,Rr=j.useCallback(re=>{const be=Array.from(re).filter(we=>we.type.startsWith("image/"));if(be.length!==0)for(const we of be){if(we.size>yr)continue;const Ee=new FileReader;Ee.onload=()=>{const Ae=Ee.result;ne(Pe=>Pe.length>=un||Pe.some(Ve=>Ve.dataUrl===Ae)?Pe:[...Pe,{id:`img_${Date.now()}_${Math.random().toString(36).slice(2,6)}`,dataUrl:Ae,name:we.name}])},Ee.readAsDataURL(we)}},[]),Ps=j.useCallback(re=>{ne(be=>be.filter(we=>we.id!==re))},[]),lr=j.useCallback(re=>{const be=re.clipboardData?.files;if(be&&be.length>0){const we=Array.from(be).filter(Ee=>Ee.type.startsWith("image/"));we.length>0&&(re.preventDefault(),Rr(we))}},[Rr]),ir=j.useCallback(re=>{re.preventDefault();const be=re.dataTransfer?.files;be&&be.length>0&&Rr(Array.from(be).filter(we=>we.type.startsWith("image/")))},[Rr]),Us=j.useCallback(re=>{re.preventDefault()},[]),En=s.find(re=>re.id===k),Yr=r?.name??"You",ka=A[A.length-1],or=q&&ka?.sender==="agent",zr=s.filter(re=>re.name.toLowerCase().includes(Ot)),Fn=o.find(re=>re.id===$),Nn=$===r?.id||!$,vr=yt.find(re=>re.channelKey===M),se=C==="channel"?vr?.name??M:C==="direct"?En?.name??"Select Agent":C==="dm"?Nn?"My Notes":Fn?.name??"Direct Message":"Chat",Oe=C==="channel"?vr?`Message ${vr.name}…`:`Message ${M}… (use @name to mention)`:C==="dm"?Nn?"Write a note to yourself…":`Message ${Fn?.name??""}…`:k?"Type a message…":"Select an agent to start chatting",qe=u&&m;return t.jsxs("div",{className:"flex-1 overflow-hidden flex",children:[t.jsx(wT,{authUser:r,agents:s,teams:ve,humans:o,tasks:Ge,externalAgents:Ue,groupChats:yt,chatMode:C,selectedAgent:k,activeChannel:M,activeDmUserId:$,onSelectAgent:re=>{N("direct"),H(re),g("chat"),u&&h()},onSelectChannel:re=>{N("channel"),Y(re),g("chat"),u&&h()},onSelectDm:re=>{N("dm"),X(re),g("chat"),u&&h()},onRefreshTeams:hn,onRefreshAgents:sn,onViewProfile:E,width:u?void 0:p.width,onResizeStart:u?void 0:p.onResizeStart,hidden:u&&m}),(!u||qe)&&t.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col min-w-0",children:[t.jsxs("div",{className:"border-b border-border-default bg-surface-secondary shrink-0 relative",children:[u?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center px-3 h-11 gap-2",children:[t.jsx("button",{onClick:()=>{window.location.hash="chat"},className:"text-fg-secondary hover:text-fg-primary transition-colors p-1 -ml-1 shrink-0",children:t.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("polyline",{points:"15 18 9 12 15 6"})})}),t.jsx("span",{className:"font-semibold text-sm truncate min-w-0 flex-1",children:se}),C==="direct"&&En&&t.jsx(my,{agent:En,tasks:Ge,onViewProfile:E})]}),t.jsxs("div",{className:"flex items-center px-3 h-9 gap-1 border-t border-border-default/40",children:[t.jsx("button",{onClick:()=>{x==="profile"?history.back():g("chat")},className:`px-2.5 py-1 text-xs font-medium rounded-md transition-colors ${x==="chat"?"bg-brand-500/15 text-brand-500":"text-fg-tertiary"}`,children:"Chat"}),t.jsx("button",{onClick:()=>{x!=="profile"&&T()},className:`px-2.5 py-1 text-xs font-medium rounded-md transition-colors ${x==="profile"?"bg-brand-500/15 text-brand-500":"text-fg-tertiary"}`,children:C==="channel"?"Team":"Profile"}),t.jsx("div",{className:"flex-1"}),C==="direct"&&t.jsxs(t.Fragment,{children:[t.jsx("button",{onClick:ar,className:"text-[11px] text-brand-500 px-2 py-1 rounded-md bg-brand-500/10 font-medium shrink-0",children:"+ New"}),t.jsx("button",{ref:gt,onClick:()=>Be(!ze),className:`p-1 rounded-md transition-colors shrink-0 ${ze?"bg-surface-overlay text-fg-primary":"text-fg-tertiary"}`,children:t.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z"})})})]})]})]}):t.jsxs("div",{className:"flex items-center px-6 h-14 gap-3",children:[t.jsx("span",{className:"font-semibold text-sm truncate",children:se}),C==="direct"&&En&&t.jsx(my,{agent:En,tasks:Ge,onViewProfile:E}),(C==="channel"||C==="dm")&&t.jsxs("span",{className:"text-xs text-fg-tertiary",children:[A.length," messages"]}),C==="dm"&&t.jsx("span",{className:"text-xs text-fg-tertiary ml-1",children:Nn?"· Private notepad":`· Direct message with ${Fn?.name??""}`}),(C==="direct"&&k||C==="channel"&&Wt)&&t.jsxs("div",{className:"flex items-center gap-0.5 ml-4 -mb-px",children:[t.jsx("button",{onClick:()=>g("chat"),className:`px-3 py-1.5 text-xs font-medium border-b-2 transition-colors ${x==="chat"?"border-brand-500 text-brand-500":"border-transparent text-fg-tertiary hover:text-fg-secondary"}`,children:"Chat"}),t.jsx("button",{onClick:()=>g("profile"),className:`px-3 py-1.5 text-xs font-medium border-b-2 transition-colors ${x==="profile"?"border-brand-500 text-brand-500":"border-transparent text-fg-tertiary hover:text-fg-secondary"}`,children:C==="channel"?"Team":"Profile"})]}),C==="direct"&&En&&t.jsxs("div",{className:"ml-auto flex items-center gap-1.5",children:[t.jsx("button",{onClick:ar,className:"text-xs text-brand-500 hover:text-brand-500 px-2.5 py-1 rounded-md hover:bg-brand-500/10 border border-brand-500/20 transition-colors flex items-center gap-1",children:"+ New Chat"}),t.jsx("button",{ref:gt,onClick:()=>Be(!ze),className:`p-1.5 rounded-md transition-colors ${ze?"bg-surface-overlay text-fg-primary":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated"}`,title:"History",children:t.jsx("svg",{className:"w-4 h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v6h4.5m4.5 0a9 9 0 11-18 0 9 9 0 0118 0z"})})})]})]}),C==="direct"&&k&&x==="chat"&&Xe.length>0&&t.jsx("div",{className:"flex items-center gap-0 px-3 overflow-x-auto scrollbar-hide border-t border-border-default/50",children:Xe.map(re=>t.jsxs("div",{className:`group flex items-center gap-1.5 px-3 py-1.5 text-xs cursor-pointer border-b-2 transition-colors shrink-0 max-w-[180px] ${re.id===Se?"border-brand-500 text-brand-500 bg-brand-500/5":"border-transparent text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated/50"}`,onClick:()=>{if(re.id===ee){Re(ee);const be=D.current;P.current.delete(be),I([])}else wn(re)},children:[t.jsx("span",{className:"truncate",children:re.id===ee?"New Chat":re.title||"Conversation"}),t.jsx("button",{onClick:be=>{be.stopPropagation(),sr(re.id)},className:"opacity-0 group-hover:opacity-100 text-fg-tertiary hover:text-fg-secondary transition-opacity shrink-0",children:"✕"})]},re.id))}),C==="direct"&&k&&ze&&t.jsxs("div",{ref:ie,className:"absolute right-4 top-full mt-1 w-72 max-h-[420px] bg-surface-secondary border border-border-default rounded-xl shadow-2xl shadow-black/40 z-50 flex flex-col overflow-hidden",children:[t.jsxs("div",{className:"px-4 py-3 border-b border-border-default flex items-center justify-between",children:[t.jsx("span",{className:"text-xs font-semibold text-fg-secondary uppercase tracking-wider",children:"History"}),t.jsx("button",{onClick:()=>Be(!1),className:"text-fg-tertiary hover:text-fg-secondary text-xs",children:"✕"})]}),t.jsxs("div",{className:"flex-1 overflow-y-auto p-2",children:[oe.length===0&&t.jsx("div",{className:"text-xs text-fg-tertiary text-center py-6",children:"No conversations yet"}),(()=>{const re=new Date,be=new Date(re.getFullYear(),re.getMonth(),re.getDate()).getTime(),we=be-864e5,Ee=be-7*864e5,Ae=[],Pe=[],Ve=[],mt=[],st=[];for(const nt of oe){const Tt=new Date(nt.lastMessageAt).getTime();Tt>=be?Pe.push(nt):Tt>=we?Ve.push(nt):Tt>=Ee?mt.push(nt):st.push(nt)}return Pe.length>0&&Ae.push({label:"Today",items:Pe}),Ve.length>0&&Ae.push({label:"Yesterday",items:Ve}),mt.length>0&&Ae.push({label:"Previous 7 days",items:mt}),st.length>0&&Ae.push({label:"Older",items:st}),Ae.map(nt=>t.jsxs("div",{className:"mb-2",children:[t.jsx("div",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider px-3 py-1.5",children:nt.label}),nt.items.map(Tt=>t.jsxs("button",{onClick:()=>{wn(Tt)},className:`w-full text-left px-3 py-2.5 rounded-lg text-xs mb-0.5 transition-colors ${Tt.id===Se?"bg-brand-600/20 text-brand-500":"text-fg-secondary hover:bg-surface-elevated"}`,children:[t.jsx("div",{className:"truncate font-medium",children:Tt.title||"Conversation"}),t.jsx("div",{className:"text-fg-tertiary text-[10px] mt-0.5",children:new Date(Tt.lastMessageAt).toLocaleString()})]},Tt.id))]},nt.label))})()]})]})]}),x==="profile"&&C==="direct"&&k&&t.jsx("div",{className:"flex-1 overflow-y-auto",children:t.jsx(ST,{agentId:k,onBack:()=>g("chat"),inline:!0})}),x==="profile"&&C==="channel"&&Wt&&t.jsx("div",{className:"flex-1 overflow-y-auto",children:t.jsx($T,{teamId:Wt,onBack:()=>g("chat"),inline:!0})}),t.jsxs("div",{ref:vn,className:`flex-1 overflow-y-auto p-5 space-y-3 ${x!=="chat"?"hidden":""}`,children:[W&&t.jsx("div",{className:"flex justify-center py-2",children:t.jsx("button",{onClick:()=>{jn()},disabled:L,className:"text-xs text-brand-500 hover:text-brand-500 disabled:opacity-50 px-4 py-1.5 border border-brand-500/30 rounded-lg",children:L?"Loading…":"↑ Load earlier messages"})}),A.length===0&&!q&&t.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-fg-tertiary text-sm space-y-2",children:[t.jsx("div",{className:"opacity-20",children:t.jsx("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:C==="channel"?t.jsxs(t.Fragment,{children:[t.jsx("path",{d:"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H6l-4 4V6c0-1.1.9-2 2-2z"}),t.jsx("line",{x1:"8",y1:"10",x2:"16",y2:"10"}),t.jsx("line",{x1:"8",y1:"14",x2:"13",y2:"14"})]}):t.jsx("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}),C==="channel"&&t.jsxs("div",{children:["No messages in ",vr?.name??M," yet."]}),C==="direct"&&!k&&t.jsx("div",{children:"Select an agent from the sidebar to start."}),C==="direct"&&k&&t.jsxs("div",{children:["Start a new conversation with ",En?.name,"."]})]}),C==="channel"?A.map(re=>t.jsxs("div",{className:"group/msg flex gap-3",children:[t.jsx("div",{className:`w-8 h-8 rounded-lg flex items-center justify-center text-xs font-bold shrink-0 cursor-pointer ${re.sender==="user"?"bg-brand-600 text-white":"bg-brand-500/15 text-brand-600 hover:ring-1 hover:ring-brand-500/40"}`,onClick:be=>{if(re.sender==="agent"&&re.agentId){const we=be.currentTarget.getBoundingClientRect();S({agentId:re.agentId,top:we.top,left:we.right+8})}},children:re.sender==="user"?Yr?.[0]??"Y":re.agentName?.[0]??"A"}),t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsxs("div",{className:"flex items-baseline gap-2",children:[t.jsx("span",{className:"text-sm font-medium text-fg-primary",children:re.sender==="user"?Yr??"You":re.agentName??"Agent"}),t.jsx("span",{className:"text-xs text-fg-tertiary",children:re.time})]}),t.jsx("div",{className:re.isError||re.sender==="agent"&&re.text.startsWith("⚠")?"mt-0.5 px-3 py-2 rounded-lg border-b-2 border-red-500/60":"mt-0.5",children:re.sender==="agent"?t.jsx(er,{content:re.text,className:"text-sm text-fg-secondary"}):t.jsxs("div",{className:"text-sm text-fg-secondary whitespace-pre-wrap",children:[re.images&&re.images.length>0&&t.jsx("div",{className:"flex flex-wrap gap-1.5 mb-1",children:re.images.map((be,we)=>t.jsx("img",{src:be,alt:"",className:"max-w-[200px] max-h-[150px] rounded-lg object-cover cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>window.open(be,"_blank")},we))}),re.text]})}),t.jsx("div",{className:"opacity-0 group-hover/msg:opacity-100 transition-opacity",children:t.jsx(fy,{msg:re,onCopy:kt,onRetry:Et,isCopied:ye===re.id})})]})]},re.id)):A.map((re,be)=>{const Ee=or&&be===A.length-1&&q,Ae=!Ee||re.isStopped;return t.jsx("div",{className:`group/msg flex ${re.sender==="user"?"justify-end":"justify-start"}`,children:t.jsxs("div",{className:"max-w-[75%]",children:[t.jsxs("div",{className:"text-xs text-fg-tertiary mb-1",children:[re.sender==="user"?Yr??"You":t.jsx(HT,{name:re.agentName??(C==="direct"?En?.name??"Agent":"Agent"),agentId:re.agentId??(C==="direct"?En?.id:void 0),agents:s,onViewProfile:E})," · ",re.time]}),t.jsx("div",{className:`px-4 py-3 rounded-2xl text-sm ${re.sender==="user"?"bg-brand-600 text-white rounded-br-sm":re.isError||re.sender==="agent"&&re.text.startsWith("⚠")?"bg-surface-chat-bubble text-fg-primary rounded-bl-sm border-b-2 border-red-500/60":"bg-surface-chat-bubble text-fg-primary rounded-bl-sm"}`,children:re.sender==="user"?t.jsxs(t.Fragment,{children:[re.images&&re.images.length>0&&t.jsx("div",{className:"flex flex-wrap gap-1.5 mb-2",children:re.images.map((Pe,Ve)=>t.jsx("img",{src:Pe,alt:"",className:"max-w-[200px] max-h-[150px] rounded-lg object-cover cursor-pointer hover:opacity-80 transition-opacity",onClick:()=>window.open(Pe,"_blank")},Ve))}),re.text&&t.jsx("span",{className:"whitespace-pre-wrap leading-relaxed",children:re.text})]}):t.jsx(UT,{msg:re,isStreaming:Ee,liveActivities:Ee?B:[]})}),Ae&&t.jsx("div",{className:`transition-opacity ${re.isStopped?"opacity-100":"opacity-0 group-hover/msg:opacity-100"} ${re.sender==="user"?"flex justify-end":""}`,children:t.jsx(fy,{msg:re,onCopy:kt,onRetry:Et,isCopied:ye===re.id})})]})},re.id)}),C==="channel"&&q&&t.jsx("div",{className:"text-xs text-fg-tertiary animate-pulse ml-11",children:"Agent is thinking…"}),t.jsx("div",{ref:cn})]}),w&&(()=>{const re=s.find(be=>be.id===w.agentId);return re?t.jsx(PT,{agent:re,anchorRect:{top:w.top,left:w.left},onClose:()=>S(null),onViewProfile:E}):null})(),t.jsxs("div",{className:`p-4 border-t border-border-default bg-surface-secondary relative shrink-0 ${x!=="chat"?"hidden":""}`,onDrop:ir,onDragOver:Us,children:[ct&&zr.length>0&&t.jsx("div",{className:"absolute bottom-full left-4 mb-1 bg-surface-elevated border border-border-default rounded-lg shadow-xl overflow-hidden z-10",children:zr.map(re=>t.jsxs("button",{onClick:()=>Or(re.name),className:"w-full text-left px-4 py-2 text-sm text-fg-secondary hover:bg-surface-overlay flex items-center gap-2",children:[t.jsx("span",{className:"text-brand-500",children:"@"}),re.name,t.jsx("span",{className:"text-xs text-fg-tertiary ml-auto",children:re.role})]},re.id))}),Q.length>0&&t.jsxs("div",{className:"flex items-center gap-2 mb-2 overflow-x-auto pb-1",children:[Q.map(re=>t.jsxs("div",{className:"relative group/img shrink-0",children:[t.jsx("img",{src:re.dataUrl,alt:re.name,className:"w-16 h-16 rounded-lg object-cover border border-border-default"}),t.jsx("button",{onClick:()=>Ps(re.id),className:"absolute -top-1.5 -right-1.5 w-5 h-5 bg-surface-secondary border border-gray-600 rounded-full flex items-center justify-center text-fg-secondary hover:text-red-500 hover:border-red-500 text-xs opacity-0 group-hover/img:opacity-100 transition-opacity",children:"×"})]},re.id)),Q.length<un&&t.jsx("button",{onClick:()=>Z.current?.click(),className:"w-16 h-16 rounded-lg border border-dashed border-gray-600 flex items-center justify-center text-fg-tertiary hover:text-fg-secondary hover:border-gray-400 transition-colors shrink-0",title:"Add more images",children:t.jsx("svg",{className:"w-5 h-5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:t.jsx("path",{d:"M12 5v14M5 12h14"})})})]}),t.jsx("input",{ref:Z,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:re=>{re.target.files&&Rr(re.target.files),re.target.value=""}}),t.jsxs("div",{className:"flex gap-2 items-end",children:[t.jsx("button",{onClick:()=>Z.current?.click(),disabled:C==="direct"&&!k,className:"px-2.5 py-2.5 text-fg-tertiary hover:text-fg-secondary disabled:opacity-40 transition-colors rounded-xl hover:bg-surface-elevated",title:"Attach images",children:t.jsxs("svg",{className:"w-5 h-5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[t.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"3"}),t.jsx("circle",{cx:"8.5",cy:"8.5",r:"1.5"}),t.jsx("path",{d:"M21 15l-5-5L5 21"})]})}),t.jsx("textarea",{value:_,onChange:re=>{Dr(re.target.value),re.target.style.height="auto",re.target.style.height=`${Math.min(re.target.scrollHeight,120)}px`},onKeyDown:re=>{re.key==="Enter"&&!re.shiftKey&&(re.preventDefault(),Pn())},onPaste:lr,placeholder:Oe,disabled:C==="direct"&&!k,rows:1,className:"flex-1 px-4 py-2.5 bg-surface-elevated border border-border-default rounded-xl text-sm focus:border-brand-500 outline-none disabled:opacity-40 transition-colors resize-none overflow-y-auto leading-5",style:{maxHeight:"120px"}}),q&&C!=="dm"&&t.jsx("button",{onClick:yn,className:"px-3 py-2.5 bg-red-600 hover:bg-red-500 text-white text-sm rounded-xl transition-colors flex items-center gap-1.5",title:"Stop agent",children:t.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"})})}),t.jsx("button",{onClick:()=>{Pn()},disabled:C==="direct"&&!k||!_.trim()&&Q.length===0,className:"px-5 py-2.5 bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white text-sm rounded-xl transition-colors",children:"Send"})]})]})]})]})}function my({agent:e,tasks:r,onViewProfile:s}){const[l,o]=j.useState(!1),[c,u]=j.useState(!1),f=j.useRef(null),m=e.status==="working",h=e.status==="error",x=m?r.find(S=>S.assignedAgentId===e.id&&S.status==="in_progress"):null,g=e.currentActivity;j.useEffect(()=>{if(!l)return;const S=T=>{f.current&&!f.current.contains(T.target)&&o(!1)};return document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[l]);const b=h?"bg-red-400 animate-pulse":m?"bg-blue-400 animate-pulse":"bg-green-400",p=h?"error":m?"working":"idle",w=g?g.type==="heartbeat"?`Heartbeat: ${g.heartbeatName??g.label}`:g.type==="chat"?g.label:g.type==="task"?`Task: ${g.label}`:g.label:"Processing...";return t.jsxs("div",{className:"relative",ref:f,children:[t.jsxs("button",{onClick:()=>o(S=>!S),className:`flex items-center gap-1.5 px-2 py-0.5 rounded-full transition-colors ${m?"bg-amber-500/10 border border-amber-500/20 hover:bg-amber-500/20":h?"bg-red-500/10 border border-red-500/20 hover:bg-red-500/20":"bg-green-500/10 border border-green-500/20 hover:bg-green-500/20"}`,children:[t.jsx("span",{className:`w-2 h-2 rounded-full ${b}`}),t.jsx("span",{className:`text-xs ${h?"text-red-500":m?"text-amber-600":"text-green-600"}`,children:p})]}),l&&h&&t.jsxs("div",{className:"absolute top-full left-0 mt-1.5 bg-surface-secondary border border-red-500/30 rounded-xl shadow-2xl z-30 w-80 p-3 space-y-2",children:[t.jsx("p",{className:"text-[10px] text-red-500 uppercase font-semibold",children:"Error Details"}),t.jsxs("div",{className:"bg-red-500/10 border border-red-500/20 rounded-lg p-2.5",children:[t.jsx("pre",{className:"text-[10px] text-red-500/80 leading-relaxed whitespace-pre-wrap break-all font-mono line-clamp-6",children:e.lastError||"Agent encountered an error. Check profile for details."}),e.lastErrorAt&&t.jsx("div",{className:"text-[9px] text-red-500/50 mt-1.5 border-t border-red-500/10 pt-1",children:new Date(e.lastErrorAt).toLocaleString()})]}),t.jsx("button",{onClick:()=>{o(!1),s?.(e.id)},className:"w-full text-center text-[10px] text-red-500 hover:text-red-500 border border-red-500/30 hover:border-red-500/50 rounded-lg py-1 transition-colors",children:"View Agent Profile →"})]}),l&&m&&t.jsxs("div",{className:"absolute top-full left-0 mt-1.5 bg-surface-secondary border border-border-default rounded-xl shadow-2xl z-30 w-80 p-3 space-y-2",children:[t.jsx("p",{className:"text-[10px] text-fg-tertiary uppercase font-semibold",children:"Current Activity"}),x?t.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-brand-500/10 border border-brand-500/30 cursor-pointer hover:bg-brand-500/10 transition-colors",onClick:()=>{o(!1),Ut.navigate("tasks",{openTask:x.id})},children:[t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-brand-400 animate-pulse shrink-0"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-xs text-brand-500 truncate",children:x.title}),t.jsx("div",{className:"text-[10px] text-fg-tertiary",children:"Working on task · Click to view"})]}),t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:"→"})]}):t.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-surface-elevated/50",children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${g?.type==="heartbeat"||g?.type==="chat","bg-blue-400 animate-pulse"}`}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-xs text-fg-secondary",children:w}),t.jsx("div",{className:"text-[10px] text-fg-tertiary",children:g?.type==="heartbeat"?"Periodic check-in task":g?.type==="chat"?"Responding to conversation":"Agent is thinking or communicating"})]})]}),t.jsx("button",{onClick:()=>{o(!1),u(!0)},className:"w-full text-center text-[10px] text-brand-500 hover:text-brand-500 border border-border-default hover:border-gray-600 rounded-lg py-1.5 transition-colors",children:"View Execution Log →"})]}),c&&t.jsx(FT,{agent:e,currentTask:x,onClose:()=>u(!1),onGoToTask:x?()=>{u(!1),Ut.navigate("tasks",{openTask:x.id})}:void 0})]})}function FT({agent:e,currentTask:r,onClose:s,onGoToTask:l}){const o=e.currentActivity,[c,u]=j.useState([]),[f,m]=j.useState([]),[h,x]=j.useState(!0),g=j.useRef(null),b=j.useRef(null),p=j.useRef(!0);j.useEffect(()=>{const T=b.current;if(!T)return;const E=()=>{p.current=T.scrollHeight-T.scrollTop-T.clientHeight<80};return T.addEventListener("scroll",E,{passive:!0}),()=>T.removeEventListener("scroll",E)},[]),j.useEffect(()=>{x(!0),r?le.tasks.getLogs(r.id).then(T=>{u(T.logs),x(!1)}).catch(()=>x(!1)):o?le.agents.getActivityLogs(e.id,o.id).then(T=>{m(T.logs),x(!1)}).catch(()=>x(!1)):x(!1)},[e.id,o,r]),j.useEffect(()=>r?Cn.on("task:log",E=>{const C=E.payload;if(C.taskId!==r.id)return;const N={id:C.id,taskId:C.taskId,agentId:C.agentId,seq:C.seq,type:C.logType,content:C.content,metadata:C.metadata,createdAt:C.createdAt};u(k=>N.id&&k.some(H=>H.id===N.id)?k:[...k,N])}):void 0,[r]),j.useEffect(()=>!o||r?void 0:Cn.on("agent:activity_log",E=>{const C=E.payload;if(C.agentId!==e.id||C.activityId!==o.id)return;const N={seq:C.seq,type:C.type,content:C.content,metadata:C.metadata,createdAt:C.createdAt};m(k=>k.some(H=>H.seq===N.seq)?k:[...k,N])}),[e.id,o,r]),j.useEffect(()=>{p.current&&g.current?.scrollIntoView({behavior:"smooth"})},[c,f]);const w=o?.type==="heartbeat"?"Heartbeat Task":o?.type==="chat"?"Chat Response":o?.type==="task"?"Task Execution":"Processing",S=o?.type==="heartbeat"||o?.type==="chat"?"text-blue-600":"text-brand-500";return t.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:s,children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl w-[780px] max-w-[95vw] max-h-[75vh] flex flex-col shadow-2xl",onClick:T=>T.stopPropagation(),children:[t.jsxs("div",{className:"flex items-center justify-between px-5 py-3.5 border-b border-border-default",children:[t.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[t.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${o?.type==="heartbeat"||o?.type==="chat","bg-blue-400 animate-pulse"}`}),t.jsxs("div",{className:"min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-sm font-medium",children:e.name}),t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded-full border ${S} border-current/20 bg-current/5`,children:w})]}),t.jsx("div",{className:"text-xs text-fg-secondary truncate mt-0.5",children:o?.label??r?.title??"Processing..."}),o?.startedAt&&t.jsxs("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:["Started ",new Date(o.startedAt).toLocaleTimeString()]})]})]}),t.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[l&&t.jsx("button",{onClick:l,className:"px-2.5 py-1 text-xs bg-brand-600 hover:bg-brand-500 text-white rounded-lg transition-colors",children:"Go to Task →"}),t.jsx("button",{onClick:s,className:"text-fg-tertiary hover:text-fg-secondary text-lg leading-none px-1",children:"×"})]})]}),t.jsxs("div",{ref:b,className:"flex-1 overflow-y-auto p-4 space-y-1.5",children:[h?t.jsx("div",{className:"text-center py-8 text-xs text-fg-tertiary",children:"Loading logs…"}):r&&c.length>0?t.jsx(t.Fragment,{children:bo(c.slice(-60).map(Jm).filter(T=>T!=null)).map((T,E)=>t.jsx(Vl,{entry:T,showTime:!0},`t-${E}`))}):f.length>0?t.jsx(t.Fragment,{children:bo(f.map(W1).filter(T=>T!=null)).map((T,E)=>t.jsx(Vl,{entry:T,showTime:!0},`a-${E}`))}):e.status==="working"?t.jsxs("div",{className:"text-center py-8 space-y-2",children:[t.jsx("div",{className:"text-xs text-fg-tertiary",children:"Agent just started processing..."}),t.jsx("div",{className:"text-[10px] text-fg-tertiary",children:"Execution logs will appear here as the agent makes progress."})]}):t.jsx("div",{className:"text-center py-8 text-xs text-fg-tertiary",children:"No execution logs available."}),e.status==="working"&&t.jsx(wu,{label:"Working"}),t.jsx("div",{ref:g})]})]})})}function ij({theme:e,onThemeChange:r}={}){const[s,l]=j.useState(null),[o,c]=j.useState(null),[u,f]=j.useState(""),[m,h]=j.useState(!1),[x,g]=j.useState(null),[b,p]=j.useState(null),[w,S]=j.useState(null),[T,E]=j.useState(null),[C,N]=j.useState(!1),[k,H]=j.useState(null),[M,Y]=j.useState(null),[$,X]=j.useState(!1),[P,U]=j.useState(null),[V,D]=j.useState({}),[A,I]=j.useState(!1),[_,G]=j.useState([]),[q,K]=j.useState([]),[B,R]=j.useState(null),[W,z]=j.useState(null),[L,F]=j.useState(""),[Q,ne]=j.useState(null),Z=j.useRef(null),ee=j.useRef(!1),[oe,pe]=j.useState(!1),[Se,Re]=j.useState(200),[ze,Be]=j.useState(!1),[Xe,_e]=j.useState(null),[Ye,ht]=j.useState(null),[gt,ie]=j.useState(!1),[Le,xt]=j.useState(new Set),[yt,Zt]=j.useState(null),[ve,Me]=j.useState(!1),Ue=()=>({"Content-Type":"application/json",Authorization:`Bearer ${localStorage.getItem("markus_token")??""}`}),et=j.useCallback(()=>{le.health().then(l).catch(()=>{}),fetch("/api/settings/llm").then(ue=>ue.ok?ue.json():Promise.reject(ue.status)).then(ue=>{ue&&typeof ue=="object"&&"providers"in ue&&(c(ue),f(ue.defaultProvider))}).catch(()=>{})},[]),Ge=j.useCallback(()=>{fetch("/api/settings/oauth/providers").then(ue=>ue.ok?ue.json():Promise.reject(ue.status)).then(ue=>G(ue.providers??[])).catch(()=>{})},[]),Ht=j.useCallback(()=>{fetch("/api/settings/oauth/profiles",{headers:Ue()}).then(ue=>ue.ok?ue.json():Promise.reject(ue.status)).then(ue=>K(ue.profiles??[])).catch(()=>{})},[]),_t=j.useCallback(()=>{le.settings.getAgent().then(ue=>{ue&&typeof ue.maxToolIterations=="number"&&Re(ue.maxToolIterations)}).catch(()=>{})},[]),jt=j.useCallback(()=>{ie(!0),le.system.storage().then(ht).catch(()=>{}).finally(()=>ie(!1)),le.system.orphans().then(Zt).catch(()=>{})},[]);j.useEffect(()=>{et(),Ge(),Ht(),_t(),jt()},[et,Ge,Ht,_t,jt]),j.useEffect(()=>{const ue=()=>jt();return window.addEventListener("markus:data-changed",ue),()=>window.removeEventListener("markus:data-changed",ue)},[jt]);const vt=j.useCallback(async()=>{X(!0),U(null),Y(null),D({});try{const ue=await fetch("/api/settings/env-models",{headers:Ue()});if(!ue.ok){U({type:"err",text:`Detection failed (HTTP ${ue.status})`});return}const te=await ue.json();if(Y(te),te.detected.length===0)U({type:"err",text:"No model API keys found in environment variables"});else{const Ne={};for(const De of te.detected)Ne[De.provider]=!0;D(Ne)}}catch{U({type:"err",text:"Failed to detect environment variables"})}finally{X(!1)}},[]),he=o?Object.values(o.providers).some(ue=>ue.configured):!1;j.useEffect(()=>{o&&!he&&!ee.current&&(ee.current=!0,vt())},[o,he,vt]);const He=async()=>{if(!(!u||u===o?.defaultProvider)){h(!0),g(null);try{const ue=await fetch("/api/settings/llm",{method:"POST",headers:Ue(),body:JSON.stringify({defaultProvider:u})}),te=await ue.json();ue.ok?(c(te),g({type:"ok",text:`Default provider updated to ${te.defaultProvider}`})):g({type:"err",text:te.error??"Save failed"})}catch{g({type:"err",text:"Network error"})}finally{h(!1)}}},ft=async(ue,te)=>{S(ue);try{const Ne=await fetch(`/api/settings/llm/providers/${ue}/toggle`,{method:"POST",headers:Ue(),body:JSON.stringify({enabled:te})});if(Ne.ok){const De=await Ne.json();c(De)}}catch{}finally{S(null)}},ct=async()=>{N(!0),H(null);try{const te=await(await fetch("/api/settings/import/openclaw",{method:"POST",headers:Ue(),body:JSON.stringify({preview:!0})})).json();"error"in te?H({type:"err",text:te.error}):E(te)}catch{H({type:"err",text:"Detection failed"})}finally{N(!1)}},pt=async()=>{N(!0),H(null);try{const te=await(await fetch("/api/settings/import/openclaw",{method:"POST",headers:Ue(),body:JSON.stringify({preview:!1})})).json();"error"in te?H({type:"err",text:te.error}):(H({type:"ok",text:`Imported ${te.appliedModels} model configs from OpenClaw`}),et())}catch{H({type:"err",text:"Import failed"})}finally{N(!1)}},Ot=async()=>{if(!M)return;const ue=M.detected.filter(te=>V[te.provider]);if(ue.length===0){U({type:"err",text:"Select at least one provider to apply"});return}I(!0),U(null);try{const te=await fetch("/api/settings/env-models",{method:"POST",headers:Ue(),body:JSON.stringify({providers:ue.map(De=>({provider:De.provider,model:De.model,baseUrl:De.baseUrl,enabled:!0}))})});if(!te.ok){U({type:"err",text:`Apply failed (HTTP ${te.status})`});return}const Ne=await te.json();U({type:"ok",text:Ne.message}),Y(null),D({}),et()}catch{U({type:"err",text:"Failed to apply environment configs"})}finally{I(!1)}},rn=async ue=>{R(ue),z(null);try{const te=await fetch("/api/settings/oauth/login",{method:"POST",headers:Ue(),body:JSON.stringify({provider:ue})}),Ne=await te.json();if(!te.ok||Ne.error){z({type:"err",text:Ne.error??"Login failed"});return}Ne.authorizeUrl&&(window.open(Ne.authorizeUrl,"_blank","noopener"),ne(ue),z({type:"ok",text:"Browser opened for authorization. Complete the login in the browser window..."}),Z.current&&clearInterval(Z.current),Z.current=setInterval(async()=>{try{const dt=await(await fetch(`/api/settings/oauth/status?provider=${ue}`,{headers:Ue()})).json();!dt.pending&&dt.profiles.some($e=>$e.provider===ue&&$e.hasOAuth)&&(Z.current&&clearInterval(Z.current),Z.current=null,ne(null),K(dt.profiles),z({type:"ok",text:`Connected to ${ue} via OAuth`}),et())}catch{}},2e3))}catch{z({type:"err",text:"Network error during OAuth login"})}finally{R(null)}},Wt=async()=>{if(L.trim()){R("manual"),z(null);try{const ue=await fetch("/api/settings/oauth/callback",{method:"POST",headers:Ue(),body:JSON.stringify({callbackUrl:L})}),te=await ue.json();if(!ue.ok||te.error){z({type:"err",text:te.error??"Callback failed"});return}z({type:"ok",text:`Connected to ${te.profile?.provider??"provider"} via OAuth`}),F(""),ne(null),Z.current&&(clearInterval(Z.current),Z.current=null),Ht(),et()}catch{z({type:"err",text:"Network error"})}finally{R(null)}}},cn=async ue=>{try{(await fetch(`/api/settings/oauth/profiles/${encodeURIComponent(ue)}`,{method:"DELETE",headers:Ue()})).ok&&(Ht(),et(),z({type:"ok",text:"Auth profile deleted"}))}catch{}};j.useEffect(()=>()=>{Z.current&&clearInterval(Z.current)},[]);const vn=o?.providers?Object.entries(o.providers).filter(([,ue])=>ue.configured&&ue.enabled).map(([ue])=>ue):[],wt=o&&!he&&!oe;return t.jsxs("div",{className:"flex-1 overflow-y-auto",children:[t.jsx("div",{className:"px-6 h-14 flex items-center border-b border-border-default bg-surface-secondary",children:t.jsx("h2",{className:"text-lg font-semibold",children:"Settings"})}),t.jsxs("div",{className:"p-7 space-y-10 max-w-4xl",children:[t.jsx(Os,{title:"Appearance",children:t.jsx("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-sm font-medium",children:"Theme"}),t.jsx("div",{className:"text-xs text-fg-tertiary mt-0.5",children:"Choose light, dark, or follow your system preference"})]}),t.jsx("div",{className:"flex gap-1 bg-surface-elevated rounded-lg p-0.5",children:[["system","System"],["light","Light"],["dark","Dark"]].map(([ue,te])=>t.jsx("button",{onClick:()=>r?.(ue),className:`px-3 py-1.5 text-xs rounded-md transition-colors ${e===ue?"bg-brand-600 text-white":"text-fg-secondary hover:text-fg-primary"}`,children:te},ue))})]})})}),wt&&t.jsxs("div",{className:"relative bg-gradient-to-br from-brand-500/10 to-surface-secondary border border-brand-500/20 rounded-2xl p-6 space-y-5",children:[t.jsx("button",{onClick:()=>pe(!0),className:"absolute top-4 right-4 text-fg-tertiary hover:text-fg-secondary text-xs",children:"Skip"}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-base font-semibold text-fg-primary",children:"Welcome — Configure Your LLM"}),t.jsx("p",{className:"text-sm text-fg-secondary mt-1",children:"Markus needs at least one LLM provider to work. Choose a way to get started:"})]}),t.jsxs(Th,{step:"1",title:"From Environment Variables",description:"Automatically detected API keys from .env or system environment.",active:!!(M&&M.detected.length>0),children:[$&&t.jsx("div",{className:"text-xs text-fg-tertiary",children:"Detecting..."}),M&&M.detected.length>0&&t.jsxs("div",{className:"space-y-2",children:[M.detected.map(ue=>t.jsxs("label",{className:"flex items-center gap-3 bg-surface-elevated/30 rounded-lg px-3 py-2 cursor-pointer hover:bg-surface-elevated/50 transition-colors",children:[t.jsx("input",{type:"checkbox",checked:V[ue.provider]??!1,onChange:te=>D({...V,[ue.provider]:te.target.checked}),className:"w-4 h-4 rounded bg-surface-overlay border-gray-600 text-brand-500 focus:ring-brand-500"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("span",{className:"text-sm text-fg-primary",children:ue.displayName}),t.jsx("span",{className:"text-xs text-fg-tertiary ml-2",children:ue.model})]}),t.jsx("code",{className:"text-[10px] text-fg-tertiary",children:ue.apiKeyPreview})]},ue.provider)),t.jsx("button",{onClick:()=>{Ot()},disabled:A||Object.values(V).filter(Boolean).length===0,className:"w-full px-4 py-2 bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white text-sm rounded-lg transition-colors",children:A?"Applying...":`Apply ${Object.values(V).filter(Boolean).length} Provider(s)`})]}),M&&M.detected.length===0&&t.jsxs("div",{className:"text-xs text-fg-tertiary",children:["No API keys found. Set environment variables like ",t.jsx("code",{className:"text-fg-secondary",children:"ANTHROPIC_API_KEY"})," or ",t.jsx("code",{className:"text-fg-secondary",children:"OPENAI_API_KEY"})," and restart the server."]}),P&&t.jsx(Ua,{type:P.type,text:P.text})]}),t.jsxs(Th,{step:"2",title:"From OpenClaw Config",description:"Import model configs from an existing OpenClaw installation.",children:[T?T.found?t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"text-xs text-green-600",children:["Found: ",t.jsx("code",{className:"text-fg-secondary",children:T.summary.configPath})]}),T.summary.models&&t.jsxs("div",{className:"text-xs text-fg-secondary",children:[T.summary.models.providerCount," providers, ",T.summary.models.providers.reduce((ue,te)=>ue+te.modelCount,0)," models"]}),t.jsx("button",{onClick:()=>{pt()},disabled:C,className:"w-full px-4 py-2 bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white text-sm rounded-lg transition-colors",children:C?"Importing...":"Import Model Configs"})]}):t.jsx("div",{className:"text-xs text-fg-tertiary",children:"No OpenClaw config found."}):t.jsx("button",{onClick:()=>{ct()},disabled:C,className:"px-4 py-2 border border-border-default hover:bg-surface-elevated disabled:opacity-40 text-fg-secondary text-sm rounded-lg transition-colors",children:C?"Detecting...":"Detect OpenClaw"}),k&&t.jsx(Ua,{type:k.type,text:k.text})]}),t.jsx(Th,{step:"3",title:"Manual Configuration",description:t.jsxs(t.Fragment,{children:["Edit ",t.jsx("code",{className:"text-fg-secondary",children:"~/.markus/markus.json"})," directly, then restart the server."]})})]}),t.jsx(Os,{title:"System Status",children:s?t.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[t.jsx(Ah,{label:"Status",value:s.status==="ok"?"Healthy":s.status,color:"green"}),t.jsx(Ah,{label:"Version",value:s.version,color:"indigo"}),t.jsx(Ah,{label:"Active Agents",value:String(s.agents),color:"purple"})]}):t.jsx("div",{className:"text-sm text-fg-tertiary",children:"Loading..."})}),t.jsx(Os,{title:"Default LLM Provider",children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 space-y-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-sm font-medium",children:"Primary Provider"}),t.jsx("div",{className:"text-xs text-fg-tertiary mt-0.5",children:"Used for all agent interactions unless overridden"})]}),t.jsxs("div",{className:"flex items-center gap-3",children:[o?t.jsx("select",{value:u,onChange:ue=>{f(ue.target.value),g(null)},className:"px-3 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-sm w-48 focus:border-brand-500 outline-none",children:vn.length>0?vn.map(ue=>t.jsx("option",{value:ue,children:o.providers[ue]?.displayName??ue},ue)):t.jsx("option",{value:"",children:"No providers configured"})}):t.jsx("div",{className:"text-xs text-fg-tertiary",children:"Loading..."}),u!==o?.defaultProvider&&t.jsx("button",{onClick:()=>{He()},disabled:m,className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white rounded-lg transition-colors",children:m?"Saving...":"Save"})]})]}),x&&t.jsx(Ua,{type:x.type,text:x.text})]})}),_.length>0&&t.jsx(Os,{title:"OAuth Authentication",children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 space-y-5",children:[t.jsx("div",{className:"text-sm text-fg-secondary",children:"Connect to LLM providers using your existing subscription via OAuth. No API key required."}),t.jsx("div",{className:"space-y-3",children:_.map(ue=>{const te=q.find(De=>De.provider===ue.name&&De.hasOAuth),Ne=Q===ue.name;return t.jsxs("div",{className:"flex items-center justify-between bg-surface-elevated/30 rounded-lg px-4 py-3",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("span",{className:`w-2 h-2 rounded-full ${te?"bg-green-400":"bg-gray-600"}`}),t.jsxs("div",{children:[t.jsx("div",{className:"text-sm font-medium text-fg-primary",children:ue.displayName}),te&&t.jsxs("div",{className:"text-xs text-fg-tertiary mt-0.5",children:[te.accountId&&t.jsxs("span",{children:["Account: ",te.accountId]}),te.oauthExpired&&t.jsx("span",{className:"text-amber-500 ml-2",children:"Token expired"}),!te.oauthExpired&&t.jsx("span",{className:"text-green-600 ml-2",children:"Connected"})]})]})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[te&&t.jsx("button",{onClick:()=>{cn(te.id)},className:"px-2 py-1 text-xs text-red-400 hover:text-red-300 hover:bg-red-500/10 rounded transition-colors",title:"Disconnect",children:"Disconnect"}),t.jsx("button",{onClick:()=>{rn(ue.name)},disabled:B===ue.name||Ne,className:`px-4 py-1.5 text-xs rounded-lg transition-colors ${te?"border border-border-default text-fg-secondary hover:bg-surface-elevated":"bg-brand-600 hover:bg-brand-500 text-white"} disabled:opacity-40`,children:B===ue.name?"Starting...":Ne?"Waiting...":te?"Reconnect":"Connect"})]})]},ue.name)})}),Q&&t.jsxs("div",{className:"border-t border-border-default pt-4 space-y-3",children:[t.jsx("div",{className:"text-xs text-fg-tertiary",children:"If the browser didn't open or you're on a remote machine, paste the redirect URL here:"}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{type:"text",value:L,onChange:ue=>F(ue.target.value),placeholder:"http://localhost:1455/auth/callback?code=...&state=...",className:"flex-1 px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-xs text-fg-primary placeholder-fg-tertiary focus:border-brand-500 outline-none"}),t.jsx("button",{onClick:()=>{Wt()},disabled:!L.trim()||B==="manual",className:"px-4 py-2 bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white text-xs rounded-lg transition-colors",children:B==="manual"?"Processing...":"Submit"})]})]}),q.length>0&&t.jsxs("div",{className:"border-t border-border-default pt-4 space-y-2",children:[t.jsx("div",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider",children:"Auth Profiles"}),q.map(ue=>t.jsxs("div",{className:"flex items-center justify-between text-xs px-3 py-2 bg-surface-elevated/20 rounded-lg",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${ue.hasOAuth&&!ue.oauthExpired?"bg-green-400":ue.oauthExpired?"bg-amber-400":"bg-gray-500"}`}),t.jsx("span",{className:"text-fg-secondary",children:ue.label??ue.id}),t.jsx("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-surface-overlay text-fg-tertiary",children:ue.authType})]}),t.jsxs("div",{className:"flex items-center gap-3",children:[ue.accountId&&t.jsx("span",{className:"text-fg-tertiary",children:ue.accountId}),t.jsx("span",{className:"text-fg-tertiary",children:new Date(ue.updatedAt).toLocaleDateString()}),t.jsx("button",{onClick:()=>{cn(ue.id)},className:"text-red-400 hover:text-red-300 transition-colors",title:"Delete",children:t.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})})]})]},ue.id))]}),W&&t.jsx(Ua,{type:W.type,text:W.text})]})}),t.jsxs(Os,{title:"Model Providers & Pricing",children:[t.jsx("div",{className:"space-y-3",children:o&&Object.entries(o.providers).map(([ue,te])=>t.jsxs("div",{className:`bg-surface-secondary border rounded-xl overflow-hidden transition-colors ${te.configured?"border-border-default hover:border-gray-600":"border-border-default/50 opacity-60"}`,children:[t.jsxs("div",{className:"flex items-center justify-between px-5 py-4 cursor-pointer",onClick:()=>p(b===ue?null:ue),children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("span",{className:`w-2 h-2 rounded-full ${te.configured&&te.enabled?"bg-green-400":te.configured?"bg-amber-400":"bg-gray-600"}`}),t.jsxs("div",{children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-sm font-medium",children:te.displayName??ue}),ue===o.defaultProvider&&t.jsx("span",{className:"text-[10px] bg-brand-500/15 text-brand-500 px-1.5 py-0.5 rounded",children:"default"}),te.configured&&!te.enabled&&t.jsx("span",{className:"text-[10px] bg-amber-500/15 text-amber-600 px-1.5 py-0.5 rounded",children:"disabled"}),te.oauthConnected&&t.jsx("span",{className:"text-[10px] bg-green-500/15 text-green-600 px-1.5 py-0.5 rounded",children:"OAuth"})]}),t.jsx("div",{className:"text-xs text-fg-tertiary mt-0.5",children:te.model||"Not configured"})]})]}),t.jsxs("div",{className:"flex items-center gap-4",children:[te.configured&&t.jsx("button",{onClick:Ne=>{Ne.stopPropagation(),ft(ue,!te.enabled)},disabled:w===ue,className:`relative inline-flex h-5 w-9 items-center rounded-full transition-colors ${te.enabled?"bg-green-500":"bg-gray-600"} ${w===ue?"opacity-50":""}`,title:te.enabled?"Click to disable":"Click to enable",children:t.jsx("span",{className:`inline-block h-3.5 w-3.5 rounded-full bg-white transition-transform ${te.enabled?"translate-x-4":"translate-x-1"}`})}),te.contextWindow&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[(te.contextWindow/1e3).toFixed(0),"K ctx"]}),te.cost&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["$",te.cost.input,"/",te.cost.output," per 1M"]}),t.jsx("span",{className:"text-fg-tertiary text-xs",children:b===ue?"▲":"▼"})]})]}),b===ue&&t.jsxs("div",{className:"px-5 pb-4 border-t border-border-default pt-4 space-y-4",children:[te.configured&&t.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[t.jsx(ma,{label:"Model",value:te.model}),t.jsx(ma,{label:"Context Window",value:te.contextWindow?`${(te.contextWindow/1e3).toFixed(0)}K tokens`:"N/A"}),t.jsx(ma,{label:"Max Output",value:te.maxOutputTokens?`${(te.maxOutputTokens/1e3).toFixed(0)}K tokens`:"N/A"}),t.jsx(ma,{label:"Base URL",value:te.baseUrl??"Default"})]}),te.cost&&t.jsxs("div",{className:"bg-surface-elevated/40 rounded-lg p-3",children:[t.jsx("div",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider mb-2",children:"Pricing (per 1M tokens)"}),t.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[t.jsx(ma,{label:"Input",value:`$${te.cost.input}`}),t.jsx(ma,{label:"Output",value:`$${te.cost.output}`}),te.cost.cacheRead!=null&&t.jsx(ma,{label:"Cache Read",value:`$${te.cost.cacheRead}`}),te.cost.cacheWrite!=null&&t.jsx(ma,{label:"Cache Write",value:`$${te.cost.cacheWrite}`})]})]}),te.models&&te.models.length>0&&t.jsxs("div",{children:[t.jsx("div",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider mb-2",children:"Available Models"}),t.jsx("div",{className:"space-y-1.5",children:te.models.map(Ne=>t.jsxs("div",{className:"flex items-center justify-between px-3 py-2 rounded-lg bg-surface-elevated/30 text-xs",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-fg-secondary",children:Ne.name}),Ne.reasoning&&t.jsx("span",{className:"text-[9px] bg-amber-500/15 text-amber-600 px-1 py-0.5 rounded",children:"reasoning"}),Ne.inputTypes?.includes("image")&&t.jsx("span",{className:"text-[9px] bg-blue-500/15 text-blue-600 px-1 py-0.5 rounded",children:"vision"})]}),t.jsxs("div",{className:"flex items-center gap-3 text-fg-tertiary",children:[t.jsxs("span",{children:[(Ne.contextWindow/1e3).toFixed(0),"K ctx"]}),t.jsxs("span",{children:["$",Ne.cost.input,"/$",Ne.cost.output]})]})]},Ne.id))})]}),!te.configured&&t.jsxs("div",{className:"text-xs text-fg-tertiary",children:["Configure the API key in ",t.jsx("code",{className:"text-fg-secondary",children:"~/.markus/markus.json"})," or environment variables to enable this provider."]})]})]},ue))}),t.jsxs("div",{className:"text-xs text-fg-tertiary px-1 mt-3",children:["Configure API keys in ",t.jsx("code",{className:"text-fg-tertiary",children:"~/.markus/markus.json"})," or environment variables"]})]}),t.jsx("div",{className:"border-t border-border-default"}),t.jsx(Os,{title:"Environment Variable Configuration",children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 space-y-4",children:[t.jsx("div",{className:"text-sm text-fg-secondary",children:"Detect model API keys from environment variables and write them to the config file."}),t.jsxs("button",{onClick:()=>{vt()},disabled:$,className:"px-4 py-2 border border-border-default hover:bg-surface-elevated disabled:opacity-40 text-fg-secondary text-sm rounded-lg transition-colors flex items-center gap-2",children:[t.jsx("svg",{className:`w-4 h-4 ${$?"animate-spin":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),$?"Detecting...":"Refresh Environment Variables"]}),M&&M.detected.length>0&&t.jsxs("div",{className:"border-t border-border-default pt-4 space-y-3",children:[t.jsx("div",{className:"text-xs text-fg-tertiary uppercase tracking-wider",children:"Detected Providers — select to apply:"}),M.detected.map(ue=>t.jsxs("label",{className:"flex items-center justify-between bg-surface-elevated/30 rounded-lg px-4 py-3 cursor-pointer hover:bg-surface-elevated/50 transition-colors",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("input",{type:"checkbox",checked:V[ue.provider]??!1,onChange:te=>D({...V,[ue.provider]:te.target.checked}),className:"w-4 h-4 rounded bg-surface-overlay border-gray-600 text-brand-500 focus:ring-brand-500"}),t.jsxs("div",{children:[t.jsx("div",{className:"text-sm text-fg-primary font-medium",children:ue.displayName}),t.jsxs("div",{className:"text-xs text-fg-tertiary mt-0.5",children:["Key: ",t.jsx("code",{className:"text-fg-secondary",children:ue.apiKeyPreview})," / ","Model: ",t.jsx("code",{className:"text-fg-secondary",children:ue.model}),ue.baseUrl&&t.jsxs(t.Fragment,{children:[" / ","URL: ",t.jsx("code",{className:"text-fg-secondary",children:ue.baseUrl})]})]})]})]}),t.jsx("div",{className:"text-xs text-fg-tertiary",children:Object.keys(ue.envVars).map(te=>t.jsx("div",{children:t.jsx("code",{children:te})},te))})]},ue.provider)),M.timeoutMs&&t.jsxs("div",{className:"text-xs text-fg-tertiary",children:["LLM Timeout: ",t.jsxs("code",{className:"text-fg-secondary",children:[M.timeoutMs,"ms"]})," (from ",t.jsx("code",{children:"LLM_TIMEOUT_MS"}),")"]}),t.jsx("button",{onClick:()=>{Ot()},disabled:A||Object.values(V).filter(Boolean).length===0,className:"px-4 py-2 bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white text-sm rounded-lg transition-colors",children:A?"Applying...":`Apply ${Object.values(V).filter(Boolean).length} Provider(s) to Config`})]}),P&&t.jsx(Ua,{type:P.type,text:P.text})]})}),t.jsx(Os,{title:"Import from OpenClaw",children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 space-y-4",children:[t.jsx("div",{className:"text-sm text-fg-secondary",children:"Detect and import LLM configurations from an existing OpenClaw installation."}),t.jsx("div",{className:"flex gap-3",children:t.jsx("button",{onClick:()=>{ct()},disabled:C,className:"px-4 py-2 border border-border-default hover:bg-surface-elevated disabled:opacity-40 text-fg-secondary text-sm rounded-lg transition-colors",children:C?"Detecting...":"Detect OpenClaw Config"})}),T&&T.found&&t.jsxs("div",{className:"border-t border-border-default pt-4 space-y-3",children:[t.jsxs("div",{className:"text-xs text-green-600",children:["Found OpenClaw config at: ",t.jsx("code",{className:"text-fg-secondary",children:T.summary.configPath})]}),T.summary.models&&t.jsxs("div",{className:"bg-surface-elevated/30 rounded-lg p-3",children:[t.jsxs("div",{className:"text-xs text-fg-tertiary mb-2",children:[T.summary.models.providerCount," model providers found:"]}),t.jsx("div",{className:"space-y-1",children:T.summary.models.providers.map(ue=>t.jsxs("div",{className:"flex items-center justify-between text-xs",children:[t.jsx("span",{className:"text-fg-secondary",children:ue.name}),t.jsxs("span",{className:"text-fg-tertiary",children:[ue.modelCount," models ",ue.baseUrl?`(${ue.baseUrl})`:""]})]},ue.name))})]}),T.summary.channels&&T.summary.channels.length>0&&t.jsx("div",{className:"bg-surface-elevated/30 rounded-lg p-3",children:t.jsxs("div",{className:"text-xs text-fg-tertiary mb-1",children:["Channels: ",T.summary.channels.join(", ")]})}),t.jsx("button",{onClick:()=>{pt()},disabled:C,className:"px-4 py-2 bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white text-sm rounded-lg transition-colors",children:C?"Importing...":"Import Model Configs"})]}),k&&t.jsx(Ua,{type:k.type,text:k.text})]})}),t.jsx(Os,{title:"Agent Execution",children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 space-y-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-sm font-medium text-fg-primary",children:"Max Tool Iterations"}),t.jsx("div",{className:"text-xs text-fg-tertiary mt-0.5",children:"Safety cap on tool call loops per agent turn (applies to all agents and subagents)"})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("input",{type:"number",min:1,max:1e4,value:Se,onChange:ue=>{Re(Number(ue.target.value)),_e(null)},className:"w-24 px-3 py-1.5 text-sm border border-border-default rounded-lg bg-surface-primary text-fg-primary text-right"}),t.jsx("button",{disabled:ze,onClick:async()=>{Be(!0),_e(null);try{const ue=await le.settings.updateAgent({maxToolIterations:Se});Re(ue.maxToolIterations),_e({type:"ok",text:"Saved"})}catch{_e({type:"err",text:"Failed to save"})}Be(!1)},className:"px-3 py-1.5 text-xs bg-brand-500 text-white rounded-lg hover:bg-brand-600 transition-colors disabled:opacity-40",children:ze?"Saving…":"Save"})]})]}),Xe&&t.jsx(Ua,{type:Xe.type,text:Xe.text})]})}),t.jsx(Os,{title:"Data & Storage",children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 space-y-5",children:[gt&&!Ye&&t.jsx("div",{className:"text-sm text-fg-tertiary",children:"Scanning storage..."}),Ye&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-lg font-semibold text-fg-primary",children:us(Ye.totalSize)}),t.jsx("div",{className:"text-xs text-fg-tertiary font-mono mt-0.5",children:Ye.dataDir})]}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("button",{onClick:()=>jt(),disabled:gt,className:"px-3 py-1.5 text-xs border border-border-default hover:bg-surface-elevated rounded-lg text-fg-secondary transition-colors disabled:opacity-40",children:gt?"Scanning...":"Refresh"}),t.jsx("button",{onClick:()=>{le.system.openPath(Ye.dataDir)},className:"px-3 py-1.5 text-xs border border-border-default hover:bg-surface-elevated rounded-lg text-fg-secondary transition-colors",children:"Open in Finder"})]})]}),t.jsxs("div",{className:"border-t border-border-default pt-4",children:[t.jsx("h4",{className:"text-xs font-semibold text-fg-secondary mb-3",children:"Storage Breakdown"}),t.jsx("div",{className:"space-y-1.5",children:Ye.breakdown.filter(ue=>ue.size>0).map(ue=>t.jsxs("div",{className:"flex items-center justify-between py-1.5 px-3 rounded-lg bg-surface-elevated/40",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("span",{className:"text-sm text-fg-primary",children:ue.name}),t.jsx("span",{className:"text-xs text-fg-tertiary ml-2",children:ue.description})]}),t.jsx("span",{className:"text-sm font-medium text-fg-secondary tabular-nums shrink-0 ml-3",children:us(ue.size)})]},ue.name))})]}),Ye.agents.length>0&&t.jsxs("div",{className:"border-t border-border-default pt-4",children:[t.jsxs("h4",{className:"text-xs font-semibold text-fg-secondary mb-3",children:["Agent Storage (",Ye.agents.length,")"]}),t.jsx("div",{className:"space-y-1",children:Ye.agents.map(ue=>{const te=Le.has(ue.id);return t.jsxs("div",{className:"rounded-lg bg-surface-elevated/40 overflow-hidden",children:[t.jsxs("div",{className:"flex items-center justify-between py-2 px-3 cursor-pointer hover:bg-surface-elevated/70",onClick:()=>xt(Ne=>{const De=new Set(Ne);return De.has(ue.id)?De.delete(ue.id):De.add(ue.id),De}),children:[t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:te?"▼":"▶"}),t.jsx("button",{onClick:Ne=>{Ne.stopPropagation(),Ut.navigate("chat",{agentId:ue.id})},className:"text-sm text-brand-500 hover:text-brand-400 truncate",children:ue.name}),t.jsx("span",{className:"text-[10px] text-fg-tertiary font-mono truncate",children:ue.id})]}),t.jsx("span",{className:"text-xs font-medium text-fg-secondary tabular-nums shrink-0 ml-3",children:us(ue.size)})]}),te&&t.jsxs("div",{className:"px-3 pb-2 pt-0.5 space-y-0.5",children:[ue.subItems.filter(Ne=>Ne.size>0).map(Ne=>t.jsxs("div",{className:"flex items-center justify-between text-xs py-0.5 pl-5",children:[t.jsx("span",{className:"text-fg-tertiary",children:Ne.name}),t.jsx("span",{className:"text-fg-secondary tabular-nums",children:us(Ne.size)})]},Ne.name)),t.jsx("div",{className:"pl-5 pt-1",children:t.jsx("button",{onClick:()=>{le.system.openPath(Ye.dataDir+"/agents/"+ue.id)},className:"text-[10px] text-fg-tertiary hover:text-fg-secondary underline",children:"Open folder"})})]})]},ue.id)})})]}),yt&&(yt.orphanAgents.length>0||yt.orphanTeams.length>0)&&t.jsx(YT,{orphanInfo:yt,dataDir:Ye.dataDir,onPurged:jt})]})]})}),t.jsx("div",{className:"h-8"})]})]})}function Th({step:e,title:r,description:s,active:l,children:o}){return t.jsxs("div",{className:`rounded-xl border p-4 space-y-3 transition-colors ${l?"border-brand-500/60 bg-brand-500/10":"border-border-default bg-surface-secondary/60"}`,children:[t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("span",{className:"flex-none w-6 h-6 rounded-full bg-surface-overlay flex items-center justify-center text-xs font-bold text-fg-secondary",children:e}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-fg-primary",children:r}),t.jsx("div",{className:"text-xs text-fg-tertiary mt-0.5",children:s})]})]}),o&&t.jsx("div",{className:"pl-9",children:o})]})}function Ua({type:e,text:r}){return t.jsx("div",{className:`text-xs px-3 py-2 rounded-lg ${e==="ok"?"bg-green-500/10 text-green-600 border border-green-500/30":"bg-red-500/10 text-red-500 border border-red-500/30"}`,children:r})}function Os({title:e,children:r}){return t.jsxs("section",{children:[t.jsx("h3",{className:"text-sm font-semibold text-fg-secondary uppercase tracking-wider mb-4",children:e}),t.jsx("div",{className:"space-y-4",children:r})]})}function Ah({label:e,value:r,color:s}){const l=s==="green"?"bg-green-500/10 text-green-600":"bg-brand-500/10 text-brand-500";return t.jsxs("div",{className:`rounded-xl px-5 py-4 ${l}`,children:[t.jsx("div",{className:"text-2xl font-bold",children:r}),t.jsx("div",{className:"text-xs mt-1 opacity-70",children:e})]})}function ma({label:e,value:r}){return t.jsxs("div",{children:[t.jsx("div",{className:"text-[10px] text-fg-tertiary uppercase",children:e}),t.jsx("div",{className:"text-xs text-fg-secondary mt-0.5 truncate",children:r})]})}function us(e){if(e===0)return"0 B";const r=["B","KB","MB","GB"],s=Math.min(Math.floor(Math.log(e)/Math.log(1024)),r.length-1),l=e/Math.pow(1024,s);return`${l<10?l.toFixed(1):Math.round(l)} ${r[s]}`}function YT({orphanInfo:e,dataDir:r,onPurged:s}){const l=[...e.orphanAgents.map(S=>({...S,kind:"agent"})),...e.orphanTeams.map(S=>({...S,kind:"team"}))],[o,c]=j.useState(new Set),[u,f]=j.useState(!1),[m,h]=j.useState(null),x=S=>c(T=>{const E=new Set(T);return E.has(S)?E.delete(S):E.add(S),E}),g=o.size===l.length&&l.length>0,b=()=>c(g?new Set:new Set(l.map(S=>S.id))),p=l.filter(S=>o.has(S.id)).reduce((S,T)=>S+T.size,0),w=async S=>{f(!0),h(null);try{const T=await le.system.purgeOrphans(S),E=T.purgedAgents.length+T.purgedTeams.length;h(`Cleaned ${E} dir${E!==1?"s":""}, freed ${us(T.freedBytes)}${T.failures.length?` (${T.failures.length} failed)`:""}`),c(new Set),s()}catch{h("Cleanup failed")}finally{f(!1)}};return t.jsxs("div",{className:"border-t border-border-default pt-4",children:[t.jsx("h4",{className:"text-xs font-semibold text-amber-500 mb-2",children:"Orphaned Directories"}),t.jsxs("p",{className:"text-xs text-fg-tertiary mb-3",children:["These directories have no matching database record and were likely left behind when agents or teams were deleted. Total: ",us(e.totalOrphanSize)," across ",l.length," director",l.length===1?"y":"ies","."]}),t.jsxs("div",{className:"flex items-center gap-2 mb-2 px-1",children:[t.jsxs("label",{className:"flex items-center gap-1.5 text-[10px] text-fg-tertiary cursor-pointer select-none",children:[t.jsx("input",{type:"checkbox",checked:g,onChange:b,className:"rounded"}),"Select all"]}),o.size>0&&t.jsxs("span",{className:"text-[10px] text-fg-secondary",children:[o.size," selected (",us(p),")"]})]}),t.jsx("div",{className:"space-y-0.5 mb-3 max-h-52 overflow-y-auto",children:l.map(S=>t.jsxs("div",{className:`flex items-center gap-2 text-xs py-1.5 px-2 rounded transition-colors ${o.has(S.id)?"bg-amber-500/10":"bg-surface-elevated/30 hover:bg-surface-elevated/50"}`,children:[t.jsx("input",{type:"checkbox",checked:o.has(S.id),onChange:()=>x(S.id),className:"rounded shrink-0"}),S.kind==="team"&&t.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:"team"}),t.jsx("span",{className:"text-fg-tertiary font-mono truncate min-w-0 flex-1",children:S.id}),t.jsx("span",{className:"text-fg-secondary tabular-nums shrink-0",children:us(S.size)}),t.jsx("button",{onClick:()=>{le.system.openPath(S.path)},className:"text-[10px] text-fg-tertiary hover:text-fg-secondary shrink-0 underline",children:"Open"})]},S.id))}),t.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[o.size>0&&t.jsx("button",{disabled:u,onClick:()=>{w([...o])},className:"px-3 py-1.5 text-xs bg-amber-600 hover:bg-amber-500 text-white rounded-lg transition-colors disabled:opacity-50",children:u?"Cleaning...":`Clean Selected (${us(p)})`}),t.jsx("button",{disabled:u,onClick:()=>{w()},className:"px-3 py-1.5 text-xs border border-amber-600/50 hover:bg-amber-600/10 text-amber-500 rounded-lg transition-colors disabled:opacity-50",children:u?"Cleaning...":`Clean All (${us(e.totalOrphanSize)})`})]}),m&&t.jsx("div",{className:"text-xs text-fg-tertiary mt-2",children:m})]})}const ku=new Map;function qa(e,r){ku.has(e)||ku.set(e,r().catch(()=>{}))}function Ya(e){const r=ku.get(e);return ku.delete(e),r}const gr={builderArtifacts:"builder.artifacts",builderAgents:"builder.agents",builderHubMyItems:"builder.hubMyItems",builderInstalled:"builder.installed",hubAgents:"hub.agents",hubTeams:"hub.teams",hubSkills:"hub.skills"};function oj(e,r){const s=e.split(".").map(Number),l=r.split(".").map(Number);for(let o=0;o<Math.max(s.length,l.length);o++){const c=s[o]??0,u=l[o]??0;if(c>u)return!0;if(c<u)return!1}return!1}const _h={development:"bg-blue-500/15 text-blue-600",devops:"bg-amber-500/15 text-amber-600",productivity:"bg-green-500/15 text-green-600",custom:"bg-gray-500/15 text-fg-secondary",browser:"bg-brand-500/15 text-brand-500",communication:"bg-green-500/15 text-green-600",data:"bg-brand-500/15 text-brand-500","AI 智能":"bg-brand-500/15 text-brand-500",开发工具:"bg-blue-500/15 text-blue-600",效率提升:"bg-green-500/15 text-green-600",数据分析:"bg-brand-500/15 text-brand-500",内容创作:"bg-brand-500/15 text-brand-500",安全合规:"bg-red-500/15 text-red-500",通讯协作:"bg-green-500/15 text-green-600"},GT=[{id:"installed",label:"Installed"},{id:"builtin",label:"Built-in"},{id:"skillhub",label:"SkillHub"},{id:"skillssh",label:"skills.sh"},{id:"markus-hub",label:"Markus Hub"}];function XT({item:e,installedSkills:r,onMsg:s,onRefresh:l}){const[o,c]=j.useState(!1),u=e.name.toLowerCase().trim().replace(/\s+/g,"-").replace(/[\/\\:*?"<>|]+/g,"").replace(/-{2,}/g,"-").replace(/^-|-$/g,"")||"unnamed",f=r.find(g=>g.name===e.name||g.name===u),m=!!f,h=m&&e.version&&f?.version&&oj(e.version,f.version),x=async()=>{if(!o){c(!0);try{const g=await Ln.download(e.id),b=g.name||e.name,p=b.toLowerCase().trim().replace(/\s+/g,"-").replace(/[\/\\:*?"<>|]+/g,"").replace(/-{2,}/g,"-").replace(/^-|-$/g,"")||"unnamed",w={type:"hub",hubItemId:e.id};if(g.files&&Object.keys(g.files).length>0)await le.builder.artifacts.import("skill",p,g.files,w);else{const S={...g.config,name:b,description:e.description,source:w};await le.builder.artifacts.save("skill",S)}await le.builder.artifacts.install("skill",p),s(h?`Upgraded ${e.name}`:`Installed ${e.name}`,"success"),l(),window.dispatchEvent(new CustomEvent("markus:data-changed"))}catch{s("Install failed","error")}finally{c(!1)}}};return h?t.jsx("button",{onClick:()=>{x()},disabled:o,className:"px-2.5 py-1 text-[10px] bg-amber-600 hover:bg-amber-500 text-white rounded-lg disabled:opacity-50",children:o?"Upgrading...":`Upgrade → v${e.version}`}):m?t.jsxs("span",{className:"px-2.5 py-1 text-[10px] bg-surface-overlay text-fg-secondary rounded-lg",children:["Installed",f?.version?` (v${f.version})`:""]}):t.jsx("button",{onClick:()=>{x()},disabled:o,className:"px-2.5 py-1 text-[10px] bg-brand-600 hover:bg-brand-500 text-white rounded-lg disabled:opacity-50",children:o?"Installing...":"Install"})}function cj(){const e=xs(),[r,s]=j.useState("installed"),[l,o]=j.useState(null),[c,u]=j.useState(new Set),[f,m]=j.useState([]),[h,x]=j.useState(!0),[g,b]=j.useState(""),[p,w]=j.useState([]),[S,T]=j.useState(0),[E,C]=j.useState(1),[N,k]=j.useState([]),[H,M]=j.useState(""),[Y,$]=j.useState("score"),[X,P]=j.useState(""),[U,V]=j.useState(!1),[D,A]=j.useState([]),[I,_]=j.useState(!1),[G,q]=j.useState([]),[K,B]=j.useState(""),[R,W]=j.useState(!1),[z,L]=j.useState([]),[F,Q]=j.useState(!1),[ne,Z]=j.useState(""),ee=(ie,Le="success")=>{o({text:ie,type:Le}),setTimeout(()=>o(null),Le==="error"?1e4:4e3)},oe=j.useCallback(async()=>{x(!0);try{const ie=await le.skills.list();m(ie.skills)}catch{}x(!1)},[]),pe=j.useCallback(async()=>{_(!0);try{const ie=await le.skills.builtin();A(ie.skills)}catch{}_(!1)},[]),Se=j.useCallback(async ie=>{V(!0);try{const Le=await le.skills.registrySkillhub({q:ie?.q,category:ie?.category,page:ie?.page??1,limit:24,sort:ie?.sort??Y});w(Le.skills),T(Le.total),Le.categories?.length&&k(Le.categories)}catch{}V(!1)},[Y]),Re=j.useCallback(async ie=>{W(!0);try{const Le=await le.skills.registrySkillssh(ie);q(Le.skills)}catch{}W(!1)},[]),ze=j.useCallback(async ie=>{Q(!0);try{const xt=await(ie?Ln.search({type:"skill",q:ie,limit:50}):Ya(gr.hubSkills)??Ln.search({type:"skill",limit:50}));L(xt?.items??[])}catch{}Q(!1)},[]);j.useEffect(()=>{oe(),pe(),Se(),Re()},[]),j.useEffect(()=>{r==="markus-hub"&&ze(ne)},[r,ne,ze]);const Be=async ie=>{u(Le=>new Set(Le).add(ie.name));try{const Le=await le.skills.install({name:ie.name,source:"skillhub",slug:ie.slug,sourceUrl:ie.homepage,description:ie.description_zh??ie.description,category:"custom",version:ie.version});await oe(),ee(`"${ie.name}" installed (${Le.method}) → ${Le.path}`),window.dispatchEvent(new CustomEvent("markus:data-changed"))}catch{ee(`Download failed for "${ie.name}". You can try manually from: ${ie.homepage}`,"error")}u(Le=>{const xt=new Set(Le);return xt.delete(ie.name),xt})},Xe=async ie=>{u(Le=>new Set(Le).add(ie.name));try{const Le=await le.skills.install({name:ie.name,source:"skillssh",sourceUrl:ie.url,githubRepo:`${ie.author}/${ie.repo}`,githubSkillPath:ie.name});await oe(),ee(`"${ie.name}" installed (${Le.method}) → ${Le.path}`),window.dispatchEvent(new CustomEvent("markus:data-changed"))}catch{ee(`Download failed for "${ie.name}". You can try manually from: ${ie.url}`,"error")}u(Le=>{const xt=new Set(Le);return xt.delete(ie.name),xt})},_e=async ie=>{u(Le=>new Set(Le).add(ie.name));try{const Le=await le.skills.install({name:ie.name,source:"builtin"});await oe(),await pe(),ee(`"${ie.name}" installed (${Le.method}) → ${Le.path}`),window.dispatchEvent(new CustomEvent("markus:data-changed"))}catch(Le){ee(`Install failed for "${ie.name}": ${Le}`,"error")}u(Le=>{const xt=new Set(Le);return xt.delete(ie.name),xt})},Ye=async ie=>{if(confirm(`Uninstall "${ie}"? This will delete the skill files from ~/.markus/skills/.`))try{await le.skills.uninstall(ie),await oe(),ee(`"${ie}" uninstalled`),window.dispatchEvent(new CustomEvent("markus:data-changed"))}catch(Le){ee(`Uninstall failed: ${Le}`,"error")}},ht=f.filter(ie=>{if(!g)return!0;const Le=g.toLowerCase();return ie.name.toLowerCase().includes(Le)||ie.description?.toLowerCase().includes(Le)}),gt=G.filter(ie=>{if(!K)return!0;const Le=K.toLowerCase();return ie.name.toLowerCase().includes(Le)||ie.repo.toLowerCase().includes(Le)});return t.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[t.jsxs("div",{className:`${e?"px-4":"px-6"} border-b border-border-default bg-surface-secondary shrink-0`,children:[t.jsx("div",{className:"flex items-center h-14",children:t.jsx("h2",{className:"text-lg font-semibold",children:"Skill Store"})}),t.jsx("div",{className:`flex ${e?"flex-wrap":""} gap-1 pb-2 overflow-x-auto scrollbar-hide`,children:GT.map(ie=>t.jsx("button",{onClick:()=>s(ie.id),className:`px-3 py-1.5 text-xs rounded-lg transition-colors shrink-0 ${r===ie.id?"bg-brand-600 text-white":"text-fg-secondary hover:text-fg-primary hover:bg-surface-elevated"}`,children:ie.label},ie.id))})]}),l&&t.jsx("div",{className:`mx-7 mt-2 px-3 py-1.5 text-xs rounded-lg shrink-0 ${l.type==="error"?"bg-red-500/10 text-red-500":"bg-green-500/10 text-green-600"}`,children:l.text}),r==="installed"&&t.jsxs("div",{className:`flex-1 overflow-y-auto ${e?"p-4":"p-6"}`,children:[t.jsxs("div",{className:"flex items-center gap-3 mb-5",children:[t.jsx("input",{value:g,onChange:ie=>b(ie.target.value),placeholder:"Search installed skills...",className:`px-3 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-sm text-fg-primary focus:border-brand-500 outline-none ${e?"flex-1 min-w-0":"w-72"}`}),t.jsxs("span",{className:"text-xs text-fg-tertiary shrink-0",children:[ht.length," skill",ht.length!==1?"s":""]})]}),h?t.jsx("div",{className:"text-center text-fg-tertiary py-20",children:"Loading..."}):ht.length===0?t.jsxs("div",{className:"text-center text-fg-tertiary py-20",children:[t.jsx("div",{className:"text-4xl mb-3 opacity-30",children:"◆"}),t.jsx("div",{children:"No installed skills found."}),t.jsx("div",{className:"text-xs mt-1",children:"Browse SkillHub or skills.sh to discover and install skills."})]}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:ht.map(ie=>t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 hover:border-gray-600 transition-colors",children:[t.jsxs("div",{className:"flex items-start justify-between",children:[t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"font-semibold text-sm truncate",children:ie.name}),t.jsx("span",{className:`px-1.5 py-0.5 rounded text-[9px] shrink-0 ${ie.type==="builtin"?"bg-blue-500/15 text-blue-600":ie.type==="filesystem"?"bg-green-500/15 text-green-600":"bg-amber-500/15 text-amber-600"}`,children:ie.type==="builtin"?"built-in":ie.type==="filesystem"?"local":"imported"})]}),t.jsxs("div",{className:"text-xs text-fg-tertiary mt-0.5",children:[ie.author?`by ${ie.author} · `:"",ie.version?`v${ie.version}`:"",ie.sourcePath&&t.jsxs("span",{className:"ml-1 text-fg-tertiary",title:ie.sourcePath,children:["📁 ",ie.sourcePath.replace(/^.*\/\.([^/]+)\/skills\//,"~/.$1/skills/")]})]})]}),t.jsx("span",{className:`px-2 py-0.5 rounded-full text-[10px] font-medium ${_h[ie.category??""]??"bg-gray-500/15 text-fg-secondary"} capitalize shrink-0 ml-2`,children:ie.category??"custom"})]}),t.jsx("p",{className:"text-sm text-fg-secondary mt-2 line-clamp-2",children:ie.description??"No description"}),t.jsx("div",{className:"flex flex-wrap gap-1.5 mt-2",children:ie.tags?.slice(0,3).map(Le=>t.jsx("span",{className:"px-2 py-0.5 text-[10px] bg-surface-elevated text-fg-tertiary rounded-full",children:Le},Le))}),t.jsxs("div",{className:"mt-3 pt-2 border-t border-border-default flex items-center justify-between",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[ie.tools&&ie.tools.length>0&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[ie.tools.length," tool",ie.tools.length!==1?"s":""]}),t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:"Auto-discovered by agents"})]}),ie.type!=="builtin"&&t.jsx("button",{onClick:()=>{Ye(ie.name)},className:"px-2 py-0.5 text-[10px] text-red-500 hover:text-red-500 hover:bg-red-500/10 rounded transition-colors",children:"Uninstall"})]})]},ie.name))})]}),r==="builtin"&&t.jsxs("div",{className:`flex-1 overflow-y-auto ${e?"p-4":"p-6"}`,children:[t.jsxs("div",{className:"flex items-center gap-3 mb-5",children:[t.jsxs("span",{className:"text-xs text-fg-tertiary",children:[D.length," built-in skill",D.length!==1?"s":""," available"]}),t.jsx("button",{onClick:()=>{pe()},className:"text-xs text-brand-500 hover:text-brand-500 transition-colors",children:"Refresh"})]}),I?t.jsx("div",{className:"text-center text-fg-tertiary py-20",children:t.jsx("div",{className:"animate-pulse",children:"Loading built-in skills..."})}):D.length===0?t.jsxs("div",{className:"text-center text-fg-tertiary py-20",children:[t.jsx("div",{className:"text-4xl mb-3 opacity-30",children:"◇"}),t.jsx("div",{children:"No built-in skills found."}),t.jsx("div",{className:"text-xs mt-1",children:"Built-in skills are provided in templates/skills/."})]}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:D.map(ie=>t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 hover:border-gray-600 transition-colors",children:[t.jsxs("div",{className:"flex items-start justify-between",children:[t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"font-semibold text-sm truncate",children:ie.name}),ie.hasMcpServers&&t.jsx("span",{className:"px-1.5 py-0.5 rounded text-[9px] bg-blue-500/15 text-blue-600 shrink-0",children:"MCP"})]}),t.jsxs("div",{className:"text-xs text-fg-tertiary mt-0.5",children:[ie.author?`by ${ie.author} · `:"","v",ie.version]})]}),t.jsx("span",{className:`px-2 py-0.5 rounded-full text-[10px] font-medium ${_h[ie.category??""]??"bg-gray-500/15 text-fg-secondary"} capitalize shrink-0 ml-2`,children:ie.category??"custom"})]}),t.jsx("p",{className:"text-sm text-fg-secondary mt-2 line-clamp-2",children:ie.description??"No description"}),t.jsx("div",{className:"flex flex-wrap gap-1.5 mt-2",children:ie.tags.slice(0,4).map(Le=>t.jsx("span",{className:"px-2 py-0.5 text-[10px] bg-surface-elevated text-fg-tertiary rounded-full",children:Le},Le))}),ie.requiredPermissions.length>0&&t.jsx("div",{className:"flex flex-wrap gap-1 mt-1.5",children:ie.requiredPermissions.map(Le=>t.jsx("span",{className:"px-1.5 py-0.5 text-[9px] bg-amber-500/10 text-amber-500 rounded",children:Le},Le))}),t.jsxs("div",{className:"mt-3 pt-2 border-t border-border-default flex items-center justify-between",children:[ie.installed&&ie.installedVersion?t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["v",ie.installedVersion]}):t.jsx("span",{}),ie.installed&&ie.installedVersion&&oj(ie.version,ie.installedVersion)?t.jsx("button",{onClick:()=>{_e(ie)},disabled:c.has(ie.name),className:"px-2.5 py-1 text-[10px] bg-amber-600 hover:bg-amber-500 text-white rounded-lg disabled:opacity-50 transition-colors",children:c.has(ie.name)?"Upgrading...":`Upgrade → v${ie.version}`}):ie.installed?t.jsx("span",{className:"px-2.5 py-1 text-[10px] bg-surface-overlay text-fg-secondary rounded-lg",children:"Installed"}):t.jsx("button",{onClick:()=>{_e(ie)},disabled:c.has(ie.name),className:"px-2.5 py-1 text-[10px] bg-green-600 hover:bg-green-500 text-white rounded-lg disabled:opacity-50 transition-colors",children:c.has(ie.name)?"Installing...":"Install"})]})]},ie.name))})]}),r==="skillhub"&&t.jsxs("div",{className:`flex-1 overflow-y-auto ${e?"p-4":"p-6"}`,children:[t.jsxs("div",{className:"flex items-center gap-2 mb-3 flex-wrap",children:[t.jsxs("select",{value:H,onChange:ie=>{M(ie.target.value),C(1),Se({q:X||void 0,category:ie.target.value||void 0,page:1})},className:"px-2 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-xs text-fg-secondary outline-none",children:[t.jsx("option",{value:"",children:"全部分类"}),N.map(ie=>t.jsx("option",{value:ie,children:ie},ie))]}),t.jsxs("select",{value:Y,onChange:ie=>{$(ie.target.value),C(1),Se({q:X||void 0,category:H||void 0,page:1,sort:ie.target.value})},className:"px-2 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-xs text-fg-secondary outline-none",children:[t.jsx("option",{value:"score",children:"综合排序"}),t.jsx("option",{value:"downloads",children:"下载量"}),t.jsx("option",{value:"stars",children:"收藏数"}),t.jsx("option",{value:"installs",children:"安装量"})]}),!e&&t.jsx("span",{className:"text-xs text-fg-tertiary ml-auto",children:t.jsx("a",{href:"https://skillhub.tencent.com",target:"_blank",rel:"noopener noreferrer",className:"text-brand-500 hover:text-brand-500",children:"Visit site →"})})]}),t.jsxs("div",{className:"flex items-center gap-2 mb-5",children:[t.jsx("input",{value:X,onChange:ie=>P(ie.target.value),onKeyDown:ie=>{ie.key==="Enter"&&(C(1),Se({q:X||void 0,category:H||void 0,page:1}))},placeholder:"搜索 SkillHub 技能...",className:"px-3 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-sm text-fg-primary focus:border-brand-500 outline-none flex-1 min-w-0"}),t.jsx("button",{onClick:()=>{C(1),Se({q:X||void 0,category:H||void 0,page:1})},className:"px-3 py-1.5 bg-brand-600 hover:bg-brand-500 text-white text-xs rounded-lg shrink-0",children:"Search"})]}),U?t.jsx("div",{className:"text-center text-fg-tertiary py-20",children:t.jsx("div",{className:"animate-pulse",children:"正在加载 SkillHub 技能..."})}):p.length===0?t.jsxs("div",{className:"text-center text-fg-tertiary py-20",children:[t.jsx("div",{className:"text-4xl mb-3 opacity-30",children:"◎"}),t.jsx("div",{children:"未找到匹配的技能"})]}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"text-xs text-fg-tertiary mb-3",children:["共 ",S.toLocaleString()," 个技能"]}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:p.map(ie=>{const Le=f.some(xt=>xt.name===ie.name||xt.name===ie.slug);return t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 hover:border-gray-600 transition-colors",children:[t.jsxs("div",{className:"flex items-start justify-between",children:[t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"font-semibold text-sm truncate",children:ie.name}),t.jsxs("div",{className:"text-xs text-fg-tertiary mt-0.5",children:["v",ie.version]})]}),t.jsx("span",{className:`px-2 py-0.5 rounded-full text-[10px] font-medium shrink-0 ml-2 ${ie.tags?.[0]?_h[ie.tags[0]]??"bg-brand-500/15 text-brand-500":"bg-brand-500/15 text-brand-500"}`,children:ie.tags?.[0]??"SkillHub"})]}),t.jsx("p",{className:"text-sm text-fg-secondary mt-2 line-clamp-2",children:ie.description_zh??ie.description??"No description"}),t.jsxs("div",{className:"mt-2 pt-2 border-t border-border-default flex items-center justify-between",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[ie.stars>0&&t.jsxs("span",{className:"text-[10px] text-amber-600",children:["★ ",ie.stars.toLocaleString()]}),ie.downloads>0&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[ie.downloads>=1e4?`${(ie.downloads/1e4).toFixed(1)}万`:ie.downloads.toLocaleString()," 下载"]})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("a",{href:ie.homepage,target:"_blank",rel:"noopener noreferrer",className:"text-[10px] text-brand-500 hover:text-brand-500",children:"View →"}),Le?t.jsx("span",{className:"px-2.5 py-1 text-[10px] bg-surface-overlay text-fg-secondary rounded-lg",children:"Installed"}):t.jsx("button",{onClick:()=>{Be(ie)},disabled:c.has(ie.name),className:"px-2.5 py-1 text-[10px] bg-brand-600 hover:bg-brand-500 text-white rounded-lg disabled:opacity-50",children:c.has(ie.name)?"...":"Install"})]})]})]},ie.slug)})}),S>24&&t.jsxs("div",{className:"flex items-center justify-center gap-2 mt-6",children:[t.jsx("button",{disabled:E<=1,onClick:()=>{const ie=E-1;C(ie),Se({q:X||void 0,category:H||void 0,page:ie})},className:"px-3 py-1.5 text-xs bg-surface-elevated text-fg-secondary rounded-lg hover:bg-surface-overlay disabled:opacity-30",children:"← 上一页"}),t.jsxs("span",{className:"text-xs text-fg-tertiary",children:["第 ",E," / ",Math.ceil(S/24)," 页"]}),t.jsx("button",{disabled:E>=Math.ceil(S/24),onClick:()=>{const ie=E+1;C(ie),Se({q:X||void 0,category:H||void 0,page:ie})},className:"px-3 py-1.5 text-xs bg-surface-elevated text-fg-secondary rounded-lg hover:bg-surface-overlay disabled:opacity-30",children:"下一页 →"})]})]})]}),r==="skillssh"&&t.jsxs("div",{className:`flex-1 overflow-y-auto ${e?"p-4":"p-6"}`,children:[t.jsxs("div",{className:`flex ${e?"flex-wrap":""} items-center gap-2 mb-5`,children:[t.jsx("input",{value:K,onChange:ie=>B(ie.target.value),onKeyDown:ie=>{ie.key==="Enter"&&K.trim()&&Re(K)},placeholder:"Search skills.sh...",className:`px-3 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-sm text-fg-primary focus:border-brand-500 outline-none ${e?"flex-1 min-w-0":"w-72"}`}),t.jsx("button",{onClick:()=>{K.trim()&&Re(K)},className:"px-3 py-1.5 bg-brand-600 hover:bg-brand-500 text-white text-xs rounded-lg shrink-0",children:"Search"}),!e&&t.jsx("span",{className:"text-xs text-fg-tertiary ml-auto",children:t.jsx("a",{href:"https://skills.sh",target:"_blank",rel:"noopener noreferrer",className:"text-brand-500 hover:text-brand-500",children:"Visit site →"})})]}),R?t.jsx("div",{className:"text-center text-fg-tertiary py-20",children:t.jsx("div",{className:"animate-pulse",children:"Searching skills.sh..."})}):gt.length===0?t.jsxs("div",{className:"text-center text-fg-tertiary py-20",children:[t.jsx("div",{className:"text-4xl mb-3 opacity-30",children:"⬡"}),t.jsx("div",{children:"Browse 84,000+ skills on skills.sh"}),t.jsx("div",{className:"text-xs mt-1",children:"Top skills are loaded automatically. Search for specific skills above."})]}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:gt.map(ie=>{const Le=f.some(xt=>xt.name===ie.name);return t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 hover:border-gray-600 transition-colors",children:[t.jsxs("div",{className:"flex items-start justify-between",children:[t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"font-semibold text-sm truncate",children:ie.name}),t.jsxs("div",{className:"text-xs text-fg-tertiary mt-0.5",children:[ie.author," / ",ie.repo]})]}),t.jsx("span",{className:"px-2 py-0.5 rounded-full text-[10px] font-medium bg-gray-500/15 text-fg-secondary shrink-0 ml-2",children:"skills.sh"})]}),t.jsx("p",{className:"text-sm text-fg-secondary mt-2 line-clamp-2",children:ie.description||"No description"}),t.jsxs("div",{className:"mt-2 pt-2 border-t border-border-default flex items-center justify-between",children:[t.jsx("div",{className:"flex items-center gap-3",children:ie.installs&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[ie.installs," installs"]})}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("a",{href:ie.url,target:"_blank",rel:"noopener noreferrer",className:"text-[10px] text-brand-500 hover:text-brand-500",children:"View →"}),Le?t.jsx("span",{className:"px-2.5 py-1 text-[10px] bg-surface-overlay text-fg-secondary rounded-lg",children:"Installed"}):t.jsx("button",{onClick:()=>{Xe(ie)},disabled:c.has(ie.name),className:"px-2.5 py-1 text-[10px] bg-brand-600 hover:bg-brand-500 text-white rounded-lg disabled:opacity-50",children:c.has(ie.name)?"...":"Install"})]})]})]},`${ie.author}-${ie.name}`)})})]}),r==="markus-hub"&&t.jsxs("div",{className:`flex-1 overflow-y-auto ${e?"p-4":"p-6"}`,children:[t.jsxs("div",{className:"flex items-center gap-2 mb-5",children:[t.jsx("input",{value:ne,onChange:ie=>Z(ie.target.value),placeholder:"Search Markus Hub skills...",className:`px-3 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-sm text-fg-primary focus:border-brand-500 outline-none ${e?"flex-1 min-w-0":"w-72"}`}),!e&&t.jsx("span",{className:"text-xs text-fg-tertiary ml-auto",children:"Community skills from Markus Hub"})]}),F?t.jsx("div",{className:"text-center text-fg-tertiary py-20",children:t.jsx("div",{className:"animate-pulse",children:"Loading from Hub..."})}):z.length===0?t.jsxs("div",{className:"text-center text-fg-tertiary py-20",children:[t.jsx("div",{className:"text-4xl mb-3",children:"🏪"}),t.jsx("div",{children:"No skills found on Markus Hub"}),t.jsx("div",{className:"text-xs mt-1",children:"Hub may be offline or empty. Run the hub server at port 8059."})]}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:z.map(ie=>t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 hover:border-gray-600 transition-colors",children:[t.jsxs("div",{className:"flex items-start justify-between",children:[t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"font-semibold text-sm truncate",children:ie.name}),t.jsxs("div",{className:"text-xs text-fg-tertiary mt-0.5",children:["by ",ie.author?.displayName??ie.author?.username]})]}),t.jsx("span",{className:"px-2 py-0.5 rounded-full text-[10px] font-medium bg-green-500/15 text-green-600 shrink-0 ml-2",children:"Hub"})]}),t.jsx("p",{className:"text-sm text-fg-secondary mt-2 line-clamp-2",children:ie.description}),t.jsxs("div",{className:"mt-2 text-xs text-amber-600",children:["★".repeat(Math.round(parseFloat(ie.avgRating))),"☆".repeat(5-Math.round(parseFloat(ie.avgRating))),t.jsxs("span",{className:"text-fg-tertiary ml-1",children:["(",ie.ratingCount,") · ↓ ",ie.downloadCount]})]}),t.jsx("div",{className:"mt-2 pt-2 border-t border-border-default flex items-center justify-end gap-2",children:t.jsx(XT,{item:ie,installedSkills:f,onMsg:ee,onRefresh:()=>{oe()}})})]},ie.id))})]})]})}function uj(e){return e.toLowerCase().trim().replace(/\s+/g,"-").replace(/[\/\\:*?"<>|]+/g,"").replace(/-{2,}/g,"-").replace(/^-|-$/g,"")||"unnamed"}function ZT(e,r){const s=e.split(".").map(Number),l=r.split(".").map(Number);for(let o=0;o<Math.max(s.length,l.length);o++){const c=s[o]??0,u=l[o]??0;if(c>u)return!0;if(c<u)return!1}return!1}const ex={development:"{ }",devops:"⚙",management:"◎",productivity:"⚡",general:"◆"},tx={development:"bg-blue-500/15 text-blue-600 border-blue-500/20",devops:"bg-amber-500/15 text-amber-600 border-amber-500/20",management:"bg-brand-500/15 text-brand-500 border-brand-500/20",productivity:"bg-green-500/15 text-green-600 border-green-500/20",general:"bg-gray-500/15 text-fg-secondary border-gray-500/20"},dj={manager:"bg-brand-500/15 text-brand-500",worker:"bg-blue-500/15 text-blue-600"};function fj({authUser:e}={}){const[r,s]=j.useState("all"),[l,o]=j.useState(""),[c,u]=j.useState([]),[f,m]=j.useState([]),[h,x]=j.useState(null),[g,b]=j.useState(!1),[p,w]=j.useState(!0),[S,T]=j.useState(new Map),E=j.useCallback(async()=>{try{const[k,H]=await Promise.all([le.builder.artifacts.list().catch(()=>({artifacts:[]})),le.builder.artifacts.installed().catch(()=>({installed:{}}))]),M=new Map;for(const Y of k.artifacts){if(Y.type!=="agent")continue;const $=!!H.installed[`agent/${Y.name}`];M.set(Y.name,{installed:$,localVersion:Y.meta.version||void 0,localUpdatedAt:Y.updatedAt})}T(M)}catch{}},[]),C=j.useCallback(async()=>{w(!0);try{if(r==="hub"){const k=l?Ln.search({type:"agent",q:l,limit:50}):Ya(gr.hubAgents)??Ln.search({type:"agent",limit:50}),[H]=await Promise.all([k.catch(()=>({items:[],total:0})),E()]);m(H?.items??[]),u([])}else{m([]);const k=new URLSearchParams;l&&k.set("q",l);const H=await fetch("/api/templates?"+k.toString()).then(M=>M.json()).catch(()=>({templates:[]}));u(Array.isArray(H.templates)?H.templates:[])}}catch{u([]),m([])}finally{w(!1)}},[r,l,E]);j.useEffect(()=>{C()},[C]);const N=async(k,H,M)=>{try{const Y=await fetch("/api/templates/instantiate",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({templateId:k,name:H,orgId:"default",teamId:M})});if(!Y.ok)throw new Error(`Failed: ${Y.status}`);b(!1),x(null)}catch(Y){alert(`Failed to create agent: ${Y}`)}};return t.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[t.jsx("div",{className:"px-6 h-14 flex items-center border-b border-border-default bg-surface-secondary shrink-0",children:t.jsx("h2",{className:"text-lg font-semibold",children:"Agent Store"})}),t.jsxs("div",{className:"flex flex-wrap items-center gap-2 px-6 py-2 border-b border-border-default/50 bg-surface-secondary/50 shrink-0",children:[t.jsx("div",{className:"flex gap-1",children:[{id:"all",label:"Built-in"},{id:"hub",label:"Markus Hub"}].map(k=>t.jsx("button",{onClick:()=>{s(k.id),x(null)},className:`px-3 py-1 text-xs rounded-md transition-colors ${r===k.id?"bg-brand-600 text-white":"text-fg-secondary hover:text-fg-primary hover:bg-surface-elevated"}`,children:k.label},k.id))}),r==="all"&&t.jsxs("div",{className:"text-xs text-fg-tertiary",children:[c.length," agent",c.length!==1?"s":""," available"]}),t.jsx("div",{className:"flex-1 min-w-[120px]",children:t.jsx("input",{type:"text",placeholder:"Search agents...",value:l,onChange:k=>o(k.target.value),className:"px-3 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-sm w-full focus:border-brand-500 focus:outline-none"})})]}),t.jsx("div",{className:"flex-1 overflow-y-auto p-7",children:p?t.jsx("div",{className:"text-center text-fg-tertiary py-20 animate-pulse",children:"Loading agents..."}):r==="hub"?f.length===0?t.jsxs("div",{className:"text-center py-16",children:[t.jsx("div",{className:"text-fg-tertiary text-3xl mb-3",children:"🏪"}),t.jsx("p",{className:"text-sm text-fg-tertiary",children:"No agents found on Markus Hub"}),t.jsx("p",{className:"text-xs text-fg-tertiary mt-1",children:"Hub may be offline or empty. Start the hub server at port 8059."})]}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:f.map(k=>t.jsx(QT,{item:k,localInfo:S.get(uj(k.name)),onStatusChange:E},k.id))}):c.length===0?t.jsxs("div",{className:"text-center py-20",children:[t.jsx("div",{className:"text-4xl mb-4 opacity-30",children:"⧉"}),t.jsx("div",{className:"text-fg-secondary font-medium mb-1",children:l?`No agents match "${l}"`:"No agents found"}),t.jsx("div",{className:"text-fg-tertiary text-sm",children:l?"Try different search terms.":"Agents come from the built-in registry."})]}):t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:c.map(k=>t.jsx(KT,{template:k,isSelected:h?.id===k.id,onSelect:()=>x(h?.id===k.id?null:k)},k.id))})}),h&&r==="all"&&t.jsx("div",{className:"border-t border-border-default bg-surface-secondary shrink-0 max-h-72 overflow-y-auto",children:t.jsxs("div",{className:"p-5",children:[t.jsxs("div",{className:"flex items-center justify-between mb-4",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl flex items-center justify-center text-lg ${tx[h.category]??"bg-surface-overlay text-fg-secondary"}`,children:ex[h.category]??"?"}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-semibold text-fg-primary",children:h.name}),t.jsx("p",{className:"text-xs text-fg-tertiary mt-0.5",children:h.description})]})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{onClick:()=>b(!0),className:"px-5 py-2 bg-brand-600 text-white text-sm rounded-lg hover:bg-brand-500 transition-colors font-medium",children:"Hire Agent"}),t.jsx("button",{onClick:()=>x(null),className:"text-fg-tertiary hover:text-fg-secondary text-lg px-2",children:"×"})]})]}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-5",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-xs text-fg-tertiary uppercase tracking-wider mb-2",children:"Skills"}),t.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[h.skills.map(k=>t.jsx("span",{className:"px-2.5 py-1 text-xs bg-brand-500/10 text-brand-500 rounded-lg border border-brand-500/20",children:k},k)),h.skills.length===0&&t.jsx("span",{className:"text-xs text-fg-tertiary italic",children:"No required skills"})]})]}),t.jsxs("div",{children:[t.jsx("div",{className:"text-xs text-fg-tertiary uppercase tracking-wider mb-2",children:"Role Configuration"}),t.jsxs("div",{className:"space-y-1.5 text-sm",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-fg-tertiary w-16",children:"Role:"}),t.jsx("span",{className:"text-fg-secondary font-mono text-xs bg-surface-elevated px-2 py-0.5 rounded",children:h.roleId})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-fg-tertiary w-16",children:"Position:"}),t.jsx("span",{className:`px-2 py-0.5 rounded text-xs capitalize ${dj[h.agentRole]??""}`,children:h.agentRole})]})]})]}),h.starterTasks&&h.starterTasks.length>0&&t.jsxs("div",{children:[t.jsx("div",{className:"text-xs text-fg-tertiary uppercase tracking-wider mb-2",children:"Starter Tasks"}),t.jsx("div",{className:"space-y-1.5",children:h.starterTasks.map((k,H)=>t.jsxs("div",{className:"flex items-center gap-2 text-xs text-fg-secondary",children:[t.jsx("span",{className:`inline-block w-1.5 h-1.5 rounded-full shrink-0 ${k.priority==="high"?"bg-red-400":k.priority==="medium"?"bg-amber-400":"bg-green-400"}`}),k.title]},H))})]})]})]})}),g&&h&&t.jsx(JT,{template:h,onClose:()=>b(!1),onHire:N})]})}function QT({item:e,localInfo:r,onStatusChange:s}){const[l,o]=j.useState(!1),[c,u]=j.useState(""),f=r?.installed??!1,m=f&&e.version&&r?.localVersion&&ZT(e.version,r.localVersion),h=async x=>{if(x.stopPropagation(),!l){o(!0),u("");try{const g=await Ln.download(e.id),b=g.name||e.name,p=uj(b),w=g.itemType==="team"?"team":g.itemType==="skill"?"skill":"agent",S={type:"hub",hubItemId:e.id};if(g.files&&Object.keys(g.files).length>0)await le.builder.artifacts.import(w,p,g.files,S);else{const T={...g.config,name:b,description:e.description,source:S};await le.builder.artifacts.save(w,T)}await le.builder.artifacts.install(w,p),u(m?"Upgraded!":"Installed!"),s(),window.dispatchEvent(new CustomEvent("markus:data-changed"))}catch{u("Failed")}finally{o(!1)}}};return t.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default hover:border-brand-600/50 cursor-pointer transition-all",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[t.jsx("span",{className:"text-lg",children:"🤖"}),t.jsx("h3",{className:"text-sm font-semibold truncate flex-1",children:e.name}),e.version&&t.jsxs("span",{className:"text-[10px] px-1.5 py-0.5 bg-brand-500/15 text-brand-500 rounded",children:["v",e.version]}),t.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-green-500/15 text-green-600 rounded",children:"Hub"})]}),t.jsx("p",{className:"text-xs text-fg-tertiary line-clamp-2 mb-2",children:e.description}),t.jsxs("div",{className:"flex items-center gap-3 text-xs text-fg-tertiary",children:[t.jsxs("span",{className:"text-amber-600",children:["★".repeat(Math.round(parseFloat(e.avgRating))),"☆".repeat(5-Math.round(parseFloat(e.avgRating)))]}),t.jsxs("span",{children:["↓"," ",e.downloadCount]}),t.jsx("span",{children:e.author?.displayName??e.author?.username})]}),t.jsxs("div",{className:"flex items-center gap-2 mt-3",children:[m?t.jsx("button",{onClick:x=>{h(x)},disabled:l,className:"px-3 py-1 text-xs bg-amber-600 hover:bg-amber-500 text-white rounded-lg transition-colors disabled:opacity-50",children:l?"Upgrading...":`Upgrade → v${e.version}`}):f?t.jsxs("span",{className:"px-3 py-1 text-xs bg-surface-overlay text-fg-secondary rounded-lg",children:["Installed",r?.localVersion?` (v${r.localVersion})`:""]}):t.jsx("button",{onClick:x=>{h(x)},disabled:l,className:"px-3 py-1 text-xs bg-brand-600 hover:bg-brand-500 text-white rounded-lg transition-colors disabled:opacity-50",children:l?"Installing...":"Install"}),c&&t.jsx("span",{className:`text-[10px] ${c==="Failed"?"text-red-500":"text-green-600"}`,children:c})]})]})}function KT({template:e,isSelected:r,onSelect:s}){return t.jsxs("div",{onClick:s,className:`bg-surface-secondary border rounded-xl p-5 cursor-pointer transition-all hover:shadow-lg hover:shadow-black/20 ${r?"border-brand-500 ring-1 ring-brand-500/30":"border-border-default hover:border-gray-600"}`,children:[t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl flex items-center justify-center text-sm shrink-0 border ${tx[e.category]??"bg-surface-overlay text-fg-secondary"}`,children:ex[e.category]??"?"}),t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"font-semibold text-fg-primary truncate",children:e.name}),t.jsxs("span",{className:"px-2 py-0.5 rounded-full text-[10px] font-medium shrink-0 bg-brand-500/20 text-brand-500",children:["v",e.version]})]}),t.jsxs("div",{className:"text-xs text-fg-tertiary mt-0.5",children:["by ",e.author]})]})]}),t.jsx("p",{className:"text-sm text-fg-secondary mt-3 line-clamp-2 leading-relaxed",children:e.description}),t.jsxs("div",{className:"flex flex-wrap gap-1.5 mt-3",children:[e.skills.slice(0,4).map(l=>t.jsx("span",{className:"px-2 py-0.5 text-[10px] bg-brand-500/10 text-brand-500/80 rounded-full border border-brand-500/10",children:l},l)),e.skills.length>4&&t.jsxs("span",{className:"px-2 py-0.5 text-[10px] text-fg-tertiary",children:["+",e.skills.length-4," more"]})]}),t.jsxs("div",{className:"mt-3 pt-3 border-t border-border-default flex items-center gap-2 text-xs text-fg-tertiary",children:[t.jsx("span",{className:`inline-block px-2 py-0.5 rounded text-[10px] font-medium capitalize ${dj[e.agentRole]??"bg-surface-overlay text-fg-secondary"}`,children:e.agentRole}),e.tags.length>0&&t.jsx("span",{className:"text-fg-tertiary",children:e.tags.slice(0,2).join(", ")})]})]})}function JT({template:e,onClose:r,onHire:s}){const[l,o]=j.useState(`${e.name} Agent`),[c,u]=j.useState(""),[f,m]=j.useState([]),[h,x]=j.useState(!1);j.useEffect(()=>{fetch("/api/teams",{credentials:"include"}).then(b=>b.json()).then(b=>m(b.teams??[])).catch(()=>{})},[]);const g=async()=>{if(l.trim()){x(!0);try{await s(e.id,l.trim(),c||void 0)}finally{x(!1)}}};return t.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:r,children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-6 w-[440px] shadow-2xl",onClick:b=>b.stopPropagation(),children:[t.jsxs("div",{className:"flex items-center gap-3 mb-5",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl flex items-center justify-center text-sm ${tx[e.category]??"bg-surface-overlay text-fg-secondary"}`,children:ex[e.category]??"?"}),t.jsxs("div",{children:[t.jsx("h3",{className:"text-base font-semibold",children:"Hire Agent"}),t.jsxs("p",{className:"text-xs text-fg-tertiary",children:['Creating agent from "',e.name,'"']})]})]}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs text-fg-tertiary mb-1.5",children:"Agent Name"}),t.jsx("input",{type:"text",value:l,onChange:b=>o(b.target.value),className:"input-field",autoFocus:!0})]}),f.length>0&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs text-fg-tertiary mb-1.5",children:"Assign to Team (optional)"}),t.jsxs("select",{value:c,onChange:b=>u(b.target.value),className:"input-field",children:[t.jsx("option",{value:"",children:"No team"}),f.map(b=>t.jsx("option",{value:b.id,children:b.name},b.id))]})]}),t.jsxs("div",{className:"bg-surface-elevated/50 rounded-lg p-3",children:[t.jsx("div",{className:"text-xs text-fg-tertiary mb-2 font-medium",children:"Agent Configuration"}),t.jsxs("div",{className:"grid grid-cols-2 gap-y-1.5 gap-x-4 text-xs",children:[t.jsx("div",{className:"text-fg-tertiary",children:"Role:"}),t.jsx("div",{className:"text-fg-secondary font-mono",children:e.roleId}),t.jsx("div",{className:"text-fg-tertiary",children:"Position:"}),t.jsx("div",{className:"text-fg-secondary capitalize",children:e.agentRole}),t.jsx("div",{className:"text-fg-tertiary",children:"Skills:"}),t.jsx("div",{className:"text-fg-secondary",children:e.skills.join(", ")||"None"})]})]})]}),t.jsxs("div",{className:"flex justify-end gap-3 mt-6",children:[t.jsx("button",{onClick:r,className:"btn-secondary",children:"Cancel"}),t.jsx("button",{onClick:g,disabled:!l.trim()||h,className:"btn-primary",children:h?"Creating...":"Create Agent"})]})]})})}const hj={development:"{ }",review:"⊘",operations:"⚙",general:"◎"},Su={development:"bg-blue-500/15 text-blue-600 border-blue-500/20",review:"bg-brand-500/15 text-brand-500 border-brand-500/20",operations:"bg-amber-500/15 text-amber-600 border-amber-500/20",general:"bg-gray-500/15 text-fg-secondary border-gray-500/20"};function mj(e){return e.toLowerCase().trim().replace(/\s+/g,"-").replace(/[\/\\:*?"<>|]+/g,"").replace(/-{2,}/g,"-").replace(/^-|-$/g,"")||"unnamed"}function WT(e,r){const s=e.split(".").map(Number),l=r.split(".").map(Number);for(let o=0;o<Math.max(s.length,l.length);o++){const c=s[o]??0,u=l[o]??0;if(c>u)return!0;if(c<u)return!1}return!1}function xj(){const[e,r]=j.useState("all"),[s,l]=j.useState(""),[o,c]=j.useState([]),[u,f]=j.useState([]),[m,h]=j.useState(null),[x,g]=j.useState(!0),[b,p]=j.useState(!1),[w,S]=j.useState(null),[T,E]=j.useState(new Map),C=j.useCallback(async()=>{try{const[H,M]=await Promise.all([le.builder.artifacts.list().catch(()=>({artifacts:[]})),le.builder.artifacts.installed().catch(()=>({installed:{}}))]),Y=new Map;for(const $ of H.artifacts){if($.type!=="team")continue;const X=!!M.installed[`team/${$.name}`];Y.set($.name,{installed:X,localVersion:$.meta.version||void 0,localUpdatedAt:$.updatedAt})}E(Y)}catch{}},[]),N=j.useCallback(async()=>{g(!0);try{if(e==="hub"){const H=s?Ln.search({type:"team",q:s,limit:50}):Ya(gr.hubTeams)??Ln.search({type:"team",limit:50}),[M]=await Promise.all([H.catch(()=>({items:[],total:0})),C()]);f(M?.items??[]),c([])}else{f([]);const H=await le.teamTemplates.list(s||void 0);c(H?.templates??[])}}catch{c([]),f([])}finally{g(!1)}},[e,s,C]);j.useEffect(()=>{N()},[N]);const k=async H=>{p(!0),S(null);try{const Y=(await le.teams.create(H.name,H.description)).team.id;let $,X=0;const P=[];for(const V of H.members){const D=V.count??1;for(let A=0;A<D;A++){const I=V.name??`${H.name} Agent ${A+1}`,_=D>1?`${I} ${A+1}`:I,G=V.roleName??V.templateId??"developer";try{const q=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({name:_,roleName:G,orgId:"default",teamId:Y,agentRole:V.role??"worker",skills:V.skills??[]})});if(q.ok){X++;const K=await q.json();V.role==="manager"&&!$&&($=K.agent?.id)}else{const K=await q.json().catch(()=>({error:`HTTP ${q.status}`}));P.push(`${_}: ${K.error??q.statusText}`)}}catch(q){P.push(`${_}: ${String(q)}`)}}}$&&await le.teams.update(Y,{managerId:$,managerType:"agent"}).catch(()=>{});const U=P.length>0?` (${P.length} failed: ${P[0]})`:"";S({ok:X>0,message:`Team "${H.name}" deployed with ${X} agent(s)${U}`})}catch(M){S({ok:!1,message:`Failed: ${M}`})}finally{p(!1)}};return t.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[t.jsx("div",{className:"px-6 h-14 flex items-center border-b border-border-default bg-surface-secondary shrink-0",children:t.jsx("h2",{className:"text-lg font-semibold",children:"Team Store"})}),t.jsxs("div",{className:"flex flex-wrap items-center gap-2 px-6 py-2 border-b border-border-default/50 bg-surface-secondary/50 shrink-0",children:[t.jsx("div",{className:"flex gap-1",children:[{id:"all",label:"Built-in"},{id:"hub",label:"Markus Hub"}].map(H=>t.jsx("button",{onClick:()=>{r(H.id),h(null),S(null)},className:`px-3 py-1 text-xs rounded-md transition-colors ${e===H.id?"bg-brand-600 text-white":"text-fg-secondary hover:text-fg-primary hover:bg-surface-elevated"}`,children:H.label},H.id))}),e==="all"&&t.jsxs("div",{className:"text-xs text-fg-tertiary",children:[o.length," team",o.length!==1?"s":""," available"]}),t.jsx("div",{className:"flex-1 min-w-[120px]",children:t.jsx("input",{type:"text",placeholder:"Search teams...",value:s,onChange:H=>l(H.target.value),className:"px-3 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-sm w-full focus:border-brand-500 focus:outline-none"})})]}),t.jsx("div",{className:"flex-1 overflow-y-auto p-7",children:x?t.jsx("div",{className:"text-center text-fg-tertiary py-20 animate-pulse",children:"Loading teams..."}):e==="hub"?u.length===0?t.jsxs("div",{className:"text-center py-16",children:[t.jsx("div",{className:"text-fg-tertiary text-3xl mb-3",children:"🏪"}),t.jsx("p",{className:"text-sm text-fg-tertiary",children:"No teams found on Markus Hub"}),t.jsx("p",{className:"text-xs text-fg-tertiary mt-1",children:"Hub may be offline or empty. Start the hub server at port 8059."})]}):t.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-4",children:u.map(H=>t.jsx(eA,{item:H,localInfo:T.get(mj(H.name)),onStatusChange:C},H.id))}):o.length===0?t.jsxs("div",{className:"text-center py-20",children:[t.jsx("div",{className:"text-4xl mb-4 opacity-30",children:"◉"}),t.jsx("div",{className:"text-fg-secondary font-medium mb-1",children:s?`No teams match "${s}"`:"No teams available"}),t.jsx("div",{className:"text-fg-tertiary text-sm",children:s?"Try different search terms.":"Go to the Builder page to create a team."})]}):t.jsx("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-5",children:o.map(H=>t.jsx(tA,{template:H,isSelected:m?.id===H.id,onSelect:()=>h(m?.id===H.id?null:H)},H.id))})}),m&&e==="all"&&t.jsx("div",{className:"border-t border-border-default bg-surface-secondary shrink-0 max-h-80 overflow-y-auto",children:t.jsxs("div",{className:"p-5",children:[t.jsxs("div",{className:"flex items-center justify-between mb-4",children:[t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl flex items-center justify-center text-lg border ${Su[m.category??"general"]??Su.general}`,children:hj[m.category??"general"]??"◎"}),t.jsxs("div",{children:[t.jsx("h3",{className:"font-semibold text-fg-primary",children:m.name}),t.jsx("p",{className:"text-xs text-fg-tertiary mt-0.5",children:m.description})]})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{onClick:()=>k(m),disabled:b,className:"px-5 py-2 bg-brand-600 text-white text-sm rounded-lg hover:bg-brand-500 transition-colors font-medium disabled:opacity-50",children:b?"Deploying...":"Deploy Team"}),t.jsx("button",{onClick:()=>{h(null),S(null)},className:"text-fg-tertiary hover:text-fg-secondary text-lg px-2",children:"×"})]})]}),w&&t.jsx("div",{className:`mb-4 px-4 py-2.5 rounded-lg text-sm ${w.ok?"bg-green-500/10 text-green-600 border border-green-500/20":"bg-red-500/10 text-red-500 border border-red-500/20"}`,children:w.message}),t.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-5",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-xs text-fg-tertiary uppercase tracking-wider mb-3",children:"Team Composition"}),t.jsx("div",{className:"space-y-2",children:m.members.map((H,M)=>t.jsxs("div",{className:"flex items-center gap-3 bg-surface-elevated/50 rounded-lg p-3",children:[t.jsx("div",{className:`w-8 h-8 rounded-lg flex items-center justify-center text-xs font-bold shrink-0 ${H.role==="manager"?"bg-brand-500/20 text-brand-500":"bg-blue-500/20 text-blue-600"}`,children:H.role==="manager"?"★":M+1}),t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsx("div",{className:"text-sm text-fg-primary",children:H.name??H.roleName??H.templateId}),t.jsxs("div",{className:"flex items-center gap-2 mt-0.5",children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary font-mono",children:H.roleName??H.templateId}),t.jsx("span",{className:`px-1.5 py-0.5 rounded text-[10px] capitalize ${H.role==="manager"?"bg-brand-500/15 text-brand-500":"bg-blue-500/15 text-blue-600"}`,children:H.role??"worker"}),(H.count??1)>1&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["x",H.count]})]})]})]},M))})]}),t.jsxs("div",{children:[t.jsx("div",{className:"text-xs text-fg-tertiary uppercase tracking-wider mb-3",children:"Details"}),t.jsxs("div",{className:"space-y-2 text-sm",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-fg-tertiary w-20",children:"Version:"}),t.jsx("span",{className:"text-fg-secondary font-mono text-xs",children:m.version})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-fg-tertiary w-20",children:"Author:"}),t.jsx("span",{className:"text-fg-secondary",children:m.author})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-fg-tertiary w-20",children:"Members:"}),t.jsxs("span",{className:"text-fg-secondary",children:[m.members.reduce((H,M)=>H+(M.count??1),0)," agents"]})]}),m.tags&&m.tags.length>0&&t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx("span",{className:"text-fg-tertiary w-20 pt-0.5",children:"Tags:"}),t.jsx("div",{className:"flex flex-wrap gap-1.5",children:m.tags.map(H=>t.jsx("span",{className:"px-2 py-0.5 text-[10px] bg-surface-elevated text-fg-secondary rounded-full border border-border-default",children:H},H))})]})]})]})]})]})})]})}function eA({item:e,localInfo:r,onStatusChange:s}){const[l,o]=j.useState(!1),[c,u]=j.useState(""),f=r?.installed??!1,m=f&&e.version&&r?.localVersion&&WT(e.version,r.localVersion),h=async x=>{if(x.stopPropagation(),!l){o(!0),u("");try{const g=await Ln.download(e.id),b=g.name||e.name,p=mj(b),w={type:"hub",hubItemId:e.id};if(g.files&&Object.keys(g.files).length>0)await le.builder.artifacts.import("team",p,g.files,w);else{const S={...g.config,name:b,description:e.description,source:w};await le.builder.artifacts.save("team",S)}await le.builder.artifacts.install("team",p),u(m?"Upgraded!":"Installed!"),s(),window.dispatchEvent(new CustomEvent("markus:data-changed"))}catch{u("Failed")}finally{o(!1)}}};return t.jsxs("div",{className:"p-4 bg-surface-secondary rounded-xl border border-border-default hover:border-brand-600/50 cursor-pointer transition-all",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[t.jsx("span",{className:"text-lg",children:"👥"}),t.jsx("h3",{className:"text-sm font-semibold truncate flex-1",children:e.name}),e.version&&t.jsxs("span",{className:"text-[10px] px-1.5 py-0.5 bg-brand-500/15 text-brand-500 rounded",children:["v",e.version]}),t.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-green-500/15 text-green-600 rounded",children:"Hub"})]}),t.jsx("p",{className:"text-xs text-fg-tertiary line-clamp-2 mb-2",children:e.description}),t.jsxs("div",{className:"flex items-center gap-3 text-xs text-fg-tertiary",children:[t.jsxs("span",{className:"text-amber-600",children:["★".repeat(Math.round(parseFloat(e.avgRating))),"☆".repeat(5-Math.round(parseFloat(e.avgRating)))]}),t.jsxs("span",{children:["↓"," ",e.downloadCount]}),t.jsx("span",{children:e.author?.displayName??e.author?.username})]}),t.jsxs("div",{className:"flex items-center gap-2 mt-3",children:[m?t.jsx("button",{onClick:x=>{h(x)},disabled:l,className:"px-3 py-1 text-xs bg-amber-600 hover:bg-amber-500 text-white rounded-lg transition-colors disabled:opacity-50",children:l?"Upgrading...":`Upgrade → v${e.version}`}):f?t.jsxs("span",{className:"px-3 py-1 text-xs bg-surface-overlay text-fg-secondary rounded-lg",children:["Installed",r?.localVersion?` (v${r.localVersion})`:""]}):t.jsx("button",{onClick:x=>{h(x)},disabled:l,className:"px-3 py-1 text-xs bg-brand-600 hover:bg-brand-500 text-white rounded-lg transition-colors disabled:opacity-50",children:l?"Installing...":"Install"}),c&&t.jsx("span",{className:`text-[10px] ${c==="Failed"?"text-red-500":"text-green-600"}`,children:c})]})]})}function tA({template:e,isSelected:r,onSelect:s}){const l=e.members.reduce((u,f)=>u+(f.count??1),0),o=e.members.some(u=>u.role==="manager"),c=e.category??"general";return t.jsxs("div",{onClick:s,className:`bg-surface-secondary border rounded-xl p-5 cursor-pointer transition-all hover:shadow-lg hover:shadow-black/20 ${r?"border-brand-500 ring-1 ring-brand-500/30":"border-border-default hover:border-gray-600"}`,children:[t.jsxs("div",{className:"flex items-start gap-3",children:[t.jsx("div",{className:`w-10 h-10 rounded-xl flex items-center justify-center text-sm shrink-0 border ${Su[c]??Su.general}`,children:hj[c]??"◎"}),t.jsxs("div",{className:"min-w-0 flex-1",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"font-semibold text-fg-primary truncate",children:e.name}),t.jsxs("span",{className:"px-2 py-0.5 rounded-full text-[10px] font-medium shrink-0 bg-brand-500/20 text-brand-500",children:["v",e.version]})]}),t.jsxs("div",{className:"text-xs text-fg-tertiary mt-0.5",children:["by ",e.author]})]})]}),t.jsx("p",{className:"text-sm text-fg-secondary mt-3 line-clamp-2 leading-relaxed",children:e.description}),t.jsx("div",{className:"flex flex-wrap gap-1.5 mt-3",children:e.members.map((u,f)=>t.jsxs("span",{className:`px-2 py-0.5 text-[10px] rounded-full border ${u.role==="manager"?"bg-brand-500/10 text-brand-500 border-brand-500/15":"bg-blue-500/10 text-blue-600 border-blue-500/15"}`,children:[u.name??u.roleName??u.templateId,(u.count??1)>1?` x${u.count}`:""]},f))}),t.jsxs("div",{className:"mt-3 pt-3 border-t border-border-default flex items-center gap-3 text-xs text-fg-tertiary",children:[t.jsxs("span",{children:[l," agent",l!==1?"s":""]}),o&&t.jsx("span",{className:"text-brand-500/60",children:"has manager"}),e.tags&&e.tags.length>0&&t.jsx("span",{className:"text-fg-tertiary",children:e.tags.slice(0,3).join(", ")})]})]})}function nA(e){const r=e.indexOf(".markus/builder-artifacts/");return r>=0?"~/"+e.slice(r):e}const Mh=[{roleId:"agent-father",roleName:"Agent Father",icon:"✦",color:"from-brand-500 to-purple-600",borderColor:"border-brand-500/30 hover:border-brand-400/50",bgColor:"bg-brand-500/10",desc:"AI Agent Architect",detail:"Design and create powerful AI agents through natural conversation. Describe the agent you need and Agent Father will configure it with the right role, skills, tools, and system prompt.",examples:["A senior full-stack developer who specializes in React and Node.js","A DevOps engineer for CI/CD pipeline management","A code reviewer who enforces best practices"]},{roleId:"team-factory",roleName:"Team Factory",icon:"◈",color:"from-blue-500 to-blue-600",borderColor:"border-blue-500/30 hover:border-blue-400/50",bgColor:"bg-blue-500/10",desc:"AI Team Composer",detail:"Compose optimal agent teams for any project. Describe your goal and Team Factory will design the lineup with the right mix of managers, developers, reviewers, and specialists.",examples:["A web development team with PM, developers, and QA","A content team for a tech blog","A data engineering squad"]},{roleId:"skill-architect",roleName:"Skill Architect",icon:"⬡",color:"from-green-500 to-green-600",borderColor:"border-green-500/30 hover:border-green-400/50",bgColor:"bg-green-500/10",desc:"AI Skill Designer",detail:"Create new agent skills and tool definitions. Describe the capability you want and Skill Architect will design the complete skill manifest with tools, schemas, and permissions.",examples:["A skill that analyzes Git repos and generates changelogs","A web scraping skill for extracting structured data","A database migration tool with rollback support"]}],xy={agent:{icon:"✦",color:"text-brand-500",bg:"bg-brand-500/10"},team:{icon:"◈",color:"text-blue-600",bg:"bg-blue-500/10"},skill:{icon:"⬡",color:"text-green-600",bg:"bg-green-500/10"}};function gy({message:e,onConfirm:r,onCancel:s}){return t.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:s,children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-6 max-w-sm mx-4 shadow-2xl",onClick:l=>l.stopPropagation(),children:[t.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[t.jsx("div",{className:"w-10 h-10 rounded-full bg-red-500/15 flex items-center justify-center shrink-0",children:t.jsxs("svg",{className:"w-5 h-5 text-red-500",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("circle",{cx:"12",cy:"12",r:"10"}),t.jsx("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),t.jsx("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]})}),t.jsxs("div",{children:[t.jsx("div",{className:"text-sm font-medium text-fg-primary",children:"Confirm Delete"}),t.jsx("div",{className:"text-xs text-fg-secondary mt-0.5",children:e})]})]}),t.jsxs("div",{className:"flex justify-end gap-2",children:[t.jsx("button",{onClick:s,className:"px-4 py-1.5 text-xs text-fg-secondary hover:text-fg-primary border border-border-default hover:border-gray-600 rounded-lg transition-colors",children:"Cancel"}),t.jsx("button",{onClick:r,className:"px-4 py-1.5 text-xs bg-red-600 hover:bg-red-500 text-white rounded-lg transition-colors",children:"Delete"})]})]})})}function gj(){const e=xs(),[r,s]=j.useState([]),[l,o]=j.useState([]),[c,u]=j.useState(!1),[f,m]=j.useState("all"),[h,x]=j.useState(null),[g,b]=j.useState(new Map),[p,w]=j.useState(null),[S,T]=j.useState(new Map),[E,C]=j.useState(null),[N,k]=j.useState(null);new Set(Mh.map(D=>D.roleName));const H=j.useCallback(()=>{u(!0),Promise.all([(Ya(gr.builderArtifacts)??le.builder.artifacts.list()).then(D=>D?.artifacts??[]).catch(()=>[]),(Ya(gr.builderAgents)??le.agents.list()).then(D=>D?.agents??[]).catch(()=>[]),(Ya(gr.builderHubMyItems)??Ln.myItems()).then(D=>D?.items??[]).catch(()=>[]),(Ya(gr.builderInstalled)??le.builder.artifacts.installed()).then(D=>D?.installed??{}).catch(()=>({}))]).then(([D,A,I,_])=>{if(o(D),s(A),I.length>0){const q=new Map;for(const K of I){const B=K.itemType==="agent"?"agent":K.itemType==="team"?"team":"skill";for(const R of D)R.type===B&&(K.slug===R.name||K.name===(R.meta.displayName||R.meta.name||R.name))&&q.set(`${R.type}/${R.name}`,{id:K.id,name:K.name,slug:K.slug||R.name})}q.size>0&&T(K=>{const B=new Map(K);for(const[R,W]of q)B.set(R,W);return B})}const G=new Map;for(const q of D){const K=`${q.type}/${q.name}`,B=_[K];B&&G.set(K,{agentId:B.agentId,agentIds:B.agentIds,teamId:B.teamId})}b(G)}).finally(()=>u(!1))},[]);j.useEffect(()=>{H();const D=A=>{A.detail?.page==="builder"&&H()};return window.addEventListener("markus:navigate",D),()=>window.removeEventListener("markus:navigate",D)},[H]);const M=(D,A)=>{const I=r.find(_=>_.role===A||_.name===A);I?Ut.navigate("chat",{agentId:I.id}):Ut.navigate("chat")},Y=async D=>{const A=`${D.type}/${D.name}`;if(!g.has(A)){x(A);try{const I=await le.builder.artifacts.install(D.type,D.name),_={};I.agent&&typeof I.agent=="object"&&(_.agentId=I.agent.id),I.team&&typeof I.team=="object"&&(_.teamId=I.team.id),Array.isArray(I.agents)&&(_.agentIds=I.agents.map(G=>G.id)),b(G=>new Map(G).set(A,_)),window.dispatchEvent(new CustomEvent("markus:data-changed"))}catch(I){console.error("Install failed:",I),alert(`Install failed: ${I}`)}finally{x(null)}}},$=async D=>{const A=`${D.type}/${D.name}`;if(g.has(A)){x(A);try{await le.builder.artifacts.uninstall(D.type,D.name),b(I=>{const _=new Map(I);return _.delete(A),_}),window.dispatchEvent(new CustomEvent("markus:data-changed"))}catch(I){console.error("Uninstall failed:",I),alert(`Uninstall failed: ${I}`)}finally{x(null)}}},X=async D=>{const A=`${D.type}/${D.name}`;if(!S.has(A)){x(A);try{const I=await le.builder.artifacts.get(D.type,D.name),_=D.meta.displayName||D.meta.name||D.name,G=D.meta.description||"",q=D.meta.category||"general",K=Array.isArray(D.meta.tags)?D.meta.tags:[],B=D.name,R=await Ln.publishViaProxy({itemType:D.type==="team"?"team":D.type==="skill"?"skill":"agent",name:_,slug:B,description:G,category:q,tags:K,config:D.meta,files:I.files&&Object.keys(I.files).length>0?I.files:void 0});R.id&&T(W=>{const z=new Map(W);return z.set(A,{id:R.id,name:_,slug:R.slug??B}),z})}catch(I){console.error("Share failed:",I),alert(`Share failed: ${I}`)}finally{x(null)}}},P=async()=>{if(!E)return;const{key:D}=E,A=S.get(D);if(C(null),!A)return;const I=A.id;x(D);try{await Ln.deleteItem(I),T(_=>{const G=new Map(_);return G.delete(D),G})}catch(_){console.error("Hub delete failed:",_),alert(`Failed to remove from Hub: ${_}`)}finally{x(null)}},U=async()=>{if(!p)return;const D=p,A=`${D.type}/${D.name}`;w(null),x(A);try{await le.builder.artifacts.delete(D.type,D.name),o(I=>I.filter(_=>!(_.type===D.type&&_.name===D.name))),b(I=>{const _=new Map(I);return _.delete(A),_}),window.dispatchEvent(new CustomEvent("markus:data-changed"))}catch(I){console.error("Delete failed:",I)}finally{x(null)}},V=f==="all"?l:l.filter(D=>D.type===f);return t.jsx("div",{className:"flex-1 overflow-y-auto",children:t.jsxs("div",{className:`max-w-4xl ${e?"px-4 py-5":"px-6 py-10"}`,children:[t.jsxs("div",{className:"mb-10",children:[t.jsx("h1",{className:"text-2xl font-bold text-fg-primary",children:"Builder"}),t.jsx("p",{className:"text-sm text-fg-tertiary mt-2",children:"Create agents, teams, and skills through AI-powered conversations. Choose a builder to get started."})]}),t.jsx("div",{className:"grid gap-5",children:Mh.map(D=>t.jsx("button",{onClick:()=>M(D.roleId,D.roleName),className:`group text-left w-full rounded-xl border ${D.borderColor} bg-surface-secondary/60 ${e?"p-4":"p-6"} transition-all hover:bg-surface-secondary/80 hover:shadow-lg`,children:t.jsxs("div",{className:`flex items-start ${e?"gap-3":"gap-5"}`,children:[t.jsx("div",{className:`${e?"w-10 h-10 text-xl":"w-14 h-14 text-2xl"} rounded-xl ${D.bgColor} flex items-center justify-center shrink-0`,children:D.icon}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[t.jsx("h3",{className:`${e?"text-base":"text-lg"} font-semibold bg-gradient-to-r ${D.color} bg-clip-text text-transparent`,children:D.roleName}),t.jsx("span",{className:"text-[10px] text-fg-tertiary font-medium uppercase tracking-wider",children:D.desc}),r.find(A=>A.role===D.roleName||A.name===D.roleName)&&t.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 shrink-0",title:"Agent online"})]}),t.jsx("p",{className:"text-sm text-fg-secondary leading-relaxed",children:D.detail}),t.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:D.examples.map((A,I)=>t.jsxs("span",{className:"text-[11px] text-fg-tertiary bg-surface-elevated/60 rounded-full px-3 py-1 border border-border-default",children:["“",A,"”"]},I))})]}),t.jsx("svg",{className:"w-5 h-5 text-fg-muted group-hover:text-fg-secondary transition-colors shrink-0 mt-1",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("polyline",{points:"9 18 15 12 9 6"})})]})},D.roleId))}),r.length>0&&!r.some(D=>Mh.some(A=>D.role===A.roleName||D.name===A.roleName))&&t.jsx("div",{className:"mt-8 p-4 rounded-lg border border-amber-500/30 bg-amber-500/10 text-amber-600 text-xs",children:"Builder agents have not been created yet. They will be automatically seeded on next server restart."}),t.jsxs("div",{className:"mt-14 mb-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-lg font-semibold text-fg-primary",children:"My Creations"}),t.jsx("p",{className:"text-xs text-fg-tertiary mt-1",children:"Saved builder artifacts — install to deploy, or share to Markus Hub."})]}),t.jsx("button",{onClick:H,className:"text-xs text-fg-tertiary hover:text-fg-secondary transition-colors px-3 py-1.5 rounded-lg border border-border-default hover:border-gray-600",children:"Refresh"})]}),t.jsx("div",{className:"flex gap-2 mt-4",children:["all","agent","team","skill"].map(D=>t.jsx("button",{onClick:()=>m(D),className:`text-xs px-3 py-1.5 rounded-full border transition-colors ${f===D?"border-gray-600 bg-surface-elevated text-fg-primary":"border-border-default text-fg-tertiary hover:text-fg-secondary hover:border-gray-600"}`,children:D==="all"?"All":D.charAt(0).toUpperCase()+D.slice(1)+"s"},D))})]}),c&&l.length===0?t.jsx("div",{className:"text-center text-fg-tertiary py-12 text-sm",children:"Loading artifacts..."}):V.length===0?t.jsxs("div",{className:"text-center py-12",children:[t.jsx("div",{className:"text-fg-tertiary text-sm",children:"No artifacts found."}),t.jsx("div",{className:"text-fg-muted text-xs mt-1",children:"Use a builder above to create agents, teams, or skills."})]}):t.jsx("div",{className:"grid gap-3",children:V.map(D=>{const A=xy[D.type]??xy.agent,I=D.meta.displayName||D.meta.name||D.name,_=D.meta.description||"",G=`${D.type}/${D.name}`,q=h===G,K=t.jsxs("div",{className:`flex items-center gap-1.5 ${e?"flex-wrap":"shrink-0"}`,children:[g.has(G)?t.jsx("button",{onClick:()=>$(D),disabled:q,className:"text-xs px-3 py-1.5 rounded-lg border border-green-600/30 text-green-600 hover:bg-red-500/10 hover:text-red-500 hover:border-red-500/30 transition-colors disabled:opacity-50",children:q?"Uninstalling...":"Uninstall"}):t.jsx("button",{onClick:()=>Y(D),disabled:q,className:"text-xs px-3 py-1.5 rounded-lg bg-brand-600 hover:bg-brand-500 text-white transition-colors disabled:opacity-50",children:q?"Installing...":"Install"}),S.has(G)?t.jsxs("div",{className:"flex items-center gap-1",children:[t.jsx("button",{onClick:()=>C({key:G,name:D.meta.displayName||D.meta.name||D.name}),disabled:q,className:"text-xs px-3 py-1.5 rounded-lg border border-green-600/30 text-green-600 hover:text-red-500 hover:border-red-500/30 hover:bg-red-500/10 transition-colors disabled:opacity-50",title:"Remove from Markus Hub",children:"Shared"}),t.jsx("button",{onClick:()=>{const B=S.get(G),R=Ln.getUser();if(!B||!R)return;const W=`${Ln.getUrl()}/${encodeURIComponent(R.username)}/${encodeURIComponent(B.slug)}`;navigator.clipboard.writeText(W).then(()=>{k(G),setTimeout(()=>k(z=>z===G?null:z),2e3)}).catch(()=>{})},className:"text-xs px-2 py-1.5 rounded-lg border border-green-600/20 text-green-500 hover:text-green-600 hover:border-green-500/40 transition-colors",title:"Copy Hub link",children:N===G?t.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("polyline",{points:"20 6 9 17 4 12"})}):t.jsxs("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),t.jsx("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]})})]}):t.jsx("button",{onClick:()=>X(D),disabled:q,className:"text-xs px-3 py-1.5 rounded-lg border border-border-default text-fg-secondary hover:text-green-600 hover:border-green-500/30 transition-colors disabled:opacity-50",children:q?"Sharing...":"Share"}),t.jsx("button",{onClick:()=>w(D),disabled:q,className:"text-xs px-2 py-1.5 rounded-lg text-fg-tertiary hover:text-red-500 hover:bg-red-500/10 transition-colors disabled:opacity-50",title:"Delete",children:t.jsxs("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("polyline",{points:"3 6 5 6 21 6"}),t.jsx("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})]})})]});return t.jsxs("div",{className:"group rounded-lg border border-border-default bg-surface-secondary/60 p-4 hover:border-gray-600 transition-all overflow-hidden",children:[t.jsxs("div",{className:"flex items-start gap-3 min-w-0",children:[t.jsx("div",{className:`w-9 h-9 rounded-lg ${A.bg} flex items-center justify-center text-lg shrink-0`,children:A.icon}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-0.5",children:[t.jsx("span",{className:"text-sm font-medium text-fg-primary truncate",children:I}),t.jsx("span",{className:`text-[10px] font-medium uppercase tracking-wider ${A.color}`,children:D.type})]}),_&&t.jsx("p",{className:"text-xs text-fg-tertiary line-clamp-2",children:_}),t.jsxs("div",{className:"flex items-center gap-3 mt-2 text-[10px] text-fg-tertiary min-w-0",children:[t.jsx("button",{onClick:B=>{B.stopPropagation(),le.system.openPath(D.path).catch(()=>{})},className:"hover:text-fg-secondary transition-colors truncate min-w-0",title:D.path,children:nA(D.path)}),t.jsx("span",{className:"shrink-0",children:new Date(D.updatedAt).toLocaleDateString()})]})]}),!e&&K]}),e&&t.jsx("div",{className:"mt-3 pt-3 border-t border-border-default/50",children:K})]},G)})}),p&&t.jsx(gy,{message:`Delete "${p.meta.displayName||p.meta.name||p.name}"? This cannot be undone.`,onConfirm:U,onCancel:()=>w(null)}),E&&t.jsx(gy,{message:`Remove "${E.name}" from Markus Hub? It will no longer be available for others to download.`,onConfirm:()=>{P()},onCancel:()=>C(null)})]})})}function pj(){const[e,r]=j.useState(null),[s,l]=j.useState([]),[o,c]=j.useState(null),[u,f]=j.useState(!0),[m,h]=j.useState(""),[x,g]=j.useState(!1),[b,p]=j.useState(""),[w,S]=j.useState(""),[T,E]=j.useState("normal"),[C,N]=j.useState(""),[k,H]=j.useState(!1),[M,Y]=j.useState(!1),[$,X]=j.useState("auto"),[P,U]=j.useState(10),[V,D]=j.useState(!0),A=j.useCallback(async()=>{try{const[R,W,z]=await Promise.all([le.governance.getSystemStatus(),le.governance.getAnnouncements(),le.governance.getPolicy()]);r(R),l(W.announcements),c(z.policy)}catch{}f(!1)},[]);j.useEffect(()=>{A()},[A]);const I=R=>{h(R),setTimeout(()=>h(""),3e3)},_=async()=>{try{await le.governance.pauseAll(C||void 0),I("All agents paused"),H(!1),N(""),A()}catch(R){I(`Error: ${R}`)}},G=async()=>{try{await le.governance.resumeAll(),I("All agents resumed"),A()}catch(R){I(`Error: ${R}`)}},q=async()=>{if(confirm("EMERGENCY STOP will terminate all agents immediately. Continue?"))try{await le.governance.emergencyStop("Manual emergency stop from UI"),I("EMERGENCY STOP executed"),A()}catch(R){I(`Error: ${R}`)}},K=async()=>{if(b.trim())try{await le.governance.createAnnouncement({title:b,message:w,priority:T,scope:"all"}),g(!1),p(""),S(""),I("Announcement created"),A()}catch(R){I(`Error: ${R}`)}},B=async()=>{try{const R={defaultApprovalTier:$,maxTasksPerAgent:P,requireRequirement:V};await le.governance.setPolicy(R),I("Policy updated"),Y(!1),A()}catch(R){I(`Error: ${R}`)}};return u?t.jsx("div",{className:"flex-1 flex items-center justify-center text-fg-tertiary",children:"Loading…"}):t.jsxs("div",{className:"flex-1 overflow-y-auto",children:[t.jsxs("div",{className:"sticky top-0 z-10 bg-surface-secondary border-b border-border-default px-6 h-14 flex items-center justify-between",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-lg font-semibold text-fg-primary",children:"Governance"}),t.jsx("p",{className:"text-xs text-fg-tertiary",children:"System controls, announcements, and governance policy"})]}),m&&t.jsx("div",{className:"px-3 py-1.5 bg-green-500/10 text-green-600 text-xs rounded-lg",children:m})]}),t.jsxs("div",{className:"p-6 space-y-6 max-w-5xl",children:[t.jsxs("section",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:[t.jsx("h3",{className:"text-sm font-semibold text-fg-secondary mb-4",children:"System Status"}),t.jsxs("div",{className:"flex items-center gap-4 mb-5",children:[t.jsx(py,{label:"Global",active:!e?.globalPaused,activeText:"Running",inactiveText:"Paused"}),t.jsx(py,{label:"Emergency",active:!e?.emergencyMode,activeText:"Normal",inactiveText:"ACTIVE",danger:!0})]}),t.jsxs("div",{className:"flex flex-wrap gap-3",children:[e?.globalPaused?t.jsx("button",{onClick:G,className:"btn-primary text-sm px-4 py-2 rounded-lg bg-green-600 hover:bg-green-500",children:"▶ Resume All Agents"}):t.jsx("button",{onClick:()=>H(!0),className:"text-sm px-4 py-2 rounded-lg bg-amber-600 hover:bg-amber-500 text-white",children:"⏸ Pause All Agents"}),t.jsx("button",{onClick:q,className:"text-sm px-4 py-2 rounded-lg bg-red-700 hover:bg-red-600 text-white",children:"⚠ Emergency Stop"})]})]}),t.jsxs("section",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:[t.jsxs("div",{className:"flex items-center justify-between mb-4",children:[t.jsx("h3",{className:"text-sm font-semibold text-fg-secondary",children:"Governance Policy"}),t.jsx("button",{onClick:()=>{Y(!M),o&&(X(o.defaultApprovalTier),U(o.maxTasksPerAgent??10),D(o.requireRequirement??!0))},className:"text-xs text-brand-500 hover:text-brand-500",children:M?"Cancel":"Edit"})]}),M?t.jsxs("div",{className:"space-y-3",children:[t.jsxs("div",{children:[t.jsx("label",{className:"text-xs text-fg-tertiary block mb-1",children:"Default Approval Tier"}),t.jsxs("select",{value:$,onChange:R=>X(R.target.value),className:"bg-surface-elevated border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary w-48",children:[t.jsx("option",{value:"auto",children:"Auto (no approval)"}),t.jsx("option",{value:"manager",children:"Manager Approval"}),t.jsx("option",{value:"human",children:"Human Approval"})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"text-xs text-fg-tertiary block mb-1",children:"Max Tasks per Agent"}),t.jsx("input",{type:"number",value:P,onChange:R=>U(Number(R.target.value)),className:"bg-surface-elevated border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary w-32"})]}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsxs("label",{className:"relative inline-flex items-center cursor-pointer",children:[t.jsx("input",{type:"checkbox",checked:V,onChange:R=>D(R.target.checked),className:"sr-only peer"}),t.jsx("div",{className:"w-9 h-5 bg-surface-overlay peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:rounded-full after:h-4 after:w-4 after:transition-all peer-checked:bg-brand-600"})]}),t.jsxs("div",{children:[t.jsx("span",{className:"text-xs text-fg-secondary",children:"Require Requirement for Tasks"}),t.jsx("p",{className:"text-[10px] text-fg-tertiary",children:"Top-level tasks must link to an approved requirement"})]})]}),t.jsx("button",{onClick:B,className:"btn-primary text-sm px-4 py-2 rounded-lg",children:"Save Policy"})]}):o?t.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[t.jsxs("div",{children:[t.jsx("span",{className:"text-fg-tertiary",children:"Approval Tier:"}),t.jsx("span",{className:"ml-2 text-fg-primary",children:o.defaultApprovalTier})]}),t.jsxs("div",{children:[t.jsx("span",{className:"text-fg-tertiary",children:"Max Tasks/Agent:"}),t.jsx("span",{className:"ml-2 text-fg-primary",children:o.maxTasksPerAgent??"—"})]}),t.jsxs("div",{className:"col-span-2",children:[t.jsx("span",{className:"text-fg-tertiary",children:"Require Requirement:"}),t.jsx("span",{className:`ml-2 px-2 py-0.5 rounded-full text-xs font-medium ${o.requireRequirement!==!1?"bg-brand-500/10 text-brand-500":"bg-surface-overlay text-fg-secondary"}`,children:o.requireRequirement!==!1?"Enabled":"Disabled"})]}),o.rules&&o.rules.length>0&&t.jsxs("div",{className:"col-span-2",children:[t.jsx("span",{className:"text-fg-tertiary",children:"Rules:"}),t.jsx("div",{className:"mt-1 space-y-1",children:o.rules.map((R,W)=>t.jsxs("div",{className:"text-xs bg-surface-elevated rounded px-2 py-1 text-fg-secondary",children:["When ",t.jsx("code",{className:"text-amber-600",children:R.condition})," → ",t.jsx("span",{className:"text-brand-500",children:R.approvalTier})]},W))})]})]}):t.jsx("p",{className:"text-sm text-fg-tertiary",children:"No governance policy configured. Click Edit to set one."})]}),t.jsxs("section",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:[t.jsxs("div",{className:"flex items-center justify-between mb-4",children:[t.jsx("h3",{className:"text-sm font-semibold text-fg-secondary",children:"System Announcements"}),t.jsx("button",{onClick:()=>g(!x),className:"text-xs px-3 py-1.5 rounded-lg bg-brand-600 hover:bg-brand-500 text-white",children:"+ New Announcement"})]}),x&&t.jsxs("div",{className:"mb-4 p-4 bg-surface-elevated rounded-lg space-y-3",children:[t.jsx("input",{value:b,onChange:R=>p(R.target.value),placeholder:"Title",className:"w-full bg-surface-overlay border border-gray-600 rounded-lg px-3 py-2 text-sm text-fg-primary"}),t.jsx("textarea",{value:w,onChange:R=>S(R.target.value),placeholder:"Message (optional)",className:"w-full bg-surface-overlay border border-gray-600 rounded-lg px-3 py-2 text-sm text-fg-primary h-20 resize-none"}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsxs("select",{value:T,onChange:R=>E(R.target.value),className:"bg-surface-overlay border border-gray-600 rounded-lg px-3 py-2 text-sm text-fg-primary",children:[t.jsx("option",{value:"low",children:"Low"}),t.jsx("option",{value:"normal",children:"Normal"}),t.jsx("option",{value:"high",children:"High"}),t.jsx("option",{value:"critical",children:"Critical"})]}),t.jsx("button",{onClick:K,className:"btn-primary text-sm px-4 py-2 rounded-lg",children:"Publish"}),t.jsx("button",{onClick:()=>g(!1),className:"text-sm text-fg-tertiary hover:text-fg-secondary",children:"Cancel"})]})]}),s.length===0?t.jsx("p",{className:"text-sm text-fg-tertiary",children:"No announcements."}):t.jsx("div",{className:"space-y-2",children:s.map(R=>t.jsxs("div",{className:"flex items-start gap-3 p-3 bg-surface-elevated/50 rounded-lg",children:[t.jsx(rA,{priority:R.priority}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-sm font-medium text-fg-primary",children:R.title}),R.message&&t.jsx("div",{className:"text-xs text-fg-secondary mt-0.5",children:R.message}),t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-1",children:new Date(R.createdAt).toLocaleString()})]})]},R.id))})]})]}),k&&t.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-6 w-96 space-y-4",children:[t.jsx("h3",{className:"text-base font-semibold text-fg-primary",children:"Pause All Agents"}),t.jsx("p",{className:"text-sm text-fg-secondary",children:"All agents will be paused. They will stop processing tasks until resumed."}),t.jsx("input",{value:C,onChange:R=>N(R.target.value),placeholder:"Reason (optional)",className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary"}),t.jsxs("div",{className:"flex justify-end gap-3",children:[t.jsx("button",{onClick:()=>H(!1),className:"text-sm text-fg-tertiary hover:text-fg-secondary",children:"Cancel"}),t.jsx("button",{onClick:_,className:"text-sm px-4 py-2 rounded-lg bg-amber-600 hover:bg-amber-500 text-white",children:"Pause All"})]})]})})]})}function py({label:e,active:r,activeText:s,inactiveText:l,danger:o}){return t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsxs("span",{className:"text-xs text-fg-tertiary",children:[e,":"]}),t.jsx("span",{className:`px-2.5 py-1 rounded-full text-xs font-medium ${r?"bg-green-500/10 text-green-600":o?"bg-red-500/10 text-red-500 animate-pulse":"bg-amber-500/10 text-amber-600"}`,children:r?s:l})]})}function rA({priority:e}){const r=e==="critical"?"bg-red-500":e==="high"?"bg-amber-500":e==="normal"?"bg-blue-500":"bg-gray-500";return t.jsx("div",{className:`w-2 h-2 rounded-full mt-1.5 shrink-0 ${r}`})}function $n(e){if(typeof e=="string"||typeof e=="number")return""+e;let r="";if(Array.isArray(e))for(let s=0,l;s<e.length;s++)(l=$n(e[s]))!==""&&(r+=(r&&" ")+l);else for(let s in e)e[s]&&(r+=(r&&" ")+s);return r}var sA={value:()=>{}};function Fu(){for(var e=0,r=arguments.length,s={},l;e<r;++e){if(!(l=arguments[e]+"")||l in s||/[\s.]/.test(l))throw new Error("illegal type: "+l);s[l]=[]}return new du(s)}function du(e){this._=e}function aA(e,r){return e.trim().split(/^|\s+/).map(function(s){var l="",o=s.indexOf(".");if(o>=0&&(l=s.slice(o+1),s=s.slice(0,o)),s&&!r.hasOwnProperty(s))throw new Error("unknown type: "+s);return{type:s,name:l}})}du.prototype=Fu.prototype={constructor:du,on:function(e,r){var s=this._,l=aA(e+"",s),o,c=-1,u=l.length;if(arguments.length<2){for(;++c<u;)if((o=(e=l[c]).type)&&(o=lA(s[o],e.name)))return o;return}if(r!=null&&typeof r!="function")throw new Error("invalid callback: "+r);for(;++c<u;)if(o=(e=l[c]).type)s[o]=by(s[o],e.name,r);else if(r==null)for(o in s)s[o]=by(s[o],e.name,null);return this},copy:function(){var e={},r=this._;for(var s in r)e[s]=r[s].slice();return new du(e)},call:function(e,r){if((o=arguments.length-2)>0)for(var s=new Array(o),l=0,o,c;l<o;++l)s[l]=arguments[l+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(c=this._[e],l=0,o=c.length;l<o;++l)c[l].value.apply(r,s)},apply:function(e,r,s){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var l=this._[e],o=0,c=l.length;o<c;++o)l[o].value.apply(r,s)}};function lA(e,r){for(var s=0,l=e.length,o;s<l;++s)if((o=e[s]).name===r)return o.value}function by(e,r,s){for(var l=0,o=e.length;l<o;++l)if(e[l].name===r){e[l]=sA,e=e.slice(0,l).concat(e.slice(l+1));break}return s!=null&&e.push({name:r,value:s}),e}var fm="http://www.w3.org/1999/xhtml";const yy={svg:"http://www.w3.org/2000/svg",xhtml:fm,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Yu(e){var r=e+="",s=r.indexOf(":");return s>=0&&(r=e.slice(0,s))!=="xmlns"&&(e=e.slice(s+1)),yy.hasOwnProperty(r)?{space:yy[r],local:e}:e}function iA(e){return function(){var r=this.ownerDocument,s=this.namespaceURI;return s===fm&&r.documentElement.namespaceURI===fm?r.createElement(e):r.createElementNS(s,e)}}function oA(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function bj(e){var r=Yu(e);return(r.local?oA:iA)(r)}function cA(){}function nx(e){return e==null?cA:function(){return this.querySelector(e)}}function uA(e){typeof e!="function"&&(e=nx(e));for(var r=this._groups,s=r.length,l=new Array(s),o=0;o<s;++o)for(var c=r[o],u=c.length,f=l[o]=new Array(u),m,h,x=0;x<u;++x)(m=c[x])&&(h=e.call(m,m.__data__,x,c))&&("__data__"in m&&(h.__data__=m.__data__),f[x]=h);return new Mr(l,this._parents)}function dA(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function fA(){return[]}function yj(e){return e==null?fA:function(){return this.querySelectorAll(e)}}function hA(e){return function(){return dA(e.apply(this,arguments))}}function mA(e){typeof e=="function"?e=hA(e):e=yj(e);for(var r=this._groups,s=r.length,l=[],o=[],c=0;c<s;++c)for(var u=r[c],f=u.length,m,h=0;h<f;++h)(m=u[h])&&(l.push(e.call(m,m.__data__,h,u)),o.push(m));return new Mr(l,o)}function vj(e){return function(){return this.matches(e)}}function jj(e){return function(r){return r.matches(e)}}var xA=Array.prototype.find;function gA(e){return function(){return xA.call(this.children,e)}}function pA(){return this.firstElementChild}function bA(e){return this.select(e==null?pA:gA(typeof e=="function"?e:jj(e)))}var yA=Array.prototype.filter;function vA(){return Array.from(this.children)}function jA(e){return function(){return yA.call(this.children,e)}}function wA(e){return this.selectAll(e==null?vA:jA(typeof e=="function"?e:jj(e)))}function NA(e){typeof e!="function"&&(e=vj(e));for(var r=this._groups,s=r.length,l=new Array(s),o=0;o<s;++o)for(var c=r[o],u=c.length,f=l[o]=[],m,h=0;h<u;++h)(m=c[h])&&e.call(m,m.__data__,h,c)&&f.push(m);return new Mr(l,this._parents)}function wj(e){return new Array(e.length)}function kA(){return new Mr(this._enter||this._groups.map(wj),this._parents)}function Cu(e,r){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=r}Cu.prototype={constructor:Cu,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,r){return this._parent.insertBefore(e,r)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function SA(e){return function(){return e}}function CA(e,r,s,l,o,c){for(var u=0,f,m=r.length,h=c.length;u<h;++u)(f=r[u])?(f.__data__=c[u],l[u]=f):s[u]=new Cu(e,c[u]);for(;u<m;++u)(f=r[u])&&(o[u]=f)}function EA(e,r,s,l,o,c,u){var f,m,h=new Map,x=r.length,g=c.length,b=new Array(x),p;for(f=0;f<x;++f)(m=r[f])&&(b[f]=p=u.call(m,m.__data__,f,r)+"",h.has(p)?o[f]=m:h.set(p,m));for(f=0;f<g;++f)p=u.call(e,c[f],f,c)+"",(m=h.get(p))?(l[f]=m,m.__data__=c[f],h.delete(p)):s[f]=new Cu(e,c[f]);for(f=0;f<x;++f)(m=r[f])&&h.get(b[f])===m&&(o[f]=m)}function TA(e){return e.__data__}function AA(e,r){if(!arguments.length)return Array.from(this,TA);var s=r?EA:CA,l=this._parents,o=this._groups;typeof e!="function"&&(e=SA(e));for(var c=o.length,u=new Array(c),f=new Array(c),m=new Array(c),h=0;h<c;++h){var x=l[h],g=o[h],b=g.length,p=_A(e.call(x,x&&x.__data__,h,l)),w=p.length,S=f[h]=new Array(w),T=u[h]=new Array(w),E=m[h]=new Array(b);s(x,g,S,T,E,p,r);for(var C=0,N=0,k,H;C<w;++C)if(k=S[C]){for(C>=N&&(N=C+1);!(H=T[N])&&++N<w;);k._next=H||null}}return u=new Mr(u,l),u._enter=f,u._exit=m,u}function _A(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function MA(){return new Mr(this._exit||this._groups.map(wj),this._parents)}function DA(e,r,s){var l=this.enter(),o=this,c=this.exit();return typeof e=="function"?(l=e(l),l&&(l=l.selection())):l=l.append(e+""),r!=null&&(o=r(o),o&&(o=o.selection())),s==null?c.remove():s(c),l&&o?l.merge(o).order():o}function OA(e){for(var r=e.selection?e.selection():e,s=this._groups,l=r._groups,o=s.length,c=l.length,u=Math.min(o,c),f=new Array(o),m=0;m<u;++m)for(var h=s[m],x=l[m],g=h.length,b=f[m]=new Array(g),p,w=0;w<g;++w)(p=h[w]||x[w])&&(b[w]=p);for(;m<o;++m)f[m]=s[m];return new Mr(f,this._parents)}function RA(){for(var e=this._groups,r=-1,s=e.length;++r<s;)for(var l=e[r],o=l.length-1,c=l[o],u;--o>=0;)(u=l[o])&&(c&&u.compareDocumentPosition(c)^4&&c.parentNode.insertBefore(u,c),c=u);return this}function zA(e){e||(e=LA);function r(g,b){return g&&b?e(g.__data__,b.__data__):!g-!b}for(var s=this._groups,l=s.length,o=new Array(l),c=0;c<l;++c){for(var u=s[c],f=u.length,m=o[c]=new Array(f),h,x=0;x<f;++x)(h=u[x])&&(m[x]=h);m.sort(r)}return new Mr(o,this._parents).order()}function LA(e,r){return e<r?-1:e>r?1:e>=r?0:NaN}function IA(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function $A(){return Array.from(this)}function BA(){for(var e=this._groups,r=0,s=e.length;r<s;++r)for(var l=e[r],o=0,c=l.length;o<c;++o){var u=l[o];if(u)return u}return null}function HA(){let e=0;for(const r of this)++e;return e}function PA(){return!this.node()}function UA(e){for(var r=this._groups,s=0,l=r.length;s<l;++s)for(var o=r[s],c=0,u=o.length,f;c<u;++c)(f=o[c])&&e.call(f,f.__data__,c,o);return this}function qA(e){return function(){this.removeAttribute(e)}}function VA(e){return function(){this.removeAttributeNS(e.space,e.local)}}function FA(e,r){return function(){this.setAttribute(e,r)}}function YA(e,r){return function(){this.setAttributeNS(e.space,e.local,r)}}function GA(e,r){return function(){var s=r.apply(this,arguments);s==null?this.removeAttribute(e):this.setAttribute(e,s)}}function XA(e,r){return function(){var s=r.apply(this,arguments);s==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,s)}}function ZA(e,r){var s=Yu(e);if(arguments.length<2){var l=this.node();return s.local?l.getAttributeNS(s.space,s.local):l.getAttribute(s)}return this.each((r==null?s.local?VA:qA:typeof r=="function"?s.local?XA:GA:s.local?YA:FA)(s,r))}function Nj(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function QA(e){return function(){this.style.removeProperty(e)}}function KA(e,r,s){return function(){this.style.setProperty(e,r,s)}}function JA(e,r,s){return function(){var l=r.apply(this,arguments);l==null?this.style.removeProperty(e):this.style.setProperty(e,l,s)}}function WA(e,r,s){return arguments.length>1?this.each((r==null?QA:typeof r=="function"?JA:KA)(e,r,s??"")):Fl(this.node(),e)}function Fl(e,r){return e.style.getPropertyValue(r)||Nj(e).getComputedStyle(e,null).getPropertyValue(r)}function e_(e){return function(){delete this[e]}}function t_(e,r){return function(){this[e]=r}}function n_(e,r){return function(){var s=r.apply(this,arguments);s==null?delete this[e]:this[e]=s}}function r_(e,r){return arguments.length>1?this.each((r==null?e_:typeof r=="function"?n_:t_)(e,r)):this.node()[e]}function kj(e){return e.trim().split(/^|\s+/)}function rx(e){return e.classList||new Sj(e)}function Sj(e){this._node=e,this._names=kj(e.getAttribute("class")||"")}Sj.prototype={add:function(e){var r=this._names.indexOf(e);r<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var r=this._names.indexOf(e);r>=0&&(this._names.splice(r,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Cj(e,r){for(var s=rx(e),l=-1,o=r.length;++l<o;)s.add(r[l])}function Ej(e,r){for(var s=rx(e),l=-1,o=r.length;++l<o;)s.remove(r[l])}function s_(e){return function(){Cj(this,e)}}function a_(e){return function(){Ej(this,e)}}function l_(e,r){return function(){(r.apply(this,arguments)?Cj:Ej)(this,e)}}function i_(e,r){var s=kj(e+"");if(arguments.length<2){for(var l=rx(this.node()),o=-1,c=s.length;++o<c;)if(!l.contains(s[o]))return!1;return!0}return this.each((typeof r=="function"?l_:r?s_:a_)(s,r))}function o_(){this.textContent=""}function c_(e){return function(){this.textContent=e}}function u_(e){return function(){var r=e.apply(this,arguments);this.textContent=r??""}}function d_(e){return arguments.length?this.each(e==null?o_:(typeof e=="function"?u_:c_)(e)):this.node().textContent}function f_(){this.innerHTML=""}function h_(e){return function(){this.innerHTML=e}}function m_(e){return function(){var r=e.apply(this,arguments);this.innerHTML=r??""}}function x_(e){return arguments.length?this.each(e==null?f_:(typeof e=="function"?m_:h_)(e)):this.node().innerHTML}function g_(){this.nextSibling&&this.parentNode.appendChild(this)}function p_(){return this.each(g_)}function b_(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function y_(){return this.each(b_)}function v_(e){var r=typeof e=="function"?e:bj(e);return this.select(function(){return this.appendChild(r.apply(this,arguments))})}function j_(){return null}function w_(e,r){var s=typeof e=="function"?e:bj(e),l=r==null?j_:typeof r=="function"?r:nx(r);return this.select(function(){return this.insertBefore(s.apply(this,arguments),l.apply(this,arguments)||null)})}function N_(){var e=this.parentNode;e&&e.removeChild(this)}function k_(){return this.each(N_)}function S_(){var e=this.cloneNode(!1),r=this.parentNode;return r?r.insertBefore(e,this.nextSibling):e}function C_(){var e=this.cloneNode(!0),r=this.parentNode;return r?r.insertBefore(e,this.nextSibling):e}function E_(e){return this.select(e?C_:S_)}function T_(e){return arguments.length?this.property("__data__",e):this.node().__data__}function A_(e){return function(r){e.call(this,r,this.__data__)}}function __(e){return e.trim().split(/^|\s+/).map(function(r){var s="",l=r.indexOf(".");return l>=0&&(s=r.slice(l+1),r=r.slice(0,l)),{type:r,name:s}})}function M_(e){return function(){var r=this.__on;if(r){for(var s=0,l=-1,o=r.length,c;s<o;++s)c=r[s],(!e.type||c.type===e.type)&&c.name===e.name?this.removeEventListener(c.type,c.listener,c.options):r[++l]=c;++l?r.length=l:delete this.__on}}}function D_(e,r,s){return function(){var l=this.__on,o,c=A_(r);if(l){for(var u=0,f=l.length;u<f;++u)if((o=l[u]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=c,o.options=s),o.value=r;return}}this.addEventListener(e.type,c,s),o={type:e.type,name:e.name,value:r,listener:c,options:s},l?l.push(o):this.__on=[o]}}function O_(e,r,s){var l=__(e+""),o,c=l.length,u;if(arguments.length<2){var f=this.node().__on;if(f){for(var m=0,h=f.length,x;m<h;++m)for(o=0,x=f[m];o<c;++o)if((u=l[o]).type===x.type&&u.name===x.name)return x.value}return}for(f=r?D_:M_,o=0;o<c;++o)this.each(f(l[o],r,s));return this}function Tj(e,r,s){var l=Nj(e),o=l.CustomEvent;typeof o=="function"?o=new o(r,s):(o=l.document.createEvent("Event"),s?(o.initEvent(r,s.bubbles,s.cancelable),o.detail=s.detail):o.initEvent(r,!1,!1)),e.dispatchEvent(o)}function R_(e,r){return function(){return Tj(this,e,r)}}function z_(e,r){return function(){return Tj(this,e,r.apply(this,arguments))}}function L_(e,r){return this.each((typeof r=="function"?z_:R_)(e,r))}function*I_(){for(var e=this._groups,r=0,s=e.length;r<s;++r)for(var l=e[r],o=0,c=l.length,u;o<c;++o)(u=l[o])&&(yield u)}var Aj=[null];function Mr(e,r){this._groups=e,this._parents=r}function Oo(){return new Mr([[document.documentElement]],Aj)}function $_(){return this}Mr.prototype=Oo.prototype={constructor:Mr,select:uA,selectAll:mA,selectChild:bA,selectChildren:wA,filter:NA,data:AA,enter:kA,exit:MA,join:DA,merge:OA,selection:$_,order:RA,sort:zA,call:IA,nodes:$A,node:BA,size:HA,empty:PA,each:UA,attr:ZA,style:WA,property:r_,classed:i_,text:d_,html:x_,raise:p_,lower:y_,append:v_,insert:w_,remove:k_,clone:E_,datum:T_,on:O_,dispatch:L_,[Symbol.iterator]:I_};function Ar(e){return typeof e=="string"?new Mr([[document.querySelector(e)]],[document.documentElement]):new Mr([[e]],Aj)}function B_(e){let r;for(;r=e.sourceEvent;)e=r;return e}function Qr(e,r){if(e=B_(e),r===void 0&&(r=e.currentTarget),r){var s=r.ownerSVGElement||r;if(s.createSVGPoint){var l=s.createSVGPoint();return l.x=e.clientX,l.y=e.clientY,l=l.matrixTransform(r.getScreenCTM().inverse()),[l.x,l.y]}if(r.getBoundingClientRect){var o=r.getBoundingClientRect();return[e.clientX-o.left-r.clientLeft,e.clientY-o.top-r.clientTop]}}return[e.pageX,e.pageY]}const H_={passive:!1},yo={capture:!0,passive:!1};function Dh(e){e.stopImmediatePropagation()}function Pl(e){e.preventDefault(),e.stopImmediatePropagation()}function _j(e){var r=e.document.documentElement,s=Ar(e).on("dragstart.drag",Pl,yo);"onselectstart"in r?s.on("selectstart.drag",Pl,yo):(r.__noselect=r.style.MozUserSelect,r.style.MozUserSelect="none")}function Mj(e,r){var s=e.document.documentElement,l=Ar(e).on("dragstart.drag",null);r&&(l.on("click.drag",Pl,yo),setTimeout(function(){l.on("click.drag",null)},0)),"onselectstart"in s?l.on("selectstart.drag",null):(s.style.MozUserSelect=s.__noselect,delete s.__noselect)}const Jc=e=>()=>e;function hm(e,{sourceEvent:r,subject:s,target:l,identifier:o,active:c,x:u,y:f,dx:m,dy:h,dispatch:x}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},subject:{value:s,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:c,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:m,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:x}})}hm.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function P_(e){return!e.ctrlKey&&!e.button}function U_(){return this.parentNode}function q_(e,r){return r??{x:e.x,y:e.y}}function V_(){return navigator.maxTouchPoints||"ontouchstart"in this}function Dj(){var e=P_,r=U_,s=q_,l=V_,o={},c=Fu("start","drag","end"),u=0,f,m,h,x,g=0;function b(k){k.on("mousedown.drag",p).filter(l).on("touchstart.drag",T).on("touchmove.drag",E,H_).on("touchend.drag touchcancel.drag",C).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(k,H){if(!(x||!e.call(this,k,H))){var M=N(this,r.call(this,k,H),k,H,"mouse");M&&(Ar(k.view).on("mousemove.drag",w,yo).on("mouseup.drag",S,yo),_j(k.view),Dh(k),h=!1,f=k.clientX,m=k.clientY,M("start",k))}}function w(k){if(Pl(k),!h){var H=k.clientX-f,M=k.clientY-m;h=H*H+M*M>g}o.mouse("drag",k)}function S(k){Ar(k.view).on("mousemove.drag mouseup.drag",null),Mj(k.view,h),Pl(k),o.mouse("end",k)}function T(k,H){if(e.call(this,k,H)){var M=k.changedTouches,Y=r.call(this,k,H),$=M.length,X,P;for(X=0;X<$;++X)(P=N(this,Y,k,H,M[X].identifier,M[X]))&&(Dh(k),P("start",k,M[X]))}}function E(k){var H=k.changedTouches,M=H.length,Y,$;for(Y=0;Y<M;++Y)($=o[H[Y].identifier])&&(Pl(k),$("drag",k,H[Y]))}function C(k){var H=k.changedTouches,M=H.length,Y,$;for(x&&clearTimeout(x),x=setTimeout(function(){x=null},500),Y=0;Y<M;++Y)($=o[H[Y].identifier])&&(Dh(k),$("end",k,H[Y]))}function N(k,H,M,Y,$,X){var P=c.copy(),U=Qr(X||M,H),V,D,A;if((A=s.call(k,new hm("beforestart",{sourceEvent:M,target:b,identifier:$,active:u,x:U[0],y:U[1],dx:0,dy:0,dispatch:P}),Y))!=null)return V=A.x-U[0]||0,D=A.y-U[1]||0,function I(_,G,q){var K=U,B;switch(_){case"start":o[$]=I,B=u++;break;case"end":delete o[$],--u;case"drag":U=Qr(q||G,H),B=u;break}P.call(_,k,new hm(_,{sourceEvent:G,subject:A,target:b,identifier:$,active:B,x:U[0]+V,y:U[1]+D,dx:U[0]-K[0],dy:U[1]-K[1],dispatch:P}),Y)}}return b.filter=function(k){return arguments.length?(e=typeof k=="function"?k:Jc(!!k),b):e},b.container=function(k){return arguments.length?(r=typeof k=="function"?k:Jc(k),b):r},b.subject=function(k){return arguments.length?(s=typeof k=="function"?k:Jc(k),b):s},b.touchable=function(k){return arguments.length?(l=typeof k=="function"?k:Jc(!!k),b):l},b.on=function(){var k=c.on.apply(c,arguments);return k===c?b:k},b.clickDistance=function(k){return arguments.length?(g=(k=+k)*k,b):Math.sqrt(g)},b}function sx(e,r,s){e.prototype=r.prototype=s,s.constructor=e}function Oj(e,r){var s=Object.create(e.prototype);for(var l in r)s[l]=r[l];return s}function Ro(){}var vo=.7,Eu=1/vo,Ul="\\s*([+-]?\\d+)\\s*",jo="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",fs="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",F_=/^#([0-9a-f]{3,8})$/,Y_=new RegExp(`^rgb\\(${Ul},${Ul},${Ul}\\)$`),G_=new RegExp(`^rgb\\(${fs},${fs},${fs}\\)$`),X_=new RegExp(`^rgba\\(${Ul},${Ul},${Ul},${jo}\\)$`),Z_=new RegExp(`^rgba\\(${fs},${fs},${fs},${jo}\\)$`),Q_=new RegExp(`^hsl\\(${jo},${fs},${fs}\\)$`),K_=new RegExp(`^hsla\\(${jo},${fs},${fs},${jo}\\)$`),vy={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};sx(Ro,Ka,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:jy,formatHex:jy,formatHex8:J_,formatHsl:W_,formatRgb:wy,toString:wy});function jy(){return this.rgb().formatHex()}function J_(){return this.rgb().formatHex8()}function W_(){return Rj(this).formatHsl()}function wy(){return this.rgb().formatRgb()}function Ka(e){var r,s;return e=(e+"").trim().toLowerCase(),(r=F_.exec(e))?(s=r[1].length,r=parseInt(r[1],16),s===6?Ny(r):s===3?new pr(r>>8&15|r>>4&240,r>>4&15|r&240,(r&15)<<4|r&15,1):s===8?Wc(r>>24&255,r>>16&255,r>>8&255,(r&255)/255):s===4?Wc(r>>12&15|r>>8&240,r>>8&15|r>>4&240,r>>4&15|r&240,((r&15)<<4|r&15)/255):null):(r=Y_.exec(e))?new pr(r[1],r[2],r[3],1):(r=G_.exec(e))?new pr(r[1]*255/100,r[2]*255/100,r[3]*255/100,1):(r=X_.exec(e))?Wc(r[1],r[2],r[3],r[4]):(r=Z_.exec(e))?Wc(r[1]*255/100,r[2]*255/100,r[3]*255/100,r[4]):(r=Q_.exec(e))?Cy(r[1],r[2]/100,r[3]/100,1):(r=K_.exec(e))?Cy(r[1],r[2]/100,r[3]/100,r[4]):vy.hasOwnProperty(e)?Ny(vy[e]):e==="transparent"?new pr(NaN,NaN,NaN,0):null}function Ny(e){return new pr(e>>16&255,e>>8&255,e&255,1)}function Wc(e,r,s,l){return l<=0&&(e=r=s=NaN),new pr(e,r,s,l)}function e6(e){return e instanceof Ro||(e=Ka(e)),e?(e=e.rgb(),new pr(e.r,e.g,e.b,e.opacity)):new pr}function mm(e,r,s,l){return arguments.length===1?e6(e):new pr(e,r,s,l??1)}function pr(e,r,s,l){this.r=+e,this.g=+r,this.b=+s,this.opacity=+l}sx(pr,mm,Oj(Ro,{brighter(e){return e=e==null?Eu:Math.pow(Eu,e),new pr(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?vo:Math.pow(vo,e),new pr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new pr(Xa(this.r),Xa(this.g),Xa(this.b),Tu(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ky,formatHex:ky,formatHex8:t6,formatRgb:Sy,toString:Sy}));function ky(){return`#${Ga(this.r)}${Ga(this.g)}${Ga(this.b)}`}function t6(){return`#${Ga(this.r)}${Ga(this.g)}${Ga(this.b)}${Ga((isNaN(this.opacity)?1:this.opacity)*255)}`}function Sy(){const e=Tu(this.opacity);return`${e===1?"rgb(":"rgba("}${Xa(this.r)}, ${Xa(this.g)}, ${Xa(this.b)}${e===1?")":`, ${e})`}`}function Tu(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Xa(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ga(e){return e=Xa(e),(e<16?"0":"")+e.toString(16)}function Cy(e,r,s,l){return l<=0?e=r=s=NaN:s<=0||s>=1?e=r=NaN:r<=0&&(e=NaN),new Kr(e,r,s,l)}function Rj(e){if(e instanceof Kr)return new Kr(e.h,e.s,e.l,e.opacity);if(e instanceof Ro||(e=Ka(e)),!e)return new Kr;if(e instanceof Kr)return e;e=e.rgb();var r=e.r/255,s=e.g/255,l=e.b/255,o=Math.min(r,s,l),c=Math.max(r,s,l),u=NaN,f=c-o,m=(c+o)/2;return f?(r===c?u=(s-l)/f+(s<l)*6:s===c?u=(l-r)/f+2:u=(r-s)/f+4,f/=m<.5?c+o:2-c-o,u*=60):f=m>0&&m<1?0:u,new Kr(u,f,m,e.opacity)}function n6(e,r,s,l){return arguments.length===1?Rj(e):new Kr(e,r,s,l??1)}function Kr(e,r,s,l){this.h=+e,this.s=+r,this.l=+s,this.opacity=+l}sx(Kr,n6,Oj(Ro,{brighter(e){return e=e==null?Eu:Math.pow(Eu,e),new Kr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?vo:Math.pow(vo,e),new Kr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,r=isNaN(e)||isNaN(this.s)?0:this.s,s=this.l,l=s+(s<.5?s:1-s)*r,o=2*s-l;return new pr(Oh(e>=240?e-240:e+120,o,l),Oh(e,o,l),Oh(e<120?e+240:e-120,o,l),this.opacity)},clamp(){return new Kr(Ey(this.h),eu(this.s),eu(this.l),Tu(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Tu(this.opacity);return`${e===1?"hsl(":"hsla("}${Ey(this.h)}, ${eu(this.s)*100}%, ${eu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ey(e){return e=(e||0)%360,e<0?e+360:e}function eu(e){return Math.max(0,Math.min(1,e||0))}function Oh(e,r,s){return(e<60?r+(s-r)*e/60:e<180?s:e<240?r+(s-r)*(240-e)/60:r)*255}const ax=e=>()=>e;function r6(e,r){return function(s){return e+s*r}}function s6(e,r,s){return e=Math.pow(e,s),r=Math.pow(r,s)-e,s=1/s,function(l){return Math.pow(e+l*r,s)}}function a6(e){return(e=+e)==1?zj:function(r,s){return s-r?s6(r,s,e):ax(isNaN(r)?s:r)}}function zj(e,r){var s=r-e;return s?r6(e,s):ax(isNaN(e)?r:e)}const Au=(function e(r){var s=a6(r);function l(o,c){var u=s((o=mm(o)).r,(c=mm(c)).r),f=s(o.g,c.g),m=s(o.b,c.b),h=zj(o.opacity,c.opacity);return function(x){return o.r=u(x),o.g=f(x),o.b=m(x),o.opacity=h(x),o+""}}return l.gamma=e,l})(1);function l6(e,r){r||(r=[]);var s=e?Math.min(r.length,e.length):0,l=r.slice(),o;return function(c){for(o=0;o<s;++o)l[o]=e[o]*(1-c)+r[o]*c;return l}}function i6(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function o6(e,r){var s=r?r.length:0,l=e?Math.min(s,e.length):0,o=new Array(l),c=new Array(s),u;for(u=0;u<l;++u)o[u]=ho(e[u],r[u]);for(;u<s;++u)c[u]=r[u];return function(f){for(u=0;u<l;++u)c[u]=o[u](f);return c}}function c6(e,r){var s=new Date;return e=+e,r=+r,function(l){return s.setTime(e*(1-l)+r*l),s}}function ds(e,r){return e=+e,r=+r,function(s){return e*(1-s)+r*s}}function u6(e,r){var s={},l={},o;(e===null||typeof e!="object")&&(e={}),(r===null||typeof r!="object")&&(r={});for(o in r)o in e?s[o]=ho(e[o],r[o]):l[o]=r[o];return function(c){for(o in s)l[o]=s[o](c);return l}}var xm=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Rh=new RegExp(xm.source,"g");function d6(e){return function(){return e}}function f6(e){return function(r){return e(r)+""}}function Lj(e,r){var s=xm.lastIndex=Rh.lastIndex=0,l,o,c,u=-1,f=[],m=[];for(e=e+"",r=r+"";(l=xm.exec(e))&&(o=Rh.exec(r));)(c=o.index)>s&&(c=r.slice(s,c),f[u]?f[u]+=c:f[++u]=c),(l=l[0])===(o=o[0])?f[u]?f[u]+=o:f[++u]=o:(f[++u]=null,m.push({i:u,x:ds(l,o)})),s=Rh.lastIndex;return s<r.length&&(c=r.slice(s),f[u]?f[u]+=c:f[++u]=c),f.length<2?m[0]?f6(m[0].x):d6(r):(r=m.length,function(h){for(var x=0,g;x<r;++x)f[(g=m[x]).i]=g.x(h);return f.join("")})}function ho(e,r){var s=typeof r,l;return r==null||s==="boolean"?ax(r):(s==="number"?ds:s==="string"?(l=Ka(r))?(r=l,Au):Lj:r instanceof Ka?Au:r instanceof Date?c6:i6(r)?l6:Array.isArray(r)?o6:typeof r.valueOf!="function"&&typeof r.toString!="function"||isNaN(r)?u6:ds)(e,r)}var Ty=180/Math.PI,gm={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ij(e,r,s,l,o,c){var u,f,m;return(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u),(m=e*s+r*l)&&(s-=e*m,l-=r*m),(f=Math.sqrt(s*s+l*l))&&(s/=f,l/=f,m/=f),e*l<r*s&&(e=-e,r=-r,m=-m,u=-u),{translateX:o,translateY:c,rotate:Math.atan2(r,e)*Ty,skewX:Math.atan(m)*Ty,scaleX:u,scaleY:f}}var tu;function h6(e){const r=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return r.isIdentity?gm:Ij(r.a,r.b,r.c,r.d,r.e,r.f)}function m6(e){return e==null||(tu||(tu=document.createElementNS("http://www.w3.org/2000/svg","g")),tu.setAttribute("transform",e),!(e=tu.transform.baseVal.consolidate()))?gm:(e=e.matrix,Ij(e.a,e.b,e.c,e.d,e.e,e.f))}function $j(e,r,s,l){function o(h){return h.length?h.pop()+" ":""}function c(h,x,g,b,p,w){if(h!==g||x!==b){var S=p.push("translate(",null,r,null,s);w.push({i:S-4,x:ds(h,g)},{i:S-2,x:ds(x,b)})}else(g||b)&&p.push("translate("+g+r+b+s)}function u(h,x,g,b){h!==x?(h-x>180?x+=360:x-h>180&&(h+=360),b.push({i:g.push(o(g)+"rotate(",null,l)-2,x:ds(h,x)})):x&&g.push(o(g)+"rotate("+x+l)}function f(h,x,g,b){h!==x?b.push({i:g.push(o(g)+"skewX(",null,l)-2,x:ds(h,x)}):x&&g.push(o(g)+"skewX("+x+l)}function m(h,x,g,b,p,w){if(h!==g||x!==b){var S=p.push(o(p)+"scale(",null,",",null,")");w.push({i:S-4,x:ds(h,g)},{i:S-2,x:ds(x,b)})}else(g!==1||b!==1)&&p.push(o(p)+"scale("+g+","+b+")")}return function(h,x){var g=[],b=[];return h=e(h),x=e(x),c(h.translateX,h.translateY,x.translateX,x.translateY,g,b),u(h.rotate,x.rotate,g,b),f(h.skewX,x.skewX,g,b),m(h.scaleX,h.scaleY,x.scaleX,x.scaleY,g,b),h=x=null,function(p){for(var w=-1,S=b.length,T;++w<S;)g[(T=b[w]).i]=T.x(p);return g.join("")}}}var x6=$j(h6,"px, ","px)","deg)"),g6=$j(m6,", ",")",")"),p6=1e-12;function Ay(e){return((e=Math.exp(e))+1/e)/2}function b6(e){return((e=Math.exp(e))-1/e)/2}function y6(e){return((e=Math.exp(2*e))-1)/(e+1)}const fu=(function e(r,s,l){function o(c,u){var f=c[0],m=c[1],h=c[2],x=u[0],g=u[1],b=u[2],p=x-f,w=g-m,S=p*p+w*w,T,E;if(S<p6)E=Math.log(b/h)/r,T=function(Y){return[f+Y*p,m+Y*w,h*Math.exp(r*Y*E)]};else{var C=Math.sqrt(S),N=(b*b-h*h+l*S)/(2*h*s*C),k=(b*b-h*h-l*S)/(2*b*s*C),H=Math.log(Math.sqrt(N*N+1)-N),M=Math.log(Math.sqrt(k*k+1)-k);E=(M-H)/r,T=function(Y){var $=Y*E,X=Ay(H),P=h/(s*C)*(X*y6(r*$+H)-b6(H));return[f+P*p,m+P*w,h*X/Ay(r*$+H)]}}return T.duration=E*1e3*r/Math.SQRT2,T}return o.rho=function(c){var u=Math.max(.001,+c),f=u*u,m=f*f;return e(u,f,m)},o})(Math.SQRT2,2,4);var Yl=0,lo=0,Wi=0,Bj=1e3,_u,io,Mu=0,Ja=0,Gu=0,wo=typeof performance=="object"&&performance.now?performance:Date,Hj=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function lx(){return Ja||(Hj(v6),Ja=wo.now()+Gu)}function v6(){Ja=0}function Du(){this._call=this._time=this._next=null}Du.prototype=Pj.prototype={constructor:Du,restart:function(e,r,s){if(typeof e!="function")throw new TypeError("callback is not a function");s=(s==null?lx():+s)+(r==null?0:+r),!this._next&&io!==this&&(io?io._next=this:_u=this,io=this),this._call=e,this._time=s,pm()},stop:function(){this._call&&(this._call=null,this._time=1/0,pm())}};function Pj(e,r,s){var l=new Du;return l.restart(e,r,s),l}function j6(){lx(),++Yl;for(var e=_u,r;e;)(r=Ja-e._time)>=0&&e._call.call(void 0,r),e=e._next;--Yl}function _y(){Ja=(Mu=wo.now())+Gu,Yl=lo=0;try{j6()}finally{Yl=0,N6(),Ja=0}}function w6(){var e=wo.now(),r=e-Mu;r>Bj&&(Gu-=r,Mu=e)}function N6(){for(var e,r=_u,s,l=1/0;r;)r._call?(l>r._time&&(l=r._time),e=r,r=r._next):(s=r._next,r._next=null,r=e?e._next=s:_u=s);io=e,pm(l)}function pm(e){if(!Yl){lo&&(lo=clearTimeout(lo));var r=e-Ja;r>24?(e<1/0&&(lo=setTimeout(_y,e-wo.now()-Gu)),Wi&&(Wi=clearInterval(Wi))):(Wi||(Mu=wo.now(),Wi=setInterval(w6,Bj)),Yl=1,Hj(_y))}}function My(e,r,s){var l=new Du;return r=r==null?0:+r,l.restart(o=>{l.stop(),e(o+r)},r,s),l}var k6=Fu("start","end","cancel","interrupt"),S6=[],Uj=0,Dy=1,bm=2,hu=3,Oy=4,ym=5,mu=6;function Xu(e,r,s,l,o,c){var u=e.__transition;if(!u)e.__transition={};else if(s in u)return;C6(e,s,{name:r,index:l,group:o,on:k6,tween:S6,time:c.time,delay:c.delay,duration:c.duration,ease:c.ease,timer:null,state:Uj})}function ix(e,r){var s=ns(e,r);if(s.state>Uj)throw new Error("too late; already scheduled");return s}function gs(e,r){var s=ns(e,r);if(s.state>hu)throw new Error("too late; already running");return s}function ns(e,r){var s=e.__transition;if(!s||!(s=s[r]))throw new Error("transition not found");return s}function C6(e,r,s){var l=e.__transition,o;l[r]=s,s.timer=Pj(c,0,s.time);function c(h){s.state=Dy,s.timer.restart(u,s.delay,s.time),s.delay<=h&&u(h-s.delay)}function u(h){var x,g,b,p;if(s.state!==Dy)return m();for(x in l)if(p=l[x],p.name===s.name){if(p.state===hu)return My(u);p.state===Oy?(p.state=mu,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete l[x]):+x<r&&(p.state=mu,p.timer.stop(),p.on.call("cancel",e,e.__data__,p.index,p.group),delete l[x])}if(My(function(){s.state===hu&&(s.state=Oy,s.timer.restart(f,s.delay,s.time),f(h))}),s.state=bm,s.on.call("start",e,e.__data__,s.index,s.group),s.state===bm){for(s.state=hu,o=new Array(b=s.tween.length),x=0,g=-1;x<b;++x)(p=s.tween[x].value.call(e,e.__data__,s.index,s.group))&&(o[++g]=p);o.length=g+1}}function f(h){for(var x=h<s.duration?s.ease.call(null,h/s.duration):(s.timer.restart(m),s.state=ym,1),g=-1,b=o.length;++g<b;)o[g].call(e,x);s.state===ym&&(s.on.call("end",e,e.__data__,s.index,s.group),m())}function m(){s.state=mu,s.timer.stop(),delete l[r];for(var h in l)return;delete e.__transition}}function xu(e,r){var s=e.__transition,l,o,c=!0,u;if(s){r=r==null?null:r+"";for(u in s){if((l=s[u]).name!==r){c=!1;continue}o=l.state>bm&&l.state<ym,l.state=mu,l.timer.stop(),l.on.call(o?"interrupt":"cancel",e,e.__data__,l.index,l.group),delete s[u]}c&&delete e.__transition}}function E6(e){return this.each(function(){xu(this,e)})}function T6(e,r){var s,l;return function(){var o=gs(this,e),c=o.tween;if(c!==s){l=s=c;for(var u=0,f=l.length;u<f;++u)if(l[u].name===r){l=l.slice(),l.splice(u,1);break}}o.tween=l}}function A6(e,r,s){var l,o;if(typeof s!="function")throw new Error;return function(){var c=gs(this,e),u=c.tween;if(u!==l){o=(l=u).slice();for(var f={name:r,value:s},m=0,h=o.length;m<h;++m)if(o[m].name===r){o[m]=f;break}m===h&&o.push(f)}c.tween=o}}function _6(e,r){var s=this._id;if(e+="",arguments.length<2){for(var l=ns(this.node(),s).tween,o=0,c=l.length,u;o<c;++o)if((u=l[o]).name===e)return u.value;return null}return this.each((r==null?T6:A6)(s,e,r))}function ox(e,r,s){var l=e._id;return e.each(function(){var o=gs(this,l);(o.value||(o.value={}))[r]=s.apply(this,arguments)}),function(o){return ns(o,l).value[r]}}function qj(e,r){var s;return(typeof r=="number"?ds:r instanceof Ka?Au:(s=Ka(r))?(r=s,Au):Lj)(e,r)}function M6(e){return function(){this.removeAttribute(e)}}function D6(e){return function(){this.removeAttributeNS(e.space,e.local)}}function O6(e,r,s){var l,o=s+"",c;return function(){var u=this.getAttribute(e);return u===o?null:u===l?c:c=r(l=u,s)}}function R6(e,r,s){var l,o=s+"",c;return function(){var u=this.getAttributeNS(e.space,e.local);return u===o?null:u===l?c:c=r(l=u,s)}}function z6(e,r,s){var l,o,c;return function(){var u,f=s(this),m;return f==null?void this.removeAttribute(e):(u=this.getAttribute(e),m=f+"",u===m?null:u===l&&m===o?c:(o=m,c=r(l=u,f)))}}function L6(e,r,s){var l,o,c;return function(){var u,f=s(this),m;return f==null?void this.removeAttributeNS(e.space,e.local):(u=this.getAttributeNS(e.space,e.local),m=f+"",u===m?null:u===l&&m===o?c:(o=m,c=r(l=u,f)))}}function I6(e,r){var s=Yu(e),l=s==="transform"?g6:qj;return this.attrTween(e,typeof r=="function"?(s.local?L6:z6)(s,l,ox(this,"attr."+e,r)):r==null?(s.local?D6:M6)(s):(s.local?R6:O6)(s,l,r))}function $6(e,r){return function(s){this.setAttribute(e,r.call(this,s))}}function B6(e,r){return function(s){this.setAttributeNS(e.space,e.local,r.call(this,s))}}function H6(e,r){var s,l;function o(){var c=r.apply(this,arguments);return c!==l&&(s=(l=c)&&B6(e,c)),s}return o._value=r,o}function P6(e,r){var s,l;function o(){var c=r.apply(this,arguments);return c!==l&&(s=(l=c)&&$6(e,c)),s}return o._value=r,o}function U6(e,r){var s="attr."+e;if(arguments.length<2)return(s=this.tween(s))&&s._value;if(r==null)return this.tween(s,null);if(typeof r!="function")throw new Error;var l=Yu(e);return this.tween(s,(l.local?H6:P6)(l,r))}function q6(e,r){return function(){ix(this,e).delay=+r.apply(this,arguments)}}function V6(e,r){return r=+r,function(){ix(this,e).delay=r}}function F6(e){var r=this._id;return arguments.length?this.each((typeof e=="function"?q6:V6)(r,e)):ns(this.node(),r).delay}function Y6(e,r){return function(){gs(this,e).duration=+r.apply(this,arguments)}}function G6(e,r){return r=+r,function(){gs(this,e).duration=r}}function X6(e){var r=this._id;return arguments.length?this.each((typeof e=="function"?Y6:G6)(r,e)):ns(this.node(),r).duration}function Z6(e,r){if(typeof r!="function")throw new Error;return function(){gs(this,e).ease=r}}function Q6(e){var r=this._id;return arguments.length?this.each(Z6(r,e)):ns(this.node(),r).ease}function K6(e,r){return function(){var s=r.apply(this,arguments);if(typeof s!="function")throw new Error;gs(this,e).ease=s}}function J6(e){if(typeof e!="function")throw new Error;return this.each(K6(this._id,e))}function W6(e){typeof e!="function"&&(e=vj(e));for(var r=this._groups,s=r.length,l=new Array(s),o=0;o<s;++o)for(var c=r[o],u=c.length,f=l[o]=[],m,h=0;h<u;++h)(m=c[h])&&e.call(m,m.__data__,h,c)&&f.push(m);return new $s(l,this._parents,this._name,this._id)}function eM(e){if(e._id!==this._id)throw new Error;for(var r=this._groups,s=e._groups,l=r.length,o=s.length,c=Math.min(l,o),u=new Array(l),f=0;f<c;++f)for(var m=r[f],h=s[f],x=m.length,g=u[f]=new Array(x),b,p=0;p<x;++p)(b=m[p]||h[p])&&(g[p]=b);for(;f<l;++f)u[f]=r[f];return new $s(u,this._parents,this._name,this._id)}function tM(e){return(e+"").trim().split(/^|\s+/).every(function(r){var s=r.indexOf(".");return s>=0&&(r=r.slice(0,s)),!r||r==="start"})}function nM(e,r,s){var l,o,c=tM(r)?ix:gs;return function(){var u=c(this,e),f=u.on;f!==l&&(o=(l=f).copy()).on(r,s),u.on=o}}function rM(e,r){var s=this._id;return arguments.length<2?ns(this.node(),s).on.on(e):this.each(nM(s,e,r))}function sM(e){return function(){var r=this.parentNode;for(var s in this.__transition)if(+s!==e)return;r&&r.removeChild(this)}}function aM(){return this.on("end.remove",sM(this._id))}function lM(e){var r=this._name,s=this._id;typeof e!="function"&&(e=nx(e));for(var l=this._groups,o=l.length,c=new Array(o),u=0;u<o;++u)for(var f=l[u],m=f.length,h=c[u]=new Array(m),x,g,b=0;b<m;++b)(x=f[b])&&(g=e.call(x,x.__data__,b,f))&&("__data__"in x&&(g.__data__=x.__data__),h[b]=g,Xu(h[b],r,s,b,h,ns(x,s)));return new $s(c,this._parents,r,s)}function iM(e){var r=this._name,s=this._id;typeof e!="function"&&(e=yj(e));for(var l=this._groups,o=l.length,c=[],u=[],f=0;f<o;++f)for(var m=l[f],h=m.length,x,g=0;g<h;++g)if(x=m[g]){for(var b=e.call(x,x.__data__,g,m),p,w=ns(x,s),S=0,T=b.length;S<T;++S)(p=b[S])&&Xu(p,r,s,S,b,w);c.push(b),u.push(x)}return new $s(c,u,r,s)}var oM=Oo.prototype.constructor;function cM(){return new oM(this._groups,this._parents)}function uM(e,r){var s,l,o;return function(){var c=Fl(this,e),u=(this.style.removeProperty(e),Fl(this,e));return c===u?null:c===s&&u===l?o:o=r(s=c,l=u)}}function Vj(e){return function(){this.style.removeProperty(e)}}function dM(e,r,s){var l,o=s+"",c;return function(){var u=Fl(this,e);return u===o?null:u===l?c:c=r(l=u,s)}}function fM(e,r,s){var l,o,c;return function(){var u=Fl(this,e),f=s(this),m=f+"";return f==null&&(m=f=(this.style.removeProperty(e),Fl(this,e))),u===m?null:u===l&&m===o?c:(o=m,c=r(l=u,f))}}function hM(e,r){var s,l,o,c="style."+r,u="end."+c,f;return function(){var m=gs(this,e),h=m.on,x=m.value[c]==null?f||(f=Vj(r)):void 0;(h!==s||o!==x)&&(l=(s=h).copy()).on(u,o=x),m.on=l}}function mM(e,r,s){var l=(e+="")=="transform"?x6:qj;return r==null?this.styleTween(e,uM(e,l)).on("end.style."+e,Vj(e)):typeof r=="function"?this.styleTween(e,fM(e,l,ox(this,"style."+e,r))).each(hM(this._id,e)):this.styleTween(e,dM(e,l,r),s).on("end.style."+e,null)}function xM(e,r,s){return function(l){this.style.setProperty(e,r.call(this,l),s)}}function gM(e,r,s){var l,o;function c(){var u=r.apply(this,arguments);return u!==o&&(l=(o=u)&&xM(e,u,s)),l}return c._value=r,c}function pM(e,r,s){var l="style."+(e+="");if(arguments.length<2)return(l=this.tween(l))&&l._value;if(r==null)return this.tween(l,null);if(typeof r!="function")throw new Error;return this.tween(l,gM(e,r,s??""))}function bM(e){return function(){this.textContent=e}}function yM(e){return function(){var r=e(this);this.textContent=r??""}}function vM(e){return this.tween("text",typeof e=="function"?yM(ox(this,"text",e)):bM(e==null?"":e+""))}function jM(e){return function(r){this.textContent=e.call(this,r)}}function wM(e){var r,s;function l(){var o=e.apply(this,arguments);return o!==s&&(r=(s=o)&&jM(o)),r}return l._value=e,l}function NM(e){var r="text";if(arguments.length<1)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,wM(e))}function kM(){for(var e=this._name,r=this._id,s=Fj(),l=this._groups,o=l.length,c=0;c<o;++c)for(var u=l[c],f=u.length,m,h=0;h<f;++h)if(m=u[h]){var x=ns(m,r);Xu(m,e,s,h,u,{time:x.time+x.delay+x.duration,delay:0,duration:x.duration,ease:x.ease})}return new $s(l,this._parents,e,s)}function SM(){var e,r,s=this,l=s._id,o=s.size();return new Promise(function(c,u){var f={value:u},m={value:function(){--o===0&&c()}};s.each(function(){var h=gs(this,l),x=h.on;x!==e&&(r=(e=x).copy(),r._.cancel.push(f),r._.interrupt.push(f),r._.end.push(m)),h.on=r}),o===0&&c()})}var CM=0;function $s(e,r,s,l){this._groups=e,this._parents=r,this._name=s,this._id=l}function Fj(){return++CM}var Rs=Oo.prototype;$s.prototype={constructor:$s,select:lM,selectAll:iM,selectChild:Rs.selectChild,selectChildren:Rs.selectChildren,filter:W6,merge:eM,selection:cM,transition:kM,call:Rs.call,nodes:Rs.nodes,node:Rs.node,size:Rs.size,empty:Rs.empty,each:Rs.each,on:rM,attr:I6,attrTween:U6,style:mM,styleTween:pM,text:vM,textTween:NM,remove:aM,tween:_6,delay:F6,duration:X6,ease:Q6,easeVarying:J6,end:SM,[Symbol.iterator]:Rs[Symbol.iterator]};function EM(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var TM={time:null,delay:0,duration:250,ease:EM};function AM(e,r){for(var s;!(s=e.__transition)||!(s=s[r]);)if(!(e=e.parentNode))throw new Error(`transition ${r} not found`);return s}function _M(e){var r,s;e instanceof $s?(r=e._id,e=e._name):(r=Fj(),(s=TM).time=lx(),e=e==null?null:e+"");for(var l=this._groups,o=l.length,c=0;c<o;++c)for(var u=l[c],f=u.length,m,h=0;h<f;++h)(m=u[h])&&Xu(m,e,r,h,u,s||AM(m,r));return new $s(l,this._parents,e,r)}Oo.prototype.interrupt=E6;Oo.prototype.transition=_M;const nu=e=>()=>e;function MM(e,{sourceEvent:r,target:s,transform:l,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:r,enumerable:!0,configurable:!0},target:{value:s,enumerable:!0,configurable:!0},transform:{value:l,enumerable:!0,configurable:!0},_:{value:o}})}function Is(e,r,s){this.k=e,this.x=r,this.y=s}Is.prototype={constructor:Is,scale:function(e){return e===1?this:new Is(this.k*e,this.x,this.y)},translate:function(e,r){return e===0&r===0?this:new Is(this.k,this.x+this.k*e,this.y+this.k*r)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Zu=new Is(1,0,0);Yj.prototype=Is.prototype;function Yj(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Zu;return e.__zoom}function zh(e){e.stopImmediatePropagation()}function eo(e){e.preventDefault(),e.stopImmediatePropagation()}function DM(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function OM(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Ry(){return this.__zoom||Zu}function RM(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function zM(){return navigator.maxTouchPoints||"ontouchstart"in this}function LM(e,r,s){var l=e.invertX(r[0][0])-s[0][0],o=e.invertX(r[1][0])-s[1][0],c=e.invertY(r[0][1])-s[0][1],u=e.invertY(r[1][1])-s[1][1];return e.translate(o>l?(l+o)/2:Math.min(0,l)||Math.max(0,o),u>c?(c+u)/2:Math.min(0,c)||Math.max(0,u))}function Gj(){var e=DM,r=OM,s=LM,l=RM,o=zM,c=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],f=250,m=fu,h=Fu("start","zoom","end"),x,g,b,p=500,w=150,S=0,T=10;function E(A){A.property("__zoom",Ry).on("wheel.zoom",$,{passive:!1}).on("mousedown.zoom",X).on("dblclick.zoom",P).filter(o).on("touchstart.zoom",U).on("touchmove.zoom",V).on("touchend.zoom touchcancel.zoom",D).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}E.transform=function(A,I,_,G){var q=A.selection?A.selection():A;q.property("__zoom",Ry),A!==q?H(A,I,_,G):q.interrupt().each(function(){M(this,arguments).event(G).start().zoom(null,typeof I=="function"?I.apply(this,arguments):I).end()})},E.scaleBy=function(A,I,_,G){E.scaleTo(A,function(){var q=this.__zoom.k,K=typeof I=="function"?I.apply(this,arguments):I;return q*K},_,G)},E.scaleTo=function(A,I,_,G){E.transform(A,function(){var q=r.apply(this,arguments),K=this.__zoom,B=_==null?k(q):typeof _=="function"?_.apply(this,arguments):_,R=K.invert(B),W=typeof I=="function"?I.apply(this,arguments):I;return s(N(C(K,W),B,R),q,u)},_,G)},E.translateBy=function(A,I,_,G){E.transform(A,function(){return s(this.__zoom.translate(typeof I=="function"?I.apply(this,arguments):I,typeof _=="function"?_.apply(this,arguments):_),r.apply(this,arguments),u)},null,G)},E.translateTo=function(A,I,_,G,q){E.transform(A,function(){var K=r.apply(this,arguments),B=this.__zoom,R=G==null?k(K):typeof G=="function"?G.apply(this,arguments):G;return s(Zu.translate(R[0],R[1]).scale(B.k).translate(typeof I=="function"?-I.apply(this,arguments):-I,typeof _=="function"?-_.apply(this,arguments):-_),K,u)},G,q)};function C(A,I){return I=Math.max(c[0],Math.min(c[1],I)),I===A.k?A:new Is(I,A.x,A.y)}function N(A,I,_){var G=I[0]-_[0]*A.k,q=I[1]-_[1]*A.k;return G===A.x&&q===A.y?A:new Is(A.k,G,q)}function k(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function H(A,I,_,G){A.on("start.zoom",function(){M(this,arguments).event(G).start()}).on("interrupt.zoom end.zoom",function(){M(this,arguments).event(G).end()}).tween("zoom",function(){var q=this,K=arguments,B=M(q,K).event(G),R=r.apply(q,K),W=_==null?k(R):typeof _=="function"?_.apply(q,K):_,z=Math.max(R[1][0]-R[0][0],R[1][1]-R[0][1]),L=q.__zoom,F=typeof I=="function"?I.apply(q,K):I,Q=m(L.invert(W).concat(z/L.k),F.invert(W).concat(z/F.k));return function(ne){if(ne===1)ne=F;else{var Z=Q(ne),ee=z/Z[2];ne=new Is(ee,W[0]-Z[0]*ee,W[1]-Z[1]*ee)}B.zoom(null,ne)}})}function M(A,I,_){return!_&&A.__zooming||new Y(A,I)}function Y(A,I){this.that=A,this.args=I,this.active=0,this.sourceEvent=null,this.extent=r.apply(A,I),this.taps=0}Y.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(A,I){return this.mouse&&A!=="mouse"&&(this.mouse[1]=I.invert(this.mouse[0])),this.touch0&&A!=="touch"&&(this.touch0[1]=I.invert(this.touch0[0])),this.touch1&&A!=="touch"&&(this.touch1[1]=I.invert(this.touch1[0])),this.that.__zoom=I,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(A){var I=Ar(this.that).datum();h.call(A,this.that,new MM(A,{sourceEvent:this.sourceEvent,target:E,transform:this.that.__zoom,dispatch:h}),I)}};function $(A,...I){if(!e.apply(this,arguments))return;var _=M(this,I).event(A),G=this.__zoom,q=Math.max(c[0],Math.min(c[1],G.k*Math.pow(2,l.apply(this,arguments)))),K=Qr(A);if(_.wheel)(_.mouse[0][0]!==K[0]||_.mouse[0][1]!==K[1])&&(_.mouse[1]=G.invert(_.mouse[0]=K)),clearTimeout(_.wheel);else{if(G.k===q)return;_.mouse=[K,G.invert(K)],xu(this),_.start()}eo(A),_.wheel=setTimeout(B,w),_.zoom("mouse",s(N(C(G,q),_.mouse[0],_.mouse[1]),_.extent,u));function B(){_.wheel=null,_.end()}}function X(A,...I){if(b||!e.apply(this,arguments))return;var _=A.currentTarget,G=M(this,I,!0).event(A),q=Ar(A.view).on("mousemove.zoom",W,!0).on("mouseup.zoom",z,!0),K=Qr(A,_),B=A.clientX,R=A.clientY;_j(A.view),zh(A),G.mouse=[K,this.__zoom.invert(K)],xu(this),G.start();function W(L){if(eo(L),!G.moved){var F=L.clientX-B,Q=L.clientY-R;G.moved=F*F+Q*Q>S}G.event(L).zoom("mouse",s(N(G.that.__zoom,G.mouse[0]=Qr(L,_),G.mouse[1]),G.extent,u))}function z(L){q.on("mousemove.zoom mouseup.zoom",null),Mj(L.view,G.moved),eo(L),G.event(L).end()}}function P(A,...I){if(e.apply(this,arguments)){var _=this.__zoom,G=Qr(A.changedTouches?A.changedTouches[0]:A,this),q=_.invert(G),K=_.k*(A.shiftKey?.5:2),B=s(N(C(_,K),G,q),r.apply(this,I),u);eo(A),f>0?Ar(this).transition().duration(f).call(H,B,G,A):Ar(this).call(E.transform,B,G,A)}}function U(A,...I){if(e.apply(this,arguments)){var _=A.touches,G=_.length,q=M(this,I,A.changedTouches.length===G).event(A),K,B,R,W;for(zh(A),B=0;B<G;++B)R=_[B],W=Qr(R,this),W=[W,this.__zoom.invert(W),R.identifier],q.touch0?!q.touch1&&q.touch0[2]!==W[2]&&(q.touch1=W,q.taps=0):(q.touch0=W,K=!0,q.taps=1+!!x);x&&(x=clearTimeout(x)),K&&(q.taps<2&&(g=W[0],x=setTimeout(function(){x=null},p)),xu(this),q.start())}}function V(A,...I){if(this.__zooming){var _=M(this,I).event(A),G=A.changedTouches,q=G.length,K,B,R,W;for(eo(A),K=0;K<q;++K)B=G[K],R=Qr(B,this),_.touch0&&_.touch0[2]===B.identifier?_.touch0[0]=R:_.touch1&&_.touch1[2]===B.identifier&&(_.touch1[0]=R);if(B=_.that.__zoom,_.touch1){var z=_.touch0[0],L=_.touch0[1],F=_.touch1[0],Q=_.touch1[1],ne=(ne=F[0]-z[0])*ne+(ne=F[1]-z[1])*ne,Z=(Z=Q[0]-L[0])*Z+(Z=Q[1]-L[1])*Z;B=C(B,Math.sqrt(ne/Z)),R=[(z[0]+F[0])/2,(z[1]+F[1])/2],W=[(L[0]+Q[0])/2,(L[1]+Q[1])/2]}else if(_.touch0)R=_.touch0[0],W=_.touch0[1];else return;_.zoom("touch",s(N(B,R,W),_.extent,u))}}function D(A,...I){if(this.__zooming){var _=M(this,I).event(A),G=A.changedTouches,q=G.length,K,B;for(zh(A),b&&clearTimeout(b),b=setTimeout(function(){b=null},p),K=0;K<q;++K)B=G[K],_.touch0&&_.touch0[2]===B.identifier?delete _.touch0:_.touch1&&_.touch1[2]===B.identifier&&delete _.touch1;if(_.touch1&&!_.touch0&&(_.touch0=_.touch1,delete _.touch1),_.touch0)_.touch0[1]=this.__zoom.invert(_.touch0[0]);else if(_.end(),_.taps===2&&(B=Qr(B,this),Math.hypot(g[0]-B[0],g[1]-B[1])<T)){var R=Ar(this).on("dblclick.zoom");R&&R.apply(this,arguments)}}}return E.wheelDelta=function(A){return arguments.length?(l=typeof A=="function"?A:nu(+A),E):l},E.filter=function(A){return arguments.length?(e=typeof A=="function"?A:nu(!!A),E):e},E.touchable=function(A){return arguments.length?(o=typeof A=="function"?A:nu(!!A),E):o},E.extent=function(A){return arguments.length?(r=typeof A=="function"?A:nu([[+A[0][0],+A[0][1]],[+A[1][0],+A[1][1]]]),E):r},E.scaleExtent=function(A){return arguments.length?(c[0]=+A[0],c[1]=+A[1],E):[c[0],c[1]]},E.translateExtent=function(A){return arguments.length?(u[0][0]=+A[0][0],u[1][0]=+A[1][0],u[0][1]=+A[0][1],u[1][1]=+A[1][1],E):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},E.constrain=function(A){return arguments.length?(s=A,E):s},E.duration=function(A){return arguments.length?(f=+A,E):f},E.interpolate=function(A){return arguments.length?(m=A,E):m},E.on=function(){var A=h.on.apply(h,arguments);return A===h?E:A},E.clickDistance=function(A){return arguments.length?(S=(A=+A)*A,E):Math.sqrt(S)},E.tapDistance=function(A){return arguments.length?(T=+A,E):T},E}const hs={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:r,sourceHandle:s,targetHandle:l})=>`Couldn't create edge for ${e} handle id: "${e==="source"?s:l}", edge id: ${r}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},No=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Xj=["Enter"," ","Escape"],Zj={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:r,y:s})=>`Moved selected node ${e}. New position, x: ${r}, y: ${s}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Gl;(function(e){e.Strict="strict",e.Loose="loose"})(Gl||(Gl={}));var Za;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Za||(Za={}));var ko;(function(e){e.Partial="partial",e.Full="full"})(ko||(ko={}));const Qj={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var va;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(va||(va={}));var Xl;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Xl||(Xl={}));var tt;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(tt||(tt={}));const zy={[tt.Left]:tt.Right,[tt.Right]:tt.Left,[tt.Top]:tt.Bottom,[tt.Bottom]:tt.Top};function Kj(e){return e===null?null:e?"valid":"invalid"}const Jj=e=>"id"in e&&"source"in e&&"target"in e,IM=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),cx=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),zo=(e,r=[0,0])=>{const{width:s,height:l}=Hs(e),o=e.origin??r,c=s*o[0],u=l*o[1];return{x:e.position.x-c,y:e.position.y-u}},$M=(e,r={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const s=e.reduce((l,o)=>{const c=typeof o=="string";let u=!r.nodeLookup&&!c?o:void 0;r.nodeLookup&&(u=c?r.nodeLookup.get(o):cx(o)?o:r.nodeLookup.get(o.id));const f=u?Ou(u,r.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Qu(l,f)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Ku(s)},Lo=(e,r={})=>{let s={x:1/0,y:1/0,x2:-1/0,y2:-1/0},l=!1;return e.forEach(o=>{(r.filter===void 0||r.filter(o))&&(s=Qu(s,Ou(o)),l=!0)}),l?Ku(s):{x:0,y:0,width:0,height:0}},ux=(e,r,[s,l,o]=[0,0,1],c=!1,u=!1)=>{const f={...$o(r,[s,l,o]),width:r.width/o,height:r.height/o},m=[];for(const h of e.values()){const{measured:x,selectable:g=!0,hidden:b=!1}=h;if(u&&!g||b)continue;const p=x.width??h.width??h.initialWidth??null,w=x.height??h.height??h.initialHeight??null,S=So(f,Ql(h)),T=(p??0)*(w??0),E=c&&S>0;(!h.internals.handleBounds||E||S>=T||h.dragging)&&m.push(h)}return m},BM=(e,r)=>{const s=new Set;return e.forEach(l=>{s.add(l.id)}),r.filter(l=>s.has(l.source)||s.has(l.target))};function HM(e,r){const s=new Map,l=r?.nodes?new Set(r.nodes.map(o=>o.id)):null;return e.forEach(o=>{o.measured.width&&o.measured.height&&(r?.includeHiddenNodes||!o.hidden)&&(!l||l.has(o.id))&&s.set(o.id,o)}),s}async function PM({nodes:e,width:r,height:s,panZoom:l,minZoom:o,maxZoom:c},u){if(e.size===0)return Promise.resolve(!0);const f=HM(e,u),m=Lo(f),h=dx(m,r,s,u?.minZoom??o,u?.maxZoom??c,u?.padding??.1);return await l.setViewport(h,{duration:u?.duration,ease:u?.ease,interpolate:u?.interpolate}),Promise.resolve(!0)}function Wj({nodeId:e,nextPosition:r,nodeLookup:s,nodeOrigin:l=[0,0],nodeExtent:o,onError:c}){const u=s.get(e),f=u.parentId?s.get(u.parentId):void 0,{x:m,y:h}=f?f.internals.positionAbsolute:{x:0,y:0},x=u.origin??l;let g=u.extent||o;if(u.extent==="parent"&&!u.expandParent)if(!f)c?.("005",hs.error005());else{const p=f.measured.width,w=f.measured.height;p&&w&&(g=[[m,h],[m+p,h+w]])}else f&&Kl(u.extent)&&(g=[[u.extent[0][0]+m,u.extent[0][1]+h],[u.extent[1][0]+m,u.extent[1][1]+h]]);const b=Kl(g)?Wa(r,g,u.measured):r;return(u.measured.width===void 0||u.measured.height===void 0)&&c?.("015",hs.error015()),{position:{x:b.x-m+(u.measured.width??0)*x[0],y:b.y-h+(u.measured.height??0)*x[1]},positionAbsolute:b}}async function UM({nodesToRemove:e=[],edgesToRemove:r=[],nodes:s,edges:l,onBeforeDelete:o}){const c=new Set(e.map(b=>b.id)),u=[];for(const b of s){if(b.deletable===!1)continue;const p=c.has(b.id),w=!p&&b.parentId&&u.find(S=>S.id===b.parentId);(p||w)&&u.push(b)}const f=new Set(r.map(b=>b.id)),m=l.filter(b=>b.deletable!==!1),x=BM(u,m);for(const b of m)f.has(b.id)&&!x.find(w=>w.id===b.id)&&x.push(b);if(!o)return{edges:x,nodes:u};const g=await o({nodes:u,edges:x});return typeof g=="boolean"?g?{edges:x,nodes:u}:{edges:[],nodes:[]}:g}const Zl=(e,r=0,s=1)=>Math.min(Math.max(e,r),s),Wa=(e={x:0,y:0},r,s)=>({x:Zl(e.x,r[0][0],r[1][0]-(s?.width??0)),y:Zl(e.y,r[0][1],r[1][1]-(s?.height??0))});function ew(e,r,s){const{width:l,height:o}=Hs(s),{x:c,y:u}=s.internals.positionAbsolute;return Wa(e,[[c,u],[c+l,u+o]],r)}const Ly=(e,r,s)=>e<r?Zl(Math.abs(e-r),1,r)/r:e>s?-Zl(Math.abs(e-s),1,r)/r:0,tw=(e,r,s=15,l=40)=>{const o=Ly(e.x,l,r.width-l)*s,c=Ly(e.y,l,r.height-l)*s;return[o,c]},Qu=(e,r)=>({x:Math.min(e.x,r.x),y:Math.min(e.y,r.y),x2:Math.max(e.x2,r.x2),y2:Math.max(e.y2,r.y2)}),vm=({x:e,y:r,width:s,height:l})=>({x:e,y:r,x2:e+s,y2:r+l}),Ku=({x:e,y:r,x2:s,y2:l})=>({x:e,y:r,width:s-e,height:l-r}),Ql=(e,r=[0,0])=>{const{x:s,y:l}=cx(e)?e.internals.positionAbsolute:zo(e,r);return{x:s,y:l,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},Ou=(e,r=[0,0])=>{const{x:s,y:l}=cx(e)?e.internals.positionAbsolute:zo(e,r);return{x:s,y:l,x2:s+(e.measured?.width??e.width??e.initialWidth??0),y2:l+(e.measured?.height??e.height??e.initialHeight??0)}},nw=(e,r)=>Ku(Qu(vm(e),vm(r))),So=(e,r)=>{const s=Math.max(0,Math.min(e.x+e.width,r.x+r.width)-Math.max(e.x,r.x)),l=Math.max(0,Math.min(e.y+e.height,r.y+r.height)-Math.max(e.y,r.y));return Math.ceil(s*l)},Iy=e=>Jr(e.width)&&Jr(e.height)&&Jr(e.x)&&Jr(e.y),Jr=e=>!isNaN(e)&&isFinite(e),qM=(e,r)=>{},Io=(e,r=[1,1])=>({x:r[0]*Math.round(e.x/r[0]),y:r[1]*Math.round(e.y/r[1])}),$o=({x:e,y:r},[s,l,o],c=!1,u=[1,1])=>{const f={x:(e-s)/o,y:(r-l)/o};return c?Io(f,u):f},Ru=({x:e,y:r},[s,l,o])=>({x:e*o+s,y:r*o+l});function Rl(e,r){if(typeof e=="number")return Math.floor((r-r/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const s=parseFloat(e);if(!Number.isNaN(s))return Math.floor(s)}if(typeof e=="string"&&e.endsWith("%")){const s=parseFloat(e);if(!Number.isNaN(s))return Math.floor(r*s*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function VM(e,r,s){if(typeof e=="string"||typeof e=="number"){const l=Rl(e,s),o=Rl(e,r);return{top:l,right:o,bottom:l,left:o,x:o*2,y:l*2}}if(typeof e=="object"){const l=Rl(e.top??e.y??0,s),o=Rl(e.bottom??e.y??0,s),c=Rl(e.left??e.x??0,r),u=Rl(e.right??e.x??0,r);return{top:l,right:u,bottom:o,left:c,x:c+u,y:l+o}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function FM(e,r,s,l,o,c){const{x:u,y:f}=Ru(e,[r,s,l]),{x:m,y:h}=Ru({x:e.x+e.width,y:e.y+e.height},[r,s,l]),x=o-m,g=c-h;return{left:Math.floor(u),top:Math.floor(f),right:Math.floor(x),bottom:Math.floor(g)}}const dx=(e,r,s,l,o,c)=>{const u=VM(c,r,s),f=(r-u.x)/e.width,m=(s-u.y)/e.height,h=Math.min(f,m),x=Zl(h,l,o),g=e.x+e.width/2,b=e.y+e.height/2,p=r/2-g*x,w=s/2-b*x,S=FM(e,p,w,x,r,s),T={left:Math.min(S.left-u.left,0),top:Math.min(S.top-u.top,0),right:Math.min(S.right-u.right,0),bottom:Math.min(S.bottom-u.bottom,0)};return{x:p-T.left+T.right,y:w-T.top+T.bottom,zoom:x}},Co=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Kl(e){return e!=null&&e!=="parent"}function Hs(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function rw(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function sw(e,r={width:0,height:0},s,l,o){const c={...e},u=l.get(s);if(u){const f=u.origin||o;c.x+=u.internals.positionAbsolute.x-(r.width??0)*f[0],c.y+=u.internals.positionAbsolute.y-(r.height??0)*f[1]}return c}function $y(e,r){if(e.size!==r.size)return!1;for(const s of e)if(!r.has(s))return!1;return!0}function YM(){let e,r;return{promise:new Promise((l,o)=>{e=l,r=o}),resolve:e,reject:r}}function GM(e){return{...Zj,...e||{}}}function mo(e,{snapGrid:r=[0,0],snapToGrid:s=!1,transform:l,containerBounds:o}){const{x:c,y:u}=Wr(e),f=$o({x:c-(o?.left??0),y:u-(o?.top??0)},l),{x:m,y:h}=s?Io(f,r):f;return{xSnapped:m,ySnapped:h,...f}}const fx=e=>({width:e.offsetWidth,height:e.offsetHeight}),aw=e=>e?.getRootNode?.()||window?.document,XM=["INPUT","SELECT","TEXTAREA"];function lw(e){const r=e.composedPath?.()?.[0]||e.target;return r?.nodeType!==1?!1:XM.includes(r.nodeName)||r.hasAttribute("contenteditable")||!!r.closest(".nokey")}const iw=e=>"clientX"in e,Wr=(e,r)=>{const s=iw(e),l=s?e.clientX:e.touches?.[0].clientX,o=s?e.clientY:e.touches?.[0].clientY;return{x:l-(r?.left??0),y:o-(r?.top??0)}},By=(e,r,s,l,o)=>{const c=r.querySelectorAll(`.${e}`);return!c||!c.length?null:Array.from(c).map(u=>{const f=u.getBoundingClientRect();return{id:u.getAttribute("data-handleid"),type:e,nodeId:o,position:u.getAttribute("data-handlepos"),x:(f.left-s.left)/l,y:(f.top-s.top)/l,...fx(u)}})};function ow({sourceX:e,sourceY:r,targetX:s,targetY:l,sourceControlX:o,sourceControlY:c,targetControlX:u,targetControlY:f}){const m=e*.125+o*.375+u*.375+s*.125,h=r*.125+c*.375+f*.375+l*.125,x=Math.abs(m-e),g=Math.abs(h-r);return[m,h,x,g]}function ru(e,r){return e>=0?.5*e:r*25*Math.sqrt(-e)}function Hy({pos:e,x1:r,y1:s,x2:l,y2:o,c}){switch(e){case tt.Left:return[r-ru(r-l,c),s];case tt.Right:return[r+ru(l-r,c),s];case tt.Top:return[r,s-ru(s-o,c)];case tt.Bottom:return[r,s+ru(o-s,c)]}}function cw({sourceX:e,sourceY:r,sourcePosition:s=tt.Bottom,targetX:l,targetY:o,targetPosition:c=tt.Top,curvature:u=.25}){const[f,m]=Hy({pos:s,x1:e,y1:r,x2:l,y2:o,c:u}),[h,x]=Hy({pos:c,x1:l,y1:o,x2:e,y2:r,c:u}),[g,b,p,w]=ow({sourceX:e,sourceY:r,targetX:l,targetY:o,sourceControlX:f,sourceControlY:m,targetControlX:h,targetControlY:x});return[`M${e},${r} C${f},${m} ${h},${x} ${l},${o}`,g,b,p,w]}function uw({sourceX:e,sourceY:r,targetX:s,targetY:l}){const o=Math.abs(s-e)/2,c=s<e?s+o:s-o,u=Math.abs(l-r)/2,f=l<r?l+u:l-u;return[c,f,o,u]}function ZM({sourceNode:e,targetNode:r,selected:s=!1,zIndex:l=0,elevateOnSelect:o=!1,zIndexMode:c="basic"}){if(c==="manual")return l;const u=o&&s?l+1e3:l,f=Math.max(e.parentId||o&&e.selected?e.internals.z:0,r.parentId||o&&r.selected?r.internals.z:0);return u+f}function QM({sourceNode:e,targetNode:r,width:s,height:l,transform:o}){const c=Qu(Ou(e),Ou(r));c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);const u={x:-o[0]/o[2],y:-o[1]/o[2],width:s/o[2],height:l/o[2]};return So(u,Ku(c))>0}const KM=({source:e,sourceHandle:r,target:s,targetHandle:l})=>`xy-edge__${e}${r||""}-${s}${l||""}`,JM=(e,r)=>r.some(s=>s.source===e.source&&s.target===e.target&&(s.sourceHandle===e.sourceHandle||!s.sourceHandle&&!e.sourceHandle)&&(s.targetHandle===e.targetHandle||!s.targetHandle&&!e.targetHandle)),WM=(e,r,s={})=>{if(!e.source||!e.target)return r;const l=s.getEdgeId||KM;let o;return Jj(e)?o={...e}:o={...e,id:l(e)},JM(o,r)?r:(o.sourceHandle===null&&delete o.sourceHandle,o.targetHandle===null&&delete o.targetHandle,r.concat(o))};function dw({sourceX:e,sourceY:r,targetX:s,targetY:l}){const[o,c,u,f]=uw({sourceX:e,sourceY:r,targetX:s,targetY:l});return[`M ${e},${r}L ${s},${l}`,o,c,u,f]}const Py={[tt.Left]:{x:-1,y:0},[tt.Right]:{x:1,y:0},[tt.Top]:{x:0,y:-1},[tt.Bottom]:{x:0,y:1}},eD=({source:e,sourcePosition:r=tt.Bottom,target:s})=>r===tt.Left||r===tt.Right?e.x<s.x?{x:1,y:0}:{x:-1,y:0}:e.y<s.y?{x:0,y:1}:{x:0,y:-1},Uy=(e,r)=>Math.sqrt(Math.pow(r.x-e.x,2)+Math.pow(r.y-e.y,2));function tD({source:e,sourcePosition:r=tt.Bottom,target:s,targetPosition:l=tt.Top,center:o,offset:c,stepPosition:u}){const f=Py[r],m=Py[l],h={x:e.x+f.x*c,y:e.y+f.y*c},x={x:s.x+m.x*c,y:s.y+m.y*c},g=eD({source:h,sourcePosition:r,target:x}),b=g.x!==0?"x":"y",p=g[b];let w=[],S,T;const E={x:0,y:0},C={x:0,y:0},[,,N,k]=uw({sourceX:e.x,sourceY:e.y,targetX:s.x,targetY:s.y});if(f[b]*m[b]===-1){b==="x"?(S=o.x??h.x+(x.x-h.x)*u,T=o.y??(h.y+x.y)/2):(S=o.x??(h.x+x.x)/2,T=o.y??h.y+(x.y-h.y)*u);const M=[{x:S,y:h.y},{x:S,y:x.y}],Y=[{x:h.x,y:T},{x:x.x,y:T}];f[b]===p?w=b==="x"?M:Y:w=b==="x"?Y:M}else{const M=[{x:h.x,y:x.y}],Y=[{x:x.x,y:h.y}];if(b==="x"?w=f.x===p?Y:M:w=f.y===p?M:Y,r===l){const V=Math.abs(e[b]-s[b]);if(V<=c){const D=Math.min(c-1,c-V);f[b]===p?E[b]=(h[b]>e[b]?-1:1)*D:C[b]=(x[b]>s[b]?-1:1)*D}}if(r!==l){const V=b==="x"?"y":"x",D=f[b]===m[V],A=h[V]>x[V],I=h[V]<x[V];(f[b]===1&&(!D&&A||D&&I)||f[b]!==1&&(!D&&I||D&&A))&&(w=b==="x"?M:Y)}const $={x:h.x+E.x,y:h.y+E.y},X={x:x.x+C.x,y:x.y+C.y},P=Math.max(Math.abs($.x-w[0].x),Math.abs(X.x-w[0].x)),U=Math.max(Math.abs($.y-w[0].y),Math.abs(X.y-w[0].y));P>=U?(S=($.x+X.x)/2,T=w[0].y):(S=w[0].x,T=($.y+X.y)/2)}return[[e,{x:h.x+E.x,y:h.y+E.y},...w,{x:x.x+C.x,y:x.y+C.y},s],S,T,N,k]}function nD(e,r,s,l){const o=Math.min(Uy(e,r)/2,Uy(r,s)/2,l),{x:c,y:u}=r;if(e.x===c&&c===s.x||e.y===u&&u===s.y)return`L${c} ${u}`;if(e.y===u){const h=e.x<s.x?-1:1,x=e.y<s.y?1:-1;return`L ${c+o*h},${u}Q ${c},${u} ${c},${u+o*x}`}const f=e.x<s.x?1:-1,m=e.y<s.y?-1:1;return`L ${c},${u+o*m}Q ${c},${u} ${c+o*f},${u}`}function jm({sourceX:e,sourceY:r,sourcePosition:s=tt.Bottom,targetX:l,targetY:o,targetPosition:c=tt.Top,borderRadius:u=5,centerX:f,centerY:m,offset:h=20,stepPosition:x=.5}){const[g,b,p,w,S]=tD({source:{x:e,y:r},sourcePosition:s,target:{x:l,y:o},targetPosition:c,center:{x:f,y:m},offset:h,stepPosition:x});return[g.reduce((E,C,N)=>{let k="";return N>0&&N<g.length-1?k=nD(g[N-1],C,g[N+1],u):k=`${N===0?"M":"L"}${C.x} ${C.y}`,E+=k,E},""),b,p,w,S]}function qy(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function rD(e){const{sourceNode:r,targetNode:s}=e;if(!qy(r)||!qy(s))return null;const l=r.internals.handleBounds||Vy(r.handles),o=s.internals.handleBounds||Vy(s.handles),c=Fy(l?.source??[],e.sourceHandle),u=Fy(e.connectionMode===Gl.Strict?o?.target??[]:(o?.target??[]).concat(o?.source??[]),e.targetHandle);if(!c||!u)return e.onError?.("008",hs.error008(c?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const f=c?.position||tt.Bottom,m=u?.position||tt.Top,h=el(r,c,f),x=el(s,u,m);return{sourceX:h.x,sourceY:h.y,targetX:x.x,targetY:x.y,sourcePosition:f,targetPosition:m}}function Vy(e){if(!e)return null;const r=[],s=[];for(const l of e)l.width=l.width??1,l.height=l.height??1,l.type==="source"?r.push(l):l.type==="target"&&s.push(l);return{source:r,target:s}}function el(e,r,s=tt.Left,l=!1){const o=(r?.x??0)+e.internals.positionAbsolute.x,c=(r?.y??0)+e.internals.positionAbsolute.y,{width:u,height:f}=r??Hs(e);if(l)return{x:o+u/2,y:c+f/2};switch(r?.position??s){case tt.Top:return{x:o+u/2,y:c};case tt.Right:return{x:o+u,y:c+f/2};case tt.Bottom:return{x:o+u/2,y:c+f};case tt.Left:return{x:o,y:c+f/2}}}function Fy(e,r){return e&&(r?e.find(s=>s.id===r):e[0])||null}function wm(e,r){return e?typeof e=="string"?e:`${r?`${r}__`:""}${Object.keys(e).sort().map(l=>`${l}=${e[l]}`).join("&")}`:""}function sD(e,{id:r,defaultColor:s,defaultMarkerStart:l,defaultMarkerEnd:o}){const c=new Set;return e.reduce((u,f)=>([f.markerStart||l,f.markerEnd||o].forEach(m=>{if(m&&typeof m=="object"){const h=wm(m,r);c.has(h)||(u.push({id:h,color:m.color||s,...m}),c.add(h))}}),u),[]).sort((u,f)=>u.id.localeCompare(f.id))}const fw=1e3,aD=10,hx={nodeOrigin:[0,0],nodeExtent:No,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},lD={...hx,checkEquality:!0};function mx(e,r){const s={...e};for(const l in r)r[l]!==void 0&&(s[l]=r[l]);return s}function iD(e,r,s){const l=mx(hx,s);for(const o of e.values())if(o.parentId)gx(o,e,r,l);else{const c=zo(o,l.nodeOrigin),u=Kl(o.extent)?o.extent:l.nodeExtent,f=Wa(c,u,Hs(o));o.internals.positionAbsolute=f}}function oD(e,r){if(!e.handles)return e.measured?r?.internals.handleBounds:void 0;const s=[],l=[];for(const o of e.handles){const c={id:o.id,width:o.width??1,height:o.height??1,nodeId:e.id,x:o.x,y:o.y,position:o.position,type:o.type};o.type==="source"?s.push(c):o.type==="target"&&l.push(c)}return{source:s,target:l}}function xx(e){return e==="manual"}function Nm(e,r,s,l={}){const o=mx(lD,l),c={i:0},u=new Map(r),f=o?.elevateNodesOnSelect&&!xx(o.zIndexMode)?fw:0;let m=e.length>0;r.clear(),s.clear();for(const h of e){let x=u.get(h.id);if(o.checkEquality&&h===x?.internals.userNode)r.set(h.id,x);else{const g=zo(h,o.nodeOrigin),b=Kl(h.extent)?h.extent:o.nodeExtent,p=Wa(g,b,Hs(h));x={...o.defaults,...h,measured:{width:h.measured?.width,height:h.measured?.height},internals:{positionAbsolute:p,handleBounds:oD(h,x),z:hw(h,f,o.zIndexMode),userNode:h}},r.set(h.id,x)}(x.measured===void 0||x.measured.width===void 0||x.measured.height===void 0)&&!x.hidden&&(m=!1),h.parentId&&gx(x,r,s,l,c)}return m}function cD(e,r){if(!e.parentId)return;const s=r.get(e.parentId);s?s.set(e.id,e):r.set(e.parentId,new Map([[e.id,e]]))}function gx(e,r,s,l,o){const{elevateNodesOnSelect:c,nodeOrigin:u,nodeExtent:f,zIndexMode:m}=mx(hx,l),h=e.parentId,x=r.get(h);if(!x){console.warn(`Parent node ${h} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}cD(e,s),o&&!x.parentId&&x.internals.rootParentIndex===void 0&&m==="auto"&&(x.internals.rootParentIndex=++o.i,x.internals.z=x.internals.z+o.i*aD),o&&x.internals.rootParentIndex!==void 0&&(o.i=x.internals.rootParentIndex);const g=c&&!xx(m)?fw:0,{x:b,y:p,z:w}=uD(e,x,u,f,g,m),{positionAbsolute:S}=e.internals,T=b!==S.x||p!==S.y;(T||w!==e.internals.z)&&r.set(e.id,{...e,internals:{...e.internals,positionAbsolute:T?{x:b,y:p}:S,z:w}})}function hw(e,r,s){const l=Jr(e.zIndex)?e.zIndex:0;return xx(s)?l:l+(e.selected?r:0)}function uD(e,r,s,l,o,c){const{x:u,y:f}=r.internals.positionAbsolute,m=Hs(e),h=zo(e,s),x=Kl(e.extent)?Wa(h,e.extent,m):h;let g=Wa({x:u+x.x,y:f+x.y},l,m);e.extent==="parent"&&(g=ew(g,m,r));const b=hw(e,o,c),p=r.internals.z??0;return{x:g.x,y:g.y,z:p>=b?p+1:b}}function px(e,r,s,l=[0,0]){const o=[],c=new Map;for(const u of e){const f=r.get(u.parentId);if(!f)continue;const m=c.get(u.parentId)?.expandedRect??Ql(f),h=nw(m,u.rect);c.set(u.parentId,{expandedRect:h,parent:f})}return c.size>0&&c.forEach(({expandedRect:u,parent:f},m)=>{const h=f.internals.positionAbsolute,x=Hs(f),g=f.origin??l,b=u.x<h.x?Math.round(Math.abs(h.x-u.x)):0,p=u.y<h.y?Math.round(Math.abs(h.y-u.y)):0,w=Math.max(x.width,Math.round(u.width)),S=Math.max(x.height,Math.round(u.height)),T=(w-x.width)*g[0],E=(S-x.height)*g[1];(b>0||p>0||T||E)&&(o.push({id:m,type:"position",position:{x:f.position.x-b+T,y:f.position.y-p+E}}),s.get(m)?.forEach(C=>{e.some(N=>N.id===C.id)||o.push({id:C.id,type:"position",position:{x:C.position.x+b,y:C.position.y+p}})})),(x.width<u.width||x.height<u.height||b||p)&&o.push({id:m,type:"dimensions",setAttributes:!0,dimensions:{width:w+(b?g[0]*b-T:0),height:S+(p?g[1]*p-E:0)}})}),o}function dD(e,r,s,l,o,c,u){const f=l?.querySelector(".xyflow__viewport");let m=!1;if(!f)return{changes:[],updatedInternals:m};const h=[],x=window.getComputedStyle(f),{m22:g}=new window.DOMMatrixReadOnly(x.transform),b=[];for(const p of e.values()){const w=r.get(p.id);if(!w)continue;if(w.hidden){r.set(w.id,{...w,internals:{...w.internals,handleBounds:void 0}}),m=!0;continue}const S=fx(p.nodeElement),T=w.measured.width!==S.width||w.measured.height!==S.height;if(!!(S.width&&S.height&&(T||!w.internals.handleBounds||p.force))){const C=p.nodeElement.getBoundingClientRect(),N=Kl(w.extent)?w.extent:c;let{positionAbsolute:k}=w.internals;w.parentId&&w.extent==="parent"?k=ew(k,S,r.get(w.parentId)):N&&(k=Wa(k,N,S));const H={...w,measured:S,internals:{...w.internals,positionAbsolute:k,handleBounds:{source:By("source",p.nodeElement,C,g,w.id),target:By("target",p.nodeElement,C,g,w.id)}}};r.set(w.id,H),w.parentId&&gx(H,r,s,{nodeOrigin:o,zIndexMode:u}),m=!0,T&&(h.push({id:w.id,type:"dimensions",dimensions:S}),w.expandParent&&w.parentId&&b.push({id:w.id,parentId:w.parentId,rect:Ql(H,o)}))}}if(b.length>0){const p=px(b,r,s,o);h.push(...p)}return{changes:h,updatedInternals:m}}async function fD({delta:e,panZoom:r,transform:s,translateExtent:l,width:o,height:c}){if(!r||!e.x&&!e.y)return Promise.resolve(!1);const u=await r.setViewportConstrained({x:s[0]+e.x,y:s[1]+e.y,zoom:s[2]},[[0,0],[o,c]],l),f=!!u&&(u.x!==s[0]||u.y!==s[1]||u.k!==s[2]);return Promise.resolve(f)}function Yy(e,r,s,l,o,c){let u=o;const f=l.get(u)||new Map;l.set(u,f.set(s,r)),u=`${o}-${e}`;const m=l.get(u)||new Map;if(l.set(u,m.set(s,r)),c){u=`${o}-${e}-${c}`;const h=l.get(u)||new Map;l.set(u,h.set(s,r))}}function mw(e,r,s){e.clear(),r.clear();for(const l of s){const{source:o,target:c,sourceHandle:u=null,targetHandle:f=null}=l,m={edgeId:l.id,source:o,target:c,sourceHandle:u,targetHandle:f},h=`${o}-${u}--${c}-${f}`,x=`${c}-${f}--${o}-${u}`;Yy("source",m,x,e,o,u),Yy("target",m,h,e,c,f),r.set(l.id,l)}}function xw(e,r){if(!e.parentId)return!1;const s=r.get(e.parentId);return s?s.selected?!0:xw(s,r):!1}function Gy(e,r,s){let l=e;do{if(l?.matches?.(r))return!0;if(l===s)return!1;l=l?.parentElement}while(l);return!1}function hD(e,r,s,l){const o=new Map;for(const[c,u]of e)if((u.selected||u.id===l)&&(!u.parentId||!xw(u,e))&&(u.draggable||r&&typeof u.draggable>"u")){const f=e.get(c);f&&o.set(c,{id:c,position:f.position||{x:0,y:0},distance:{x:s.x-f.internals.positionAbsolute.x,y:s.y-f.internals.positionAbsolute.y},extent:f.extent,parentId:f.parentId,origin:f.origin,expandParent:f.expandParent,internals:{positionAbsolute:f.internals.positionAbsolute||{x:0,y:0}},measured:{width:f.measured.width??0,height:f.measured.height??0}})}return o}function Lh({nodeId:e,dragItems:r,nodeLookup:s,dragging:l=!0}){const o=[];for(const[u,f]of r){const m=s.get(u)?.internals.userNode;m&&o.push({...m,position:f.position,dragging:l})}if(!e)return[o[0],o];const c=s.get(e)?.internals.userNode;return[c?{...c,position:r.get(e)?.position||c.position,dragging:l}:o[0],o]}function mD({dragItems:e,snapGrid:r,x:s,y:l}){const o=e.values().next().value;if(!o)return null;const c={x:s-o.distance.x,y:l-o.distance.y},u=Io(c,r);return{x:u.x-c.x,y:u.y-c.y}}function xD({onNodeMouseDown:e,getStoreItems:r,onDragStart:s,onDrag:l,onDragStop:o}){let c={x:null,y:null},u=0,f=new Map,m=!1,h={x:0,y:0},x=null,g=!1,b=null,p=!1,w=!1,S=null;function T({noDragClassName:C,handleSelector:N,domNode:k,isSelectable:H,nodeId:M,nodeClickDistance:Y=0}){b=Ar(k);function $({x:V,y:D}){const{nodeLookup:A,nodeExtent:I,snapGrid:_,snapToGrid:G,nodeOrigin:q,onNodeDrag:K,onSelectionDrag:B,onError:R,updateNodePositions:W}=r();c={x:V,y:D};let z=!1;const L=f.size>1,F=L&&I?vm(Lo(f)):null,Q=L&&G?mD({dragItems:f,snapGrid:_,x:V,y:D}):null;for(const[ne,Z]of f){if(!A.has(ne))continue;let ee={x:V-Z.distance.x,y:D-Z.distance.y};G&&(ee=Q?{x:Math.round(ee.x+Q.x),y:Math.round(ee.y+Q.y)}:Io(ee,_));let oe=null;if(L&&I&&!Z.extent&&F){const{positionAbsolute:Re}=Z.internals,ze=Re.x-F.x+I[0][0],Be=Re.x+Z.measured.width-F.x2+I[1][0],Xe=Re.y-F.y+I[0][1],_e=Re.y+Z.measured.height-F.y2+I[1][1];oe=[[ze,Xe],[Be,_e]]}const{position:pe,positionAbsolute:Se}=Wj({nodeId:ne,nextPosition:ee,nodeLookup:A,nodeExtent:oe||I,nodeOrigin:q,onError:R});z=z||Z.position.x!==pe.x||Z.position.y!==pe.y,Z.position=pe,Z.internals.positionAbsolute=Se}if(w=w||z,!!z&&(W(f,!0),S&&(l||K||!M&&B))){const[ne,Z]=Lh({nodeId:M,dragItems:f,nodeLookup:A});l?.(S,f,ne,Z),K?.(S,ne,Z),M||B?.(S,Z)}}async function X(){if(!x)return;const{transform:V,panBy:D,autoPanSpeed:A,autoPanOnNodeDrag:I}=r();if(!I){m=!1,cancelAnimationFrame(u);return}const[_,G]=tw(h,x,A);(_!==0||G!==0)&&(c.x=(c.x??0)-_/V[2],c.y=(c.y??0)-G/V[2],await D({x:_,y:G})&&$(c)),u=requestAnimationFrame(X)}function P(V){const{nodeLookup:D,multiSelectionActive:A,nodesDraggable:I,transform:_,snapGrid:G,snapToGrid:q,selectNodesOnDrag:K,onNodeDragStart:B,onSelectionDragStart:R,unselectNodesAndEdges:W}=r();g=!0,(!K||!H)&&!A&&M&&(D.get(M)?.selected||W()),H&&K&&M&&e?.(M);const z=mo(V.sourceEvent,{transform:_,snapGrid:G,snapToGrid:q,containerBounds:x});if(c=z,f=hD(D,I,z,M),f.size>0&&(s||B||!M&&R)){const[L,F]=Lh({nodeId:M,dragItems:f,nodeLookup:D});s?.(V.sourceEvent,f,L,F),B?.(V.sourceEvent,L,F),M||R?.(V.sourceEvent,F)}}const U=Dj().clickDistance(Y).on("start",V=>{const{domNode:D,nodeDragThreshold:A,transform:I,snapGrid:_,snapToGrid:G}=r();x=D?.getBoundingClientRect()||null,p=!1,w=!1,S=V.sourceEvent,A===0&&P(V),c=mo(V.sourceEvent,{transform:I,snapGrid:_,snapToGrid:G,containerBounds:x}),h=Wr(V.sourceEvent,x)}).on("drag",V=>{const{autoPanOnNodeDrag:D,transform:A,snapGrid:I,snapToGrid:_,nodeDragThreshold:G,nodeLookup:q}=r(),K=mo(V.sourceEvent,{transform:A,snapGrid:I,snapToGrid:_,containerBounds:x});if(S=V.sourceEvent,(V.sourceEvent.type==="touchmove"&&V.sourceEvent.touches.length>1||M&&!q.has(M))&&(p=!0),!p){if(!m&&D&&g&&(m=!0,X()),!g){const B=Wr(V.sourceEvent,x),R=B.x-h.x,W=B.y-h.y;Math.sqrt(R*R+W*W)>G&&P(V)}(c.x!==K.xSnapped||c.y!==K.ySnapped)&&f&&g&&(h=Wr(V.sourceEvent,x),$(K))}}).on("end",V=>{if(!(!g||p)&&(m=!1,g=!1,cancelAnimationFrame(u),f.size>0)){const{nodeLookup:D,updateNodePositions:A,onNodeDragStop:I,onSelectionDragStop:_}=r();if(w&&(A(f,!1),w=!1),o||I||!M&&_){const[G,q]=Lh({nodeId:M,dragItems:f,nodeLookup:D,dragging:!1});o?.(V.sourceEvent,f,G,q),I?.(V.sourceEvent,G,q),M||_?.(V.sourceEvent,q)}}}).filter(V=>{const D=V.target;return!V.button&&(!C||!Gy(D,`.${C}`,k))&&(!N||Gy(D,N,k))});b.call(U)}function E(){b?.on(".drag",null)}return{update:T,destroy:E}}function gD(e,r,s){const l=[],o={x:e.x-s,y:e.y-s,width:s*2,height:s*2};for(const c of r.values())So(o,Ql(c))>0&&l.push(c);return l}const pD=250;function bD(e,r,s,l){let o=[],c=1/0;const u=gD(e,s,r+pD);for(const f of u){const m=[...f.internals.handleBounds?.source??[],...f.internals.handleBounds?.target??[]];for(const h of m){if(l.nodeId===h.nodeId&&l.type===h.type&&l.id===h.id)continue;const{x,y:g}=el(f,h,h.position,!0),b=Math.sqrt(Math.pow(x-e.x,2)+Math.pow(g-e.y,2));b>r||(b<c?(o=[{...h,x,y:g}],c=b):b===c&&o.push({...h,x,y:g}))}}if(!o.length)return null;if(o.length>1){const f=l.type==="source"?"target":"source";return o.find(m=>m.type===f)??o[0]}return o[0]}function gw(e,r,s,l,o,c=!1){const u=l.get(e);if(!u)return null;const f=o==="strict"?u.internals.handleBounds?.[r]:[...u.internals.handleBounds?.source??[],...u.internals.handleBounds?.target??[]],m=(s?f?.find(h=>h.id===s):f?.[0])??null;return m&&c?{...m,...el(u,m,m.position,!0)}:m}function pw(e,r){return e||(r?.classList.contains("target")?"target":r?.classList.contains("source")?"source":null)}function yD(e,r){let s=null;return r?s=!0:e&&!r&&(s=!1),s}const bw=()=>!0;function vD(e,{connectionMode:r,connectionRadius:s,handleId:l,nodeId:o,edgeUpdaterType:c,isTarget:u,domNode:f,nodeLookup:m,lib:h,autoPanOnConnect:x,flowId:g,panBy:b,cancelConnection:p,onConnectStart:w,onConnect:S,onConnectEnd:T,isValidConnection:E=bw,onReconnectEnd:C,updateConnection:N,getTransform:k,getFromHandle:H,autoPanSpeed:M,dragThreshold:Y=1,handleDomNode:$}){const X=aw(e.target);let P=0,U;const{x:V,y:D}=Wr(e),A=pw(c,$),I=f?.getBoundingClientRect();let _=!1;if(!I||!A)return;const G=gw(o,A,l,m,r);if(!G)return;let q=Wr(e,I),K=!1,B=null,R=!1,W=null;function z(){if(!x||!I)return;const[pe,Se]=tw(q,I,M);b({x:pe,y:Se}),P=requestAnimationFrame(z)}const L={...G,nodeId:o,type:A,position:G.position},F=m.get(o);let ne={inProgress:!0,isValid:null,from:el(F,L,tt.Left,!0),fromHandle:L,fromPosition:L.position,fromNode:F,to:q,toHandle:null,toPosition:zy[L.position],toNode:null,pointer:q};function Z(){_=!0,N(ne),w?.(e,{nodeId:o,handleId:l,handleType:A})}Y===0&&Z();function ee(pe){if(!_){const{x:_e,y:Ye}=Wr(pe),ht=_e-V,gt=Ye-D;if(!(ht*ht+gt*gt>Y*Y))return;Z()}if(!H()||!L){oe(pe);return}const Se=k();q=Wr(pe,I),U=bD($o(q,Se,!1,[1,1]),s,m,L),K||(z(),K=!0);const Re=yw(pe,{handle:U,connectionMode:r,fromNodeId:o,fromHandleId:l,fromType:u?"target":"source",isValidConnection:E,doc:X,lib:h,flowId:g,nodeLookup:m});W=Re.handleDomNode,B=Re.connection,R=yD(!!U,Re.isValid);const ze=m.get(o),Be=ze?el(ze,L,tt.Left,!0):ne.from,Xe={...ne,from:Be,isValid:R,to:Re.toHandle&&R?Ru({x:Re.toHandle.x,y:Re.toHandle.y},Se):q,toHandle:Re.toHandle,toPosition:R&&Re.toHandle?Re.toHandle.position:zy[L.position],toNode:Re.toHandle?m.get(Re.toHandle.nodeId):null,pointer:q};N(Xe),ne=Xe}function oe(pe){if(!("touches"in pe&&pe.touches.length>0)){if(_){(U||W)&&B&&R&&S?.(B);const{inProgress:Se,...Re}=ne,ze={...Re,toPosition:ne.toHandle?ne.toPosition:null};T?.(pe,ze),c&&C?.(pe,ze)}p(),cancelAnimationFrame(P),K=!1,R=!1,B=null,W=null,X.removeEventListener("mousemove",ee),X.removeEventListener("mouseup",oe),X.removeEventListener("touchmove",ee),X.removeEventListener("touchend",oe)}}X.addEventListener("mousemove",ee),X.addEventListener("mouseup",oe),X.addEventListener("touchmove",ee),X.addEventListener("touchend",oe)}function yw(e,{handle:r,connectionMode:s,fromNodeId:l,fromHandleId:o,fromType:c,doc:u,lib:f,flowId:m,isValidConnection:h=bw,nodeLookup:x}){const g=c==="target",b=r?u.querySelector(`.${f}-flow__handle[data-id="${m}-${r?.nodeId}-${r?.id}-${r?.type}"]`):null,{x:p,y:w}=Wr(e),S=u.elementFromPoint(p,w),T=S?.classList.contains(`${f}-flow__handle`)?S:b,E={handleDomNode:T,isValid:!1,connection:null,toHandle:null};if(T){const C=pw(void 0,T),N=T.getAttribute("data-nodeid"),k=T.getAttribute("data-handleid"),H=T.classList.contains("connectable"),M=T.classList.contains("connectableend");if(!N||!C)return E;const Y={source:g?N:l,sourceHandle:g?k:o,target:g?l:N,targetHandle:g?o:k};E.connection=Y;const X=H&&M&&(s===Gl.Strict?g&&C==="source"||!g&&C==="target":N!==l||k!==o);E.isValid=X&&h(Y),E.toHandle=gw(N,C,k,x,s,!0)}return E}const km={onPointerDown:vD,isValid:yw};function jD({domNode:e,panZoom:r,getTransform:s,getViewScale:l}){const o=Ar(e);function c({translateExtent:f,width:m,height:h,zoomStep:x=1,pannable:g=!0,zoomable:b=!0,inversePan:p=!1}){const w=N=>{if(N.sourceEvent.type!=="wheel"||!r)return;const k=s(),H=N.sourceEvent.ctrlKey&&Co()?10:1,M=-N.sourceEvent.deltaY*(N.sourceEvent.deltaMode===1?.05:N.sourceEvent.deltaMode?1:.002)*x,Y=k[2]*Math.pow(2,M*H);r.scaleTo(Y)};let S=[0,0];const T=N=>{(N.sourceEvent.type==="mousedown"||N.sourceEvent.type==="touchstart")&&(S=[N.sourceEvent.clientX??N.sourceEvent.touches[0].clientX,N.sourceEvent.clientY??N.sourceEvent.touches[0].clientY])},E=N=>{const k=s();if(N.sourceEvent.type!=="mousemove"&&N.sourceEvent.type!=="touchmove"||!r)return;const H=[N.sourceEvent.clientX??N.sourceEvent.touches[0].clientX,N.sourceEvent.clientY??N.sourceEvent.touches[0].clientY],M=[H[0]-S[0],H[1]-S[1]];S=H;const Y=l()*Math.max(k[2],Math.log(k[2]))*(p?-1:1),$={x:k[0]-M[0]*Y,y:k[1]-M[1]*Y},X=[[0,0],[m,h]];r.setViewportConstrained({x:$.x,y:$.y,zoom:k[2]},X,f)},C=Gj().on("start",T).on("zoom",g?E:null).on("zoom.wheel",b?w:null);o.call(C,{})}function u(){o.on("zoom",null)}return{update:c,destroy:u,pointer:Qr}}const Ju=e=>({x:e.x,y:e.y,zoom:e.k}),Ih=({x:e,y:r,zoom:s})=>Zu.translate(e,r).scale(s),$l=(e,r)=>e.target.closest(`.${r}`),vw=(e,r)=>r===2&&Array.isArray(e)&&e.includes(2),wD=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,$h=(e,r=0,s=wD,l=()=>{})=>{const o=typeof r=="number"&&r>0;return o||l(),o?e.transition().duration(r).ease(s).on("end",l):e},jw=e=>{const r=e.ctrlKey&&Co()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*r};function ND({zoomPanValues:e,noWheelClassName:r,d3Selection:s,d3Zoom:l,panOnScrollMode:o,panOnScrollSpeed:c,zoomOnPinch:u,onPanZoomStart:f,onPanZoom:m,onPanZoomEnd:h}){return x=>{if($l(x,r))return x.ctrlKey&&x.preventDefault(),!1;x.preventDefault(),x.stopImmediatePropagation();const g=s.property("__zoom").k||1;if(x.ctrlKey&&u){const T=Qr(x),E=jw(x),C=g*Math.pow(2,E);l.scaleTo(s,C,T,x);return}const b=x.deltaMode===1?20:1;let p=o===Za.Vertical?0:x.deltaX*b,w=o===Za.Horizontal?0:x.deltaY*b;!Co()&&x.shiftKey&&o!==Za.Vertical&&(p=x.deltaY*b,w=0),l.translateBy(s,-(p/g)*c,-(w/g)*c,{internal:!0});const S=Ju(s.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(m?.(x,S),e.panScrollTimeout=setTimeout(()=>{h?.(x,S),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,f?.(x,S))}}function kD({noWheelClassName:e,preventScrolling:r,d3ZoomHandler:s}){return function(l,o){const c=l.type==="wheel",u=!r&&c&&!l.ctrlKey,f=$l(l,e);if(l.ctrlKey&&c&&f&&l.preventDefault(),u||f)return null;l.preventDefault(),s.call(this,l,o)}}function SD({zoomPanValues:e,onDraggingChange:r,onPanZoomStart:s}){return l=>{if(l.sourceEvent?.internal)return;const o=Ju(l.transform);e.mouseButton=l.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=o,l.sourceEvent?.type==="mousedown"&&r(!0),s&&s?.(l.sourceEvent,o)}}function CD({zoomPanValues:e,panOnDrag:r,onPaneContextMenu:s,onTransformChange:l,onPanZoom:o}){return c=>{e.usedRightMouseButton=!!(s&&vw(r,e.mouseButton??0)),c.sourceEvent?.sync||l([c.transform.x,c.transform.y,c.transform.k]),o&&!c.sourceEvent?.internal&&o?.(c.sourceEvent,Ju(c.transform))}}function ED({zoomPanValues:e,panOnDrag:r,panOnScroll:s,onDraggingChange:l,onPanZoomEnd:o,onPaneContextMenu:c}){return u=>{if(!u.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,c&&vw(r,e.mouseButton??0)&&!e.usedRightMouseButton&&u.sourceEvent&&c(u.sourceEvent),e.usedRightMouseButton=!1,l(!1),o)){const f=Ju(u.transform);e.prevViewport=f,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{o?.(u.sourceEvent,f)},s?150:0)}}}function TD({zoomActivationKeyPressed:e,zoomOnScroll:r,zoomOnPinch:s,panOnDrag:l,panOnScroll:o,zoomOnDoubleClick:c,userSelectionActive:u,noWheelClassName:f,noPanClassName:m,lib:h,connectionInProgress:x}){return g=>{const b=e||r,p=s&&g.ctrlKey,w=g.type==="wheel";if(g.button===1&&g.type==="mousedown"&&($l(g,`${h}-flow__node`)||$l(g,`${h}-flow__edge`)))return!0;if(!l&&!b&&!o&&!c&&!s||u||x&&!w||$l(g,f)&&w||$l(g,m)&&(!w||o&&w&&!e)||!s&&g.ctrlKey&&w)return!1;if(!s&&g.type==="touchstart"&&g.touches?.length>1)return g.preventDefault(),!1;if(!b&&!o&&!p&&w||!l&&(g.type==="mousedown"||g.type==="touchstart")||Array.isArray(l)&&!l.includes(g.button)&&g.type==="mousedown")return!1;const S=Array.isArray(l)&&l.includes(g.button)||!g.button||g.button<=1;return(!g.ctrlKey||w)&&S}}function AD({domNode:e,minZoom:r,maxZoom:s,translateExtent:l,viewport:o,onPanZoom:c,onPanZoomStart:u,onPanZoomEnd:f,onDraggingChange:m}){const h={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},x=e.getBoundingClientRect(),g=Gj().scaleExtent([r,s]).translateExtent(l),b=Ar(e).call(g);C({x:o.x,y:o.y,zoom:Zl(o.zoom,r,s)},[[0,0],[x.width,x.height]],l);const p=b.on("wheel.zoom"),w=b.on("dblclick.zoom");g.wheelDelta(jw);function S(U,V){return b?new Promise(D=>{g?.interpolate(V?.interpolate==="linear"?ho:fu).transform($h(b,V?.duration,V?.ease,()=>D(!0)),U)}):Promise.resolve(!1)}function T({noWheelClassName:U,noPanClassName:V,onPaneContextMenu:D,userSelectionActive:A,panOnScroll:I,panOnDrag:_,panOnScrollMode:G,panOnScrollSpeed:q,preventScrolling:K,zoomOnPinch:B,zoomOnScroll:R,zoomOnDoubleClick:W,zoomActivationKeyPressed:z,lib:L,onTransformChange:F,connectionInProgress:Q,paneClickDistance:ne,selectionOnDrag:Z}){A&&!h.isZoomingOrPanning&&E();const ee=I&&!z&&!A;g.clickDistance(Z?1/0:!Jr(ne)||ne<0?0:ne);const oe=ee?ND({zoomPanValues:h,noWheelClassName:U,d3Selection:b,d3Zoom:g,panOnScrollMode:G,panOnScrollSpeed:q,zoomOnPinch:B,onPanZoomStart:u,onPanZoom:c,onPanZoomEnd:f}):kD({noWheelClassName:U,preventScrolling:K,d3ZoomHandler:p});if(b.on("wheel.zoom",oe,{passive:!1}),!A){const Se=SD({zoomPanValues:h,onDraggingChange:m,onPanZoomStart:u});g.on("start",Se);const Re=CD({zoomPanValues:h,panOnDrag:_,onPaneContextMenu:!!D,onPanZoom:c,onTransformChange:F});g.on("zoom",Re);const ze=ED({zoomPanValues:h,panOnDrag:_,panOnScroll:I,onPaneContextMenu:D,onPanZoomEnd:f,onDraggingChange:m});g.on("end",ze)}const pe=TD({zoomActivationKeyPressed:z,panOnDrag:_,zoomOnScroll:R,panOnScroll:I,zoomOnDoubleClick:W,zoomOnPinch:B,userSelectionActive:A,noPanClassName:V,noWheelClassName:U,lib:L,connectionInProgress:Q});g.filter(pe),W?b.on("dblclick.zoom",w):b.on("dblclick.zoom",null)}function E(){g.on("zoom",null)}async function C(U,V,D){const A=Ih(U),I=g?.constrain()(A,V,D);return I&&await S(I),new Promise(_=>_(I))}async function N(U,V){const D=Ih(U);return await S(D,V),new Promise(A=>A(D))}function k(U){if(b){const V=Ih(U),D=b.property("__zoom");(D.k!==U.zoom||D.x!==U.x||D.y!==U.y)&&g?.transform(b,V,null,{sync:!0})}}function H(){const U=b?Yj(b.node()):{x:0,y:0,k:1};return{x:U.x,y:U.y,zoom:U.k}}function M(U,V){return b?new Promise(D=>{g?.interpolate(V?.interpolate==="linear"?ho:fu).scaleTo($h(b,V?.duration,V?.ease,()=>D(!0)),U)}):Promise.resolve(!1)}function Y(U,V){return b?new Promise(D=>{g?.interpolate(V?.interpolate==="linear"?ho:fu).scaleBy($h(b,V?.duration,V?.ease,()=>D(!0)),U)}):Promise.resolve(!1)}function $(U){g?.scaleExtent(U)}function X(U){g?.translateExtent(U)}function P(U){const V=!Jr(U)||U<0?0:U;g?.clickDistance(V)}return{update:T,destroy:E,setViewport:N,setViewportConstrained:C,getViewport:H,scaleTo:M,scaleBy:Y,setScaleExtent:$,setTranslateExtent:X,syncViewport:k,setClickDistance:P}}var Jl;(function(e){e.Line="line",e.Handle="handle"})(Jl||(Jl={}));function _D({width:e,prevWidth:r,height:s,prevHeight:l,affectsX:o,affectsY:c}){const u=e-r,f=s-l,m=[u>0?1:u<0?-1:0,f>0?1:f<0?-1:0];return u&&o&&(m[0]=m[0]*-1),f&&c&&(m[1]=m[1]*-1),m}function Xy(e){const r=e.includes("right")||e.includes("left"),s=e.includes("bottom")||e.includes("top"),l=e.includes("left"),o=e.includes("top");return{isHorizontal:r,isVertical:s,affectsX:l,affectsY:o}}function xa(e,r){return Math.max(0,r-e)}function ga(e,r){return Math.max(0,e-r)}function su(e,r,s){return Math.max(0,r-e,e-s)}function Zy(e,r){return e?!r:r}function MD(e,r,s,l,o,c,u,f){let{affectsX:m,affectsY:h}=r;const{isHorizontal:x,isVertical:g}=r,b=x&&g,{xSnapped:p,ySnapped:w}=s,{minWidth:S,maxWidth:T,minHeight:E,maxHeight:C}=l,{x:N,y:k,width:H,height:M,aspectRatio:Y}=e;let $=Math.floor(x?p-e.pointerX:0),X=Math.floor(g?w-e.pointerY:0);const P=H+(m?-$:$),U=M+(h?-X:X),V=-c[0]*H,D=-c[1]*M;let A=su(P,S,T),I=su(U,E,C);if(u){let q=0,K=0;m&&$<0?q=xa(N+$+V,u[0][0]):!m&&$>0&&(q=ga(N+P+V,u[1][0])),h&&X<0?K=xa(k+X+D,u[0][1]):!h&&X>0&&(K=ga(k+U+D,u[1][1])),A=Math.max(A,q),I=Math.max(I,K)}if(f){let q=0,K=0;m&&$>0?q=ga(N+$,f[0][0]):!m&&$<0&&(q=xa(N+P,f[1][0])),h&&X>0?K=ga(k+X,f[0][1]):!h&&X<0&&(K=xa(k+U,f[1][1])),A=Math.max(A,q),I=Math.max(I,K)}if(o){if(x){const q=su(P/Y,E,C)*Y;if(A=Math.max(A,q),u){let K=0;!m&&!h||m&&!h&&b?K=ga(k+D+P/Y,u[1][1])*Y:K=xa(k+D+(m?$:-$)/Y,u[0][1])*Y,A=Math.max(A,K)}if(f){let K=0;!m&&!h||m&&!h&&b?K=xa(k+P/Y,f[1][1])*Y:K=ga(k+(m?$:-$)/Y,f[0][1])*Y,A=Math.max(A,K)}}if(g){const q=su(U*Y,S,T)/Y;if(I=Math.max(I,q),u){let K=0;!m&&!h||h&&!m&&b?K=ga(N+U*Y+V,u[1][0])/Y:K=xa(N+(h?X:-X)*Y+V,u[0][0])/Y,I=Math.max(I,K)}if(f){let K=0;!m&&!h||h&&!m&&b?K=xa(N+U*Y,f[1][0])/Y:K=ga(N+(h?X:-X)*Y,f[0][0])/Y,I=Math.max(I,K)}}}X=X+(X<0?I:-I),$=$+($<0?A:-A),o&&(b?P>U*Y?X=(Zy(m,h)?-$:$)/Y:$=(Zy(m,h)?-X:X)*Y:x?(X=$/Y,h=m):($=X*Y,m=h));const _=m?N+$:N,G=h?k+X:k;return{width:H+(m?-$:$),height:M+(h?-X:X),x:c[0]*$*(m?-1:1)+_,y:c[1]*X*(h?-1:1)+G}}const ww={width:0,height:0,x:0,y:0},DD={...ww,pointerX:0,pointerY:0,aspectRatio:1};function OD(e){return[[0,0],[e.measured.width,e.measured.height]]}function RD(e,r,s){const l=r.position.x+e.position.x,o=r.position.y+e.position.y,c=e.measured.width??0,u=e.measured.height??0,f=s[0]*c,m=s[1]*u;return[[l-f,o-m],[l+c-f,o+u-m]]}function zD({domNode:e,nodeId:r,getStoreItems:s,onChange:l,onEnd:o}){const c=Ar(e);let u={controlDirection:Xy("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function f({controlPosition:h,boundaries:x,keepAspectRatio:g,resizeDirection:b,onResizeStart:p,onResize:w,onResizeEnd:S,shouldResize:T}){let E={...ww},C={...DD};u={boundaries:x,resizeDirection:b,keepAspectRatio:g,controlDirection:Xy(h)};let N,k=null,H=[],M,Y,$,X=!1;const P=Dj().on("start",U=>{const{nodeLookup:V,transform:D,snapGrid:A,snapToGrid:I,nodeOrigin:_,paneDomNode:G}=s();if(N=V.get(r),!N)return;k=G?.getBoundingClientRect()??null;const{xSnapped:q,ySnapped:K}=mo(U.sourceEvent,{transform:D,snapGrid:A,snapToGrid:I,containerBounds:k});E={width:N.measured.width??0,height:N.measured.height??0,x:N.position.x??0,y:N.position.y??0},C={...E,pointerX:q,pointerY:K,aspectRatio:E.width/E.height},M=void 0,N.parentId&&(N.extent==="parent"||N.expandParent)&&(M=V.get(N.parentId),Y=M&&N.extent==="parent"?OD(M):void 0),H=[],$=void 0;for(const[B,R]of V)if(R.parentId===r&&(H.push({id:B,position:{...R.position},extent:R.extent}),R.extent==="parent"||R.expandParent)){const W=RD(R,N,R.origin??_);$?$=[[Math.min(W[0][0],$[0][0]),Math.min(W[0][1],$[0][1])],[Math.max(W[1][0],$[1][0]),Math.max(W[1][1],$[1][1])]]:$=W}p?.(U,{...E})}).on("drag",U=>{const{transform:V,snapGrid:D,snapToGrid:A,nodeOrigin:I}=s(),_=mo(U.sourceEvent,{transform:V,snapGrid:D,snapToGrid:A,containerBounds:k}),G=[];if(!N)return;const{x:q,y:K,width:B,height:R}=E,W={},z=N.origin??I,{width:L,height:F,x:Q,y:ne}=MD(C,u.controlDirection,_,u.boundaries,u.keepAspectRatio,z,Y,$),Z=L!==B,ee=F!==R,oe=Q!==q&&Z,pe=ne!==K&&ee;if(!oe&&!pe&&!Z&&!ee)return;if((oe||pe||z[0]===1||z[1]===1)&&(W.x=oe?Q:E.x,W.y=pe?ne:E.y,E.x=W.x,E.y=W.y,H.length>0)){const Be=Q-q,Xe=ne-K;for(const _e of H)_e.position={x:_e.position.x-Be+z[0]*(L-B),y:_e.position.y-Xe+z[1]*(F-R)},G.push(_e)}if((Z||ee)&&(W.width=Z&&(!u.resizeDirection||u.resizeDirection==="horizontal")?L:E.width,W.height=ee&&(!u.resizeDirection||u.resizeDirection==="vertical")?F:E.height,E.width=W.width,E.height=W.height),M&&N.expandParent){const Be=z[0]*(W.width??0);W.x&&W.x<Be&&(E.x=Be,C.x=C.x-(W.x-Be));const Xe=z[1]*(W.height??0);W.y&&W.y<Xe&&(E.y=Xe,C.y=C.y-(W.y-Xe))}const Se=_D({width:E.width,prevWidth:B,height:E.height,prevHeight:R,affectsX:u.controlDirection.affectsX,affectsY:u.controlDirection.affectsY}),Re={...E,direction:Se};T?.(U,Re)!==!1&&(X=!0,w?.(U,Re),l(W,G))}).on("end",U=>{X&&(S?.(U,{...E}),o?.({...E}),X=!1)});c.call(P)}function m(){c.on(".drag",null)}return{update:f,destroy:m}}var Bh={exports:{}},Hh={},Ph={exports:{}},Uh={};var Qy;function LD(){if(Qy)return Uh;Qy=1;var e=Ao();function r(g,b){return g===b&&(g!==0||1/g===1/b)||g!==g&&b!==b}var s=typeof Object.is=="function"?Object.is:r,l=e.useState,o=e.useEffect,c=e.useLayoutEffect,u=e.useDebugValue;function f(g,b){var p=b(),w=l({inst:{value:p,getSnapshot:b}}),S=w[0].inst,T=w[1];return c(function(){S.value=p,S.getSnapshot=b,m(S)&&T({inst:S})},[g,p,b]),o(function(){return m(S)&&T({inst:S}),g(function(){m(S)&&T({inst:S})})},[g]),u(p),p}function m(g){var b=g.getSnapshot;g=g.value;try{var p=b();return!s(g,p)}catch{return!0}}function h(g,b){return b()}var x=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:f;return Uh.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:x,Uh}var Ky;function ID(){return Ky||(Ky=1,Ph.exports=LD()),Ph.exports}var Jy;function $D(){if(Jy)return Hh;Jy=1;var e=Ao(),r=ID();function s(h,x){return h===x&&(h!==0||1/h===1/x)||h!==h&&x!==x}var l=typeof Object.is=="function"?Object.is:s,o=r.useSyncExternalStore,c=e.useRef,u=e.useEffect,f=e.useMemo,m=e.useDebugValue;return Hh.useSyncExternalStoreWithSelector=function(h,x,g,b,p){var w=c(null);if(w.current===null){var S={hasValue:!1,value:null};w.current=S}else S=w.current;w=f(function(){function E(M){if(!C){if(C=!0,N=M,M=b(M),p!==void 0&&S.hasValue){var Y=S.value;if(p(Y,M))return k=Y}return k=M}if(Y=k,l(N,M))return Y;var $=b(M);return p!==void 0&&p(Y,$)?(N=M,Y):(N=M,k=$)}var C=!1,N,k,H=g===void 0?null:g;return[function(){return E(x())},H===null?void 0:function(){return E(H())}]},[x,g,b,p]);var T=o(h,w[0],w[1]);return u(function(){S.hasValue=!0,S.value=T},[T]),m(T),T},Hh}var Wy;function BD(){return Wy||(Wy=1,Bh.exports=$D()),Bh.exports}var HD=BD();const PD=$u(HD),UD={},ev=e=>{let r;const s=new Set,l=(x,g)=>{const b=typeof x=="function"?x(r):x;if(!Object.is(b,r)){const p=r;r=g??(typeof b!="object"||b===null)?b:Object.assign({},r,b),s.forEach(w=>w(r,p))}},o=()=>r,m={setState:l,getState:o,getInitialState:()=>h,subscribe:x=>(s.add(x),()=>s.delete(x)),destroy:()=>{(UD?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),s.clear()}},h=r=e(l,o,m);return m},qD=e=>e?ev(e):ev,{useDebugValue:VD}=y2,{useSyncExternalStoreWithSelector:FD}=PD,YD=e=>e;function Nw(e,r=YD,s){const l=FD(e.subscribe,e.getState,e.getServerState||e.getInitialState,r,s);return VD(l),l}const tv=(e,r)=>{const s=qD(e),l=(o,c=r)=>Nw(s,o,c);return Object.assign(l,s),l},GD=(e,r)=>e?tv(e,r):tv;function pn(e,r){if(Object.is(e,r))return!0;if(typeof e!="object"||e===null||typeof r!="object"||r===null)return!1;if(e instanceof Map&&r instanceof Map){if(e.size!==r.size)return!1;for(const[l,o]of e)if(!Object.is(o,r.get(l)))return!1;return!0}if(e instanceof Set&&r instanceof Set){if(e.size!==r.size)return!1;for(const l of e)if(!r.has(l))return!1;return!0}const s=Object.keys(e);if(s.length!==Object.keys(r).length)return!1;for(const l of s)if(!Object.prototype.hasOwnProperty.call(r,l)||!Object.is(e[l],r[l]))return!1;return!0}const Wu=j.createContext(null),XD=Wu.Provider,kw=hs.error001();function Vt(e,r){const s=j.useContext(Wu);if(s===null)throw new Error(kw);return Nw(s,e,r)}function bn(){const e=j.useContext(Wu);if(e===null)throw new Error(kw);return j.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const nv={display:"none"},ZD={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Sw="react-flow__node-desc",Cw="react-flow__edge-desc",QD="react-flow__aria-live",KD=e=>e.ariaLiveMessage,JD=e=>e.ariaLabelConfig;function WD({rfId:e}){const r=Vt(KD);return t.jsx("div",{id:`${QD}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:ZD,children:r})}function eO({rfId:e,disableKeyboardA11y:r}){const s=Vt(JD);return t.jsxs(t.Fragment,{children:[t.jsx("div",{id:`${Sw}-${e}`,style:nv,children:r?s["node.a11yDescription.default"]:s["node.a11yDescription.keyboardDisabled"]}),t.jsx("div",{id:`${Cw}-${e}`,style:nv,children:s["edge.a11yDescription.default"]}),!r&&t.jsx(WD,{rfId:e})]})}const ed=j.forwardRef(({position:e="top-left",children:r,className:s,style:l,...o},c)=>{const u=`${e}`.split("-");return t.jsx("div",{className:$n(["react-flow__panel",s,...u]),style:l,ref:c,...o,children:r})});ed.displayName="Panel";function tO({proOptions:e,position:r="bottom-right"}){return e?.hideAttribution?null:t.jsx(ed,{position:r,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:t.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const nO=e=>{const r=[],s=[];for(const[,l]of e.nodeLookup)l.selected&&r.push(l.internals.userNode);for(const[,l]of e.edgeLookup)l.selected&&s.push(l);return{selectedNodes:r,selectedEdges:s}},au=e=>e.id;function rO(e,r){return pn(e.selectedNodes.map(au),r.selectedNodes.map(au))&&pn(e.selectedEdges.map(au),r.selectedEdges.map(au))}function sO({onSelectionChange:e}){const r=bn(),{selectedNodes:s,selectedEdges:l}=Vt(nO,rO);return j.useEffect(()=>{const o={nodes:s,edges:l};e?.(o),r.getState().onSelectionChangeHandlers.forEach(c=>c(o))},[s,l,e]),null}const aO=e=>!!e.onSelectionChangeHandlers;function lO({onSelectionChange:e}){const r=Vt(aO);return e||r?t.jsx(sO,{onSelectionChange:e}):null}const Ew=[0,0],iO={x:0,y:0,zoom:1},oO=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],rv=[...oO,"rfId"],cO=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),sv={translateExtent:No,nodeOrigin:Ew,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function uO(e){const{setNodes:r,setEdges:s,setMinZoom:l,setMaxZoom:o,setTranslateExtent:c,setNodeExtent:u,reset:f,setDefaultNodesAndEdges:m}=Vt(cO,pn),h=bn();j.useEffect(()=>(m(e.defaultNodes,e.defaultEdges),()=>{x.current=sv,f()}),[]);const x=j.useRef(sv);return j.useEffect(()=>{for(const g of rv){const b=e[g],p=x.current[g];b!==p&&(typeof e[g]>"u"||(g==="nodes"?r(b):g==="edges"?s(b):g==="minZoom"?l(b):g==="maxZoom"?o(b):g==="translateExtent"?c(b):g==="nodeExtent"?u(b):g==="ariaLabelConfig"?h.setState({ariaLabelConfig:GM(b)}):g==="fitView"?h.setState({fitViewQueued:b}):g==="fitViewOptions"?h.setState({fitViewOptions:b}):h.setState({[g]:b})))}x.current=e},rv.map(g=>e[g])),null}function av(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function dO(e){const[r,s]=j.useState(e==="system"?null:e);return j.useEffect(()=>{if(e!=="system"){s(e);return}const l=av(),o=()=>s(l?.matches?"dark":"light");return o(),l?.addEventListener("change",o),()=>{l?.removeEventListener("change",o)}},[e]),r!==null?r:av()?.matches?"dark":"light"}const lv=typeof document<"u"?document:null;function Eo(e=null,r={target:lv,actInsideInputWithModifier:!0}){const[s,l]=j.useState(!1),o=j.useRef(!1),c=j.useRef(new Set([])),[u,f]=j.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(g=>typeof g=="string").map(g=>g.replace("+",`
56
+ `).replace(`
57
+
58
+ `,`
59
+ +`).split(`
60
+ `)),x=h.reduce((g,b)=>g.concat(...b),[]);return[h,x]}return[[],[]]},[e]);return j.useEffect(()=>{const m=r?.target??lv,h=r?.actInsideInputWithModifier??!0;if(e!==null){const x=p=>{if(o.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!o.current||o.current&&!h)&&lw(p))return!1;const S=ov(p.code,f);if(c.current.add(p[S]),iv(u,c.current,!1)){const T=p.composedPath?.()?.[0]||p.target,E=T?.nodeName==="BUTTON"||T?.nodeName==="A";r.preventDefault!==!1&&(o.current||!E)&&p.preventDefault(),l(!0)}},g=p=>{const w=ov(p.code,f);iv(u,c.current,!0)?(l(!1),c.current.clear()):c.current.delete(p[w]),p.key==="Meta"&&c.current.clear(),o.current=!1},b=()=>{c.current.clear(),l(!1)};return m?.addEventListener("keydown",x),m?.addEventListener("keyup",g),window.addEventListener("blur",b),window.addEventListener("contextmenu",b),()=>{m?.removeEventListener("keydown",x),m?.removeEventListener("keyup",g),window.removeEventListener("blur",b),window.removeEventListener("contextmenu",b)}}},[e,l]),s}function iv(e,r,s){return e.filter(l=>s||l.length===r.size).some(l=>l.every(o=>r.has(o)))}function ov(e,r){return r.includes(e)?"code":"key"}const fO=()=>{const e=bn();return j.useMemo(()=>({zoomIn:r=>{const{panZoom:s}=e.getState();return s?s.scaleBy(1.2,{duration:r?.duration}):Promise.resolve(!1)},zoomOut:r=>{const{panZoom:s}=e.getState();return s?s.scaleBy(1/1.2,{duration:r?.duration}):Promise.resolve(!1)},zoomTo:(r,s)=>{const{panZoom:l}=e.getState();return l?l.scaleTo(r,{duration:s?.duration}):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(r,s)=>{const{transform:[l,o,c],panZoom:u}=e.getState();return u?(await u.setViewport({x:r.x??l,y:r.y??o,zoom:r.zoom??c},s),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{const[r,s,l]=e.getState().transform;return{x:r,y:s,zoom:l}},setCenter:async(r,s,l)=>e.getState().setCenter(r,s,l),fitBounds:async(r,s)=>{const{width:l,height:o,minZoom:c,maxZoom:u,panZoom:f}=e.getState(),m=dx(r,l,o,c,u,s?.padding??.1);return f?(await f.setViewport(m,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(r,s={})=>{const{transform:l,snapGrid:o,snapToGrid:c,domNode:u}=e.getState();if(!u)return r;const{x:f,y:m}=u.getBoundingClientRect(),h={x:r.x-f,y:r.y-m},x=s.snapGrid??o,g=s.snapToGrid??c;return $o(h,l,g,x)},flowToScreenPosition:r=>{const{transform:s,domNode:l}=e.getState();if(!l)return r;const{x:o,y:c}=l.getBoundingClientRect(),u=Ru(r,s);return{x:u.x+o,y:u.y+c}}}),[])};function Tw(e,r){const s=[],l=new Map,o=[];for(const c of e)if(c.type==="add"){o.push(c);continue}else if(c.type==="remove"||c.type==="replace")l.set(c.id,[c]);else{const u=l.get(c.id);u?u.push(c):l.set(c.id,[c])}for(const c of r){const u=l.get(c.id);if(!u){s.push(c);continue}if(u[0].type==="remove")continue;if(u[0].type==="replace"){s.push({...u[0].item});continue}const f={...c};for(const m of u)hO(m,f);s.push(f)}return o.length&&o.forEach(c=>{c.index!==void 0?s.splice(c.index,0,{...c.item}):s.push({...c.item})}),s}function hO(e,r){switch(e.type){case"select":{r.selected=e.selected;break}case"position":{typeof e.position<"u"&&(r.position=e.position),typeof e.dragging<"u"&&(r.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions<"u"&&(r.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(r.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(r.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(r.resizing=e.resizing);break}}}function Aw(e,r){return Tw(e,r)}function _w(e,r){return Tw(e,r)}function Fa(e,r){return{id:e,type:"select",selected:r}}function Bl(e,r=new Set,s=!1){const l=[];for(const[o,c]of e){const u=r.has(o);!(c.selected===void 0&&!u)&&c.selected!==u&&(s&&(c.selected=u),l.push(Fa(c.id,u)))}return l}function cv({items:e=[],lookup:r}){const s=[],l=new Map(e.map(o=>[o.id,o]));for(const[o,c]of e.entries()){const u=r.get(c.id),f=u?.internals?.userNode??u;f!==void 0&&f!==c&&s.push({id:c.id,item:c,type:"replace"}),f===void 0&&s.push({item:c,type:"add",index:o})}for(const[o]of r)l.get(o)===void 0&&s.push({id:o,type:"remove"});return s}function uv(e){return{id:e.id,type:"remove"}}const dv=e=>IM(e),mO=e=>Jj(e);function Mw(e){return j.forwardRef(e)}const xO=typeof window<"u"?j.useLayoutEffect:j.useEffect;function fv(e){const[r,s]=j.useState(BigInt(0)),[l]=j.useState(()=>gO(()=>s(o=>o+BigInt(1))));return xO(()=>{const o=l.get();o.length&&(e(o),l.reset())},[r]),l}function gO(e){let r=[];return{get:()=>r,reset:()=>{r=[]},push:s=>{r.push(s),e()}}}const Dw=j.createContext(null);function pO({children:e}){const r=bn(),s=j.useCallback(f=>{const{nodes:m=[],setNodes:h,hasDefaultNodes:x,onNodesChange:g,nodeLookup:b,fitViewQueued:p,onNodesChangeMiddlewareMap:w}=r.getState();let S=m;for(const E of f)S=typeof E=="function"?E(S):E;let T=cv({items:S,lookup:b});for(const E of w.values())T=E(T);x&&h(S),T.length>0?g?.(T):p&&window.requestAnimationFrame(()=>{const{fitViewQueued:E,nodes:C,setNodes:N}=r.getState();E&&N(C)})},[]),l=fv(s),o=j.useCallback(f=>{const{edges:m=[],setEdges:h,hasDefaultEdges:x,onEdgesChange:g,edgeLookup:b}=r.getState();let p=m;for(const w of f)p=typeof w=="function"?w(p):w;x?h(p):g&&g(cv({items:p,lookup:b}))},[]),c=fv(o),u=j.useMemo(()=>({nodeQueue:l,edgeQueue:c}),[]);return t.jsx(Dw.Provider,{value:u,children:e})}function bO(){const e=j.useContext(Dw);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const yO=e=>!!e.panZoom;function bx(){const e=fO(),r=bn(),s=bO(),l=Vt(yO),o=j.useMemo(()=>{const c=g=>r.getState().nodeLookup.get(g),u=g=>{s.nodeQueue.push(g)},f=g=>{s.edgeQueue.push(g)},m=g=>{const{nodeLookup:b,nodeOrigin:p}=r.getState(),w=dv(g)?g:b.get(g.id),S=w.parentId?sw(w.position,w.measured,w.parentId,b,p):w.position,T={...w,position:S,width:w.measured?.width??w.width,height:w.measured?.height??w.height};return Ql(T)},h=(g,b,p={replace:!1})=>{u(w=>w.map(S=>{if(S.id===g){const T=typeof b=="function"?b(S):b;return p.replace&&dv(T)?T:{...S,...T}}return S}))},x=(g,b,p={replace:!1})=>{f(w=>w.map(S=>{if(S.id===g){const T=typeof b=="function"?b(S):b;return p.replace&&mO(T)?T:{...S,...T}}return S}))};return{getNodes:()=>r.getState().nodes.map(g=>({...g})),getNode:g=>c(g)?.internals.userNode,getInternalNode:c,getEdges:()=>{const{edges:g=[]}=r.getState();return g.map(b=>({...b}))},getEdge:g=>r.getState().edgeLookup.get(g),setNodes:u,setEdges:f,addNodes:g=>{const b=Array.isArray(g)?g:[g];s.nodeQueue.push(p=>[...p,...b])},addEdges:g=>{const b=Array.isArray(g)?g:[g];s.edgeQueue.push(p=>[...p,...b])},toObject:()=>{const{nodes:g=[],edges:b=[],transform:p}=r.getState(),[w,S,T]=p;return{nodes:g.map(E=>({...E})),edges:b.map(E=>({...E})),viewport:{x:w,y:S,zoom:T}}},deleteElements:async({nodes:g=[],edges:b=[]})=>{const{nodes:p,edges:w,onNodesDelete:S,onEdgesDelete:T,triggerNodeChanges:E,triggerEdgeChanges:C,onDelete:N,onBeforeDelete:k}=r.getState(),{nodes:H,edges:M}=await UM({nodesToRemove:g,edgesToRemove:b,nodes:p,edges:w,onBeforeDelete:k}),Y=M.length>0,$=H.length>0;if(Y){const X=M.map(uv);T?.(M),C(X)}if($){const X=H.map(uv);S?.(H),E(X)}return($||Y)&&N?.({nodes:H,edges:M}),{deletedNodes:H,deletedEdges:M}},getIntersectingNodes:(g,b=!0,p)=>{const w=Iy(g),S=w?g:m(g),T=p!==void 0;return S?(p||r.getState().nodes).filter(E=>{const C=r.getState().nodeLookup.get(E.id);if(C&&!w&&(E.id===g.id||!C.internals.positionAbsolute))return!1;const N=Ql(T?E:C),k=So(N,S);return b&&k>0||k>=N.width*N.height||k>=S.width*S.height}):[]},isNodeIntersecting:(g,b,p=!0)=>{const S=Iy(g)?g:m(g);if(!S)return!1;const T=So(S,b);return p&&T>0||T>=b.width*b.height||T>=S.width*S.height},updateNode:h,updateNodeData:(g,b,p={replace:!1})=>{h(g,w=>{const S=typeof b=="function"?b(w):b;return p.replace?{...w,data:S}:{...w,data:{...w.data,...S}}},p)},updateEdge:x,updateEdgeData:(g,b,p={replace:!1})=>{x(g,w=>{const S=typeof b=="function"?b(w):b;return p.replace?{...w,data:S}:{...w,data:{...w.data,...S}}},p)},getNodesBounds:g=>{const{nodeLookup:b,nodeOrigin:p}=r.getState();return $M(g,{nodeLookup:b,nodeOrigin:p})},getHandleConnections:({type:g,id:b,nodeId:p})=>Array.from(r.getState().connectionLookup.get(`${p}-${g}${b?`-${b}`:""}`)?.values()??[]),getNodeConnections:({type:g,handleId:b,nodeId:p})=>Array.from(r.getState().connectionLookup.get(`${p}${g?b?`-${g}-${b}`:`-${g}`:""}`)?.values()??[]),fitView:async g=>{const b=r.getState().fitViewResolver??YM();return r.setState({fitViewQueued:!0,fitViewOptions:g,fitViewResolver:b}),s.nodeQueue.push(p=>[...p]),b.promise}}},[]);return j.useMemo(()=>({...o,...e,viewportInitialized:l}),[l])}const hv=e=>e.selected,vO=typeof window<"u"?window:void 0;function jO({deleteKeyCode:e,multiSelectionKeyCode:r}){const s=bn(),{deleteElements:l}=bx(),o=Eo(e,{actInsideInputWithModifier:!1}),c=Eo(r,{target:vO});j.useEffect(()=>{if(o){const{edges:u,nodes:f}=s.getState();l({nodes:f.filter(hv),edges:u.filter(hv)}),s.setState({nodesSelectionActive:!1})}},[o]),j.useEffect(()=>{s.setState({multiSelectionActive:c})},[c])}function wO(e){const r=bn();j.useEffect(()=>{const s=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;const l=fx(e.current);(l.height===0||l.width===0)&&r.getState().onError?.("004",hs.error004()),r.setState({width:l.width||500,height:l.height||500})};if(e.current){s(),window.addEventListener("resize",s);const l=new ResizeObserver(()=>s());return l.observe(e.current),()=>{window.removeEventListener("resize",s),l&&e.current&&l.unobserve(e.current)}}},[])}const td={position:"absolute",width:"100%",height:"100%",top:0,left:0},NO=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function kO({onPaneContextMenu:e,zoomOnScroll:r=!0,zoomOnPinch:s=!0,panOnScroll:l=!1,panOnScrollSpeed:o=.5,panOnScrollMode:c=Za.Free,zoomOnDoubleClick:u=!0,panOnDrag:f=!0,defaultViewport:m,translateExtent:h,minZoom:x,maxZoom:g,zoomActivationKeyCode:b,preventScrolling:p=!0,children:w,noWheelClassName:S,noPanClassName:T,onViewportChange:E,isControlledViewport:C,paneClickDistance:N,selectionOnDrag:k}){const H=bn(),M=j.useRef(null),{userSelectionActive:Y,lib:$,connectionInProgress:X}=Vt(NO,pn),P=Eo(b),U=j.useRef();wO(M);const V=j.useCallback(D=>{E?.({x:D[0],y:D[1],zoom:D[2]}),C||H.setState({transform:D})},[E,C]);return j.useEffect(()=>{if(M.current){U.current=AD({domNode:M.current,minZoom:x,maxZoom:g,translateExtent:h,viewport:m,onDraggingChange:_=>H.setState(G=>G.paneDragging===_?G:{paneDragging:_}),onPanZoomStart:(_,G)=>{const{onViewportChangeStart:q,onMoveStart:K}=H.getState();K?.(_,G),q?.(G)},onPanZoom:(_,G)=>{const{onViewportChange:q,onMove:K}=H.getState();K?.(_,G),q?.(G)},onPanZoomEnd:(_,G)=>{const{onViewportChangeEnd:q,onMoveEnd:K}=H.getState();K?.(_,G),q?.(G)}});const{x:D,y:A,zoom:I}=U.current.getViewport();return H.setState({panZoom:U.current,transform:[D,A,I],domNode:M.current.closest(".react-flow")}),()=>{U.current?.destroy()}}},[]),j.useEffect(()=>{U.current?.update({onPaneContextMenu:e,zoomOnScroll:r,zoomOnPinch:s,panOnScroll:l,panOnScrollSpeed:o,panOnScrollMode:c,zoomOnDoubleClick:u,panOnDrag:f,zoomActivationKeyPressed:P,preventScrolling:p,noPanClassName:T,userSelectionActive:Y,noWheelClassName:S,lib:$,onTransformChange:V,connectionInProgress:X,selectionOnDrag:k,paneClickDistance:N})},[e,r,s,l,o,c,u,f,P,p,T,Y,S,$,V,X,k,N]),t.jsx("div",{className:"react-flow__renderer",ref:M,style:td,children:w})}const SO=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function CO(){const{userSelectionActive:e,userSelectionRect:r}=Vt(SO,pn);return e&&r?t.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:r.width,height:r.height,transform:`translate(${r.x}px, ${r.y}px)`}}):null}const qh=(e,r)=>s=>{s.target===r.current&&e?.(s)},EO=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function TO({isSelecting:e,selectionKeyPressed:r,selectionMode:s=ko.Full,panOnDrag:l,paneClickDistance:o,selectionOnDrag:c,onSelectionStart:u,onSelectionEnd:f,onPaneClick:m,onPaneContextMenu:h,onPaneScroll:x,onPaneMouseEnter:g,onPaneMouseMove:b,onPaneMouseLeave:p,children:w}){const S=bn(),{userSelectionActive:T,elementsSelectable:E,dragging:C,connectionInProgress:N}=Vt(EO,pn),k=E&&(e||T),H=j.useRef(null),M=j.useRef(),Y=j.useRef(new Set),$=j.useRef(new Set),X=j.useRef(!1),P=q=>{if(X.current||N){X.current=!1;return}m?.(q),S.getState().resetSelectedElements(),S.setState({nodesSelectionActive:!1})},U=q=>{if(Array.isArray(l)&&l?.includes(2)){q.preventDefault();return}h?.(q)},V=x?q=>x(q):void 0,D=q=>{X.current&&(q.stopPropagation(),X.current=!1)},A=q=>{const{domNode:K}=S.getState();if(M.current=K?.getBoundingClientRect(),!M.current)return;const B=q.target===H.current;if(!B&&!!q.target.closest(".nokey")||!e||!(c&&B||r)||q.button!==0||!q.isPrimary)return;q.target?.setPointerCapture?.(q.pointerId),X.current=!1;const{x:z,y:L}=Wr(q.nativeEvent,M.current);S.setState({userSelectionRect:{width:0,height:0,startX:z,startY:L,x:z,y:L}}),B||(q.stopPropagation(),q.preventDefault())},I=q=>{const{userSelectionRect:K,transform:B,nodeLookup:R,edgeLookup:W,connectionLookup:z,triggerNodeChanges:L,triggerEdgeChanges:F,defaultEdgeOptions:Q,resetSelectedElements:ne}=S.getState();if(!M.current||!K)return;const{x:Z,y:ee}=Wr(q.nativeEvent,M.current),{startX:oe,startY:pe}=K;if(!X.current){const Xe=r?0:o;if(Math.hypot(Z-oe,ee-pe)<=Xe)return;ne(),u?.(q)}X.current=!0;const Se={startX:oe,startY:pe,x:Z<oe?Z:oe,y:ee<pe?ee:pe,width:Math.abs(Z-oe),height:Math.abs(ee-pe)},Re=Y.current,ze=$.current;Y.current=new Set(ux(R,Se,B,s===ko.Partial,!0).map(Xe=>Xe.id)),$.current=new Set;const Be=Q?.selectable??!0;for(const Xe of Y.current){const _e=z.get(Xe);if(_e)for(const{edgeId:Ye}of _e.values()){const ht=W.get(Ye);ht&&(ht.selectable??Be)&&$.current.add(Ye)}}if(!$y(Re,Y.current)){const Xe=Bl(R,Y.current,!0);L(Xe)}if(!$y(ze,$.current)){const Xe=Bl(W,$.current);F(Xe)}S.setState({userSelectionRect:Se,userSelectionActive:!0,nodesSelectionActive:!1})},_=q=>{q.button===0&&(q.target?.releasePointerCapture?.(q.pointerId),!T&&q.target===H.current&&S.getState().userSelectionRect&&P?.(q),S.setState({userSelectionActive:!1,userSelectionRect:null}),X.current&&(f?.(q),S.setState({nodesSelectionActive:Y.current.size>0})))},G=l===!0||Array.isArray(l)&&l.includes(0);return t.jsxs("div",{className:$n(["react-flow__pane",{draggable:G,dragging:C,selection:e}]),onClick:k?void 0:qh(P,H),onContextMenu:qh(U,H),onWheel:qh(V,H),onPointerEnter:k?void 0:g,onPointerMove:k?I:b,onPointerUp:k?_:void 0,onPointerDownCapture:k?A:void 0,onClickCapture:k?D:void 0,onPointerLeave:p,ref:H,style:td,children:[w,t.jsx(CO,{})]})}function Sm({id:e,store:r,unselect:s=!1,nodeRef:l}){const{addSelectedNodes:o,unselectNodesAndEdges:c,multiSelectionActive:u,nodeLookup:f,onError:m}=r.getState(),h=f.get(e);if(!h){m?.("012",hs.error012(e));return}r.setState({nodesSelectionActive:!1}),h.selected?(s||h.selected&&u)&&(c({nodes:[h],edges:[]}),requestAnimationFrame(()=>l?.current?.blur())):o([e])}function Ow({nodeRef:e,disabled:r=!1,noDragClassName:s,handleSelector:l,nodeId:o,isSelectable:c,nodeClickDistance:u}){const f=bn(),[m,h]=j.useState(!1),x=j.useRef();return j.useEffect(()=>{x.current=xD({getStoreItems:()=>f.getState(),onNodeMouseDown:g=>{Sm({id:g,store:f,nodeRef:e})},onDragStart:()=>{h(!0)},onDragStop:()=>{h(!1)}})},[]),j.useEffect(()=>{if(!(r||!e.current||!x.current))return x.current.update({noDragClassName:s,handleSelector:l,domNode:e.current,isSelectable:c,nodeId:o,nodeClickDistance:u}),()=>{x.current?.destroy()}},[s,l,r,c,e,o,u]),m}const AO=e=>r=>r.selected&&(r.draggable||e&&typeof r.draggable>"u");function Rw(){const e=bn();return j.useCallback(s=>{const{nodeExtent:l,snapToGrid:o,snapGrid:c,nodesDraggable:u,onError:f,updateNodePositions:m,nodeLookup:h,nodeOrigin:x}=e.getState(),g=new Map,b=AO(u),p=o?c[0]:5,w=o?c[1]:5,S=s.direction.x*p*s.factor,T=s.direction.y*w*s.factor;for(const[,E]of h){if(!b(E))continue;let C={x:E.internals.positionAbsolute.x+S,y:E.internals.positionAbsolute.y+T};o&&(C=Io(C,c));const{position:N,positionAbsolute:k}=Wj({nodeId:E.id,nextPosition:C,nodeLookup:h,nodeExtent:l,nodeOrigin:x,onError:f});E.position=N,E.internals.positionAbsolute=k,g.set(E.id,E)}m(g)},[])}const yx=j.createContext(null),_O=yx.Provider;yx.Consumer;const zw=()=>j.useContext(yx),MO=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),DO=(e,r,s)=>l=>{const{connectionClickStartHandle:o,connectionMode:c,connection:u}=l,{fromHandle:f,toHandle:m,isValid:h}=u,x=m?.nodeId===e&&m?.id===r&&m?.type===s;return{connectingFrom:f?.nodeId===e&&f?.id===r&&f?.type===s,connectingTo:x,clickConnecting:o?.nodeId===e&&o?.id===r&&o?.type===s,isPossibleEndHandle:c===Gl.Strict?f?.type!==s:e!==f?.nodeId||r!==f?.id,connectionInProcess:!!f,clickConnectionInProcess:!!o,valid:x&&h}};function OO({type:e="source",position:r=tt.Top,isValidConnection:s,isConnectable:l=!0,isConnectableStart:o=!0,isConnectableEnd:c=!0,id:u,onConnect:f,children:m,className:h,onMouseDown:x,onTouchStart:g,...b},p){const w=u||null,S=e==="target",T=bn(),E=zw(),{connectOnClick:C,noPanClassName:N,rfId:k}=Vt(MO,pn),{connectingFrom:H,connectingTo:M,clickConnecting:Y,isPossibleEndHandle:$,connectionInProcess:X,clickConnectionInProcess:P,valid:U}=Vt(DO(E,w,e),pn);E||T.getState().onError?.("010",hs.error010());const V=I=>{const{defaultEdgeOptions:_,onConnect:G,hasDefaultEdges:q}=T.getState(),K={..._,...I};if(q){const{edges:B,setEdges:R}=T.getState();R(WM(K,B))}G?.(K),f?.(K)},D=I=>{if(!E)return;const _=iw(I.nativeEvent);if(o&&(_&&I.button===0||!_)){const G=T.getState();km.onPointerDown(I.nativeEvent,{handleDomNode:I.currentTarget,autoPanOnConnect:G.autoPanOnConnect,connectionMode:G.connectionMode,connectionRadius:G.connectionRadius,domNode:G.domNode,nodeLookup:G.nodeLookup,lib:G.lib,isTarget:S,handleId:w,nodeId:E,flowId:G.rfId,panBy:G.panBy,cancelConnection:G.cancelConnection,onConnectStart:G.onConnectStart,onConnectEnd:(...q)=>T.getState().onConnectEnd?.(...q),updateConnection:G.updateConnection,onConnect:V,isValidConnection:s||((...q)=>T.getState().isValidConnection?.(...q)??!0),getTransform:()=>T.getState().transform,getFromHandle:()=>T.getState().connection.fromHandle,autoPanSpeed:G.autoPanSpeed,dragThreshold:G.connectionDragThreshold})}_?x?.(I):g?.(I)},A=I=>{const{onClickConnectStart:_,onClickConnectEnd:G,connectionClickStartHandle:q,connectionMode:K,isValidConnection:B,lib:R,rfId:W,nodeLookup:z,connection:L}=T.getState();if(!E||!q&&!o)return;if(!q){_?.(I.nativeEvent,{nodeId:E,handleId:w,handleType:e}),T.setState({connectionClickStartHandle:{nodeId:E,type:e,id:w}});return}const F=aw(I.target),Q=s||B,{connection:ne,isValid:Z}=km.isValid(I.nativeEvent,{handle:{nodeId:E,id:w,type:e},connectionMode:K,fromNodeId:q.nodeId,fromHandleId:q.id||null,fromType:q.type,isValidConnection:Q,flowId:W,doc:F,lib:R,nodeLookup:z});Z&&ne&&V(ne);const ee=structuredClone(L);delete ee.inProgress,ee.toPosition=ee.toHandle?ee.toHandle.position:null,G?.(I,ee),T.setState({connectionClickStartHandle:null})};return t.jsx("div",{"data-handleid":w,"data-nodeid":E,"data-handlepos":r,"data-id":`${k}-${E}-${w}-${e}`,className:$n(["react-flow__handle",`react-flow__handle-${r}`,"nodrag",N,h,{source:!S,target:S,connectable:l,connectablestart:o,connectableend:c,clickconnecting:Y,connectingfrom:H,connectingto:M,valid:U,connectionindicator:l&&(!X||$)&&(X||P?c:o)}]),onMouseDown:D,onTouchStart:D,onClick:C?A:void 0,ref:p,...b,children:m})}const wa=j.memo(Mw(OO));function RO({data:e,isConnectable:r,sourcePosition:s=tt.Bottom}){return t.jsxs(t.Fragment,{children:[e?.label,t.jsx(wa,{type:"source",position:s,isConnectable:r})]})}function zO({data:e,isConnectable:r,targetPosition:s=tt.Top,sourcePosition:l=tt.Bottom}){return t.jsxs(t.Fragment,{children:[t.jsx(wa,{type:"target",position:s,isConnectable:r}),e?.label,t.jsx(wa,{type:"source",position:l,isConnectable:r})]})}function LO(){return null}function IO({data:e,isConnectable:r,targetPosition:s=tt.Top}){return t.jsxs(t.Fragment,{children:[t.jsx(wa,{type:"target",position:s,isConnectable:r}),e?.label]})}const zu={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},mv={input:RO,default:zO,output:IO,group:LO};function $O(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}const BO=e=>{const{width:r,height:s,x:l,y:o}=Lo(e.nodeLookup,{filter:c=>!!c.selected});return{width:Jr(r)?r:null,height:Jr(s)?s:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${l}px,${o}px)`}};function HO({onSelectionContextMenu:e,noPanClassName:r,disableKeyboardA11y:s}){const l=bn(),{width:o,height:c,transformString:u,userSelectionActive:f}=Vt(BO,pn),m=Rw(),h=j.useRef(null);j.useEffect(()=>{s||h.current?.focus({preventScroll:!0})},[s]);const x=!f&&o!==null&&c!==null;if(Ow({nodeRef:h,disabled:!x}),!x)return null;const g=e?p=>{const w=l.getState().nodes.filter(S=>S.selected);e(p,w)}:void 0,b=p=>{Object.prototype.hasOwnProperty.call(zu,p.key)&&(p.preventDefault(),m({direction:zu[p.key],factor:p.shiftKey?4:1}))};return t.jsx("div",{className:$n(["react-flow__nodesselection","react-flow__container",r]),style:{transform:u},children:t.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:g,tabIndex:s?void 0:-1,onKeyDown:s?void 0:b,style:{width:o,height:c}})})}const xv=typeof window<"u"?window:void 0,PO=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Lw({children:e,onPaneClick:r,onPaneMouseEnter:s,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:c,onPaneScroll:u,paneClickDistance:f,deleteKeyCode:m,selectionKeyCode:h,selectionOnDrag:x,selectionMode:g,onSelectionStart:b,onSelectionEnd:p,multiSelectionKeyCode:w,panActivationKeyCode:S,zoomActivationKeyCode:T,elementsSelectable:E,zoomOnScroll:C,zoomOnPinch:N,panOnScroll:k,panOnScrollSpeed:H,panOnScrollMode:M,zoomOnDoubleClick:Y,panOnDrag:$,defaultViewport:X,translateExtent:P,minZoom:U,maxZoom:V,preventScrolling:D,onSelectionContextMenu:A,noWheelClassName:I,noPanClassName:_,disableKeyboardA11y:G,onViewportChange:q,isControlledViewport:K}){const{nodesSelectionActive:B,userSelectionActive:R}=Vt(PO,pn),W=Eo(h,{target:xv}),z=Eo(S,{target:xv}),L=z||$,F=z||k,Q=x&&L!==!0,ne=W||R||Q;return jO({deleteKeyCode:m,multiSelectionKeyCode:w}),t.jsx(kO,{onPaneContextMenu:c,elementsSelectable:E,zoomOnScroll:C,zoomOnPinch:N,panOnScroll:F,panOnScrollSpeed:H,panOnScrollMode:M,zoomOnDoubleClick:Y,panOnDrag:!W&&L,defaultViewport:X,translateExtent:P,minZoom:U,maxZoom:V,zoomActivationKeyCode:T,preventScrolling:D,noWheelClassName:I,noPanClassName:_,onViewportChange:q,isControlledViewport:K,paneClickDistance:f,selectionOnDrag:Q,children:t.jsxs(TO,{onSelectionStart:b,onSelectionEnd:p,onPaneClick:r,onPaneMouseEnter:s,onPaneMouseMove:l,onPaneMouseLeave:o,onPaneContextMenu:c,onPaneScroll:u,panOnDrag:L,isSelecting:!!ne,selectionMode:g,selectionKeyPressed:W,paneClickDistance:f,selectionOnDrag:Q,children:[e,B&&t.jsx(HO,{onSelectionContextMenu:A,noPanClassName:_,disableKeyboardA11y:G})]})})}Lw.displayName="FlowRenderer";const UO=j.memo(Lw),qO=e=>r=>e?ux(r.nodeLookup,{x:0,y:0,width:r.width,height:r.height},r.transform,!0).map(s=>s.id):Array.from(r.nodeLookup.keys());function VO(e){return Vt(j.useCallback(qO(e),[e]),pn)}const FO=e=>e.updateNodeInternals;function YO(){const e=Vt(FO),[r]=j.useState(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(s=>{const l=new Map;s.forEach(o=>{const c=o.target.getAttribute("data-id");l.set(c,{id:c,nodeElement:o.target,force:!0})}),e(l)}));return j.useEffect(()=>()=>{r?.disconnect()},[r]),r}function GO({node:e,nodeType:r,hasDimensions:s,resizeObserver:l}){const o=bn(),c=j.useRef(null),u=j.useRef(null),f=j.useRef(e.sourcePosition),m=j.useRef(e.targetPosition),h=j.useRef(r),x=s&&!!e.internals.handleBounds;return j.useEffect(()=>{c.current&&!e.hidden&&(!x||u.current!==c.current)&&(u.current&&l?.unobserve(u.current),l?.observe(c.current),u.current=c.current)},[x,e.hidden]),j.useEffect(()=>()=>{u.current&&(l?.unobserve(u.current),u.current=null)},[]),j.useEffect(()=>{if(c.current){const g=h.current!==r,b=f.current!==e.sourcePosition,p=m.current!==e.targetPosition;(g||b||p)&&(h.current=r,f.current=e.sourcePosition,m.current=e.targetPosition,o.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:c.current,force:!0}]])))}},[e.id,r,e.sourcePosition,e.targetPosition]),c}function XO({id:e,onClick:r,onMouseEnter:s,onMouseMove:l,onMouseLeave:o,onContextMenu:c,onDoubleClick:u,nodesDraggable:f,elementsSelectable:m,nodesConnectable:h,nodesFocusable:x,resizeObserver:g,noDragClassName:b,noPanClassName:p,disableKeyboardA11y:w,rfId:S,nodeTypes:T,nodeClickDistance:E,onError:C}){const{node:N,internals:k,isParent:H}=Vt(Z=>{const ee=Z.nodeLookup.get(e),oe=Z.parentLookup.has(e);return{node:ee,internals:ee.internals,isParent:oe}},pn);let M=N.type||"default",Y=T?.[M]||mv[M];Y===void 0&&(C?.("003",hs.error003(M)),M="default",Y=T?.default||mv.default);const $=!!(N.draggable||f&&typeof N.draggable>"u"),X=!!(N.selectable||m&&typeof N.selectable>"u"),P=!!(N.connectable||h&&typeof N.connectable>"u"),U=!!(N.focusable||x&&typeof N.focusable>"u"),V=bn(),D=rw(N),A=GO({node:N,nodeType:M,hasDimensions:D,resizeObserver:g}),I=Ow({nodeRef:A,disabled:N.hidden||!$,noDragClassName:b,handleSelector:N.dragHandle,nodeId:e,isSelectable:X,nodeClickDistance:E}),_=Rw();if(N.hidden)return null;const G=Hs(N),q=$O(N),K=X||$||r||s||l||o,B=s?Z=>s(Z,{...k.userNode}):void 0,R=l?Z=>l(Z,{...k.userNode}):void 0,W=o?Z=>o(Z,{...k.userNode}):void 0,z=c?Z=>c(Z,{...k.userNode}):void 0,L=u?Z=>u(Z,{...k.userNode}):void 0,F=Z=>{const{selectNodesOnDrag:ee,nodeDragThreshold:oe}=V.getState();X&&(!ee||!$||oe>0)&&Sm({id:e,store:V,nodeRef:A}),r&&r(Z,{...k.userNode})},Q=Z=>{if(!(lw(Z.nativeEvent)||w)){if(Xj.includes(Z.key)&&X){const ee=Z.key==="Escape";Sm({id:e,store:V,unselect:ee,nodeRef:A})}else if($&&N.selected&&Object.prototype.hasOwnProperty.call(zu,Z.key)){Z.preventDefault();const{ariaLabelConfig:ee}=V.getState();V.setState({ariaLiveMessage:ee["node.a11yDescription.ariaLiveMessage"]({direction:Z.key.replace("Arrow","").toLowerCase(),x:~~k.positionAbsolute.x,y:~~k.positionAbsolute.y})}),_({direction:zu[Z.key],factor:Z.shiftKey?4:1})}}},ne=()=>{if(w||!A.current?.matches(":focus-visible"))return;const{transform:Z,width:ee,height:oe,autoPanOnNodeFocus:pe,setCenter:Se}=V.getState();if(!pe)return;ux(new Map([[e,N]]),{x:0,y:0,width:ee,height:oe},Z,!0).length>0||Se(N.position.x+G.width/2,N.position.y+G.height/2,{zoom:Z[2]})};return t.jsx("div",{className:$n(["react-flow__node",`react-flow__node-${M}`,{[p]:$},N.className,{selected:N.selected,selectable:X,parent:H,draggable:$,dragging:I}]),ref:A,style:{zIndex:k.z,transform:`translate(${k.positionAbsolute.x}px,${k.positionAbsolute.y}px)`,pointerEvents:K?"all":"none",visibility:D?"visible":"hidden",...N.style,...q},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:B,onMouseMove:R,onMouseLeave:W,onContextMenu:z,onClick:F,onDoubleClick:L,onKeyDown:U?Q:void 0,tabIndex:U?0:void 0,onFocus:U?ne:void 0,role:N.ariaRole??(U?"group":void 0),"aria-roledescription":"node","aria-describedby":w?void 0:`${Sw}-${S}`,"aria-label":N.ariaLabel,...N.domAttributes,children:t.jsx(_O,{value:e,children:t.jsx(Y,{id:e,data:N.data,type:M,positionAbsoluteX:k.positionAbsolute.x,positionAbsoluteY:k.positionAbsolute.y,selected:N.selected??!1,selectable:X,draggable:$,deletable:N.deletable??!0,isConnectable:P,sourcePosition:N.sourcePosition,targetPosition:N.targetPosition,dragging:I,dragHandle:N.dragHandle,zIndex:k.z,parentId:N.parentId,...G})})})}var ZO=j.memo(XO);const QO=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Iw(e){const{nodesDraggable:r,nodesConnectable:s,nodesFocusable:l,elementsSelectable:o,onError:c}=Vt(QO,pn),u=VO(e.onlyRenderVisibleElements),f=YO();return t.jsx("div",{className:"react-flow__nodes",style:td,children:u.map(m=>t.jsx(ZO,{id:m,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:f,nodesDraggable:r,nodesConnectable:s,nodesFocusable:l,elementsSelectable:o,nodeClickDistance:e.nodeClickDistance,onError:c},m))})}Iw.displayName="NodeRenderer";const KO=j.memo(Iw);function JO(e){return Vt(j.useCallback(s=>{if(!e)return s.edges.map(o=>o.id);const l=[];if(s.width&&s.height)for(const o of s.edges){const c=s.nodeLookup.get(o.source),u=s.nodeLookup.get(o.target);c&&u&&QM({sourceNode:c,targetNode:u,width:s.width,height:s.height,transform:s.transform})&&l.push(o.id)}return l},[e]),pn)}const WO=({color:e="none",strokeWidth:r=1})=>{const s={strokeWidth:r,...e&&{stroke:e}};return t.jsx("polyline",{className:"arrow",style:s,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},eR=({color:e="none",strokeWidth:r=1})=>{const s={strokeWidth:r,...e&&{stroke:e,fill:e}};return t.jsx("polyline",{className:"arrowclosed",style:s,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},gv={[Xl.Arrow]:WO,[Xl.ArrowClosed]:eR};function tR(e){const r=bn();return j.useMemo(()=>Object.prototype.hasOwnProperty.call(gv,e)?gv[e]:(r.getState().onError?.("009",hs.error009(e)),null),[e])}const nR=({id:e,type:r,color:s,width:l=12.5,height:o=12.5,markerUnits:c="strokeWidth",strokeWidth:u,orient:f="auto-start-reverse"})=>{const m=tR(r);return m?t.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${l}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:c,orient:f,refX:"0",refY:"0",children:t.jsx(m,{color:s,strokeWidth:u})}):null},$w=({defaultColor:e,rfId:r})=>{const s=Vt(c=>c.edges),l=Vt(c=>c.defaultEdgeOptions),o=j.useMemo(()=>sD(s,{id:r,defaultColor:e,defaultMarkerStart:l?.markerStart,defaultMarkerEnd:l?.markerEnd}),[s,l,r,e]);return o.length?t.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:t.jsx("defs",{children:o.map(c=>t.jsx(nR,{id:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,strokeWidth:c.strokeWidth,orient:c.orient},c.id))})}):null};$w.displayName="MarkerDefinitions";var rR=j.memo($w);function Bw({x:e,y:r,label:s,labelStyle:l,labelShowBg:o=!0,labelBgStyle:c,labelBgPadding:u=[2,4],labelBgBorderRadius:f=2,children:m,className:h,...x}){const[g,b]=j.useState({x:1,y:0,width:0,height:0}),p=$n(["react-flow__edge-textwrapper",h]),w=j.useRef(null);return j.useEffect(()=>{if(w.current){const S=w.current.getBBox();b({x:S.x,y:S.y,width:S.width,height:S.height})}},[s]),s?t.jsxs("g",{transform:`translate(${e-g.width/2} ${r-g.height/2})`,className:p,visibility:g.width?"visible":"hidden",...x,children:[o&&t.jsx("rect",{width:g.width+2*u[0],x:-u[0],y:-u[1],height:g.height+2*u[1],className:"react-flow__edge-textbg",style:c,rx:f,ry:f}),t.jsx("text",{className:"react-flow__edge-text",y:g.height/2,dy:"0.3em",ref:w,style:l,children:s}),m]}):null}Bw.displayName="EdgeText";const sR=j.memo(Bw);function nd({path:e,labelX:r,labelY:s,label:l,labelStyle:o,labelShowBg:c,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:m,interactionWidth:h=20,...x}){return t.jsxs(t.Fragment,{children:[t.jsx("path",{...x,d:e,fill:"none",className:$n(["react-flow__edge-path",x.className])}),h?t.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}):null,l&&Jr(r)&&Jr(s)?t.jsx(sR,{x:r,y:s,label:l,labelStyle:o,labelShowBg:c,labelBgStyle:u,labelBgPadding:f,labelBgBorderRadius:m}):null]})}function pv({pos:e,x1:r,y1:s,x2:l,y2:o}){return e===tt.Left||e===tt.Right?[.5*(r+l),s]:[r,.5*(s+o)]}function Hw({sourceX:e,sourceY:r,sourcePosition:s=tt.Bottom,targetX:l,targetY:o,targetPosition:c=tt.Top}){const[u,f]=pv({pos:s,x1:e,y1:r,x2:l,y2:o}),[m,h]=pv({pos:c,x1:l,y1:o,x2:e,y2:r}),[x,g,b,p]=ow({sourceX:e,sourceY:r,targetX:l,targetY:o,sourceControlX:u,sourceControlY:f,targetControlX:m,targetControlY:h});return[`M${e},${r} C${u},${f} ${m},${h} ${l},${o}`,x,g,b,p]}function Pw(e){return j.memo(({id:r,sourceX:s,sourceY:l,targetX:o,targetY:c,sourcePosition:u,targetPosition:f,label:m,labelStyle:h,labelShowBg:x,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:p,style:w,markerEnd:S,markerStart:T,interactionWidth:E})=>{const[C,N,k]=Hw({sourceX:s,sourceY:l,sourcePosition:u,targetX:o,targetY:c,targetPosition:f}),H=e.isInternal?void 0:r;return t.jsx(nd,{id:H,path:C,labelX:N,labelY:k,label:m,labelStyle:h,labelShowBg:x,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:p,style:w,markerEnd:S,markerStart:T,interactionWidth:E})})}const aR=Pw({isInternal:!1}),Uw=Pw({isInternal:!0});aR.displayName="SimpleBezierEdge";Uw.displayName="SimpleBezierEdgeInternal";function qw(e){return j.memo(({id:r,sourceX:s,sourceY:l,targetX:o,targetY:c,label:u,labelStyle:f,labelShowBg:m,labelBgStyle:h,labelBgPadding:x,labelBgBorderRadius:g,style:b,sourcePosition:p=tt.Bottom,targetPosition:w=tt.Top,markerEnd:S,markerStart:T,pathOptions:E,interactionWidth:C})=>{const[N,k,H]=jm({sourceX:s,sourceY:l,sourcePosition:p,targetX:o,targetY:c,targetPosition:w,borderRadius:E?.borderRadius,offset:E?.offset,stepPosition:E?.stepPosition}),M=e.isInternal?void 0:r;return t.jsx(nd,{id:M,path:N,labelX:k,labelY:H,label:u,labelStyle:f,labelShowBg:m,labelBgStyle:h,labelBgPadding:x,labelBgBorderRadius:g,style:b,markerEnd:S,markerStart:T,interactionWidth:C})})}const Vw=qw({isInternal:!1}),Fw=qw({isInternal:!0});Vw.displayName="SmoothStepEdge";Fw.displayName="SmoothStepEdgeInternal";function Yw(e){return j.memo(({id:r,...s})=>{const l=e.isInternal?void 0:r;return t.jsx(Vw,{...s,id:l,pathOptions:j.useMemo(()=>({borderRadius:0,offset:s.pathOptions?.offset}),[s.pathOptions?.offset])})})}const lR=Yw({isInternal:!1}),Gw=Yw({isInternal:!0});lR.displayName="StepEdge";Gw.displayName="StepEdgeInternal";function Xw(e){return j.memo(({id:r,sourceX:s,sourceY:l,targetX:o,targetY:c,label:u,labelStyle:f,labelShowBg:m,labelBgStyle:h,labelBgPadding:x,labelBgBorderRadius:g,style:b,markerEnd:p,markerStart:w,interactionWidth:S})=>{const[T,E,C]=dw({sourceX:s,sourceY:l,targetX:o,targetY:c}),N=e.isInternal?void 0:r;return t.jsx(nd,{id:N,path:T,labelX:E,labelY:C,label:u,labelStyle:f,labelShowBg:m,labelBgStyle:h,labelBgPadding:x,labelBgBorderRadius:g,style:b,markerEnd:p,markerStart:w,interactionWidth:S})})}const iR=Xw({isInternal:!1}),Zw=Xw({isInternal:!0});iR.displayName="StraightEdge";Zw.displayName="StraightEdgeInternal";function Qw(e){return j.memo(({id:r,sourceX:s,sourceY:l,targetX:o,targetY:c,sourcePosition:u=tt.Bottom,targetPosition:f=tt.Top,label:m,labelStyle:h,labelShowBg:x,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:p,style:w,markerEnd:S,markerStart:T,pathOptions:E,interactionWidth:C})=>{const[N,k,H]=cw({sourceX:s,sourceY:l,sourcePosition:u,targetX:o,targetY:c,targetPosition:f,curvature:E?.curvature}),M=e.isInternal?void 0:r;return t.jsx(nd,{id:M,path:N,labelX:k,labelY:H,label:m,labelStyle:h,labelShowBg:x,labelBgStyle:g,labelBgPadding:b,labelBgBorderRadius:p,style:w,markerEnd:S,markerStart:T,interactionWidth:C})})}const oR=Qw({isInternal:!1}),Kw=Qw({isInternal:!0});oR.displayName="BezierEdge";Kw.displayName="BezierEdgeInternal";const bv={default:Kw,straight:Zw,step:Gw,smoothstep:Fw,simplebezier:Uw},yv={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},cR=(e,r,s)=>s===tt.Left?e-r:s===tt.Right?e+r:e,uR=(e,r,s)=>s===tt.Top?e-r:s===tt.Bottom?e+r:e,vv="react-flow__edgeupdater";function jv({position:e,centerX:r,centerY:s,radius:l=10,onMouseDown:o,onMouseEnter:c,onMouseOut:u,type:f}){return t.jsx("circle",{onMouseDown:o,onMouseEnter:c,onMouseOut:u,className:$n([vv,`${vv}-${f}`]),cx:cR(r,l,e),cy:uR(s,l,e),r:l,stroke:"transparent",fill:"transparent"})}function dR({isReconnectable:e,reconnectRadius:r,edge:s,sourceX:l,sourceY:o,targetX:c,targetY:u,sourcePosition:f,targetPosition:m,onReconnect:h,onReconnectStart:x,onReconnectEnd:g,setReconnecting:b,setUpdateHover:p}){const w=bn(),S=(k,H)=>{if(k.button!==0)return;const{autoPanOnConnect:M,domNode:Y,connectionMode:$,connectionRadius:X,lib:P,onConnectStart:U,cancelConnection:V,nodeLookup:D,rfId:A,panBy:I,updateConnection:_}=w.getState(),G=H.type==="target",q=(R,W)=>{b(!1),g?.(R,s,H.type,W)},K=R=>h?.(s,R),B=(R,W)=>{b(!0),x?.(k,s,H.type),U?.(R,W)};km.onPointerDown(k.nativeEvent,{autoPanOnConnect:M,connectionMode:$,connectionRadius:X,domNode:Y,handleId:H.id,nodeId:H.nodeId,nodeLookup:D,isTarget:G,edgeUpdaterType:H.type,lib:P,flowId:A,cancelConnection:V,panBy:I,isValidConnection:(...R)=>w.getState().isValidConnection?.(...R)??!0,onConnect:K,onConnectStart:B,onConnectEnd:(...R)=>w.getState().onConnectEnd?.(...R),onReconnectEnd:q,updateConnection:_,getTransform:()=>w.getState().transform,getFromHandle:()=>w.getState().connection.fromHandle,dragThreshold:w.getState().connectionDragThreshold,handleDomNode:k.currentTarget})},T=k=>S(k,{nodeId:s.target,id:s.targetHandle??null,type:"target"}),E=k=>S(k,{nodeId:s.source,id:s.sourceHandle??null,type:"source"}),C=()=>p(!0),N=()=>p(!1);return t.jsxs(t.Fragment,{children:[(e===!0||e==="source")&&t.jsx(jv,{position:f,centerX:l,centerY:o,radius:r,onMouseDown:T,onMouseEnter:C,onMouseOut:N,type:"source"}),(e===!0||e==="target")&&t.jsx(jv,{position:m,centerX:c,centerY:u,radius:r,onMouseDown:E,onMouseEnter:C,onMouseOut:N,type:"target"})]})}function fR({id:e,edgesFocusable:r,edgesReconnectable:s,elementsSelectable:l,onClick:o,onDoubleClick:c,onContextMenu:u,onMouseEnter:f,onMouseMove:m,onMouseLeave:h,reconnectRadius:x,onReconnect:g,onReconnectStart:b,onReconnectEnd:p,rfId:w,edgeTypes:S,noPanClassName:T,onError:E,disableKeyboardA11y:C}){let N=Vt(Se=>Se.edgeLookup.get(e));const k=Vt(Se=>Se.defaultEdgeOptions);N=k?{...k,...N}:N;let H=N.type||"default",M=S?.[H]||bv[H];M===void 0&&(E?.("011",hs.error011(H)),H="default",M=S?.default||bv.default);const Y=!!(N.focusable||r&&typeof N.focusable>"u"),$=typeof g<"u"&&(N.reconnectable||s&&typeof N.reconnectable>"u"),X=!!(N.selectable||l&&typeof N.selectable>"u"),P=j.useRef(null),[U,V]=j.useState(!1),[D,A]=j.useState(!1),I=bn(),{zIndex:_,sourceX:G,sourceY:q,targetX:K,targetY:B,sourcePosition:R,targetPosition:W}=Vt(j.useCallback(Se=>{const Re=Se.nodeLookup.get(N.source),ze=Se.nodeLookup.get(N.target);if(!Re||!ze)return{zIndex:N.zIndex,...yv};const Be=rD({id:e,sourceNode:Re,targetNode:ze,sourceHandle:N.sourceHandle||null,targetHandle:N.targetHandle||null,connectionMode:Se.connectionMode,onError:E});return{zIndex:ZM({selected:N.selected,zIndex:N.zIndex,sourceNode:Re,targetNode:ze,elevateOnSelect:Se.elevateEdgesOnSelect,zIndexMode:Se.zIndexMode}),...Be||yv}},[N.source,N.target,N.sourceHandle,N.targetHandle,N.selected,N.zIndex]),pn),z=j.useMemo(()=>N.markerStart?`url('#${wm(N.markerStart,w)}')`:void 0,[N.markerStart,w]),L=j.useMemo(()=>N.markerEnd?`url('#${wm(N.markerEnd,w)}')`:void 0,[N.markerEnd,w]);if(N.hidden||G===null||q===null||K===null||B===null)return null;const F=Se=>{const{addSelectedEdges:Re,unselectNodesAndEdges:ze,multiSelectionActive:Be}=I.getState();X&&(I.setState({nodesSelectionActive:!1}),N.selected&&Be?(ze({nodes:[],edges:[N]}),P.current?.blur()):Re([e])),o&&o(Se,N)},Q=c?Se=>{c(Se,{...N})}:void 0,ne=u?Se=>{u(Se,{...N})}:void 0,Z=f?Se=>{f(Se,{...N})}:void 0,ee=m?Se=>{m(Se,{...N})}:void 0,oe=h?Se=>{h(Se,{...N})}:void 0,pe=Se=>{if(!C&&Xj.includes(Se.key)&&X){const{unselectNodesAndEdges:Re,addSelectedEdges:ze}=I.getState();Se.key==="Escape"?(P.current?.blur(),Re({edges:[N]})):ze([e])}};return t.jsx("svg",{style:{zIndex:_},children:t.jsxs("g",{className:$n(["react-flow__edge",`react-flow__edge-${H}`,N.className,T,{selected:N.selected,animated:N.animated,inactive:!X&&!o,updating:U,selectable:X}]),onClick:F,onDoubleClick:Q,onContextMenu:ne,onMouseEnter:Z,onMouseMove:ee,onMouseLeave:oe,onKeyDown:Y?pe:void 0,tabIndex:Y?0:void 0,role:N.ariaRole??(Y?"group":"img"),"aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":N.ariaLabel===null?void 0:N.ariaLabel||`Edge from ${N.source} to ${N.target}`,"aria-describedby":Y?`${Cw}-${w}`:void 0,ref:P,...N.domAttributes,children:[!D&&t.jsx(M,{id:e,source:N.source,target:N.target,type:N.type,selected:N.selected,animated:N.animated,selectable:X,deletable:N.deletable??!0,label:N.label,labelStyle:N.labelStyle,labelShowBg:N.labelShowBg,labelBgStyle:N.labelBgStyle,labelBgPadding:N.labelBgPadding,labelBgBorderRadius:N.labelBgBorderRadius,sourceX:G,sourceY:q,targetX:K,targetY:B,sourcePosition:R,targetPosition:W,data:N.data,style:N.style,sourceHandleId:N.sourceHandle,targetHandleId:N.targetHandle,markerStart:z,markerEnd:L,pathOptions:"pathOptions"in N?N.pathOptions:void 0,interactionWidth:N.interactionWidth}),$&&t.jsx(dR,{edge:N,isReconnectable:$,reconnectRadius:x,onReconnect:g,onReconnectStart:b,onReconnectEnd:p,sourceX:G,sourceY:q,targetX:K,targetY:B,sourcePosition:R,targetPosition:W,setUpdateHover:V,setReconnecting:A})]})})}var hR=j.memo(fR);const mR=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Jw({defaultMarkerColor:e,onlyRenderVisibleElements:r,rfId:s,edgeTypes:l,noPanClassName:o,onReconnect:c,onEdgeContextMenu:u,onEdgeMouseEnter:f,onEdgeMouseMove:m,onEdgeMouseLeave:h,onEdgeClick:x,reconnectRadius:g,onEdgeDoubleClick:b,onReconnectStart:p,onReconnectEnd:w,disableKeyboardA11y:S}){const{edgesFocusable:T,edgesReconnectable:E,elementsSelectable:C,onError:N}=Vt(mR,pn),k=JO(r);return t.jsxs("div",{className:"react-flow__edges",children:[t.jsx(rR,{defaultColor:e,rfId:s}),k.map(H=>t.jsx(hR,{id:H,edgesFocusable:T,edgesReconnectable:E,elementsSelectable:C,noPanClassName:o,onReconnect:c,onContextMenu:u,onMouseEnter:f,onMouseMove:m,onMouseLeave:h,onClick:x,reconnectRadius:g,onDoubleClick:b,onReconnectStart:p,onReconnectEnd:w,rfId:s,onError:N,edgeTypes:l,disableKeyboardA11y:S},H))]})}Jw.displayName="EdgeRenderer";const xR=j.memo(Jw),gR=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function pR({children:e}){const r=Vt(gR);return t.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:r},children:e})}function bR(e){const r=bx(),s=j.useRef(!1);j.useEffect(()=>{!s.current&&r.viewportInitialized&&e&&(setTimeout(()=>e(r),1),s.current=!0)},[e,r.viewportInitialized])}const yR=e=>e.panZoom?.syncViewport;function vR(e){const r=Vt(yR),s=bn();return j.useEffect(()=>{e&&(r?.(e),s.setState({transform:[e.x,e.y,e.zoom]}))},[e,r]),null}function jR(e){return e.connection.inProgress?{...e.connection,to:$o(e.connection.to,e.transform)}:{...e.connection}}function wR(e){return jR}function NR(e){const r=wR();return Vt(r,pn)}const kR=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function SR({containerStyle:e,style:r,type:s,component:l}){const{nodesConnectable:o,width:c,height:u,isValid:f,inProgress:m}=Vt(kR,pn);return!(c&&o&&m)?null:t.jsx("svg",{style:e,width:c,height:u,className:"react-flow__connectionline react-flow__container",children:t.jsx("g",{className:$n(["react-flow__connection",Kj(f)]),children:t.jsx(Ww,{style:r,type:s,CustomComponent:l,isValid:f})})})}const Ww=({style:e,type:r=va.Bezier,CustomComponent:s,isValid:l})=>{const{inProgress:o,from:c,fromNode:u,fromHandle:f,fromPosition:m,to:h,toNode:x,toHandle:g,toPosition:b,pointer:p}=NR();if(!o)return;if(s)return t.jsx(s,{connectionLineType:r,connectionLineStyle:e,fromNode:u,fromHandle:f,fromX:c.x,fromY:c.y,toX:h.x,toY:h.y,fromPosition:m,toPosition:b,connectionStatus:Kj(l),toNode:x,toHandle:g,pointer:p});let w="";const S={sourceX:c.x,sourceY:c.y,sourcePosition:m,targetX:h.x,targetY:h.y,targetPosition:b};switch(r){case va.Bezier:[w]=cw(S);break;case va.SimpleBezier:[w]=Hw(S);break;case va.Step:[w]=jm({...S,borderRadius:0});break;case va.SmoothStep:[w]=jm(S);break;default:[w]=dw(S)}return t.jsx("path",{d:w,fill:"none",className:"react-flow__connection-path",style:e})};Ww.displayName="ConnectionLine";const CR={};function wv(e=CR){j.useRef(e),bn(),j.useEffect(()=>{},[e])}function ER(){bn(),j.useRef(!1),j.useEffect(()=>{},[])}function eN({nodeTypes:e,edgeTypes:r,onInit:s,onNodeClick:l,onEdgeClick:o,onNodeDoubleClick:c,onEdgeDoubleClick:u,onNodeMouseEnter:f,onNodeMouseMove:m,onNodeMouseLeave:h,onNodeContextMenu:x,onSelectionContextMenu:g,onSelectionStart:b,onSelectionEnd:p,connectionLineType:w,connectionLineStyle:S,connectionLineComponent:T,connectionLineContainerStyle:E,selectionKeyCode:C,selectionOnDrag:N,selectionMode:k,multiSelectionKeyCode:H,panActivationKeyCode:M,zoomActivationKeyCode:Y,deleteKeyCode:$,onlyRenderVisibleElements:X,elementsSelectable:P,defaultViewport:U,translateExtent:V,minZoom:D,maxZoom:A,preventScrolling:I,defaultMarkerColor:_,zoomOnScroll:G,zoomOnPinch:q,panOnScroll:K,panOnScrollSpeed:B,panOnScrollMode:R,zoomOnDoubleClick:W,panOnDrag:z,onPaneClick:L,onPaneMouseEnter:F,onPaneMouseMove:Q,onPaneMouseLeave:ne,onPaneScroll:Z,onPaneContextMenu:ee,paneClickDistance:oe,nodeClickDistance:pe,onEdgeContextMenu:Se,onEdgeMouseEnter:Re,onEdgeMouseMove:ze,onEdgeMouseLeave:Be,reconnectRadius:Xe,onReconnect:_e,onReconnectStart:Ye,onReconnectEnd:ht,noDragClassName:gt,noWheelClassName:ie,noPanClassName:Le,disableKeyboardA11y:xt,nodeExtent:yt,rfId:Zt,viewport:ve,onViewportChange:Me}){return wv(e),wv(r),ER(),bR(s),vR(ve),t.jsx(UO,{onPaneClick:L,onPaneMouseEnter:F,onPaneMouseMove:Q,onPaneMouseLeave:ne,onPaneContextMenu:ee,onPaneScroll:Z,paneClickDistance:oe,deleteKeyCode:$,selectionKeyCode:C,selectionOnDrag:N,selectionMode:k,onSelectionStart:b,onSelectionEnd:p,multiSelectionKeyCode:H,panActivationKeyCode:M,zoomActivationKeyCode:Y,elementsSelectable:P,zoomOnScroll:G,zoomOnPinch:q,zoomOnDoubleClick:W,panOnScroll:K,panOnScrollSpeed:B,panOnScrollMode:R,panOnDrag:z,defaultViewport:U,translateExtent:V,minZoom:D,maxZoom:A,onSelectionContextMenu:g,preventScrolling:I,noDragClassName:gt,noWheelClassName:ie,noPanClassName:Le,disableKeyboardA11y:xt,onViewportChange:Me,isControlledViewport:!!ve,children:t.jsxs(pR,{children:[t.jsx(xR,{edgeTypes:r,onEdgeClick:o,onEdgeDoubleClick:u,onReconnect:_e,onReconnectStart:Ye,onReconnectEnd:ht,onlyRenderVisibleElements:X,onEdgeContextMenu:Se,onEdgeMouseEnter:Re,onEdgeMouseMove:ze,onEdgeMouseLeave:Be,reconnectRadius:Xe,defaultMarkerColor:_,noPanClassName:Le,disableKeyboardA11y:xt,rfId:Zt}),t.jsx(SR,{style:S,type:w,component:T,containerStyle:E}),t.jsx("div",{className:"react-flow__edgelabel-renderer"}),t.jsx(KO,{nodeTypes:e,onNodeClick:l,onNodeDoubleClick:c,onNodeMouseEnter:f,onNodeMouseMove:m,onNodeMouseLeave:h,onNodeContextMenu:x,nodeClickDistance:pe,onlyRenderVisibleElements:X,noPanClassName:Le,noDragClassName:gt,disableKeyboardA11y:xt,nodeExtent:yt,rfId:Zt}),t.jsx("div",{className:"react-flow__viewport-portal"})]})})}eN.displayName="GraphView";const TR=j.memo(eN),Nv=({nodes:e,edges:r,defaultNodes:s,defaultEdges:l,width:o,height:c,fitView:u,fitViewOptions:f,minZoom:m=.5,maxZoom:h=2,nodeOrigin:x,nodeExtent:g,zIndexMode:b="basic"}={})=>{const p=new Map,w=new Map,S=new Map,T=new Map,E=l??r??[],C=s??e??[],N=x??[0,0],k=g??No;mw(S,T,E);const H=Nm(C,p,w,{nodeOrigin:N,nodeExtent:k,zIndexMode:b});let M=[0,0,1];if(u&&o&&c){const Y=Lo(p,{filter:U=>!!((U.width||U.initialWidth)&&(U.height||U.initialHeight))}),{x:$,y:X,zoom:P}=dx(Y,o,c,m,h,f?.padding??.1);M=[$,X,P]}return{rfId:"1",width:o??0,height:c??0,transform:M,nodes:C,nodesInitialized:H,nodeLookup:p,parentLookup:w,edges:E,edgeLookup:T,connectionLookup:S,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:s!==void 0,hasDefaultEdges:l!==void 0,panZoom:null,minZoom:m,maxZoom:h,translateExtent:No,nodeExtent:k,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Gl.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:N,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:u??!1,fitViewOptions:f,fitViewResolver:null,connection:{...Qj},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:qM,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Zj,zIndexMode:b,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},AR=({nodes:e,edges:r,defaultNodes:s,defaultEdges:l,width:o,height:c,fitView:u,fitViewOptions:f,minZoom:m,maxZoom:h,nodeOrigin:x,nodeExtent:g,zIndexMode:b})=>GD((p,w)=>{async function S(){const{nodeLookup:T,panZoom:E,fitViewOptions:C,fitViewResolver:N,width:k,height:H,minZoom:M,maxZoom:Y}=w();E&&(await PM({nodes:T,width:k,height:H,panZoom:E,minZoom:M,maxZoom:Y},C),N?.resolve(!0),p({fitViewResolver:null}))}return{...Nv({nodes:e,edges:r,width:o,height:c,fitView:u,fitViewOptions:f,minZoom:m,maxZoom:h,nodeOrigin:x,nodeExtent:g,defaultNodes:s,defaultEdges:l,zIndexMode:b}),setNodes:T=>{const{nodeLookup:E,parentLookup:C,nodeOrigin:N,elevateNodesOnSelect:k,fitViewQueued:H,zIndexMode:M}=w(),Y=Nm(T,E,C,{nodeOrigin:N,nodeExtent:g,elevateNodesOnSelect:k,checkEquality:!0,zIndexMode:M});H&&Y?(S(),p({nodes:T,nodesInitialized:Y,fitViewQueued:!1,fitViewOptions:void 0})):p({nodes:T,nodesInitialized:Y})},setEdges:T=>{const{connectionLookup:E,edgeLookup:C}=w();mw(E,C,T),p({edges:T})},setDefaultNodesAndEdges:(T,E)=>{if(T){const{setNodes:C}=w();C(T),p({hasDefaultNodes:!0})}if(E){const{setEdges:C}=w();C(E),p({hasDefaultEdges:!0})}},updateNodeInternals:T=>{const{triggerNodeChanges:E,nodeLookup:C,parentLookup:N,domNode:k,nodeOrigin:H,nodeExtent:M,debug:Y,fitViewQueued:$,zIndexMode:X}=w(),{changes:P,updatedInternals:U}=dD(T,C,N,k,H,M,X);U&&(iD(C,N,{nodeOrigin:H,nodeExtent:M,zIndexMode:X}),$?(S(),p({fitViewQueued:!1,fitViewOptions:void 0})):p({}),P?.length>0&&(Y&&console.log("React Flow: trigger node changes",P),E?.(P)))},updateNodePositions:(T,E=!1)=>{const C=[];let N=[];const{nodeLookup:k,triggerNodeChanges:H,connection:M,updateConnection:Y,onNodesChangeMiddlewareMap:$}=w();for(const[X,P]of T){const U=k.get(X),V=!!(U?.expandParent&&U?.parentId&&P?.position),D={id:X,type:"position",position:V?{x:Math.max(0,P.position.x),y:Math.max(0,P.position.y)}:P.position,dragging:E};if(U&&M.inProgress&&M.fromNode.id===U.id){const A=el(U,M.fromHandle,tt.Left,!0);Y({...M,from:A})}V&&U.parentId&&C.push({id:X,parentId:U.parentId,rect:{...P.internals.positionAbsolute,width:P.measured.width??0,height:P.measured.height??0}}),N.push(D)}if(C.length>0){const{parentLookup:X,nodeOrigin:P}=w(),U=px(C,k,X,P);N.push(...U)}for(const X of $.values())N=X(N);H(N)},triggerNodeChanges:T=>{const{onNodesChange:E,setNodes:C,nodes:N,hasDefaultNodes:k,debug:H}=w();if(T?.length){if(k){const M=Aw(T,N);C(M)}H&&console.log("React Flow: trigger node changes",T),E?.(T)}},triggerEdgeChanges:T=>{const{onEdgesChange:E,setEdges:C,edges:N,hasDefaultEdges:k,debug:H}=w();if(T?.length){if(k){const M=_w(T,N);C(M)}H&&console.log("React Flow: trigger edge changes",T),E?.(T)}},addSelectedNodes:T=>{const{multiSelectionActive:E,edgeLookup:C,nodeLookup:N,triggerNodeChanges:k,triggerEdgeChanges:H}=w();if(E){const M=T.map(Y=>Fa(Y,!0));k(M);return}k(Bl(N,new Set([...T]),!0)),H(Bl(C))},addSelectedEdges:T=>{const{multiSelectionActive:E,edgeLookup:C,nodeLookup:N,triggerNodeChanges:k,triggerEdgeChanges:H}=w();if(E){const M=T.map(Y=>Fa(Y,!0));H(M);return}H(Bl(C,new Set([...T]))),k(Bl(N,new Set,!0))},unselectNodesAndEdges:({nodes:T,edges:E}={})=>{const{edges:C,nodes:N,nodeLookup:k,triggerNodeChanges:H,triggerEdgeChanges:M}=w(),Y=T||N,$=E||C,X=[];for(const U of Y){if(!U.selected)continue;const V=k.get(U.id);V&&(V.selected=!1),X.push(Fa(U.id,!1))}const P=[];for(const U of $)U.selected&&P.push(Fa(U.id,!1));H(X),M(P)},setMinZoom:T=>{const{panZoom:E,maxZoom:C}=w();E?.setScaleExtent([T,C]),p({minZoom:T})},setMaxZoom:T=>{const{panZoom:E,minZoom:C}=w();E?.setScaleExtent([C,T]),p({maxZoom:T})},setTranslateExtent:T=>{w().panZoom?.setTranslateExtent(T),p({translateExtent:T})},resetSelectedElements:()=>{const{edges:T,nodes:E,triggerNodeChanges:C,triggerEdgeChanges:N,elementsSelectable:k}=w();if(!k)return;const H=E.reduce((Y,$)=>$.selected?[...Y,Fa($.id,!1)]:Y,[]),M=T.reduce((Y,$)=>$.selected?[...Y,Fa($.id,!1)]:Y,[]);C(H),N(M)},setNodeExtent:T=>{const{nodes:E,nodeLookup:C,parentLookup:N,nodeOrigin:k,elevateNodesOnSelect:H,nodeExtent:M,zIndexMode:Y}=w();T[0][0]===M[0][0]&&T[0][1]===M[0][1]&&T[1][0]===M[1][0]&&T[1][1]===M[1][1]||(Nm(E,C,N,{nodeOrigin:k,nodeExtent:T,elevateNodesOnSelect:H,checkEquality:!1,zIndexMode:Y}),p({nodeExtent:T}))},panBy:T=>{const{transform:E,width:C,height:N,panZoom:k,translateExtent:H}=w();return fD({delta:T,panZoom:k,transform:E,translateExtent:H,width:C,height:N})},setCenter:async(T,E,C)=>{const{width:N,height:k,maxZoom:H,panZoom:M}=w();if(!M)return Promise.resolve(!1);const Y=typeof C?.zoom<"u"?C.zoom:H;return await M.setViewport({x:N/2-T*Y,y:k/2-E*Y,zoom:Y},{duration:C?.duration,ease:C?.ease,interpolate:C?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{p({connection:{...Qj}})},updateConnection:T=>{p({connection:T})},reset:()=>p({...Nv()})}},Object.is);function _R({initialNodes:e,initialEdges:r,defaultNodes:s,defaultEdges:l,initialWidth:o,initialHeight:c,initialMinZoom:u,initialMaxZoom:f,initialFitViewOptions:m,fitView:h,nodeOrigin:x,nodeExtent:g,zIndexMode:b,children:p}){const[w]=j.useState(()=>AR({nodes:e,edges:r,defaultNodes:s,defaultEdges:l,width:o,height:c,fitView:h,minZoom:u,maxZoom:f,fitViewOptions:m,nodeOrigin:x,nodeExtent:g,zIndexMode:b}));return t.jsx(XD,{value:w,children:t.jsx(pO,{children:p})})}function MR({children:e,nodes:r,edges:s,defaultNodes:l,defaultEdges:o,width:c,height:u,fitView:f,fitViewOptions:m,minZoom:h,maxZoom:x,nodeOrigin:g,nodeExtent:b,zIndexMode:p}){return j.useContext(Wu)?t.jsx(t.Fragment,{children:e}):t.jsx(_R,{initialNodes:r,initialEdges:s,defaultNodes:l,defaultEdges:o,initialWidth:c,initialHeight:u,fitView:f,initialFitViewOptions:m,initialMinZoom:h,initialMaxZoom:x,nodeOrigin:g,nodeExtent:b,zIndexMode:p,children:e})}const DR={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function OR({nodes:e,edges:r,defaultNodes:s,defaultEdges:l,className:o,nodeTypes:c,edgeTypes:u,onNodeClick:f,onEdgeClick:m,onInit:h,onMove:x,onMoveStart:g,onMoveEnd:b,onConnect:p,onConnectStart:w,onConnectEnd:S,onClickConnectStart:T,onClickConnectEnd:E,onNodeMouseEnter:C,onNodeMouseMove:N,onNodeMouseLeave:k,onNodeContextMenu:H,onNodeDoubleClick:M,onNodeDragStart:Y,onNodeDrag:$,onNodeDragStop:X,onNodesDelete:P,onEdgesDelete:U,onDelete:V,onSelectionChange:D,onSelectionDragStart:A,onSelectionDrag:I,onSelectionDragStop:_,onSelectionContextMenu:G,onSelectionStart:q,onSelectionEnd:K,onBeforeDelete:B,connectionMode:R,connectionLineType:W=va.Bezier,connectionLineStyle:z,connectionLineComponent:L,connectionLineContainerStyle:F,deleteKeyCode:Q="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:Z=!1,selectionMode:ee=ko.Full,panActivationKeyCode:oe="Space",multiSelectionKeyCode:pe=Co()?"Meta":"Control",zoomActivationKeyCode:Se=Co()?"Meta":"Control",snapToGrid:Re,snapGrid:ze,onlyRenderVisibleElements:Be=!1,selectNodesOnDrag:Xe,nodesDraggable:_e,autoPanOnNodeFocus:Ye,nodesConnectable:ht,nodesFocusable:gt,nodeOrigin:ie=Ew,edgesFocusable:Le,edgesReconnectable:xt,elementsSelectable:yt=!0,defaultViewport:Zt=iO,minZoom:ve=.5,maxZoom:Me=2,translateExtent:Ue=No,preventScrolling:et=!0,nodeExtent:Ge,defaultMarkerColor:Ht="#b1b1b7",zoomOnScroll:_t=!0,zoomOnPinch:jt=!0,panOnScroll:vt=!1,panOnScrollSpeed:he=.5,panOnScrollMode:He=Za.Free,zoomOnDoubleClick:ft=!0,panOnDrag:ct=!0,onPaneClick:pt,onPaneMouseEnter:Ot,onPaneMouseMove:rn,onPaneMouseLeave:Wt,onPaneScroll:cn,onPaneContextMenu:vn,paneClickDistance:wt=1,nodeClickDistance:ue=0,children:te,onReconnect:Ne,onReconnectStart:De,onReconnectEnd:dt,onEdgeContextMenu:$e,onEdgeDoubleClick:Mt,onEdgeMouseEnter:sn,onEdgeMouseMove:hn,onEdgeMouseLeave:Dt,reconnectRadius:Bn=10,onNodesChange:Hn,onEdgesChange:jn,noDragClassName:It="nodrag",noWheelClassName:yn="nowheel",noPanClassName:Pn="nopan",fitView:ye,fitViewOptions:Ke,connectOnClick:kt,attributionPosition:Et,proOptions:wn,defaultEdgeOptions:sr,elevateNodesOnSelect:ar=!0,elevateEdgesOnSelect:Dr=!1,disableKeyboardA11y:Or=!1,autoPanOnConnect:yr,autoPanOnNodeDrag:un,autoPanSpeed:Rr,connectionRadius:Ps,isValidConnection:lr,onError:ir,style:Us,id:En,nodeDragThreshold:Yr,connectionDragThreshold:ka,viewport:or,onViewportChange:zr,width:Fn,height:Nn,colorMode:vr="light",debug:se,onScroll:Oe,ariaLabelConfig:qe,zIndexMode:re="basic",...be},we){const Ee=En||"1",Ae=dO(vr),Pe=j.useCallback(Ve=>{Ve.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Oe?.(Ve)},[Oe]);return t.jsx("div",{"data-testid":"rf__wrapper",...be,onScroll:Pe,style:{...Us,...DR},ref:we,className:$n(["react-flow",o,Ae]),id:En,role:"application",children:t.jsxs(MR,{nodes:e,edges:r,width:Fn,height:Nn,fitView:ye,fitViewOptions:Ke,minZoom:ve,maxZoom:Me,nodeOrigin:ie,nodeExtent:Ge,zIndexMode:re,children:[t.jsx(TR,{onInit:h,onNodeClick:f,onEdgeClick:m,onNodeMouseEnter:C,onNodeMouseMove:N,onNodeMouseLeave:k,onNodeContextMenu:H,onNodeDoubleClick:M,nodeTypes:c,edgeTypes:u,connectionLineType:W,connectionLineStyle:z,connectionLineComponent:L,connectionLineContainerStyle:F,selectionKeyCode:ne,selectionOnDrag:Z,selectionMode:ee,deleteKeyCode:Q,multiSelectionKeyCode:pe,panActivationKeyCode:oe,zoomActivationKeyCode:Se,onlyRenderVisibleElements:Be,defaultViewport:Zt,translateExtent:Ue,minZoom:ve,maxZoom:Me,preventScrolling:et,zoomOnScroll:_t,zoomOnPinch:jt,zoomOnDoubleClick:ft,panOnScroll:vt,panOnScrollSpeed:he,panOnScrollMode:He,panOnDrag:ct,onPaneClick:pt,onPaneMouseEnter:Ot,onPaneMouseMove:rn,onPaneMouseLeave:Wt,onPaneScroll:cn,onPaneContextMenu:vn,paneClickDistance:wt,nodeClickDistance:ue,onSelectionContextMenu:G,onSelectionStart:q,onSelectionEnd:K,onReconnect:Ne,onReconnectStart:De,onReconnectEnd:dt,onEdgeContextMenu:$e,onEdgeDoubleClick:Mt,onEdgeMouseEnter:sn,onEdgeMouseMove:hn,onEdgeMouseLeave:Dt,reconnectRadius:Bn,defaultMarkerColor:Ht,noDragClassName:It,noWheelClassName:yn,noPanClassName:Pn,rfId:Ee,disableKeyboardA11y:Or,nodeExtent:Ge,viewport:or,onViewportChange:zr}),t.jsx(uO,{nodes:e,edges:r,defaultNodes:s,defaultEdges:l,onConnect:p,onConnectStart:w,onConnectEnd:S,onClickConnectStart:T,onClickConnectEnd:E,nodesDraggable:_e,autoPanOnNodeFocus:Ye,nodesConnectable:ht,nodesFocusable:gt,edgesFocusable:Le,edgesReconnectable:xt,elementsSelectable:yt,elevateNodesOnSelect:ar,elevateEdgesOnSelect:Dr,minZoom:ve,maxZoom:Me,nodeExtent:Ge,onNodesChange:Hn,onEdgesChange:jn,snapToGrid:Re,snapGrid:ze,connectionMode:R,translateExtent:Ue,connectOnClick:kt,defaultEdgeOptions:sr,fitView:ye,fitViewOptions:Ke,onNodesDelete:P,onEdgesDelete:U,onDelete:V,onNodeDragStart:Y,onNodeDrag:$,onNodeDragStop:X,onSelectionDrag:I,onSelectionDragStart:A,onSelectionDragStop:_,onMove:x,onMoveStart:g,onMoveEnd:b,noPanClassName:Pn,nodeOrigin:ie,rfId:Ee,autoPanOnConnect:yr,autoPanOnNodeDrag:un,autoPanSpeed:Rr,onError:ir,connectionRadius:Ps,isValidConnection:lr,selectNodesOnDrag:Xe,nodeDragThreshold:Yr,connectionDragThreshold:ka,onBeforeDelete:B,debug:se,ariaLabelConfig:qe,zIndexMode:re}),t.jsx(lO,{onSelectionChange:D}),te,t.jsx(tO,{proOptions:wn,position:Et}),t.jsx(eO,{rfId:Ee,disableKeyboardA11y:Or})]})})}var RR=Mw(OR);function zR(e){const[r,s]=j.useState(e),l=j.useCallback(o=>s(c=>Aw(o,c)),[]);return[r,s,l]}function LR(e){const[r,s]=j.useState(e),l=j.useCallback(o=>s(c=>_w(o,c)),[]);return[r,s,l]}function IR({dimensions:e,lineWidth:r,variant:s,className:l}){return t.jsx("path",{strokeWidth:r,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:$n(["react-flow__background-pattern",s,l])})}function $R({radius:e,className:r}){return t.jsx("circle",{cx:e,cy:e,r:e,className:$n(["react-flow__background-pattern","dots",r])})}var ja;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ja||(ja={}));const BR={[ja.Dots]:1,[ja.Lines]:1,[ja.Cross]:6},HR=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function tN({id:e,variant:r=ja.Dots,gap:s=20,size:l,lineWidth:o=1,offset:c=0,color:u,bgColor:f,style:m,className:h,patternClassName:x}){const g=j.useRef(null),{transform:b,patternId:p}=Vt(HR,pn),w=l||BR[r],S=r===ja.Dots,T=r===ja.Cross,E=Array.isArray(s)?s:[s,s],C=[E[0]*b[2]||1,E[1]*b[2]||1],N=w*b[2],k=Array.isArray(c)?c:[c,c],H=T?[N,N]:C,M=[k[0]*b[2]||1+H[0]/2,k[1]*b[2]||1+H[1]/2],Y=`${p}${e||""}`;return t.jsxs("svg",{className:$n(["react-flow__background",h]),style:{...m,...td,"--xy-background-color-props":f,"--xy-background-pattern-color-props":u},ref:g,"data-testid":"rf__background",children:[t.jsx("pattern",{id:Y,x:b[0]%C[0],y:b[1]%C[1],width:C[0],height:C[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${M[0]},-${M[1]})`,children:S?t.jsx($R,{radius:N/2,className:x}):t.jsx(IR,{dimensions:H,lineWidth:o,variant:r,className:x})}),t.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${Y})`})]})}tN.displayName="Background";const PR=j.memo(tN);function UR(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:t.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function qR(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:t.jsx("path",{d:"M0 0h32v4.2H0z"})})}function VR(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:t.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function FR(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:t.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function YR(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:t.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function lu({children:e,className:r,...s}){return t.jsx("button",{type:"button",className:$n(["react-flow__controls-button",r]),...s,children:e})}const GR=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function nN({style:e,showZoom:r=!0,showFitView:s=!0,showInteractive:l=!0,fitViewOptions:o,onZoomIn:c,onZoomOut:u,onFitView:f,onInteractiveChange:m,className:h,children:x,position:g="bottom-left",orientation:b="vertical","aria-label":p}){const w=bn(),{isInteractive:S,minZoomReached:T,maxZoomReached:E,ariaLabelConfig:C}=Vt(GR,pn),{zoomIn:N,zoomOut:k,fitView:H}=bx(),M=()=>{N(),c?.()},Y=()=>{k(),u?.()},$=()=>{H(o),f?.()},X=()=>{w.setState({nodesDraggable:!S,nodesConnectable:!S,elementsSelectable:!S}),m?.(!S)},P=b==="horizontal"?"horizontal":"vertical";return t.jsxs(ed,{className:$n(["react-flow__controls",P,h]),position:g,style:e,"data-testid":"rf__controls","aria-label":p??C["controls.ariaLabel"],children:[r&&t.jsxs(t.Fragment,{children:[t.jsx(lu,{onClick:M,className:"react-flow__controls-zoomin",title:C["controls.zoomIn.ariaLabel"],"aria-label":C["controls.zoomIn.ariaLabel"],disabled:E,children:t.jsx(UR,{})}),t.jsx(lu,{onClick:Y,className:"react-flow__controls-zoomout",title:C["controls.zoomOut.ariaLabel"],"aria-label":C["controls.zoomOut.ariaLabel"],disabled:T,children:t.jsx(qR,{})})]}),s&&t.jsx(lu,{className:"react-flow__controls-fitview",onClick:$,title:C["controls.fitView.ariaLabel"],"aria-label":C["controls.fitView.ariaLabel"],children:t.jsx(VR,{})}),l&&t.jsx(lu,{className:"react-flow__controls-interactive",onClick:X,title:C["controls.interactive.ariaLabel"],"aria-label":C["controls.interactive.ariaLabel"],children:S?t.jsx(YR,{}):t.jsx(FR,{})}),x]})}nN.displayName="Controls";const XR=j.memo(nN);function ZR({id:e,x:r,y:s,width:l,height:o,style:c,color:u,strokeColor:f,strokeWidth:m,className:h,borderRadius:x,shapeRendering:g,selected:b,onClick:p}){const{background:w,backgroundColor:S}=c||{},T=u||w||S;return t.jsx("rect",{className:$n(["react-flow__minimap-node",{selected:b},h]),x:r,y:s,rx:x,ry:x,width:l,height:o,style:{fill:T,stroke:f,strokeWidth:m},shapeRendering:g,onClick:p?E=>p(E,e):void 0})}const QR=j.memo(ZR),KR=e=>e.nodes.map(r=>r.id),Vh=e=>e instanceof Function?e:()=>e;function JR({nodeStrokeColor:e,nodeColor:r,nodeClassName:s="",nodeBorderRadius:l=5,nodeStrokeWidth:o,nodeComponent:c=QR,onClick:u}){const f=Vt(KR,pn),m=Vh(r),h=Vh(e),x=Vh(s),g=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return t.jsx(t.Fragment,{children:f.map(b=>t.jsx(ez,{id:b,nodeColorFunc:m,nodeStrokeColorFunc:h,nodeClassNameFunc:x,nodeBorderRadius:l,nodeStrokeWidth:o,NodeComponent:c,onClick:u,shapeRendering:g},b))})}function WR({id:e,nodeColorFunc:r,nodeStrokeColorFunc:s,nodeClassNameFunc:l,nodeBorderRadius:o,nodeStrokeWidth:c,shapeRendering:u,NodeComponent:f,onClick:m}){const{node:h,x,y:g,width:b,height:p}=Vt(w=>{const S=w.nodeLookup.get(e);if(!S)return{node:void 0,x:0,y:0,width:0,height:0};const T=S.internals.userNode,{x:E,y:C}=S.internals.positionAbsolute,{width:N,height:k}=Hs(T);return{node:T,x:E,y:C,width:N,height:k}},pn);return!h||h.hidden||!rw(h)?null:t.jsx(f,{x,y:g,width:b,height:p,style:h.style,selected:!!h.selected,className:l(h),color:r(h),borderRadius:o,strokeColor:s(h),strokeWidth:c,shapeRendering:u,onClick:m,id:h.id})}const ez=j.memo(WR);var tz=j.memo(JR);const nz=200,rz=150,sz=e=>!e.hidden,az=e=>{const r={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:r,boundingRect:e.nodeLookup.size>0?nw(Lo(e.nodeLookup,{filter:sz}),r):r,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},lz="react-flow__minimap-desc";function rN({style:e,className:r,nodeStrokeColor:s,nodeColor:l,nodeClassName:o="",nodeBorderRadius:c=5,nodeStrokeWidth:u,nodeComponent:f,bgColor:m,maskColor:h,maskStrokeColor:x,maskStrokeWidth:g,position:b="bottom-right",onClick:p,onNodeClick:w,pannable:S=!1,zoomable:T=!1,ariaLabel:E,inversePan:C,zoomStep:N=1,offsetScale:k=5}){const H=bn(),M=j.useRef(null),{boundingRect:Y,viewBB:$,rfId:X,panZoom:P,translateExtent:U,flowWidth:V,flowHeight:D,ariaLabelConfig:A}=Vt(az,pn),I=e?.width??nz,_=e?.height??rz,G=Y.width/I,q=Y.height/_,K=Math.max(G,q),B=K*I,R=K*_,W=k*K,z=Y.x-(B-Y.width)/2-W,L=Y.y-(R-Y.height)/2-W,F=B+W*2,Q=R+W*2,ne=`${lz}-${X}`,Z=j.useRef(0),ee=j.useRef();Z.current=K,j.useEffect(()=>{if(M.current&&P)return ee.current=jD({domNode:M.current,panZoom:P,getTransform:()=>H.getState().transform,getViewScale:()=>Z.current}),()=>{ee.current?.destroy()}},[P]),j.useEffect(()=>{ee.current?.update({translateExtent:U,width:V,height:D,inversePan:C,pannable:S,zoomStep:N,zoomable:T})},[S,T,C,N,U,V,D]);const oe=p?Re=>{const[ze,Be]=ee.current?.pointer(Re)||[0,0];p(Re,{x:ze,y:Be})}:void 0,pe=w?j.useCallback((Re,ze)=>{const Be=H.getState().nodeLookup.get(ze).internals.userNode;w(Re,Be)},[]):void 0,Se=E??A["minimap.ariaLabel"];return t.jsx(ed,{position:b,style:{...e,"--xy-minimap-background-color-props":typeof m=="string"?m:void 0,"--xy-minimap-mask-background-color-props":typeof h=="string"?h:void 0,"--xy-minimap-mask-stroke-color-props":typeof x=="string"?x:void 0,"--xy-minimap-mask-stroke-width-props":typeof g=="number"?g*K:void 0,"--xy-minimap-node-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-node-stroke-color-props":typeof s=="string"?s:void 0,"--xy-minimap-node-stroke-width-props":typeof u=="number"?u:void 0},className:$n(["react-flow__minimap",r]),"data-testid":"rf__minimap",children:t.jsxs("svg",{width:I,height:_,viewBox:`${z} ${L} ${F} ${Q}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:M,onClick:oe,children:[Se&&t.jsx("title",{id:ne,children:Se}),t.jsx(tz,{onClick:pe,nodeColor:l,nodeStrokeColor:s,nodeBorderRadius:c,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:f}),t.jsx("path",{className:"react-flow__minimap-mask",d:`M${z-W},${L-W}h${F+W*2}v${Q+W*2}h${-F-W*2}z
61
+ M${$.x},${$.y}h${$.width}v${$.height}h${-$.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}rN.displayName="MiniMap";const iz=j.memo(rN),oz=e=>r=>e?`${Math.max(1/r.transform[2],1)}`:void 0,cz={[Jl.Line]:"right",[Jl.Handle]:"bottom-right"};function uz({nodeId:e,position:r,variant:s=Jl.Handle,className:l,style:o=void 0,children:c,color:u,minWidth:f=10,minHeight:m=10,maxWidth:h=Number.MAX_VALUE,maxHeight:x=Number.MAX_VALUE,keepAspectRatio:g=!1,resizeDirection:b,autoScale:p=!0,shouldResize:w,onResizeStart:S,onResize:T,onResizeEnd:E}){const C=zw(),N=typeof e=="string"?e:C,k=bn(),H=j.useRef(null),M=s===Jl.Handle,Y=Vt(j.useCallback(oz(M&&p),[M,p]),pn),$=j.useRef(null),X=r??cz[s];j.useEffect(()=>{if(!(!H.current||!N))return $.current||($.current=zD({domNode:H.current,nodeId:N,getStoreItems:()=>{const{nodeLookup:U,transform:V,snapGrid:D,snapToGrid:A,nodeOrigin:I,domNode:_}=k.getState();return{nodeLookup:U,transform:V,snapGrid:D,snapToGrid:A,nodeOrigin:I,paneDomNode:_}},onChange:(U,V)=>{const{triggerNodeChanges:D,nodeLookup:A,parentLookup:I,nodeOrigin:_}=k.getState(),G=[],q={x:U.x,y:U.y},K=A.get(N);if(K&&K.expandParent&&K.parentId){const B=K.origin??_,R=U.width??K.measured.width??0,W=U.height??K.measured.height??0,z={id:K.id,parentId:K.parentId,rect:{width:R,height:W,...sw({x:U.x??K.position.x,y:U.y??K.position.y},{width:R,height:W},K.parentId,A,B)}},L=px([z],A,I,_);G.push(...L),q.x=U.x?Math.max(B[0]*R,U.x):void 0,q.y=U.y?Math.max(B[1]*W,U.y):void 0}if(q.x!==void 0&&q.y!==void 0){const B={id:N,type:"position",position:{...q}};G.push(B)}if(U.width!==void 0&&U.height!==void 0){const R={id:N,type:"dimensions",resizing:!0,setAttributes:b?b==="horizontal"?"width":"height":!0,dimensions:{width:U.width,height:U.height}};G.push(R)}for(const B of V){const R={...B,type:"position"};G.push(R)}D(G)},onEnd:({width:U,height:V})=>{const D={id:N,type:"dimensions",resizing:!1,dimensions:{width:U,height:V}};k.getState().triggerNodeChanges([D])}})),$.current.update({controlPosition:X,boundaries:{minWidth:f,minHeight:m,maxWidth:h,maxHeight:x},keepAspectRatio:g,resizeDirection:b,onResizeStart:S,onResize:T,onResizeEnd:E,shouldResize:w}),()=>{$.current?.destroy()}},[X,f,m,h,x,g,S,T,E,w]);const P=X.split("-");return t.jsx("div",{className:$n(["react-flow__resize-control","nodrag",...P,s,l]),ref:H,style:{...o,scale:Y,...u&&{[M?"backgroundColor":"borderColor"]:u}},children:c})}j.memo(uz);var Jt=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),ts=Jt((e,r)=>{var s=Object.defineProperty,l=(D,A,I)=>A in D?s(D,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):D[A]=I,o=(D,A)=>()=>(A||D((A={exports:{}}).exports,A),A.exports),c=(D,A,I)=>l(D,typeof A!="symbol"?A+"":A,I),u=o((D,A)=>{var I="\0",_="\0",G="",q=class{constructor(L){c(this,"_isDirected",!0),c(this,"_isMultigraph",!1),c(this,"_isCompound",!1),c(this,"_label"),c(this,"_defaultNodeLabelFn",()=>{}),c(this,"_defaultEdgeLabelFn",()=>{}),c(this,"_nodes",{}),c(this,"_in",{}),c(this,"_preds",{}),c(this,"_out",{}),c(this,"_sucs",{}),c(this,"_edgeObjs",{}),c(this,"_edgeLabels",{}),c(this,"_nodeCount",0),c(this,"_edgeCount",0),c(this,"_parent"),c(this,"_children"),L&&(this._isDirected=Object.hasOwn(L,"directed")?L.directed:!0,this._isMultigraph=Object.hasOwn(L,"multigraph")?L.multigraph:!1,this._isCompound=Object.hasOwn(L,"compound")?L.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[_]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(L){return this._label=L,this}graph(){return this._label}setDefaultNodeLabel(L){return this._defaultNodeLabelFn=L,typeof L!="function"&&(this._defaultNodeLabelFn=()=>L),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var L=this;return this.nodes().filter(F=>Object.keys(L._in[F]).length===0)}sinks(){var L=this;return this.nodes().filter(F=>Object.keys(L._out[F]).length===0)}setNodes(L,F){var Q=arguments,ne=this;return L.forEach(function(Z){Q.length>1?ne.setNode(Z,F):ne.setNode(Z)}),this}setNode(L,F){return Object.hasOwn(this._nodes,L)?(arguments.length>1&&(this._nodes[L]=F),this):(this._nodes[L]=arguments.length>1?F:this._defaultNodeLabelFn(L),this._isCompound&&(this._parent[L]=_,this._children[L]={},this._children[_][L]=!0),this._in[L]={},this._preds[L]={},this._out[L]={},this._sucs[L]={},++this._nodeCount,this)}node(L){return this._nodes[L]}hasNode(L){return Object.hasOwn(this._nodes,L)}removeNode(L){var F=this;if(Object.hasOwn(this._nodes,L)){var Q=ne=>F.removeEdge(F._edgeObjs[ne]);delete this._nodes[L],this._isCompound&&(this._removeFromParentsChildList(L),delete this._parent[L],this.children(L).forEach(function(ne){F.setParent(ne)}),delete this._children[L]),Object.keys(this._in[L]).forEach(Q),delete this._in[L],delete this._preds[L],Object.keys(this._out[L]).forEach(Q),delete this._out[L],delete this._sucs[L],--this._nodeCount}return this}setParent(L,F){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(F===void 0)F=_;else{F+="";for(var Q=F;Q!==void 0;Q=this.parent(Q))if(Q===L)throw new Error("Setting "+F+" as parent of "+L+" would create a cycle");this.setNode(F)}return this.setNode(L),this._removeFromParentsChildList(L),this._parent[L]=F,this._children[F][L]=!0,this}_removeFromParentsChildList(L){delete this._children[this._parent[L]][L]}parent(L){if(this._isCompound){var F=this._parent[L];if(F!==_)return F}}children(L=_){if(this._isCompound){var F=this._children[L];if(F)return Object.keys(F)}else{if(L===_)return this.nodes();if(this.hasNode(L))return[]}}predecessors(L){var F=this._preds[L];if(F)return Object.keys(F)}successors(L){var F=this._sucs[L];if(F)return Object.keys(F)}neighbors(L){var F=this.predecessors(L);if(F){let ne=new Set(F);for(var Q of this.successors(L))ne.add(Q);return Array.from(ne.values())}}isLeaf(L){var F;return this.isDirected()?F=this.successors(L):F=this.neighbors(L),F.length===0}filterNodes(L){var F=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});F.setGraph(this.graph());var Q=this;Object.entries(this._nodes).forEach(function([ee,oe]){L(ee)&&F.setNode(ee,oe)}),Object.values(this._edgeObjs).forEach(function(ee){F.hasNode(ee.v)&&F.hasNode(ee.w)&&F.setEdge(ee,Q.edge(ee))});var ne={};function Z(ee){var oe=Q.parent(ee);return oe===void 0||F.hasNode(oe)?(ne[ee]=oe,oe):oe in ne?ne[oe]:Z(oe)}return this._isCompound&&F.nodes().forEach(ee=>F.setParent(ee,Z(ee))),F}setDefaultEdgeLabel(L){return this._defaultEdgeLabelFn=L,typeof L!="function"&&(this._defaultEdgeLabelFn=()=>L),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(L,F){var Q=this,ne=arguments;return L.reduce(function(Z,ee){return ne.length>1?Q.setEdge(Z,ee,F):Q.setEdge(Z,ee),ee}),this}setEdge(){var L,F,Q,ne,Z=!1,ee=arguments[0];typeof ee=="object"&&ee!==null&&"v"in ee?(L=ee.v,F=ee.w,Q=ee.name,arguments.length===2&&(ne=arguments[1],Z=!0)):(L=ee,F=arguments[1],Q=arguments[3],arguments.length>2&&(ne=arguments[2],Z=!0)),L=""+L,F=""+F,Q!==void 0&&(Q=""+Q);var oe=R(this._isDirected,L,F,Q);if(Object.hasOwn(this._edgeLabels,oe))return Z&&(this._edgeLabels[oe]=ne),this;if(Q!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(L),this.setNode(F),this._edgeLabels[oe]=Z?ne:this._defaultEdgeLabelFn(L,F,Q);var pe=W(this._isDirected,L,F,Q);return L=pe.v,F=pe.w,Object.freeze(pe),this._edgeObjs[oe]=pe,K(this._preds[F],L),K(this._sucs[L],F),this._in[F][oe]=pe,this._out[L][oe]=pe,this._edgeCount++,this}edge(L,F,Q){var ne=arguments.length===1?z(this._isDirected,arguments[0]):R(this._isDirected,L,F,Q);return this._edgeLabels[ne]}edgeAsObj(){let L=this.edge(...arguments);return typeof L!="object"?{label:L}:L}hasEdge(L,F,Q){var ne=arguments.length===1?z(this._isDirected,arguments[0]):R(this._isDirected,L,F,Q);return Object.hasOwn(this._edgeLabels,ne)}removeEdge(L,F,Q){var ne=arguments.length===1?z(this._isDirected,arguments[0]):R(this._isDirected,L,F,Q),Z=this._edgeObjs[ne];return Z&&(L=Z.v,F=Z.w,delete this._edgeLabels[ne],delete this._edgeObjs[ne],B(this._preds[F],L),B(this._sucs[L],F),delete this._in[F][ne],delete this._out[L][ne],this._edgeCount--),this}inEdges(L,F){return this.isDirected()?this.filterEdges(this._in[L],L,F):this.nodeEdges(L,F)}outEdges(L,F){return this.isDirected()?this.filterEdges(this._out[L],L,F):this.nodeEdges(L,F)}nodeEdges(L,F){if(L in this._nodes)return this.filterEdges({...this._in[L],...this._out[L]},L,F)}filterEdges(L,F,Q){if(L){var ne=Object.values(L);return Q?ne.filter(function(Z){return Z.v===F&&Z.w===Q||Z.v===Q&&Z.w===F}):ne}}};function K(L,F){L[F]?L[F]++:L[F]=1}function B(L,F){--L[F]||delete L[F]}function R(L,F,Q,ne){var Z=""+F,ee=""+Q;if(!L&&Z>ee){var oe=Z;Z=ee,ee=oe}return Z+G+ee+G+(ne===void 0?I:ne)}function W(L,F,Q,ne){var Z=""+F,ee=""+Q;if(!L&&Z>ee){var oe=Z;Z=ee,ee=oe}var pe={v:Z,w:ee};return ne&&(pe.name=ne),pe}function z(L,F){return R(L,F.v,F.w,F.name)}A.exports=q}),f=o((D,A)=>{A.exports="3.0.2"}),m=o((D,A)=>{A.exports={Graph:u(),version:f()}}),h=o((D,A)=>{var I=u();A.exports={write:_,read:K};function _(B){var R={options:{directed:B.isDirected(),multigraph:B.isMultigraph(),compound:B.isCompound()},nodes:G(B),edges:q(B)};return B.graph()!==void 0&&(R.value=structuredClone(B.graph())),R}function G(B){return B.nodes().map(function(R){var W=B.node(R),z=B.parent(R),L={v:R};return W!==void 0&&(L.value=W),z!==void 0&&(L.parent=z),L})}function q(B){return B.edges().map(function(R){var W=B.edge(R),z={v:R.v,w:R.w};return R.name!==void 0&&(z.name=R.name),W!==void 0&&(z.value=W),z})}function K(B){var R=new I(B.options).setGraph(B.value);return B.nodes.forEach(function(W){R.setNode(W.v,W.value),W.parent&&R.setParent(W.v,W.parent)}),B.edges.forEach(function(W){R.setEdge({v:W.v,w:W.w,name:W.name},W.value)}),R}}),x=o((D,A)=>{A.exports=_;var I=()=>1;function _(q,K,B,R){return G(q,String(K),B||I,R||function(W){return q.outEdges(W)})}function G(q,K,B,R){var W={},z=!0,L=0,F=q.nodes(),Q=function(oe){var pe=B(oe);W[oe.v].distance+pe<W[oe.w].distance&&(W[oe.w]={distance:W[oe.v].distance+pe,predecessor:oe.v},z=!0)},ne=function(){F.forEach(function(oe){R(oe).forEach(function(pe){var Se=pe.v===oe?pe.v:pe.w,Re=Se===pe.v?pe.w:pe.v;Q({v:Se,w:Re})})})};F.forEach(function(oe){var pe=oe===K?0:Number.POSITIVE_INFINITY;W[oe]={distance:pe}});for(var Z=F.length,ee=1;ee<Z&&(z=!1,L++,ne(),!!z);ee++);if(L===Z-1&&(z=!1,ne(),z))throw new Error("The graph contains a negative weight cycle");return W}}),g=o((D,A)=>{A.exports=I;function I(_){var G={},q=[],K;function B(R){Object.hasOwn(G,R)||(G[R]=!0,K.push(R),_.successors(R).forEach(B),_.predecessors(R).forEach(B))}return _.nodes().forEach(function(R){K=[],B(R),K.length&&q.push(K)}),q}}),b=o((D,A)=>{var I=class{constructor(){c(this,"_arr",[]),c(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(_){return _.key})}has(_){return Object.hasOwn(this._keyIndices,_)}priority(_){var G=this._keyIndices[_];if(G!==void 0)return this._arr[G].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(_,G){var q=this._keyIndices;if(_=String(_),!Object.hasOwn(q,_)){var K=this._arr,B=K.length;return q[_]=B,K.push({key:_,priority:G}),this._decrease(B),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var _=this._arr.pop();return delete this._keyIndices[_.key],this._heapify(0),_.key}decrease(_,G){var q=this._keyIndices[_];if(G>this._arr[q].priority)throw new Error("New priority is greater than current priority. Key: "+_+" Old: "+this._arr[q].priority+" New: "+G);this._arr[q].priority=G,this._decrease(q)}_heapify(_){var G=this._arr,q=2*_,K=q+1,B=_;q<G.length&&(B=G[q].priority<G[B].priority?q:B,K<G.length&&(B=G[K].priority<G[B].priority?K:B),B!==_&&(this._swap(_,B),this._heapify(B)))}_decrease(_){for(var G=this._arr,q=G[_].priority,K;_!==0&&(K=_>>1,!(G[K].priority<q));)this._swap(_,K),_=K}_swap(_,G){var q=this._arr,K=this._keyIndices,B=q[_],R=q[G];q[_]=R,q[G]=B,K[R.key]=_,K[B.key]=G}};A.exports=I}),p=o((D,A)=>{var I=b();A.exports=G;var _=()=>1;function G(K,B,R,W){var z=function(L){return K.outEdges(L)};return q(K,String(B),R||_,W||z)}function q(K,B,R,W){var z={},L=new I,F,Q,ne=function(Z){var ee=Z.v!==F?Z.v:Z.w,oe=z[ee],pe=R(Z),Se=Q.distance+pe;if(pe<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+Z+" Weight: "+pe);Se<oe.distance&&(oe.distance=Se,oe.predecessor=F,L.decrease(ee,Se))};for(K.nodes().forEach(function(Z){var ee=Z===B?0:Number.POSITIVE_INFINITY;z[Z]={distance:ee},L.add(Z,ee)});L.size()>0&&(F=L.removeMin(),Q=z[F],Q.distance!==Number.POSITIVE_INFINITY);)W(F).forEach(ne);return z}}),w=o((D,A)=>{var I=p();A.exports=_;function _(G,q,K){return G.nodes().reduce(function(B,R){return B[R]=I(G,R,q,K),B},{})}}),S=o((D,A)=>{A.exports=I;function I(G,q,K){if(G[q].predecessor!==void 0)throw new Error("Invalid source vertex");if(G[K].predecessor===void 0&&K!==q)throw new Error("Invalid destination vertex");return{weight:G[K].distance,path:_(G,q,K)}}function _(G,q,K){for(var B=[],R=K;R!==q;)B.push(R),R=G[R].predecessor;return B.push(q),B.reverse()}}),T=o((D,A)=>{A.exports=I;function I(_){var G=0,q=[],K={},B=[];function R(W){var z=K[W]={onStack:!0,lowlink:G,index:G++};if(q.push(W),_.successors(W).forEach(function(Q){Object.hasOwn(K,Q)?K[Q].onStack&&(z.lowlink=Math.min(z.lowlink,K[Q].index)):(R(Q),z.lowlink=Math.min(z.lowlink,K[Q].lowlink))}),z.lowlink===z.index){var L=[],F;do F=q.pop(),K[F].onStack=!1,L.push(F);while(W!==F);B.push(L)}}return _.nodes().forEach(function(W){Object.hasOwn(K,W)||R(W)}),B}}),E=o((D,A)=>{var I=T();A.exports=_;function _(G){return I(G).filter(function(q){return q.length>1||q.length===1&&G.hasEdge(q[0],q[0])})}}),C=o((D,A)=>{A.exports=_;var I=()=>1;function _(q,K,B){return G(q,K||I,B||function(R){return q.outEdges(R)})}function G(q,K,B){var R={},W=q.nodes();return W.forEach(function(z){R[z]={},R[z][z]={distance:0},W.forEach(function(L){z!==L&&(R[z][L]={distance:Number.POSITIVE_INFINITY})}),B(z).forEach(function(L){var F=L.v===z?L.w:L.v,Q=K(L);R[z][F]={distance:Q,predecessor:z}})}),W.forEach(function(z){var L=R[z];W.forEach(function(F){var Q=R[F];W.forEach(function(ne){var Z=Q[z],ee=L[ne],oe=Q[ne],pe=Z.distance+ee.distance;pe<oe.distance&&(oe.distance=pe,oe.predecessor=ee.predecessor)})})}),R}}),N=o((D,A)=>{function I(G){var q={},K={},B=[];function R(W){if(Object.hasOwn(K,W))throw new _;Object.hasOwn(q,W)||(K[W]=!0,q[W]=!0,G.predecessors(W).forEach(R),delete K[W],B.push(W))}if(G.sinks().forEach(R),Object.keys(q).length!==G.nodeCount())throw new _;return B}var _=class extends Error{constructor(){super(...arguments)}};A.exports=I,I.CycleException=_}),k=o((D,A)=>{var I=N();A.exports=_;function _(G){try{I(G)}catch(q){if(q instanceof I.CycleException)return!1;throw q}return!0}}),H=o((D,A)=>{A.exports=I;function I(G,q,K,B,R){Array.isArray(q)||(q=[q]);var W=(G.isDirected()?G.successors:G.neighbors).bind(G),z={};return q.forEach(function(L){if(!G.hasNode(L))throw new Error("Graph does not have node: "+L);R=_(G,L,K==="post",z,W,B,R)}),R}function _(G,q,K,B,R,W,z){return Object.hasOwn(B,q)||(B[q]=!0,K||(z=W(z,q)),R(q).forEach(function(L){z=_(G,L,K,B,R,W,z)}),K&&(z=W(z,q))),z}}),M=o((D,A)=>{var I=H();A.exports=_;function _(G,q,K){return I(G,q,K,function(B,R){return B.push(R),B},[])}}),Y=o((D,A)=>{var I=M();A.exports=_;function _(G,q){return I(G,q,"post")}}),$=o((D,A)=>{var I=M();A.exports=_;function _(G,q){return I(G,q,"pre")}}),X=o((D,A)=>{var I=u(),_=b();A.exports=G;function G(q,K){var B=new I,R={},W=new _,z;function L(Q){var ne=Q.v===z?Q.w:Q.v,Z=W.priority(ne);if(Z!==void 0){var ee=K(Q);ee<Z&&(R[ne]=z,W.decrease(ne,ee))}}if(q.nodeCount()===0)return B;q.nodes().forEach(function(Q){W.add(Q,Number.POSITIVE_INFINITY),B.setNode(Q)}),W.decrease(q.nodes()[0],0);for(var F=!1;W.size()>0;){if(z=W.removeMin(),Object.hasOwn(R,z))B.setEdge(z,R[z]);else{if(F)throw new Error("Input graph is not connected: "+q);F=!0}q.nodeEdges(z).forEach(L)}return B}}),P=o((D,A)=>{var I=p(),_=x();A.exports=G;function G(K,B,R,W){return q(K,B,R,W||function(z){return K.outEdges(z)})}function q(K,B,R,W){if(R===void 0)return I(K,B,R,W);for(var z=!1,L=K.nodes(),F=0;F<L.length;F++){for(var Q=W(L[F]),ne=0;ne<Q.length;ne++){var Z=Q[ne],ee=Z.v===L[F]?Z.v:Z.w,oe=ee===Z.v?Z.w:Z.v;R({v:ee,w:oe})<0&&(z=!0)}if(z)return _(K,B,R,W)}return I(K,B,R,W)}}),U=o((D,A)=>{A.exports={bellmanFord:x(),components:g(),dijkstra:p(),dijkstraAll:w(),extractPath:S(),findCycles:E(),floydWarshall:C(),isAcyclic:k(),postorder:Y(),preorder:$(),prim:X(),shortestPaths:P(),reduce:H(),tarjan:T(),topsort:N()}}),V=m();r.exports={Graph:V.Graph,json:h(),alg:U(),version:V.version}}),dz=Jt((e,r)=>{var s=class{constructor(){let c={};c._next=c._prev=c,this._sentinel=c}dequeue(){let c=this._sentinel,u=c._prev;if(u!==c)return l(u),u}enqueue(c){let u=this._sentinel;c._prev&&c._next&&l(c),c._next=u._next,u._next._prev=c,u._next=c,c._prev=u}toString(){let c=[],u=this._sentinel,f=u._prev;for(;f!==u;)c.push(JSON.stringify(f,o)),f=f._prev;return"["+c.join(", ")+"]"}};function l(c){c._prev._next=c._next,c._next._prev=c._prev,delete c._next,delete c._prev}function o(c,u){if(c!=="_next"&&c!=="_prev")return u}r.exports=s}),fz=Jt((e,r)=>{var s=ts().Graph,l=dz();r.exports=c;var o=()=>1;function c(g,b){if(g.nodeCount()<=1)return[];let p=m(g,b||o);return u(p.graph,p.buckets,p.zeroIdx).flatMap(w=>g.outEdges(w.v,w.w))}function u(g,b,p){let w=[],S=b[b.length-1],T=b[0],E;for(;g.nodeCount();){for(;E=T.dequeue();)f(g,b,p,E);for(;E=S.dequeue();)f(g,b,p,E);if(g.nodeCount()){for(let C=b.length-2;C>0;--C)if(E=b[C].dequeue(),E){w=w.concat(f(g,b,p,E,!0));break}}}return w}function f(g,b,p,w,S){let T=S?[]:void 0;return g.inEdges(w.v).forEach(E=>{let C=g.edge(E),N=g.node(E.v);S&&T.push({v:E.v,w:E.w}),N.out-=C,h(b,p,N)}),g.outEdges(w.v).forEach(E=>{let C=g.edge(E),N=E.w,k=g.node(N);k.in-=C,h(b,p,k)}),g.removeNode(w.v),T}function m(g,b){let p=new s,w=0,S=0;g.nodes().forEach(C=>{p.setNode(C,{v:C,in:0,out:0})}),g.edges().forEach(C=>{let N=p.edge(C.v,C.w)||0,k=b(C),H=N+k;p.setEdge(C.v,C.w,H),S=Math.max(S,p.node(C.v).out+=k),w=Math.max(w,p.node(C.w).in+=k)});let T=x(S+w+3).map(()=>new l),E=w+1;return p.nodes().forEach(C=>{h(T,E,p.node(C))}),{graph:p,buckets:T,zeroIdx:E}}function h(g,b,p){p.out?p.in?g[p.out-p.in+b].enqueue(p):g[g.length-1].enqueue(p):g[0].enqueue(p)}function x(g){let b=[];for(let p=0;p<g;p++)b.push(p);return b}}),In=Jt((e,r)=>{var s=ts().Graph;r.exports={addBorderNode:b,addDummyNode:l,applyWithChunking:S,asNonCompoundGraph:c,buildLayerMatrix:h,intersectRect:m,mapValues:$,maxRank:T,normalizeRanks:x,notime:N,partition:E,pick:Y,predecessorWeights:f,range:M,removeEmptyRanks:g,simplify:o,successorWeights:u,time:C,uniqueId:H,zipObject:X};function l(P,U,V,D){for(var A=D;P.hasNode(A);)A=H(D);return V.dummy=U,P.setNode(A,V),A}function o(P){let U=new s().setGraph(P.graph());return P.nodes().forEach(V=>U.setNode(V,P.node(V))),P.edges().forEach(V=>{let D=U.edge(V.v,V.w)||{weight:0,minlen:1},A=P.edge(V);U.setEdge(V.v,V.w,{weight:D.weight+A.weight,minlen:Math.max(D.minlen,A.minlen)})}),U}function c(P){let U=new s({multigraph:P.isMultigraph()}).setGraph(P.graph());return P.nodes().forEach(V=>{P.children(V).length||U.setNode(V,P.node(V))}),P.edges().forEach(V=>{U.setEdge(V,P.edge(V))}),U}function u(P){let U=P.nodes().map(V=>{let D={};return P.outEdges(V).forEach(A=>{D[A.w]=(D[A.w]||0)+P.edge(A).weight}),D});return X(P.nodes(),U)}function f(P){let U=P.nodes().map(V=>{let D={};return P.inEdges(V).forEach(A=>{D[A.v]=(D[A.v]||0)+P.edge(A).weight}),D});return X(P.nodes(),U)}function m(P,U){let V=P.x,D=P.y,A=U.x-V,I=U.y-D,_=P.width/2,G=P.height/2;if(!A&&!I)throw new Error("Not possible to find intersection inside of the rectangle");let q,K;return Math.abs(I)*_>Math.abs(A)*G?(I<0&&(G=-G),q=G*A/I,K=G):(A<0&&(_=-_),q=_,K=_*I/A),{x:V+q,y:D+K}}function h(P){let U=M(T(P)+1).map(()=>[]);return P.nodes().forEach(V=>{let D=P.node(V),A=D.rank;A!==void 0&&(U[A][D.order]=V)}),U}function x(P){let U=P.nodes().map(D=>{let A=P.node(D).rank;return A===void 0?Number.MAX_VALUE:A}),V=S(Math.min,U);P.nodes().forEach(D=>{let A=P.node(D);Object.hasOwn(A,"rank")&&(A.rank-=V)})}function g(P){let U=P.nodes().map(_=>P.node(_).rank).filter(_=>_!==void 0),V=S(Math.min,U),D=[];P.nodes().forEach(_=>{let G=P.node(_).rank-V;D[G]||(D[G]=[]),D[G].push(_)});let A=0,I=P.graph().nodeRankFactor;Array.from(D).forEach((_,G)=>{_===void 0&&G%I!==0?--A:_!==void 0&&A&&_.forEach(q=>P.node(q).rank+=A)})}function b(P,U,V,D){let A={width:0,height:0};return arguments.length>=4&&(A.rank=V,A.order=D),l(P,"border",A,U)}function p(P,U=w){let V=[];for(let D=0;D<P.length;D+=U){let A=P.slice(D,D+U);V.push(A)}return V}var w=65535;function S(P,U){if(U.length>w){let V=p(U);return P.apply(null,V.map(D=>P.apply(null,D)))}else return P.apply(null,U)}function T(P){let U=P.nodes().map(V=>{let D=P.node(V).rank;return D===void 0?Number.MIN_VALUE:D});return S(Math.max,U)}function E(P,U){let V={lhs:[],rhs:[]};return P.forEach(D=>{U(D)?V.lhs.push(D):V.rhs.push(D)}),V}function C(P,U){let V=Date.now();try{return U()}finally{console.log(P+" time: "+(Date.now()-V)+"ms")}}function N(P,U){return U()}var k=0;function H(P){var U=++k;return P+(""+U)}function M(P,U,V=1){U==null&&(U=P,P=0);let D=I=>I<U;V<0&&(D=I=>U<I);let A=[];for(let I=P;D(I);I+=V)A.push(I);return A}function Y(P,U){let V={};for(let D of U)P[D]!==void 0&&(V[D]=P[D]);return V}function $(P,U){let V=U;return typeof U=="string"&&(V=D=>D[U]),Object.entries(P).reduce((D,[A,I])=>(D[A]=V(I,A),D),{})}function X(P,U){return P.reduce((V,D,A)=>(V[D]=U[A],V),{})}}),hz=Jt((e,r)=>{var s=fz(),l=In().uniqueId;r.exports={run:o,undo:u};function o(f){(f.graph().acyclicer==="greedy"?s(f,m(f)):c(f)).forEach(h=>{let x=f.edge(h);f.removeEdge(h),x.forwardName=h.name,x.reversed=!0,f.setEdge(h.w,h.v,x,l("rev"))});function m(h){return x=>h.edge(x).weight}}function c(f){let m=[],h={},x={};function g(b){Object.hasOwn(x,b)||(x[b]=!0,h[b]=!0,f.outEdges(b).forEach(p=>{Object.hasOwn(h,p.w)?m.push(p):g(p.w)}),delete h[b])}return f.nodes().forEach(g),m}function u(f){f.edges().forEach(m=>{let h=f.edge(m);if(h.reversed){f.removeEdge(m);let x=h.forwardName;delete h.reversed,delete h.forwardName,f.setEdge(m.w,m.v,h,x)}})}}),mz=Jt((e,r)=>{var s=In();r.exports={run:l,undo:c};function l(u){u.graph().dummyChains=[],u.edges().forEach(f=>o(u,f))}function o(u,f){let m=f.v,h=u.node(m).rank,x=f.w,g=u.node(x).rank,b=f.name,p=u.edge(f),w=p.labelRank;if(g===h+1)return;u.removeEdge(f);let S,T,E;for(E=0,++h;h<g;++E,++h)p.points=[],T={width:0,height:0,edgeLabel:p,edgeObj:f,rank:h},S=s.addDummyNode(u,"edge",T,"_d"),h===w&&(T.width=p.width,T.height=p.height,T.dummy="edge-label",T.labelpos=p.labelpos),u.setEdge(m,S,{weight:p.weight},b),E===0&&u.graph().dummyChains.push(S),m=S;u.setEdge(m,x,{weight:p.weight},b)}function c(u){u.graph().dummyChains.forEach(f=>{let m=u.node(f),h=m.edgeLabel,x;for(u.setEdge(m.edgeObj,h);m.dummy;)x=u.successors(f)[0],u.removeNode(f),h.points.push({x:m.x,y:m.y}),m.dummy==="edge-label"&&(h.x=m.x,h.y=m.y,h.width=m.width,h.height=m.height),f=x,m=u.node(f)})}}),Lu=Jt((e,r)=>{var{applyWithChunking:s}=In();r.exports={longestPath:l,slack:o};function l(c){var u={};function f(m){var h=c.node(m);if(Object.hasOwn(u,m))return h.rank;u[m]=!0;let x=c.outEdges(m).map(b=>b==null?Number.POSITIVE_INFINITY:f(b.w)-c.edge(b).minlen);var g=s(Math.min,x);return g===Number.POSITIVE_INFINITY&&(g=0),h.rank=g}c.sources().forEach(f)}function o(c,u){return c.node(u.w).rank-c.node(u.v).rank-c.edge(u).minlen}}),sN=Jt((e,r)=>{var s=ts().Graph,l=Lu().slack;r.exports=o;function o(m){var h=new s({directed:!1}),x=m.nodes()[0],g=m.nodeCount();h.setNode(x,{});for(var b,p;c(h,m)<g;)b=u(h,m),p=h.hasNode(b.v)?l(m,b):-l(m,b),f(h,m,p);return h}function c(m,h){function x(g){h.nodeEdges(g).forEach(b=>{var p=b.v,w=g===p?b.w:p;!m.hasNode(w)&&!l(h,b)&&(m.setNode(w,{}),m.setEdge(g,w,{}),x(w))})}return m.nodes().forEach(x),m.nodeCount()}function u(m,h){return h.edges().reduce((x,g)=>{let b=Number.POSITIVE_INFINITY;return m.hasNode(g.v)!==m.hasNode(g.w)&&(b=l(h,g)),b<x[0]?[b,g]:x},[Number.POSITIVE_INFINITY,null])[1]}function f(m,h,x){m.nodes().forEach(g=>h.node(g).rank+=x)}}),xz=Jt((e,r)=>{var s=sN(),l=Lu().slack,o=Lu().longestPath,c=ts().alg.preorder,u=ts().alg.postorder,f=In().simplify;r.exports=m,m.initLowLimValues=b,m.initCutValues=h,m.calcCutValue=g,m.leaveEdge=w,m.enterEdge=S,m.exchangeEdges=T;function m(k){k=f(k),o(k);var H=s(k);b(H),h(H,k);for(var M,Y;M=w(H);)Y=S(H,k,M),T(H,k,M,Y)}function h(k,H){var M=u(k,k.nodes());M=M.slice(0,M.length-1),M.forEach(Y=>x(k,H,Y))}function x(k,H,M){var Y=k.node(M),$=Y.parent;k.edge(M,$).cutvalue=g(k,H,M)}function g(k,H,M){var Y=k.node(M),$=Y.parent,X=!0,P=H.edge(M,$),U=0;return P||(X=!1,P=H.edge($,M)),U=P.weight,H.nodeEdges(M).forEach(V=>{var D=V.v===M,A=D?V.w:V.v;if(A!==$){var I=D===X,_=H.edge(V).weight;if(U+=I?_:-_,C(k,M,A)){var G=k.edge(M,A).cutvalue;U+=I?-G:G}}}),U}function b(k,H){arguments.length<2&&(H=k.nodes()[0]),p(k,{},1,H)}function p(k,H,M,Y,$){var X=M,P=k.node(Y);return H[Y]=!0,k.neighbors(Y).forEach(U=>{Object.hasOwn(H,U)||(M=p(k,H,M,U,Y))}),P.low=X,P.lim=M++,$?P.parent=$:delete P.parent,M}function w(k){return k.edges().find(H=>k.edge(H).cutvalue<0)}function S(k,H,M){var Y=M.v,$=M.w;H.hasEdge(Y,$)||(Y=M.w,$=M.v);var X=k.node(Y),P=k.node($),U=X,V=!1;X.lim>P.lim&&(U=P,V=!0);var D=H.edges().filter(A=>V===N(k,k.node(A.v),U)&&V!==N(k,k.node(A.w),U));return D.reduce((A,I)=>l(H,I)<l(H,A)?I:A)}function T(k,H,M,Y){var $=M.v,X=M.w;k.removeEdge($,X),k.setEdge(Y.v,Y.w,{}),b(k),h(k,H),E(k,H)}function E(k,H){var M=k.nodes().find($=>!H.node($).parent),Y=c(k,M);Y=Y.slice(1),Y.forEach($=>{var X=k.node($).parent,P=H.edge($,X),U=!1;P||(P=H.edge(X,$),U=!0),H.node($).rank=H.node(X).rank+(U?P.minlen:-P.minlen)})}function C(k,H,M){return k.hasEdge(H,M)}function N(k,H,M){return M.low<=H.lim&&H.lim<=M.lim}}),gz=Jt((e,r)=>{var s=Lu(),l=s.longestPath,o=sN(),c=xz();r.exports=u;function u(x){var g=x.graph().ranker;if(g instanceof Function)return g(x);switch(x.graph().ranker){case"network-simplex":h(x);break;case"tight-tree":m(x);break;case"longest-path":f(x);break;case"none":break;default:h(x)}}var f=l;function m(x){l(x),o(x)}function h(x){c(x)}}),pz=Jt((e,r)=>{r.exports=s;function s(c){let u=o(c);c.graph().dummyChains.forEach(f=>{let m=c.node(f),h=m.edgeObj,x=l(c,u,h.v,h.w),g=x.path,b=x.lca,p=0,w=g[p],S=!0;for(;f!==h.w;){if(m=c.node(f),S){for(;(w=g[p])!==b&&c.node(w).maxRank<m.rank;)p++;w===b&&(S=!1)}if(!S){for(;p<g.length-1&&c.node(w=g[p+1]).minRank<=m.rank;)p++;w=g[p]}c.setParent(f,w),f=c.successors(f)[0]}})}function l(c,u,f,m){let h=[],x=[],g=Math.min(u[f].low,u[m].low),b=Math.max(u[f].lim,u[m].lim),p,w;p=f;do p=c.parent(p),h.push(p);while(p&&(u[p].low>g||b>u[p].lim));for(w=p,p=m;(p=c.parent(p))!==w;)x.push(p);return{path:h.concat(x.reverse()),lca:w}}function o(c){let u={},f=0;function m(h){let x=f;c.children(h).forEach(m),u[h]={low:x,lim:f++}}return c.children().forEach(m),u}}),bz=Jt((e,r)=>{var s=In();r.exports={run:l,cleanup:f};function l(m){let h=s.addDummyNode(m,"root",{},"_root"),x=c(m),g=Object.values(x),b=s.applyWithChunking(Math.max,g)-1,p=2*b+1;m.graph().nestingRoot=h,m.edges().forEach(S=>m.edge(S).minlen*=p);let w=u(m)+1;m.children().forEach(S=>o(m,h,p,w,b,x,S)),m.graph().nodeRankFactor=p}function o(m,h,x,g,b,p,w){let S=m.children(w);if(!S.length){w!==h&&m.setEdge(h,w,{weight:0,minlen:x});return}let T=s.addBorderNode(m,"_bt"),E=s.addBorderNode(m,"_bb"),C=m.node(w);m.setParent(T,w),C.borderTop=T,m.setParent(E,w),C.borderBottom=E,S.forEach(N=>{o(m,h,x,g,b,p,N);let k=m.node(N),H=k.borderTop?k.borderTop:N,M=k.borderBottom?k.borderBottom:N,Y=k.borderTop?g:2*g,$=H!==M?1:b-p[w]+1;m.setEdge(T,H,{weight:Y,minlen:$,nestingEdge:!0}),m.setEdge(M,E,{weight:Y,minlen:$,nestingEdge:!0})}),m.parent(w)||m.setEdge(h,T,{weight:0,minlen:b+p[w]})}function c(m){var h={};function x(g,b){var p=m.children(g);p&&p.length&&p.forEach(w=>x(w,b+1)),h[g]=b}return m.children().forEach(g=>x(g,1)),h}function u(m){return m.edges().reduce((h,x)=>h+m.edge(x).weight,0)}function f(m){var h=m.graph();m.removeNode(h.nestingRoot),delete h.nestingRoot,m.edges().forEach(x=>{var g=m.edge(x);g.nestingEdge&&m.removeEdge(x)})}}),yz=Jt((e,r)=>{var s=In();r.exports=l;function l(c){function u(f){let m=c.children(f),h=c.node(f);if(m.length&&m.forEach(u),Object.hasOwn(h,"minRank")){h.borderLeft=[],h.borderRight=[];for(let x=h.minRank,g=h.maxRank+1;x<g;++x)o(c,"borderLeft","_bl",f,h,x),o(c,"borderRight","_br",f,h,x)}}c.children().forEach(u)}function o(c,u,f,m,h,x){let g={width:0,height:0,rank:x,borderType:u},b=h[u][x-1],p=s.addDummyNode(c,"border",g,f);h[u][x]=p,c.setParent(p,m),b&&c.setEdge(b,p,{weight:1})}}),vz=Jt((e,r)=>{r.exports={adjust:s,undo:l};function s(x){let g=x.graph().rankdir.toLowerCase();(g==="lr"||g==="rl")&&o(x)}function l(x){let g=x.graph().rankdir.toLowerCase();(g==="bt"||g==="rl")&&u(x),(g==="lr"||g==="rl")&&(m(x),o(x))}function o(x){x.nodes().forEach(g=>c(x.node(g))),x.edges().forEach(g=>c(x.edge(g)))}function c(x){let g=x.width;x.width=x.height,x.height=g}function u(x){x.nodes().forEach(g=>f(x.node(g))),x.edges().forEach(g=>{let b=x.edge(g);b.points.forEach(f),Object.hasOwn(b,"y")&&f(b)})}function f(x){x.y=-x.y}function m(x){x.nodes().forEach(g=>h(x.node(g))),x.edges().forEach(g=>{let b=x.edge(g);b.points.forEach(h),Object.hasOwn(b,"x")&&h(b)})}function h(x){let g=x.x;x.x=x.y,x.y=g}}),jz=Jt((e,r)=>{var s=In();r.exports=l;function l(o){let c={},u=o.nodes().filter(g=>!o.children(g).length),f=u.map(g=>o.node(g).rank),m=s.applyWithChunking(Math.max,f),h=s.range(m+1).map(()=>[]);function x(g){if(c[g])return;c[g]=!0;let b=o.node(g);h[b.rank].push(g),o.successors(g).forEach(x)}return u.sort((g,b)=>o.node(g).rank-o.node(b).rank).forEach(x),h}}),wz=Jt((e,r)=>{var s=In().zipObject;r.exports=l;function l(c,u){let f=0;for(let m=1;m<u.length;++m)f+=o(c,u[m-1],u[m]);return f}function o(c,u,f){let m=s(f,f.map((w,S)=>S)),h=u.flatMap(w=>c.outEdges(w).map(S=>({pos:m[S.w],weight:c.edge(S).weight})).sort((S,T)=>S.pos-T.pos)),x=1;for(;x<f.length;)x<<=1;let g=2*x-1;x-=1;let b=new Array(g).fill(0),p=0;return h.forEach(w=>{let S=w.pos+x;b[S]+=w.weight;let T=0;for(;S>0;)S%2&&(T+=b[S+1]),S=S-1>>1,b[S]+=w.weight;p+=w.weight*T}),p}}),Nz=Jt((e,r)=>{r.exports=s;function s(l,o=[]){return o.map(c=>{let u=l.inEdges(c);if(u.length){let f=u.reduce((m,h)=>{let x=l.edge(h),g=l.node(h.v);return{sum:m.sum+x.weight*g.order,weight:m.weight+x.weight}},{sum:0,weight:0});return{v:c,barycenter:f.sum/f.weight,weight:f.weight}}else return{v:c}})}}),kz=Jt((e,r)=>{var s=In();r.exports=l;function l(u,f){let m={};u.forEach((x,g)=>{let b=m[x.v]={indegree:0,in:[],out:[],vs:[x.v],i:g};x.barycenter!==void 0&&(b.barycenter=x.barycenter,b.weight=x.weight)}),f.edges().forEach(x=>{let g=m[x.v],b=m[x.w];g!==void 0&&b!==void 0&&(b.indegree++,g.out.push(m[x.w]))});let h=Object.values(m).filter(x=>!x.indegree);return o(h)}function o(u){let f=[];function m(x){return g=>{g.merged||(g.barycenter===void 0||x.barycenter===void 0||g.barycenter>=x.barycenter)&&c(x,g)}}function h(x){return g=>{g.in.push(x),--g.indegree===0&&u.push(g)}}for(;u.length;){let x=u.pop();f.push(x),x.in.reverse().forEach(m(x)),x.out.forEach(h(x))}return f.filter(x=>!x.merged).map(x=>s.pick(x,["vs","i","barycenter","weight"]))}function c(u,f){let m=0,h=0;u.weight&&(m+=u.barycenter*u.weight,h+=u.weight),f.weight&&(m+=f.barycenter*f.weight,h+=f.weight),u.vs=f.vs.concat(u.vs),u.barycenter=m/h,u.weight=h,u.i=Math.min(f.i,u.i),f.merged=!0}}),Sz=Jt((e,r)=>{var s=In();r.exports=l;function l(u,f){let m=s.partition(u,T=>Object.hasOwn(T,"barycenter")),h=m.lhs,x=m.rhs.sort((T,E)=>E.i-T.i),g=[],b=0,p=0,w=0;h.sort(c(!!f)),w=o(g,x,w),h.forEach(T=>{w+=T.vs.length,g.push(T.vs),b+=T.barycenter*T.weight,p+=T.weight,w=o(g,x,w)});let S={vs:g.flat(!0)};return p&&(S.barycenter=b/p,S.weight=p),S}function o(u,f,m){let h;for(;f.length&&(h=f[f.length-1]).i<=m;)f.pop(),u.push(h.vs),m++;return m}function c(u){return(f,m)=>f.barycenter<m.barycenter?-1:f.barycenter>m.barycenter?1:u?m.i-f.i:f.i-m.i}}),Cz=Jt((e,r)=>{var s=Nz(),l=kz(),o=Sz();r.exports=c;function c(m,h,x,g){let b=m.children(h),p=m.node(h),w=p?p.borderLeft:void 0,S=p?p.borderRight:void 0,T={};w&&(b=b.filter(k=>k!==w&&k!==S));let E=s(m,b);E.forEach(k=>{if(m.children(k.v).length){let H=c(m,k.v,x,g);T[k.v]=H,Object.hasOwn(H,"barycenter")&&f(k,H)}});let C=l(E,x);u(C,T);let N=o(C,g);if(w&&(N.vs=[w,N.vs,S].flat(!0),m.predecessors(w).length)){let k=m.node(m.predecessors(w)[0]),H=m.node(m.predecessors(S)[0]);Object.hasOwn(N,"barycenter")||(N.barycenter=0,N.weight=0),N.barycenter=(N.barycenter*N.weight+k.order+H.order)/(N.weight+2),N.weight+=2}return N}function u(m,h){m.forEach(x=>{x.vs=x.vs.flatMap(g=>h[g]?h[g].vs:g)})}function f(m,h){m.barycenter!==void 0?(m.barycenter=(m.barycenter*m.weight+h.barycenter*h.weight)/(m.weight+h.weight),m.weight+=h.weight):(m.barycenter=h.barycenter,m.weight=h.weight)}}),Ez=Jt((e,r)=>{var s=ts().Graph,l=In();r.exports=o;function o(u,f,m,h){h||(h=u.nodes());let x=c(u),g=new s({compound:!0}).setGraph({root:x}).setDefaultNodeLabel(b=>u.node(b));return h.forEach(b=>{let p=u.node(b),w=u.parent(b);(p.rank===f||p.minRank<=f&&f<=p.maxRank)&&(g.setNode(b),g.setParent(b,w||x),u[m](b).forEach(S=>{let T=S.v===b?S.w:S.v,E=g.edge(T,b),C=E!==void 0?E.weight:0;g.setEdge(T,b,{weight:u.edge(S).weight+C})}),Object.hasOwn(p,"minRank")&&g.setNode(b,{borderLeft:p.borderLeft[f],borderRight:p.borderRight[f]}))}),g}function c(u){for(var f;u.hasNode(f=l.uniqueId("_root")););return f}}),Tz=Jt((e,r)=>{r.exports=s;function s(l,o,c){let u={},f;c.forEach(m=>{let h=l.parent(m),x,g;for(;h;){if(x=l.parent(h),x?(g=u[x],u[x]=h):(g=f,f=h),g&&g!==h){o.setEdge(g,h);return}h=x}})}}),Az=Jt((e,r)=>{var s=jz(),l=wz(),o=Cz(),c=Ez(),u=Tz(),f=ts().Graph,m=In();r.exports=h;function h(p,w={}){if(typeof w.customOrder=="function"){w.customOrder(p,h);return}let S=m.maxRank(p),T=x(p,m.range(1,S+1),"inEdges"),E=x(p,m.range(S-1,-1,-1),"outEdges"),C=s(p);if(b(p,C),w.disableOptimalOrderHeuristic)return;let N=Number.POSITIVE_INFINITY,k,H=w.constraints||[];for(let M=0,Y=0;Y<4;++M,++Y){g(M%2?T:E,M%4>=2,H),C=m.buildLayerMatrix(p);let $=l(p,C);$<N?(Y=0,k=Object.assign({},C),N=$):$===N&&(k=structuredClone(C))}b(p,k)}function x(p,w,S){let T=new Map,E=(C,N)=>{T.has(C)||T.set(C,[]),T.get(C).push(N)};for(let C of p.nodes()){let N=p.node(C);if(typeof N.rank=="number"&&E(N.rank,C),typeof N.minRank=="number"&&typeof N.maxRank=="number")for(let k=N.minRank;k<=N.maxRank;k++)k!==N.rank&&E(k,C)}return w.map(function(C){return c(p,C,S,T.get(C)||[])})}function g(p,w,S){let T=new f;p.forEach(function(E){S.forEach(k=>T.setEdge(k.left,k.right));let C=E.graph().root,N=o(E,C,T,w);N.vs.forEach((k,H)=>E.node(k).order=H),u(E,T,N.vs)})}function b(p,w){Object.values(w).forEach(S=>S.forEach((T,E)=>p.node(T).order=E))}}),_z=Jt((e,r)=>{var s=ts().Graph,l=In();r.exports={positionX:S,findType1Conflicts:o,findType2Conflicts:c,addConflict:f,hasConflict:m,verticalAlignment:h,horizontalCompaction:x,alignCoordinates:p,findSmallestWidthAlignment:b,balance:w};function o(C,N){let k={};function H(M,Y){let $=0,X=0,P=M.length,U=Y[Y.length-1];return Y.forEach((V,D)=>{let A=u(C,V),I=A?C.node(A).order:P;(A||V===U)&&(Y.slice(X,D+1).forEach(_=>{C.predecessors(_).forEach(G=>{let q=C.node(G),K=q.order;(K<$||I<K)&&!(q.dummy&&C.node(_).dummy)&&f(k,G,_)})}),X=D+1,$=I)}),Y}return N.length&&N.reduce(H),k}function c(C,N){let k={};function H(Y,$,X,P,U){let V;l.range($,X).forEach(D=>{V=Y[D],C.node(V).dummy&&C.predecessors(V).forEach(A=>{let I=C.node(A);I.dummy&&(I.order<P||I.order>U)&&f(k,A,V)})})}function M(Y,$){let X=-1,P,U=0;return $.forEach((V,D)=>{if(C.node(V).dummy==="border"){let A=C.predecessors(V);A.length&&(P=C.node(A[0]).order,H($,U,D,X,P),U=D,X=P)}H($,U,$.length,P,Y.length)}),$}return N.length&&N.reduce(M),k}function u(C,N){if(C.node(N).dummy)return C.predecessors(N).find(k=>C.node(k).dummy)}function f(C,N,k){if(N>k){let M=N;N=k,k=M}let H=C[N];H||(C[N]=H={}),H[k]=!0}function m(C,N,k){if(N>k){let H=N;N=k,k=H}return!!C[N]&&Object.hasOwn(C[N],k)}function h(C,N,k,H){let M={},Y={},$={};return N.forEach(X=>{X.forEach((P,U)=>{M[P]=P,Y[P]=P,$[P]=U})}),N.forEach(X=>{let P=-1;X.forEach(U=>{let V=H(U);if(V.length){V=V.sort((A,I)=>$[A]-$[I]);let D=(V.length-1)/2;for(let A=Math.floor(D),I=Math.ceil(D);A<=I;++A){let _=V[A];Y[U]===U&&P<$[_]&&!m(k,U,_)&&(Y[_]=U,Y[U]=M[U]=M[_],P=$[_])}}})}),{root:M,align:Y}}function x(C,N,k,H,M){let Y={},$=g(C,N,k,M),X=M?"borderLeft":"borderRight";function P(D,A){let I=$.nodes().slice(),_={},G=I.pop();for(;G;){if(_[G])D(G);else{_[G]=!0,I.push(G);for(let q of A(G))I.push(q)}G=I.pop()}}function U(D){Y[D]=$.inEdges(D).reduce((A,I)=>Math.max(A,Y[I.v]+$.edge(I)),0)}function V(D){let A=$.outEdges(D).reduce((_,G)=>Math.min(_,Y[G.w]-$.edge(G)),Number.POSITIVE_INFINITY),I=C.node(D);A!==Number.POSITIVE_INFINITY&&I.borderType!==X&&(Y[D]=Math.max(Y[D],A))}return P(U,$.predecessors.bind($)),P(V,$.successors.bind($)),Object.keys(H).forEach(D=>Y[D]=Y[k[D]]),Y}function g(C,N,k,H){let M=new s,Y=C.graph(),$=T(Y.nodesep,Y.edgesep,H);return N.forEach(X=>{let P;X.forEach(U=>{let V=k[U];if(M.setNode(V),P){var D=k[P],A=M.edge(D,V);M.setEdge(D,V,Math.max($(C,U,P),A||0))}P=U})}),M}function b(C,N){return Object.values(N).reduce((k,H)=>{let M=Number.NEGATIVE_INFINITY,Y=Number.POSITIVE_INFINITY;Object.entries(H).forEach(([X,P])=>{let U=E(C,X)/2;M=Math.max(P+U,M),Y=Math.min(P-U,Y)});let $=M-Y;return $<k[0]&&(k=[$,H]),k},[Number.POSITIVE_INFINITY,null])[1]}function p(C,N){let k=Object.values(N),H=l.applyWithChunking(Math.min,k),M=l.applyWithChunking(Math.max,k);["u","d"].forEach(Y=>{["l","r"].forEach($=>{let X=Y+$,P=C[X];if(P===N)return;let U=Object.values(P),V=H-l.applyWithChunking(Math.min,U);$!=="l"&&(V=M-l.applyWithChunking(Math.max,U)),V&&(C[X]=l.mapValues(P,D=>D+V))})})}function w(C,N){return l.mapValues(C.ul,(k,H)=>{if(N)return C[N.toLowerCase()][H];{let M=Object.values(C).map(Y=>Y[H]).sort((Y,$)=>Y-$);return(M[1]+M[2])/2}})}function S(C){let N=l.buildLayerMatrix(C),k=Object.assign(o(C,N),c(C,N)),H={},M;["u","d"].forEach($=>{M=$==="u"?N:Object.values(N).reverse(),["l","r"].forEach(X=>{X==="r"&&(M=M.map(D=>Object.values(D).reverse()));let P=($==="u"?C.predecessors:C.successors).bind(C),U=h(C,M,k,P),V=x(C,M,U.root,U.align,X==="r");X==="r"&&(V=l.mapValues(V,D=>-D)),H[$+X]=V})});let Y=b(C,H);return p(H,Y),w(H,C.graph().align)}function T(C,N,k){return(H,M,Y)=>{let $=H.node(M),X=H.node(Y),P=0,U;if(P+=$.width/2,Object.hasOwn($,"labelpos"))switch($.labelpos.toLowerCase()){case"l":U=-$.width/2;break;case"r":U=$.width/2;break}if(U&&(P+=k?U:-U),U=0,P+=($.dummy?N:C)/2,P+=(X.dummy?N:C)/2,P+=X.width/2,Object.hasOwn(X,"labelpos"))switch(X.labelpos.toLowerCase()){case"l":U=X.width/2;break;case"r":U=-X.width/2;break}return U&&(P+=k?U:-U),U=0,P}}function E(C,N){return C.node(N).width}}),Mz=Jt((e,r)=>{var s=In(),l=_z().positionX;r.exports=o;function o(u){u=s.asNonCompoundGraph(u),c(u),Object.entries(l(u)).forEach(([f,m])=>u.node(f).x=m)}function c(u){let f=s.buildLayerMatrix(u),m=u.graph().ranksep,h=u.graph().rankalign,x=0;f.forEach(g=>{let b=g.reduce((p,w)=>{let S=u.node(w).height;return p>S?p:S},0);g.forEach(p=>{let w=u.node(p);h==="top"?w.y=x+w.height/2:h==="bottom"?w.y=x+b-w.height/2:w.y=x+b/2}),x+=b+m})}}),Dz=Jt((e,r)=>{var s=hz(),l=mz(),o=gz(),c=In().normalizeRanks,u=pz(),f=In().removeEmptyRanks,m=bz(),h=yz(),x=vz(),g=Az(),b=Mz(),p=In(),w=ts().Graph;r.exports=S;function S(F,Q={}){let ne=Q.debugTiming?p.time:p.notime;return ne("layout",()=>{let Z=ne(" buildLayoutGraph",()=>P(F));return ne(" runLayout",()=>T(Z,ne,Q)),ne(" updateInputGraph",()=>E(F,Z)),Z})}function T(F,Q,ne){Q(" makeSpaceForEdgeLabels",()=>U(F)),Q(" removeSelfEdges",()=>B(F)),Q(" acyclic",()=>s.run(F)),Q(" nestingGraph.run",()=>m.run(F)),Q(" rank",()=>o(p.asNonCompoundGraph(F))),Q(" injectEdgeLabelProxies",()=>V(F)),Q(" removeEmptyRanks",()=>f(F)),Q(" nestingGraph.cleanup",()=>m.cleanup(F)),Q(" normalizeRanks",()=>c(F)),Q(" assignRankMinMax",()=>D(F)),Q(" removeEdgeLabelProxies",()=>A(F)),Q(" normalize.run",()=>l.run(F)),Q(" parentDummyChains",()=>u(F)),Q(" addBorderSegments",()=>h(F)),Q(" order",()=>g(F,ne)),Q(" insertSelfEdges",()=>R(F)),Q(" adjustCoordinateSystem",()=>x.adjust(F)),Q(" position",()=>b(F)),Q(" positionSelfEdges",()=>W(F)),Q(" removeBorderNodes",()=>K(F)),Q(" normalize.undo",()=>l.undo(F)),Q(" fixupEdgeLabelCoords",()=>G(F)),Q(" undoCoordinateSystem",()=>x.undo(F)),Q(" translateGraph",()=>I(F)),Q(" assignNodeIntersects",()=>_(F)),Q(" reversePoints",()=>q(F)),Q(" acyclic.undo",()=>s.undo(F))}function E(F,Q){F.nodes().forEach(ne=>{let Z=F.node(ne),ee=Q.node(ne);Z&&(Z.x=ee.x,Z.y=ee.y,Z.order=ee.order,Z.rank=ee.rank,Q.children(ne).length&&(Z.width=ee.width,Z.height=ee.height))}),F.edges().forEach(ne=>{let Z=F.edge(ne),ee=Q.edge(ne);Z.points=ee.points,Object.hasOwn(ee,"x")&&(Z.x=ee.x,Z.y=ee.y)}),F.graph().width=Q.graph().width,F.graph().height=Q.graph().height}var C=["nodesep","edgesep","ranksep","marginx","marginy"],N={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},k=["acyclicer","ranker","rankdir","align","rankalign"],H=["width","height","rank"],M={width:0,height:0},Y=["minlen","weight","width","height","labeloffset"],$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},X=["labelpos"];function P(F){let Q=new w({multigraph:!0,compound:!0}),ne=L(F.graph());return Q.setGraph(Object.assign({},N,z(ne,C),p.pick(ne,k))),F.nodes().forEach(Z=>{let ee=L(F.node(Z)),oe=z(ee,H);Object.keys(M).forEach(pe=>{oe[pe]===void 0&&(oe[pe]=M[pe])}),Q.setNode(Z,oe),Q.setParent(Z,F.parent(Z))}),F.edges().forEach(Z=>{let ee=L(F.edge(Z));Q.setEdge(Z,Object.assign({},$,z(ee,Y),p.pick(ee,X)))}),Q}function U(F){let Q=F.graph();Q.ranksep/=2,F.edges().forEach(ne=>{let Z=F.edge(ne);Z.minlen*=2,Z.labelpos.toLowerCase()!=="c"&&(Q.rankdir==="TB"||Q.rankdir==="BT"?Z.width+=Z.labeloffset:Z.height+=Z.labeloffset)})}function V(F){F.edges().forEach(Q=>{let ne=F.edge(Q);if(ne.width&&ne.height){let Z=F.node(Q.v),ee={rank:(F.node(Q.w).rank-Z.rank)/2+Z.rank,e:Q};p.addDummyNode(F,"edge-proxy",ee,"_ep")}})}function D(F){let Q=0;F.nodes().forEach(ne=>{let Z=F.node(ne);Z.borderTop&&(Z.minRank=F.node(Z.borderTop).rank,Z.maxRank=F.node(Z.borderBottom).rank,Q=Math.max(Q,Z.maxRank))}),F.graph().maxRank=Q}function A(F){F.nodes().forEach(Q=>{let ne=F.node(Q);ne.dummy==="edge-proxy"&&(F.edge(ne.e).labelRank=ne.rank,F.removeNode(Q))})}function I(F){let Q=Number.POSITIVE_INFINITY,ne=0,Z=Number.POSITIVE_INFINITY,ee=0,oe=F.graph(),pe=oe.marginx||0,Se=oe.marginy||0;function Re(ze){let Be=ze.x,Xe=ze.y,_e=ze.width,Ye=ze.height;Q=Math.min(Q,Be-_e/2),ne=Math.max(ne,Be+_e/2),Z=Math.min(Z,Xe-Ye/2),ee=Math.max(ee,Xe+Ye/2)}F.nodes().forEach(ze=>Re(F.node(ze))),F.edges().forEach(ze=>{let Be=F.edge(ze);Object.hasOwn(Be,"x")&&Re(Be)}),Q-=pe,Z-=Se,F.nodes().forEach(ze=>{let Be=F.node(ze);Be.x-=Q,Be.y-=Z}),F.edges().forEach(ze=>{let Be=F.edge(ze);Be.points.forEach(Xe=>{Xe.x-=Q,Xe.y-=Z}),Object.hasOwn(Be,"x")&&(Be.x-=Q),Object.hasOwn(Be,"y")&&(Be.y-=Z)}),oe.width=ne-Q+pe,oe.height=ee-Z+Se}function _(F){F.edges().forEach(Q=>{let ne=F.edge(Q),Z=F.node(Q.v),ee=F.node(Q.w),oe,pe;ne.points?(oe=ne.points[0],pe=ne.points[ne.points.length-1]):(ne.points=[],oe=ee,pe=Z),ne.points.unshift(p.intersectRect(Z,oe)),ne.points.push(p.intersectRect(ee,pe))})}function G(F){F.edges().forEach(Q=>{let ne=F.edge(Q);if(Object.hasOwn(ne,"x"))switch((ne.labelpos==="l"||ne.labelpos==="r")&&(ne.width-=ne.labeloffset),ne.labelpos){case"l":ne.x-=ne.width/2+ne.labeloffset;break;case"r":ne.x+=ne.width/2+ne.labeloffset;break}})}function q(F){F.edges().forEach(Q=>{let ne=F.edge(Q);ne.reversed&&ne.points.reverse()})}function K(F){F.nodes().forEach(Q=>{if(F.children(Q).length){let ne=F.node(Q),Z=F.node(ne.borderTop),ee=F.node(ne.borderBottom),oe=F.node(ne.borderLeft[ne.borderLeft.length-1]),pe=F.node(ne.borderRight[ne.borderRight.length-1]);ne.width=Math.abs(pe.x-oe.x),ne.height=Math.abs(ee.y-Z.y),ne.x=oe.x+ne.width/2,ne.y=Z.y+ne.height/2}}),F.nodes().forEach(Q=>{F.node(Q).dummy==="border"&&F.removeNode(Q)})}function B(F){F.edges().forEach(Q=>{if(Q.v===Q.w){var ne=F.node(Q.v);ne.selfEdges||(ne.selfEdges=[]),ne.selfEdges.push({e:Q,label:F.edge(Q)}),F.removeEdge(Q)}})}function R(F){var Q=p.buildLayerMatrix(F);Q.forEach(ne=>{var Z=0;ne.forEach((ee,oe)=>{var pe=F.node(ee);pe.order=oe+Z,(pe.selfEdges||[]).forEach(Se=>{p.addDummyNode(F,"selfedge",{width:Se.label.width,height:Se.label.height,rank:pe.rank,order:oe+ ++Z,e:Se.e,label:Se.label},"_se")}),delete pe.selfEdges})})}function W(F){F.nodes().forEach(Q=>{var ne=F.node(Q);if(ne.dummy==="selfedge"){var Z=F.node(ne.e.v),ee=Z.x+Z.width/2,oe=Z.y,pe=ne.x-ee,Se=Z.height/2;F.setEdge(ne.e,ne.label),F.removeNode(Q),ne.label.points=[{x:ee+2*pe/3,y:oe-Se},{x:ee+5*pe/6,y:oe-Se},{x:ee+pe,y:oe},{x:ee+5*pe/6,y:oe+Se},{x:ee+2*pe/3,y:oe+Se}],ne.label.x=ne.x,ne.label.y=ne.y}})}function z(F,Q){return p.mapValues(p.pick(F,Q),Number)}function L(F){var Q={};return F&&Object.entries(F).forEach(([ne,Z])=>{typeof ne=="string"&&(ne=ne.toLowerCase()),Q[ne]=Z}),Q}}),Oz=Jt((e,r)=>{var s=In(),l=ts().Graph;r.exports={debugOrdering:o};function o(c){let u=s.buildLayerMatrix(c),f=new l({compound:!0,multigraph:!0}).setGraph({});return c.nodes().forEach(m=>{f.setNode(m,{label:m}),f.setParent(m,"layer"+c.node(m).rank)}),c.edges().forEach(m=>f.setEdge(m.v,m.w,{},m.name)),u.forEach((m,h)=>{let x="layer"+h;f.setNode(x,{rank:"same"}),m.reduce((g,b)=>(f.setEdge(g,b,{style:"invis"}),b))}),f}}),Rz=Jt((e,r)=>{r.exports="2.0.4"}),zz=Jt((e,r)=>{r.exports={graphlib:ts(),layout:Dz(),debug:Oz(),util:{time:In().time,notime:In().notime},version:Rz()}});const kv=zz();const Sv={pending:{bg:"bg-blue-500/10",border:"border-blue-500/30",text:"text-blue-500"},pending_approval:{bg:"bg-blue-500/8",border:"border-blue-400/25",text:"text-blue-500"},assigned:{bg:"bg-blue-500/10",border:"border-blue-500/30",text:"text-blue-500"},in_progress:{bg:"bg-amber-500/10",border:"border-amber-500/30",text:"text-amber-600"},blocked:{bg:"bg-red-500/8",border:"border-red-500/25",text:"text-red-500"},review:{bg:"bg-brand-500/10",border:"border-brand-500/30",text:"text-brand-500"},revision:{bg:"bg-amber-500/10",border:"border-amber-500/30",text:"text-amber-600"},accepted:{bg:"bg-green-500/8",border:"border-green-500/25",text:"text-green-600"},completed:{bg:"bg-green-500/10",border:"border-green-500/30",text:"text-green-600"},failed:{bg:"bg-red-500/10",border:"border-red-500/30",text:"text-red-500"},cancelled:{bg:"bg-gray-500/8",border:"border-gray-500/20",text:"text-fg-tertiary"}},Lz={critical:"bg-red-500",high:"bg-amber-500",medium:"bg-amber-500",low:"bg-blue-500"};function Iz({data:e}){const{task:r,agentName:s}=e,l=Sv[r.status]??Sv.pending,o=r.taskType==="scheduled"&&!!r.scheduleConfig,c=o?r.scheduleConfig.every?`Every ${r.scheduleConfig.every}`:r.scheduleConfig.cron?"Cron":"":"";return t.jsxs("div",{className:`rounded-lg border px-3 py-2 min-w-[180px] max-w-[220px] shadow-md backdrop-blur-sm ${o?`${l.bg} border-blue-500/40 ring-1 ring-blue-500/20`:`${l.bg} ${l.border}`}`,children:[t.jsx(wa,{type:"target",position:tt.Top,className:"!bg-border-default !w-2 !h-2"}),t.jsxs("div",{className:"flex items-center gap-1.5 mb-1",children:[t.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${Lz[r.priority]??"bg-gray-500"}`}),t.jsx("span",{className:`text-[10px] font-medium uppercase tracking-wider ${l.text}`,children:r.status.replace("_"," ")}),o&&t.jsxs("span",{className:"text-[9px] px-1 py-0.5 rounded bg-blue-500/15 text-blue-600 ml-auto whitespace-nowrap inline-flex items-center gap-0.5",children:[t.jsx("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M21.5 2v6h-6M2.5 22v-6h6M2 11.5a10 10 0 0 1 18.8-4.3M22 12.5a10 10 0 0 1-18.8 4.3"})}),c]})]}),t.jsx("div",{className:"text-xs font-medium text-fg-primary leading-snug line-clamp-2 mb-1",children:r.title}),s&&t.jsx("div",{className:"text-[10px] text-fg-tertiary truncate",children:s}),r.blockedBy&&r.blockedBy.length>0&&t.jsxs("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:[r.blockedBy.length," dep",r.blockedBy.length>1?"s":""]}),t.jsx(wa,{type:"source",position:tt.Bottom,className:"!bg-border-default !w-2 !h-2"})]})}const Cv={draft:{bg:"bg-gray-500/8",border:"border-gray-500/20",text:"text-fg-secondary"},pending_review:{bg:"bg-amber-500/10",border:"border-amber-500/30",text:"text-amber-600"},approved:{bg:"bg-blue-500/10",border:"border-blue-500/30",text:"text-blue-500"},in_progress:{bg:"bg-brand-500/10",border:"border-brand-500/30",text:"text-brand-500"},completed:{bg:"bg-green-500/10",border:"border-green-500/30",text:"text-green-600"},rejected:{bg:"bg-red-500/10",border:"border-red-500/30",text:"text-red-500"},cancelled:{bg:"bg-gray-500/8",border:"border-gray-500/20",text:"text-fg-tertiary"}},Ev={draft:"todo",pending_review:"todo",approved:"todo",in_progress:"in_progress",completed:"done",rejected:"done",cancelled:"done"};function $z({data:e}){const{req:r}=e,s=Cv[r.status]??Cv.draft;return t.jsxs("div",{className:`rounded-lg border-2 border-dashed px-3 py-2 min-w-[180px] max-w-[220px] shadow-lg ${s.bg} ${s.border}`,children:[t.jsx(wa,{type:"target",position:tt.Top,className:"!bg-border-default !w-2 !h-2"}),t.jsxs("div",{className:"flex items-center gap-1.5 mb-1",children:[t.jsx("span",{className:"text-[9px] px-1 py-0.5 rounded font-semibold bg-amber-500/15 text-amber-600",children:"REQ"}),t.jsx("span",{className:`text-[10px] font-medium uppercase tracking-wider ${s.text}`,children:r.status.replace("_"," ")})]}),t.jsx("div",{className:"text-xs font-medium text-fg-primary leading-snug line-clamp-2 mb-1",children:r.title}),r.taskIds.length>0&&t.jsxs("div",{className:"text-[10px] text-fg-tertiary",children:[r.taskIds.length," task",r.taskIds.length>1?"s":""]}),t.jsx(wa,{type:"source",position:tt.Bottom,className:"!bg-border-default !w-2 !h-2"})]})}const Bz={task:Iz,requirement:$z},Hz=()=>document.documentElement.classList.contains("light")||!document.documentElement.classList.contains("dark")&&window.matchMedia("(prefers-color-scheme: light)").matches,Pz=e=>{const r=new MutationObserver(e);r.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]});const s=window.matchMedia("(prefers-color-scheme: light)");return s.addEventListener("change",e),()=>{r.disconnect(),s.removeEventListener("change",e)}};function Uz(){return j.useSyncExternalStore(Pz,Hz,()=>!1)}const Cm=200,Em=80;function Tv(e,r,s="TB"){const l=new kv.graphlib.Graph;l.setDefaultEdgeLabel(()=>({})),l.setGraph({rankdir:s,nodesep:40,ranksep:60});for(const o of e)l.setNode(o.id,{width:Cm,height:Em});for(const o of r)l.setEdge(o.source,o.target);return kv.layout(l),e.map(o=>{const c=l.node(o.id);return{...o,position:{x:(c?.x??0)-Cm/2,y:(c?.y??0)-Em/2}}})}function qz(e,r){const s=new Map,l=new Map;for(const u of e)l.set(u.id,u),s.set(u.id,new Set);for(const u of r)s.get(u.source)?.add(u.target),s.get(u.target)?.add(u.source);const o=new Set,c=[];for(const u of e){if(o.has(u.id))continue;const f=new Set,m=[u.id];for(;m.length>0;){const h=m.pop();if(!o.has(h)){o.add(h),f.add(h);for(const x of s.get(h)??[])o.has(x)||m.push(x)}}c.push({nodes:e.filter(h=>f.has(h.id)),edges:r.filter(h=>f.has(h.source)&&f.has(h.target))})}return c}function Vz(e,r){if(e.length===0)return[];const s=qz(e,r);if(s.length===1)return Tv(e,r);const l=s.map(g=>{const b=Tv(g.nodes,g.edges);let p=1/0,w=-1/0,S=1/0,T=-1/0;for(const E of b)p=Math.min(p,E.position.x),w=Math.max(w,E.position.x+Cm),S=Math.min(S,E.position.y),T=Math.max(T,E.position.y+Em);for(const E of b)E.position.x-=p,E.position.y-=S;return{nodes:b,w:w-p,h:T-S}});l.sort((g,b)=>b.h-g.h);const o=60,c=l.reduce((g,b)=>g+(b.w+o)*(b.h+o),0),u=Math.sqrt(c)*1.1,f=[];let m=0,h=0,x=0;for(const g of l){m>0&&m+g.w>u&&(m=0,h+=x+o,x=0);for(const b of g.nodes)f.push({...b,position:{x:b.position.x+m,y:b.position.y+h}});m+=g.w+o,x=Math.max(x,g.h)}return f}function Fz(e,r,s){const l=new Set,o=[r];for(;o.length>0;){const c=o.pop();if(c===s)return!0;if(l.has(c))continue;l.add(c);const u=e.get(c);if(u?.blockedBy)for(const f of u.blockedBy)o.push(f)}return!1}const oo=[{id:"todo",label:"To Do",statuses:new Set(["pending_approval","pending","assigned"]),color:{bg:"bg-blue-500/10",border:"border-blue-500/30",text:"text-blue-500"}},{id:"in_progress",label:"In Progress",statuses:new Set(["in_progress","blocked"]),color:{bg:"bg-amber-500/10",border:"border-amber-500/30",text:"text-amber-600"}},{id:"review",label:"In Review",statuses:new Set(["review","revision","accepted"]),color:{bg:"bg-brand-500/10",border:"border-brand-500/30",text:"text-brand-500"}},{id:"done",label:"Done",statuses:new Set(["completed","failed","cancelled"]),color:{bg:"bg-green-500/10",border:"border-green-500/30",text:"text-green-600"}}],Fh=new Set(oo.map(e=>e.id)),Yz=1440*60*1e3,Av=e=>e.status==="completed"&&e.updatedAt&&Date.now()-new Date(e.updatedAt).getTime()>Yz;function Gz({tasks:e,requirements:r=[],agents:s,showArchived:l,onShowArchivedChange:o,onTaskClick:c,onReqClick:u,onDependencyChange:f}){const m=Uz(),[h,x]=j.useState(null),[g,b]=j.useState(null),[p,w]=j.useState(new Set(Fh)),[S,T]=j.useState(l??!1),E=l??S,C=j.useCallback(Z=>{const ee=typeof Z=="function"?Z(E):Z;T(ee),o?.(ee)},[E,o]);j.useEffect(()=>{l!==void 0&&T(l)},[l]);const N=j.useMemo(()=>e.filter(Z=>Av(Z)).length,[e]),k=j.useMemo(()=>{const Z=new Set;for(const ee of oo)if(p.has(ee.id))for(const oe of ee.statuses)Z.add(oe);return Z},[p]),H=j.useMemo(()=>{const Z=new Set;for(const ee of e)for(const oe of oo)if(oe.statuses.has(ee.status)){Z.add(oe.id);break}for(const ee of r){const oe=Ev[ee.status];oe&&Z.add(oe)}return oo.filter(ee=>Z.has(ee.id))},[e,r]),M=j.useCallback(Z=>{w(ee=>{const oe=new Set(ee);return oe.has(Z)?oe.delete(Z):oe.add(Z),oe})},[]),Y=j.useCallback((Z,ee="success")=>{x({msg:Z,type:ee}),setTimeout(()=>x(null),2500)},[]),$=j.useMemo(()=>{const Z=new Map;for(const ee of s)Z.set(ee.id,ee.name);return Z},[s]),X=j.useMemo(()=>{const Z=new Map;for(const ee of e)Z.set(ee.id,ee);return Z},[e]),P=j.useMemo(()=>{const Z=new Map;for(const ee of r)Z.set(ee.id,ee);return Z},[r]),U=m?"#94a3b8":"#6b7280",V=j.useCallback((Z,ee,oe)=>({id:`${Z}->${ee}`,source:Z,target:ee,animated:oe==="blocked",markerEnd:{type:Xl.ArrowClosed,width:14,height:14,color:oe==="blocked"?"#ef4444":U},style:{stroke:oe==="blocked"?"#ef4444":U,strokeWidth:1.5,cursor:"pointer"}}),[U]),{initialNodes:D,initialEdges:A}=j.useMemo(()=>{const Z=e.filter(_e=>k.has(_e.status)&&(E||!Av(_e))),ee=Z.map(_e=>({id:_e.id,type:"task",data:{task:_e,agentName:_e.assignedAgentId?$.get(_e.assignedAgentId):void 0},position:{x:0,y:0}})),oe=new Set(ee.map(_e=>_e.id)),pe=new Set;for(const _e of oo)p.has(_e.id)&&pe.add(_e.id);const Se=r.filter(_e=>{const Ye=Ev[_e.status];return Ye&&pe.has(Ye)});for(const _e of Se){const Ye=`req-${_e.id}`;ee.push({id:Ye,type:"requirement",data:{req:_e},position:{x:0,y:0}}),oe.add(Ye)}const Re=[];for(const _e of Z)if(_e.blockedBy)for(const Ye of _e.blockedBy)oe.has(Ye)&&Re.push(V(Ye,_e.id,_e.status));const ze=new Set,Be=(_e,Ye)=>{const ht=`${_e}->${Ye}`;ze.has(ht)||(ze.add(ht),Re.push({id:ht,source:_e,target:Ye,markerEnd:{type:Xl.ArrowClosed,width:14,height:14,color:"#8b5cf6"},style:{stroke:"#8b5cf6",strokeWidth:1.5,strokeDasharray:"4 2"}}))};for(const _e of Se){const Ye=`req-${_e.id}`;for(const ht of _e.taskIds)oe.has(ht)&&Be(Ye,ht)}for(const _e of Z)if(_e.requirementId){const Ye=`req-${_e.requirementId}`;oe.has(Ye)&&Be(Ye,_e.id)}return{initialNodes:Vz(ee,Re),initialEdges:Re}},[e,r,$,X,V,k,p,E]),[I,_,G]=zR(D),[q,K,B]=LR(A),R=j.useRef(null);j.useEffect(()=>{_(D),K(A),requestAnimationFrame(()=>{R.current?.fitView({padding:.2,duration:300})})},[D,A,_,K]);const W=j.useCallback((Z,ee)=>{if(ee.id.startsWith("req-")){const oe=P.get(ee.id.slice(4));oe&&u&&u(oe)}else{const oe=X.get(ee.id);oe&&c&&c(oe)}},[X,P,c,u]),z=j.useCallback(async Z=>{const{source:ee,target:oe}=Z;if(!ee||!oe||ee===oe)return;const pe=X.get(oe);if(!pe)return;if(pe.blockedBy?.includes(ee)){Y("Dependency already exists","error");return}if(Fz(X,ee,oe)){Y("Cannot add: would create a cycle","error");return}const Se=[...pe.blockedBy??[],ee];try{await le.tasks.update(oe,{blockedBy:Se}),Y("Dependency added"),f?.()}catch(Re){Y(`Failed: ${Re instanceof Error?Re.message:String(Re)}`,"error")}},[X,Y,f]),L=j.useCallback((Z,ee)=>{b(ee)},[]),F=j.useCallback(async()=>{if(!g)return;const Z=X.get(g.target);if(!Z){b(null);return}const ee=(Z.blockedBy??[]).filter(oe=>oe!==g.source);try{await le.tasks.update(g.target,{blockedBy:ee}),Y("Dependency removed"),f?.()}catch(oe){Y(`Failed: ${oe instanceof Error?oe.message:String(oe)}`,"error")}b(null)},[g,X,Y,f]);if(e.length===0)return t.jsx("div",{className:"flex-1 flex items-center justify-center text-fg-tertiary text-sm",children:"No tasks to display"});const Q=g?X.get(g.source):null,ne=g?X.get(g.target):null;return t.jsxs("div",{className:"flex-1 min-h-0 relative",style:{height:"100%"},children:[t.jsxs(RR,{nodes:I,edges:q,onNodesChange:G,onEdgesChange:B,onNodeClick:W,onConnect:z,onEdgeClick:L,onInit:Z=>{R.current=Z},nodeTypes:Bz,fitView:!0,minZoom:.3,maxZoom:2,proOptions:{hideAttribution:!0},connectionLineStyle:{stroke:"#818cf8",strokeWidth:2,strokeDasharray:"6 3"},children:[t.jsx(PR,{color:m?"#cbd5e1":"#374151",gap:20,size:1}),t.jsx(XR,{showInteractive:!1,className:"!bg-surface-secondary !border-border-default !shadow-xl [&>button]:!bg-surface-elevated [&>button]:!border-border-default [&>button]:!text-fg-secondary [&>button:hover]:!bg-surface-overlay"}),t.jsx(iz,{nodeColor:Z=>{const ee=Z.data?.task,oe=ee?.status;return ee?.taskType==="scheduled"?"#06b6d4":oe==="completed"||oe==="accepted"?"#10b981":oe==="in_progress"?"#f59e0b":oe==="blocked"||oe==="failed"?"#ef4444":m?"#94a3b8":"#6b7280"},maskColor:m?"rgba(255,255,255,0.7)":"rgba(0,0,0,0.7)",className:"!bg-surface-secondary !border-border-default"})]}),t.jsxs("div",{className:"absolute top-2 left-1/2 -translate-x-1/2 px-3 py-1.5 bg-surface-secondary/90 border border-border-default rounded-lg backdrop-blur-sm z-10 flex flex-col items-center gap-1",children:[t.jsxs("div",{className:"flex items-center gap-1 flex-wrap justify-center",children:[H.map(Z=>{const ee=p.has(Z.id);return t.jsx("button",{onClick:()=>M(Z.id),className:`text-[10px] px-1.5 py-0.5 rounded border transition-colors ${ee?`${Z.color.bg} ${Z.color.border} ${Z.color.text}`:"bg-surface-elevated/50 border-border-default/50 text-fg-tertiary"}`,children:Z.label},Z.id)}),N>0&&t.jsxs("button",{onClick:()=>C(Z=>!Z),className:`text-[10px] px-1.5 py-0.5 rounded border transition-colors ${E?"bg-surface-overlay/60 border-gray-500/50 text-fg-secondary":"bg-surface-elevated/50 border-border-default/50 text-fg-tertiary"}`,children:["Archived ",N]}),p.size<Fh.size&&t.jsx("button",{onClick:()=>{w(new Set(Fh)),C(!1)},className:"text-[10px] text-fg-tertiary hover:text-fg-secondary px-1",children:"Reset"})]}),t.jsx("div",{className:"text-[10px] text-fg-tertiary select-none",children:"Drag to add dependency · Click edge to remove"})]}),h&&t.jsx("div",{className:`absolute bottom-4 left-1/2 -translate-x-1/2 px-4 py-2 rounded-lg text-xs font-medium shadow-xl border backdrop-blur-sm transition-opacity ${h.type==="success"?"bg-green-500/15 border-green-500/30 text-green-600":"bg-red-500/15 border-red-500/30 text-red-600"}`,children:h.msg}),g&&t.jsx("div",{className:"absolute inset-0 bg-black/40 flex items-center justify-center z-50 backdrop-blur-[2px]",onClick:()=>b(null),children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5 shadow-2xl max-w-sm",onClick:Z=>Z.stopPropagation(),children:[t.jsx("h4",{className:"text-sm font-semibold text-fg-primary mb-2",children:"Remove dependency?"}),t.jsxs("p",{className:"text-xs text-fg-secondary mb-4 leading-relaxed",children:[t.jsx("span",{className:"text-fg-secondary font-medium",children:ne?.title??g.target.slice(-8)})," ","will no longer be blocked by"," ",t.jsx("span",{className:"text-fg-secondary font-medium",children:Q?.title??g.source.slice(-8)}),"."]}),t.jsxs("div",{className:"flex justify-end gap-2",children:[t.jsx("button",{onClick:()=>b(null),className:"px-3 py-1.5 text-xs text-fg-secondary hover:text-fg-primary bg-surface-elevated rounded-lg border border-border-default hover:border-gray-600 transition-colors",children:"Cancel"}),t.jsx("button",{onClick:F,className:"px-3 py-1.5 text-xs text-red-500 bg-red-600/20 hover:bg-red-600/30 rounded-lg border border-red-500/40 hover:border-red-500/60 transition-colors",children:"Remove"})]})]})})]})}function aN({orgId:e,onCreated:r,onClose:s}){const[l,o]=j.useState(""),[c,u]=j.useState(""),[f,m]=j.useState(""),[h,x]=j.useState("main"),[g,b]=j.useState([]),[p,w]=j.useState([]),[S,T]=j.useState(!1),[E,C]=j.useState(""),[N,k]=j.useState(!1),H=xs();j.useEffect(()=>{le.teams.list().then($=>w($.teams)).catch(()=>{})},[]);const M=j.useCallback(async $=>{if($?.preventDefault(),k(!0),!(!l.trim()||S)){T(!0),C("");try{const X=f.trim()?[{url:f.trim(),defaultBranch:h.trim()||"main"}]:[],P=await le.projects.create({name:l.trim(),description:c.trim()||void 0,repositories:X.length>0?X:void 0,teamIds:g.length>0?g:void 0,orgId:e??"default"});r(P.project)}catch(X){C(X instanceof Error?X.message:"Failed to create project")}T(!1)}},[l,c,f,h,g,e,S,r]),Y=N&&!l.trim();return K1.createPortal(t.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50 p-3",onClick:s,children:t.jsxs("form",{className:`bg-surface-secondary border border-border-default rounded-xl p-6 shadow-2xl max-h-[90dvh] overflow-y-auto ${H?"w-full":"w-[520px]"}`,onClick:$=>$.stopPropagation(),onSubmit:M,children:[t.jsx("h3",{className:"text-base font-semibold mb-5",children:"New Project"}),t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs text-fg-secondary mb-1.5 font-medium",children:"Project Name *"}),t.jsx("input",{value:l,onChange:$=>{o($.target.value),C("")},onBlur:()=>k(!0),placeholder:"e.g. Mobile App, Website Redesign",className:`input ${Y?"!border-red-500 focus:!ring-red-500/25":""}`,autoFocus:!H}),Y&&t.jsx("p",{className:"text-[11px] text-red-400 mt-1",children:"Project name is required"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs text-fg-secondary mb-1.5 font-medium",children:"Description"}),t.jsx("textarea",{value:c,onChange:$=>u($.target.value),placeholder:"What is this project about?",className:"input",rows:3})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs text-fg-secondary mb-1.5 font-medium",children:"Assign Teams"}),p.length===0?t.jsx("div",{className:"text-[11px] text-fg-tertiary py-2",children:"No teams available"}):t.jsx("div",{className:"space-y-1 max-h-32 overflow-y-auto",children:p.map($=>{const X=g.includes($.id);return t.jsxs("label",{className:"flex items-center gap-2 text-xs text-fg-secondary cursor-pointer hover:text-fg-primary py-0.5",children:[t.jsx("input",{type:"checkbox",checked:X,onChange:()=>b(P=>X?P.filter(U=>U!==$.id):[...P,$.id]),className:"accent-brand-500"}),t.jsx("span",{className:"truncate",children:$.name})]},$.id)})})]}),t.jsxs("div",{className:"grid grid-cols-[1fr_auto] gap-3",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs text-fg-secondary mb-1.5 font-medium",children:"Repository URL"}),t.jsx("input",{value:f,onChange:$=>m($.target.value),placeholder:"https://github.com/org/repo (optional)",className:"input"})]}),f.trim()&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-xs text-fg-secondary mb-1.5 font-medium",children:"Branch"}),t.jsx("input",{value:h,onChange:$=>x($.target.value),placeholder:"main",className:"input !w-24"})]})]}),E&&t.jsx("div",{className:"text-xs text-red-400 bg-red-500/10 rounded-lg px-3 py-2",children:E}),t.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[t.jsx("button",{type:"button",onClick:s,className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated text-fg-secondary",children:"Cancel"}),t.jsx("button",{type:"submit",disabled:!l.trim()||S,className:"px-4 py-2 text-sm bg-brand-600 hover:bg-brand-500 disabled:opacity-40 rounded-lg text-white",children:S?"Creating...":"Create Project"})]})]})]})}),document.body)}function Wl(e,r,s){if(!e)return null;const l=r.find(c=>c.id===e);if(l)return l.name;const o=s.find(c=>c.id===e);return o?o.name:e==="anonymous"?"Admin":null}function Xz({value:e,onSave:r,className:s,placeholder:l}){const[o,c]=j.useState(!1),[u,f]=j.useState(e),m=j.useRef(null);j.useEffect(()=>{f(e)},[e]),j.useEffect(()=>{o&&m.current?.focus()},[o]);const h=async()=>{c(!1);const x=u.trim();if(x&&x!==e)try{await r(x)}catch{f(e)}else f(e)};return o?t.jsx("input",{ref:m,value:u,onChange:x=>f(x.target.value),onBlur:()=>{h()},onKeyDown:x=>{x.key==="Enter"&&h(),x.key==="Escape"&&(f(e),c(!1))},className:`bg-transparent border-b border-brand-500/50 outline-none ${s??""}`,placeholder:l}):t.jsx("span",{onClick:()=>c(!0),className:`cursor-pointer hover:border-b hover:border-gray-600 transition-colors ${s??""}`,title:"Click to edit",children:e||t.jsx("span",{className:"text-fg-tertiary italic",children:l??"Click to edit"})})}function Zz({value:e,onSave:r,className:s,placeholder:l}){const[o,c]=j.useState(!1),[u,f]=j.useState(e),m=j.useRef(null);j.useEffect(()=>{f(e)},[e]),j.useEffect(()=>{o&&m.current&&(m.current.focus(),m.current.style.height="auto",m.current.style.height=m.current.scrollHeight+"px")},[o]);const h=async()=>{c(!1);const x=u.trim();if(x!==e)try{await r(x)}catch{f(e)}else f(e)};return o?t.jsx("textarea",{ref:m,value:u,onChange:x=>{f(x.target.value),x.target.style.height="auto",x.target.style.height=x.target.scrollHeight+"px"},onBlur:()=>{h()},onKeyDown:x=>{x.key==="Escape"&&(f(e),c(!1))},className:`bg-transparent border border-brand-500/30 rounded-lg p-2 outline-none resize-none w-full ${s??""}`,placeholder:l,rows:2}):t.jsx("p",{onClick:()=>c(!0),className:`cursor-pointer hover:bg-surface-elevated/50 rounded-lg transition-colors px-2 py-1 -mx-2 -my-1 ${s??""}`,title:"Click to edit",children:e||t.jsx("span",{className:"text-fg-tertiary italic",children:l??"Add a description…"})})}const Qz=["pending_approval","in_progress","blocked","review","completed","failed","cancelled","archived"],To=[{id:"failed",label:"Failed",statuses:["failed"],accent:"border-t-red-500",dropStatus:"failed"},{id:"todo",label:"To Do",statuses:["pending_approval"],accent:"border-t-amber-500",dropStatus:"pending_approval"},{id:"in_progress",label:"In Progress",statuses:["in_progress","blocked"],accent:"border-t-brand-500",dropStatus:"in_progress"},{id:"review",label:"In Review",statuses:["review"],accent:"border-t-purple-500",dropStatus:"review"},{id:"done",label:"Done",statuses:["completed"],accent:"border-t-green-500",dropStatus:"completed"},{id:"closed",label:"Closed",statuses:["cancelled"],accent:"border-t-gray-500",dropStatus:"cancelled"}],Kz={pending_approval:"Awaiting Approval",in_progress:"In Progress",blocked:"Blocked",review:"In Review",completed:"Completed",failed:"Failed",cancelled:"Cancelled",archived:"Archived"},lN={pending_approval:{label:"Awaiting",cls:"bg-amber-500/15 text-amber-600"},blocked:{label:"Blocked",cls:"bg-amber-500/15 text-amber-600"},failed:{label:"Failed",cls:"bg-red-500/15 text-red-500"}},Jz={pending_approval:{label:"Pending Approval",cls:"bg-amber-500/15 text-amber-600"},in_progress:{label:"In Progress",cls:"bg-blue-500/15 text-blue-500"},blocked:{label:"Blocked",cls:"bg-orange-500/15 text-orange-500"},review:{label:"In Review",cls:"bg-purple-500/15 text-purple-500"},completed:{label:"Completed",cls:"bg-green-500/15 text-green-600"},failed:{label:"Failed",cls:"bg-red-500/15 text-red-500"},cancelled:{label:"Cancelled",cls:"bg-gray-500/15 text-fg-tertiary"},archived:{label:"Archived",cls:"bg-gray-500/15 text-fg-tertiary"}},Tm={urgent:"border-l-red-500",high:"border-l-amber-500",medium:"border-l-blue-500",low:"border-l-gray-500"},iN={pending_approval:"bg-amber-400",in_progress:"bg-brand-400",blocked:"bg-amber-400",review:"bg-brand-400",completed:"bg-green-400",failed:"bg-red-400",cancelled:"bg-gray-600",archived:"bg-surface-overlay"},_v=j.memo(function({comment:r}){return t.jsxs("div",{className:"bg-blue-500/10 border border-blue-500/30 rounded-lg px-3 py-2.5 my-1.5",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[t.jsx("span",{className:"w-5 h-5 rounded-full bg-blue-600/30 flex items-center justify-center text-[10px] text-blue-600 font-bold shrink-0",children:r.authorType==="human"?"👤":"🤖"}),t.jsx("span",{className:"text-[11px] font-medium text-blue-600",children:r.authorName}),t.jsx("span",{className:"text-[10px] text-fg-tertiary ml-auto",children:new Date(r.createdAt).toLocaleString()})]}),t.jsx(er,{content:r.content,className:"text-sm text-fg-secondary"}),r.attachments?.map((s,l)=>s.type==="image"?t.jsx("img",{src:s.url,alt:s.name,className:"mt-2 max-w-full max-h-48 rounded-lg border border-border-default"},l):null)]})});function Wz(e){return e.kind==="log"?e.executionRound??1:0}function eL(e){const r=[];let s=null,l=[],o=1;for(const c of e){if(c.kind==="comment"){s?s.items.push(c):l.push(c);continue}const u=Wz(c);if(c.entry.type==="status"&&(c.entry.content==="started"||c.entry.content==="resumed")){(!s||u!==s.roundNumber)&&(s={id:o++,roundNumber:u,startTime:c.entry.timestamp??c.entry.time??"",status:"running",items:[],preComments:[...l]},l=[],r.push(s)),c.entry.content==="resumed"&&s.items.push(c);continue}if(c.entry.type==="status"&&["completed","failed","cancelled","execution_finished"].includes(c.entry.content)){if(s){const f=c.entry.content==="execution_finished"?"completed":c.entry.content;s.status=f,s.endTime=c.entry.timestamp??c.entry.time}continue}s&&s.items.push(c)}return s&&s.status==="running"&&(s.items.length>0||(s.status="interrupted")),l.length>0&&r.length>0&&r[r.length-1].items.push(...l),r.length===0&&e.length>0&&r.push({id:o++,roundNumber:1,startTime:e[0].kind==="log"?e[0].entry.timestamp??"":new Date(e[0].time).toISOString(),status:"running",items:[...l,...e],preComments:[]}),r}function tL(e,r){if(!r)return"";const s=new Date(r).getTime()-new Date(e).getTime();if(s<1e3)return"<1s";const l=Math.floor(s/1e3);if(l<60)return`${l}s`;const o=Math.floor(l/60);return o<60?`${o}m ${l%60}s`:`${Math.floor(o/60)}h ${o%60}m`}const Mv={running:{label:"Running",color:"text-blue-600",bg:"bg-blue-500/15"},completed:{label:"Completed",color:"text-green-600",bg:"bg-green-500/15"},failed:{label:"Failed",color:"text-red-500",bg:"bg-red-500/15"},cancelled:{label:"Cancelled",color:"text-fg-secondary",bg:"bg-gray-500/15"},interrupted:{label:"Interrupted",color:"text-amber-600",bg:"bg-amber-500/15"}},nL=j.memo(function({round:r,expanded:s,onToggle:l,isLive:o,streamingText:c,isExecuting:u,totalRounds:f}){const m=Mv[r.status]??Mv.running,h=tL(r.startTime,r.endTime),x=Km(r.startTime),g=r.items.filter(p=>p.kind==="log"&&p.entry.type==="tool").length,b=r.items.filter(p=>p.kind==="log"&&p.entry.type==="error").length;return t.jsxs("div",{className:"border-b border-border-default/60 last:border-b-0",children:[r.preComments.length>0&&t.jsx("div",{className:"px-4 py-2",children:r.preComments.map((p,w)=>p.kind==="comment"?t.jsx(_v,{comment:p.entry},`pc-${p.entry.id}`):null)}),t.jsxs("button",{onClick:l,className:"w-full flex items-center gap-2 px-4 py-2.5 hover:bg-surface-elevated/40 transition-colors text-left min-w-0 overflow-hidden",children:[t.jsx("svg",{className:`w-3 h-3 text-fg-tertiary shrink-0 transition-transform ${s?"rotate-90":""}`,viewBox:"0 0 12 12",fill:"currentColor",children:t.jsx("path",{d:"M4 2l5 4-5 4V2z"})}),t.jsx("span",{className:"text-xs font-medium text-fg-secondary shrink-0",children:f>1?`Round #${r.id}`:"Execution"}),t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded shrink-0 ${m.bg} ${m.color}`,children:m.label}),r.status==="running"&&t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-blue-400 animate-pulse shrink-0"}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary ml-auto flex items-center gap-2 shrink-0 truncate",children:[g>0&&t.jsxs("span",{children:[g," tools"]}),b>0&&t.jsxs("span",{className:"text-red-500",children:[b," err"]}),h&&t.jsx("span",{children:h}),t.jsx("span",{children:x})]})]}),s&&t.jsxs("div",{className:"px-4 pb-3 space-y-0.5 overflow-x-hidden min-w-0",children:[r.items.map((p,w)=>p.kind==="comment"?t.jsx(_v,{comment:p.entry},`c-${p.entry.id}`):t.jsx(fT,{entry:p.entry,showTime:!0},`l-${(p.entry.type==="tool"?p.entry.key:void 0)??`${p.entry.timestamp}-${w}`}`)),o&&c&&t.jsx(ej,{content:c}),o&&u&&!c&&t.jsx(wu,{label:"Thinking"})]})]})});function rL({taskId:e,isVisible:r,isRunning:s,authUser:l}){const[o,c]=j.useState([]),[u,f]=j.useState([]),[m,h]=j.useState(""),[x,g]=j.useState(s),[b,p]=j.useState(!0),[w,S]=j.useState(""),[T,E]=j.useState(!1),[C,N]=j.useState([]),[k,H]=j.useState(new Set),[M,Y]=j.useState(1),$=20,X=j.useRef(null),P=j.useRef(null),U=j.useRef(null),V=j.useRef(!0);j.useEffect(()=>{const L=U.current;if(!L)return;let F=L.parentElement;for(;F&&F.scrollHeight<=F.clientHeight;)F=F.parentElement;if(!F)return;const Q=F,ne=()=>{V.current=Q.scrollHeight-Q.scrollTop-Q.clientHeight<80};return Q.addEventListener("scroll",ne,{passive:!0}),()=>Q.removeEventListener("scroll",ne)},[]),j.useEffect(()=>{g(s)},[s]),j.useEffect(()=>{p(!0),Promise.all([le.tasks.getLogs(e).catch(()=>({logs:[]})),le.tasks.getComments(e).catch(()=>({comments:[]}))]).then(([L,F])=>{c(L.logs),f(F.comments),p(!1)})},[e]),j.useEffect(()=>{const L=Cn.on("task:log",ne=>{const Z=ne.payload;if(Z.taskId!==e)return;const ee={id:Z.id,taskId:Z.taskId,agentId:Z.agentId,seq:Z.seq,type:Z.logType,content:Z.content,metadata:Z.metadata,executionRound:Z.executionRound,createdAt:Z.createdAt};c(oe=>ee.id&&oe.some(pe=>pe.id===ee.id)||!ee.id&&oe.some(pe=>pe.seq===ee.seq&&pe.type===ee.type)?oe:[...oe,ee]),ee.type==="text"&&h(""),ee.type==="status"&&(ee.content==="started"||ee.content==="resumed"?g(!0):["completed","failed","cancelled","execution_finished"].includes(ee.content)&&g(!1)),ee.type==="error"&&g(!1)}),F=Cn.on("task:log:delta",ne=>{const Z=ne.payload;Z.taskId===e&&h(ee=>ee+Z.text)}),Q=Cn.on("task:comment",ne=>{const Z=ne.payload;if(Z.taskId!==e)return;const ee=Z.comment;f(oe=>oe.some(pe=>pe.id===ee.id)?oe:[...oe,ee])});return()=>{L(),F(),Q()}},[e]);const D=j.useMemo(()=>{const L=new Map;for(const F of o)F.executionRound&&L.set(F.seq,F.executionRound);return L},[o]),A=j.useMemo(()=>{const L=o.map(Z=>({log:Z,entry:Jm(Z)})).filter(Z=>Z.entry!=null),F=bo(L.map(Z=>Z.entry)),Q=new Set(F),ne=[...L.filter(Z=>Q.has(Z.entry)).map(({log:Z,entry:ee})=>({kind:"log",entry:ee,time:new Date(ee.timestamp??ee.time??0).getTime(),executionRound:Z.executionRound??D.get(Z.seq)??1})),...u.map(Z=>({kind:"comment",entry:Z,time:new Date(Z.createdAt).getTime()}))];return ne.sort((Z,ee)=>Z.time-ee.time),ne},[o,u,D]),I=j.useMemo(()=>eL(A),[A]);j.useEffect(()=>{I.length>0&&H(L=>{const F=I[I.length-1].id;return L.has(F)?L:new Set([F])})},[I.length]),j.useEffect(()=>{r&&x&&P.current?.scrollIntoView({behavior:"smooth",block:"start"})},[I.length,r,x]);const _=j.useCallback(L=>{H(F=>{const Q=new Set(F);return Q.has(L)?Q.delete(L):Q.add(L),Q})},[]),G=L=>{const F=L.target.files;if(F){for(const Q of Array.from(F)){if(!Q.type.startsWith("image/"))continue;const ne=new FileReader;ne.onload=()=>{N(Z=>[...Z,{type:"image",url:ne.result,name:Q.name}])},ne.readAsDataURL(Q)}L.target.value=""}},q=async()=>{if(!(!w.trim()&&C.length===0)){E(!0);try{const L=await le.tasks.addComment(e,w,l?.name,C.length>0?C:void 0,l?.id);L.comment&&f(F=>F.some(Q=>Q.id===L.comment.id)?F:[...F,L.comment]),S(""),N([])}catch{}E(!1)}},K=t.jsxs("div",{className:"border-t border-border-default px-4 py-3 sticky bottom-0 bg-surface-secondary z-10",children:[C.length>0&&t.jsx("div",{className:"flex gap-2 mb-2 flex-wrap",children:C.map((L,F)=>t.jsxs("div",{className:"relative group",children:[t.jsx("img",{src:L.url,alt:L.name,className:"w-16 h-16 object-cover rounded-lg border border-border-default"}),t.jsx("button",{onClick:()=>N(Q=>Q.filter((ne,Z)=>Z!==F)),className:"absolute -top-1 -right-1 w-4 h-4 rounded-full bg-red-600 text-white text-[10px] flex items-center justify-center opacity-0 group-hover:opacity-100",children:"×"})]},F))}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{type:"text",value:w,onChange:L=>S(L.target.value),onKeyDown:L=>{L.key==="Enter"&&!L.shiftKey&&(L.preventDefault(),q())},placeholder:"Add a comment or instruction…",className:"flex-1 px-3 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-blue-500 outline-none text-fg-primary placeholder-gray-600"}),t.jsx("input",{type:"file",ref:X,accept:"image/*",multiple:!0,onChange:G,className:"hidden"}),t.jsx("button",{onClick:()=>X.current?.click(),className:"px-2 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-fg-secondary hover:text-fg-primary text-sm",title:"Attach image",children:"📎"}),t.jsx("button",{onClick:()=>{q()},disabled:T||!w.trim()&&C.length===0,className:"px-3 py-1.5 bg-blue-600 hover:bg-blue-500 rounded-lg text-white text-xs disabled:opacity-50",children:"Send"})]})]});if(b)return t.jsx("div",{className:"flex-1 flex items-center justify-center text-xs text-fg-tertiary",children:"Loading logs…"});if(I.length===0&&!m)return t.jsxs("div",{className:"flex flex-col flex-1",children:[t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsxs("div",{className:"text-center text-fg-tertiary",children:[t.jsx("div",{className:"text-2xl mb-2",children:"📋"}),t.jsxs("div",{className:"text-xs",children:["No execution logs yet.",t.jsx("br",{}),'Click "Run with Agent" to start.']})]})}),K]});const B=Math.ceil(I.length/$),R=M*$,W=(M-1)*$,z=I.slice(Math.max(0,I.length-R),I.length-W).slice().reverse();return t.jsxs("div",{children:[B>1&&t.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border-default",children:[t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[I.length," rounds total"]}),t.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] text-fg-tertiary",children:[t.jsx("button",{disabled:M<=1,onClick:()=>Y(L=>L-1),className:"px-1.5 py-0.5 rounded bg-surface-elevated hover:bg-surface-overlay disabled:opacity-30",children:"← Newer"}),t.jsxs("span",{children:[M,"/",B]}),t.jsx("button",{disabled:M>=B,onClick:()=>Y(L=>L+1),className:"px-1.5 py-0.5 rounded bg-surface-elevated hover:bg-surface-overlay disabled:opacity-30",children:"Older →"})]})]}),t.jsxs("div",{className:"py-1",children:[t.jsx("div",{ref:P}),z.map(L=>{const F=L.id===I[I.length-1]?.id;return t.jsx(nL,{round:L,expanded:k.has(L.id),onToggle:()=>_(L.id),isLive:F&&x,streamingText:F?m:void 0,isExecuting:F?x:!1,totalRounds:I.length},L.id)}),t.jsx("div",{ref:U})]}),K]})}function sL({filePath:e,onClose:r}){const[s,l]=j.useState(null),[o,c]=j.useState(null),[u,f]=j.useState(!0);j.useEffect(()=>{f(!0),c(null),le.files.preview(e).then(h=>l(h)).catch(h=>c(String(h))).finally(()=>f(!1))},[e]);const m=e.split("/").pop()??e;return t.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-[60]",onClick:r,children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl w-[720px] max-w-[92vw] max-h-[85vh] flex flex-col shadow-2xl",onClick:h=>h.stopPropagation(),children:[t.jsxs("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border-default shrink-0",children:[t.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[t.jsxs("svg",{className:"w-4 h-4 text-fg-tertiary shrink-0",viewBox:"0 0 16 16",fill:"currentColor",children:[t.jsx("path",{d:"M3 1h7l4 4v10H3V1zm7 1H4v12h10V5.5L10 2z"}),t.jsx("path",{d:"M10 1v4h4",fill:"none",stroke:"currentColor",strokeWidth:"1"})]}),t.jsx("span",{className:"text-sm font-medium text-fg-primary truncate",children:m})]}),t.jsx("button",{onClick:r,className:"text-fg-tertiary hover:text-fg-secondary text-lg shrink-0 ml-3",children:"×"})]}),t.jsx("div",{className:"px-4 py-1 border-b border-border-default/60",children:t.jsx("p",{className:"text-[10px] text-fg-tertiary font-mono truncate",children:e})}),t.jsxs("div",{className:"flex-1 overflow-auto min-h-0 p-5",children:[u&&t.jsx("div",{className:"text-sm text-fg-tertiary text-center py-8",children:"Loading..."}),o&&t.jsx("div",{className:"text-sm text-red-500 text-center py-8",children:o}),s&&s.type==="image"&&t.jsx("div",{className:"flex justify-center",children:t.jsx("img",{src:`data:${s.mimeType};base64,${s.content}`,alt:s.name,className:"max-w-full max-h-[60vh] rounded-lg"})}),s&&s.type==="markdown"&&t.jsx(er,{content:s.content,className:"text-sm text-fg-secondary leading-relaxed"}),s&&s.type==="text"&&t.jsx("pre",{className:"text-xs text-fg-secondary font-mono whitespace-pre-wrap break-words bg-surface-primary/50 rounded-lg p-4 leading-relaxed",children:s.content})]})]})})}function aL({task:e,agents:r,projects:s,requirements:l,allTasks:o,users:c,onClose:u,onRefresh:f,authUser:m}){const[h,x]=j.useState([]),[g,b]=j.useState(""),[p,w]=j.useState(!1),[S,T]=j.useState(null),[E,C]=j.useState(null),[N,k]=j.useState(!1),[H,M]=j.useState("details"),[Y,$]=j.useState(!1),[X,P]=j.useState(null),[U,V]=j.useState(null),[D,A]=j.useState(!1),[I,_]=j.useState(e.description),[G,q]=j.useState(!1),[K,B]=j.useState(""),[R,W]=j.useState(1),[z,L]=j.useState(1),[F,Q]=j.useState(!1),ne=xs(),Z=20,ee=j.useCallback(async()=>{try{const he=await le.tasks.listSubtasks(e.id);x(he.subtasks)}catch{}},[e.id]);j.useEffect(()=>{ee()},[ee]);const oe=async he=>{if(!N){k(!0);try{await he(),f(),await ee()}catch(He){P(String(He).replace("Error: ",""))}finally{k(!1)}}},pe=he=>oe(()=>le.tasks.update(e.id,{priority:he})),Se=he=>oe(()=>le.tasks.assign(e.id,he||null)),Re=he=>oe(()=>le.tasks.update(e.id,{projectId:he||null})),ze=async()=>{if(!N){k(!0);try{await le.tasks.pause(e.id),f()}finally{k(!1)}}},Be=async()=>{if(!Y){$(!0),P(null),M("logs");try{await le.tasks.resume(e.id),f()}catch(he){P(String(he).replace("Error: API error: 400","Server error").replace("Error: ",""))}finally{$(!1)}}},Xe=async()=>{g.trim()&&(await le.tasks.createSubtask(e.id,g.trim()),b(""),w(!1),ee(),f())},_e=async he=>{he.status==="completed"?await le.tasks.cancelSubtask(e.id,he.id):await le.tasks.completeSubtask(e.id,he.id),ee(),f()},Ye=async he=>{await le.tasks.deleteSubtask(e.id,he.id),T(null),ee(),f()},ht=async()=>{if(!N){k(!0);try{await le.tasks.updateStatus(e.id,"pending_approval"),f()}finally{k(!1)}}},gt=async()=>{if(!N){k(!0),P(null),M("logs");try{await le.tasks.retry(e.id),f()}catch(he){P(String(he).replace("Error: API error: 400","Server error").replace("Error: ",""))}finally{k(!1)}}},ie=async()=>{if(!Y){$(!0),P(null),M("logs");try{await le.tasks.runNow(e.id),f()}catch(he){P(String(he).replace("Error: API error: 400","Server error").replace("Error: ","")),f()}finally{$(!1)}}};j.useEffect(()=>Cn.on("task:log:delta",He=>{He.payload.taskId===e.id&&M("logs")}),[e.id]);const Le=j.useRef(f);Le.current=f,j.useEffect(()=>Cn.on("task:update",He=>{He.payload.taskId===e.id&&(ee(),Le.current())}),[e.id,ee]);const xt=h.filter(he=>he.status==="completed").length,yt=e.status==="in_progress",Zt=e.status==="blocked",ve=e.status==="completed",Me=e.status==="failed",Ue=e.status==="cancelled",et=e.status==="archived",Ge=ve||Me||Ue||et,Ht=e.taskType==="scheduled"&&!!e.scheduleConfig,_t=Ht&&!!e.scheduleConfig?.paused,jt=s.find(he=>he.id===e.projectId),vt=l.find(he=>he.id===e.requirementId);return r.find(he=>he.id===e.assignedAgentId),t.jsxs("div",{className:`fixed inset-0 bg-black/60 flex items-center justify-center z-50 p-3 ${ne?"pb-[4.5rem]":""}`,onClick:u,children:[t.jsxs("div",{className:`bg-surface-secondary border border-border-default rounded-xl flex flex-col shadow-2xl ${ne?"w-full max-h-full":"w-[780px] max-w-[95vw] max-h-[88vh]"}`,onClick:he=>he.stopPropagation(),children:[t.jsxs("div",{className:"flex items-start justify-between px-6 pt-5 pb-3 border-b border-border-default shrink-0",children:[t.jsx("div",{className:"flex-1 min-w-0 pr-4",children:t.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[t.jsx("h3",{className:"text-base font-semibold leading-snug",children:e.title}),(()=>{const he=Jz[e.status];return he?t.jsx("span",{className:`text-[10px] px-2 py-0.5 rounded-full font-medium whitespace-nowrap ${he.cls}`,children:he.label}):t.jsx("span",{className:"text-[10px] px-2 py-0.5 rounded-full font-medium bg-gray-500/15 text-fg-tertiary whitespace-nowrap",children:e.status.replace(/_/g," ")})})()]})}),t.jsx("button",{onClick:u,className:"text-fg-tertiary hover:text-fg-secondary text-lg shrink-0",children:"×"})]}),t.jsxs("div",{className:"flex-1 overflow-y-auto min-h-0",children:[t.jsx("div",{className:"px-6 pt-4 pb-3 border-b border-border-default",children:D?t.jsxs("div",{className:"space-y-2",children:[t.jsx("textarea",{value:I,onChange:he=>_(he.target.value),className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm text-fg-primary focus:border-brand-500 outline-none resize-y min-h-[80px]",rows:4,placeholder:"Add a description…"}),t.jsxs("div",{className:"flex gap-2 justify-end",children:[t.jsx("button",{onClick:()=>{A(!1),_(e.description)},className:"px-2.5 py-1 text-xs border border-border-default rounded-lg hover:bg-surface-elevated",children:"Cancel"}),t.jsx("button",{onClick:()=>{oe(()=>le.tasks.update(e.id,{description:I})),A(!1)},disabled:N,className:"px-2.5 py-1 text-xs bg-brand-600 hover:bg-brand-500 rounded-lg text-white disabled:opacity-50",children:"Save"})]})]}):t.jsxs("div",{className:"group relative",children:[e.description?t.jsxs("div",{children:[t.jsx("div",{className:ne&&!F?"line-clamp-3":"",children:t.jsx(er,{content:e.description,className:"text-sm text-fg-secondary leading-relaxed"})}),ne&&e.description.length>150&&t.jsx("button",{onClick:()=>Q(!F),className:"text-[11px] text-brand-500 mt-1 font-medium",children:F?"Collapse":"Show more"})]}):t.jsx("p",{className:"text-sm text-fg-tertiary italic",children:"No description"}),t.jsx("button",{onClick:()=>{_(e.description),A(!0)},className:"absolute top-0 right-0 text-[10px] text-fg-tertiary hover:text-brand-500 opacity-0 group-hover:opacity-100 transition-opacity",children:"Edit"})]})}),(jt||vt)&&t.jsxs("div",{className:"px-6 py-2.5 border-b border-border-default flex flex-wrap items-center gap-2",children:[jt&&t.jsxs("span",{className:"flex items-center gap-1 text-[11px] px-2 py-0.5 bg-brand-500/10 text-brand-500 rounded-full",children:[t.jsx("span",{className:"text-[9px] text-brand-500/60",children:"Project"}),jt.name]}),vt&&t.jsxs("span",{className:"flex items-center gap-1 text-[11px] px-2 py-0.5 bg-brand-500/10 text-brand-500 rounded-full",children:[t.jsx("span",{className:"text-[9px] text-brand-500/60",children:"Req"}),vt.title.length>40?vt.title.slice(0,40)+"…":vt.title]})]}),t.jsxs("div",{className:"px-6 py-2.5 border-b border-border-default",children:[t.jsx("div",{className:"flex items-center justify-between mb-1.5",children:t.jsx("span",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider",children:"Dependencies"})}),e.blockedBy&&e.blockedBy.length>0?t.jsx("div",{className:"flex flex-wrap gap-1.5 mb-2",children:e.blockedBy.map(he=>{const He=o.find(ct=>ct.id===he),ft=He&&(He.status==="completed"||He.status==="cancelled");return t.jsxs("span",{className:`inline-flex items-center gap-1 text-[11px] px-2 py-1 rounded-full ${ft?"bg-green-500/10 text-green-600":"bg-amber-500/10 text-amber-600"}`,children:[t.jsx("span",{className:"text-[9px]",children:ft?"✓":"⏳"}),t.jsx("span",{className:`font-mono ${ft?"line-through opacity-60":""}`,children:He?He.title.slice(0,30):he.slice(-8)}),!Ge&&t.jsx("button",{onClick:async()=>{const ct=(e.blockedBy??[]).filter(pt=>pt!==he);await le.tasks.update(e.id,{blockedBy:ct}),f()},className:"ml-0.5 text-current opacity-40 hover:opacity-100 transition-opacity",title:"Remove dependency",children:"×"})]},he)})}):t.jsx("p",{className:"text-[11px] text-fg-tertiary mb-2",children:"No dependencies"}),!Ge&&t.jsxs("select",{value:"",onChange:async he=>{const He=he.target.value;if(!He)return;const ft=[...e.blockedBy??[],He];await le.tasks.update(e.id,{blockedBy:ft}),f()},className:"w-full px-2 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-[11px] text-fg-secondary focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"",children:"+ Add dependency…"}),o.filter(he=>he.id!==e.id&&!(e.blockedBy??[]).includes(he.id)).map(he=>t.jsx("option",{value:he.id,children:he.title},he.id))]})]}),t.jsxs("div",{className:"flex gap-1 px-6 pt-3 border-b border-border-default sticky top-0 z-10 bg-surface-secondary",children:[t.jsx("button",{onClick:()=>M("details"),className:`px-3 py-1.5 text-xs rounded-t-md transition-colors ${H==="details"?"bg-surface-elevated text-fg-primary font-medium":"text-fg-tertiary hover:text-fg-secondary"}`,children:"Details"}),t.jsxs("button",{onClick:()=>M("logs"),className:`px-3 py-1.5 text-xs rounded-t-md transition-colors flex items-center gap-1.5 ${H==="logs"?"bg-surface-elevated text-fg-primary font-medium":"text-fg-tertiary hover:text-fg-secondary"}`,children:["Execution Log",yt&&t.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-brand-400 animate-pulse"})]}),t.jsxs("button",{onClick:()=>M("notes"),className:`px-3 py-1.5 text-xs rounded-t-md transition-colors flex items-center gap-1.5 ${H==="notes"?"bg-surface-elevated text-fg-primary font-medium":"text-fg-tertiary hover:text-fg-secondary"}`,children:["Notes",e.notes&&e.notes.length>0&&t.jsx("span",{className:"text-[10px] text-fg-tertiary font-normal",children:e.notes.length})]}),t.jsxs("button",{onClick:()=>M("deliverables"),className:`px-3 py-1.5 text-xs rounded-t-md transition-colors flex items-center gap-1.5 ${H==="deliverables"?"bg-surface-elevated text-fg-primary font-medium":"text-fg-tertiary hover:text-fg-secondary"}`,children:["Deliverables",(()=>{const he=(e.deliverables??[]).filter(He=>He.type!=="branch"&&typeof He.reference=="string"&&He.reference.length>0).length;return he>0?t.jsx("span",{className:"text-[10px] text-fg-tertiary font-normal",children:he}):null})()]})]}),H==="logs"&&t.jsxs("div",{className:"overflow-x-hidden min-w-0",children:[X&&t.jsxs("div",{className:"mx-4 mt-3 px-3 py-2 bg-red-500/10 border border-red-500/30 rounded-lg text-xs text-red-500",children:[t.jsx("span",{className:"font-medium",children:"Failed to start:"})," ",X]}),t.jsx(rL,{taskId:e.id,isVisible:!0,isRunning:e.status==="in_progress",authUser:m})]}),H==="details"&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"px-6 py-4 border-b border-border-default/60 space-y-3",children:[t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider mb-1",children:"Project"}),t.jsxs("select",{value:e.projectId??"",onChange:he=>{Re(he.target.value)},disabled:N,className:"w-full px-2 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-xs text-fg-primary focus:border-brand-500 outline-none disabled:opacity-50 cursor-pointer",children:[t.jsx("option",{value:"",children:"No Project"}),s.map(he=>t.jsx("option",{value:he.id,children:he.name},he.id))]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider mb-1",children:"Requirement"}),t.jsxs("select",{value:e.requirementId??"",onChange:he=>oe(()=>le.tasks.update(e.id,{requirementId:he.target.value||null})),disabled:N,className:"w-full px-2 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-xs text-fg-primary focus:border-brand-500 outline-none disabled:opacity-50 cursor-pointer",children:[t.jsx("option",{value:"",children:"No Requirement"}),l.filter(he=>!e.projectId||he.projectId===e.projectId).map(he=>t.jsx("option",{value:he.id,children:he.title},he.id))]})]})]}),t.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider mb-1",children:"Assignee"}),t.jsxs("select",{value:e.assignedAgentId??"",onChange:he=>{Se(he.target.value)},disabled:N,className:"w-full px-2 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-xs text-fg-primary focus:border-brand-500 outline-none disabled:opacity-50 cursor-pointer",children:[t.jsx("option",{value:"",children:"Unassigned"}),r.map(he=>t.jsxs("option",{value:he.id,children:[he.name," (",he.status,")"]},he.id))]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider mb-1",children:"Reviewer"}),t.jsx("select",{value:e.reviewerAgentId??"",onChange:he=>{he.target.value&&he.target.value!==e.reviewerAgentId&&oe(()=>le.tasks.update(e.id,{reviewerAgentId:he.target.value}))},disabled:N,className:"w-full px-2 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-xs text-fg-primary focus:border-brand-500 outline-none disabled:opacity-50 cursor-pointer",children:r.map(he=>t.jsx("option",{value:he.id,children:he.name},he.id))})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider mb-1",children:"Priority"}),t.jsxs("select",{value:e.priority,onChange:he=>{pe(he.target.value)},disabled:N,className:"w-full px-2 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-xs text-fg-primary focus:border-brand-500 outline-none disabled:opacity-50 cursor-pointer",children:[t.jsx("option",{value:"low",children:"Low"}),t.jsx("option",{value:"medium",children:"Medium"}),t.jsx("option",{value:"high",children:"High"}),t.jsx("option",{value:"urgent",children:"Urgent"})]})]})]})]}),t.jsxs("div",{className:"px-6 py-3 border-b border-border-default/60 flex flex-wrap items-center gap-x-4 gap-y-1.5 text-[11px] text-fg-tertiary",children:[e.createdBy&&t.jsxs("span",{children:["Created by ",t.jsx("span",{className:"text-fg-secondary",children:Wl(e.createdBy,r,c)??e.createdBy})]}),e.updatedBy&&t.jsxs("span",{children:["Updated by ",t.jsx("span",{className:"text-fg-secondary",children:Wl(e.updatedBy,r,c)??e.updatedBy})]}),e.createdAt&&t.jsx("span",{children:new Date(e.createdAt).toLocaleDateString()}),e.startedAt&&t.jsxs("span",{children:["Started ",new Date(e.startedAt).toLocaleDateString()]}),e.updatedAt&&t.jsxs("span",{children:["Updated ",new Date(e.updatedAt).toLocaleDateString()]}),e.projectId&&t.jsxs("span",{className:"font-mono text-blue-600/70",children:["task/",e.id]}),(e.executionRound??1)>1&&t.jsxs("span",{className:"text-amber-600",children:["Round ",e.executionRound]})]}),t.jsxs("div",{className:"px-6 py-4",children:[t.jsxs("div",{className:"flex items-center justify-between mb-3",children:[t.jsxs("span",{className:"text-xs font-semibold text-fg-secondary uppercase tracking-wider",children:["Subtasks ",h.length>0&&t.jsxs("span",{className:"ml-1.5 text-fg-tertiary font-normal normal-case",children:[xt,"/",h.length," done"]})]}),t.jsx("button",{onClick:()=>w(!0),className:"text-xs text-brand-500 hover:text-brand-500 transition-colors",children:"+ Add subtask"})]}),h.length>0&&t.jsx("div",{className:"space-y-1.5 mb-3",children:h.map(he=>t.jsxs("div",{className:"group flex items-center gap-2.5 py-1.5 px-2 rounded-lg hover:bg-surface-elevated/50 transition-colors",children:[t.jsx("button",{onClick:()=>{_e(he)},className:`shrink-0 w-4 h-4 rounded border flex items-center justify-center transition-colors ${he.status==="completed"?"bg-green-600 border-green-600 text-white":"border-gray-600 hover:border-brand-500"}`,children:he.status==="completed"&&t.jsx("svg",{className:"w-2.5 h-2.5",viewBox:"0 0 12 12",fill:"none",children:t.jsx("path",{d:"M2 6l3 3 5-5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}),t.jsx("span",{className:`flex-1 text-sm ${he.status==="completed"?"line-through text-fg-tertiary":"text-fg-secondary"}`,children:he.title}),t.jsx("button",{onClick:()=>T(he),className:"shrink-0 opacity-0 group-hover:opacity-100 text-fg-tertiary hover:text-red-500 transition-all text-xs",children:"✕"})]},he.id))}),h.length===0&&!p&&t.jsx("div",{className:"text-xs text-fg-tertiary text-center py-4",children:"No subtasks yet."}),p&&t.jsxs("div",{className:"flex gap-2 mt-2",children:[t.jsx("input",{autoFocus:!0,value:g,onChange:he=>b(he.target.value),onKeyDown:he=>{he.key==="Enter"&&Xe(),he.key==="Escape"&&(w(!1),b(""))},placeholder:"Subtask title...",className:"flex-1 px-3 py-1.5 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none"}),t.jsx("button",{onClick:()=>{Xe()},className:"px-3 py-1.5 bg-brand-600 hover:bg-brand-500 text-white text-xs rounded-lg",children:"Add"}),t.jsx("button",{onClick:()=>{w(!1),b("")},className:"px-3 py-1.5 border border-border-default text-xs rounded-lg hover:bg-surface-elevated",children:"Cancel"})]}),(()=>{const he=(e.deliverables??[]).filter(ct=>ct.type!=="branch"&&typeof ct.reference=="string"&&ct.reference.length>0);if(he.length===0)return null;const He={file:"bg-blue-500/15 text-blue-600",document:"bg-blue-500/15 text-blue-600",report:"bg-brand-500/15 text-brand-500",directory:"bg-green-500/15 text-green-600",url:"bg-brand-500/15 text-brand-500",text:"bg-gray-500/15 text-fg-secondary"},ft=he.slice(0,3);return t.jsxs("div",{className:"mt-5",children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsxs("p",{className:"text-xs font-semibold text-fg-tertiary uppercase tracking-wider",children:["Deliverables ",t.jsxs("span",{className:"text-fg-tertiary font-normal",children:["(",he.length,")"]})]}),he.length>3&&t.jsx("button",{onClick:()=>M("deliverables"),className:"text-[10px] text-brand-500 hover:text-brand-500",children:"View all →"})]}),t.jsx("div",{className:"space-y-1.5",children:ft.map((ct,pt)=>{const Ot=ct.reference.split("/").pop()??ct.reference;return t.jsxs("div",{className:"flex items-start gap-2.5 bg-surface-elevated/60 rounded-lg px-3 py-2 group hover:bg-surface-elevated/80 transition-colors",children:[t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium shrink-0 mt-0.5 ${He[ct.type]??"bg-gray-500/15 text-fg-secondary"}`,children:ct.type}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("button",{onClick:()=>V(ct.reference),className:"text-sm text-brand-500 hover:text-brand-500 font-medium truncate block max-w-full text-left hover:underline",title:ct.reference,children:Ot}),ct.summary&&t.jsx("p",{className:"text-[11px] text-fg-secondary mt-0.5 line-clamp-2",children:ct.summary}),t.jsx("p",{className:"text-[10px] text-fg-tertiary font-mono truncate mt-0.5",children:ct.reference})]})]},pt)})})]})})(),e.notes&&e.notes.length>0&&(()=>{const he=[...e.notes].reverse().slice(0,3);return t.jsxs("div",{className:"mt-5",children:[t.jsxs("div",{className:"flex items-center justify-between mb-2",children:[t.jsxs("p",{className:"text-xs font-semibold text-fg-tertiary uppercase tracking-wider",children:["Progress Notes ",t.jsxs("span",{className:"text-fg-tertiary font-normal",children:["(",e.notes.length,")"]})]}),e.notes.length>3&&t.jsx("button",{onClick:()=>M("notes"),className:"text-[10px] text-brand-500 hover:text-brand-500",children:"View all →"})]}),t.jsx("div",{className:"space-y-1.5",children:he.map((He,ft)=>t.jsx("div",{className:"text-xs text-fg-secondary bg-surface-elevated/60 rounded px-2.5 py-1.5 leading-relaxed",children:t.jsx(er,{content:He,className:"text-xs text-fg-secondary"})},ft))})]})})()]})]}),H==="notes"&&t.jsx("div",{className:"px-6 py-4",children:e.notes&&e.notes.length>0?(()=>{const he=[...e.notes].reverse(),He=Math.ceil(he.length/Z),ft=he.slice((z-1)*Z,z*Z);return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center justify-between mb-3",children:[t.jsxs("p",{className:"text-xs font-semibold text-fg-tertiary uppercase tracking-wider",children:["Progress Notes ",t.jsxs("span",{className:"text-fg-tertiary font-normal",children:["(",e.notes.length,")"]})]}),He>1&&t.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] text-fg-tertiary",children:[t.jsx("button",{disabled:z<=1,onClick:()=>L(ct=>ct-1),className:"px-1.5 py-0.5 rounded bg-surface-elevated hover:bg-surface-overlay disabled:opacity-30",children:"‹"}),t.jsxs("span",{children:[z,"/",He]}),t.jsx("button",{disabled:z>=He,onClick:()=>L(ct=>ct+1),className:"px-1.5 py-0.5 rounded bg-surface-elevated hover:bg-surface-overlay disabled:opacity-30",children:"›"})]})]}),t.jsx("div",{className:"space-y-1.5",children:ft.map((ct,pt)=>t.jsx("div",{className:"text-xs text-fg-secondary bg-surface-elevated/60 rounded px-2.5 py-1.5 leading-relaxed",children:t.jsx(er,{content:ct,className:"text-xs text-fg-secondary"})},pt))})]})})():t.jsx("div",{className:"flex items-center justify-center py-12 text-xs text-fg-tertiary",children:"No progress notes yet."})}),H==="deliverables"&&t.jsx("div",{className:"px-6 py-4",children:(()=>{const he=(e.deliverables??[]).filter(pt=>pt.type!=="branch"&&typeof pt.reference=="string"&&pt.reference.length>0);if(he.length===0)return t.jsx("div",{className:"flex items-center justify-center py-12 text-xs text-fg-tertiary",children:"No deliverables yet."});const He={file:"bg-blue-500/15 text-blue-600",document:"bg-blue-500/15 text-blue-600",report:"bg-brand-500/15 text-brand-500",directory:"bg-green-500/15 text-green-600",url:"bg-brand-500/15 text-brand-500",text:"bg-gray-500/15 text-fg-secondary"},ft=Math.ceil(he.length/Z),ct=he.slice((R-1)*Z,R*Z);return t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center justify-between mb-3",children:[t.jsxs("p",{className:"text-xs font-semibold text-fg-tertiary uppercase tracking-wider",children:["Deliverables ",t.jsxs("span",{className:"text-fg-tertiary font-normal",children:["(",he.length,")"]})]}),ft>1&&t.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] text-fg-tertiary",children:[t.jsx("button",{disabled:R<=1,onClick:()=>W(pt=>pt-1),className:"px-1.5 py-0.5 rounded bg-surface-elevated hover:bg-surface-overlay disabled:opacity-30",children:"‹"}),t.jsxs("span",{children:[R,"/",ft]}),t.jsx("button",{disabled:R>=ft,onClick:()=>W(pt=>pt+1),className:"px-1.5 py-0.5 rounded bg-surface-elevated hover:bg-surface-overlay disabled:opacity-30",children:"›"})]})]}),t.jsx("div",{className:"space-y-1.5",children:ct.map((pt,Ot)=>{const rn=pt.reference.split("/").pop()??pt.reference;return t.jsxs("div",{className:"flex items-start gap-2.5 bg-surface-elevated/60 rounded-lg px-3 py-2 group hover:bg-surface-elevated/80 transition-colors",children:[t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium shrink-0 mt-0.5 ${He[pt.type]??"bg-gray-500/15 text-fg-secondary"}`,children:pt.type}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("button",{onClick:()=>V(pt.reference),className:"text-sm text-brand-500 hover:text-brand-500 font-medium truncate block max-w-full text-left hover:underline",title:pt.reference,children:rn}),pt.summary&&t.jsx("p",{className:"text-[11px] text-fg-secondary mt-0.5 line-clamp-2",children:pt.summary}),t.jsx("p",{className:"text-[10px] text-fg-tertiary font-mono truncate mt-0.5",children:pt.reference})]})]},Ot)})})]})})()})]}),Ht&&e.scheduleConfig&&t.jsxs("div",{className:`mx-6 mt-3 mb-0 px-4 py-2.5 rounded-lg border text-xs ${_t?"bg-amber-500/5 border-amber-500/20":"bg-brand-500/5 border-brand-500/20"}`,children:[t.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[t.jsx("span",{className:_t?"text-amber-600":"text-brand-500",children:_t?"⏸ Schedule Paused":t.jsxs(t.Fragment,{children:[t.jsx("svg",{className:"w-3.5 h-3.5 inline -mt-0.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M21.5 2v6h-6M2.5 22v-6h6M2 11.5a10 10 0 0 1 18.8-4.3M22 12.5a10 10 0 0 1-18.8 4.3"})})," Scheduled"]})}),t.jsx("span",{className:"text-fg-tertiary",children:"·"}),t.jsx("span",{className:"text-fg-secondary",children:e.scheduleConfig.every?`Every ${e.scheduleConfig.every}`:e.scheduleConfig.cron?`Cron: ${e.scheduleConfig.cron}`:e.scheduleConfig.runAt?"One-shot":"N/A"}),!_t&&e.scheduleConfig.nextRunAt&&t.jsxs(t.Fragment,{children:[t.jsx("span",{className:"text-fg-tertiary",children:"·"}),t.jsxs("span",{className:"text-fg-secondary",children:["Next: ",(()=>{const he=new Date(e.scheduleConfig.nextRunAt).getTime()-Date.now();if(he<=0)return"due now";const He=Math.floor(he/6e4);if(He<60)return`in ${He}m`;const ft=Math.floor(He/60);return ft<24?`in ${ft}h ${He%60}m`:`in ${Math.floor(ft/24)}d ${ft%24}h`})()]})]})]}),t.jsxs("div",{className:"flex items-center gap-2 mt-1 text-fg-tertiary",children:[t.jsxs("span",{children:["Runs: ",e.scheduleConfig.currentRuns??0,e.scheduleConfig.maxRuns!=null?` / ${e.scheduleConfig.maxRuns}`:""]}),e.scheduleConfig.lastRunAt&&t.jsxs(t.Fragment,{children:[t.jsx("span",{children:"·"}),t.jsxs("span",{children:["Last: ",(()=>{const he=Date.now()-new Date(e.scheduleConfig.lastRunAt).getTime(),He=Math.floor(he/6e4);if(He<1)return"just now";if(He<60)return`${He}m ago`;const ft=Math.floor(He/60);return ft<24?`${ft}h ${He%60}m ago`:`${Math.floor(ft/24)}d ago`})()]})]})]})]}),t.jsx("div",{className:"px-6 py-4 border-t border-border-default flex items-center justify-between gap-2",children:t.jsxs("div",{className:"flex gap-2 flex-wrap",children:[e.status==="pending_approval"&&t.jsxs(t.Fragment,{children:[t.jsx("button",{onClick:()=>oe(()=>le.tasks.approve(e.id)),disabled:N,className:"px-3 py-1.5 text-xs bg-green-600 hover:bg-green-500 rounded-lg text-white disabled:opacity-50",children:"Approve"}),t.jsx("button",{onClick:()=>oe(()=>le.tasks.reject(e.id)),disabled:N,className:"px-3 py-1.5 text-xs text-red-500 border border-red-500/30 rounded-lg hover:bg-red-500/10 disabled:opacity-50",children:"Reject"})]}),e.status==="review"&&t.jsxs(t.Fragment,{children:[t.jsx("button",{onClick:()=>{oe(()=>le.tasks.accept(e.id,m?.id))},disabled:N,className:"px-3 py-1.5 text-xs bg-green-600 hover:bg-green-500 rounded-lg text-white disabled:opacity-50",children:"✓ Approve"}),G?t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx("input",{type:"text",value:K,onChange:he=>B(he.target.value),onKeyDown:he=>{he.key==="Enter"&&K.trim()&&(oe(()=>le.tasks.revision(e.id,K.trim(),m?.id)),q(!1),B(""))},placeholder:"Revision reason…",autoFocus:!0,className:"px-2 py-1 text-xs bg-surface-elevated border border-amber-500/40 rounded-lg text-fg-primary focus:border-amber-400 outline-none w-48"}),t.jsx("button",{onClick:()=>{oe(()=>le.tasks.revision(e.id,K.trim()||"Revisions needed",m?.id)),q(!1),B("")},disabled:N,className:"px-2.5 py-1 text-xs bg-amber-600 hover:bg-amber-500 rounded-lg text-white disabled:opacity-50",children:"Send"}),t.jsx("button",{onClick:()=>{q(!1),B("")},className:"px-1.5 py-1 text-xs text-fg-secondary hover:text-fg-primary",children:"✕"})]}):t.jsx("button",{onClick:()=>q(!0),disabled:N,className:"px-3 py-1.5 text-xs bg-amber-600 hover:bg-amber-500 rounded-lg text-white disabled:opacity-50",children:"↻ Request Revision"})]}),yt&&t.jsxs(t.Fragment,{children:[t.jsxs("button",{onClick:()=>{ze()},disabled:N,className:"px-3 py-1.5 text-xs border border-amber-500/30 text-amber-600 rounded-lg hover:bg-amber-500/10 disabled:opacity-50 flex items-center gap-1",children:[t.jsxs("svg",{className:"w-3 h-3",viewBox:"0 0 12 12",fill:"currentColor",children:[t.jsx("rect",{x:"2",y:"1.5",width:"3",height:"9",rx:"0.5"}),t.jsx("rect",{x:"7",y:"1.5",width:"3",height:"9",rx:"0.5"})]}),"Pause"]}),t.jsxs("button",{onClick:()=>{gt()},disabled:N,className:"px-3 py-1.5 text-xs border border-blue-500/30 text-blue-600 rounded-lg hover:bg-blue-500/10 disabled:opacity-50 flex items-center gap-1",children:[t.jsxs("svg",{className:"w-3 h-3",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[t.jsx("path",{d:"M1.5 6a4.5 4.5 0 1 1 1.3 3.2",strokeLinecap:"round"}),t.jsx("path",{d:"M1 3.5V6h2.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),"Retry"]})]}),Zt&&t.jsx("button",{onClick:()=>{Be()},disabled:Y,className:"px-3 py-1.5 text-xs bg-green-600 hover:bg-green-500 rounded-lg text-white disabled:opacity-50 flex items-center gap-1",children:Y?t.jsx(t.Fragment,{children:"Resuming…"}):t.jsxs(t.Fragment,{children:[t.jsx("svg",{className:"w-3 h-3",viewBox:"0 0 12 12",fill:"currentColor",children:t.jsx("path",{d:"M3 1.5v9l7-4.5-7-4.5z"})}),"Resume"]})}),Me&&t.jsxs("button",{onClick:()=>{gt()},disabled:N,className:"px-3 py-1.5 text-xs bg-blue-600 hover:bg-blue-500 rounded-lg text-white disabled:opacity-50 flex items-center gap-1",children:[t.jsxs("svg",{className:"w-3 h-3",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[t.jsx("path",{d:"M1.5 6a4.5 4.5 0 1 1 1.3 3.2",strokeLinecap:"round"}),t.jsx("path",{d:"M1 3.5V6h2.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),"Retry"]}),Ht&&(ve||Me)&&t.jsx("button",{onClick:()=>{ie()},disabled:Y,className:"px-3 py-1.5 text-xs bg-brand-600 hover:bg-brand-500 rounded-lg text-white disabled:opacity-50 flex items-center gap-1.5",children:Y?t.jsx(t.Fragment,{children:"Running…"}):t.jsxs(t.Fragment,{children:[t.jsx("svg",{className:"w-3 h-3",viewBox:"0 0 12 12",fill:"currentColor",children:t.jsx("path",{d:"M3 1.5v9l7-4.5-7-4.5z"})}),"Run Now"]})}),Ht&&!yt&&(_t?t.jsx("button",{onClick:()=>{oe(()=>le.tasks.resumeSchedule(e.id))},disabled:N,className:"px-3 py-1.5 text-xs bg-green-600 hover:bg-green-500 rounded-lg text-white disabled:opacity-50",children:"▶ Resume Schedule"}):t.jsx("button",{onClick:()=>{oe(()=>le.tasks.pauseSchedule(e.id))},disabled:N,className:"px-3 py-1.5 text-xs border border-amber-500/30 text-amber-600 rounded-lg hover:bg-amber-500/10 disabled:opacity-50",children:"⏸ Pause Schedule"})),ve&&t.jsx("button",{onClick:()=>oe(()=>le.tasks.archive(e.id)),disabled:N,className:"px-3 py-1.5 text-xs bg-gray-600 hover:bg-gray-500 rounded-lg text-white disabled:opacity-50",children:"Archive"}),Ge&&t.jsx("button",{onClick:()=>{ht()},disabled:N,className:"px-3 py-1.5 text-xs border border-border-default hover:bg-surface-elevated rounded-lg text-fg-secondary disabled:opacity-50",children:"Reopen"}),!Ge&&e.status!=="pending_approval"&&t.jsx("button",{onClick:async()=>{const{count:he}=await le.tasks.getDependentCount(e.id);he>0?C({dependentCount:he}):oe(()=>le.tasks.cancel(e.id))},disabled:N,className:"px-3 py-1.5 text-xs text-red-500 border border-red-500/30 rounded-lg hover:bg-red-500/10 disabled:opacity-50",children:"Cancel"})]})})]}),S&&t.jsx(sj,{title:`Delete subtask "${S.title}"?`,message:"This subtask will be permanently deleted.",confirmLabel:"Delete",onConfirm:()=>{Ye(S)},onCancel:()=>T(null)}),E&&t.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-[60]",onClick:()=>C(null),children:t.jsxs("div",{className:"bg-surface-default border border-border-default rounded-xl p-6 max-w-md w-full shadow-2xl",onClick:he=>he.stopPropagation(),children:[t.jsx("h3",{className:"text-base font-semibold text-fg-primary mb-2",children:"Cancel Task"}),t.jsxs("p",{className:"text-sm text-fg-secondary mb-4",children:["This task has ",t.jsx("span",{className:"text-amber-600 font-medium",children:E.dependentCount})," dependent task",E.dependentCount>1?"s":""," that ",E.dependentCount>1?"are":"is"," currently blocked by it."]}),t.jsxs("div",{className:"flex flex-col gap-2",children:[t.jsxs("button",{onClick:()=>{C(null),oe(()=>le.tasks.cancel(e.id,!1))},className:"w-full px-4 py-2.5 text-sm bg-surface-elevated border border-border-default rounded-lg hover:bg-surface-overlay text-fg-primary text-left",children:[t.jsx("span",{className:"font-medium",children:"Cancel this task only"}),t.jsx("span",{className:"block text-xs text-fg-tertiary mt-0.5",children:"Dependent tasks will start if they have no other blockers"})]}),t.jsxs("button",{onClick:()=>{C(null),oe(()=>le.tasks.cancel(e.id,!0))},className:"w-full px-4 py-2.5 text-sm bg-red-500/10 border border-red-500/30 rounded-lg hover:bg-red-500/20 text-red-500 text-left",children:[t.jsx("span",{className:"font-medium",children:"Cancel with all dependents"}),t.jsxs("span",{className:"block text-xs text-red-500/70 mt-0.5",children:["Also cancels ",E.dependentCount," blocked task",E.dependentCount>1?"s":""]})]}),t.jsx("button",{onClick:()=>C(null),className:"w-full px-4 py-2 text-sm text-fg-tertiary hover:text-fg-secondary",children:"Keep task running"})]})]})}),U&&t.jsx(sL,{filePath:U,onClose:()=>V(null)})]})}function lL({project:e,tasks:r,requirements:s,agents:l,onDeleteProject:o,onUpdateProject:c,onRefresh:u}){const f=j.useMemo(()=>r.filter(b=>b.projectId===e.id),[r,e.id]),m=j.useMemo(()=>s.filter(b=>b.projectId===e.id),[s,e.id]),h=j.useMemo(()=>{const b={total:f.length,completed:0,inProgress:0,inReview:0,blocked:0,pending:0,failed:0,reqs:m.length,reqsDone:0};for(const p of f)p.status==="completed"||p.status==="accepted"?b.completed++:p.status==="in_progress"?b.inProgress++:p.status==="review"||p.status==="revision"?b.inReview++:p.status==="blocked"?b.blocked++:p.status==="failed"?b.failed++:b.pending++;for(const p of m)p.status==="completed"&&b.reqsDone++;return b},[f,m]),x=j.useMemo(()=>new Set(f.map(b=>b.assignedAgentId).filter(Boolean)),[f]),g=j.useMemo(()=>l.filter(b=>x.has(b.id)),[l,x]);return t.jsxs("div",{className:"p-5 space-y-5 max-w-3xl",children:[t.jsxs("div",{className:"flex items-start justify-between",children:[t.jsxs("div",{className:"flex-1 min-w-0 space-y-2",children:[t.jsx(Zz,{value:e.description??"",onSave:async b=>{await c({description:b}),u()},className:"text-sm text-fg-secondary",placeholder:"Add a project description…"}),t.jsxs("div",{className:"flex items-center gap-3 text-xs text-fg-tertiary",children:[t.jsx(mL,{status:e.status}),e.createdAt&&t.jsxs("span",{className:"text-fg-tertiary",children:["Created ",new Date(e.createdAt).toLocaleDateString()]})]})]}),t.jsx("button",{onClick:o,className:"text-xs text-red-500 hover:text-red-500 shrink-0 ml-4",children:"Delete Project"})]}),t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-4",children:[t.jsx("h4",{className:"text-xs font-semibold text-fg-secondary mb-3",children:"Task Overview"}),t.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-6 gap-3",children:[t.jsx(zs,{label:"Total",value:h.total,color:"text-fg-primary"}),t.jsx(zs,{label:"Completed",value:h.completed,color:"text-green-600"}),t.jsx(zs,{label:"In Progress",value:h.inProgress,color:"text-brand-500"}),t.jsx(zs,{label:"In Review",value:h.inReview,color:"text-brand-500"}),t.jsx(zs,{label:"Blocked",value:h.blocked,color:"text-amber-600"}),t.jsx(zs,{label:"Failed",value:h.failed,color:"text-red-500"})]}),h.total>0&&t.jsxs("div",{className:"mt-3 flex h-2 rounded-full overflow-hidden bg-surface-elevated",children:[h.completed>0&&t.jsx("div",{className:"bg-green-500",style:{width:`${h.completed/h.total*100}%`}}),h.inProgress>0&&t.jsx("div",{className:"bg-brand-500",style:{width:`${h.inProgress/h.total*100}%`}}),h.inReview>0&&t.jsx("div",{className:"bg-brand-500",style:{width:`${h.inReview/h.total*100}%`}}),h.blocked>0&&t.jsx("div",{className:"bg-amber-500",style:{width:`${h.blocked/h.total*100}%`}}),h.pending>0&&t.jsx("div",{className:"bg-blue-500/40",style:{width:`${h.pending/h.total*100}%`}}),h.failed>0&&t.jsx("div",{className:"bg-red-500",style:{width:`${h.failed/h.total*100}%`}})]})]}),t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-4",children:[t.jsx("h4",{className:"text-xs font-semibold text-fg-secondary mb-3",children:"Requirements"}),t.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[t.jsx(zs,{label:"Total",value:h.reqs,color:"text-fg-primary"}),t.jsx(zs,{label:"Completed",value:h.reqsDone,color:"text-green-600"}),t.jsx(zs,{label:"Active",value:h.reqs-h.reqsDone,color:"text-brand-500"})]})]}),g.length>0&&t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-4",children:[t.jsxs("h4",{className:"text-xs font-semibold text-fg-secondary mb-3",children:["Agents (",g.length,")"]}),t.jsx("div",{className:"flex flex-wrap gap-2",children:g.map(b=>{const p=f.filter(S=>S.assignedAgentId===b.id),w=p.filter(S=>!["completed","failed","cancelled","archived"].includes(S.status));return t.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-surface-elevated/60 rounded-lg",children:[t.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${b.status==="working"?"bg-blue-500":b.status==="idle"?"bg-green-500":"bg-gray-500"}`}),t.jsx("span",{className:"text-xs text-fg-secondary",children:b.name}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:[w.length," active / ",p.length," total"]})]},b.id)})})]}),e.repositories&&e.repositories.length>0&&t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-4",children:[t.jsx("h4",{className:"text-xs font-semibold text-fg-secondary mb-2",children:"Repositories"}),e.repositories.map((b,p)=>t.jsxs("div",{className:"text-sm text-fg-secondary flex items-center gap-2",children:[t.jsx("span",{className:"text-fg-tertiary",children:"⎇"}),t.jsx("span",{children:b.url||b.localPath}),t.jsxs("span",{className:"text-xs text-fg-tertiary",children:["(",b.defaultBranch,")"]})]},p))]})]})}function zs({label:e,value:r,color:s}){return t.jsxs("div",{className:"text-center py-2",children:[t.jsx("div",{className:`text-xl font-bold ${s}`,children:r}),t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:e})]})}const Iu={draft:{label:"Draft",cls:"bg-gray-500/15 text-fg-secondary"},pending_review:{label:"Pending",cls:"bg-amber-500/15 text-amber-600"},approved:{label:"Approved",cls:"bg-green-500/15 text-green-600"},in_progress:{label:"Active",cls:"bg-brand-500/15 text-brand-500"},completed:{label:"Done",cls:"bg-green-500/15 text-green-600"},rejected:{label:"Rejected",cls:"bg-red-500/15 text-red-500"},cancelled:{label:"Cancelled",cls:"bg-gray-600/15 text-fg-tertiary"}},oN={draft:"todo",pending_review:"todo",approved:"todo",in_progress:"in_progress",completed:"done",rejected:"closed",cancelled:"closed"},cN={failed:"rejected",todo:"approved",in_progress:"in_progress",review:"approved",done:"completed",closed:"cancelled"},iL={urgent:0,high:1,medium:2,low:3},Dv={failed:0,todo:1,in_progress:2,review:3,done:4,closed:5},oL={failed:"border-l-red-500 bg-red-500/5",todo:"border-l-blue-500 bg-blue-500/5",in_progress:"border-l-brand-500 bg-brand-500/5",review:"border-l-purple-500 bg-brand-500/5",done:"border-l-green-500 bg-green-500/5",closed:"border-l-gray-500 bg-gray-500/5"},cL={failed:"border-l-red-500 text-red-500",todo:"border-l-blue-500 text-blue-600",in_progress:"border-l-brand-500 text-brand-500",review:"border-l-purple-500 text-brand-500",done:"border-l-green-500 text-green-600",closed:"border-l-gray-500 text-fg-tertiary"},uN=["draft","pending_review","approved","in_progress","completed","rejected","cancelled"];function uL(e){for(const r of To)if(r.statuses.includes(e))return r.id;return"closed"}function dL(e){const r=Date.now()-new Date(e).getTime(),s=Math.floor(r/6e4);if(s<1)return"just now";if(s<60)return`${s}m ago`;const l=Math.floor(s/60);return l<24?`${l}h ago`:`${Math.floor(l/24)}d ago`}function Ov({row:e,idx:r,dragIdx:s,agentMap:l,projMap:o,onTaskClick:c,onReqClick:u,onRowDragStart:f,onRowDragEnd:m,handleStatusChange:h,handlePriorityChange:x}){const g=e.data.status,b=e.data.priority,p=e.kind==="task"?l.get(e.data.assignedAgentId??""):void 0,w=o.get((e.kind==="task",e.data.projectId??""));return t.jsxs("div",{draggable:!0,onDragStart:S=>f(S,r),onDragEnd:m,onClick:()=>e.kind==="task"?c(e.data):u(e.data),className:`flex items-center gap-2 px-6 py-2 border-b border-border-default/40 cursor-pointer hover:bg-surface-elevated/50 transition-colors border-l-2 ${oL[e.group]??"border-l-gray-700"} ${s===r?"opacity-40":""}`,children:[t.jsx("div",{className:"w-12 shrink-0",children:e.kind==="req"?t.jsx("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-semibold bg-amber-500/15 text-amber-600",children:"REQ"}):e.data.taskType==="scheduled"?t.jsx("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-semibold bg-blue-500/15 text-blue-600 inline-flex items-center gap-0.5",title:"Scheduled task",children:"SCHED"}):t.jsx("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-semibold bg-gray-500/15 text-fg-secondary",children:"TASK"})}),t.jsx("div",{className:"flex-1 min-w-[200px] text-sm text-fg-primary truncate",children:e.data.title}),t.jsx("div",{className:"w-[130px] shrink-0",onClick:S=>S.stopPropagation(),children:t.jsx("select",{value:g,onChange:S=>{h(e,S.target.value)},className:"w-full px-1.5 py-1 bg-surface-elevated/80 border border-border-default/50 rounded text-[11px] text-fg-secondary outline-none focus:border-brand-500 cursor-pointer",children:e.kind==="task"?Qz.map(S=>t.jsx("option",{value:S,children:Kz[S]??S},S)):uN.map(S=>t.jsx("option",{value:S,children:Iu[S]?.label??S},S))})}),t.jsx("div",{className:"w-[100px] shrink-0",onClick:S=>S.stopPropagation(),children:t.jsxs("select",{value:b,onChange:S=>{x(e,S.target.value)},className:"w-full px-1.5 py-1 bg-surface-elevated/80 border border-border-default/50 rounded text-[11px] text-fg-secondary outline-none focus:border-brand-500 cursor-pointer",children:[t.jsx("option",{value:"low",children:"Low"}),t.jsx("option",{value:"medium",children:"Medium"}),t.jsx("option",{value:"high",children:"High"}),t.jsx("option",{value:"urgent",children:"Urgent"})]})}),t.jsx("div",{className:"w-[120px] shrink-0 text-[11px] text-fg-secondary truncate",children:p?t.jsxs("span",{className:"flex items-center gap-1",children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${iN[p.status]??"bg-gray-500"}`}),p.name]}):t.jsx("span",{className:"text-fg-tertiary",children:"—"})}),t.jsx("div",{className:"w-[120px] shrink-0 text-[11px] text-fg-tertiary truncate",children:w?.name??t.jsx("span",{className:"text-fg-muted",children:"—"})}),t.jsx("div",{className:"w-[90px] shrink-0 text-[10px] text-fg-tertiary text-right",children:dL(e.data.updatedAt??"")})]})}function fL({tasks:e,requirements:r,agents:s,projects:l,onTaskClick:o,onReqClick:c,onRefresh:u}){const[f,m]=j.useState("status"),[h,x]=j.useState(null),[g,b]=j.useState(null),p=j.useMemo(()=>{const U=[];for(const V of e){const D=uL(V.status);U.push({kind:"task",data:V,group:D,groupOrder:Dv[D]??5})}for(const V of r){const D=oN[V.status]??"todo";U.push({kind:"req",data:V,group:D,groupOrder:Dv[D]??5})}if(f==="status")U.sort((V,D)=>{if(V.groupOrder!==D.groupOrder)return V.groupOrder-D.groupOrder;const A=new Date(V.data.updatedAt??0).getTime();return new Date(D.data.updatedAt??0).getTime()-A});else{const V=D=>iL[D.data.priority]??2;U.sort((D,A)=>{const I=V(D),_=V(A);return I!==_?I-_:new Date(A.data.updatedAt??0).getTime()-new Date(D.data.updatedAt??0).getTime()})}return U},[e,r,f]),w=async(U,V)=>{try{U.kind==="task"?await le.tasks.updateStatus(U.data.id,V):await le.requirements.updateStatus(U.data.id,V),u()}catch{}},S=async(U,V)=>{try{U.kind==="task"?await le.tasks.update(U.data.id,{priority:V}):await le.requirements.update(U.data.id,{priority:V}),u()}catch{}},T=(U,V)=>{x(V),U.dataTransfer.effectAllowed="move",U.dataTransfer.setData("text/plain",String(V)),U.currentTarget.style.opacity="0.4"},E=U=>{U.currentTarget.style.opacity="1",x(null),b(null)},C=(U,V)=>{U.preventDefault(),U.dataTransfer.dropEffect="move",g!==V&&b(V)},N=async(U,V)=>{if(U.preventDefault(),b(null),h==null)return;const D=p[h];if(!D||D.group===V)return;const A=To.find(I=>I.id===V);if(A){try{if(D.kind==="task"){if(D.data.status==="pending_approval")return;await le.tasks.updateStatus(D.data.id,A.dropStatus)}else{const I=cN[V];I&&await le.requirements.updateStatus(D.data.id,I)}u()}catch{}x(null)}},k=j.useMemo(()=>new Map(s.map(U=>[U.id,U])),[s]),H=j.useMemo(()=>new Map(l.map(U=>[U.id,U])),[l]),M=["todo","in_progress","review","done"],Y=j.useMemo(()=>{const U={};for(const V of p)U[V.group]=(U[V.group]??0)+1;return U},[p]),{rowsByGroup:$,rowIndexMap:X}=j.useMemo(()=>{const U=new Map,V=new Map;for(let D=0;D<p.length;D++){const A=p[D];V.set(A,D);const I=U.get(A.group)??[];I.push(A),U.set(A.group,I)}return{rowsByGroup:U,rowIndexMap:V}},[p]),P=j.useMemo(()=>{if(f!=="status")return null;const U=new Set(p.map(A=>A.group)),V=[],D=new Set;U.has("failed")&&(V.push("failed"),D.add("failed"));for(const A of M)V.push(A),D.add(A);for(const A of p)D.has(A.group)||(V.push(A.group),D.add(A.group));return V},[p,f]);return t.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:t.jsxs("div",{className:"min-w-[850px] h-full flex flex-col",children:[t.jsxs("div",{className:"flex items-center gap-2 px-6 py-2 border-b border-border-default text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider shrink-0 bg-surface-secondary/80",children:[t.jsx("div",{className:"w-12 shrink-0 text-fg-muted normal-case font-normal",children:p.length}),t.jsx("div",{className:"flex-1 min-w-[200px]",children:"Title"}),t.jsxs("button",{onClick:()=>m("status"),className:`w-[130px] shrink-0 text-left flex items-center gap-1 transition-colors ${f==="status"?"text-brand-500":"hover:text-fg-secondary"}`,children:["Status ",f==="status"&&t.jsx("span",{className:"text-[8px]",children:"▼"})]}),t.jsxs("button",{onClick:()=>m("priority"),className:`w-[100px] shrink-0 text-left flex items-center gap-1 transition-colors ${f==="priority"?"text-brand-500":"hover:text-fg-secondary"}`,children:["Priority ",f==="priority"&&t.jsx("span",{className:"text-[8px]",children:"▼"})]}),t.jsx("div",{className:"w-[120px] shrink-0",children:"Assignee"}),t.jsx("div",{className:"w-[120px] shrink-0",children:"Project"}),t.jsx("div",{className:"w-[90px] shrink-0 text-right",children:"Updated"})]}),t.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto",children:[f==="status"&&P?P.map(U=>{const V=To.find(A=>A.id===U),D=$.get(U)??[];return t.jsxs("div",{children:[t.jsxs("div",{className:`flex items-center gap-2 px-6 py-2 border-l-2 bg-surface-secondary/60 sticky top-0 z-10 ${cL[U]??""} ${g===U?"ring-1 ring-brand-500/40":""}`,onDragOver:A=>C(A,U),onDragLeave:()=>b(null),onDrop:A=>{N(A,U)},children:[t.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider",children:V?.label??U}),t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:Y[U]??0})]}),D.map(A=>t.jsx(Ov,{row:A,idx:X.get(A)??0,dragIdx:h,agentMap:k,projMap:H,onTaskClick:o,onReqClick:c,onRowDragStart:T,onRowDragEnd:E,handleStatusChange:w,handlePriorityChange:S},`${A.kind}-${A.data.id}`))]},U)}):p.map((U,V)=>t.jsx(Ov,{row:U,idx:V,dragIdx:h,agentMap:k,projMap:H,onTaskClick:o,onReqClick:c,onRowDragStart:T,onRowDragEnd:E,handleStatusChange:w,handlePriorityChange:S},`${U.kind}-${U.data.id}`)),p.length===0&&t.jsx("div",{className:"flex items-center justify-center py-16 text-sm text-fg-tertiary",children:"No items"})]})]})})}function Rv({authUser:e}){const r=xs(),[s,l]=j.useState([]),[o,c]=j.useState("all"),[u,f]=j.useState(null),[m,h]=j.useState({}),[x,g]=j.useState([]),[b,p]=j.useState([]),[w,S]=j.useState([]),[T,E]=j.useState(!0),[C,N]=j.useState(""),[k,H]=j.useState(!1),M=j.useCallback(()=>{Ot(u??""),_t(!0)},[u]),[Y,$]=j.useState(!1),[X,P]=j.useState(!1),[U,V]=j.useState(""),[D,A]=j.useState(""),[I,_]=j.useState("medium"),[G,q]=j.useState(""),[K,B]=j.useState(""),[R,W]=j.useState(""),[z,L]=j.useState(""),[F,Q]=j.useState([]),[ne,Z]=j.useState("standard"),[ee,oe]=j.useState("4h"),[pe,Se]=j.useState(null),[Re,ze]=j.useState(null),[Be,Xe]=j.useState(new Set),[_e,Ye]=j.useState(new Set),ht=j.useRef(new Set),gt=j.useRef(new Set),[ie,Le]=j.useState(null),[xt,yt]=j.useState("backlog"),[Zt,ve]=j.useState(!1),[Me,Ue]=j.useState(!1),et=j.useRef(null),Ge=j.useRef(null),[Ht,_t]=j.useState(!1),[jt,vt]=j.useState(""),[he,He]=j.useState(""),[ft,ct]=j.useState("medium"),[pt,Ot]=j.useState(""),[rn,Wt]=j.useState(null),[cn,vn]=j.useState(""),wt=se=>{N(se),setTimeout(()=>N(""),3e3)},ue=s.find(se=>se.id===u)??null;j.useEffect(()=>{gt.current=_e},[_e]);const te=j.useCallback(async()=>{try{const{projects:se}=await le.projects.list();l(se)}catch{}},[]),Ne=j.useCallback(async()=>{const se={};o==="project"&&u&&(se.projectId=u);try{const{board:Oe}=await le.tasks.board(se);h(Oe)}catch{}},[o,u]),De=j.useCallback(async()=>{try{const{agents:se}=await le.agents.list();g(se)}catch{}},[]),dt=j.useCallback(async()=>{try{const{users:se}=await le.users.list(e?.orgId);p(se)}catch{}},[e?.orgId]),$e=j.useCallback(async()=>{try{const{requirements:se}=await le.requirements.list({});S(se)}catch{}},[]),Mt=j.useCallback(async()=>{await Promise.all([te(),Ne(),De(),dt(),$e()]),E(!1)},[te,Ne,De,dt,$e]);j.useEffect(()=>{Mt()},[Mt]);const sn=j.useRef(pe);sn.current=pe,j.useEffect(()=>{const Oe=setInterval(()=>{Ne(),De(),$e()},pe?6e4:15e3),qe=Cn.on("task:update",re=>{sn.current||(Ne(),$e());const be=re?.payload;be?.taskId&&Se(we=>{if(!we||we.id!==be.taskId)return we;const Ee={};return typeof be.status=="string"&&(Ee.status=be.status),Array.isArray(be.deliverables)&&(Ee.deliverables=be.deliverables),Array.isArray(be.notes)&&(Ee.notes=be.notes),be.result!==void 0&&(Ee.result=be.result),{...we,...Ee}})});return()=>{clearInterval(Oe),qe()}},[Ne,De,$e,pe]);const hn=j.useRef(m);hn.current=m,j.useEffect(()=>{const se=localStorage.getItem("markus_nav_openTask");if(!se)return;const qe=Object.values(m).flat().find(re=>re.id===se);qe&&(Se(qe),localStorage.removeItem("markus_nav_openTask"))},[m]),j.useEffect(()=>{const se=window.location.hash.slice(1).split("/");if(se[0]==="projects"&&se[1])Dt(se[1]);else{const Oe=localStorage.getItem("markus_nav_projectId");Oe&&(localStorage.removeItem("markus_nav_projectId"),Dt(Oe))}},[]),j.useEffect(()=>{const se=()=>{const qe=window.location.hash.slice(1).split("/");qe[0]==="projects"&&qe[1]?Dt(qe[1]):qe[0]==="projects"&&Bn()},Oe=qe=>{const re=qe.detail;if(re.page==="tasks"||re.page==="projects"){if(re.params?.openTask){const we=Object.values(hn.current).flat().find(Ee=>Ee.id===re.params.openTask);we&&Se(we)}re.params?.projectId&&Dt(re.params.projectId),!re.params?.projectId&&!re.params?.openTask&&Bn()}};return window.addEventListener("markus:navigate",Oe),window.addEventListener("hashchange",se),()=>{window.removeEventListener("markus:navigate",Oe),window.removeEventListener("hashchange",se)}},[]);const Dt=se=>{gt.current.size>0&&(ht.current=new Set(gt.current)),Ye(new Set),f(se),c("project"),H(!1),history.replaceState(null,"","#projects/"+se)},Bn=()=>{Ye(ht.current),f(null),c("all"),H(!1),history.replaceState(null,"","#projects")},Hn=()=>{$(!1),wt("Project created"),te()},jn=async se=>{if(confirm("Delete this project and unlink all its tasks?"))try{await le.projects.delete(se),u===se&&Bn(),wt("Project deleted"),te(),Ne()}catch(Oe){wt(`Error: ${Oe}`)}},It=async()=>{if(!U||!G||!K)return;if(G===K){wt("Assigned agent and reviewer must be different");return}const se=R||void 0,Oe=z||void 0;try{await le.tasks.create(U,D,G,K,I,se,F.length>0?F:void 0,Oe,ne!=="standard"?ne:void 0,ne==="scheduled"?{every:ee}:void 0),V(""),A(""),Q([]),L(""),Z("standard"),oe("4h"),P(!1),Ne()}catch(qe){wt(`Error creating task: ${qe}`)}},yn=()=>{Ne(),pe&&setTimeout(()=>{const se={};o==="project"&&u&&(se.projectId=u),le.tasks.board(se).then(Oe=>{const re=Object.values(Oe.board).flat().find(be=>be.id===pe.id);Se(re||null)}).catch(()=>{})},150)},Pn=async()=>{if(jt.trim()){if(!pt){wt("Please select a project for this requirement");return}try{await le.requirements.create({title:jt,description:he,priority:ft,projectId:pt}),wt("Requirement created"),vt(""),He(""),_t(!1),$e()}catch(se){wt(`Error: ${se}`)}}},ye=async se=>{try{await le.requirements.approve(se),wt("Requirement approved"),$e(),Ne()}catch(Oe){wt(`Error: ${Oe}`)}},Ke=async()=>{if(rn)try{await le.requirements.reject(rn,cn),wt("Requirement rejected"),Wt(null),vn(""),$e()}catch(se){wt(`Error: ${se}`)}},kt=async se=>{try{await le.requirements.delete(se),wt("Requirement cancelled"),$e()}catch(Oe){wt(`Error: ${Oe}`)}},Et=(se,Oe)=>{et.current=Oe,Ge.current=null,se.dataTransfer.effectAllowed="move",se.dataTransfer.setData("text/plain",`task:${Oe.id}`),se.currentTarget.style.opacity="0.4"},wn=(se,Oe)=>{Ge.current=Oe,et.current=null,se.dataTransfer.effectAllowed="move",se.dataTransfer.setData("text/plain",`req:${Oe.id}`),se.currentTarget.style.opacity="0.4"},sr=se=>{se.currentTarget.style.opacity="1",et.current=null,Ge.current=null,Le(null)},ar=(se,Oe)=>{se.preventDefault(),se.dataTransfer.dropEffect="move",ie!==Oe&&Le(Oe)},Dr=(se,Oe)=>{const qe=se.currentTarget.getBoundingClientRect(),{clientX:re,clientY:be}=se;(re<qe.left||re>qe.right||be<qe.top||be>qe.bottom)&&ie===Oe&&Le(null)},Or=async(se,Oe)=>{se.preventDefault(),Le(null);const qe=et.current,re=Ge.current;if(qe){const be=To.find(Ee=>Ee.id===Oe);if(!be)return;const we=be.dropStatus;if(qe.status===we||qe.status==="pending_approval")return;try{await le.tasks.updateStatus(qe.id,we),Ne()}catch{}}else if(re){const be=cN[Oe];if(!be||re.status===be)return;try{await le.requirements.updateStatus(re.id,be),$e()}catch{}}},yr=se=>{Xe(Oe=>{const qe=new Set(Oe);return qe.has(se)?qe.delete(se):qe.add(se),qe})},un=se=>{Ye(Oe=>{const qe=new Set(Oe);return qe.has(se)?qe.delete(se):qe.add(se),qe})},Rr=1440*60*1e3,Ps=Date.now(),lr=se=>se.status==="completed"&&se.updatedAt&&Ps-new Date(se.updatedAt).getTime()>Rr,ir=(se,Oe=!1)=>{let qe=se.filter(re=>Zt||Oe||!lr(re));return o==="project"&&u&&(qe=qe.filter(re=>re.projectId===u)),_e.size>0&&(qe=qe.filter(re=>re.projectId&&_e.has(re.projectId))),Be.size>0&&(qe=qe.filter(re=>re.assignedAgentId&&Be.has(re.assignedAgentId))),qe},Us=se=>se.statuses.flatMap(Oe=>ir(m[Oe]??[])),En=j.useMemo(()=>{let se=w;return o==="project"&&u&&(se=se.filter(Oe=>Oe.projectId===u)),_e.size>0&&(se=se.filter(Oe=>Oe.projectId&&_e.has(Oe.projectId))),Be.size>0&&(se=se.filter(Oe=>Be.has(Oe.createdBy))),se},[w,o,u,_e,Be]),Yr=j.useCallback(se=>En.filter(Oe=>oN[Oe.status]===se.id),[En]),ka=To.filter(se=>{if(se.id==="failed"||se.id==="closed"){const Oe=Us(se),qe=Yr(se);return Oe.length+qe.length>0}return!0}),or=Object.values(m).flat().filter(se=>lr(se)).length,zr=j.useMemo(()=>{const se=new Set(["completed","failed","cancelled","archived"]),Oe=Object.values(m).flat(),qe=new Set;for(const re of Oe)re.assignedAgentId&&!se.has(re.status)&&(!u||re.projectId===u)&&qe.add(re.assignedAgentId);return[...x].sort((re,be)=>{const we=qe.has(re.id)?0:1,Ee=qe.has(be.id)?0:1;return we-Ee})},[x,m,u]),Fn=j.useMemo(()=>{const se=new Set(["completed","failed","cancelled","archived"]),Oe=Object.values(m).flat(),qe=new Set;for(const re of Oe)re.projectId&&!se.has(re.status)&&qe.add(re.projectId);return[...s].sort((re,be)=>{const we=qe.has(re.id)?0:1,Ee=qe.has(be.id)?0:1;return we-Ee})},[s,m]),Nn=j.useMemo(()=>{const se={};for(const Oe of Object.values(m))for(const qe of Oe){const re=qe.projectId??"__none__";se[re]=(se[re]??0)+1}return se},[m]),vr=Object.values(Nn).reduce((se,Oe)=>se+Oe,0);return T?t.jsx("div",{className:"flex-1 flex items-center justify-center text-fg-tertiary",children:"Loading…"}):t.jsxs("div",{className:"flex-1 overflow-hidden flex",children:[t.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[C&&t.jsx("div",{className:"mx-6 mt-2 px-3 py-1.5 bg-green-500/15 text-green-600 text-xs rounded-lg",children:C}),r?t.jsxs("div",{className:"border-b border-border-default bg-surface-secondary/80 shrink-0",children:[t.jsxs("div",{className:"flex items-center gap-2 px-3 h-11",children:[ue?t.jsxs("div",{className:"flex items-center gap-1 min-w-0 flex-1",children:[t.jsx("span",{className:"text-sm font-semibold text-fg-primary truncate",children:ue.name}),t.jsx("button",{onClick:()=>H(!k),className:`w-6 h-6 flex items-center justify-center rounded-md transition-colors shrink-0 ${k?"bg-surface-overlay text-fg-primary":"text-fg-tertiary"}`,children:t.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("circle",{cx:"12",cy:"12",r:"3"}),t.jsx("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]})})]}):t.jsx("h2",{className:"text-sm font-semibold text-fg-primary min-w-0 flex-1 truncate",children:s.length===1?s[0].name:`${s.length} Projects`}),t.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[t.jsx("button",{onClick:()=>$(!0),className:"px-2 py-1 text-[11px] border border-border-default text-fg-secondary rounded-md",children:"+ Project"}),t.jsx("button",{onClick:M,className:"px-2 py-1 text-[11px] bg-brand-600 text-white rounded-md",children:"+ Req"}),t.jsx("button",{onClick:()=>{W(u??""),P(!0)},className:"px-2 py-1 text-[11px] border border-border-default text-fg-secondary rounded-md",children:"+ Task"})]})]}),t.jsxs("div",{className:"flex items-center gap-2 px-3 h-9 border-t border-border-default/40",children:[t.jsx("div",{className:"flex items-center border border-border-default/60 rounded-md overflow-hidden shrink-0",children:["backlog","kanban","dag"].map(se=>t.jsx("button",{onClick:()=>yt(se),className:`px-2 py-0.5 text-[10px] font-medium transition-colors ${xt===se?"bg-brand-600/25 text-brand-500":"text-fg-tertiary"}`,children:se==="backlog"?"Backlog":se==="kanban"?"Kanban":"DAG"},se))}),or>0&&t.jsx("button",{onClick:()=>ve(se=>!se),className:`text-[10px] shrink-0 px-2 py-0.5 rounded-md transition-colors ${Zt?"bg-surface-overlay text-fg-secondary":"text-fg-tertiary"}`,children:Zt?"Hide archived":`${or} archived`}),t.jsx("div",{className:"flex-1"}),(_e.size>0||Be.size>0||s.length>1||x.length>0)&&t.jsxs("button",{onClick:()=>Ue(!0),className:`px-2 py-1 text-[11px] rounded-md font-medium transition-colors flex items-center gap-1 ${_e.size>0||Be.size>0?"bg-brand-600/20 text-brand-500 ring-1 ring-brand-500/30":"border border-border-default text-fg-secondary"}`,children:[t.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"})}),"Filter",_e.size+Be.size>0?` (${_e.size+Be.size})`:""]})]})]}):t.jsxs("div",{className:"flex items-center gap-3 px-6 h-14 border-b border-border-default bg-surface-secondary/80 shrink-0",children:[ue?t.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[t.jsx(Xz,{value:ue.name,onSave:async se=>{await le.projects.update(ue.id,{name:se}),te()},className:"text-sm font-semibold text-fg-primary"}),t.jsx("button",{onClick:()=>H(!k),className:`w-6 h-6 flex items-center justify-center rounded-md transition-colors ${k?"bg-surface-overlay text-fg-primary":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated"}`,title:"Project settings",children:t.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("circle",{cx:"12",cy:"12",r:"3"}),t.jsx("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]})})]}):t.jsx("h2",{className:"text-sm font-semibold text-fg-primary shrink-0",children:s.length===1?s[0].name:`${s.length} Projects`}),or>0&&t.jsx("button",{onClick:()=>ve(se=>!se),className:`text-[10px] shrink-0 px-2 py-0.5 rounded-md transition-colors ${Zt?"bg-surface-overlay text-fg-secondary":"text-fg-tertiary hover:text-fg-secondary"}`,children:Zt?`Hide ${or} archived`:`${or} archived`}),t.jsx("div",{className:"flex items-center border border-border-default/60 rounded-md overflow-hidden shrink-0",children:["backlog","kanban","dag"].map(se=>t.jsx("button",{onClick:()=>yt(se),className:`px-2.5 py-1 text-[10px] font-medium transition-colors ${xt===se?"bg-brand-600/25 text-brand-500":"text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated"}`,children:se==="backlog"?"Backlog":se==="kanban"?"Kanban":"DAG"},se))}),t.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[t.jsx("button",{onClick:M,className:"px-3 py-1.5 bg-brand-600 hover:bg-brand-500 text-white text-xs rounded-lg font-medium transition-colors",children:"+ Requirement"}),t.jsx("button",{onClick:()=>{W(u??""),P(!0)},className:"px-3 py-1.5 border border-border-default hover:bg-surface-elevated text-fg-secondary text-xs rounded-lg font-medium transition-colors",children:"+ Task"})]}),t.jsx("div",{className:"flex-1"})]}),!r&&s.length>1&&!u&&!k&&(vr>0||w.length>0)&&t.jsxs("div",{className:"px-6 py-1.5 border-b border-border-default/60 flex items-center gap-1.5 overflow-x-auto scrollbar-hide shrink-0",children:[t.jsx("button",{onClick:()=>Ye(new Set),className:`text-[10px] text-fg-tertiary hover:text-fg-secondary px-2 py-1 rounded-md bg-surface-elevated/60 hover:bg-surface-overlay shrink-0 transition-all ${_e.size>0?"visible opacity-100":"invisible opacity-0"}`,children:"Clear"}),Fn.map(se=>{const Oe=_e.has(se.id),qe=Nn[se.id]??0;return t.jsxs("button",{onClick:()=>un(se.id),className:`flex items-center gap-1.5 px-2.5 py-1 rounded-md text-[11px] shrink-0 transition-all ${Oe?"bg-brand-500/15 text-brand-600 ring-1 ring-brand-500/30":"text-fg-tertiary hover:bg-surface-elevated hover:text-fg-secondary"}`,children:[t.jsx("span",{className:`w-4 h-4 rounded-sm flex items-center justify-center text-[9px] font-bold shrink-0 ${Oe?"bg-brand-600 text-white":"bg-surface-overlay text-fg-secondary"}`,children:se.name[0]?.toUpperCase()}),se.name,qe>0&&t.jsx("span",{className:"text-[9px] text-fg-tertiary ml-0.5",children:qe})]},se.id)})]}),!r&&x.length>0&&!k&&(vr>0||w.length>0)&&t.jsxs("div",{className:"px-6 py-1.5 border-b border-border-default/60 flex items-center gap-1.5 overflow-x-auto scrollbar-hide shrink-0",children:[t.jsx("button",{onClick:()=>Xe(new Set),className:`text-[10px] text-fg-tertiary hover:text-fg-secondary px-2 py-1 rounded-md bg-surface-elevated/60 hover:bg-surface-overlay shrink-0 transition-all ${Be.size>0?"visible opacity-100":"invisible opacity-0"}`,children:"Clear"}),zr.map(se=>{const Oe=Be.has(se.id);return t.jsxs("button",{onClick:()=>yr(se.id),className:`flex items-center gap-1.5 px-2.5 py-1 rounded-md text-[11px] shrink-0 transition-all ${Oe?"bg-brand-600/20 text-brand-500 ring-1 ring-brand-500/40":"text-fg-tertiary hover:bg-surface-elevated hover:text-fg-secondary"}`,children:[t.jsx("span",{className:`w-4 h-4 rounded-full flex items-center justify-center text-[9px] font-bold shrink-0 ${Oe?"bg-brand-600 text-white":"bg-surface-overlay text-fg-secondary"}`,children:se.name[0]?.toUpperCase()}),se.name]},se.id)})]}),k&&ue?t.jsx("div",{className:"flex-1 overflow-y-auto",children:t.jsx(lL,{project:ue,tasks:Object.values(m).flat(),requirements:w,agents:x,onDeleteProject:()=>jn(ue.id),onUpdateProject:async se=>{await le.projects.update(ue.id,se)},onRefresh:()=>{te()}})}):vr===0&&En.length===0?t.jsx("div",{className:"flex-1 flex items-center justify-center p-8",children:t.jsxs("div",{className:"max-w-sm w-full text-center space-y-3",children:[t.jsx("div",{className:"w-10 h-10 mx-auto rounded-lg bg-surface-elevated flex items-center justify-center",children:t.jsx("span",{className:"text-fg-tertiary text-lg",children:"☐"})}),t.jsx("h3",{className:"text-sm font-medium text-fg-secondary",children:"No items yet"}),t.jsxs("p",{className:"text-xs text-fg-tertiary leading-relaxed",children:["Create a requirement to tell agents what you need.",t.jsx("br",{}),"Once approved, tasks will appear here automatically."]}),t.jsx("button",{onClick:M,className:"text-xs text-brand-500 hover:text-brand-500 font-medium",children:"+ Create a requirement"})]})}):xt==="backlog"?t.jsx(fL,{tasks:ir(Object.values(m).flat()),requirements:En,agents:x,projects:s,onTaskClick:se=>Se(se),onReqClick:se=>ze(se),onRefresh:()=>{Ne(),$e()}}):xt==="dag"?t.jsx(Gz,{tasks:ir(Object.values(m).flat(),!0),requirements:En,agents:x,showArchived:Zt,onShowArchivedChange:ve,onTaskClick:se=>Se(se),onReqClick:se=>ze(se),onDependencyChange:Ne}):t.jsx("div",{className:"flex-1 min-h-0 overflow-x-auto overflow-y-hidden p-6",children:t.jsx("div",{className:"flex gap-4 h-full",children:ka.map(se=>{const Oe=Us(se),qe=Yr(se),re=Oe.length+qe.length,be=ie===se.id;return t.jsxs("div",{className:`w-72 shrink-0 rounded-xl p-3.5 border-t-2 transition-colors flex flex-col h-full ${se.accent} ${be?"bg-surface-elevated/80 ring-1 ring-brand-500/40":"bg-surface-secondary"}`,onDragOver:we=>ar(we,se.id),onDragLeave:we=>Dr(we,se.id),onDrop:we=>{Or(we,se.id)},children:[t.jsxs("div",{className:"flex justify-between items-center mb-3 shrink-0",children:[t.jsx("span",{className:"text-xs font-semibold text-fg-secondary uppercase tracking-wider",children:se.label}),t.jsx("span",{className:"text-xs bg-surface-elevated px-2 py-0.5 rounded-full",children:re})]}),t.jsx("div",{className:"space-y-2 flex-1 min-h-0 overflow-y-auto scrollbar-thin",children:(()=>{const we=[...qe.map(Ee=>({kind:"req",data:Ee,time:new Date(Ee.updatedAt??Ee.createdAt).getTime()})),...Oe.map(Ee=>({kind:"task",data:Ee,time:new Date(Ee.updatedAt??Ee.createdAt??0).getTime()}))];return we.sort((Ee,Ae)=>Ae.time-Ee.time),we.map(Ee=>{if(Ee.kind==="req"){const Ae=Ee.data,Pe=Iu[Ae.status]??{label:Ae.status,cls:"bg-gray-500/15 text-fg-secondary"},mt=Ae.source==="agent"&&(Ae.status==="draft"||Ae.status==="pending_review"),st=o==="all"&&Ae.projectId?s.find(Tt=>Tt.id===Ae.projectId):null,nt=Wl(Ae.createdBy,x,b)??Ae.createdBy.slice(0,10);return t.jsxs("div",{role:"button",tabIndex:0,draggable:!0,onDragStart:Tt=>wn(Tt,Ae),onDragEnd:sr,onClick:()=>ze(Ae),onKeyDown:Tt=>Tt.key==="Enter"&&ze(Ae),className:`bg-brand-500/[0.06] border rounded-lg p-3 border-l-[3px] border-l-purple-500 transition-colors cursor-grab active:cursor-grabbing ${mt?"border-amber-500/40 ring-1 ring-amber-500/20":"border-brand-500/20"} hover:border-brand-400/50`,children:[t.jsxs("div",{className:"flex items-start justify-between gap-2",children:[t.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[t.jsx("span",{className:"text-[9px] font-bold text-brand-500 bg-brand-500/15 px-1.5 py-0.5 rounded shrink-0",children:"REQ"}),t.jsx("span",{className:"text-sm font-medium leading-snug truncate",children:Ae.title})]}),t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded shrink-0 ${Pe.cls}`,children:Pe.label})]}),Ae.description&&t.jsx("div",{className:"text-xs text-fg-tertiary mt-1 line-clamp-2",children:Ae.description}),st&&t.jsx("div",{className:"mt-1.5",children:t.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-surface-overlay/60 text-fg-secondary rounded truncate max-w-[120px]",title:st.name,children:st.name})}),t.jsxs("div",{className:"flex items-center justify-between mt-2",children:[t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx("span",{className:"text-xs text-fg-tertiary",children:Ae.priority}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["by ",nt]})]}),t.jsx("div",{className:"flex items-center gap-1.5",children:Ae.taskIds.length>0&&t.jsxs("span",{className:"text-[10px] text-brand-500/60 bg-brand-500/10 px-1.5 py-0.5 rounded",children:[Ae.taskIds.length," tasks"]})})]}),mt&&t.jsxs("div",{className:"flex items-center gap-2 mt-2 pt-2 border-t border-brand-500/10",children:[t.jsx("button",{onClick:Tt=>{Tt.stopPropagation(),ye(Ae.id)},className:"px-2.5 py-1 bg-green-600 hover:bg-green-500 text-white text-[10px] rounded-md font-medium transition-colors",children:"Approve"}),t.jsx("button",{onClick:Tt=>{Tt.stopPropagation(),Wt(Ae.id)},className:"px-2.5 py-1 border border-red-500/30 hover:bg-red-500/10 text-red-500 text-[10px] rounded-md font-medium transition-colors",children:"Reject"})]})]},`req-${Ae.id}`)}else{const Ae=Ee.data,Pe=Ae.subtasks?.length??0,Ve=lN[Ae.status],mt=Ae.status==="pending_approval",st=Ae.taskType==="scheduled"&&!!Ae.scheduleConfig,nt=st?Ae.scheduleConfig.every?`Every ${Ae.scheduleConfig.every}`:Ae.scheduleConfig.cron?"Cron":"Scheduled":null,Tt=o==="all"&&Ae.projectId?s.find(Je=>Je.id===Ae.projectId)?.name:null,Ft=Ae.requirementId?w.find(Je=>Je.id===Ae.requirementId)?.title:null,Kn=Ae.createdBy?Wl(Ae.createdBy,x,b)??Ae.createdBy:null;return t.jsxs("div",{role:"button",tabIndex:0,"aria-label":Ae.title,draggable:!mt,onDragStart:Je=>!mt&&Et(Je,Ae),onDragEnd:sr,onClick:()=>Se(Ae),onKeyDown:Je=>Je.key==="Enter"&&Se(Ae),className:`border rounded-lg p-3 border-l-[3px] transition-colors ${mt?"bg-amber-500/[0.04] border-amber-500/30 border-l-amber-500 cursor-pointer":st?`bg-blue-500/[0.03] border-blue-500/20 ${Tm[Ae.priority]??""} hover:border-blue-500/40 cursor-pointer`:`bg-surface-elevated border-border-default ${Tm[Ae.priority]??""} hover:border-brand-500/50 cursor-grab active:cursor-grabbing`}`,children:[t.jsxs("div",{className:"flex items-start justify-between gap-2",children:[t.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[st&&t.jsx("span",{className:"text-blue-600 shrink-0",title:nt??"Scheduled",children:t.jsx("svg",{className:"w-3.5 h-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("path",{d:"M21.5 2v6h-6M2.5 22v-6h6M2 11.5a10 10 0 0 1 18.8-4.3M22 12.5a10 10 0 0 1-18.8 4.3"})})}),t.jsx("div",{className:"text-sm font-medium leading-snug truncate",children:Ae.title})]}),t.jsxs("div",{className:"flex items-center gap-1 shrink-0",children:[st&&nt&&t.jsx("span",{className:"text-[9px] px-1.5 py-0.5 rounded bg-blue-500/10 text-blue-600 whitespace-nowrap",children:nt}),Ve&&t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded ${Ve.cls}`,children:Ve.label})]})]}),Ae.description&&t.jsx("div",{className:"text-xs text-fg-tertiary mt-1 line-clamp-2",children:Ae.description}),(Tt||Ft)&&t.jsxs("div",{className:"mt-1.5 flex flex-wrap gap-1",children:[Tt&&t.jsx("span",{className:"text-[10px] px-1.5 py-0.5 bg-surface-overlay/60 text-fg-secondary rounded truncate max-w-[100px]",title:Tt,children:Tt}),Ft&&t.jsxs("span",{className:"text-[10px] px-1.5 py-0.5 bg-brand-500/10 text-brand-500 rounded truncate max-w-[120px]",title:Ft,children:["# ",Ft]})]}),Ae.blockedBy&&Ae.blockedBy.length>0&&t.jsx("div",{className:"mt-1.5 flex items-center gap-1",children:t.jsxs("span",{className:"text-[10px] px-1.5 py-0.5 bg-amber-500/10 text-amber-600 rounded",children:["⏳ ",Ae.blockedBy.length," dep",Ae.blockedBy.length>1?"s":""]})}),t.jsxs("div",{className:"flex items-center justify-between mt-2",children:[t.jsxs("div",{className:"flex items-center gap-1.5",children:[t.jsx("span",{className:"text-xs text-fg-tertiary",children:Ae.priority}),Kn&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",title:`Created by ${Kn}`,children:["by ",Kn]})]}),t.jsxs("div",{className:"flex items-center gap-2",children:[Pe>0&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary bg-surface-overlay/50 px-1.5 py-0.5 rounded",children:["⋮ ",Pe]}),Ae.notes&&Ae.notes.length>0&&t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["📝 ",Ae.notes.length]}),Ae.assignedAgentId&&t.jsxs("span",{className:"text-[10px] text-brand-500 bg-brand-500/10 px-1.5 py-0.5 rounded flex items-center gap-1",children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full ${iN[x.find(Je=>Je.id===Ae.assignedAgentId)?.status??""]??"bg-gray-500"}`}),x.find(Je=>Je.id===Ae.assignedAgentId)?.name??Ae.assignedAgentId.slice(0,8)]})]})]})]},Ae.id)}})})()}),be&&t.jsx("div",{className:"mt-2 border-2 border-dashed border-brand-500/30 rounded-lg h-12 flex items-center justify-center shrink-0",children:t.jsx("span",{className:"text-xs text-brand-500/60",children:"Drop here"})})]},se.id)})})})]}),Y&&t.jsx(aN,{orgId:e?.orgId,onCreated:Hn,onClose:()=>$(!1)}),X&&t.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-3",onClick:()=>P(!1),children:t.jsxs("div",{className:`bg-surface-secondary border border-border-default rounded-xl p-6 space-y-4 max-h-[90dvh] overflow-y-auto ${r?"w-full":"w-[28rem]"}`,onClick:se=>se.stopPropagation(),children:[t.jsx("h3",{className:"text-base font-semibold text-fg-primary",children:"New Task"}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Project"}),t.jsxs("select",{value:R,onChange:se=>W(se.target.value),className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"",children:"No Project"}),s.map(se=>t.jsx("option",{value:se.id,children:se.name},se.id))]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Requirement"}),t.jsxs("select",{value:z,onChange:se=>L(se.target.value),className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"",children:"Select a requirement…"}),w.filter(se=>se.status==="approved"&&(!R||se.projectId===R)).map(se=>t.jsx("option",{value:se.id,children:se.title},se.id))]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Title"}),t.jsx("input",{autoFocus:!r,value:U,onChange:se=>V(se.target.value),onKeyDown:se=>{se.key==="Enter"&&It()},className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Description"}),t.jsx("textarea",{value:D,onChange:se=>A(se.target.value),rows:2,className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none resize-none"})]}),t.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Priority"}),t.jsxs("select",{value:I,onChange:se=>_(se.target.value),className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"low",children:"Low"}),t.jsx("option",{value:"medium",children:"Medium"}),t.jsx("option",{value:"high",children:"High"}),t.jsx("option",{value:"urgent",children:"Urgent"})]})]}),t.jsxs("div",{children:[t.jsxs("label",{className:"block text-sm text-fg-secondary mb-1.5",children:["Assign to ",t.jsx("span",{className:"text-red-500",children:"*"})]}),t.jsxs("select",{value:G,onChange:se=>q(se.target.value),className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"",children:"Select agent…"}),x.map(se=>t.jsx("option",{value:se.id,children:se.name},se.id))]})]}),t.jsxs("div",{children:[t.jsxs("label",{className:"block text-sm text-fg-secondary mb-1.5",children:["Reviewer ",t.jsx("span",{className:"text-red-500",children:"*"})]}),t.jsxs("select",{value:K,onChange:se=>B(se.target.value),className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"",children:"Select reviewer…"}),x.filter(se=>se.id!==G).map(se=>t.jsx("option",{value:se.id,children:se.name},se.id))]})]})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Task Type"}),t.jsxs("select",{value:ne,onChange:se=>Z(se.target.value),className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"standard",children:"Standard"}),t.jsx("option",{value:"scheduled",children:"Scheduled (recurring)"})]})]}),ne==="scheduled"&&t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Frequency"}),t.jsxs("select",{value:ee,onChange:se=>oe(se.target.value),className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"30m",children:"Every 30 min"}),t.jsx("option",{value:"1h",children:"Every 1 hour"}),t.jsx("option",{value:"2h",children:"Every 2 hours"}),t.jsx("option",{value:"4h",children:"Every 4 hours"}),t.jsx("option",{value:"8h",children:"Every 8 hours"}),t.jsx("option",{value:"12h",children:"Every 12 hours"}),t.jsx("option",{value:"1d",children:"Every day"}),t.jsx("option",{value:"1w",children:"Every week"})]})]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Blocked By (dependencies)"}),t.jsxs("select",{value:"",onChange:se=>{const Oe=se.target.value;Oe&&!F.includes(Oe)&&Q([...F,Oe])},className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"",children:"Select a task to depend on…"}),Object.values(m).flat().filter(se=>se.status!=="completed"&&se.status!=="cancelled"&&!F.includes(se.id)).map(se=>t.jsx("option",{value:se.id,children:se.title},se.id))]}),F.length>0&&t.jsx("div",{className:"mt-2 flex flex-wrap gap-1.5",children:F.map(se=>{const Oe=Object.values(m).flat().find(qe=>qe.id===se);return t.jsxs("span",{className:"inline-flex items-center gap-1 text-[11px] px-2 py-1 bg-amber-500/10 text-amber-600 rounded-full",children:["⏳ ",Oe?Oe.title.slice(0,30):se.slice(-8),t.jsx("button",{onClick:()=>Q(F.filter(qe=>qe!==se)),className:"ml-0.5 text-amber-600/60 hover:text-amber-600",children:"×"})]},se)})})]}),t.jsxs("div",{className:"flex justify-end gap-3 pt-1",children:[t.jsx("button",{onClick:()=>P(!1),className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated text-fg-secondary",children:"Cancel"}),t.jsx("button",{onClick:()=>{It()},disabled:!G||!K,className:"px-4 py-2 text-sm bg-brand-600 hover:bg-brand-500 rounded-lg text-white disabled:opacity-50",children:"Create"})]})]})}),pe&&t.jsx(aL,{task:pe,agents:x,projects:s,requirements:w,allTasks:Object.values(m).flat(),users:b,onClose:()=>Se(null),onRefresh:yn,authUser:e}),Ht&&t.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-3",onClick:()=>{_t(!1),vt(""),He("")},children:t.jsxs("div",{className:`bg-surface-secondary border border-border-default rounded-xl p-6 space-y-4 max-h-[90dvh] overflow-y-auto ${r?"w-full":"w-[28rem]"}`,onClick:se=>se.stopPropagation(),children:[t.jsx("h3",{className:"text-base font-semibold text-fg-primary",children:"New Requirement"}),t.jsx("p",{className:"text-xs text-fg-tertiary -mt-2",children:"Describe what you need. Agents will break approved requirements into tasks."}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Project"}),t.jsxs("select",{value:pt,onChange:se=>Ot(se.target.value),className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm text-fg-primary focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"",children:"Select a project…"}),s.map(se=>t.jsx("option",{value:se.id,children:se.name},se.id))]})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Title"}),t.jsx("input",{value:jt,onChange:se=>vt(se.target.value),placeholder:"e.g. Add user authentication",className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm text-fg-primary focus:border-brand-500 outline-none",autoFocus:!r,onKeyDown:se=>{se.key==="Enter"&&jt.trim()&&Pn()}})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Description"}),t.jsx("textarea",{value:he,onChange:se=>He(se.target.value),placeholder:"What is needed and why...",rows:3,className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm text-fg-primary focus:border-brand-500 outline-none resize-none"})]}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Priority"}),t.jsxs("select",{value:ft,onChange:se=>ct(se.target.value),className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm text-fg-primary focus:border-brand-500 outline-none",children:[t.jsx("option",{value:"low",children:"Low"}),t.jsx("option",{value:"medium",children:"Medium"}),t.jsx("option",{value:"high",children:"High"}),t.jsx("option",{value:"urgent",children:"Urgent"})]})]}),t.jsxs("div",{className:"flex justify-end gap-3 pt-1",children:[t.jsx("button",{onClick:()=>{_t(!1),vt(""),He("")},className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated text-fg-secondary",children:"Cancel"}),t.jsx("button",{onClick:()=>{Pn()},className:"px-4 py-2 text-sm bg-brand-600 hover:bg-brand-500 rounded-lg text-white",children:"Create"})]})]})}),rn&&t.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-3",onClick:()=>Wt(null),children:t.jsxs("div",{className:`bg-surface-secondary border border-border-default rounded-xl p-6 space-y-4 ${r?"w-full":"w-96"}`,onClick:se=>se.stopPropagation(),children:[t.jsx("h3",{className:"text-base font-semibold text-fg-primary",children:"Reject Requirement"}),t.jsxs("div",{children:[t.jsx("label",{className:"block text-sm text-fg-secondary mb-1.5",children:"Reason"}),t.jsx("textarea",{value:cn,onChange:se=>vn(se.target.value),placeholder:"Why is this being rejected...",rows:3,className:"w-full px-3 py-2 bg-surface-elevated border border-border-default rounded-lg text-sm text-fg-primary focus:border-red-500 outline-none resize-none",autoFocus:!r})]}),t.jsxs("div",{className:"flex justify-end gap-3",children:[t.jsx("button",{onClick:()=>Wt(null),className:"px-4 py-2 text-sm border border-border-default rounded-lg hover:bg-surface-elevated text-fg-secondary",children:"Cancel"}),t.jsx("button",{onClick:()=>{Ke()},className:"px-4 py-2 text-sm bg-red-600 hover:bg-red-500 rounded-lg text-white",children:"Reject"})]})]})}),Re&&t.jsx(hL,{req:Re,agents:x,projects:s,allTasks:Object.values(m).flat(),users:b,onClose:()=>ze(null),onApprove:se=>{ye(se),ze(null)},onReject:se=>{Wt(se),ze(null)},onCancel:se=>{kt(se),ze(null)},onStatusChange:async(se,Oe)=>{try{await le.requirements.updateStatus(se,Oe),wt(`Requirement status → ${Oe}`),$e(),Ne()}catch(qe){wt(`Error: ${qe}`)}}}),Me&&t.jsxs("div",{className:"fixed inset-0 z-[60] flex flex-col justify-end",onClick:()=>Ue(!1),children:[t.jsx("div",{className:"absolute inset-0 bg-black/50"}),t.jsxs("div",{className:"relative bg-surface-secondary rounded-t-2xl border-t border-border-default max-h-[70vh] overflow-y-auto pb-16",onClick:se=>se.stopPropagation(),children:[t.jsxs("div",{className:"sticky top-0 bg-surface-secondary z-10 px-4 pt-3 pb-2 flex items-center justify-between border-b border-border-default/60",children:[t.jsx("h3",{className:"text-sm font-semibold text-fg-primary",children:"Filters"}),t.jsxs("div",{className:"flex items-center gap-2",children:[(_e.size>0||Be.size>0)&&t.jsx("button",{onClick:()=>{Ye(new Set),Xe(new Set)},className:"text-[11px] text-brand-500 font-medium",children:"Clear all"}),t.jsx("button",{onClick:()=>Ue(!1),className:"w-7 h-7 flex items-center justify-center rounded-full bg-surface-elevated text-fg-tertiary",children:t.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),t.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})]}),s.length>1&&t.jsxs("div",{className:"px-4 py-3",children:[t.jsx("div",{className:"text-[11px] text-fg-tertiary font-medium uppercase tracking-wider mb-2",children:"Projects"}),t.jsx("div",{className:"flex flex-wrap gap-1.5",children:Fn.map(se=>{const Oe=_e.has(se.id),qe=Nn[se.id]??0;return t.jsxs("button",{onClick:()=>un(se.id),className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-[11px] transition-all ${Oe?"bg-brand-500/15 text-brand-600 ring-1 ring-brand-500/30":"bg-surface-elevated text-fg-secondary"}`,children:[t.jsx("span",{className:`w-4 h-4 rounded-sm flex items-center justify-center text-[9px] font-bold shrink-0 ${Oe?"bg-brand-600 text-white":"bg-surface-overlay text-fg-tertiary"}`,children:se.name[0]?.toUpperCase()}),se.name,qe>0&&t.jsx("span",{className:"text-[9px] text-fg-tertiary",children:qe})]},se.id)})})]}),x.length>0&&t.jsxs("div",{className:"px-4 py-3 border-t border-border-default/40",children:[t.jsx("div",{className:"text-[11px] text-fg-tertiary font-medium uppercase tracking-wider mb-2",children:"Agents"}),t.jsx("div",{className:"flex flex-wrap gap-1.5",children:zr.map(se=>{const Oe=Be.has(se.id);return t.jsxs("button",{onClick:()=>yr(se.id),className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-[11px] transition-all ${Oe?"bg-brand-600/20 text-brand-500 ring-1 ring-brand-500/40":"bg-surface-elevated text-fg-secondary"}`,children:[t.jsx("span",{className:`w-4 h-4 rounded-full flex items-center justify-center text-[9px] font-bold shrink-0 ${Oe?"bg-brand-600 text-white":"bg-surface-overlay text-fg-tertiary"}`,children:se.name[0]?.toUpperCase()}),se.name]},se.id)})})]}),t.jsx("div",{className:"h-[env(safe-area-inset-bottom,0px)]"})]})]})]})}function hL({req:e,agents:r,projects:s,allTasks:l,users:o,onClose:c,onApprove:u,onReject:f,onCancel:m,onStatusChange:h}){const x=xs(),g=Iu[e.status]??{label:e.status,cls:"bg-gray-500/15 text-fg-secondary"},b=e.source==="agent",p=b&&(e.status==="draft"||e.status==="pending_review"),w=e.status==="draft"||e.status==="approved",S=e.status==="completed"||e.status==="rejected"||e.status==="cancelled",T=e.projectId?s.find(N=>N.id===e.projectId):null,E=Wl(e.createdBy,r,o)??e.createdBy.slice(0,12),C=l.filter(N=>e.taskIds.includes(N.id));return t.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60 p-3",onClick:c,children:t.jsxs("div",{className:`bg-surface-secondary border border-border-default rounded-xl max-h-[85dvh] flex flex-col ${x?"w-full":"w-[36rem]"}`,onClick:N=>N.stopPropagation(),children:[t.jsxs("div",{className:"flex items-start justify-between gap-4 p-5 pb-0",children:[t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[t.jsx("span",{className:"text-[10px] font-bold text-brand-500 bg-brand-500/15 px-2 py-0.5 rounded",children:"REQ"}),t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded-full font-medium ${g.cls}`,children:g.label}),e.priority==="high"||e.priority==="urgent"?t.jsx("span",{className:`text-[10px] font-medium ${e.priority==="urgent"?"text-red-500":"text-amber-600"}`,children:e.priority}):t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:e.priority})]}),t.jsx("h2",{className:"text-lg font-semibold text-fg-primary leading-snug",children:e.title})]}),t.jsx("button",{onClick:c,className:"text-fg-tertiary hover:text-fg-secondary text-xl leading-none shrink-0 mt-1",children:"×"})]}),t.jsxs("div",{className:"flex-1 overflow-y-auto p-5 space-y-4",children:[e.description&&t.jsxs("div",{children:[t.jsx("label",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider mb-1 block",children:"Description"}),t.jsx(er,{content:e.description,className:"text-sm text-fg-secondary leading-relaxed"})]}),t.jsxs("div",{className:"grid grid-cols-2 gap-3 text-xs",children:[t.jsxs("div",{className:"bg-surface-elevated/60 rounded-lg p-2.5",children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary block mb-1",children:"Created by"}),t.jsx("span",{className:"text-fg-secondary",children:E}),b&&t.jsx("span",{className:"text-[10px] text-brand-500 ml-1.5",children:"(Agent)"})]}),t.jsxs("div",{className:"bg-surface-elevated/60 rounded-lg p-2.5",children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary block mb-1",children:"Created"}),t.jsx("span",{className:"text-fg-secondary",children:new Date(e.createdAt).toLocaleString()})]}),T&&t.jsxs("div",{className:"bg-surface-elevated/60 rounded-lg p-2.5",children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary block mb-1",children:"Project"}),t.jsx("span",{className:"text-fg-secondary",children:T.name})]}),e.approvedBy&&t.jsxs("div",{className:"bg-surface-elevated/60 rounded-lg p-2.5",children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary block mb-1",children:"Approved by"}),t.jsx("span",{className:"text-fg-secondary",children:Wl(e.approvedBy,r,o)??e.approvedBy.slice(0,12)}),e.approvedAt&&t.jsx("span",{className:"text-[10px] text-fg-tertiary ml-1",children:new Date(e.approvedAt).toLocaleDateString()})]})]}),e.rejectedReason&&t.jsxs("div",{className:"bg-red-500/10 border border-red-500/20 rounded-lg p-3",children:[t.jsx("span",{className:"text-[10px] font-semibold text-red-500 uppercase tracking-wider block mb-1",children:"Rejection Reason"}),t.jsx("p",{className:"text-sm text-red-500/80",children:e.rejectedReason})]}),e.tags&&e.tags.length>0&&t.jsx("div",{className:"flex flex-wrap gap-1",children:e.tags.map(N=>t.jsxs("span",{className:"text-[10px] bg-surface-elevated text-fg-secondary px-2 py-0.5 rounded-full",children:["#",N]},N))}),C.length>0&&t.jsxs("div",{children:[t.jsxs("label",{className:"text-[10px] font-semibold text-fg-tertiary uppercase tracking-wider mb-2 block",children:["Linked Tasks (",C.length,")"]}),t.jsx("div",{className:"space-y-1.5",children:C.map(N=>{const k=lN[N.status];return t.jsxs("div",{className:"flex items-center gap-2 bg-surface-elevated/60 rounded-lg px-3 py-2",children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${Tm[N.priority]?.replace("border-l-","bg-")??"bg-gray-500"}`}),t.jsx("span",{className:"text-xs text-fg-secondary flex-1 truncate",children:N.title}),k&&t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded shrink-0 ${k.cls}`,children:k.label})]},N.id)})})]})]}),t.jsxs("div",{className:"flex items-center gap-2 p-5 pt-3 border-t border-border-default",children:[p&&t.jsxs(t.Fragment,{children:[t.jsx("button",{onClick:()=>u(e.id),className:"px-4 py-2 bg-green-600 hover:bg-green-500 text-white text-sm rounded-lg font-medium transition-colors",children:"Approve"}),t.jsx("button",{onClick:()=>f(e.id),className:"px-4 py-2 border border-red-500/30 hover:bg-red-500/10 text-red-500 text-sm rounded-lg font-medium transition-colors",children:"Reject"})]}),!p&&h&&!S&&t.jsx("select",{value:e.status,onChange:N=>{N.target.value!==e.status&&h(e.id,N.target.value)},className:"px-2 py-1.5 text-xs bg-surface-elevated border border-border-default rounded-lg text-fg-secondary cursor-pointer hover:border-gray-500 transition-colors",children:uN.map(N=>{const k=Iu[N];return t.jsx("option",{value:N,children:k?.label??N},N)})}),S&&h&&t.jsx("button",{onClick:()=>h(e.id,"approved"),className:"px-3 py-1.5 text-xs border border-border-default hover:bg-surface-elevated rounded-lg text-fg-secondary transition-colors",children:"Reopen"}),t.jsx("div",{className:"flex-1"}),w&&!p&&t.jsx("button",{onClick:()=>m(e.id),className:"px-3 py-1.5 text-xs text-red-500/70 hover:text-red-500 hover:bg-red-500/10 border border-transparent hover:border-red-500/20 rounded-lg transition-colors",children:"Cancel Requirement"})]})]})})}function mL({status:e}){const r={active:"bg-green-500/10 text-green-600",planning:"bg-blue-500/10 text-blue-600",review:"bg-amber-500/10 text-amber-600",completed:"bg-surface-overlay text-fg-secondary",archived:"bg-surface-elevated text-fg-tertiary",paused:"bg-amber-500/10 text-amber-600"};return t.jsx("span",{className:`px-1.5 py-0.5 rounded text-[10px] font-medium ${r[e]??"bg-surface-overlay text-fg-secondary"}`,children:e})}function is(e){return Array.isArray(e)?e.map(r=>String(r).trim()).filter(Boolean):typeof e=="string"&&e?e.split(",").map(r=>r.trim()).filter(Boolean):[]}function xL(e){return e.files&&typeof e.files=="object"&&!Array.isArray(e.files)?e.files:null}function Va({label:e,value:r}){return r?t.jsxs("div",{children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider",children:e}),t.jsx("div",{className:"text-xs text-fg-secondary mt-0.5",children:r})]}):null}function zl({label:e,value:r,color:s}){if(!r)return null;const l={purple:"bg-brand-500/15 text-brand-500",cyan:"bg-blue-500/15 text-blue-600",indigo:"bg-brand-500/15 text-brand-500",gray:"bg-gray-500/15 text-fg-secondary",emerald:"bg-green-500/15 text-green-600"};return t.jsxs("div",{children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider",children:e}),t.jsx("div",{className:`mt-0.5 px-2 py-0.5 rounded-full text-[10px] font-medium ${l[s]??l.gray} capitalize inline-block`,children:r})]})}function Yh({files:e}){const[r,s]=j.useState(Object.keys(e)[0]??""),l=Object.keys(e);return l.length===0?null:t.jsxs("div",{children:[t.jsxs("span",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider",children:["Files (",l.length,")"]}),t.jsxs("div",{className:"mt-1 bg-surface-elevated/50 rounded-lg border border-border-default/30 overflow-hidden",children:[t.jsx("div",{className:"flex gap-0.5 px-1.5 py-1 border-b border-border-default/30 overflow-x-auto",children:l.map(o=>t.jsx("button",{onClick:()=>s(o),className:`px-2 py-0.5 text-[10px] rounded whitespace-nowrap transition-colors ${r===o?"bg-brand-600/30 text-brand-500":"text-fg-tertiary hover:text-fg-secondary"}`,children:o},o))}),r&&e[r]!=null&&t.jsx("pre",{className:"p-2 text-[10px] text-fg-secondary max-h-[120px] overflow-auto whitespace-pre-wrap font-mono",children:e[r]})]})]})}function gL({artifact:e,mode:r}){const s=xL(e),l=e.agent,o=e.team,c=e.dependencies,u=e.displayName??e.name;if(r==="agent"){const f=l?.roleName,m=l?.agentRole,h=l?.llmProvider,x=l?.llmModel,g=is(c?.env),b=is(c?.skills);return t.jsxs("div",{className:"space-y-3 text-sm",children:[t.jsx(Va,{label:"Name",value:u}),t.jsx(Va,{label:"Description",value:e.description}),t.jsxs("div",{className:"flex flex-wrap gap-2",children:[t.jsx(zl,{label:"Role Template",value:f,color:"indigo"}),t.jsx(zl,{label:"Agent Role",value:m,color:m==="manager"?"purple":"cyan"})]}),is(e.tags).length>0&&t.jsx("div",{className:"flex flex-wrap gap-1",children:is(e.tags).map(p=>t.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-surface-elevated text-fg-tertiary rounded",children:p},p))}),(h||x)&&t.jsxs("div",{className:"flex gap-2",children:[h&&t.jsx(zl,{label:"LLM Provider",value:h,color:"gray"}),x&&t.jsx(zl,{label:"LLM Model",value:x,color:"gray"})]}),g.length>0&&t.jsxs("div",{children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider",children:"Required Env"}),t.jsx("div",{className:"flex flex-wrap gap-1 mt-1",children:g.map(p=>t.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-amber-500/10 text-amber-600 rounded font-mono",children:p},p))})]}),b.length>0&&t.jsx(Va,{label:"Skills",value:b.join(", ")}),s&&t.jsx(Yh,{files:s})]})}if(r==="team"){const m=o?.members??[];return t.jsxs("div",{className:"space-y-3 text-sm",children:[t.jsx(Va,{label:"Name",value:u}),t.jsx(Va,{label:"Description",value:e.description}),t.jsx("div",{className:"flex flex-wrap gap-2",children:t.jsx(zl,{label:"Category",value:e.category,color:"indigo"})}),is(e.tags).length>0&&t.jsx("div",{className:"flex flex-wrap gap-1",children:is(e.tags).map(h=>t.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-surface-elevated text-fg-tertiary rounded",children:h},h))}),s&&t.jsx(Yh,{files:s}),t.jsxs("div",{children:[t.jsxs("span",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider",children:["Members (",m.length,")"]}),t.jsx("div",{className:"mt-1.5 space-y-1.5",children:m.map((h,x)=>t.jsxs("div",{className:"bg-surface-elevated/30 rounded-lg px-2 py-1.5 border border-border-default/20",children:[t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:`w-5 h-5 rounded flex items-center justify-center text-[10px] font-bold ${h.role==="manager"?"bg-brand-500/20 text-brand-500":"bg-blue-500/20 text-blue-600"}`,children:h.role==="manager"?"★":x+1}),t.jsx("span",{className:"text-xs text-fg-secondary flex-1 truncate",children:h.name}),typeof h.roleName=="string"&&h.roleName&&t.jsx("span",{className:"text-[10px] text-brand-500/70 font-mono",children:h.roleName}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary",children:["x",String(h.count??1)]})]}),is(h.skills).length>0&&t.jsx("div",{className:"mt-1 ml-7 flex flex-wrap gap-1",children:is(h.skills).map(g=>t.jsx("span",{className:"px-1 py-0.5 text-[9px] bg-green-500/10 text-green-600 rounded font-mono",children:g},g))})]},x))})]})]})}return t.jsxs("div",{className:"space-y-3 text-sm",children:[t.jsx(Va,{label:"Name",value:u}),t.jsx(Va,{label:"Description",value:e.description}),t.jsx("div",{className:"flex gap-2",children:t.jsx(zl,{label:"Category",value:e.category,color:"indigo"})}),s&&t.jsx(Yh,{files:s}),is(e.tags).length>0&&t.jsx("div",{className:"flex flex-wrap gap-1",children:is(e.tags).map(f=>t.jsx("span",{className:"px-1.5 py-0.5 text-[10px] bg-surface-elevated text-fg-tertiary rounded",children:f},f))})]})}const to={file:{icon:"📄",color:"bg-green-500/10 text-green-600"},directory:{icon:"📁",color:"bg-blue-500/10 text-blue-600"}},zv={active:{label:"Active",color:"text-green-600 bg-green-500/10"},verified:{label:"Verified",color:"text-blue-600 bg-blue-500/10"},outdated:{label:"Outdated",color:"text-red-500 bg-red-500/10"}},Lv=["file","directory"],os={agent:{icon:"✦",label:"Agent",color:"bg-brand-500/10 text-brand-500"},team:{icon:"◈",label:"Team",color:"bg-blue-500/10 text-blue-600"},skill:{icon:"⬡",label:"Skill",color:"bg-amber-500/10 text-amber-600"}};function Iv(){const e=xs(),r=Wm({side:"left",defaultWidth:384,minWidth:280,maxWidth:600,storageKey:"markus_deliverables_list"}),[s,l]=j.useState(!1),o=j.useRef(s);o.current=s,j.useEffect(()=>{if(!e)return;const ye=()=>{o.current&&l(!1)};return window.addEventListener("popstate",ye),()=>window.removeEventListener("popstate",ye)},[e]);const c=100,[u,f]=j.useState([]),[m,h]=j.useState(0),[x,g]=j.useState(!1),[b,p]=j.useState([]),[w,S]=j.useState([]),[T,E]=j.useState(!0),[C,N]=j.useState(""),[k,H]=j.useState(""),[M,Y]=j.useState(""),[$,X]=j.useState(""),[P,U]=j.useState(""),[V,D]=j.useState(""),[A,I]=j.useState(""),[_,G]=j.useState("date"),[q,K]=j.useState(null),[B,R]=j.useState(null),[W,z]=j.useState(""),[L,F]=j.useState(!1),[Q,ne]=j.useState(!1),[Z,ee]=j.useState(new Set),oe=j.useRef(null),[pe,Se]=j.useState("file"),[Re,ze]=j.useState(""),[Be,Xe]=j.useState(""),[_e,Ye]=j.useState(""),[ht,gt]=j.useState(""),[ie,Le]=j.useState(""),[xt,yt]=j.useState(null),[Zt,ve]=j.useState(null),[Me,Ue]=j.useState(!1),[et,Ge]=j.useState(!1),[Ht,_t]=j.useState(!1),[jt,vt]=j.useState(!1),he=j.useRef(null),He=j.useRef(null),[ft,ct]=j.useState(""),pt=j.useRef(void 0),Ot=(ye,Ke)=>{R({type:ye,text:Ke}),setTimeout(()=>R(null),3e3)},rn=async ye=>{try{return await navigator.clipboard.writeText(ye),!0}catch{try{const Ke=document.createElement("textarea");Ke.value=ye,Ke.style.cssText="position:fixed;left:-9999px;top:-9999px;opacity:0",document.body.appendChild(Ke),Ke.select();const kt=document.execCommand("copy");return document.body.removeChild(Ke),kt}catch{return!1}}},Wt=async ye=>{await rn(ye)?(vt(!0),setTimeout(()=>vt(!1),1500)):Ot("error","Copy failed — try long-pressing to copy manually")},cn=j.useMemo(()=>new Map(w.map(ye=>[ye.id,ye])),[w]),vn=j.useMemo(()=>new Map(b.map(ye=>[ye.id,ye])),[b]);j.useEffect(()=>{le.projects.list().then(ye=>p(ye.projects)).catch(()=>{}),le.agents.list().then(ye=>S(ye.agents??[])).catch(()=>{}),le.system.storage().then(ye=>ct(ye.dataDir+"/shared")).catch(()=>{})},[]),j.useEffect(()=>(pt.current=setTimeout(()=>H(C),300),()=>clearTimeout(pt.current)),[C]);const wt=j.useMemo(()=>({q:k||void 0,projectId:$||void 0,agentId:P||void 0,type:M||void 0,status:V||void 0,artifactType:A||void 0}),[k,$,P,M,V,A]),ue=j.useCallback(async()=>{E(!0);try{const{results:ye,total:Ke}=await le.deliverables.search({...wt,offset:0,limit:c});f(ye),h(Ke)}catch{f([]),h(0)}E(!1)},[wt]),te=j.useCallback(async()=>{if(!(x||u.length>=m)){g(!0);try{const{results:ye,total:Ke}=await le.deliverables.search({...wt,offset:u.length,limit:c});f(kt=>[...kt,...ye]),h(Ke)}catch{}g(!1)}},[wt,u.length,m,x]);j.useEffect(()=>{ue()},[ue]),j.useEffect(()=>Cn.on("deliverable:created",()=>ue()),[ue]);const Ne=j.useCallback(()=>{const ye=oe.current;!ye||T||x||u.length>=m||ye.scrollHeight<=ye.clientHeight+100&&te()},[T,x,u.length,m,te]);j.useEffect(()=>{const ye=oe.current;if(!ye)return;const Ke=()=>{ye.scrollTop+ye.clientHeight>=ye.scrollHeight-100&&te()};return ye.addEventListener("scroll",Ke,{passive:!0}),()=>ye.removeEventListener("scroll",Ke)},[te]),j.useEffect(()=>{Ne()},[Ne,Z]);const De=j.useMemo(()=>{const ye=new Map;for(const kt of u){let Et,wn;if(_==="project")Et=kt.projectId??"_none",wn=kt.projectId?vn.get(kt.projectId)?.name??kt.projectId:"No Project";else if(_==="agent")Et=kt.agentId??"_none",wn=kt.agentId?cn.get(kt.agentId)?.name??kt.agentId:"Unknown";else if(_==="type")Et=kt.type,wn=kt.type.charAt(0).toUpperCase()+kt.type.slice(1);else{const sr=new Date(kt.updatedAt);Et=`${sr.getFullYear()}-${String(sr.getMonth()+1).padStart(2,"0")}-${String(sr.getDate()).padStart(2,"0")}`,wn=Et}ye.has(Et)||ye.set(Et,{label:wn,items:[]}),ye.get(Et).items.push(kt)}const Ke=[...ye.entries()];return _==="date"?Ke.sort((kt,Et)=>Et[0].localeCompare(kt[0])):Ke.sort((kt,Et)=>kt[1].label.localeCompare(Et[1].label)),Ke},[u,_,vn,cn]),dt=async()=>{if(!(!Re.trim()||!Be.trim())){ne(!0);try{await le.deliverables.create({type:pe,title:Re,summary:Be,reference:_e,projectId:ht||void 0,tags:ie.split(",").map(ye=>ye.trim()).filter(Boolean)}),F(!1),Ot("success","Deliverable created"),ue()}catch(ye){Ot("error",`Error: ${ye}`)}ne(!1)}},$e=async ye=>{z("verify");try{await le.deliverables.verify(ye.id),Ot("success","Verified"),K({...ye,status:"verified"}),ue()}catch(Ke){Ot("error",`Error: ${Ke}`)}z("")},Mt=async ye=>{z("flag");try{await le.deliverables.update(ye.id,{status:"outdated"}),Ot("success","Flagged as outdated"),K({...ye,status:"outdated"}),ue()}catch(Ke){Ot("error",`Error: ${Ke}`)}z("")},sn=async ye=>{z("remove");try{await le.deliverables.remove(ye.id),Ot("success","Removed"),K(null),ue()}catch(Ke){Ot("error",`Error: ${Ke}`)}z("")},hn=()=>{Ut.navigate("builder")},Dt=async ye=>{if(ye.reference){if(ye.type==="directory"){Ge(!0);return}Ue(!0);try{const Ke=await le.files.preview(ye.reference);Ke.type==="image"&&Ke.mimeType?ve({src:`data:${Ke.mimeType};base64,${Ke.content}`,name:Ke.name}):yt(Ke.content)}catch{yt(null),ye.type==="file"&&Ge(!0)}Ue(!1)}};j.useEffect(()=>{yt(null),ve(null),Ge(!1),_t(!1),q&&Dt(q)},[q?.id]),j.useEffect(()=>{if(!Ht)return;const ye=Ke=>{He.current&&!He.current.contains(Ke.target)&&_t(!1)};return document.addEventListener("mousedown",ye),()=>document.removeEventListener("mousedown",ye)},[Ht]);const Bn=async(ye,Ke)=>{const kt=he.current?.firstElementChild;if(!kt)return;const Et=pL(kt,ye);try{await navigator.clipboard.write([new ClipboardItem({"text/html":new Blob([Et],{type:"text/html"}),"text/plain":new Blob([Ke],{type:"text/plain"})})]),Ot("success",ye==="light"?"HTML (light) copied":"HTML (dark) copied")}catch{const wn=await rn(Ke);Ot(wn?"success":"error",wn?"Text copied (HTML not supported)":"Copy failed")}_t(!1)},Hn=ye=>t.jsxs("div",{className:"relative group/preview",children:[t.jsxs("div",{className:"absolute -top-1 -right-1 z-10",ref:He,children:[t.jsx("button",{onClick:()=>_t(Ke=>!Ke),className:"p-1.5 rounded-lg bg-surface-elevated/80 hover:bg-surface-overlay text-fg-secondary hover:text-fg-primary backdrop-blur-sm border border-border-default/50 transition-all",title:"Copy content",children:t.jsx("svg",{className:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})}),Ht&&t.jsxs("div",{className:"absolute right-0 top-full mt-1 bg-surface-elevated border border-border-default rounded-lg shadow-xl py-1 min-w-[180px]",children:[t.jsxs("button",{onClick:async()=>{const Ke=await rn(ye);Ot(Ke?"success":"error",Ke?"Markdown source copied":"Copy failed"),_t(!1)},className:"w-full px-3 py-2 text-left text-xs text-fg-secondary hover:bg-surface-overlay hover:text-fg-primary transition-colors flex items-center gap-2",children:[t.jsx("span",{className:"w-4 text-center text-fg-tertiary shrink-0 font-mono text-[10px]",children:"Md"}),"Copy Markdown Source"]}),t.jsxs("button",{onClick:()=>Bn("light",ye),className:"w-full px-3 py-2 text-left text-xs text-fg-secondary hover:bg-surface-overlay hover:text-fg-primary transition-colors flex items-center gap-2",children:[t.jsx("span",{className:"w-4 text-center shrink-0",children:"☀️"}),"Copy HTML (Light)"]}),t.jsxs("button",{onClick:()=>Bn("dark",ye),className:"w-full px-3 py-2 text-left text-xs text-fg-secondary hover:bg-surface-overlay hover:text-fg-primary transition-colors flex items-center gap-2",children:[t.jsx("span",{className:"w-4 text-center shrink-0",children:"🌙"}),"Copy HTML (Dark)"]})]})]}),t.jsx("div",{ref:he,children:t.jsx(er,{content:ye,className:"text-fg-secondary text-sm"})})]}),jn=j.useCallback(ye=>{ee(Ke=>{const kt=new Set(Ke);return kt.has(ye)?kt.delete(ye):kt.add(ye),kt})},[]),It=j.useCallback(()=>{Z.size===De.length?ee(new Set):ee(new Set(De.map(([ye])=>ye)))},[Z.size,De]),yn=()=>{ze(""),Xe(""),Ye(""),Le(""),Se("file"),b.length>0&&gt(b[0].id),F(!0)},Pn=ye=>{K(ye),e&&(l(!0),history.pushState({mobileDetail:"deliverables"},"",window.location.hash))};return t.jsxs("div",{className:"flex-1 overflow-hidden flex",children:[t.jsxs("div",{className:`${e?"flex-1 min-w-0":"shrink-0"} border-r border-border-default flex flex-col bg-surface-primary`,style:e?s?{display:"none"}:void 0:{width:r.width},children:[t.jsxs("div",{className:"p-4 border-b border-border-default space-y-3",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("h2",{className:"text-sm font-semibold text-fg-secondary",children:["Deliverables",m>0&&t.jsxs("span",{className:"ml-1.5 text-fg-tertiary font-normal",children:["(",m,")"]})]}),t.jsx("button",{onClick:yn,className:"text-xs px-2.5 py-1 rounded-lg bg-brand-600 hover:bg-brand-500 text-white transition-colors",children:"+ Create"})]}),t.jsx("input",{value:C,onChange:ye=>N(ye.target.value),placeholder:"Search deliverables...",className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary focus:border-brand-500 focus:outline-none transition-colors"}),ft&&t.jsxs("div",{className:"flex items-center gap-2 px-2.5 py-1.5 bg-surface-elevated/50 border border-border-default rounded-lg text-[10px] text-fg-tertiary",children:[t.jsx("span",{className:"truncate font-mono",children:ft}),t.jsx("button",{onClick:()=>{le.system.openPath(ft)},className:"shrink-0 underline hover:text-fg-secondary transition-colors",children:"Open"})]}),t.jsxs("div",{className:"flex gap-1 overflow-x-auto scrollbar-hide",children:[t.jsx(pa,{label:"All types",value:"",current:M||A||"",onClick:()=>{Y(""),I("")}}),Lv.map(ye=>t.jsx(pa,{label:`${to[ye]?.icon??""} ${ye}`,value:ye,current:M,onClick:Ke=>{Y(Ke),I("")}},ye)),["agent","team","skill"].map(ye=>t.jsx(pa,{label:`${os[ye].icon} ${os[ye].label}`,value:ye,current:A,onClick:Ke=>{I(Ke),Y("")}},ye))]}),b.length>0&&t.jsxs("div",{className:"flex gap-1 overflow-x-auto scrollbar-hide",children:[t.jsx(pa,{label:"All projects",value:"",current:$,onClick:X}),b.map(ye=>t.jsx(pa,{label:ye.name,value:ye.id,current:$,onClick:X},ye.id))]}),t.jsxs("div",{className:"flex gap-1 overflow-x-auto scrollbar-hide",children:[t.jsx(pa,{label:"Active",value:"",current:V,onClick:D}),t.jsx(pa,{label:"Verified",value:"verified",current:V,onClick:D}),t.jsx(pa,{label:"Outdated",value:"outdated",current:V,onClick:D})]}),t.jsxs("div",{className:"flex gap-1.5 items-center",children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary",children:"Group:"}),["date","project","agent","type"].map(ye=>t.jsx("button",{onClick:()=>{G(ye),ee(new Set)},className:`px-2 py-1 rounded text-xs transition-colors ${_===ye?"bg-brand-600 text-white":"bg-surface-elevated text-fg-secondary hover:bg-surface-overlay"}`,children:ye.charAt(0).toUpperCase()+ye.slice(1)},ye)),De.length>1&&t.jsx("button",{onClick:It,className:"ml-auto px-1.5 py-1 rounded text-[10px] text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated transition-colors",title:Z.size===De.length?"Expand all":"Collapse all",children:Z.size===De.length?"▶ Expand":"▼ Collapse"})]})]}),B&&t.jsx("div",{className:`mx-4 mt-2 px-3 py-1.5 text-xs rounded-lg ${B.type==="success"?"bg-green-500/15 text-green-600":"bg-red-500/15 text-red-500"}`,children:B.text}),t.jsxs("div",{ref:oe,className:"flex-1 overflow-y-auto p-2 space-y-1",children:[T?t.jsx("div",{className:"p-4 space-y-3",children:[1,2,3].map(ye=>t.jsxs("div",{className:"animate-pulse space-y-2",children:[t.jsx("div",{className:"h-4 bg-surface-elevated rounded w-3/4"}),t.jsx("div",{className:"h-3 bg-surface-elevated rounded w-1/2"})]},ye))}):u.length===0?t.jsxs("div",{className:"flex flex-col items-center justify-center py-16 px-6 text-center",children:[t.jsx("svg",{className:"w-12 h-12 text-fg-muted mb-3",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1,children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"})}),t.jsx("p",{className:"text-sm text-fg-secondary",children:"No deliverables yet"}),t.jsx("p",{className:"text-xs text-fg-tertiary mt-1 mb-3",children:"Deliverables are created when tasks complete or manually"}),t.jsx("button",{onClick:yn,className:"text-xs px-3 py-1.5 rounded-lg bg-brand-600 hover:bg-brand-500 text-white transition-colors",children:"+ Create first"})]}):De.map(([ye,Ke])=>{const kt=Z.has(ye);return t.jsxs("div",{children:[t.jsxs("button",{onClick:()=>jn(ye),className:"w-full flex items-center gap-1.5 px-2 py-1.5 rounded-md hover:bg-surface-elevated/50 transition-colors group/header",children:[t.jsx("svg",{className:`w-3 h-3 text-fg-tertiary transition-transform duration-200 shrink-0 ${kt?"":"rotate-90"}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})}),t.jsx("span",{className:"text-[10px] font-medium text-fg-tertiary uppercase tracking-wider truncate",children:Ke.label}),t.jsxs("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:["(",Ke.items.length,")"]})]}),!kt&&Ke.items.map(Et=>t.jsxs("button",{onClick:()=>Pn(Et),className:`w-full text-left p-3 rounded-lg transition-colors ${q?.id===Et.id?"bg-brand-600/20 border border-brand-500/30":"hover:bg-surface-elevated/60 border border-transparent"}`,children:[t.jsx("div",{className:"text-sm font-medium text-fg-primary truncate",children:Et.title}),t.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[Et.artifactType&&os[Et.artifactType]?t.jsxs("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${os[Et.artifactType].color}`,children:[os[Et.artifactType].icon," ",os[Et.artifactType].label]}):t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium uppercase ${to[Et.type]?.color??"bg-surface-overlay text-fg-secondary"}`,children:Et.type}),t.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded ${zv[Et.status]?.color??"bg-surface-elevated text-fg-tertiary"}`,children:Et.status}),Et.agentId&&t.jsx("span",{className:"text-[10px] text-fg-tertiary truncate",children:cn.get(Et.agentId)?.name??"Agent"})]})]},Et.id))]},ye)}),x&&t.jsxs("div",{className:"flex items-center justify-center gap-2 py-3 text-fg-tertiary",children:[t.jsx(Gh,{})," ",t.jsx("span",{className:"text-[10px]",children:"Loading more..."})]}),!T&&u.length>0&&t.jsx("div",{className:"text-center text-[10px] text-fg-tertiary py-2",children:u.length<m?`${u.length} / ${m} deliverables`:`${m} deliverables`})]})]}),!e&&t.jsx("div",{className:"w-1 shrink-0 cursor-col-resize hover:bg-brand-500/30 active:bg-brand-500/50 transition-colors",onMouseDown:r.onResizeStart}),(!e||s)&&t.jsxs("div",{className:"flex-1 overflow-y-auto min-w-0",children:[e&&t.jsxs("div",{className:"sticky top-0 z-10 bg-surface-secondary border-b border-border-default px-4 py-2.5 flex items-center gap-2",children:[t.jsx("button",{onClick:()=>history.back(),className:"text-fg-secondary hover:text-fg-primary transition-colors p-1 -ml-1",children:t.jsx("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:t.jsx("polyline",{points:"15 18 9 12 15 6"})})}),t.jsx("span",{className:"text-sm font-medium truncate",children:q?.title??"Details"})]}),q?t.jsxs("div",{className:"p-6 space-y-5",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-xl font-semibold text-fg-primary",children:q.title}),t.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[q.status!=="verified"&&t.jsx("button",{onClick:()=>$e(q),disabled:!!W,className:"px-3 py-1.5 text-xs rounded-lg bg-green-600/20 text-green-600 hover:bg-green-600/30 disabled:opacity-50 transition-colors",children:W==="verify"?"Verifying...":"Verify"}),q.status!=="outdated"&&t.jsx("button",{onClick:()=>Mt(q),disabled:!!W,className:"px-3 py-1.5 text-xs rounded-lg bg-amber-600/20 text-amber-600 hover:bg-amber-600/30 disabled:opacity-50 transition-colors",children:W==="flag"?"Flagging...":"Flag Outdated"}),t.jsx("button",{onClick:()=>sn(q),disabled:!!W,className:"px-3 py-1.5 text-xs rounded-lg bg-red-600/20 text-red-500 hover:bg-red-600/30 disabled:opacity-50 transition-colors",children:W==="remove"?"Removing...":"Remove"})]}),t.jsxs("div",{className:"flex items-center gap-3 mt-2 flex-wrap",children:[t.jsxs("span",{className:`px-2 py-0.5 rounded text-xs font-medium uppercase ${to[q.type]?.color??"bg-surface-overlay text-fg-secondary"}`,children:[to[q.type]?.icon??""," ",q.type]}),t.jsx("span",{className:`px-2 py-0.5 rounded text-xs ${zv[q.status]?.color??"bg-surface-elevated text-fg-tertiary"}`,children:q.status}),q.artifactType&&os[q.artifactType]&&t.jsxs("span",{className:`px-2 py-0.5 rounded text-xs font-medium ${os[q.artifactType].color}`,children:[os[q.artifactType].icon," Builder ",os[q.artifactType].label]})]}),q.reference&&(q.type==="file"||q.type==="directory")&&t.jsxs("div",{className:"flex items-center gap-2 mt-2 bg-surface-secondary/60 border border-border-default rounded-lg px-3 py-2",children:[t.jsx("button",{onClick:()=>{le.files.reveal(q.reference).catch(()=>Ot("error","Failed to open file browser"))},className:"text-xs font-mono text-brand-500 hover:text-brand-500 hover:underline truncate flex-1 text-left cursor-pointer",title:"Open in file browser",children:q.reference}),t.jsx("button",{onClick:()=>{le.files.reveal(q.reference).catch(()=>Ot("error","Failed to open file browser"))},className:"px-2 py-1 text-[10px] rounded bg-brand-600/20 text-brand-500 hover:bg-brand-600/30 transition-colors shrink-0",title:"Reveal in Finder",children:"Open"}),t.jsx("button",{onClick:()=>Wt(q.reference),className:`px-2 py-1 text-[10px] rounded transition-colors shrink-0 ${jt?"bg-green-500/20 text-green-600":"bg-surface-overlay/50 text-fg-secondary hover:bg-surface-overlay"}`,title:"Copy path to clipboard",children:jt?"Copied!":"Copy"})]}),q.reference&&q.type!=="file"&&q.type!=="directory"&&t.jsx("div",{className:"mt-2",children:t.jsx("span",{className:"text-xs text-fg-tertiary font-mono break-all",children:q.reference})})]}),q.artifactType&&q.artifactData?t.jsxs("div",{className:"space-y-4",children:[t.jsx("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:t.jsx(gL,{artifact:q.artifactData,mode:q.artifactType})}),q.reference&&t.jsxs("div",{className:"px-3 py-2 bg-surface-secondary/50 border border-border-default rounded-lg",children:[t.jsx("span",{className:"text-[10px] text-fg-tertiary uppercase tracking-wider block mb-1",children:"Artifact Directory"}),t.jsx("span",{className:"text-xs text-fg-secondary font-mono break-all",children:q.reference})]}),t.jsx("div",{className:"flex gap-2",children:t.jsx("button",{onClick:hn,className:"flex-1 px-4 py-2.5 bg-brand-600 hover:bg-brand-500 text-white text-sm font-medium rounded-lg transition-colors",children:"Open in Builder"})}),q.summary&&t.jsx("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:t.jsx(er,{content:q.summary,className:"text-fg-secondary text-sm"})})]}):t.jsx("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:Me?t.jsxs("div",{className:"flex items-center gap-2 text-fg-tertiary text-sm",children:[t.jsx(Gh,{})," Loading preview..."]}):Zt?t.jsxs("div",{className:"flex flex-col items-center gap-2",children:[t.jsx("img",{src:Zt.src,alt:Zt.name,className:"max-w-full max-h-[60vh] rounded-lg object-contain"}),t.jsx("span",{className:"text-xs text-fg-tertiary",children:Zt.name})]}):xt?Hn(xt):et?t.jsxs("div",{className:"space-y-3",children:[t.jsxs("p",{className:"text-sm text-fg-secondary",children:["This ",q.type," cannot be previewed in the browser."]}),t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("button",{onClick:()=>{le.files.reveal(q.reference).catch(()=>Ot("error","Failed to open"))},className:"text-xs bg-surface-elevated px-3 py-2 rounded text-brand-500 hover:text-brand-500 hover:underline flex-1 truncate text-left cursor-pointer font-mono",title:"Open in file browser",children:q.reference}),t.jsx("button",{onClick:()=>{le.files.reveal(q.reference).catch(()=>Ot("error","Failed to open"))},className:"px-3 py-2 text-xs rounded-lg bg-brand-600/20 text-brand-500 hover:bg-brand-600/30 transition-colors shrink-0",children:"Open"}),t.jsx("button",{onClick:()=>Wt(q.reference),className:`px-3 py-2 text-xs rounded-lg transition-colors shrink-0 ${jt?"bg-green-500/20 text-green-600":"bg-surface-overlay/50 text-fg-secondary hover:bg-surface-overlay"}`,children:jt?"Copied!":"Copy"})]})]}):q.summary?Hn(q.summary):t.jsx("p",{className:"text-sm text-fg-tertiary italic",children:"No content"})}),(q.diffStats||q.testResults)&&t.jsxs("div",{className:"flex gap-4 flex-wrap",children:[q.diffStats&&t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-lg px-4 py-3 text-xs space-y-1",children:[t.jsx("div",{className:"text-fg-tertiary font-medium",children:"Diff Stats"}),t.jsxs("div",{className:"flex gap-3",children:[t.jsxs("span",{className:"text-fg-secondary",children:[q.diffStats.filesChanged," files"]}),t.jsxs("span",{className:"text-green-600",children:["+",q.diffStats.additions]}),t.jsxs("span",{className:"text-red-500",children:["-",q.diffStats.deletions]})]})]}),q.testResults&&t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-lg px-4 py-3 text-xs space-y-1",children:[t.jsx("div",{className:"text-fg-tertiary font-medium",children:"Tests"}),t.jsxs("div",{className:"flex gap-3",children:[t.jsxs("span",{className:"text-green-600",children:[q.testResults.passed," passed"]}),t.jsxs("span",{className:"text-red-500",children:[q.testResults.failed," failed"]}),t.jsxs("span",{className:"text-fg-secondary",children:[q.testResults.skipped," skipped"]})]})]})]}),q.tags.length>0&&t.jsx("div",{className:"flex flex-wrap gap-1.5",children:q.tags.map(ye=>t.jsx("span",{className:"px-2 py-0.5 text-xs bg-surface-elevated text-fg-secondary rounded",children:ye},ye))}),t.jsxs("div",{className:"border-t border-border-default pt-4 space-y-2",children:[t.jsx("div",{className:"text-xs text-fg-tertiary font-medium",children:"Links"}),t.jsxs("div",{className:"flex gap-3 flex-wrap",children:[q.taskId&&t.jsxs("button",{onClick:()=>Ut.navigate("projects",{openTask:q.taskId}),className:"text-xs text-brand-500 hover:underline bg-brand-500/10 px-2.5 py-1 rounded",children:["Task: ",q.taskId.slice(0,12),"..."]}),q.agentId&&t.jsxs("button",{onClick:()=>Ut.navigate("team",{selectAgent:q.agentId}),className:"text-xs text-blue-600 hover:underline bg-blue-500/10 px-2.5 py-1 rounded",children:["Agent: ",cn.get(q.agentId)?.name??q.agentId.slice(0,12)]}),q.projectId&&t.jsxs("button",{onClick:()=>Ut.navigate("projects",{projectId:q.projectId}),className:"text-xs text-blue-600 hover:underline bg-blue-500/10 px-2.5 py-1 rounded",children:["Project: ",vn.get(q.projectId)?.name??q.projectId.slice(0,12)]})]})]}),t.jsxs("div",{className:"text-xs text-fg-tertiary space-y-1 border-t border-border-default pt-4",children:[t.jsxs("div",{className:"flex gap-6 flex-wrap",children:[t.jsxs("span",{children:["Created: ",t.jsx("span",{className:"text-fg-secondary",children:new Date(q.createdAt).toLocaleString()})]}),t.jsxs("span",{children:["Updated: ",t.jsx("span",{className:"text-fg-secondary",children:new Date(q.updatedAt).toLocaleString()})]}),t.jsxs("span",{children:["Accessed: ",t.jsxs("span",{className:"text-fg-secondary",children:[q.accessCount,"x"]})]})]}),t.jsxs("div",{className:"text-fg-muted select-all",children:["ID: ",q.id]})]})]}):t.jsx("div",{className:"flex-1 flex items-center justify-center h-full",children:t.jsxs("div",{className:"text-center text-fg-tertiary space-y-2",children:[t.jsx("svg",{className:"w-12 h-12 mx-auto text-fg-muted",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1,children:t.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"})}),t.jsx("p",{className:"text-sm",children:"Select a deliverable to view details"})]})})]}),L&&t.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/60",onClick:()=>!Q&&F(!1),children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-6 w-[36rem] space-y-4",onClick:ye=>ye.stopPropagation(),children:[t.jsx("h3",{className:"text-base font-semibold text-fg-primary",children:"Create Deliverable"}),t.jsxs("div",{children:[t.jsx("label",{className:"text-xs text-fg-tertiary block mb-1",children:"Type"}),t.jsx("select",{value:pe,onChange:ye=>Se(ye.target.value),className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary",children:Lv.map(ye=>t.jsxs("option",{value:ye,children:[to[ye]?.icon??""," ",ye]},ye))})]}),t.jsxs("div",{children:[t.jsxs("label",{className:"text-xs text-fg-tertiary block mb-1",children:["Title ",t.jsx("span",{className:"text-red-500",children:"*"})]}),t.jsx("input",{value:Re,onChange:ye=>ze(ye.target.value),placeholder:"Clear, searchable title",className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary focus:border-brand-500 focus:outline-none transition-colors"})]}),t.jsxs("div",{children:[t.jsxs("label",{className:"text-xs text-fg-tertiary block mb-1",children:["Reference ",t.jsx("span",{className:"text-fg-tertiary",children:"(file path, URL, branch name)"})]}),t.jsx("input",{value:_e,onChange:ye=>Ye(ye.target.value),placeholder:"/path/to/file or https://...",className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary focus:border-brand-500 focus:outline-none transition-colors font-mono"})]}),t.jsxs("div",{children:[t.jsxs("label",{className:"text-xs text-fg-tertiary block mb-1",children:["Summary ",t.jsx("span",{className:"text-red-500",children:"*"})," ",t.jsx("span",{className:"text-fg-tertiary",children:"(Markdown)"})]}),t.jsx("textarea",{value:Be,onChange:ye=>Xe(ye.target.value),placeholder:"Describe the deliverable...",className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary h-36 resize-none focus:border-brand-500 focus:outline-none transition-colors font-mono"})]}),t.jsxs("div",{className:"flex gap-4",children:[t.jsxs("div",{className:"flex-1",children:[t.jsxs("label",{className:"text-xs text-fg-tertiary block mb-1",children:["Tags ",t.jsx("span",{className:"text-fg-tertiary",children:"(comma separated)"})]}),t.jsx("input",{value:ie,onChange:ye=>Le(ye.target.value),placeholder:"react, api, docs",className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary focus:border-brand-500 focus:outline-none transition-colors"})]}),t.jsxs("div",{className:"flex-1",children:[t.jsx("label",{className:"text-xs text-fg-tertiary block mb-1",children:"Project"}),t.jsxs("select",{value:ht,onChange:ye=>gt(ye.target.value),className:"w-full bg-surface-elevated border border-border-default rounded-lg px-3 py-2 text-sm text-fg-primary",children:[t.jsx("option",{value:"",children:"None"}),b.map(ye=>t.jsx("option",{value:ye.id,children:ye.name},ye.id))]})]})]}),t.jsxs("div",{className:"flex justify-end gap-3 pt-1 border-t border-border-default",children:[t.jsx("button",{onClick:()=>F(!1),disabled:Q,className:"text-sm text-fg-tertiary hover:text-fg-secondary disabled:opacity-50 transition-colors py-2",children:"Cancel"}),t.jsxs("button",{onClick:dt,disabled:Q||!Re.trim()||!Be.trim(),className:"bg-brand-600 hover:bg-brand-500 text-white text-sm px-4 py-2 rounded-lg disabled:opacity-50 flex items-center gap-2 transition-colors",children:[Q&&t.jsx(Gh,{}),Q?"Creating...":"Create"]})]})]})})]})}function pL(e,r){const s=e.cloneNode(!0),l=r==="light"?{bg:"#ffffff",text:"#24292f",heading:"#1f2328",strong:"#1f2328",link:"#0969da",codeBg:"#eff1f3",codeText:"#24292f",preBg:"#f6f8fa",preText:"#24292f",preBorder:"#d0d7de",border:"#d0d7de",blockquoteBorder:"#d0d7de",blockquoteText:"#656d76",tableBorder:"#d0d7de",tableHeaderBg:"#f6f8fa",tableHeaderText:"#24292f",hrColor:"#d8dee4"}:{bg:"#0d1117",text:"#e6edf3",heading:"#f0f6fc",strong:"#f0f6fc",link:"#58a6ff",codeBg:"#161b22",codeText:"#e6edf3",preBg:"#161b22",preText:"#e6edf3",preBorder:"#30363d",border:"#30363d",blockquoteBorder:"#3b82f6",blockquoteText:"#8b949e",tableBorder:"#30363d",tableHeaderBg:"#161b22",tableHeaderText:"#e6edf3",hrColor:"#21262d"},o={p:`margin:0 0 10px;color:${l.text};line-height:1.7;`,h1:`font-size:1.6em;font-weight:700;color:${l.heading};margin:20px 0 10px;line-height:1.3;border-bottom:1px solid ${l.border};padding-bottom:6px;`,h2:`font-size:1.35em;font-weight:700;color:${l.heading};margin:18px 0 8px;line-height:1.3;`,h3:`font-size:1.15em;font-weight:600;color:${l.heading};margin:14px 0 6px;line-height:1.3;`,h4:`font-size:1em;font-weight:600;color:${l.heading};margin:12px 0 4px;`,strong:`font-weight:600;color:${l.strong};`,em:"font-style:italic;",a:`color:${l.link};text-decoration:underline;`,ul:"padding-left:1.5em;margin:0 0 10px;",ol:"padding-left:1.5em;margin:0 0 10px;",li:`margin:3px 0;line-height:1.7;color:${l.text};`,blockquote:`border-left:3px solid ${l.blockquoteBorder};padding:2px 0 2px 14px;margin:10px 0;color:${l.blockquoteText};`,hr:`border:none;border-top:1px solid ${l.hrColor};margin:20px 0;`,table:"border-collapse:collapse;width:100%;margin:10px 0;",thead:`background:${l.tableHeaderBg};`,th:`border:1px solid ${l.tableBorder};padding:8px 12px;text-align:left;font-weight:600;color:${l.tableHeaderText};`,td:`border:1px solid ${l.tableBorder};padding:8px 12px;color:${l.text};`,img:"max-width:100%;height:auto;"};function c(u){u.removeAttribute("class");const f=u.tagName.toLowerCase();if(f==="pre"){u.setAttribute("style",`background:${l.preBg};color:${l.preText};padding:14px;border-radius:6px;overflow-x:auto;margin:10px 0;font-size:0.88em;line-height:1.5;border:1px solid ${l.preBorder};`);const m=u.querySelector("code");m&&(m.removeAttribute("class"),m.setAttribute("style","background:transparent;padding:0;border-radius:0;color:inherit;font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;font-size:inherit;"));return}f==="code"?u.setAttribute("style",`background:${l.codeBg};color:${l.codeText};padding:2px 6px;border-radius:4px;font-size:0.9em;font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;`):o[f]&&u.setAttribute("style",o[f]),Array.from(u.children).forEach(c)}return s.removeAttribute("class"),Array.from(s.children).forEach(u=>c(u)),`<div style="background:${l.bg};color:${l.text};padding:20px 24px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.7;max-width:800px;">${s.innerHTML}</div>`}function pa({label:e,value:r,current:s,onClick:l}){return t.jsx("button",{onClick:()=>l(s===r?"":r),className:`px-2 py-1 rounded text-xs whitespace-nowrap shrink-0 transition-colors ${s===r?"bg-brand-600 text-white":"bg-surface-elevated text-fg-secondary hover:bg-surface-overlay"}`,children:e})}function Gh(){return t.jsxs("svg",{className:"animate-spin h-3.5 w-3.5",viewBox:"0 0 24 24",fill:"none",children:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})]})}function ba(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:e.toLocaleString()}function gu(e){return e<.01?`$${e.toFixed(4)}`:`$${e.toFixed(2)}`}function bL(e){return e>=1024*1024*1024?`${(e/(1024*1024*1024)).toFixed(1)} GB`:e>=1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${(e/1024).toFixed(1)} KB`:`${e} B`}function dN(){const[e,r]=j.useState("weekly"),[s,l]=j.useState(null),[o,c]=j.useState(!0),[u,f]=j.useState(""),[m,h]=j.useState(null),[x,g]=j.useState([]),[b,p]=j.useState("totalTokens"),[w,S]=j.useState(!0),T=j.useCallback(async $=>{c(!0),f("");try{const{report:X}=await le.reports.generate({period:$,scope:"org",orgId:"default"});l(X)}catch(X){f(String(X)),l(null)}c(!1)},[]),E=j.useCallback(()=>{le.usage.summary().then($=>h($.usage)).catch(()=>{}),le.usage.agents().then($=>g($.agents)).catch(()=>{})},[]);j.useEffect(()=>{T(e)},[e,T]),j.useEffect(()=>{E();const $=setInterval(E,3e4);return()=>clearInterval($)},[E]);const C=j.useMemo(()=>[...x].sort(($,X)=>{const P=$[b],U=X[b];return w?U-P:P-U}),[x,b,w]),N=x.reduce(($,X)=>$+X.estimatedCost,0),k=x.reduce(($,X)=>$+X.tokensUsedToday,0),H=Math.max(1,...x.map($=>$.totalTokens)),M=$=>{b===$?S(!w):(p($),S(!0))},Y={daily:"Today",weekly:"This Week",monthly:"This Month"};return t.jsx("div",{className:"flex-1 overflow-y-auto",children:t.jsxs("div",{className:"max-w-5xl p-6 space-y-6",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h1",{className:"text-xl font-semibold text-fg-primary",children:"Reports"}),t.jsxs("select",{value:e,onChange:$=>r($.target.value),className:"bg-surface-elevated border border-border-default rounded-lg px-3 py-1.5 text-sm text-fg-primary",children:[t.jsx("option",{value:"daily",children:"Daily"}),t.jsx("option",{value:"weekly",children:"Weekly"}),t.jsx("option",{value:"monthly",children:"Monthly"})]})]}),m&&t.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:[t.jsx(iu,{label:"LLM Tokens (this month)",value:ba(m.llmTokens),color:"text-brand-500"}),t.jsx(iu,{label:"Tool Calls (today)",value:ba(m.toolCalls),color:"text-blue-600"}),t.jsx(iu,{label:"Messages (today)",value:ba(m.messages),color:"text-green-600"}),t.jsx(iu,{label:"Storage",value:bL(m.storageBytes),color:"text-amber-600"})]}),o?t.jsx("div",{className:"flex items-center justify-center h-32 text-fg-tertiary text-sm",children:"Loading…"}):u?t.jsx("div",{className:"flex items-center justify-center h-32 text-red-500 text-sm",children:u}):s?t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"text-xs text-fg-tertiary",children:[Y[e]," · ",new Date(s.periodStart).toLocaleDateString()," — ",new Date(s.periodEnd).toLocaleDateString()]}),s.metrics&&t.jsxs("section",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:[t.jsx("h3",{className:"text-xs font-semibold text-fg-secondary mb-3",children:"Task Metrics"}),t.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-4",children:[t.jsx(no,{label:"Completed",value:s.metrics.tasksCompleted,color:"text-green-600"}),t.jsx(no,{label:"In Progress",value:s.metrics.tasksInProgress,color:"text-brand-500"}),t.jsx(no,{label:"Created",value:s.metrics.tasksCreated,color:"text-blue-600"}),t.jsx(no,{label:"Blocked",value:s.metrics.tasksBlocked,color:"text-amber-600"}),t.jsx(no,{label:"Failed",value:s.metrics.tasksFailed,color:"text-red-500"})]})]}),t.jsxs("section",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:[t.jsx("h3",{className:"text-xs font-semibold text-fg-secondary mb-3",children:"Cost Overview"}),t.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-2xl font-bold text-fg-primary",children:gu(N)}),t.jsx("div",{className:"text-xs text-fg-tertiary",children:"Est. Cost (all time)"})]}),t.jsxs("div",{children:[t.jsx("div",{className:"text-2xl font-bold text-fg-primary",children:ba(k)}),t.jsx("div",{className:"text-xs text-fg-tertiary",children:"Tokens Today"})]}),s.costSummary&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-2xl font-bold text-fg-primary",children:s.costSummary.totalTokens.toLocaleString()}),t.jsxs("div",{className:"text-xs text-fg-tertiary",children:["Tokens (",Y[e],")"]})]}),t.jsxs("div",{children:[t.jsx("div",{className:"text-2xl font-bold text-fg-primary",children:gu(s.costSummary.totalEstimatedCost)}),t.jsxs("div",{className:"text-xs text-fg-tertiary",children:["Cost (",Y[e],")"]})]})]})]})]}),s.taskSummary&&t.jsxs("section",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:[t.jsx("h3",{className:"text-xs font-semibold text-fg-secondary mb-3",children:"Task Summary"}),t.jsxs("div",{className:"space-y-4",children:[s.taskSummary.completed.length>0&&t.jsx(Xh,{title:`Completed (${s.taskSummary.completed.length})`,color:"emerald",items:s.taskSummary.completed.map($=>({label:$.title,sub:$.agent}))}),s.taskSummary.inProgress.length>0&&t.jsx(Xh,{title:`In Progress (${s.taskSummary.inProgress.length})`,color:"indigo",items:s.taskSummary.inProgress.map($=>({label:$.title,sub:$.agent}))}),s.taskSummary.blocked.length>0&&t.jsx(Xh,{title:`Blocked (${s.taskSummary.blocked.length})`,color:"amber",items:s.taskSummary.blocked.map($=>({label:$.title,sub:$.reason||$.agent}))}),s.taskSummary.completed.length===0&&s.taskSummary.inProgress.length===0&&s.taskSummary.blocked.length===0&&t.jsx("p",{className:"text-sm text-fg-tertiary",children:"No tasks in this period."})]})]})]}):null,t.jsxs("section",{className:"bg-surface-secondary border border-border-default rounded-xl overflow-hidden",children:[t.jsx("div",{className:"px-5 py-4 border-b border-border-default",children:t.jsx("h3",{className:"text-sm font-semibold text-fg-secondary",children:"Per-Agent Usage"})}),x.length===0?t.jsx("div",{className:"p-8 text-center text-fg-tertiary text-sm",children:"No agent usage data yet."}):t.jsx("div",{className:"overflow-x-auto",children:t.jsxs("table",{className:"w-full",children:[t.jsx("thead",{children:t.jsxs("tr",{className:"border-b border-border-default text-xs text-fg-tertiary uppercase tracking-wider",children:[t.jsx("th",{className:"px-4 py-3 text-left font-medium",children:"Agent"}),t.jsx(ro,{label:"Total Tokens",col:"totalTokens",current:b,desc:w,onSort:M}),t.jsx(ro,{label:"Today",col:"tokensUsedToday",current:b,desc:w,onSort:M}),t.jsx(ro,{label:"Requests",col:"requestCount",current:b,desc:w,onSort:M}),t.jsx(ro,{label:"Tool Calls",col:"toolCalls",current:b,desc:w,onSort:M}),t.jsx(ro,{label:"Est. Cost",col:"estimatedCost",current:b,desc:w,onSort:M,align:"right"})]})}),t.jsx("tbody",{children:C.map($=>t.jsx(yL,{agent:$,maxTokens:H},$.agentId))}),t.jsx("tfoot",{children:t.jsxs("tr",{className:"border-t border-border-default bg-surface-elevated/30",children:[t.jsxs("td",{className:"px-4 py-3 text-sm font-medium text-fg-secondary",children:["Total (",x.length," agents)"]}),t.jsx("td",{className:"px-4 py-3 text-sm font-medium text-fg-secondary tabular-nums",children:ba(x.reduce(($,X)=>$+X.totalTokens,0))}),t.jsx("td",{className:"px-4 py-3 text-sm font-medium text-fg-secondary tabular-nums",children:ba(k)}),t.jsx("td",{className:"px-4 py-3 text-sm font-medium text-fg-secondary tabular-nums",children:x.reduce(($,X)=>$+X.requestCount,0)}),t.jsx("td",{className:"px-4 py-3 text-sm font-medium text-fg-secondary tabular-nums",children:x.reduce(($,X)=>$+X.toolCalls,0)}),t.jsx("td",{className:"px-4 py-3 text-sm font-medium text-right text-fg-secondary tabular-nums",children:gu(N)})]})})]})})]})]})})}function no({label:e,value:r,color:s}){return t.jsxs("div",{className:"text-center",children:[t.jsx("div",{className:`text-2xl font-bold ${s}`,children:r}),t.jsx("div",{className:"text-[10px] text-fg-tertiary mt-0.5",children:e})]})}function Xh({title:e,color:r,items:s}){return t.jsxs("div",{children:[t.jsx("div",{className:`text-xs font-medium text-${r}-400 mb-1.5`,children:e}),t.jsx("div",{className:"space-y-1",children:s.map((l,o)=>t.jsxs("div",{className:"text-sm text-fg-secondary flex items-center gap-2",children:[t.jsx("span",{className:`w-1.5 h-1.5 rounded-full bg-${r}-500 shrink-0`}),t.jsx("span",{className:"truncate",children:l.label}),l.sub&&l.sub!=="unassigned"&&t.jsx("span",{className:"text-[10px] text-fg-tertiary shrink-0",children:l.sub})]},o))})]})}function iu({label:e,value:r,color:s}){return t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-xl p-5",children:[t.jsx("div",{className:"text-sm text-fg-secondary mb-2",children:e}),t.jsx("div",{className:`text-2xl font-bold ${s}`,children:r})]})}function ro({label:e,col:r,current:s,desc:l,onSort:o,align:c}){const u=s===r?l?"↓":"↑":"↕",f=s===r?"text-brand-500":"text-fg-muted";return t.jsxs("th",{className:`px-4 py-3 ${c==="right"?"text-right":"text-left"} font-medium cursor-pointer select-none hover:text-fg-secondary`,onClick:()=>o(r),children:[e,t.jsx("span",{className:`ml-1 ${f}`,children:u})]})}function yL({agent:e,maxTokens:r}){const s=r>0?Math.min(100,e.totalTokens/r*100):0,l=e.status==="working"?"bg-blue-500":e.status==="idle"?"bg-green-500":e.status==="paused"?"bg-amber-500":e.status==="error"?"bg-red-500":"bg-gray-600";return t.jsxs("tr",{className:"border-b border-border-default/50 hover:bg-surface-elevated/30 transition-colors cursor-pointer",onClick:()=>Ut.navigate("team",{selectAgent:e.agentId}),children:[t.jsx("td",{className:"px-4 py-3",children:t.jsxs("div",{className:"flex items-center gap-2.5",children:[t.jsx("div",{className:`w-2 h-2 rounded-full ${l}`}),t.jsxs("div",{children:[t.jsx("div",{className:"text-sm font-medium text-fg-primary hover:text-brand-500 transition-colors",children:e.agentName}),t.jsx("div",{className:"text-xs text-fg-tertiary",children:e.role})]})]})}),t.jsx("td",{className:"px-4 py-3",children:t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"flex-1 bg-surface-elevated rounded-full h-1.5 overflow-hidden max-w-[120px]",children:t.jsx("div",{className:"h-full bg-brand-500 rounded-full",style:{width:`${s}%`}})}),t.jsx("span",{className:"text-sm text-fg-secondary tabular-nums",children:ba(e.totalTokens)})]})}),t.jsx("td",{className:"px-4 py-3 text-sm text-fg-secondary tabular-nums",children:ba(e.tokensUsedToday)}),t.jsx("td",{className:"px-4 py-3 text-sm text-fg-secondary tabular-nums",children:e.requestCount}),t.jsx("td",{className:"px-4 py-3 text-sm text-fg-secondary tabular-nums",children:e.toolCalls}),t.jsx("td",{className:"px-4 py-3 text-sm text-right text-fg-secondary tabular-nums",children:gu(e.estimatedCost)})]})}function so({d:e,size:r=18}){return t.jsx("svg",{width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",className:"shrink-0",children:t.jsx("path",{d:e})})}const ao={dashboard:"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z M9 22V12h6v10",projects:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z",chat:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",reports:"M18 20V10 M12 20V4 M6 20v-6",deliverables:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20 M4 19.5A2.5 2.5 0 0 0 6.5 22H20V2H6.5A2.5 2.5 0 0 0 4 4.5v15z",usage:"M21.21 15.89A10 10 0 1 1 8 2.83 M22 12A10 10 0 0 0 12 2v10z",builder:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",agents:"M8 3H5a2 2 0 0 0-2 2v3 M21 8V5a2 2 0 0 0-2-2h-3 M3 16v3a2 2 0 0 0 2 2h3 M16 21h3a2 2 0 0 0 2-2v-3 M9 9h6v6H9z",teams:"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2 M9 3a4 4 0 1 0 0 8 4 4 0 0 0 0-8z M23 21v-2a4 4 0 0 0-3-3.87 M16 3.13a4 4 0 0 1 0 7.75",skills:"M12 2L2 7l10 5 10-5-10-5z M2 17l10 5 10-5 M2 12l10 5 10-5",governance:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",settings:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"},vL={active:"bg-green-500",paused:"bg-amber-500",completed:"bg-gray-500",archived:"bg-gray-600"},jL=[{id:"dashboard",label:"Overview",section:"workspace"},{id:"chat",label:"Chat",section:"workspace"},{id:"deliverables",label:"Deliverables",section:"workspace"},{id:"builder",label:"Builder",section:"build"},{id:"agents",label:"Agents",section:"build"},{id:"teams",label:"Teams",section:"build"},{id:"skills",label:"Skills",section:"build"},{id:"governance",label:"Governance",section:"system"},{id:"reports",label:"Reports",section:"system"},{id:"settings",label:"Settings",section:"system"}],wL=[{key:"workspace",label:"WORKSPACE"},{key:"build",label:"BUILD"},{key:"system",label:"SYSTEM"}],$v=5;function NL({currentPage:e,onNavigate:r,authUser:s,onLogout:l,collapsed:o,onToggleCollapse:c}){const[u,f]=j.useState([]),[m,h]=j.useState(!1),[x,g]=j.useState(null),[b,p]=j.useState(!1),w=j.useCallback(()=>{le.projects.list().then(C=>f(C.projects)).catch(()=>{})},[]);j.useEffect(()=>{w();const C=setInterval(w,3e4);return()=>clearInterval(C)},[w]),j.useEffect(()=>{if(e!=="projects"){g(null);return}const N=window.location.hash.slice(1).split("/");N[0]==="projects"&&N[1]&&g(N[1])},[e]);const S=async()=>{try{await le.auth.logout()}catch{}l?.()},T=m?u:u.slice(0,$v),E=u.length>$v;return t.jsxs("aside",{className:"h-dvh bg-surface-secondary flex flex-col shrink-0 overflow-hidden border-r border-border-subtle",children:[t.jsx("div",{className:`flex items-center ${o?"px-2 py-3.5 justify-center":"px-4 h-14 justify-between"}`,children:o?t.jsx("button",{onClick:c,title:"Expand sidebar",className:"group",children:t.jsx("img",{src:"/logo.png",alt:"Markus",className:"w-8 h-8 rounded-lg group-hover:ring-2 group-hover:ring-brand-500/40 transition-all"})}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center gap-2.5 min-w-0",children:[t.jsx("img",{src:"/logo.png",alt:"Markus",className:"w-8 h-8 rounded-lg shadow-md shadow-black/30 shrink-0"}),t.jsx("span",{className:"text-[15px] font-bold tracking-tight text-fg-primary whitespace-nowrap",children:"Markus"})]}),t.jsx("button",{onClick:c,className:"text-fg-tertiary hover:text-fg-secondary transition-colors p-1 rounded-md hover:bg-surface-overlay shrink-0",title:"Collapse sidebar",children:t.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("polyline",{points:"11 17 6 12 11 7"}),t.jsx("polyline",{points:"18 17 13 12 18 7"})]})})]})}),t.jsx("nav",{className:`${o?"p-1.5":"p-3"} flex-1 overflow-y-auto`,children:wL.map((C,N)=>t.jsx("div",{children:t.jsxs("div",{className:"mb-3",children:[!o&&t.jsx("div",{className:"px-3 py-1.5 text-[11px] font-semibold text-fg-tertiary uppercase tracking-widest",children:C.label}),o&&N>0&&t.jsx("div",{className:"my-2 mx-1"}),jL.filter(k=>k.section===C.key&&!(C.key==="workspace"&&k.id==="deliverables")).map(k=>{const H=e===k.id;return t.jsxs("button",{onClick:()=>r(k.id),title:o?k.label:void 0,className:`w-full flex items-center ${o?"justify-center px-2 py-2":"gap-3 px-3 py-2"} rounded-lg text-sm mb-0.5 transition-all ${H?"bg-brand-600 text-white shadow-sm shadow-brand-900/30":"text-fg-primary hover:bg-surface-overlay"}`,children:[t.jsx(so,{d:ao[k.id]??""}),!o&&k.label]},k.id)}),C.key==="workspace"&&o&&t.jsxs(t.Fragment,{children:[t.jsx("button",{onClick:()=>{g(null),r("projects")},title:"Projects",className:`w-full flex items-center justify-center px-2 py-2 rounded-lg text-sm mb-0.5 transition-all ${e==="projects"&&!x?"bg-brand-600 text-white shadow-sm shadow-brand-900/30":e==="projects"?"bg-brand-600/15 text-fg-primary":"text-fg-primary hover:bg-surface-overlay"}`,children:t.jsx(so,{d:ao.projects})}),t.jsx("button",{onClick:()=>r("deliverables"),title:"Deliverables",className:`w-full flex items-center justify-center px-2 py-2 rounded-lg text-sm mb-0.5 transition-colors ${e==="deliverables"?"bg-brand-600 text-white":"text-fg-primary hover:bg-surface-elevated"}`,children:t.jsx(so,{d:ao.deliverables})})]}),C.key==="workspace"&&!o&&t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:"flex items-center mb-0.5",children:[t.jsxs("button",{onClick:()=>{g(null),window.location.hash="projects",r("projects")},className:`flex-1 flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors ${e==="projects"&&!x?"bg-brand-600 text-white":"text-fg-primary hover:bg-surface-elevated"}`,children:[t.jsx(so,{d:ao.projects}),"Projects"]}),t.jsx("button",{onClick:()=>p(!0),className:"text-fg-tertiary hover:text-fg-secondary transition-colors p-1.5 rounded hover:bg-surface-elevated shrink-0",title:"New Project",children:t.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),t.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]})})]}),u.length===0&&t.jsxs("button",{onClick:()=>p(!0),className:"w-full flex items-center gap-2 pl-9 pr-3 py-1.5 text-xs text-fg-tertiary hover:text-fg-secondary hover:bg-surface-elevated/50 rounded-lg transition-colors",children:[t.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[t.jsx("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),t.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})]}),"Create your first project"]}),T.map(k=>{const H=e==="projects"&&x===k.id;return t.jsxs("button",{onClick:()=>{g(k.id),e!=="projects"&&r("projects"),window.location.hash="projects/"+k.id},className:`w-full flex items-center gap-2.5 pl-9 pr-3 py-1.5 rounded-lg text-sm mb-0.5 transition-colors ${H?"bg-brand-600 text-white":"text-fg-secondary hover:bg-surface-elevated"}`,children:[t.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${vL[k.status]??"bg-gray-600"}`}),t.jsx("span",{className:"truncate text-xs",children:k.name})]},k.id)}),E&&!m&&t.jsxs("button",{onClick:()=>h(!0),className:"w-full pl-9 pr-3 py-1 text-[11px] text-fg-tertiary hover:text-fg-secondary transition-colors text-left",children:["Show all ",u.length," projects..."]}),t.jsxs("button",{onClick:()=>r("deliverables"),className:`w-full flex items-center gap-3 px-3 py-2 rounded-lg text-sm mb-0.5 transition-colors ${e==="deliverables"?"bg-brand-600 text-white":"text-fg-primary hover:bg-surface-elevated"}`,children:[t.jsx(so,{d:ao.deliverables}),"Deliverables"]})]})]})},C.key))}),t.jsxs("div",{className:`${o?"p-2 flex flex-col items-center gap-2":"px-4 py-3 space-y-2"}`,children:[s&&(o?t.jsx("button",{onClick:S,title:`${s.name??s.email} — Sign out`,className:"w-7 h-7 rounded-full bg-brand-600 flex items-center justify-center text-white text-xs font-bold shrink-0 hover:ring-2 hover:ring-brand-500/50 transition-all",children:s.name?.[0]?.toUpperCase()??"A"}):t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("div",{className:"w-7 h-7 rounded-full bg-brand-600 flex items-center justify-center text-white text-xs font-bold shrink-0",children:s.name?.[0]?.toUpperCase()??"A"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("div",{className:"text-xs text-fg-secondary truncate",children:s.name??s.email}),t.jsx("div",{className:"text-[11px] text-fg-tertiary truncate",children:s.email??s.role?.[0]?.toUpperCase()+s.role?.slice(1)})]}),t.jsx("button",{onClick:S,title:"Sign out",className:"text-fg-tertiary hover:text-fg-secondary transition-colors text-sm",children:"⇥"})]})),!o&&t.jsxs("div",{className:"text-[10px] text-fg-muted",children:["v","0.4.1"]})]}),b&&t.jsx(aN,{orgId:s?.orgId,onCreated:()=>{p(!1),w()},onClose:()=>p(!1)})]})}const kL={dashboard:"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z M9 22V12h6v10",chat:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",projects:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z",deliverables:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20 M4 19.5A2.5 2.5 0 0 0 6.5 22H20V2H6.5A2.5 2.5 0 0 0 4 4.5v15z",builder:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",settings:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6z M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"},SL=[{id:"dashboard",label:"Home",iconKey:"dashboard",group:["dashboard"]},{id:"chat",label:"Chat",iconKey:"chat",group:["chat"]},{id:"projects",label:"Projects",iconKey:"projects",group:["projects"]},{id:"deliverables",label:"Deliverables",iconKey:"deliverables",group:["deliverables"]},{id:"builder",label:"Builder",iconKey:"builder",group:["builder","agents","teams","skills"]},{id:"settings",label:"Settings",iconKey:"settings",group:["settings","governance","reports"]}];function CL({currentPage:e,onNavigate:r}){return t.jsx("nav",{className:"fixed bottom-0 left-0 right-0 z-50 bg-surface-secondary border-t border-border-default flex items-stretch h-14 safe-area-bottom",children:SL.map(s=>{const l=s.group.includes(e);return t.jsxs("button",{onClick:()=>r(s.id),className:`flex-1 flex flex-col items-center justify-center gap-0.5 transition-colors ${l?"text-brand-500":"text-fg-tertiary active:text-fg-secondary"}`,children:[t.jsx("svg",{width:20,height:20,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:l?2:1.75,strokeLinecap:"round",strokeLinejoin:"round",className:"shrink-0",children:t.jsx("path",{d:kL[s.iconKey]})}),t.jsx("span",{className:`text-[10px] leading-tight ${l?"font-semibold":""}`,children:s.label})]},s.id)})})}const EL=50,TL=30;function fN(e,r,s){const l=j.useRef(0),o=j.useRef(0),c=j.useCallback(f=>{l.current=f.touches[0].clientX,o.current=f.touches[0].clientY},[]),u=j.useCallback(f=>{const m=f.changedTouches[0].clientX-l.current,h=f.changedTouches[0].clientY-o.current,x=Math.abs(m),g=Math.abs(h);if(x<EL||Math.atan2(g,x)*(180/Math.PI)>TL)return;const p=e.findIndex(w=>w.id===r);m<0&&p<e.length-1?s(e[p+1].id):m>0&&p>0&&s(e[p-1].id)},[e,r,s]);return{onTouchStart:c,onTouchEnd:u}}const Bv=[{id:"builder",label:"Builder"},{id:"agents",label:"Agents"},{id:"teams",label:"Teams"},{id:"skills",label:"Skills"}];function AL({authUser:e}){const[r,s]=j.useState("builder"),l=fN(Bv,r,s);return t.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",onTouchStart:l.onTouchStart,onTouchEnd:l.onTouchEnd,children:[t.jsx("div",{className:"flex border-b border-border-default bg-surface-secondary shrink-0 overflow-x-auto scrollbar-hide",children:Bv.map(o=>t.jsx("button",{onClick:()=>s(o.id),className:`flex-1 min-w-0 px-3 py-2.5 text-xs font-medium text-center whitespace-nowrap transition-colors border-b-2 ${r===o.id?"border-brand-500 text-brand-500":"border-transparent text-fg-tertiary"}`,children:o.label},o.id))}),t.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[r==="builder"&&t.jsx(gj,{}),r==="agents"&&t.jsx(fj,{authUser:e}),r==="teams"&&t.jsx(xj,{}),r==="skills"&&t.jsx(cj,{})]})]})}const Hv=[{id:"settings",label:"Settings"},{id:"governance",label:"Governance"},{id:"reports",label:"Reports"}];function _L({theme:e,onThemeChange:r}){const[s,l]=j.useState("settings"),o=fN(Hv,s,l);return t.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",onTouchStart:o.onTouchStart,onTouchEnd:o.onTouchEnd,children:[t.jsx("div",{className:"flex border-b border-border-default bg-surface-secondary shrink-0 overflow-x-auto scrollbar-hide",children:Hv.map(c=>t.jsx("button",{onClick:()=>l(c.id),className:`flex-1 min-w-0 px-3 py-2.5 text-xs font-medium text-center whitespace-nowrap transition-colors border-b-2 ${s===c.id?"border-brand-500 text-brand-500":"border-transparent text-fg-tertiary"}`,children:c.label},c.id))}),t.jsxs("div",{className:"flex-1 overflow-hidden flex flex-col",children:[s==="settings"&&t.jsx(ij,{theme:e,onThemeChange:r}),s==="governance"&&t.jsx(pj,{}),s==="reports"&&t.jsx(dN,{})]})]})}const Pv=2;function ML({onComplete:e,theme:r,onThemeChange:s}){const[l,o]=j.useState(0),[c,u]=j.useState(null),[f,m]=j.useState(!1),[h,x]=j.useState({}),[g,b]=j.useState(!1),[p,w]=j.useState(null),[S,T]=j.useState(!1),[E,C]=j.useState(!1),[N,k]=j.useState(null),H=j.useRef(!1),M=()=>({"Content-Type":"application/json",Authorization:`Bearer ${localStorage.getItem("markus_token")??""}`});j.useEffect(()=>{fetch("/api/settings/llm").then(I=>I.ok?I.json():null).then(I=>{I?.providers&&Object.values(I.providers).some(_=>_.configured)&&C(!0)}).catch(()=>{})},[]),j.useEffect(()=>{l===Pv&&!H.current&&!E&&(H.current=!0,Y())},[l,E]);const Y=async()=>{m(!0);try{const I=await fetch("/api/settings/env-models",{headers:M()});if(I.ok){const _=await I.json();if(u(_),_.detected.length>0){const G={};for(const q of _.detected)G[q.provider]=!0;x(G)}}}catch{}finally{m(!1)}},$=async()=>{if(!c)return;const I=c.detected.filter(_=>h[_.provider]);if(I.length!==0){b(!0),k(null);try{const _=await fetch("/api/settings/env-models",{method:"POST",headers:M(),body:JSON.stringify({providers:I.map(G=>({provider:G.provider,model:G.model,baseUrl:G.baseUrl,enabled:!0}))})});if(_.ok){const G=await _.json();k({type:"ok",text:G.message}),C(!0)}else k({type:"err",text:"Failed to apply"})}catch{k({type:"err",text:"Network error"})}finally{b(!1)}}},X=async()=>{T(!0);try{const _=await(await fetch("/api/settings/import/openclaw",{method:"POST",headers:M(),body:JSON.stringify({preview:!0})})).json();"error"in _||w(_)}catch{}finally{T(!1)}},P=async()=>{T(!0),k(null);try{const _=await(await fetch("/api/settings/import/openclaw",{method:"POST",headers:M(),body:JSON.stringify({preview:!1})})).json();"error"in _?k({type:"err",text:_.error}):(k({type:"ok",text:`Imported ${_.appliedModels} model configs`}),C(!0))}catch{k({type:"err",text:"Import failed"})}finally{T(!1)}},U=[{value:"system",label:"System",icon:"💻",desc:"Follow your OS setting"},{value:"light",label:"Light",icon:"☀️",desc:"Always light background"},{value:"dark",label:"Dark",icon:"🌙",desc:"Always dark background"}],V=[{title:"Welcome to Markus",subtitle:"Your AI Digital Employee Platform",content:t.jsxs("div",{className:"space-y-4 text-fg-secondary text-sm leading-relaxed",children:[t.jsxs("p",{children:["Markus helps you build ",t.jsx("strong",{className:"text-fg-primary",children:"AI teams"})," — digital employees that work autonomously, collaborate with each other, and communicate with you naturally."]}),t.jsx("div",{className:"grid grid-cols-2 gap-3 mt-6",children:[["Always Online","Agents work 24/7 autonomously"],["Team Collaboration","Agents communicate via A2A messaging"],["Smart Routing","Messages auto-route to the right agent"],["Tool Capable","Shell, files, web, git, browser tools"]].map(([I,_])=>t.jsxs("div",{className:"bg-surface-elevated/50 rounded-lg p-3",children:[t.jsx("div",{className:"font-medium text-fg-primary text-xs",children:I}),t.jsx("div",{className:"text-fg-secondary text-xs mt-1",children:_})]},I))})]})},{title:"Choose Your Theme",subtitle:"You can change this anytime in Settings",content:t.jsx("div",{className:"grid grid-cols-3 gap-3",children:U.map(I=>t.jsxs("button",{onClick:()=>s(I.value),className:`flex flex-col items-center gap-2 rounded-xl border-2 p-5 transition-all ${r===I.value?"border-brand-500 bg-brand-500/10":"border-border-default hover:border-fg-tertiary bg-surface-elevated/30"}`,children:[t.jsx("span",{className:"text-2xl",children:I.icon}),t.jsx("span",{className:"text-sm font-medium text-fg-primary",children:I.label}),t.jsx("span",{className:"text-[11px] text-fg-tertiary leading-tight text-center",children:I.desc})]},I.value))})},{title:"Configure LLM",subtitle:"Agents need an LLM to think and act",content:E?t.jsxs("div",{className:"flex items-center gap-3 bg-green-500/10 border border-green-500/30 rounded-xl p-4",children:[t.jsx("span",{className:"text-green-600 text-lg",children:"✓"}),t.jsxs("div",{children:[t.jsx("div",{className:"text-sm font-medium text-green-600",children:"LLM provider configured"}),t.jsx("div",{className:"text-xs text-fg-secondary mt-0.5",children:"You can manage providers anytime in Settings."})]})]}):t.jsxs("div",{className:"space-y-4",children:[t.jsxs("div",{className:"space-y-2",children:[t.jsx("div",{className:"text-xs text-fg-secondary uppercase tracking-wider",children:"From Environment Variables"}),f&&t.jsx("div",{className:"text-xs text-fg-tertiary animate-pulse",children:"Detecting API keys..."}),c&&c.detected.length>0&&t.jsxs("div",{className:"space-y-2",children:[c.detected.map(I=>t.jsxs("label",{className:"flex items-center gap-3 bg-surface-elevated/40 rounded-lg px-3 py-2.5 cursor-pointer hover:bg-surface-elevated/60 transition-colors",children:[t.jsx("input",{type:"checkbox",checked:h[I.provider]??!1,onChange:_=>x({...h,[I.provider]:_.target.checked}),className:"w-4 h-4 rounded bg-surface-overlay border-gray-600 text-brand-500 focus:ring-brand-500"}),t.jsxs("div",{className:"flex-1 min-w-0",children:[t.jsx("span",{className:"text-sm text-fg-primary",children:I.displayName}),t.jsx("span",{className:"text-xs text-fg-tertiary ml-2",children:I.model})]}),t.jsx("code",{className:"text-[10px] text-fg-tertiary",children:I.apiKeyPreview})]},I.provider)),t.jsx("button",{onClick:()=>{$()},disabled:g||Object.values(h).filter(Boolean).length===0,className:"w-full px-4 py-2 bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white text-sm rounded-lg transition-colors",children:g?"Applying...":`Apply ${Object.values(h).filter(Boolean).length} Provider(s)`})]}),c&&c.detected.length===0&&!f&&t.jsxs("div",{className:"text-xs text-fg-tertiary bg-surface-elevated/30 rounded-lg p-3",children:["No API keys found. Set ",t.jsx("code",{className:"text-fg-secondary",children:"ANTHROPIC_API_KEY"}),", ",t.jsx("code",{className:"text-fg-secondary",children:"OPENAI_API_KEY"}),", etc. in your ",t.jsx("code",{className:"text-fg-secondary",children:".env"})," file and restart."]})]}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("div",{className:"flex-1 h-px bg-border-default"}),t.jsx("span",{className:"text-xs text-fg-tertiary",children:"or"}),t.jsx("div",{className:"flex-1 h-px bg-border-default"})]}),t.jsxs("div",{className:"space-y-2",children:[t.jsx("div",{className:"text-xs text-fg-secondary uppercase tracking-wider",children:"From OpenClaw"}),p?p.found?t.jsxs("div",{className:"space-y-2",children:[t.jsxs("div",{className:"text-xs text-green-600",children:["Found: ",t.jsx("code",{className:"text-fg-secondary",children:p.summary.configPath}),p.summary.models&&t.jsxs("span",{className:"text-fg-tertiary ml-1",children:["(",p.summary.models.providerCount," providers)"]})]}),t.jsx("button",{onClick:()=>{P()},disabled:S,className:"w-full px-4 py-2 bg-brand-600 hover:bg-brand-500 disabled:opacity-40 text-white text-sm rounded-lg transition-colors",children:S?"Importing...":"Import Model Configs"})]}):t.jsx("div",{className:"text-xs text-fg-tertiary bg-surface-elevated/30 rounded-lg p-3",children:"No OpenClaw config found."}):t.jsx("button",{onClick:()=>{X()},disabled:S,className:"px-4 py-2 border border-border-default hover:bg-surface-elevated disabled:opacity-40 text-fg-secondary text-sm rounded-lg transition-colors w-full",children:S?"Detecting...":"Detect OpenClaw Config"})]}),N&&t.jsx("div",{className:`text-xs px-3 py-2 rounded-lg ${N.type==="ok"?"bg-green-500/10 text-green-600 border border-green-500/30":"bg-red-500/10 text-red-500 border border-red-500/30"}`,children:N.text})]})},{title:"You're All Set",subtitle:"Here's what you can do",content:t.jsx("div",{className:"space-y-2 text-fg-secondary text-sm",children:[["Chat","Talk to agents or use Smart Route to auto-pick the best one"],["Projects","Create tasks and track progress on kanban boards"],["Builder","Create and customize agents, teams, and prompts"],["Settings","Manage LLM providers, themes, and import configs"]].map(([I,_])=>t.jsxs("div",{className:"flex gap-3 bg-surface-elevated/50 rounded-lg p-3",children:[t.jsx("div",{className:"text-brand-500 mt-0.5 shrink-0",children:"→"}),t.jsxs("div",{children:[t.jsx("div",{className:"font-medium text-fg-primary text-xs",children:I}),t.jsx("div",{className:"text-fg-secondary text-xs",children:_})]})]},I))})}],D=()=>{l<V.length-1?o(l+1):e()},A=V[l];return t.jsx("div",{className:"min-h-dvh bg-surface-primary flex items-center justify-center p-4",children:t.jsx("div",{className:"w-full max-w-lg",children:t.jsxs("div",{className:"bg-surface-secondary border border-border-default rounded-2xl p-8",children:[t.jsx("div",{className:"flex gap-1.5 mb-8",children:V.map((I,_)=>t.jsx("div",{className:`h-1 flex-1 rounded-full transition-colors ${_<=l?"bg-brand-500":"bg-surface-elevated"}`},_))}),t.jsx("h2",{className:"text-2xl font-bold text-fg-primary",children:A.title}),t.jsx("p",{className:"text-sm text-fg-secondary mt-1 mb-6",children:A.subtitle}),A.content,t.jsxs("div",{className:"flex justify-between mt-8",children:[l>0?t.jsx("button",{onClick:()=>o(l-1),className:"px-4 py-2 text-sm text-fg-secondary hover:text-fg-primary transition-colors",children:"Back"}):t.jsx("button",{onClick:e,className:"px-4 py-2 text-sm text-fg-tertiary hover:text-fg-secondary transition-colors",children:"Skip"}),t.jsxs("div",{className:"flex items-center gap-3",children:[l===Pv&&!E&&t.jsx("button",{onClick:D,className:"px-4 py-2 text-sm text-fg-tertiary hover:text-fg-secondary transition-colors",children:"Skip for now"}),t.jsx("button",{onClick:D,className:"px-6 py-2.5 bg-brand-600 hover:bg-brand-500 text-white text-sm rounded-xl transition-colors",children:l===V.length-1?"Get Started":"Next"})]})]})]})})})}const DL="markus123";function OL({onLogin:e}){const[r,s]=j.useState("admin@markus.local"),[l,o]=j.useState(""),[c,u]=j.useState(""),[f,m]=j.useState(!1),h=async x=>{if(x.preventDefault(),!(!r.trim()||!l)){u(""),m(!0);try{const{user:g}=await le.auth.login(r.trim(),l);e(g,l===DL)}catch{u("Invalid email or password")}finally{m(!1)}}};return t.jsxs("div",{className:"min-h-dvh bg-surface-primary flex items-center justify-center p-4 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-brand-950/50 via-transparent to-transparent"}),t.jsxs("div",{className:"w-full max-w-sm relative z-10",children:[t.jsxs("div",{className:"text-center mb-8",children:[t.jsx("img",{src:"/logo.png",alt:"Markus",className:"w-14 h-14 mx-auto mb-3 rounded-xl shadow-lg shadow-black/40"}),t.jsx("div",{className:"text-2xl font-extrabold tracking-tight text-fg-primary mb-1",children:"Markus"}),t.jsx("div",{className:"text-sm text-fg-tertiary",children:"AI Digital Employee Platform"})]}),t.jsxs("form",{onSubmit:h,className:"bg-surface-secondary/80 backdrop-blur-sm border border-border-default rounded-2xl p-8 space-y-5 shadow-2xl shadow-black/30",children:[t.jsx("h2",{className:"text-lg font-semibold text-fg-primary text-center",children:"Sign in"}),t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-xs text-fg-tertiary font-medium",children:"Email"}),t.jsx("input",{type:"email",value:r,onChange:x=>s(x.target.value),autoComplete:"email",className:"w-full px-4 py-2.5 bg-surface-elevated border border-border-default rounded-xl text-sm text-fg-primary focus:border-brand-500 outline-none transition-colors",required:!0})]}),t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-xs text-fg-tertiary font-medium",children:"Password"}),t.jsx("input",{type:"password",value:l,onChange:x=>o(x.target.value),autoComplete:"current-password",className:"w-full px-4 py-2.5 bg-surface-elevated border border-border-default rounded-xl text-sm text-fg-primary focus:border-brand-500 outline-none transition-colors",required:!0})]}),c&&t.jsx("div",{className:"px-3 py-2 bg-red-500/10 border border-red-500/30 rounded-lg text-xs text-red-500",children:c}),t.jsx("button",{type:"submit",disabled:f||!r||!l,className:"w-full py-2.5 bg-brand-600 hover:bg-brand-500 disabled:opacity-50 text-white text-sm font-medium rounded-xl transition-all shadow-md shadow-brand-900/40 hover:shadow-lg hover:shadow-brand-900/50",children:f?"Signing in…":"Sign in"}),t.jsx("p",{className:"text-center text-xs text-fg-tertiary",children:"Default: admin@markus.local / markus123"})]})]})]})}function RL({onComplete:e,isFirstTime:r}){const[s,l]=j.useState(""),[o,c]=j.useState(""),[u,f]=j.useState(""),[m,h]=j.useState(""),[x,g]=j.useState(!1),b=async p=>{if(p.preventDefault(),h(""),o.length<6){h("Password must be at least 6 characters");return}if(o!==u){h("Passwords do not match");return}g(!0);try{await le.auth.changePassword(s,o),e()}catch{h("Failed to change password. Check your current password.")}finally{g(!1)}};return t.jsxs("div",{className:"min-h-dvh bg-surface-primary flex items-center justify-center p-4 relative overflow-hidden",children:[t.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-brand-950/50 via-transparent to-transparent"}),t.jsxs("div",{className:"w-full max-w-sm relative z-10",children:[t.jsxs("div",{className:"text-center mb-8",children:[t.jsx("img",{src:"/logo.png",alt:"Markus",className:"w-14 h-14 mx-auto mb-3 rounded-xl shadow-lg shadow-black/40"}),t.jsx("div",{className:"text-2xl font-extrabold tracking-tight text-fg-primary mb-1",children:"Markus"}),t.jsx("div",{className:"text-sm text-fg-tertiary",children:"AI Digital Employee Platform"})]}),t.jsxs("form",{onSubmit:b,className:"bg-surface-secondary/80 backdrop-blur-sm border border-border-default rounded-2xl p-8 space-y-5 shadow-2xl shadow-black/30",children:[t.jsxs("div",{children:[t.jsx("h2",{className:"text-lg font-semibold text-fg-primary text-center",children:r?"Set Your Password":"Change Password"}),r&&t.jsx("p",{className:"text-xs text-amber-600/80 text-center mt-2",children:"You're using the default password. Please set a new one before continuing."})]}),!r&&t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-xs text-fg-tertiary font-medium",children:"Current Password"}),t.jsx("input",{type:"password",value:s,onChange:p=>l(p.target.value),autoComplete:"current-password",className:"w-full px-4 py-2.5 bg-surface-elevated border border-border-default rounded-xl text-sm text-fg-primary focus:border-brand-500 outline-none transition-colors"})]}),t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-xs text-fg-tertiary font-medium",children:"New Password"}),t.jsx("input",{type:"password",value:o,onChange:p=>c(p.target.value),autoComplete:"new-password",className:"w-full px-4 py-2.5 bg-surface-elevated border border-border-default rounded-xl text-sm text-fg-primary focus:border-brand-500 outline-none transition-colors",required:!0,minLength:6})]}),t.jsxs("div",{className:"space-y-1",children:[t.jsx("label",{className:"text-xs text-fg-tertiary font-medium",children:"Confirm New Password"}),t.jsx("input",{type:"password",value:u,onChange:p=>f(p.target.value),autoComplete:"new-password",className:"w-full px-4 py-2.5 bg-surface-elevated border border-border-default rounded-xl text-sm text-fg-primary focus:border-brand-500 outline-none transition-colors",required:!0})]}),m&&t.jsx("div",{className:"px-3 py-2 bg-red-500/10 border border-red-500/30 rounded-lg text-xs text-red-500",children:m}),t.jsx("button",{type:"submit",disabled:x||!o||!u,className:"w-full py-2.5 bg-brand-600 hover:bg-brand-500 disabled:opacity-50 text-white text-sm font-medium rounded-xl transition-colors",children:x?"Saving…":r?"Set Password & Continue":"Change Password"})]})]})]})}const hN="markus-theme";function Uv(e){const r=document.documentElement;r.classList.remove("light","dark"),e==="light"?r.classList.add("light"):e==="dark"&&r.classList.add("dark")}function zL(){try{const e=localStorage.getItem(hN);if(e==="light"||e==="dark"||e==="system")return e}catch{}return"system"}function LL(){const[e,r]=j.useState(zL),s=j.useCallback(l=>{r(l);try{localStorage.setItem(hN,l)}catch{}Uv(l)},[]);return j.useEffect(()=>{Uv(e)},[e]),{mode:e,setMode:s}}const IL=["dashboard","tasks","chat","team","usage","skills","agents","teams","builder","prompts","settings","governance","projects","deliverables","reports"];function ou(){const e=window.location.hash.slice(1).split("/")[0];return e==="team"?"chat":e==="tasks"?"projects":e==="usage"?"reports":e==="prompts"?"builder":e==="templates"?"agents":e==="knowledge"?"deliverables":IL.includes(e)?e:"dashboard"}const Zh={};function $L(){const[e,r]=j.useState(ou),[s,l]=j.useState(()=>!localStorage.getItem("markus_onboarded")),[o,c]=j.useState(!0),u=xs(),f=LL(),m=Wm({side:"left",defaultWidth:240,minWidth:180,maxWidth:400,collapsedWidth:48,storageKey:"markus_sidebar"}),[h,x]=j.useState(()=>new Set([ou()])),[g,b]=j.useState("loading"),[p,w]=j.useState(!1),[S,T]=j.useState(null),[E,C]=j.useState(!1),N=j.useCallback(Y=>{let $=Y==="tasks"?"projects":Y==="team"?"chat":Y==="usage"?"reports":Y==="prompts"?"builder":Y==="templates"?"agents":Y;u&&(($==="agents"||$==="teams"||$==="skills")&&($="builder"),($==="governance"||$==="reports")&&($="settings"));const X=ou(),P=window.location.hash.slice(1);P!==X?Zh[X]=P:delete Zh[X],r($),x(U=>U.has($)?U:new Set([...U,$])),window.location.hash=Zh[$]||$},[u]);j.useEffect(()=>{Ut.setHandler(Y=>N(Y))},[N]);const k=j.useCallback(()=>{fetch("/api/settings/llm").then(Y=>Y.ok?Y.json():null).then(Y=>{if(Y?.providers){const $=Object.values(Y.providers).some(X=>X.configured);T($)}}).catch(()=>{})},[]);j.useEffect(()=>{le.auth.me().then(({user:$})=>{b($),k(),qa(gr.builderArtifacts,()=>le.builder.artifacts.list()),qa(gr.builderAgents,()=>le.agents.list()),qa(gr.builderHubMyItems,()=>Ln.myItems()),qa(gr.builderInstalled,()=>le.builder.artifacts.installed()),qa(gr.hubAgents,()=>Ln.search({type:"agent",limit:50})),qa(gr.hubTeams,()=>Ln.search({type:"team",limit:50})),qa(gr.hubSkills,()=>Ln.search({type:"skill",limit:50}))}).catch(()=>b(null)),Cn.connect();const Y=()=>{const $=ou();r($),x(X=>X.has($)?X:new Set([...X,$]))};return window.addEventListener("hashchange",Y),()=>{Cn.disconnect(),window.removeEventListener("hashchange",Y)}},[]);const H=g!=="loading"&&g!==null?g:void 0,M=j.useMemo(()=>u?{dashboard:t.jsx(ob,{}),chat:t.jsx(hy,{authUser:H}),builder:t.jsx(AL,{authUser:H}),settings:t.jsx(_L,{theme:f.mode,onThemeChange:f.setMode}),projects:t.jsx(Rv,{authUser:H}),deliverables:t.jsx(Iv,{})}:{dashboard:t.jsx(ob,{}),chat:t.jsx(hy,{authUser:H}),settings:t.jsx(ij,{theme:f.mode,onThemeChange:f.setMode}),skills:t.jsx(cj,{}),agents:t.jsx(fj,{authUser:H}),teams:t.jsx(xj,{}),builder:t.jsx(gj,{}),governance:t.jsx(pj,{}),projects:t.jsx(Rv,{authUser:H}),deliverables:t.jsx(Iv,{}),reports:t.jsx(dN,{})},[H?.id,f.mode,u]);return g==="loading"?t.jsx("div",{className:"min-h-dvh bg-surface-primary flex items-center justify-center",children:t.jsx("div",{className:"text-fg-tertiary text-sm animate-pulse",children:"Loading…"})}):g===null?t.jsx(OL,{onLogin:(Y,$)=>{b(Y),$&&w(!0)}}):p?t.jsx(RL,{onComplete:()=>w(!1),isFirstTime:!0}):s?t.jsx(ML,{theme:f.mode,onThemeChange:f.setMode,onComplete:()=>{localStorage.setItem("markus_onboarded","1"),l(!1),k()}}):t.jsxs("div",{className:`flex h-dvh bg-surface-primary text-fg-primary ${u?"flex-col":""}`,children:[!u&&t.jsxs(t.Fragment,{children:[t.jsx("div",{className:"relative z-40 shrink-0",style:{width:m.width},children:t.jsx(NL,{currentPage:e,onNavigate:Y=>{N(Y),c(!1)},authUser:g,onLogout:()=>b(null),collapsed:m.collapsed,onToggleCollapse:m.toggle})}),!m.collapsed&&t.jsx("div",{className:"w-1 cursor-col-resize shrink-0 group relative z-10",onMouseDown:m.onResizeStart,children:t.jsx("div",{className:"absolute inset-y-0 -left-0.5 -right-0.5 group-hover:bg-brand-500/30 group-active:bg-brand-500/50 transition-colors"})})]}),t.jsxs("div",{className:`flex-1 overflow-hidden flex flex-col min-w-0 ${u?"pb-14":""}`,children:[S===!1&&!E&&e!=="settings"&&t.jsxs("div",{className:"flex items-center justify-between px-4 py-2 bg-amber-500/10 border-b border-amber-500/30 text-amber-600 text-sm shrink-0",children:[t.jsx("span",{className:u?"text-xs":"",children:"No LLM provider configured — agents cannot process requests."}),t.jsxs("div",{className:"flex items-center gap-3",children:[t.jsx("button",{onClick:()=>{N("settings")},className:"px-3 py-1 bg-amber-700/50 hover:bg-amber-700/70 text-white text-xs rounded-lg transition-colors",children:"Go to Settings"}),t.jsx("button",{onClick:()=>C(!0),className:"text-amber-500 hover:text-amber-600 text-xs",children:"Dismiss"})]})]}),t.jsx("main",{className:"flex-1 overflow-hidden flex flex-col",children:Object.keys(M).map(Y=>h.has(Y)?t.jsx("div",{className:"flex-1 overflow-hidden flex flex-col",style:{display:Y===e?"flex":"none"},children:M[Y]},Y):null)})]}),u&&t.jsx(CL,{currentPage:e,onNavigate:N})]})}S2.createRoot(document.getElementById("root")).render(t.jsx(j.StrictMode,{children:t.jsx($L,{})}));