autoforge-ai 0.1.16 → 0.1.18

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.
@@ -1,96 +0,0 @@
1
- import{u as yt,b as Ve,c as Je,r as f,j as n,Q as bp,d as jp}from"./vendor-query-BUABzP5o.js";import{r as Sp,a as Np,g as Cp}from"./vendor-react-qkC6yhPU.js";import{c as Hi,t as wp,a as zp,I as Tp,B as wu,U as Ep,b as zu,C as ra,d as Ft,F as Ap,E as Tu,X as ct,e as ua,R as en,P as Xi,S as Ji,L as Ce,Z as gh,A as ph,W as ml,f as hl,g as Qi,h as Yi,i as Um,H as Dp,j as Ki,k as Bm,l as _p,m as vu,T as Ea,n as xs,o as an,p as tn,G as xl,M as Eu,q as $i,r as ol,s as Nn,u as Mp,v as dl,w as kp,x as Op,y as Rp,z as yh,D as Up,J as Hm,K as Bp,N as Hp,O as qp,Q as Lp,V as Gp,Y as bu,_ as Qp,$ as Yp,a0 as Zi,a1 as Vp,a2 as Xp,a3 as vh,a4 as bh,a5 as jh,a6 as Kp,a7 as Zp,a8 as Fp,a9 as Jp,aa as $p,ab as Sh,ac as Nh,ad as qm,ae as Wp,af as Ip,ag as Pp,ah as ey,ai as ty,aj as ay,ak as ny,al as ly,am as sy,an as iy}from"./vendor-utils-CdMnkzGY.js";import{r as Ch,a as cy,M as ry,u as uy,b as oy,i as dy,C as fy,B as my,c as hy,d as xy,P as ul,H as Lm}from"./vendor-flow-CVNK-_lx.js";import{M as gy,r as py}from"./vendor-markdown-lmnOnLXp.js";import{S as wh,R as yy,C as vy,a as zh,T as by,D as jy,P as Sy,O as Ny,b as Cy,c as wy,d as zy,e as Ty,f as Ey,I as Ay,g as Dy,h as _y,i as My,j as ky,k as Oy,l as Ry,m as Th,n as Uy,o as Eh,u as By,p as Hy,q as qy,r as Ah,A as Ly,s as rl,t as Dh,v as Gy,w as Qy,x as Yy,y as Vy}from"./vendor-radix-DjWauVBs.js";import{D as Xy,o as Ky}from"./vendor-xterm-DP_gxef0.js";(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const h of document.querySelectorAll('link[rel="modulepreload"]'))o(h);new MutationObserver(h=>{for(const x of h)if(x.type==="childList")for(const p of x.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&o(p)}).observe(document,{childList:!0,subtree:!0});function d(h){const x={};return h.integrity&&(x.integrity=h.integrity),h.referrerPolicy&&(x.referrerPolicy=h.referrerPolicy),h.crossOrigin==="use-credentials"?x.credentials="include":h.crossOrigin==="anonymous"?x.credentials="omit":x.credentials="same-origin",x}function o(h){if(h.ep)return;h.ep=!0;const x=d(h);fetch(h.href,x)}})();var xu={exports:{}},os={},gu={exports:{}},pu={};var Gm;function Zy(){return Gm||(Gm=1,(function(i){function r(y,_){var ee=y.length;y.push(_);e:for(;0<ee;){var te=ee-1>>>1,me=y[te];if(0<h(me,_))y[te]=_,y[ee]=me,ee=te;else break e}}function d(y){return y.length===0?null:y[0]}function o(y){if(y.length===0)return null;var _=y[0],ee=y.pop();if(ee!==_){y[0]=ee;e:for(var te=0,me=y.length,re=me>>>1;te<re;){var ae=2*(te+1)-1,se=y[ae],fe=ae+1,he=y[fe];if(0>h(se,ee))fe<me&&0>h(he,se)?(y[te]=he,y[fe]=ee,te=fe):(y[te]=se,y[ae]=ee,te=ae);else if(fe<me&&0>h(he,ee))y[te]=he,y[fe]=ee,te=fe;else break e}}return _}function h(y,_){var ee=y.sortIndex-_.sortIndex;return ee!==0?ee:y.id-_.id}if(i.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var x=performance;i.unstable_now=function(){return x.now()}}else{var p=Date,v=p.now();i.unstable_now=function(){return p.now()-v}}var g=[],S=[],T=1,E=null,H=3,w=!1,O=!1,B=!1,z=!1,D=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function G(y){for(var _=d(S);_!==null;){if(_.callback===null)o(S);else if(_.startTime<=y)o(S),_.sortIndex=_.expirationTime,r(g,_);else break;_=d(S)}}function J(y){if(B=!1,G(y),!O)if(d(g)!==null)O=!0,I||(I=!0,R());else{var _=d(S);_!==null&&Y(J,_.startTime-y)}}var I=!1,X=-1,P=5,L=-1;function le(){return z?!0:!(i.unstable_now()-L<P)}function W(){if(z=!1,I){var y=i.unstable_now();L=y;var _=!0;try{e:{O=!1,B&&(B=!1,b(X),X=-1),w=!0;var ee=H;try{t:{for(G(y),E=d(g);E!==null&&!(E.expirationTime>y&&le());){var te=E.callback;if(typeof te=="function"){E.callback=null,H=E.priorityLevel;var me=te(E.expirationTime<=y);if(y=i.unstable_now(),typeof me=="function"){E.callback=me,G(y),_=!0;break t}E===d(g)&&o(g),G(y)}else o(g);E=d(g)}if(E!==null)_=!0;else{var re=d(S);re!==null&&Y(J,re.startTime-y),_=!1}}break e}finally{E=null,H=ee,w=!1}_=void 0}}finally{_?R():I=!1}}}var R;if(typeof N=="function")R=function(){N(W)};else if(typeof MessageChannel<"u"){var $=new MessageChannel,F=$.port2;$.port1.onmessage=W,R=function(){F.postMessage(null)}}else R=function(){D(W,0)};function Y(y,_){X=D(function(){y(i.unstable_now())},_)}i.unstable_IdlePriority=5,i.unstable_ImmediatePriority=1,i.unstable_LowPriority=4,i.unstable_NormalPriority=3,i.unstable_Profiling=null,i.unstable_UserBlockingPriority=2,i.unstable_cancelCallback=function(y){y.callback=null},i.unstable_forceFrameRate=function(y){0>y||125<y?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<y?Math.floor(1e3/y):5},i.unstable_getCurrentPriorityLevel=function(){return H},i.unstable_next=function(y){switch(H){case 1:case 2:case 3:var _=3;break;default:_=H}var ee=H;H=_;try{return y()}finally{H=ee}},i.unstable_requestPaint=function(){z=!0},i.unstable_runWithPriority=function(y,_){switch(y){case 1:case 2:case 3:case 4:case 5:break;default:y=3}var ee=H;H=y;try{return _()}finally{H=ee}},i.unstable_scheduleCallback=function(y,_,ee){var te=i.unstable_now();switch(typeof ee=="object"&&ee!==null?(ee=ee.delay,ee=typeof ee=="number"&&0<ee?te+ee:te):ee=te,y){case 1:var me=-1;break;case 2:me=250;break;case 5:me=1073741823;break;case 4:me=1e4;break;default:me=5e3}return me=ee+me,y={id:T++,callback:_,priorityLevel:y,startTime:ee,expirationTime:me,sortIndex:-1},ee>te?(y.sortIndex=ee,r(S,y),d(g)===null&&y===d(S)&&(B?(b(X),X=-1):B=!0,Y(J,ee-te))):(y.sortIndex=me,r(g,y),O||w||(O=!0,I||(I=!0,R()))),y},i.unstable_shouldYield=le,i.unstable_wrapCallback=function(y){var _=H;return function(){var ee=H;H=_;try{return y.apply(this,arguments)}finally{H=ee}}}})(pu)),pu}var Qm;function Fy(){return Qm||(Qm=1,gu.exports=Zy()),gu.exports}var Ym;function Jy(){if(Ym)return os;Ym=1;var i=Fy(),r=Sp(),d=Np();function o(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)t+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function h(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function x(e){var t=e,a=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(a=t.return),e=t.return;while(e)}return t.tag===3?a:null}function p(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function v(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function g(e){if(x(e)!==e)throw Error(o(188))}function S(e){var t=e.alternate;if(!t){if(t=x(e),t===null)throw Error(o(188));return t!==e?null:e}for(var a=e,l=t;;){var s=a.return;if(s===null)break;var c=s.alternate;if(c===null){if(l=s.return,l!==null){a=l;continue}break}if(s.child===c.child){for(c=s.child;c;){if(c===a)return g(s),e;if(c===l)return g(s),t;c=c.sibling}throw Error(o(188))}if(a.return!==l.return)a=s,l=c;else{for(var u=!1,m=s.child;m;){if(m===a){u=!0,a=s,l=c;break}if(m===l){u=!0,l=s,a=c;break}m=m.sibling}if(!u){for(m=c.child;m;){if(m===a){u=!0,a=c,l=s;break}if(m===l){u=!0,l=c,a=s;break}m=m.sibling}if(!u)throw Error(o(189))}}if(a.alternate!==l)throw Error(o(190))}if(a.tag!==3)throw Error(o(188));return a.stateNode.current===a?e:t}function T(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=T(e),t!==null)return t;e=e.sibling}return null}var E=Object.assign,H=Symbol.for("react.element"),w=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),B=Symbol.for("react.fragment"),z=Symbol.for("react.strict_mode"),D=Symbol.for("react.profiler"),b=Symbol.for("react.consumer"),N=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),J=Symbol.for("react.suspense"),I=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),P=Symbol.for("react.lazy"),L=Symbol.for("react.activity"),le=Symbol.for("react.memo_cache_sentinel"),W=Symbol.iterator;function R(e){return e===null||typeof e!="object"?null:(e=W&&e[W]||e["@@iterator"],typeof e=="function"?e:null)}var $=Symbol.for("react.client.reference");function F(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===$?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case B:return"Fragment";case D:return"Profiler";case z:return"StrictMode";case J:return"Suspense";case I:return"SuspenseList";case L:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case O:return"Portal";case N:return e.displayName||"Context";case b:return(e._context.displayName||"Context")+".Consumer";case G:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case X:return t=e.displayName||null,t!==null?t:F(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return F(e(t))}catch{}}return null}var Y=Array.isArray,y=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,_=d.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee={pending:!1,data:null,method:null,action:null},te=[],me=-1;function re(e){return{current:e}}function ae(e){0>me||(e.current=te[me],te[me]=null,me--)}function se(e,t){me++,te[me]=e.current,e.current=t}var fe=re(null),he=re(null),$e=re(null),Jt=re(null);function zt(e,t){switch(se($e,t),se(he,e),se(fe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?sm(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=sm(t),e=im(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}ae(fe),se(fe,e)}function ne(){ae(fe),ae(he),ae($e)}function oe(e){e.memoizedState!==null&&se(Jt,e);var t=fe.current,a=im(t,e.type);t!==a&&(se(he,e),se(fe,a))}function ke(e){he.current===e&&(ae(fe),ae(he)),Jt.current===e&&(ae(Jt),is._currentValue=ee)}var gt,tt;function lt(e){if(gt===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);gt=t&&t[1]||"",tt=-1<a.stack.indexOf(`
2
- at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
3
- `+gt+e+tt}var Qe=!1;function Se(e,t){if(!e||Qe)return"";Qe=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(t){var K=function(){throw Error()};if(Object.defineProperty(K.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(K,[])}catch(q){var U=q}Reflect.construct(e,[],K)}else{try{K.call()}catch(q){U=q}e.call(K.prototype)}}else{try{throw Error()}catch(q){U=q}(K=e())&&typeof K.catch=="function"&&K.catch(function(){})}}catch(q){if(q&&U&&typeof q.stack=="string")return[q.stack,U.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var s=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");s&&s.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var c=l.DetermineComponentFrameRoot(),u=c[0],m=c[1];if(u&&m){var j=u.split(`
4
- `),k=m.split(`
5
- `);for(s=l=0;l<j.length&&!j[l].includes("DetermineComponentFrameRoot");)l++;for(;s<k.length&&!k[s].includes("DetermineComponentFrameRoot");)s++;if(l===j.length||s===k.length)for(l=j.length-1,s=k.length-1;1<=l&&0<=s&&j[l]!==k[s];)s--;for(;1<=l&&0<=s;l--,s--)if(j[l]!==k[s]){if(l!==1||s!==1)do if(l--,s--,0>s||j[l]!==k[s]){var Q=`
6
- `+j[l].replace(" at new "," at ");return e.displayName&&Q.includes("<anonymous>")&&(Q=Q.replace("<anonymous>",e.displayName)),Q}while(1<=l&&0<=s);break}}}finally{Qe=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?lt(a):""}function Tt(e,t){switch(e.tag){case 26:case 27:case 5:return lt(e.type);case 16:return lt("Lazy");case 13:return e.child!==t&&t!==null?lt("Suspense Fallback"):lt("Suspense");case 19:return lt("SuspenseList");case 0:case 15:return Se(e.type,!1);case 11:return Se(e.type.render,!1);case 1:return Se(e.type,!0);case 31:return lt("Activity");default:return""}}function bs(e){try{var t="",a=null;do t+=Tt(e,a),a=e,e=e.return;while(e);return t}catch(l){return`
7
- Error generating stack: `+l.message+`
8
- `+l.stack}}var ec=Object.prototype.hasOwnProperty,tc=i.unstable_scheduleCallback,ac=i.unstable_cancelCallback,Ih=i.unstable_shouldYield,Ph=i.unstable_requestPaint,Et=i.unstable_now,ex=i.unstable_getCurrentPriorityLevel,Ru=i.unstable_ImmediatePriority,Uu=i.unstable_UserBlockingPriority,js=i.unstable_NormalPriority,tx=i.unstable_LowPriority,Bu=i.unstable_IdlePriority,ax=i.log,nx=i.unstable_setDisableYieldValue,yl=null,At=null;function Aa(e){if(typeof ax=="function"&&nx(e),At&&typeof At.setStrictMode=="function")try{At.setStrictMode(yl,e)}catch{}}var Dt=Math.clz32?Math.clz32:ix,lx=Math.log,sx=Math.LN2;function ix(e){return e>>>=0,e===0?32:31-(lx(e)/sx|0)|0}var Ss=256,Ns=262144,Cs=4194304;function nn(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ws(e,t,a){var l=e.pendingLanes;if(l===0)return 0;var s=0,c=e.suspendedLanes,u=e.pingedLanes;e=e.warmLanes;var m=l&134217727;return m!==0?(l=m&~c,l!==0?s=nn(l):(u&=m,u!==0?s=nn(u):a||(a=m&~e,a!==0&&(s=nn(a))))):(m=l&~c,m!==0?s=nn(m):u!==0?s=nn(u):a||(a=l&~e,a!==0&&(s=nn(a)))),s===0?0:t!==0&&t!==s&&(t&c)===0&&(c=s&-s,a=t&-t,c>=a||c===32&&(a&4194048)!==0)?t:s}function vl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function cx(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Hu(){var e=Cs;return Cs<<=1,(Cs&62914560)===0&&(Cs=4194304),e}function nc(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function bl(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function rx(e,t,a,l,s,c){var u=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var m=e.entanglements,j=e.expirationTimes,k=e.hiddenUpdates;for(a=u&~a;0<a;){var Q=31-Dt(a),K=1<<Q;m[Q]=0,j[Q]=-1;var U=k[Q];if(U!==null)for(k[Q]=null,Q=0;Q<U.length;Q++){var q=U[Q];q!==null&&(q.lane&=-536870913)}a&=~K}l!==0&&qu(e,l,0),c!==0&&s===0&&e.tag!==0&&(e.suspendedLanes|=c&~(u&~t))}function qu(e,t,a){e.pendingLanes|=t,e.suspendedLanes&=~t;var l=31-Dt(t);e.entangledLanes|=t,e.entanglements[l]=e.entanglements[l]|1073741824|a&261930}function Lu(e,t){var a=e.entangledLanes|=t;for(e=e.entanglements;a;){var l=31-Dt(a),s=1<<l;s&t|e[l]&t&&(e[l]|=t),a&=~s}}function Gu(e,t){var a=t&-t;return a=(a&42)!==0?1:lc(a),(a&(e.suspendedLanes|t))!==0?0:a}function lc(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function sc(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function Qu(){var e=_.p;return e!==0?e:(e=window.event,e===void 0?32:Am(e.type))}function Yu(e,t){var a=_.p;try{return _.p=e,t()}finally{_.p=a}}var Da=Math.random().toString(36).slice(2),ut="__reactFiber$"+Da,vt="__reactProps$"+Da,Cn="__reactContainer$"+Da,ic="__reactEvents$"+Da,ux="__reactListeners$"+Da,ox="__reactHandles$"+Da,Vu="__reactResources$"+Da,jl="__reactMarker$"+Da;function cc(e){delete e[ut],delete e[vt],delete e[ic],delete e[ux],delete e[ox]}function wn(e){var t=e[ut];if(t)return t;for(var a=e.parentNode;a;){if(t=a[Cn]||a[ut]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(e=mm(e);e!==null;){if(a=e[ut])return a;e=mm(e)}return t}e=a,a=e.parentNode}return null}function zn(e){if(e=e[ut]||e[Cn]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Sl(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(o(33))}function Tn(e){var t=e[Vu];return t||(t=e[Vu]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function st(e){e[jl]=!0}var Xu=new Set,Ku={};function ln(e,t){En(e,t),En(e+"Capture",t)}function En(e,t){for(Ku[e]=t,e=0;e<t.length;e++)Xu.add(t[e])}var dx=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]*$"),Zu={},Fu={};function fx(e){return ec.call(Fu,e)?!0:ec.call(Zu,e)?!1:dx.test(e)?Fu[e]=!0:(Zu[e]=!0,!1)}function zs(e,t,a){if(fx(t))if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var l=t.toLowerCase().slice(0,5);if(l!=="data-"&&l!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+a)}}function Ts(e,t,a){if(a===null)e.removeAttribute(t);else{switch(typeof a){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+a)}}function oa(e,t,a,l){if(l===null)e.removeAttribute(a);else{switch(typeof l){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(a);return}e.setAttributeNS(t,a,""+l)}}function Ht(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ju(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function mx(e,t,a){var l=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var s=l.get,c=l.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return s.call(this)},set:function(u){a=""+u,c.call(this,u)}}),Object.defineProperty(e,t,{enumerable:l.enumerable}),{getValue:function(){return a},setValue:function(u){a=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function rc(e){if(!e._valueTracker){var t=Ju(e)?"checked":"value";e._valueTracker=mx(e,t,""+e[t])}}function $u(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var a=t.getValue(),l="";return e&&(l=Ju(e)?e.checked?"true":"false":e.value),e=l,e!==a?(t.setValue(e),!0):!1}function Es(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var hx=/[\n"\\]/g;function qt(e){return e.replace(hx,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function uc(e,t,a,l,s,c,u,m){e.name="",u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"?e.type=u:e.removeAttribute("type"),t!=null?u==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ht(t)):e.value!==""+Ht(t)&&(e.value=""+Ht(t)):u!=="submit"&&u!=="reset"||e.removeAttribute("value"),t!=null?oc(e,u,Ht(t)):a!=null?oc(e,u,Ht(a)):l!=null&&e.removeAttribute("value"),s==null&&c!=null&&(e.defaultChecked=!!c),s!=null&&(e.checked=s&&typeof s!="function"&&typeof s!="symbol"),m!=null&&typeof m!="function"&&typeof m!="symbol"&&typeof m!="boolean"?e.name=""+Ht(m):e.removeAttribute("name")}function Wu(e,t,a,l,s,c,u,m){if(c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(e.type=c),t!=null||a!=null){if(!(c!=="submit"&&c!=="reset"||t!=null)){rc(e);return}a=a!=null?""+Ht(a):"",t=t!=null?""+Ht(t):a,m||t===e.value||(e.value=t),e.defaultValue=t}l=l??s,l=typeof l!="function"&&typeof l!="symbol"&&!!l,e.checked=m?e.checked:!!l,e.defaultChecked=!!l,u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.name=u),rc(e)}function oc(e,t,a){t==="number"&&Es(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function An(e,t,a,l){if(e=e.options,t){t={};for(var s=0;s<a.length;s++)t["$"+a[s]]=!0;for(a=0;a<e.length;a++)s=t.hasOwnProperty("$"+e[a].value),e[a].selected!==s&&(e[a].selected=s),s&&l&&(e[a].defaultSelected=!0)}else{for(a=""+Ht(a),t=null,s=0;s<e.length;s++){if(e[s].value===a){e[s].selected=!0,l&&(e[s].defaultSelected=!0);return}t!==null||e[s].disabled||(t=e[s])}t!==null&&(t.selected=!0)}}function Iu(e,t,a){if(t!=null&&(t=""+Ht(t),t!==e.value&&(e.value=t),a==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=a!=null?""+Ht(a):""}function Pu(e,t,a,l){if(t==null){if(l!=null){if(a!=null)throw Error(o(92));if(Y(l)){if(1<l.length)throw Error(o(93));l=l[0]}a=l}a==null&&(a=""),t=a}a=Ht(t),e.defaultValue=a,l=e.textContent,l===a&&l!==""&&l!==null&&(e.value=l),rc(e)}function Dn(e,t){if(t){var a=e.firstChild;if(a&&a===e.lastChild&&a.nodeType===3){a.nodeValue=t;return}}e.textContent=t}var xx=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 eo(e,t,a){var l=t.indexOf("--")===0;a==null||typeof a=="boolean"||a===""?l?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":l?e.setProperty(t,a):typeof a!="number"||a===0||xx.has(t)?t==="float"?e.cssFloat=a:e[t]=(""+a).trim():e[t]=a+"px"}function to(e,t,a){if(t!=null&&typeof t!="object")throw Error(o(62));if(e=e.style,a!=null){for(var l in a)!a.hasOwnProperty(l)||t!=null&&t.hasOwnProperty(l)||(l.indexOf("--")===0?e.setProperty(l,""):l==="float"?e.cssFloat="":e[l]="");for(var s in t)l=t[s],t.hasOwnProperty(s)&&a[s]!==l&&eo(e,s,l)}else for(var c in t)t.hasOwnProperty(c)&&eo(e,c,t[c])}function dc(e){if(e.indexOf("-")===-1)return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var gx=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"]]),px=/^[\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 As(e){return px.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function da(){}var fc=null;function mc(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var _n=null,Mn=null;function ao(e){var t=zn(e);if(t&&(e=t.stateNode)){var a=e[vt]||null;e:switch(e=t.stateNode,t.type){case"input":if(uc(e,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name),t=a.name,a.type==="radio"&&t!=null){for(a=e;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll('input[name="'+qt(""+t)+'"][type="radio"]'),t=0;t<a.length;t++){var l=a[t];if(l!==e&&l.form===e.form){var s=l[vt]||null;if(!s)throw Error(o(90));uc(l,s.value,s.defaultValue,s.defaultValue,s.checked,s.defaultChecked,s.type,s.name)}}for(t=0;t<a.length;t++)l=a[t],l.form===e.form&&$u(l)}break e;case"textarea":Iu(e,a.value,a.defaultValue);break e;case"select":t=a.value,t!=null&&An(e,!!a.multiple,t,!1)}}}var hc=!1;function no(e,t,a){if(hc)return e(t,a);hc=!0;try{var l=e(t);return l}finally{if(hc=!1,(_n!==null||Mn!==null)&&(gi(),_n&&(t=_n,e=Mn,Mn=_n=null,ao(t),e)))for(t=0;t<e.length;t++)ao(e[t])}}function Nl(e,t){var a=e.stateNode;if(a===null)return null;var l=a[vt]||null;if(l===null)return null;a=l[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(l=!l.disabled)||(e=e.type,l=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!l;break e;default:e=!1}if(e)return null;if(a&&typeof a!="function")throw Error(o(231,t,typeof a));return a}var fa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xc=!1;if(fa)try{var Cl={};Object.defineProperty(Cl,"passive",{get:function(){xc=!0}}),window.addEventListener("test",Cl,Cl),window.removeEventListener("test",Cl,Cl)}catch{xc=!1}var _a=null,gc=null,Ds=null;function lo(){if(Ds)return Ds;var e,t=gc,a=t.length,l,s="value"in _a?_a.value:_a.textContent,c=s.length;for(e=0;e<a&&t[e]===s[e];e++);var u=a-e;for(l=1;l<=u&&t[a-l]===s[c-l];l++);return Ds=s.slice(e,1<l?1-l:void 0)}function _s(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Ms(){return!0}function so(){return!1}function bt(e){function t(a,l,s,c,u){this._reactName=a,this._targetInst=s,this.type=l,this.nativeEvent=c,this.target=u,this.currentTarget=null;for(var m in e)e.hasOwnProperty(m)&&(a=e[m],this[m]=a?a(c):c[m]);return this.isDefaultPrevented=(c.defaultPrevented!=null?c.defaultPrevented:c.returnValue===!1)?Ms:so,this.isPropagationStopped=so,this}return E(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=Ms)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=Ms)},persist:function(){},isPersistent:Ms}),t}var sn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ks=bt(sn),wl=E({},sn,{view:0,detail:0}),yx=bt(wl),pc,yc,zl,Os=E({},wl,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:bc,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==zl&&(zl&&e.type==="mousemove"?(pc=e.screenX-zl.screenX,yc=e.screenY-zl.screenY):yc=pc=0,zl=e),pc)},movementY:function(e){return"movementY"in e?e.movementY:yc}}),io=bt(Os),vx=E({},Os,{dataTransfer:0}),bx=bt(vx),jx=E({},wl,{relatedTarget:0}),vc=bt(jx),Sx=E({},sn,{animationName:0,elapsedTime:0,pseudoElement:0}),Nx=bt(Sx),Cx=E({},sn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),wx=bt(Cx),zx=E({},sn,{data:0}),co=bt(zx),Tx={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Ex={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"},Ax={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Dx(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Ax[e])?!!t[e]:!1}function bc(){return Dx}var _x=E({},wl,{key:function(e){if(e.key){var t=Tx[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=_s(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?Ex[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:bc,charCode:function(e){return e.type==="keypress"?_s(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?_s(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),Mx=bt(_x),kx=E({},Os,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),ro=bt(kx),Ox=E({},wl,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:bc}),Rx=bt(Ox),Ux=E({},sn,{propertyName:0,elapsedTime:0,pseudoElement:0}),Bx=bt(Ux),Hx=E({},Os,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),qx=bt(Hx),Lx=E({},sn,{newState:0,oldState:0}),Gx=bt(Lx),Qx=[9,13,27,32],jc=fa&&"CompositionEvent"in window,Tl=null;fa&&"documentMode"in document&&(Tl=document.documentMode);var Yx=fa&&"TextEvent"in window&&!Tl,uo=fa&&(!jc||Tl&&8<Tl&&11>=Tl),oo=" ",fo=!1;function mo(e,t){switch(e){case"keyup":return Qx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ho(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kn=!1;function Vx(e,t){switch(e){case"compositionend":return ho(t);case"keypress":return t.which!==32?null:(fo=!0,oo);case"textInput":return e=t.data,e===oo&&fo?null:e;default:return null}}function Xx(e,t){if(kn)return e==="compositionend"||!jc&&mo(e,t)?(e=lo(),Ds=gc=_a=null,kn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return uo&&t.locale!=="ko"?null:t.data;default:return null}}var Kx={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 xo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Kx[e.type]:t==="textarea"}function go(e,t,a,l){_n?Mn?Mn.push(l):Mn=[l]:_n=l,t=Ni(t,"onChange"),0<t.length&&(a=new ks("onChange","change",null,a,l),e.push({event:a,listeners:t}))}var El=null,Al=null;function Zx(e){Pf(e,0)}function Rs(e){var t=Sl(e);if($u(t))return e}function po(e,t){if(e==="change")return t}var yo=!1;if(fa){var Sc;if(fa){var Nc="oninput"in document;if(!Nc){var vo=document.createElement("div");vo.setAttribute("oninput","return;"),Nc=typeof vo.oninput=="function"}Sc=Nc}else Sc=!1;yo=Sc&&(!document.documentMode||9<document.documentMode)}function bo(){El&&(El.detachEvent("onpropertychange",jo),Al=El=null)}function jo(e){if(e.propertyName==="value"&&Rs(Al)){var t=[];go(t,Al,e,mc(e)),no(Zx,t)}}function Fx(e,t,a){e==="focusin"?(bo(),El=t,Al=a,El.attachEvent("onpropertychange",jo)):e==="focusout"&&bo()}function Jx(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Rs(Al)}function $x(e,t){if(e==="click")return Rs(t)}function Wx(e,t){if(e==="input"||e==="change")return Rs(t)}function Ix(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var _t=typeof Object.is=="function"?Object.is:Ix;function Dl(e,t){if(_t(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var a=Object.keys(e),l=Object.keys(t);if(a.length!==l.length)return!1;for(l=0;l<a.length;l++){var s=a[l];if(!ec.call(t,s)||!_t(e[s],t[s]))return!1}return!0}function So(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function No(e,t){var a=So(e);e=0;for(var l;a;){if(a.nodeType===3){if(l=e+a.textContent.length,e<=t&&l>=t)return{node:a,offset:t-e};e=l}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=So(a)}}function Co(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Co(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function wo(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Es(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Es(e.document)}return t}function Cc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var Px=fa&&"documentMode"in document&&11>=document.documentMode,On=null,wc=null,_l=null,zc=!1;function zo(e,t,a){var l=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;zc||On==null||On!==Es(l)||(l=On,"selectionStart"in l&&Cc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),_l&&Dl(_l,l)||(_l=l,l=Ni(wc,"onSelect"),0<l.length&&(t=new ks("onSelect","select",null,t,a),e.push({event:t,listeners:l}),t.target=On)))}function cn(e,t){var a={};return a[e.toLowerCase()]=t.toLowerCase(),a["Webkit"+e]="webkit"+t,a["Moz"+e]="moz"+t,a}var Rn={animationend:cn("Animation","AnimationEnd"),animationiteration:cn("Animation","AnimationIteration"),animationstart:cn("Animation","AnimationStart"),transitionrun:cn("Transition","TransitionRun"),transitionstart:cn("Transition","TransitionStart"),transitioncancel:cn("Transition","TransitionCancel"),transitionend:cn("Transition","TransitionEnd")},Tc={},To={};fa&&(To=document.createElement("div").style,"AnimationEvent"in window||(delete Rn.animationend.animation,delete Rn.animationiteration.animation,delete Rn.animationstart.animation),"TransitionEvent"in window||delete Rn.transitionend.transition);function rn(e){if(Tc[e])return Tc[e];if(!Rn[e])return e;var t=Rn[e],a;for(a in t)if(t.hasOwnProperty(a)&&a in To)return Tc[e]=t[a];return e}var Eo=rn("animationend"),Ao=rn("animationiteration"),Do=rn("animationstart"),eg=rn("transitionrun"),tg=rn("transitionstart"),ag=rn("transitioncancel"),_o=rn("transitionend"),Mo=new Map,Ec="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(" ");Ec.push("scrollEnd");function $t(e,t){Mo.set(e,t),ln(t,[e])}var Us=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},Lt=[],Un=0,Ac=0;function Bs(){for(var e=Un,t=Ac=Un=0;t<e;){var a=Lt[t];Lt[t++]=null;var l=Lt[t];Lt[t++]=null;var s=Lt[t];Lt[t++]=null;var c=Lt[t];if(Lt[t++]=null,l!==null&&s!==null){var u=l.pending;u===null?s.next=s:(s.next=u.next,u.next=s),l.pending=s}c!==0&&ko(a,s,c)}}function Hs(e,t,a,l){Lt[Un++]=e,Lt[Un++]=t,Lt[Un++]=a,Lt[Un++]=l,Ac|=l,e.lanes|=l,e=e.alternate,e!==null&&(e.lanes|=l)}function Dc(e,t,a,l){return Hs(e,t,a,l),qs(e)}function un(e,t){return Hs(e,null,null,t),qs(e)}function ko(e,t,a){e.lanes|=a;var l=e.alternate;l!==null&&(l.lanes|=a);for(var s=!1,c=e.return;c!==null;)c.childLanes|=a,l=c.alternate,l!==null&&(l.childLanes|=a),c.tag===22&&(e=c.stateNode,e===null||e._visibility&1||(s=!0)),e=c,c=c.return;return e.tag===3?(c=e.stateNode,s&&t!==null&&(s=31-Dt(a),e=c.hiddenUpdates,l=e[s],l===null?e[s]=[t]:l.push(t),t.lane=a|536870912),c):null}function qs(e){if(50<Pl)throw Pl=0,qr=null,Error(o(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Bn={};function ng(e,t,a,l){this.tag=e,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mt(e,t,a,l){return new ng(e,t,a,l)}function _c(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ma(e,t){var a=e.alternate;return a===null?(a=Mt(e.tag,t,e.key,e.mode),a.elementType=e.elementType,a.type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.pendingProps=t,a.type=e.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=e.flags&65011712,a.childLanes=e.childLanes,a.lanes=e.lanes,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,t=e.dependencies,a.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a.refCleanup=e.refCleanup,a}function Oo(e,t){e.flags&=65011714;var a=e.alternate;return a===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=a.childLanes,e.lanes=a.lanes,e.child=a.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=a.memoizedProps,e.memoizedState=a.memoizedState,e.updateQueue=a.updateQueue,e.type=a.type,t=a.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Ls(e,t,a,l,s,c){var u=0;if(l=e,typeof e=="function")_c(e)&&(u=1);else if(typeof e=="string")u=rp(e,a,fe.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case L:return e=Mt(31,a,t,s),e.elementType=L,e.lanes=c,e;case B:return on(a.children,s,c,t);case z:u=8,s|=24;break;case D:return e=Mt(12,a,t,s|2),e.elementType=D,e.lanes=c,e;case J:return e=Mt(13,a,t,s),e.elementType=J,e.lanes=c,e;case I:return e=Mt(19,a,t,s),e.elementType=I,e.lanes=c,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case N:u=10;break e;case b:u=9;break e;case G:u=11;break e;case X:u=14;break e;case P:u=16,l=null;break e}u=29,a=Error(o(130,e===null?"null":typeof e,"")),l=null}return t=Mt(u,a,t,s),t.elementType=e,t.type=l,t.lanes=c,t}function on(e,t,a,l){return e=Mt(7,e,l,t),e.lanes=a,e}function Mc(e,t,a){return e=Mt(6,e,null,t),e.lanes=a,e}function Ro(e){var t=Mt(18,null,null,0);return t.stateNode=e,t}function kc(e,t,a){return t=Mt(4,e.children!==null?e.children:[],e.key,t),t.lanes=a,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Uo=new WeakMap;function Gt(e,t){if(typeof e=="object"&&e!==null){var a=Uo.get(e);return a!==void 0?a:(t={value:e,source:t,stack:bs(t)},Uo.set(e,t),t)}return{value:e,source:t,stack:bs(t)}}var Hn=[],qn=0,Gs=null,Ml=0,Qt=[],Yt=0,Ma=null,la=1,sa="";function ha(e,t){Hn[qn++]=Ml,Hn[qn++]=Gs,Gs=e,Ml=t}function Bo(e,t,a){Qt[Yt++]=la,Qt[Yt++]=sa,Qt[Yt++]=Ma,Ma=e;var l=la;e=sa;var s=32-Dt(l)-1;l&=~(1<<s),a+=1;var c=32-Dt(t)+s;if(30<c){var u=s-s%5;c=(l&(1<<u)-1).toString(32),l>>=u,s-=u,la=1<<32-Dt(t)+s|a<<s|l,sa=c+e}else la=1<<c|a<<s|l,sa=e}function Oc(e){e.return!==null&&(ha(e,1),Bo(e,1,0))}function Rc(e){for(;e===Gs;)Gs=Hn[--qn],Hn[qn]=null,Ml=Hn[--qn],Hn[qn]=null;for(;e===Ma;)Ma=Qt[--Yt],Qt[Yt]=null,sa=Qt[--Yt],Qt[Yt]=null,la=Qt[--Yt],Qt[Yt]=null}function Ho(e,t){Qt[Yt++]=la,Qt[Yt++]=sa,Qt[Yt++]=Ma,la=t.id,sa=t.overflow,Ma=e}var ot=null,Le=null,Ne=!1,ka=null,Vt=!1,Uc=Error(o(519));function Oa(e){var t=Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw kl(Gt(t,e)),Uc}function qo(e){var t=e.stateNode,a=e.type,l=e.memoizedProps;switch(t[ut]=e,t[vt]=l,a){case"dialog":ve("cancel",t),ve("close",t);break;case"iframe":case"object":case"embed":ve("load",t);break;case"video":case"audio":for(a=0;a<ts.length;a++)ve(ts[a],t);break;case"source":ve("error",t);break;case"img":case"image":case"link":ve("error",t),ve("load",t);break;case"details":ve("toggle",t);break;case"input":ve("invalid",t),Wu(t,l.value,l.defaultValue,l.checked,l.defaultChecked,l.type,l.name,!0);break;case"select":ve("invalid",t);break;case"textarea":ve("invalid",t),Pu(t,l.value,l.defaultValue,l.children)}a=l.children,typeof a!="string"&&typeof a!="number"&&typeof a!="bigint"||t.textContent===""+a||l.suppressHydrationWarning===!0||nm(t.textContent,a)?(l.popover!=null&&(ve("beforetoggle",t),ve("toggle",t)),l.onScroll!=null&&ve("scroll",t),l.onScrollEnd!=null&&ve("scrollend",t),l.onClick!=null&&(t.onclick=da),t=!0):t=!1,t||Oa(e,!0)}function Lo(e){for(ot=e.return;ot;)switch(ot.tag){case 5:case 31:case 13:Vt=!1;return;case 27:case 3:Vt=!0;return;default:ot=ot.return}}function Ln(e){if(e!==ot)return!1;if(!Ne)return Lo(e),Ne=!0,!1;var t=e.tag,a;if((a=t!==3&&t!==27)&&((a=t===5)&&(a=e.type,a=!(a!=="form"&&a!=="button")||eu(e.type,e.memoizedProps)),a=!a),a&&Le&&Oa(e),Lo(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));Le=fm(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));Le=fm(e)}else t===27?(t=Le,Fa(e.type)?(e=su,su=null,Le=e):Le=t):Le=ot?Kt(e.stateNode.nextSibling):null;return!0}function dn(){Le=ot=null,Ne=!1}function Bc(){var e=ka;return e!==null&&(Ct===null?Ct=e:Ct.push.apply(Ct,e),ka=null),e}function kl(e){ka===null?ka=[e]:ka.push(e)}var Hc=re(null),fn=null,xa=null;function Ra(e,t,a){se(Hc,t._currentValue),t._currentValue=a}function ga(e){e._currentValue=Hc.current,ae(Hc)}function qc(e,t,a){for(;e!==null;){var l=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,l!==null&&(l.childLanes|=t)):l!==null&&(l.childLanes&t)!==t&&(l.childLanes|=t),e===a)break;e=e.return}}function Lc(e,t,a,l){var s=e.child;for(s!==null&&(s.return=e);s!==null;){var c=s.dependencies;if(c!==null){var u=s.child;c=c.firstContext;e:for(;c!==null;){var m=c;c=s;for(var j=0;j<t.length;j++)if(m.context===t[j]){c.lanes|=a,m=c.alternate,m!==null&&(m.lanes|=a),qc(c.return,a,e),l||(u=null);break e}c=m.next}}else if(s.tag===18){if(u=s.return,u===null)throw Error(o(341));u.lanes|=a,c=u.alternate,c!==null&&(c.lanes|=a),qc(u,a,e),u=null}else u=s.child;if(u!==null)u.return=s;else for(u=s;u!==null;){if(u===e){u=null;break}if(s=u.sibling,s!==null){s.return=u.return,u=s;break}u=u.return}s=u}}function Gn(e,t,a,l){e=null;for(var s=t,c=!1;s!==null;){if(!c){if((s.flags&524288)!==0)c=!0;else if((s.flags&262144)!==0)break}if(s.tag===10){var u=s.alternate;if(u===null)throw Error(o(387));if(u=u.memoizedProps,u!==null){var m=s.type;_t(s.pendingProps.value,u.value)||(e!==null?e.push(m):e=[m])}}else if(s===Jt.current){if(u=s.alternate,u===null)throw Error(o(387));u.memoizedState.memoizedState!==s.memoizedState.memoizedState&&(e!==null?e.push(is):e=[is])}s=s.return}e!==null&&Lc(t,e,a,l),t.flags|=262144}function Qs(e){for(e=e.firstContext;e!==null;){if(!_t(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function mn(e){fn=e,xa=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function dt(e){return Go(fn,e)}function Ys(e,t){return fn===null&&mn(e),Go(e,t)}function Go(e,t){var a=t._currentValue;if(t={context:t,memoizedValue:a,next:null},xa===null){if(e===null)throw Error(o(308));xa=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else xa=xa.next=t;return a}var lg=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(a,l){e.push(l)}};this.abort=function(){t.aborted=!0,e.forEach(function(a){return a()})}},sg=i.unstable_scheduleCallback,ig=i.unstable_NormalPriority,We={$$typeof:N,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Gc(){return{controller:new lg,data:new Map,refCount:0}}function Ol(e){e.refCount--,e.refCount===0&&sg(ig,function(){e.controller.abort()})}var Rl=null,Qc=0,Qn=0,Yn=null;function cg(e,t){if(Rl===null){var a=Rl=[];Qc=0,Qn=Xr(),Yn={status:"pending",value:void 0,then:function(l){a.push(l)}}}return Qc++,t.then(Qo,Qo),t}function Qo(){if(--Qc===0&&Rl!==null){Yn!==null&&(Yn.status="fulfilled");var e=Rl;Rl=null,Qn=0,Yn=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function rg(e,t){var a=[],l={status:"pending",value:null,reason:null,then:function(s){a.push(s)}};return e.then(function(){l.status="fulfilled",l.value=t;for(var s=0;s<a.length;s++)(0,a[s])(t)},function(s){for(l.status="rejected",l.reason=s,s=0;s<a.length;s++)(0,a[s])(void 0)}),l}var Yo=y.S;y.S=function(e,t){Tf=Et(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&cg(e,t),Yo!==null&&Yo(e,t)};var hn=re(null);function Yc(){var e=hn.current;return e!==null?e:Be.pooledCache}function Vs(e,t){t===null?se(hn,hn.current):se(hn,t.pool)}function Vo(){var e=Yc();return e===null?null:{parent:We._currentValue,pool:e}}var Vn=Error(o(460)),Vc=Error(o(474)),Xs=Error(o(542)),Ks={then:function(){}};function Xo(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Ko(e,t,a){switch(a=e[a],a===void 0?e.push(t):a!==t&&(t.then(da,da),t=a),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Fo(e),e;default:if(typeof t.status=="string")t.then(da,da);else{if(e=Be,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=t,e.status="pending",e.then(function(l){if(t.status==="pending"){var s=t;s.status="fulfilled",s.value=l}},function(l){if(t.status==="pending"){var s=t;s.status="rejected",s.reason=l}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Fo(e),e}throw gn=t,Vn}}function xn(e){try{var t=e._init;return t(e._payload)}catch(a){throw a!==null&&typeof a=="object"&&typeof a.then=="function"?(gn=a,Vn):a}}var gn=null;function Zo(){if(gn===null)throw Error(o(459));var e=gn;return gn=null,e}function Fo(e){if(e===Vn||e===Xs)throw Error(o(483))}var Xn=null,Ul=0;function Zs(e){var t=Ul;return Ul+=1,Xn===null&&(Xn=[]),Ko(Xn,e,t)}function Bl(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function Fs(e,t){throw t.$$typeof===H?Error(o(525)):(e=Object.prototype.toString.call(t),Error(o(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Jo(e){function t(A,C){if(e){var M=A.deletions;M===null?(A.deletions=[C],A.flags|=16):M.push(C)}}function a(A,C){if(!e)return null;for(;C!==null;)t(A,C),C=C.sibling;return null}function l(A){for(var C=new Map;A!==null;)A.key!==null?C.set(A.key,A):C.set(A.index,A),A=A.sibling;return C}function s(A,C){return A=ma(A,C),A.index=0,A.sibling=null,A}function c(A,C,M){return A.index=M,e?(M=A.alternate,M!==null?(M=M.index,M<C?(A.flags|=67108866,C):M):(A.flags|=67108866,C)):(A.flags|=1048576,C)}function u(A){return e&&A.alternate===null&&(A.flags|=67108866),A}function m(A,C,M,V){return C===null||C.tag!==6?(C=Mc(M,A.mode,V),C.return=A,C):(C=s(C,M),C.return=A,C)}function j(A,C,M,V){var ue=M.type;return ue===B?Q(A,C,M.props.children,V,M.key):C!==null&&(C.elementType===ue||typeof ue=="object"&&ue!==null&&ue.$$typeof===P&&xn(ue)===C.type)?(C=s(C,M.props),Bl(C,M),C.return=A,C):(C=Ls(M.type,M.key,M.props,null,A.mode,V),Bl(C,M),C.return=A,C)}function k(A,C,M,V){return C===null||C.tag!==4||C.stateNode.containerInfo!==M.containerInfo||C.stateNode.implementation!==M.implementation?(C=kc(M,A.mode,V),C.return=A,C):(C=s(C,M.children||[]),C.return=A,C)}function Q(A,C,M,V,ue){return C===null||C.tag!==7?(C=on(M,A.mode,V,ue),C.return=A,C):(C=s(C,M),C.return=A,C)}function K(A,C,M){if(typeof C=="string"&&C!==""||typeof C=="number"||typeof C=="bigint")return C=Mc(""+C,A.mode,M),C.return=A,C;if(typeof C=="object"&&C!==null){switch(C.$$typeof){case w:return M=Ls(C.type,C.key,C.props,null,A.mode,M),Bl(M,C),M.return=A,M;case O:return C=kc(C,A.mode,M),C.return=A,C;case P:return C=xn(C),K(A,C,M)}if(Y(C)||R(C))return C=on(C,A.mode,M,null),C.return=A,C;if(typeof C.then=="function")return K(A,Zs(C),M);if(C.$$typeof===N)return K(A,Ys(A,C),M);Fs(A,C)}return null}function U(A,C,M,V){var ue=C!==null?C.key:null;if(typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint")return ue!==null?null:m(A,C,""+M,V);if(typeof M=="object"&&M!==null){switch(M.$$typeof){case w:return M.key===ue?j(A,C,M,V):null;case O:return M.key===ue?k(A,C,M,V):null;case P:return M=xn(M),U(A,C,M,V)}if(Y(M)||R(M))return ue!==null?null:Q(A,C,M,V,null);if(typeof M.then=="function")return U(A,C,Zs(M),V);if(M.$$typeof===N)return U(A,C,Ys(A,M),V);Fs(A,M)}return null}function q(A,C,M,V,ue){if(typeof V=="string"&&V!==""||typeof V=="number"||typeof V=="bigint")return A=A.get(M)||null,m(C,A,""+V,ue);if(typeof V=="object"&&V!==null){switch(V.$$typeof){case w:return A=A.get(V.key===null?M:V.key)||null,j(C,A,V,ue);case O:return A=A.get(V.key===null?M:V.key)||null,k(C,A,V,ue);case P:return V=xn(V),q(A,C,M,V,ue)}if(Y(V)||R(V))return A=A.get(M)||null,Q(C,A,V,ue,null);if(typeof V.then=="function")return q(A,C,M,Zs(V),ue);if(V.$$typeof===N)return q(A,C,M,Ys(C,V),ue);Fs(C,V)}return null}function ie(A,C,M,V){for(var ue=null,we=null,ce=C,pe=C=0,je=null;ce!==null&&pe<M.length;pe++){ce.index>pe?(je=ce,ce=null):je=ce.sibling;var ze=U(A,ce,M[pe],V);if(ze===null){ce===null&&(ce=je);break}e&&ce&&ze.alternate===null&&t(A,ce),C=c(ze,C,pe),we===null?ue=ze:we.sibling=ze,we=ze,ce=je}if(pe===M.length)return a(A,ce),Ne&&ha(A,pe),ue;if(ce===null){for(;pe<M.length;pe++)ce=K(A,M[pe],V),ce!==null&&(C=c(ce,C,pe),we===null?ue=ce:we.sibling=ce,we=ce);return Ne&&ha(A,pe),ue}for(ce=l(ce);pe<M.length;pe++)je=q(ce,A,pe,M[pe],V),je!==null&&(e&&je.alternate!==null&&ce.delete(je.key===null?pe:je.key),C=c(je,C,pe),we===null?ue=je:we.sibling=je,we=je);return e&&ce.forEach(function(Pa){return t(A,Pa)}),Ne&&ha(A,pe),ue}function de(A,C,M,V){if(M==null)throw Error(o(151));for(var ue=null,we=null,ce=C,pe=C=0,je=null,ze=M.next();ce!==null&&!ze.done;pe++,ze=M.next()){ce.index>pe?(je=ce,ce=null):je=ce.sibling;var Pa=U(A,ce,ze.value,V);if(Pa===null){ce===null&&(ce=je);break}e&&ce&&Pa.alternate===null&&t(A,ce),C=c(Pa,C,pe),we===null?ue=Pa:we.sibling=Pa,we=Pa,ce=je}if(ze.done)return a(A,ce),Ne&&ha(A,pe),ue;if(ce===null){for(;!ze.done;pe++,ze=M.next())ze=K(A,ze.value,V),ze!==null&&(C=c(ze,C,pe),we===null?ue=ze:we.sibling=ze,we=ze);return Ne&&ha(A,pe),ue}for(ce=l(ce);!ze.done;pe++,ze=M.next())ze=q(ce,A,pe,ze.value,V),ze!==null&&(e&&ze.alternate!==null&&ce.delete(ze.key===null?pe:ze.key),C=c(ze,C,pe),we===null?ue=ze:we.sibling=ze,we=ze);return e&&ce.forEach(function(vp){return t(A,vp)}),Ne&&ha(A,pe),ue}function Ue(A,C,M,V){if(typeof M=="object"&&M!==null&&M.type===B&&M.key===null&&(M=M.props.children),typeof M=="object"&&M!==null){switch(M.$$typeof){case w:e:{for(var ue=M.key;C!==null;){if(C.key===ue){if(ue=M.type,ue===B){if(C.tag===7){a(A,C.sibling),V=s(C,M.props.children),V.return=A,A=V;break e}}else if(C.elementType===ue||typeof ue=="object"&&ue!==null&&ue.$$typeof===P&&xn(ue)===C.type){a(A,C.sibling),V=s(C,M.props),Bl(V,M),V.return=A,A=V;break e}a(A,C);break}else t(A,C);C=C.sibling}M.type===B?(V=on(M.props.children,A.mode,V,M.key),V.return=A,A=V):(V=Ls(M.type,M.key,M.props,null,A.mode,V),Bl(V,M),V.return=A,A=V)}return u(A);case O:e:{for(ue=M.key;C!==null;){if(C.key===ue)if(C.tag===4&&C.stateNode.containerInfo===M.containerInfo&&C.stateNode.implementation===M.implementation){a(A,C.sibling),V=s(C,M.children||[]),V.return=A,A=V;break e}else{a(A,C);break}else t(A,C);C=C.sibling}V=kc(M,A.mode,V),V.return=A,A=V}return u(A);case P:return M=xn(M),Ue(A,C,M,V)}if(Y(M))return ie(A,C,M,V);if(R(M)){if(ue=R(M),typeof ue!="function")throw Error(o(150));return M=ue.call(M),de(A,C,M,V)}if(typeof M.then=="function")return Ue(A,C,Zs(M),V);if(M.$$typeof===N)return Ue(A,C,Ys(A,M),V);Fs(A,M)}return typeof M=="string"&&M!==""||typeof M=="number"||typeof M=="bigint"?(M=""+M,C!==null&&C.tag===6?(a(A,C.sibling),V=s(C,M),V.return=A,A=V):(a(A,C),V=Mc(M,A.mode,V),V.return=A,A=V),u(A)):a(A,C)}return function(A,C,M,V){try{Ul=0;var ue=Ue(A,C,M,V);return Xn=null,ue}catch(ce){if(ce===Vn||ce===Xs)throw ce;var we=Mt(29,ce,null,A.mode);return we.lanes=V,we.return=A,we}}}var pn=Jo(!0),$o=Jo(!1),Ua=!1;function Xc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Kc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ba(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ha(e,t,a){var l=e.updateQueue;if(l===null)return null;if(l=l.shared,(Te&2)!==0){var s=l.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),l.pending=t,t=qs(e),ko(e,null,a),t}return Hs(e,l,t,a),qs(e)}function Hl(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Lu(e,a)}}function Zc(e,t){var a=e.updateQueue,l=e.alternate;if(l!==null&&(l=l.updateQueue,a===l)){var s=null,c=null;if(a=a.firstBaseUpdate,a!==null){do{var u={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};c===null?s=c=u:c=c.next=u,a=a.next}while(a!==null);c===null?s=c=t:c=c.next=t}else s=c=t;a={baseState:l.baseState,firstBaseUpdate:s,lastBaseUpdate:c,shared:l.shared,callbacks:l.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Fc=!1;function ql(){if(Fc){var e=Yn;if(e!==null)throw e}}function Ll(e,t,a,l){Fc=!1;var s=e.updateQueue;Ua=!1;var c=s.firstBaseUpdate,u=s.lastBaseUpdate,m=s.shared.pending;if(m!==null){s.shared.pending=null;var j=m,k=j.next;j.next=null,u===null?c=k:u.next=k,u=j;var Q=e.alternate;Q!==null&&(Q=Q.updateQueue,m=Q.lastBaseUpdate,m!==u&&(m===null?Q.firstBaseUpdate=k:m.next=k,Q.lastBaseUpdate=j))}if(c!==null){var K=s.baseState;u=0,Q=k=j=null,m=c;do{var U=m.lane&-536870913,q=U!==m.lane;if(q?(be&U)===U:(l&U)===U){U!==0&&U===Qn&&(Fc=!0),Q!==null&&(Q=Q.next={lane:0,tag:m.tag,payload:m.payload,callback:null,next:null});e:{var ie=e,de=m;U=t;var Ue=a;switch(de.tag){case 1:if(ie=de.payload,typeof ie=="function"){K=ie.call(Ue,K,U);break e}K=ie;break e;case 3:ie.flags=ie.flags&-65537|128;case 0:if(ie=de.payload,U=typeof ie=="function"?ie.call(Ue,K,U):ie,U==null)break e;K=E({},K,U);break e;case 2:Ua=!0}}U=m.callback,U!==null&&(e.flags|=64,q&&(e.flags|=8192),q=s.callbacks,q===null?s.callbacks=[U]:q.push(U))}else q={lane:U,tag:m.tag,payload:m.payload,callback:m.callback,next:null},Q===null?(k=Q=q,j=K):Q=Q.next=q,u|=U;if(m=m.next,m===null){if(m=s.shared.pending,m===null)break;q=m,m=q.next,q.next=null,s.lastBaseUpdate=q,s.shared.pending=null}}while(!0);Q===null&&(j=K),s.baseState=j,s.firstBaseUpdate=k,s.lastBaseUpdate=Q,c===null&&(s.shared.lanes=0),Ya|=u,e.lanes=u,e.memoizedState=K}}function Wo(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function Io(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;e<a.length;e++)Wo(a[e],t)}var Kn=re(null),Js=re(0);function Po(e,t){e=wa,se(Js,e),se(Kn,t),wa=e|t.baseLanes}function Jc(){se(Js,wa),se(Kn,Kn.current)}function $c(){wa=Js.current,ae(Kn),ae(Js)}var kt=re(null),Xt=null;function qa(e){var t=e.alternate;se(Ze,Ze.current&1),se(kt,e),Xt===null&&(t===null||Kn.current!==null||t.memoizedState!==null)&&(Xt=e)}function Wc(e){se(Ze,Ze.current),se(kt,e),Xt===null&&(Xt=e)}function ed(e){e.tag===22?(se(Ze,Ze.current),se(kt,e),Xt===null&&(Xt=e)):La()}function La(){se(Ze,Ze.current),se(kt,kt.current)}function Ot(e){ae(kt),Xt===e&&(Xt=null),ae(Ze)}var Ze=re(0);function $s(e){for(var t=e;t!==null;){if(t.tag===13){var a=t.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||nu(a)||lu(a)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder==="forwards"||t.memoizedProps.revealOrder==="backwards"||t.memoizedProps.revealOrder==="unstable_legacy-backwards"||t.memoizedProps.revealOrder==="together")){if((t.flags&128)!==0)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var pa=0,xe=null,Oe=null,Ie=null,Ws=!1,Zn=!1,yn=!1,Is=0,Gl=0,Fn=null,ug=0;function Xe(){throw Error(o(321))}function Ic(e,t){if(t===null)return!1;for(var a=0;a<t.length&&a<e.length;a++)if(!_t(e[a],t[a]))return!1;return!0}function Pc(e,t,a,l,s,c){return pa=c,xe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,y.H=e===null||e.memoizedState===null?Bd:hr,yn=!1,c=a(l,s),yn=!1,Zn&&(c=ad(t,a,l,s)),td(e),c}function td(e){y.H=Vl;var t=Oe!==null&&Oe.next!==null;if(pa=0,Ie=Oe=xe=null,Ws=!1,Gl=0,Fn=null,t)throw Error(o(300));e===null||Pe||(e=e.dependencies,e!==null&&Qs(e)&&(Pe=!0))}function ad(e,t,a,l){xe=e;var s=0;do{if(Zn&&(Fn=null),Gl=0,Zn=!1,25<=s)throw Error(o(301));if(s+=1,Ie=Oe=null,e.updateQueue!=null){var c=e.updateQueue;c.lastEffect=null,c.events=null,c.stores=null,c.memoCache!=null&&(c.memoCache.index=0)}y.H=Hd,c=t(a,l)}while(Zn);return c}function og(){var e=y.H,t=e.useState()[0];return t=typeof t.then=="function"?Ql(t):t,e=e.useState()[0],(Oe!==null?Oe.memoizedState:null)!==e&&(xe.flags|=1024),t}function er(){var e=Is!==0;return Is=0,e}function tr(e,t,a){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a}function ar(e){if(Ws){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Ws=!1}pa=0,Ie=Oe=xe=null,Zn=!1,Gl=Is=0,Fn=null}function pt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ie===null?xe.memoizedState=Ie=e:Ie=Ie.next=e,Ie}function Fe(){if(Oe===null){var e=xe.alternate;e=e!==null?e.memoizedState:null}else e=Oe.next;var t=Ie===null?xe.memoizedState:Ie.next;if(t!==null)Ie=t,Oe=e;else{if(e===null)throw xe.alternate===null?Error(o(467)):Error(o(310));Oe=e,e={memoizedState:Oe.memoizedState,baseState:Oe.baseState,baseQueue:Oe.baseQueue,queue:Oe.queue,next:null},Ie===null?xe.memoizedState=Ie=e:Ie=Ie.next=e}return Ie}function Ps(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Ql(e){var t=Gl;return Gl+=1,Fn===null&&(Fn=[]),e=Ko(Fn,e,t),t=xe,(Ie===null?t.memoizedState:Ie.next)===null&&(t=t.alternate,y.H=t===null||t.memoizedState===null?Bd:hr),e}function ei(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Ql(e);if(e.$$typeof===N)return dt(e)}throw Error(o(438,String(e)))}function nr(e){var t=null,a=xe.updateQueue;if(a!==null&&(t=a.memoCache),t==null){var l=xe.alternate;l!==null&&(l=l.updateQueue,l!==null&&(l=l.memoCache,l!=null&&(t={data:l.data.map(function(s){return s.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),a===null&&(a=Ps(),xe.updateQueue=a),a.memoCache=t,a=t.data[t.index],a===void 0)for(a=t.data[t.index]=Array(e),l=0;l<e;l++)a[l]=le;return t.index++,a}function ya(e,t){return typeof t=="function"?t(e):t}function ti(e){var t=Fe();return lr(t,Oe,e)}function lr(e,t,a){var l=e.queue;if(l===null)throw Error(o(311));l.lastRenderedReducer=a;var s=e.baseQueue,c=l.pending;if(c!==null){if(s!==null){var u=s.next;s.next=c.next,c.next=u}t.baseQueue=s=c,l.pending=null}if(c=e.baseState,s===null)e.memoizedState=c;else{t=s.next;var m=u=null,j=null,k=t,Q=!1;do{var K=k.lane&-536870913;if(K!==k.lane?(be&K)===K:(pa&K)===K){var U=k.revertLane;if(U===0)j!==null&&(j=j.next={lane:0,revertLane:0,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null}),K===Qn&&(Q=!0);else if((pa&U)===U){k=k.next,U===Qn&&(Q=!0);continue}else K={lane:0,revertLane:k.revertLane,gesture:null,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},j===null?(m=j=K,u=c):j=j.next=K,xe.lanes|=U,Ya|=U;K=k.action,yn&&a(c,K),c=k.hasEagerState?k.eagerState:a(c,K)}else U={lane:K,revertLane:k.revertLane,gesture:k.gesture,action:k.action,hasEagerState:k.hasEagerState,eagerState:k.eagerState,next:null},j===null?(m=j=U,u=c):j=j.next=U,xe.lanes|=K,Ya|=K;k=k.next}while(k!==null&&k!==t);if(j===null?u=c:j.next=m,!_t(c,e.memoizedState)&&(Pe=!0,Q&&(a=Yn,a!==null)))throw a;e.memoizedState=c,e.baseState=u,e.baseQueue=j,l.lastRenderedState=c}return s===null&&(l.lanes=0),[e.memoizedState,l.dispatch]}function sr(e){var t=Fe(),a=t.queue;if(a===null)throw Error(o(311));a.lastRenderedReducer=e;var l=a.dispatch,s=a.pending,c=t.memoizedState;if(s!==null){a.pending=null;var u=s=s.next;do c=e(c,u.action),u=u.next;while(u!==s);_t(c,t.memoizedState)||(Pe=!0),t.memoizedState=c,t.baseQueue===null&&(t.baseState=c),a.lastRenderedState=c}return[c,l]}function nd(e,t,a){var l=xe,s=Fe(),c=Ne;if(c){if(a===void 0)throw Error(o(407));a=a()}else a=t();var u=!_t((Oe||s).memoizedState,a);if(u&&(s.memoizedState=a,Pe=!0),s=s.queue,rr(id.bind(null,l,s,e),[e]),s.getSnapshot!==t||u||Ie!==null&&Ie.memoizedState.tag&1){if(l.flags|=2048,Jn(9,{destroy:void 0},sd.bind(null,l,s,a,t),null),Be===null)throw Error(o(349));c||(pa&127)!==0||ld(l,t,a)}return a}function ld(e,t,a){e.flags|=16384,e={getSnapshot:t,value:a},t=xe.updateQueue,t===null?(t=Ps(),xe.updateQueue=t,t.stores=[e]):(a=t.stores,a===null?t.stores=[e]:a.push(e))}function sd(e,t,a,l){t.value=a,t.getSnapshot=l,cd(t)&&rd(e)}function id(e,t,a){return a(function(){cd(t)&&rd(e)})}function cd(e){var t=e.getSnapshot;e=e.value;try{var a=t();return!_t(e,a)}catch{return!0}}function rd(e){var t=un(e,2);t!==null&&wt(t,e,2)}function ir(e){var t=pt();if(typeof e=="function"){var a=e;if(e=a(),yn){Aa(!0);try{a()}finally{Aa(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:e},t}function ud(e,t,a,l){return e.baseState=a,lr(e,Oe,typeof l=="function"?l:ya)}function dg(e,t,a,l,s){if(li(e))throw Error(o(485));if(e=t.action,e!==null){var c={payload:s,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(u){c.listeners.push(u)}};y.T!==null?a(!0):c.isTransition=!1,l(c),a=t.pending,a===null?(c.next=t.pending=c,od(t,c)):(c.next=a.next,t.pending=a.next=c)}}function od(e,t){var a=t.action,l=t.payload,s=e.state;if(t.isTransition){var c=y.T,u={};y.T=u;try{var m=a(s,l),j=y.S;j!==null&&j(u,m),dd(e,t,m)}catch(k){cr(e,t,k)}finally{c!==null&&u.types!==null&&(c.types=u.types),y.T=c}}else try{c=a(s,l),dd(e,t,c)}catch(k){cr(e,t,k)}}function dd(e,t,a){a!==null&&typeof a=="object"&&typeof a.then=="function"?a.then(function(l){fd(e,t,l)},function(l){return cr(e,t,l)}):fd(e,t,a)}function fd(e,t,a){t.status="fulfilled",t.value=a,md(t),e.state=a,t=e.pending,t!==null&&(a=t.next,a===t?e.pending=null:(a=a.next,t.next=a,od(e,a)))}function cr(e,t,a){var l=e.pending;if(e.pending=null,l!==null){l=l.next;do t.status="rejected",t.reason=a,md(t),t=t.next;while(t!==l)}e.action=null}function md(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function hd(e,t){return t}function xd(e,t){if(Ne){var a=Be.formState;if(a!==null){e:{var l=xe;if(Ne){if(Le){t:{for(var s=Le,c=Vt;s.nodeType!==8;){if(!c){s=null;break t}if(s=Kt(s.nextSibling),s===null){s=null;break t}}c=s.data,s=c==="F!"||c==="F"?s:null}if(s){Le=Kt(s.nextSibling),l=s.data==="F!";break e}}Oa(l)}l=!1}l&&(t=a[0])}}return a=pt(),a.memoizedState=a.baseState=t,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:hd,lastRenderedState:t},a.queue=l,a=Od.bind(null,xe,l),l.dispatch=a,l=ir(!1),c=mr.bind(null,xe,!1,l.queue),l=pt(),s={state:t,dispatch:null,action:e,pending:null},l.queue=s,a=dg.bind(null,xe,s,c,a),s.dispatch=a,l.memoizedState=e,[t,a,!1]}function gd(e){var t=Fe();return pd(t,Oe,e)}function pd(e,t,a){if(t=lr(e,t,hd)[0],e=ti(ya)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var l=Ql(t)}catch(u){throw u===Vn?Xs:u}else l=t;t=Fe();var s=t.queue,c=s.dispatch;return a!==t.memoizedState&&(xe.flags|=2048,Jn(9,{destroy:void 0},fg.bind(null,s,a),null)),[l,c,e]}function fg(e,t){e.action=t}function yd(e){var t=Fe(),a=Oe;if(a!==null)return pd(t,a,e);Fe(),t=t.memoizedState,a=Fe();var l=a.queue.dispatch;return a.memoizedState=e,[t,l,!1]}function Jn(e,t,a,l){return e={tag:e,create:a,deps:l,inst:t,next:null},t=xe.updateQueue,t===null&&(t=Ps(),xe.updateQueue=t),a=t.lastEffect,a===null?t.lastEffect=e.next=e:(l=a.next,a.next=e,e.next=l,t.lastEffect=e),e}function vd(){return Fe().memoizedState}function ai(e,t,a,l){var s=pt();xe.flags|=e,s.memoizedState=Jn(1|t,{destroy:void 0},a,l===void 0?null:l)}function ni(e,t,a,l){var s=Fe();l=l===void 0?null:l;var c=s.memoizedState.inst;Oe!==null&&l!==null&&Ic(l,Oe.memoizedState.deps)?s.memoizedState=Jn(t,c,a,l):(xe.flags|=e,s.memoizedState=Jn(1|t,c,a,l))}function bd(e,t){ai(8390656,8,e,t)}function rr(e,t){ni(2048,8,e,t)}function mg(e){xe.flags|=4;var t=xe.updateQueue;if(t===null)t=Ps(),xe.updateQueue=t,t.events=[e];else{var a=t.events;a===null?t.events=[e]:a.push(e)}}function jd(e){var t=Fe().memoizedState;return mg({ref:t,nextImpl:e}),function(){if((Te&2)!==0)throw Error(o(440));return t.impl.apply(void 0,arguments)}}function Sd(e,t){return ni(4,2,e,t)}function Nd(e,t){return ni(4,4,e,t)}function Cd(e,t){if(typeof t=="function"){e=e();var a=t(e);return function(){typeof a=="function"?a():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function wd(e,t,a){a=a!=null?a.concat([e]):null,ni(4,4,Cd.bind(null,t,e),a)}function ur(){}function zd(e,t){var a=Fe();t=t===void 0?null:t;var l=a.memoizedState;return t!==null&&Ic(t,l[1])?l[0]:(a.memoizedState=[e,t],e)}function Td(e,t){var a=Fe();t=t===void 0?null:t;var l=a.memoizedState;if(t!==null&&Ic(t,l[1]))return l[0];if(l=e(),yn){Aa(!0);try{e()}finally{Aa(!1)}}return a.memoizedState=[l,t],l}function or(e,t,a){return a===void 0||(pa&1073741824)!==0&&(be&261930)===0?e.memoizedState=t:(e.memoizedState=a,e=Af(),xe.lanes|=e,Ya|=e,a)}function Ed(e,t,a,l){return _t(a,t)?a:Kn.current!==null?(e=or(e,a,l),_t(e,t)||(Pe=!0),e):(pa&42)===0||(pa&1073741824)!==0&&(be&261930)===0?(Pe=!0,e.memoizedState=a):(e=Af(),xe.lanes|=e,Ya|=e,t)}function Ad(e,t,a,l,s){var c=_.p;_.p=c!==0&&8>c?c:8;var u=y.T,m={};y.T=m,mr(e,!1,t,a);try{var j=s(),k=y.S;if(k!==null&&k(m,j),j!==null&&typeof j=="object"&&typeof j.then=="function"){var Q=rg(j,l);Yl(e,t,Q,Bt(e))}else Yl(e,t,l,Bt(e))}catch(K){Yl(e,t,{then:function(){},status:"rejected",reason:K},Bt())}finally{_.p=c,u!==null&&m.types!==null&&(u.types=m.types),y.T=u}}function hg(){}function dr(e,t,a,l){if(e.tag!==5)throw Error(o(476));var s=Dd(e).queue;Ad(e,s,t,ee,a===null?hg:function(){return _d(e),a(l)})}function Dd(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ee,baseState:ee,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:ee},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function _d(e){var t=Dd(e);t.next===null&&(t=e.alternate.memoizedState),Yl(e,t.next.queue,{},Bt())}function fr(){return dt(is)}function Md(){return Fe().memoizedState}function kd(){return Fe().memoizedState}function xg(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Bt();e=Ba(a);var l=Ha(t,e,a);l!==null&&(wt(l,t,a),Hl(l,t,a)),t={cache:Gc()},e.payload=t;return}t=t.return}}function gg(e,t,a){var l=Bt();a={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},li(e)?Rd(t,a):(a=Dc(e,t,a,l),a!==null&&(wt(a,e,l),Ud(a,t,l)))}function Od(e,t,a){var l=Bt();Yl(e,t,a,l)}function Yl(e,t,a,l){var s={lane:l,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(li(e))Rd(t,s);else{var c=e.alternate;if(e.lanes===0&&(c===null||c.lanes===0)&&(c=t.lastRenderedReducer,c!==null))try{var u=t.lastRenderedState,m=c(u,a);if(s.hasEagerState=!0,s.eagerState=m,_t(m,u))return Hs(e,t,s,0),Be===null&&Bs(),!1}catch{}if(a=Dc(e,t,s,l),a!==null)return wt(a,e,l),Ud(a,t,l),!0}return!1}function mr(e,t,a,l){if(l={lane:2,revertLane:Xr(),gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},li(e)){if(t)throw Error(o(479))}else t=Dc(e,a,l,2),t!==null&&wt(t,e,2)}function li(e){var t=e.alternate;return e===xe||t!==null&&t===xe}function Rd(e,t){Zn=Ws=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function Ud(e,t,a){if((a&4194048)!==0){var l=t.lanes;l&=e.pendingLanes,a|=l,t.lanes=a,Lu(e,a)}}var Vl={readContext:dt,use:ei,useCallback:Xe,useContext:Xe,useEffect:Xe,useImperativeHandle:Xe,useLayoutEffect:Xe,useInsertionEffect:Xe,useMemo:Xe,useReducer:Xe,useRef:Xe,useState:Xe,useDebugValue:Xe,useDeferredValue:Xe,useTransition:Xe,useSyncExternalStore:Xe,useId:Xe,useHostTransitionStatus:Xe,useFormState:Xe,useActionState:Xe,useOptimistic:Xe,useMemoCache:Xe,useCacheRefresh:Xe};Vl.useEffectEvent=Xe;var Bd={readContext:dt,use:ei,useCallback:function(e,t){return pt().memoizedState=[e,t===void 0?null:t],e},useContext:dt,useEffect:bd,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,ai(4194308,4,Cd.bind(null,t,e),a)},useLayoutEffect:function(e,t){return ai(4194308,4,e,t)},useInsertionEffect:function(e,t){ai(4,2,e,t)},useMemo:function(e,t){var a=pt();t=t===void 0?null:t;var l=e();if(yn){Aa(!0);try{e()}finally{Aa(!1)}}return a.memoizedState=[l,t],l},useReducer:function(e,t,a){var l=pt();if(a!==void 0){var s=a(t);if(yn){Aa(!0);try{a(t)}finally{Aa(!1)}}}else s=t;return l.memoizedState=l.baseState=s,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:s},l.queue=e,e=e.dispatch=gg.bind(null,xe,e),[l.memoizedState,e]},useRef:function(e){var t=pt();return e={current:e},t.memoizedState=e},useState:function(e){e=ir(e);var t=e.queue,a=Od.bind(null,xe,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:ur,useDeferredValue:function(e,t){var a=pt();return or(a,e,t)},useTransition:function(){var e=ir(!1);return e=Ad.bind(null,xe,e.queue,!0,!1),pt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var l=xe,s=pt();if(Ne){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),Be===null)throw Error(o(349));(be&127)!==0||ld(l,t,a)}s.memoizedState=a;var c={value:a,getSnapshot:t};return s.queue=c,bd(id.bind(null,l,c,e),[e]),l.flags|=2048,Jn(9,{destroy:void 0},sd.bind(null,l,c,a,t),null),a},useId:function(){var e=pt(),t=Be.identifierPrefix;if(Ne){var a=sa,l=la;a=(l&~(1<<32-Dt(l)-1)).toString(32)+a,t="_"+t+"R_"+a,a=Is++,0<a&&(t+="H"+a.toString(32)),t+="_"}else a=ug++,t="_"+t+"r_"+a.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:fr,useFormState:xd,useActionState:xd,useOptimistic:function(e){var t=pt();t.memoizedState=t.baseState=e;var a={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=a,t=mr.bind(null,xe,!0,a),a.dispatch=t,[e,t]},useMemoCache:nr,useCacheRefresh:function(){return pt().memoizedState=xg.bind(null,xe)},useEffectEvent:function(e){var t=pt(),a={impl:e};return t.memoizedState=a,function(){if((Te&2)!==0)throw Error(o(440));return a.impl.apply(void 0,arguments)}}},hr={readContext:dt,use:ei,useCallback:zd,useContext:dt,useEffect:rr,useImperativeHandle:wd,useInsertionEffect:Sd,useLayoutEffect:Nd,useMemo:Td,useReducer:ti,useRef:vd,useState:function(){return ti(ya)},useDebugValue:ur,useDeferredValue:function(e,t){var a=Fe();return Ed(a,Oe.memoizedState,e,t)},useTransition:function(){var e=ti(ya)[0],t=Fe().memoizedState;return[typeof e=="boolean"?e:Ql(e),t]},useSyncExternalStore:nd,useId:Md,useHostTransitionStatus:fr,useFormState:gd,useActionState:gd,useOptimistic:function(e,t){var a=Fe();return ud(a,Oe,e,t)},useMemoCache:nr,useCacheRefresh:kd};hr.useEffectEvent=jd;var Hd={readContext:dt,use:ei,useCallback:zd,useContext:dt,useEffect:rr,useImperativeHandle:wd,useInsertionEffect:Sd,useLayoutEffect:Nd,useMemo:Td,useReducer:sr,useRef:vd,useState:function(){return sr(ya)},useDebugValue:ur,useDeferredValue:function(e,t){var a=Fe();return Oe===null?or(a,e,t):Ed(a,Oe.memoizedState,e,t)},useTransition:function(){var e=sr(ya)[0],t=Fe().memoizedState;return[typeof e=="boolean"?e:Ql(e),t]},useSyncExternalStore:nd,useId:Md,useHostTransitionStatus:fr,useFormState:yd,useActionState:yd,useOptimistic:function(e,t){var a=Fe();return Oe!==null?ud(a,Oe,e,t):(a.baseState=e,[e,a.queue.dispatch])},useMemoCache:nr,useCacheRefresh:kd};Hd.useEffectEvent=jd;function xr(e,t,a,l){t=e.memoizedState,a=a(l,t),a=a==null?t:E({},t,a),e.memoizedState=a,e.lanes===0&&(e.updateQueue.baseState=a)}var gr={enqueueSetState:function(e,t,a){e=e._reactInternals;var l=Bt(),s=Ba(l);s.payload=t,a!=null&&(s.callback=a),t=Ha(e,s,l),t!==null&&(wt(t,e,l),Hl(t,e,l))},enqueueReplaceState:function(e,t,a){e=e._reactInternals;var l=Bt(),s=Ba(l);s.tag=1,s.payload=t,a!=null&&(s.callback=a),t=Ha(e,s,l),t!==null&&(wt(t,e,l),Hl(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var a=Bt(),l=Ba(a);l.tag=2,t!=null&&(l.callback=t),t=Ha(e,l,a),t!==null&&(wt(t,e,a),Hl(t,e,a))}};function qd(e,t,a,l,s,c,u){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(l,c,u):t.prototype&&t.prototype.isPureReactComponent?!Dl(a,l)||!Dl(s,c):!0}function Ld(e,t,a,l){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(a,l),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(a,l),t.state!==e&&gr.enqueueReplaceState(t,t.state,null)}function vn(e,t){var a=t;if("ref"in t){a={};for(var l in t)l!=="ref"&&(a[l]=t[l])}if(e=e.defaultProps){a===t&&(a=E({},a));for(var s in e)a[s]===void 0&&(a[s]=e[s])}return a}function Gd(e){Us(e)}function Qd(e){console.error(e)}function Yd(e){Us(e)}function si(e,t){try{var a=e.onUncaughtError;a(t.value,{componentStack:t.stack})}catch(l){setTimeout(function(){throw l})}}function Vd(e,t,a){try{var l=e.onCaughtError;l(a.value,{componentStack:a.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(s){setTimeout(function(){throw s})}}function pr(e,t,a){return a=Ba(a),a.tag=3,a.payload={element:null},a.callback=function(){si(e,t)},a}function Xd(e){return e=Ba(e),e.tag=3,e}function Kd(e,t,a,l){var s=a.type.getDerivedStateFromError;if(typeof s=="function"){var c=l.value;e.payload=function(){return s(c)},e.callback=function(){Vd(t,a,l)}}var u=a.stateNode;u!==null&&typeof u.componentDidCatch=="function"&&(e.callback=function(){Vd(t,a,l),typeof s!="function"&&(Va===null?Va=new Set([this]):Va.add(this));var m=l.stack;this.componentDidCatch(l.value,{componentStack:m!==null?m:""})})}function pg(e,t,a,l,s){if(a.flags|=32768,l!==null&&typeof l=="object"&&typeof l.then=="function"){if(t=a.alternate,t!==null&&Gn(t,a,s,!0),a=kt.current,a!==null){switch(a.tag){case 31:case 13:return Xt===null?pi():a.alternate===null&&Ke===0&&(Ke=3),a.flags&=-257,a.flags|=65536,a.lanes=s,l===Ks?a.flags|=16384:(t=a.updateQueue,t===null?a.updateQueue=new Set([l]):t.add(l),Qr(e,l,s)),!1;case 22:return a.flags|=65536,l===Ks?a.flags|=16384:(t=a.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([l])},a.updateQueue=t):(a=t.retryQueue,a===null?t.retryQueue=new Set([l]):a.add(l)),Qr(e,l,s)),!1}throw Error(o(435,a.tag))}return Qr(e,l,s),pi(),!1}if(Ne)return t=kt.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=s,l!==Uc&&(e=Error(o(422),{cause:l}),kl(Gt(e,a)))):(l!==Uc&&(t=Error(o(423),{cause:l}),kl(Gt(t,a))),e=e.current.alternate,e.flags|=65536,s&=-s,e.lanes|=s,l=Gt(l,a),s=pr(e.stateNode,l,s),Zc(e,s),Ke!==4&&(Ke=2)),!1;var c=Error(o(520),{cause:l});if(c=Gt(c,a),Il===null?Il=[c]:Il.push(c),Ke!==4&&(Ke=2),t===null)return!0;l=Gt(l,a),a=t;do{switch(a.tag){case 3:return a.flags|=65536,e=s&-s,a.lanes|=e,e=pr(a.stateNode,l,e),Zc(a,e),!1;case 1:if(t=a.type,c=a.stateNode,(a.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||c!==null&&typeof c.componentDidCatch=="function"&&(Va===null||!Va.has(c))))return a.flags|=65536,s&=-s,a.lanes|=s,s=Xd(s),Kd(s,e,a,l),Zc(a,s),!1}a=a.return}while(a!==null);return!1}var yr=Error(o(461)),Pe=!1;function ft(e,t,a,l){t.child=e===null?$o(t,null,a,l):pn(t,e.child,a,l)}function Zd(e,t,a,l,s){a=a.render;var c=t.ref;if("ref"in l){var u={};for(var m in l)m!=="ref"&&(u[m]=l[m])}else u=l;return mn(t),l=Pc(e,t,a,u,c,s),m=er(),e!==null&&!Pe?(tr(e,t,s),va(e,t,s)):(Ne&&m&&Oc(t),t.flags|=1,ft(e,t,l,s),t.child)}function Fd(e,t,a,l,s){if(e===null){var c=a.type;return typeof c=="function"&&!_c(c)&&c.defaultProps===void 0&&a.compare===null?(t.tag=15,t.type=c,Jd(e,t,c,l,s)):(e=Ls(a.type,null,l,t,t.mode,s),e.ref=t.ref,e.return=t,t.child=e)}if(c=e.child,!zr(e,s)){var u=c.memoizedProps;if(a=a.compare,a=a!==null?a:Dl,a(u,l)&&e.ref===t.ref)return va(e,t,s)}return t.flags|=1,e=ma(c,l),e.ref=t.ref,e.return=t,t.child=e}function Jd(e,t,a,l,s){if(e!==null){var c=e.memoizedProps;if(Dl(c,l)&&e.ref===t.ref)if(Pe=!1,t.pendingProps=l=c,zr(e,s))(e.flags&131072)!==0&&(Pe=!0);else return t.lanes=e.lanes,va(e,t,s)}return vr(e,t,a,l,s)}function $d(e,t,a,l){var s=l.children,c=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),l.mode==="hidden"){if((t.flags&128)!==0){if(c=c!==null?c.baseLanes|a:a,e!==null){for(l=t.child=e.child,s=0;l!==null;)s=s|l.lanes|l.childLanes,l=l.sibling;l=s&~c}else l=0,t.child=null;return Wd(e,t,c,a,l)}if((a&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Vs(t,c!==null?c.cachePool:null),c!==null?Po(t,c):Jc(),ed(t);else return l=t.lanes=536870912,Wd(e,t,c!==null?c.baseLanes|a:a,a,l)}else c!==null?(Vs(t,c.cachePool),Po(t,c),La(),t.memoizedState=null):(e!==null&&Vs(t,null),Jc(),La());return ft(e,t,s,a),t.child}function Xl(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Wd(e,t,a,l,s){var c=Yc();return c=c===null?null:{parent:We._currentValue,pool:c},t.memoizedState={baseLanes:a,cachePool:c},e!==null&&Vs(t,null),Jc(),ed(t),e!==null&&Gn(e,t,l,!0),t.childLanes=s,null}function ii(e,t){return t=ri({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Id(e,t,a){return pn(t,e.child,null,a),e=ii(t,t.pendingProps),e.flags|=2,Ot(t),t.memoizedState=null,e}function yg(e,t,a){var l=t.pendingProps,s=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(Ne){if(l.mode==="hidden")return e=ii(t,l),t.lanes=536870912,Xl(null,e);if(Wc(t),(e=Le)?(e=dm(e,Vt),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:la,overflow:sa}:null,retryLane:536870912,hydrationErrors:null},a=Ro(e),a.return=t,t.child=a,ot=t,Le=null)):e=null,e===null)throw Oa(t);return t.lanes=536870912,null}return ii(t,l)}var c=e.memoizedState;if(c!==null){var u=c.dehydrated;if(Wc(t),s)if(t.flags&256)t.flags&=-257,t=Id(e,t,a);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(o(558));else if(Pe||Gn(e,t,a,!1),s=(a&e.childLanes)!==0,Pe||s){if(l=Be,l!==null&&(u=Gu(l,a),u!==0&&u!==c.retryLane))throw c.retryLane=u,un(e,u),wt(l,e,u),yr;pi(),t=Id(e,t,a)}else e=c.treeContext,Le=Kt(u.nextSibling),ot=t,Ne=!0,ka=null,Vt=!1,e!==null&&Ho(t,e),t=ii(t,l),t.flags|=4096;return t}return e=ma(e.child,{mode:l.mode,children:l.children}),e.ref=t.ref,t.child=e,e.return=t,e}function ci(e,t){var a=t.ref;if(a===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof a!="function"&&typeof a!="object")throw Error(o(284));(e===null||e.ref!==a)&&(t.flags|=4194816)}}function vr(e,t,a,l,s){return mn(t),a=Pc(e,t,a,l,void 0,s),l=er(),e!==null&&!Pe?(tr(e,t,s),va(e,t,s)):(Ne&&l&&Oc(t),t.flags|=1,ft(e,t,a,s),t.child)}function Pd(e,t,a,l,s,c){return mn(t),t.updateQueue=null,a=ad(t,l,a,s),td(e),l=er(),e!==null&&!Pe?(tr(e,t,c),va(e,t,c)):(Ne&&l&&Oc(t),t.flags|=1,ft(e,t,a,c),t.child)}function ef(e,t,a,l,s){if(mn(t),t.stateNode===null){var c=Bn,u=a.contextType;typeof u=="object"&&u!==null&&(c=dt(u)),c=new a(l,c),t.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=gr,t.stateNode=c,c._reactInternals=t,c=t.stateNode,c.props=l,c.state=t.memoizedState,c.refs={},Xc(t),u=a.contextType,c.context=typeof u=="object"&&u!==null?dt(u):Bn,c.state=t.memoizedState,u=a.getDerivedStateFromProps,typeof u=="function"&&(xr(t,a,u,l),c.state=t.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(u=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),u!==c.state&&gr.enqueueReplaceState(c,c.state,null),Ll(t,l,c,s),ql(),c.state=t.memoizedState),typeof c.componentDidMount=="function"&&(t.flags|=4194308),l=!0}else if(e===null){c=t.stateNode;var m=t.memoizedProps,j=vn(a,m);c.props=j;var k=c.context,Q=a.contextType;u=Bn,typeof Q=="object"&&Q!==null&&(u=dt(Q));var K=a.getDerivedStateFromProps;Q=typeof K=="function"||typeof c.getSnapshotBeforeUpdate=="function",m=t.pendingProps!==m,Q||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(m||k!==u)&&Ld(t,c,l,u),Ua=!1;var U=t.memoizedState;c.state=U,Ll(t,l,c,s),ql(),k=t.memoizedState,m||U!==k||Ua?(typeof K=="function"&&(xr(t,a,K,l),k=t.memoizedState),(j=Ua||qd(t,a,j,l,U,k,u))?(Q||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount()),typeof c.componentDidMount=="function"&&(t.flags|=4194308)):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=l,t.memoizedState=k),c.props=l,c.state=k,c.context=u,l=j):(typeof c.componentDidMount=="function"&&(t.flags|=4194308),l=!1)}else{c=t.stateNode,Kc(e,t),u=t.memoizedProps,Q=vn(a,u),c.props=Q,K=t.pendingProps,U=c.context,k=a.contextType,j=Bn,typeof k=="object"&&k!==null&&(j=dt(k)),m=a.getDerivedStateFromProps,(k=typeof m=="function"||typeof c.getSnapshotBeforeUpdate=="function")||typeof c.UNSAFE_componentWillReceiveProps!="function"&&typeof c.componentWillReceiveProps!="function"||(u!==K||U!==j)&&Ld(t,c,l,j),Ua=!1,U=t.memoizedState,c.state=U,Ll(t,l,c,s),ql();var q=t.memoizedState;u!==K||U!==q||Ua||e!==null&&e.dependencies!==null&&Qs(e.dependencies)?(typeof m=="function"&&(xr(t,a,m,l),q=t.memoizedState),(Q=Ua||qd(t,a,Q,l,U,q,j)||e!==null&&e.dependencies!==null&&Qs(e.dependencies))?(k||typeof c.UNSAFE_componentWillUpdate!="function"&&typeof c.componentWillUpdate!="function"||(typeof c.componentWillUpdate=="function"&&c.componentWillUpdate(l,q,j),typeof c.UNSAFE_componentWillUpdate=="function"&&c.UNSAFE_componentWillUpdate(l,q,j)),typeof c.componentDidUpdate=="function"&&(t.flags|=4),typeof c.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof c.componentDidUpdate!="function"||u===e.memoizedProps&&U===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&U===e.memoizedState||(t.flags|=1024),t.memoizedProps=l,t.memoizedState=q),c.props=l,c.state=q,c.context=j,l=Q):(typeof c.componentDidUpdate!="function"||u===e.memoizedProps&&U===e.memoizedState||(t.flags|=4),typeof c.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&U===e.memoizedState||(t.flags|=1024),l=!1)}return c=l,ci(e,t),l=(t.flags&128)!==0,c||l?(c=t.stateNode,a=l&&typeof a.getDerivedStateFromError!="function"?null:c.render(),t.flags|=1,e!==null&&l?(t.child=pn(t,e.child,null,s),t.child=pn(t,null,a,s)):ft(e,t,a,s),t.memoizedState=c.state,e=t.child):e=va(e,t,s),e}function tf(e,t,a,l){return dn(),t.flags|=256,ft(e,t,a,l),t.child}var br={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function jr(e){return{baseLanes:e,cachePool:Vo()}}function Sr(e,t,a){return e=e!==null?e.childLanes&~a:0,t&&(e|=Ut),e}function af(e,t,a){var l=t.pendingProps,s=!1,c=(t.flags&128)!==0,u;if((u=c)||(u=e!==null&&e.memoizedState===null?!1:(Ze.current&2)!==0),u&&(s=!0,t.flags&=-129),u=(t.flags&32)!==0,t.flags&=-33,e===null){if(Ne){if(s?qa(t):La(),(e=Le)?(e=dm(e,Vt),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Ma!==null?{id:la,overflow:sa}:null,retryLane:536870912,hydrationErrors:null},a=Ro(e),a.return=t,t.child=a,ot=t,Le=null)):e=null,e===null)throw Oa(t);return lu(e)?t.lanes=32:t.lanes=536870912,null}var m=l.children;return l=l.fallback,s?(La(),s=t.mode,m=ri({mode:"hidden",children:m},s),l=on(l,s,a,null),m.return=t,l.return=t,m.sibling=l,t.child=m,l=t.child,l.memoizedState=jr(a),l.childLanes=Sr(e,u,a),t.memoizedState=br,Xl(null,l)):(qa(t),Nr(t,m))}var j=e.memoizedState;if(j!==null&&(m=j.dehydrated,m!==null)){if(c)t.flags&256?(qa(t),t.flags&=-257,t=Cr(e,t,a)):t.memoizedState!==null?(La(),t.child=e.child,t.flags|=128,t=null):(La(),m=l.fallback,s=t.mode,l=ri({mode:"visible",children:l.children},s),m=on(m,s,a,null),m.flags|=2,l.return=t,m.return=t,l.sibling=m,t.child=l,pn(t,e.child,null,a),l=t.child,l.memoizedState=jr(a),l.childLanes=Sr(e,u,a),t.memoizedState=br,t=Xl(null,l));else if(qa(t),lu(m)){if(u=m.nextSibling&&m.nextSibling.dataset,u)var k=u.dgst;u=k,l=Error(o(419)),l.stack="",l.digest=u,kl({value:l,source:null,stack:null}),t=Cr(e,t,a)}else if(Pe||Gn(e,t,a,!1),u=(a&e.childLanes)!==0,Pe||u){if(u=Be,u!==null&&(l=Gu(u,a),l!==0&&l!==j.retryLane))throw j.retryLane=l,un(e,l),wt(u,e,l),yr;nu(m)||pi(),t=Cr(e,t,a)}else nu(m)?(t.flags|=192,t.child=e.child,t=null):(e=j.treeContext,Le=Kt(m.nextSibling),ot=t,Ne=!0,ka=null,Vt=!1,e!==null&&Ho(t,e),t=Nr(t,l.children),t.flags|=4096);return t}return s?(La(),m=l.fallback,s=t.mode,j=e.child,k=j.sibling,l=ma(j,{mode:"hidden",children:l.children}),l.subtreeFlags=j.subtreeFlags&65011712,k!==null?m=ma(k,m):(m=on(m,s,a,null),m.flags|=2),m.return=t,l.return=t,l.sibling=m,t.child=l,Xl(null,l),l=t.child,m=e.child.memoizedState,m===null?m=jr(a):(s=m.cachePool,s!==null?(j=We._currentValue,s=s.parent!==j?{parent:j,pool:j}:s):s=Vo(),m={baseLanes:m.baseLanes|a,cachePool:s}),l.memoizedState=m,l.childLanes=Sr(e,u,a),t.memoizedState=br,Xl(e.child,l)):(qa(t),a=e.child,e=a.sibling,a=ma(a,{mode:"visible",children:l.children}),a.return=t,a.sibling=null,e!==null&&(u=t.deletions,u===null?(t.deletions=[e],t.flags|=16):u.push(e)),t.child=a,t.memoizedState=null,a)}function Nr(e,t){return t=ri({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function ri(e,t){return e=Mt(22,e,null,t),e.lanes=0,e}function Cr(e,t,a){return pn(t,e.child,null,a),e=Nr(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function nf(e,t,a){e.lanes|=t;var l=e.alternate;l!==null&&(l.lanes|=t),qc(e.return,t,a)}function wr(e,t,a,l,s,c){var u=e.memoizedState;u===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:l,tail:a,tailMode:s,treeForkCount:c}:(u.isBackwards=t,u.rendering=null,u.renderingStartTime=0,u.last=l,u.tail=a,u.tailMode=s,u.treeForkCount=c)}function lf(e,t,a){var l=t.pendingProps,s=l.revealOrder,c=l.tail;l=l.children;var u=Ze.current,m=(u&2)!==0;if(m?(u=u&1|2,t.flags|=128):u&=1,se(Ze,u),ft(e,t,l,a),l=Ne?Ml:0,!m&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&nf(e,a,t);else if(e.tag===19)nf(e,a,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(s){case"forwards":for(a=t.child,s=null;a!==null;)e=a.alternate,e!==null&&$s(e)===null&&(s=a),a=a.sibling;a=s,a===null?(s=t.child,t.child=null):(s=a.sibling,a.sibling=null),wr(t,!1,s,a,c,l);break;case"backwards":case"unstable_legacy-backwards":for(a=null,s=t.child,t.child=null;s!==null;){if(e=s.alternate,e!==null&&$s(e)===null){t.child=s;break}e=s.sibling,s.sibling=a,a=s,s=e}wr(t,!0,a,null,c,l);break;case"together":wr(t,!1,null,null,void 0,l);break;default:t.memoizedState=null}return t.child}function va(e,t,a){if(e!==null&&(t.dependencies=e.dependencies),Ya|=t.lanes,(a&t.childLanes)===0)if(e!==null){if(Gn(e,t,a,!1),(a&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(o(153));if(t.child!==null){for(e=t.child,a=ma(e,e.pendingProps),t.child=a,a.return=t;e.sibling!==null;)e=e.sibling,a=a.sibling=ma(e,e.pendingProps),a.return=t;a.sibling=null}return t.child}function zr(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&Qs(e)))}function vg(e,t,a){switch(t.tag){case 3:zt(t,t.stateNode.containerInfo),Ra(t,We,e.memoizedState.cache),dn();break;case 27:case 5:oe(t);break;case 4:zt(t,t.stateNode.containerInfo);break;case 10:Ra(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Wc(t),null;break;case 13:var l=t.memoizedState;if(l!==null)return l.dehydrated!==null?(qa(t),t.flags|=128,null):(a&t.child.childLanes)!==0?af(e,t,a):(qa(t),e=va(e,t,a),e!==null?e.sibling:null);qa(t);break;case 19:var s=(e.flags&128)!==0;if(l=(a&t.childLanes)!==0,l||(Gn(e,t,a,!1),l=(a&t.childLanes)!==0),s){if(l)return lf(e,t,a);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),se(Ze,Ze.current),l)break;return null;case 22:return t.lanes=0,$d(e,t,a,t.pendingProps);case 24:Ra(t,We,e.memoizedState.cache)}return va(e,t,a)}function sf(e,t,a){if(e!==null)if(e.memoizedProps!==t.pendingProps)Pe=!0;else{if(!zr(e,a)&&(t.flags&128)===0)return Pe=!1,vg(e,t,a);Pe=(e.flags&131072)!==0}else Pe=!1,Ne&&(t.flags&1048576)!==0&&Bo(t,Ml,t.index);switch(t.lanes=0,t.tag){case 16:e:{var l=t.pendingProps;if(e=xn(t.elementType),t.type=e,typeof e=="function")_c(e)?(l=vn(e,l),t.tag=1,t=ef(null,t,e,l,a)):(t.tag=0,t=vr(null,t,e,l,a));else{if(e!=null){var s=e.$$typeof;if(s===G){t.tag=11,t=Zd(null,t,e,l,a);break e}else if(s===X){t.tag=14,t=Fd(null,t,e,l,a);break e}}throw t=F(e)||e,Error(o(306,t,""))}}return t;case 0:return vr(e,t,t.type,t.pendingProps,a);case 1:return l=t.type,s=vn(l,t.pendingProps),ef(e,t,l,s,a);case 3:e:{if(zt(t,t.stateNode.containerInfo),e===null)throw Error(o(387));l=t.pendingProps;var c=t.memoizedState;s=c.element,Kc(e,t),Ll(t,l,null,a);var u=t.memoizedState;if(l=u.cache,Ra(t,We,l),l!==c.cache&&Lc(t,[We],a,!0),ql(),l=u.element,c.isDehydrated)if(c={element:l,isDehydrated:!1,cache:u.cache},t.updateQueue.baseState=c,t.memoizedState=c,t.flags&256){t=tf(e,t,l,a);break e}else if(l!==s){s=Gt(Error(o(424)),t),kl(s),t=tf(e,t,l,a);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Le=Kt(e.firstChild),ot=t,Ne=!0,ka=null,Vt=!0,a=$o(t,null,l,a),t.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(dn(),l===s){t=va(e,t,a);break e}ft(e,t,l,a)}t=t.child}return t;case 26:return ci(e,t),e===null?(a=pm(t.type,null,t.pendingProps,null))?t.memoizedState=a:Ne||(a=t.type,e=t.pendingProps,l=Ci($e.current).createElement(a),l[ut]=t,l[vt]=e,mt(l,a,e),st(l),t.stateNode=l):t.memoizedState=pm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return oe(t),e===null&&Ne&&(l=t.stateNode=hm(t.type,t.pendingProps,$e.current),ot=t,Vt=!0,s=Le,Fa(t.type)?(su=s,Le=Kt(l.firstChild)):Le=s),ft(e,t,t.pendingProps.children,a),ci(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ne&&((s=l=Le)&&(l=Jg(l,t.type,t.pendingProps,Vt),l!==null?(t.stateNode=l,ot=t,Le=Kt(l.firstChild),Vt=!1,s=!0):s=!1),s||Oa(t)),oe(t),s=t.type,c=t.pendingProps,u=e!==null?e.memoizedProps:null,l=c.children,eu(s,c)?l=null:u!==null&&eu(s,u)&&(t.flags|=32),t.memoizedState!==null&&(s=Pc(e,t,og,null,null,a),is._currentValue=s),ci(e,t),ft(e,t,l,a),t.child;case 6:return e===null&&Ne&&((e=a=Le)&&(a=$g(a,t.pendingProps,Vt),a!==null?(t.stateNode=a,ot=t,Le=null,e=!0):e=!1),e||Oa(t)),null;case 13:return af(e,t,a);case 4:return zt(t,t.stateNode.containerInfo),l=t.pendingProps,e===null?t.child=pn(t,null,l,a):ft(e,t,l,a),t.child;case 11:return Zd(e,t,t.type,t.pendingProps,a);case 7:return ft(e,t,t.pendingProps,a),t.child;case 8:return ft(e,t,t.pendingProps.children,a),t.child;case 12:return ft(e,t,t.pendingProps.children,a),t.child;case 10:return l=t.pendingProps,Ra(t,t.type,l.value),ft(e,t,l.children,a),t.child;case 9:return s=t.type._context,l=t.pendingProps.children,mn(t),s=dt(s),l=l(s),t.flags|=1,ft(e,t,l,a),t.child;case 14:return Fd(e,t,t.type,t.pendingProps,a);case 15:return Jd(e,t,t.type,t.pendingProps,a);case 19:return lf(e,t,a);case 31:return yg(e,t,a);case 22:return $d(e,t,a,t.pendingProps);case 24:return mn(t),l=dt(We),e===null?(s=Yc(),s===null&&(s=Be,c=Gc(),s.pooledCache=c,c.refCount++,c!==null&&(s.pooledCacheLanes|=a),s=c),t.memoizedState={parent:l,cache:s},Xc(t),Ra(t,We,s)):((e.lanes&a)!==0&&(Kc(e,t),Ll(t,null,null,a),ql()),s=e.memoizedState,c=t.memoizedState,s.parent!==l?(s={parent:l,cache:l},t.memoizedState=s,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=s),Ra(t,We,l)):(l=c.cache,Ra(t,We,l),l!==s.cache&&Lc(t,[We],a,!0))),ft(e,t,t.pendingProps.children,a),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function ba(e){e.flags|=4}function Tr(e,t,a,l,s){if((t=(e.mode&32)!==0)&&(t=!1),t){if(e.flags|=16777216,(s&335544128)===s)if(e.stateNode.complete)e.flags|=8192;else if(kf())e.flags|=8192;else throw gn=Ks,Vc}else e.flags&=-16777217}function cf(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Sm(t))if(kf())e.flags|=8192;else throw gn=Ks,Vc}function ui(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?Hu():536870912,e.lanes|=t,Pn|=t)}function Kl(e,t){if(!Ne)switch(e.tailMode){case"hidden":t=e.tail;for(var a=null;t!==null;)t.alternate!==null&&(a=t),t=t.sibling;a===null?e.tail=null:a.sibling=null;break;case"collapsed":a=e.tail;for(var l=null;a!==null;)a.alternate!==null&&(l=a),a=a.sibling;l===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:l.sibling=null}}function Ge(e){var t=e.alternate!==null&&e.alternate.child===e.child,a=0,l=0;if(t)for(var s=e.child;s!==null;)a|=s.lanes|s.childLanes,l|=s.subtreeFlags&65011712,l|=s.flags&65011712,s.return=e,s=s.sibling;else for(s=e.child;s!==null;)a|=s.lanes|s.childLanes,l|=s.subtreeFlags,l|=s.flags,s.return=e,s=s.sibling;return e.subtreeFlags|=l,e.childLanes=a,t}function bg(e,t,a){var l=t.pendingProps;switch(Rc(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ge(t),null;case 1:return Ge(t),null;case 3:return a=t.stateNode,l=null,e!==null&&(l=e.memoizedState.cache),t.memoizedState.cache!==l&&(t.flags|=2048),ga(We),ne(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),(e===null||e.child===null)&&(Ln(t)?ba(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Bc())),Ge(t),null;case 26:var s=t.type,c=t.memoizedState;return e===null?(ba(t),c!==null?(Ge(t),cf(t,c)):(Ge(t),Tr(t,s,null,l,a))):c?c!==e.memoizedState?(ba(t),Ge(t),cf(t,c)):(Ge(t),t.flags&=-16777217):(e=e.memoizedProps,e!==l&&ba(t),Ge(t),Tr(t,s,e,l,a)),null;case 27:if(ke(t),a=$e.current,s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&ba(t);else{if(!l){if(t.stateNode===null)throw Error(o(166));return Ge(t),null}e=fe.current,Ln(t)?qo(t):(e=hm(s,l,a),t.stateNode=e,ba(t))}return Ge(t),null;case 5:if(ke(t),s=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==l&&ba(t);else{if(!l){if(t.stateNode===null)throw Error(o(166));return Ge(t),null}if(c=fe.current,Ln(t))qo(t);else{var u=Ci($e.current);switch(c){case 1:c=u.createElementNS("http://www.w3.org/2000/svg",s);break;case 2:c=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;default:switch(s){case"svg":c=u.createElementNS("http://www.w3.org/2000/svg",s);break;case"math":c=u.createElementNS("http://www.w3.org/1998/Math/MathML",s);break;case"script":c=u.createElement("div"),c.innerHTML="<script><\/script>",c=c.removeChild(c.firstChild);break;case"select":c=typeof l.is=="string"?u.createElement("select",{is:l.is}):u.createElement("select"),l.multiple?c.multiple=!0:l.size&&(c.size=l.size);break;default:c=typeof l.is=="string"?u.createElement(s,{is:l.is}):u.createElement(s)}}c[ut]=t,c[vt]=l;e:for(u=t.child;u!==null;){if(u.tag===5||u.tag===6)c.appendChild(u.stateNode);else if(u.tag!==4&&u.tag!==27&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===t)break e;for(;u.sibling===null;){if(u.return===null||u.return===t)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}t.stateNode=c;e:switch(mt(c,s,l),s){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}l&&ba(t)}}return Ge(t),Tr(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==l&&ba(t);else{if(typeof l!="string"&&t.stateNode===null)throw Error(o(166));if(e=$e.current,Ln(t)){if(e=t.stateNode,a=t.memoizedProps,l=null,s=ot,s!==null)switch(s.tag){case 27:case 5:l=s.memoizedProps}e[ut]=t,e=!!(e.nodeValue===a||l!==null&&l.suppressHydrationWarning===!0||nm(e.nodeValue,a)),e||Oa(t,!0)}else e=Ci(e).createTextNode(l),e[ut]=t,t.stateNode=e}return Ge(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(l=Ln(t),a!==null){if(e===null){if(!l)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[ut]=t}else dn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ge(t),e=!1}else a=Bc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(Ot(t),t):(Ot(t),null);if((t.flags&128)!==0)throw Error(o(558))}return Ge(t),null;case 13:if(l=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(s=Ln(t),l!==null&&l.dehydrated!==null){if(e===null){if(!s)throw Error(o(318));if(s=t.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(o(317));s[ut]=t}else dn(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Ge(t),s=!1}else s=Bc(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=s),s=!0;if(!s)return t.flags&256?(Ot(t),t):(Ot(t),null)}return Ot(t),(t.flags&128)!==0?(t.lanes=a,t):(a=l!==null,e=e!==null&&e.memoizedState!==null,a&&(l=t.child,s=null,l.alternate!==null&&l.alternate.memoizedState!==null&&l.alternate.memoizedState.cachePool!==null&&(s=l.alternate.memoizedState.cachePool.pool),c=null,l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(c=l.memoizedState.cachePool.pool),c!==s&&(l.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),ui(t,t.updateQueue),Ge(t),null);case 4:return ne(),e===null&&Jr(t.stateNode.containerInfo),Ge(t),null;case 10:return ga(t.type),Ge(t),null;case 19:if(ae(Ze),l=t.memoizedState,l===null)return Ge(t),null;if(s=(t.flags&128)!==0,c=l.rendering,c===null)if(s)Kl(l,!1);else{if(Ke!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(c=$s(e),c!==null){for(t.flags|=128,Kl(l,!1),e=c.updateQueue,t.updateQueue=e,ui(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)Oo(a,e),a=a.sibling;return se(Ze,Ze.current&1|2),Ne&&ha(t,l.treeForkCount),t.child}e=e.sibling}l.tail!==null&&Et()>hi&&(t.flags|=128,s=!0,Kl(l,!1),t.lanes=4194304)}else{if(!s)if(e=$s(c),e!==null){if(t.flags|=128,s=!0,e=e.updateQueue,t.updateQueue=e,ui(t,e),Kl(l,!0),l.tail===null&&l.tailMode==="hidden"&&!c.alternate&&!Ne)return Ge(t),null}else 2*Et()-l.renderingStartTime>hi&&a!==536870912&&(t.flags|=128,s=!0,Kl(l,!1),t.lanes=4194304);l.isBackwards?(c.sibling=t.child,t.child=c):(e=l.last,e!==null?e.sibling=c:t.child=c,l.last=c)}return l.tail!==null?(e=l.tail,l.rendering=e,l.tail=e.sibling,l.renderingStartTime=Et(),e.sibling=null,a=Ze.current,se(Ze,s?a&1|2:a&1),Ne&&ha(t,l.treeForkCount),e):(Ge(t),null);case 22:case 23:return Ot(t),$c(),l=t.memoizedState!==null,e!==null?e.memoizedState!==null!==l&&(t.flags|=8192):l&&(t.flags|=8192),l?(a&536870912)!==0&&(t.flags&128)===0&&(Ge(t),t.subtreeFlags&6&&(t.flags|=8192)):Ge(t),a=t.updateQueue,a!==null&&ui(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),l=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),l!==a&&(t.flags|=2048),e!==null&&ae(hn),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),ga(We),Ge(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function jg(e,t){switch(Rc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ga(We),ne(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ke(t),null;case 31:if(t.memoizedState!==null){if(Ot(t),t.alternate===null)throw Error(o(340));dn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Ot(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));dn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ae(Ze),null;case 4:return ne(),null;case 10:return ga(t.type),null;case 22:case 23:return Ot(t),$c(),e!==null&&ae(hn),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ga(We),null;case 25:return null;default:return null}}function rf(e,t){switch(Rc(t),t.tag){case 3:ga(We),ne();break;case 26:case 27:case 5:ke(t);break;case 4:ne();break;case 31:t.memoizedState!==null&&Ot(t);break;case 13:Ot(t);break;case 19:ae(Ze);break;case 10:ga(t.type);break;case 22:case 23:Ot(t),$c(),e!==null&&ae(hn);break;case 24:ga(We)}}function Zl(e,t){try{var a=t.updateQueue,l=a!==null?a.lastEffect:null;if(l!==null){var s=l.next;a=s;do{if((a.tag&e)===e){l=void 0;var c=a.create,u=a.inst;l=c(),u.destroy=l}a=a.next}while(a!==s)}}catch(m){De(t,t.return,m)}}function Ga(e,t,a){try{var l=t.updateQueue,s=l!==null?l.lastEffect:null;if(s!==null){var c=s.next;l=c;do{if((l.tag&e)===e){var u=l.inst,m=u.destroy;if(m!==void 0){u.destroy=void 0,s=t;var j=a,k=m;try{k()}catch(Q){De(s,j,Q)}}}l=l.next}while(l!==c)}}catch(Q){De(t,t.return,Q)}}function uf(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{Io(t,a)}catch(l){De(e,e.return,l)}}}function of(e,t,a){a.props=vn(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(l){De(e,t,l)}}function Fl(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var l=e.stateNode;break;case 30:l=e.stateNode;break;default:l=e.stateNode}typeof a=="function"?e.refCleanup=a(l):a.current=l}}catch(s){De(e,t,s)}}function ia(e,t){var a=e.ref,l=e.refCleanup;if(a!==null)if(typeof l=="function")try{l()}catch(s){De(e,t,s)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(s){De(e,t,s)}else a.current=null}function df(e){var t=e.type,a=e.memoizedProps,l=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&l.focus();break e;case"img":a.src?l.src=a.src:a.srcSet&&(l.srcset=a.srcSet)}}catch(s){De(e,e.return,s)}}function Er(e,t,a){try{var l=e.stateNode;Yg(l,e.type,a,t),l[vt]=t}catch(s){De(e,e.return,s)}}function ff(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Fa(e.type)||e.tag===4}function Ar(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ff(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Fa(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Dr(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=da));else if(l!==4&&(l===27&&Fa(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Dr(e,t,a),e=e.sibling;e!==null;)Dr(e,t,a),e=e.sibling}function oi(e,t,a){var l=e.tag;if(l===5||l===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(l!==4&&(l===27&&Fa(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(oi(e,t,a),e=e.sibling;e!==null;)oi(e,t,a),e=e.sibling}function mf(e){var t=e.stateNode,a=e.memoizedProps;try{for(var l=e.type,s=t.attributes;s.length;)t.removeAttributeNode(s[0]);mt(t,l,a),t[ut]=e,t[vt]=a}catch(c){De(e,e.return,c)}}var ja=!1,et=!1,_r=!1,hf=typeof WeakSet=="function"?WeakSet:Set,it=null;function Sg(e,t){if(e=e.containerInfo,Ir=_i,e=wo(e),Cc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var l=a.getSelection&&a.getSelection();if(l&&l.rangeCount!==0){a=l.anchorNode;var s=l.anchorOffset,c=l.focusNode;l=l.focusOffset;try{a.nodeType,c.nodeType}catch{a=null;break e}var u=0,m=-1,j=-1,k=0,Q=0,K=e,U=null;t:for(;;){for(var q;K!==a||s!==0&&K.nodeType!==3||(m=u+s),K!==c||l!==0&&K.nodeType!==3||(j=u+l),K.nodeType===3&&(u+=K.nodeValue.length),(q=K.firstChild)!==null;)U=K,K=q;for(;;){if(K===e)break t;if(U===a&&++k===s&&(m=u),U===c&&++Q===l&&(j=u),(q=K.nextSibling)!==null)break;K=U,U=K.parentNode}K=q}a=m===-1||j===-1?null:{start:m,end:j}}else a=null}a=a||{start:0,end:0}}else a=null;for(Pr={focusedElem:e,selectionRange:a},_i=!1,it=t;it!==null;)if(t=it,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,it=e;else for(;it!==null;){switch(t=it,c=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a<e.length;a++)s=e[a],s.ref.impl=s.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&c!==null){e=void 0,a=t,s=c.memoizedProps,c=c.memoizedState,l=a.stateNode;try{var ie=vn(a.type,s);e=l.getSnapshotBeforeUpdate(ie,c),l.__reactInternalSnapshotBeforeUpdate=e}catch(de){De(a,a.return,de)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,a=e.nodeType,a===9)au(e);else if(a===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":au(e);break;default:e.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((e&1024)!==0)throw Error(o(163))}if(e=t.sibling,e!==null){e.return=t.return,it=e;break}it=t.return}}function xf(e,t,a){var l=a.flags;switch(a.tag){case 0:case 11:case 15:Na(e,a),l&4&&Zl(5,a);break;case 1:if(Na(e,a),l&4)if(e=a.stateNode,t===null)try{e.componentDidMount()}catch(u){De(a,a.return,u)}else{var s=vn(a.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(s,t,e.__reactInternalSnapshotBeforeUpdate)}catch(u){De(a,a.return,u)}}l&64&&uf(a),l&512&&Fl(a,a.return);break;case 3:if(Na(e,a),l&64&&(e=a.updateQueue,e!==null)){if(t=null,a.child!==null)switch(a.child.tag){case 27:case 5:t=a.child.stateNode;break;case 1:t=a.child.stateNode}try{Io(e,t)}catch(u){De(a,a.return,u)}}break;case 27:t===null&&l&4&&mf(a);case 26:case 5:Na(e,a),t===null&&l&4&&df(a),l&512&&Fl(a,a.return);break;case 12:Na(e,a);break;case 31:Na(e,a),l&4&&yf(e,a);break;case 13:Na(e,a),l&4&&vf(e,a),l&64&&(e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(a=_g.bind(null,a),Wg(e,a))));break;case 22:if(l=a.memoizedState!==null||ja,!l){t=t!==null&&t.memoizedState!==null||et,s=ja;var c=et;ja=l,(et=t)&&!c?Ca(e,a,(a.subtreeFlags&8772)!==0):Na(e,a),ja=s,et=c}break;case 30:break;default:Na(e,a)}}function gf(e){var t=e.alternate;t!==null&&(e.alternate=null,gf(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&cc(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ye=null,jt=!1;function Sa(e,t,a){for(a=a.child;a!==null;)pf(e,t,a),a=a.sibling}function pf(e,t,a){if(At&&typeof At.onCommitFiberUnmount=="function")try{At.onCommitFiberUnmount(yl,a)}catch{}switch(a.tag){case 26:et||ia(a,t),Sa(e,t,a),a.memoizedState?a.memoizedState.count--:a.stateNode&&(a=a.stateNode,a.parentNode.removeChild(a));break;case 27:et||ia(a,t);var l=Ye,s=jt;Fa(a.type)&&(Ye=a.stateNode,jt=!1),Sa(e,t,a),ns(a.stateNode),Ye=l,jt=s;break;case 5:et||ia(a,t);case 6:if(l=Ye,s=jt,Ye=null,Sa(e,t,a),Ye=l,jt=s,Ye!==null)if(jt)try{(Ye.nodeType===9?Ye.body:Ye.nodeName==="HTML"?Ye.ownerDocument.body:Ye).removeChild(a.stateNode)}catch(c){De(a,t,c)}else try{Ye.removeChild(a.stateNode)}catch(c){De(a,t,c)}break;case 18:Ye!==null&&(jt?(e=Ye,um(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,a.stateNode),cl(e)):um(Ye,a.stateNode));break;case 4:l=Ye,s=jt,Ye=a.stateNode.containerInfo,jt=!0,Sa(e,t,a),Ye=l,jt=s;break;case 0:case 11:case 14:case 15:Ga(2,a,t),et||Ga(4,a,t),Sa(e,t,a);break;case 1:et||(ia(a,t),l=a.stateNode,typeof l.componentWillUnmount=="function"&&of(a,t,l)),Sa(e,t,a);break;case 21:Sa(e,t,a);break;case 22:et=(l=et)||a.memoizedState!==null,Sa(e,t,a),et=l;break;default:Sa(e,t,a)}}function yf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{cl(e)}catch(a){De(t,t.return,a)}}}function vf(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{cl(e)}catch(a){De(t,t.return,a)}}function Ng(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new hf),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new hf),t;default:throw Error(o(435,e.tag))}}function di(e,t){var a=Ng(e);t.forEach(function(l){if(!a.has(l)){a.add(l);var s=Mg.bind(null,e,l);l.then(s,s)}})}function St(e,t){var a=t.deletions;if(a!==null)for(var l=0;l<a.length;l++){var s=a[l],c=e,u=t,m=u;e:for(;m!==null;){switch(m.tag){case 27:if(Fa(m.type)){Ye=m.stateNode,jt=!1;break e}break;case 5:Ye=m.stateNode,jt=!1;break e;case 3:case 4:Ye=m.stateNode.containerInfo,jt=!0;break e}m=m.return}if(Ye===null)throw Error(o(160));pf(c,u,s),Ye=null,jt=!1,c=s.alternate,c!==null&&(c.return=null),s.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)bf(t,e),t=t.sibling}var Wt=null;function bf(e,t){var a=e.alternate,l=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:St(t,e),Nt(e),l&4&&(Ga(3,e,e.return),Zl(3,e),Ga(5,e,e.return));break;case 1:St(t,e),Nt(e),l&512&&(et||a===null||ia(a,a.return)),l&64&&ja&&(e=e.updateQueue,e!==null&&(l=e.callbacks,l!==null&&(a=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=a===null?l:a.concat(l))));break;case 26:var s=Wt;if(St(t,e),Nt(e),l&512&&(et||a===null||ia(a,a.return)),l&4){var c=a!==null?a.memoizedState:null;if(l=e.memoizedState,a===null)if(l===null)if(e.stateNode===null){e:{l=e.type,a=e.memoizedProps,s=s.ownerDocument||s;t:switch(l){case"title":c=s.getElementsByTagName("title")[0],(!c||c[jl]||c[ut]||c.namespaceURI==="http://www.w3.org/2000/svg"||c.hasAttribute("itemprop"))&&(c=s.createElement(l),s.head.insertBefore(c,s.querySelector("head > title"))),mt(c,l,a),c[ut]=e,st(c),l=c;break e;case"link":var u=bm("link","href",s).get(l+(a.href||""));if(u){for(var m=0;m<u.length;m++)if(c=u[m],c.getAttribute("href")===(a.href==null||a.href===""?null:a.href)&&c.getAttribute("rel")===(a.rel==null?null:a.rel)&&c.getAttribute("title")===(a.title==null?null:a.title)&&c.getAttribute("crossorigin")===(a.crossOrigin==null?null:a.crossOrigin)){u.splice(m,1);break t}}c=s.createElement(l),mt(c,l,a),s.head.appendChild(c);break;case"meta":if(u=bm("meta","content",s).get(l+(a.content||""))){for(m=0;m<u.length;m++)if(c=u[m],c.getAttribute("content")===(a.content==null?null:""+a.content)&&c.getAttribute("name")===(a.name==null?null:a.name)&&c.getAttribute("property")===(a.property==null?null:a.property)&&c.getAttribute("http-equiv")===(a.httpEquiv==null?null:a.httpEquiv)&&c.getAttribute("charset")===(a.charSet==null?null:a.charSet)){u.splice(m,1);break t}}c=s.createElement(l),mt(c,l,a),s.head.appendChild(c);break;default:throw Error(o(468,l))}c[ut]=e,st(c),l=c}e.stateNode=l}else jm(s,e.type,e.stateNode);else e.stateNode=vm(s,l,e.memoizedProps);else c!==l?(c===null?a.stateNode!==null&&(a=a.stateNode,a.parentNode.removeChild(a)):c.count--,l===null?jm(s,e.type,e.stateNode):vm(s,l,e.memoizedProps)):l===null&&e.stateNode!==null&&Er(e,e.memoizedProps,a.memoizedProps)}break;case 27:St(t,e),Nt(e),l&512&&(et||a===null||ia(a,a.return)),a!==null&&l&4&&Er(e,e.memoizedProps,a.memoizedProps);break;case 5:if(St(t,e),Nt(e),l&512&&(et||a===null||ia(a,a.return)),e.flags&32){s=e.stateNode;try{Dn(s,"")}catch(ie){De(e,e.return,ie)}}l&4&&e.stateNode!=null&&(s=e.memoizedProps,Er(e,s,a!==null?a.memoizedProps:s)),l&1024&&(_r=!0);break;case 6:if(St(t,e),Nt(e),l&4){if(e.stateNode===null)throw Error(o(162));l=e.memoizedProps,a=e.stateNode;try{a.nodeValue=l}catch(ie){De(e,e.return,ie)}}break;case 3:if(Ti=null,s=Wt,Wt=wi(t.containerInfo),St(t,e),Wt=s,Nt(e),l&4&&a!==null&&a.memoizedState.isDehydrated)try{cl(t.containerInfo)}catch(ie){De(e,e.return,ie)}_r&&(_r=!1,jf(e));break;case 4:l=Wt,Wt=wi(e.stateNode.containerInfo),St(t,e),Nt(e),Wt=l;break;case 12:St(t,e),Nt(e);break;case 31:St(t,e),Nt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,di(e,l)));break;case 13:St(t,e),Nt(e),e.child.flags&8192&&e.memoizedState!==null!=(a!==null&&a.memoizedState!==null)&&(mi=Et()),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,di(e,l)));break;case 22:s=e.memoizedState!==null;var j=a!==null&&a.memoizedState!==null,k=ja,Q=et;if(ja=k||s,et=Q||j,St(t,e),et=Q,ja=k,Nt(e),l&8192)e:for(t=e.stateNode,t._visibility=s?t._visibility&-2:t._visibility|1,s&&(a===null||j||ja||et||bn(e)),a=null,t=e;;){if(t.tag===5||t.tag===26){if(a===null){j=a=t;try{if(c=j.stateNode,s)u=c.style,typeof u.setProperty=="function"?u.setProperty("display","none","important"):u.display="none";else{m=j.stateNode;var K=j.memoizedProps.style,U=K!=null&&K.hasOwnProperty("display")?K.display:null;m.style.display=U==null||typeof U=="boolean"?"":(""+U).trim()}}catch(ie){De(j,j.return,ie)}}}else if(t.tag===6){if(a===null){j=t;try{j.stateNode.nodeValue=s?"":j.memoizedProps}catch(ie){De(j,j.return,ie)}}}else if(t.tag===18){if(a===null){j=t;try{var q=j.stateNode;s?om(q,!0):om(j.stateNode,!1)}catch(ie){De(j,j.return,ie)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;a===t&&(a=null),t=t.return}a===t&&(a=null),t.sibling.return=t.return,t=t.sibling}l&4&&(l=e.updateQueue,l!==null&&(a=l.retryQueue,a!==null&&(l.retryQueue=null,di(e,a))));break;case 19:St(t,e),Nt(e),l&4&&(l=e.updateQueue,l!==null&&(e.updateQueue=null,di(e,l)));break;case 30:break;case 21:break;default:St(t,e),Nt(e)}}function Nt(e){var t=e.flags;if(t&2){try{for(var a,l=e.return;l!==null;){if(ff(l)){a=l;break}l=l.return}if(a==null)throw Error(o(160));switch(a.tag){case 27:var s=a.stateNode,c=Ar(e);oi(e,c,s);break;case 5:var u=a.stateNode;a.flags&32&&(Dn(u,""),a.flags&=-33);var m=Ar(e);oi(e,m,u);break;case 3:case 4:var j=a.stateNode.containerInfo,k=Ar(e);Dr(e,k,j);break;default:throw Error(o(161))}}catch(Q){De(e,e.return,Q)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function jf(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;jf(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Na(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)xf(e,t.alternate,t),t=t.sibling}function bn(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ga(4,t,t.return),bn(t);break;case 1:ia(t,t.return);var a=t.stateNode;typeof a.componentWillUnmount=="function"&&of(t,t.return,a),bn(t);break;case 27:ns(t.stateNode);case 26:case 5:ia(t,t.return),bn(t);break;case 22:t.memoizedState===null&&bn(t);break;case 30:bn(t);break;default:bn(t)}e=e.sibling}}function Ca(e,t,a){for(a=a&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var l=t.alternate,s=e,c=t,u=c.flags;switch(c.tag){case 0:case 11:case 15:Ca(s,c,a),Zl(4,c);break;case 1:if(Ca(s,c,a),l=c,s=l.stateNode,typeof s.componentDidMount=="function")try{s.componentDidMount()}catch(k){De(l,l.return,k)}if(l=c,s=l.updateQueue,s!==null){var m=l.stateNode;try{var j=s.shared.hiddenCallbacks;if(j!==null)for(s.shared.hiddenCallbacks=null,s=0;s<j.length;s++)Wo(j[s],m)}catch(k){De(l,l.return,k)}}a&&u&64&&uf(c),Fl(c,c.return);break;case 27:mf(c);case 26:case 5:Ca(s,c,a),a&&l===null&&u&4&&df(c),Fl(c,c.return);break;case 12:Ca(s,c,a);break;case 31:Ca(s,c,a),a&&u&4&&yf(s,c);break;case 13:Ca(s,c,a),a&&u&4&&vf(s,c);break;case 22:c.memoizedState===null&&Ca(s,c,a),Fl(c,c.return);break;case 30:break;default:Ca(s,c,a)}t=t.sibling}}function Mr(e,t){var a=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==a&&(e!=null&&e.refCount++,a!=null&&Ol(a))}function kr(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ol(e))}function It(e,t,a,l){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Sf(e,t,a,l),t=t.sibling}function Sf(e,t,a,l){var s=t.flags;switch(t.tag){case 0:case 11:case 15:It(e,t,a,l),s&2048&&Zl(9,t);break;case 1:It(e,t,a,l);break;case 3:It(e,t,a,l),s&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Ol(e)));break;case 12:if(s&2048){It(e,t,a,l),e=t.stateNode;try{var c=t.memoizedProps,u=c.id,m=c.onPostCommit;typeof m=="function"&&m(u,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(j){De(t,t.return,j)}}else It(e,t,a,l);break;case 31:It(e,t,a,l);break;case 13:It(e,t,a,l);break;case 23:break;case 22:c=t.stateNode,u=t.alternate,t.memoizedState!==null?c._visibility&2?It(e,t,a,l):Jl(e,t):c._visibility&2?It(e,t,a,l):(c._visibility|=2,$n(e,t,a,l,(t.subtreeFlags&10256)!==0||!1)),s&2048&&Mr(u,t);break;case 24:It(e,t,a,l),s&2048&&kr(t.alternate,t);break;default:It(e,t,a,l)}}function $n(e,t,a,l,s){for(s=s&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var c=e,u=t,m=a,j=l,k=u.flags;switch(u.tag){case 0:case 11:case 15:$n(c,u,m,j,s),Zl(8,u);break;case 23:break;case 22:var Q=u.stateNode;u.memoizedState!==null?Q._visibility&2?$n(c,u,m,j,s):Jl(c,u):(Q._visibility|=2,$n(c,u,m,j,s)),s&&k&2048&&Mr(u.alternate,u);break;case 24:$n(c,u,m,j,s),s&&k&2048&&kr(u.alternate,u);break;default:$n(c,u,m,j,s)}t=t.sibling}}function Jl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var a=e,l=t,s=l.flags;switch(l.tag){case 22:Jl(a,l),s&2048&&Mr(l.alternate,l);break;case 24:Jl(a,l),s&2048&&kr(l.alternate,l);break;default:Jl(a,l)}t=t.sibling}}var $l=8192;function Wn(e,t,a){if(e.subtreeFlags&$l)for(e=e.child;e!==null;)Nf(e,t,a),e=e.sibling}function Nf(e,t,a){switch(e.tag){case 26:Wn(e,t,a),e.flags&$l&&e.memoizedState!==null&&up(a,Wt,e.memoizedState,e.memoizedProps);break;case 5:Wn(e,t,a);break;case 3:case 4:var l=Wt;Wt=wi(e.stateNode.containerInfo),Wn(e,t,a),Wt=l;break;case 22:e.memoizedState===null&&(l=e.alternate,l!==null&&l.memoizedState!==null?(l=$l,$l=16777216,Wn(e,t,a),$l=l):Wn(e,t,a));break;default:Wn(e,t,a)}}function Cf(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Wl(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];it=l,zf(l,e)}Cf(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)wf(e),e=e.sibling}function wf(e){switch(e.tag){case 0:case 11:case 15:Wl(e),e.flags&2048&&Ga(9,e,e.return);break;case 3:Wl(e);break;case 12:Wl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,fi(e)):Wl(e);break;default:Wl(e)}}function fi(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var a=0;a<t.length;a++){var l=t[a];it=l,zf(l,e)}Cf(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ga(8,t,t.return),fi(t);break;case 22:a=t.stateNode,a._visibility&2&&(a._visibility&=-3,fi(t));break;default:fi(t)}e=e.sibling}}function zf(e,t){for(;it!==null;){var a=it;switch(a.tag){case 0:case 11:case 15:Ga(8,a,t);break;case 23:case 22:if(a.memoizedState!==null&&a.memoizedState.cachePool!==null){var l=a.memoizedState.cachePool.pool;l!=null&&l.refCount++}break;case 24:Ol(a.memoizedState.cache)}if(l=a.child,l!==null)l.return=a,it=l;else e:for(a=e;it!==null;){l=it;var s=l.sibling,c=l.return;if(gf(l),l===a){it=null;break e}if(s!==null){s.return=c,it=s;break e}it=c}}}var Cg={getCacheForType:function(e){var t=dt(We),a=t.data.get(e);return a===void 0&&(a=e(),t.data.set(e,a)),a},cacheSignal:function(){return dt(We).controller.signal}},wg=typeof WeakMap=="function"?WeakMap:Map,Te=0,Be=null,ye=null,be=0,Ae=0,Rt=null,Qa=!1,In=!1,Or=!1,wa=0,Ke=0,Ya=0,jn=0,Rr=0,Ut=0,Pn=0,Il=null,Ct=null,Ur=!1,mi=0,Tf=0,hi=1/0,xi=null,Va=null,at=0,Xa=null,el=null,za=0,Br=0,Hr=null,Ef=null,Pl=0,qr=null;function Bt(){return(Te&2)!==0&&be!==0?be&-be:y.T!==null?Xr():Qu()}function Af(){if(Ut===0)if((be&536870912)===0||Ne){var e=Ns;Ns<<=1,(Ns&3932160)===0&&(Ns=262144),Ut=e}else Ut=536870912;return e=kt.current,e!==null&&(e.flags|=32),Ut}function wt(e,t,a){(e===Be&&(Ae===2||Ae===9)||e.cancelPendingCommit!==null)&&(tl(e,0),Ka(e,be,Ut,!1)),bl(e,a),((Te&2)===0||e!==Be)&&(e===Be&&((Te&2)===0&&(jn|=a),Ke===4&&Ka(e,be,Ut,!1)),ca(e))}function Df(e,t,a){if((Te&6)!==0)throw Error(o(327));var l=!a&&(t&127)===0&&(t&e.expiredLanes)===0||vl(e,t),s=l?Eg(e,t):Gr(e,t,!0),c=l;do{if(s===0){In&&!l&&Ka(e,t,0,!1);break}else{if(a=e.current.alternate,c&&!zg(a)){s=Gr(e,t,!1),c=!1;continue}if(s===2){if(c=t,e.errorRecoveryDisabledLanes&c)var u=0;else u=e.pendingLanes&-536870913,u=u!==0?u:u&536870912?536870912:0;if(u!==0){t=u;e:{var m=e;s=Il;var j=m.current.memoizedState.isDehydrated;if(j&&(tl(m,u).flags|=256),u=Gr(m,u,!1),u!==2){if(Or&&!j){m.errorRecoveryDisabledLanes|=c,jn|=c,s=4;break e}c=Ct,Ct=s,c!==null&&(Ct===null?Ct=c:Ct.push.apply(Ct,c))}s=u}if(c=!1,s!==2)continue}}if(s===1){tl(e,0),Ka(e,t,0,!0);break}e:{switch(l=e,c=s,c){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:Ka(l,t,Ut,!Qa);break e;case 2:Ct=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(s=mi+300-Et(),10<s)){if(Ka(l,t,Ut,!Qa),ws(l,0,!0)!==0)break e;za=t,l.timeoutHandle=cm(_f.bind(null,l,a,Ct,xi,Ur,t,Ut,jn,Pn,Qa,c,"Throttled",-0,0),s);break e}_f(l,a,Ct,xi,Ur,t,Ut,jn,Pn,Qa,c,null,-0,0)}}break}while(!0);ca(e)}function _f(e,t,a,l,s,c,u,m,j,k,Q,K,U,q){if(e.timeoutHandle=-1,K=t.subtreeFlags,K&8192||(K&16785408)===16785408){K={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:da},Nf(t,c,K);var ie=(c&62914560)===c?mi-Et():(c&4194048)===c?Tf-Et():0;if(ie=op(K,ie),ie!==null){za=c,e.cancelPendingCommit=ie(qf.bind(null,e,t,c,a,l,s,u,m,j,Q,K,null,U,q)),Ka(e,c,u,!k);return}}qf(e,t,c,a,l,s,u,m,j)}function zg(e){for(var t=e;;){var a=t.tag;if((a===0||a===11||a===15)&&t.flags&16384&&(a=t.updateQueue,a!==null&&(a=a.stores,a!==null)))for(var l=0;l<a.length;l++){var s=a[l],c=s.getSnapshot;s=s.value;try{if(!_t(c(),s))return!1}catch{return!1}}if(a=t.child,t.subtreeFlags&16384&&a!==null)a.return=t,t=a;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Ka(e,t,a,l){t&=~Rr,t&=~jn,e.suspendedLanes|=t,e.pingedLanes&=~t,l&&(e.warmLanes|=t),l=e.expirationTimes;for(var s=t;0<s;){var c=31-Dt(s),u=1<<c;l[c]=-1,s&=~u}a!==0&&qu(e,a,t)}function gi(){return(Te&6)===0?(es(0),!1):!0}function Lr(){if(ye!==null){if(Ae===0)var e=ye.return;else e=ye,xa=fn=null,ar(e),Xn=null,Ul=0,e=ye;for(;e!==null;)rf(e.alternate,e),e=e.return;ye=null}}function tl(e,t){var a=e.timeoutHandle;a!==-1&&(e.timeoutHandle=-1,Kg(a)),a=e.cancelPendingCommit,a!==null&&(e.cancelPendingCommit=null,a()),za=0,Lr(),Be=e,ye=a=ma(e.current,null),be=t,Ae=0,Rt=null,Qa=!1,In=vl(e,t),Or=!1,Pn=Ut=Rr=jn=Ya=Ke=0,Ct=Il=null,Ur=!1,(t&8)!==0&&(t|=t&32);var l=e.entangledLanes;if(l!==0)for(e=e.entanglements,l&=t;0<l;){var s=31-Dt(l),c=1<<s;t|=e[s],l&=~c}return wa=t,Bs(),a}function Mf(e,t){xe=null,y.H=Vl,t===Vn||t===Xs?(t=Zo(),Ae=3):t===Vc?(t=Zo(),Ae=4):Ae=t===yr?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Rt=t,ye===null&&(Ke=1,si(e,Gt(t,e.current)))}function kf(){var e=kt.current;return e===null?!0:(be&4194048)===be?Xt===null:(be&62914560)===be||(be&536870912)!==0?e===Xt:!1}function Of(){var e=y.H;return y.H=Vl,e===null?Vl:e}function Rf(){var e=y.A;return y.A=Cg,e}function pi(){Ke=4,Qa||(be&4194048)!==be&&kt.current!==null||(In=!0),(Ya&134217727)===0&&(jn&134217727)===0||Be===null||Ka(Be,be,Ut,!1)}function Gr(e,t,a){var l=Te;Te|=2;var s=Of(),c=Rf();(Be!==e||be!==t)&&(xi=null,tl(e,t)),t=!1;var u=Ke;e:do try{if(Ae!==0&&ye!==null){var m=ye,j=Rt;switch(Ae){case 8:Lr(),u=6;break e;case 3:case 2:case 9:case 6:kt.current===null&&(t=!0);var k=Ae;if(Ae=0,Rt=null,al(e,m,j,k),a&&In){u=0;break e}break;default:k=Ae,Ae=0,Rt=null,al(e,m,j,k)}}Tg(),u=Ke;break}catch(Q){Mf(e,Q)}while(!0);return t&&e.shellSuspendCounter++,xa=fn=null,Te=l,y.H=s,y.A=c,ye===null&&(Be=null,be=0,Bs()),u}function Tg(){for(;ye!==null;)Uf(ye)}function Eg(e,t){var a=Te;Te|=2;var l=Of(),s=Rf();Be!==e||be!==t?(xi=null,hi=Et()+500,tl(e,t)):In=vl(e,t);e:do try{if(Ae!==0&&ye!==null){t=ye;var c=Rt;t:switch(Ae){case 1:Ae=0,Rt=null,al(e,t,c,1);break;case 2:case 9:if(Xo(c)){Ae=0,Rt=null,Bf(t);break}t=function(){Ae!==2&&Ae!==9||Be!==e||(Ae=7),ca(e)},c.then(t,t);break e;case 3:Ae=7;break e;case 4:Ae=5;break e;case 7:Xo(c)?(Ae=0,Rt=null,Bf(t)):(Ae=0,Rt=null,al(e,t,c,7));break;case 5:var u=null;switch(ye.tag){case 26:u=ye.memoizedState;case 5:case 27:var m=ye;if(u?Sm(u):m.stateNode.complete){Ae=0,Rt=null;var j=m.sibling;if(j!==null)ye=j;else{var k=m.return;k!==null?(ye=k,yi(k)):ye=null}break t}}Ae=0,Rt=null,al(e,t,c,5);break;case 6:Ae=0,Rt=null,al(e,t,c,6);break;case 8:Lr(),Ke=6;break e;default:throw Error(o(462))}}Ag();break}catch(Q){Mf(e,Q)}while(!0);return xa=fn=null,y.H=l,y.A=s,Te=a,ye!==null?0:(Be=null,be=0,Bs(),Ke)}function Ag(){for(;ye!==null&&!Ih();)Uf(ye)}function Uf(e){var t=sf(e.alternate,e,wa);e.memoizedProps=e.pendingProps,t===null?yi(e):ye=t}function Bf(e){var t=e,a=t.alternate;switch(t.tag){case 15:case 0:t=Pd(a,t,t.pendingProps,t.type,void 0,be);break;case 11:t=Pd(a,t,t.pendingProps,t.type.render,t.ref,be);break;case 5:ar(t);default:rf(a,t),t=ye=Oo(t,wa),t=sf(a,t,wa)}e.memoizedProps=e.pendingProps,t===null?yi(e):ye=t}function al(e,t,a,l){xa=fn=null,ar(t),Xn=null,Ul=0;var s=t.return;try{if(pg(e,s,t,a,be)){Ke=1,si(e,Gt(a,e.current)),ye=null;return}}catch(c){if(s!==null)throw ye=s,c;Ke=1,si(e,Gt(a,e.current)),ye=null;return}t.flags&32768?(Ne||l===1?e=!0:In||(be&536870912)!==0?e=!1:(Qa=e=!0,(l===2||l===9||l===3||l===6)&&(l=kt.current,l!==null&&l.tag===13&&(l.flags|=16384))),Hf(t,e)):yi(t)}function yi(e){var t=e;do{if((t.flags&32768)!==0){Hf(t,Qa);return}e=t.return;var a=bg(t.alternate,t,wa);if(a!==null){ye=a;return}if(t=t.sibling,t!==null){ye=t;return}ye=t=e}while(t!==null);Ke===0&&(Ke=5)}function Hf(e,t){do{var a=jg(e.alternate,e);if(a!==null){a.flags&=32767,ye=a;return}if(a=e.return,a!==null&&(a.flags|=32768,a.subtreeFlags=0,a.deletions=null),!t&&(e=e.sibling,e!==null)){ye=e;return}ye=e=a}while(e!==null);Ke=6,ye=null}function qf(e,t,a,l,s,c,u,m,j){e.cancelPendingCommit=null;do vi();while(at!==0);if((Te&6)!==0)throw Error(o(327));if(t!==null){if(t===e.current)throw Error(o(177));if(c=t.lanes|t.childLanes,c|=Ac,rx(e,a,c,u,m,j),e===Be&&(ye=Be=null,be=0),el=t,Xa=e,za=a,Br=c,Hr=s,Ef=l,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,kg(js,function(){return Vf(),null})):(e.callbackNode=null,e.callbackPriority=0),l=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||l){l=y.T,y.T=null,s=_.p,_.p=2,u=Te,Te|=4;try{Sg(e,t,a)}finally{Te=u,_.p=s,y.T=l}}at=1,Lf(),Gf(),Qf()}}function Lf(){if(at===1){at=0;var e=Xa,t=el,a=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||a){a=y.T,y.T=null;var l=_.p;_.p=2;var s=Te;Te|=4;try{bf(t,e);var c=Pr,u=wo(e.containerInfo),m=c.focusedElem,j=c.selectionRange;if(u!==m&&m&&m.ownerDocument&&Co(m.ownerDocument.documentElement,m)){if(j!==null&&Cc(m)){var k=j.start,Q=j.end;if(Q===void 0&&(Q=k),"selectionStart"in m)m.selectionStart=k,m.selectionEnd=Math.min(Q,m.value.length);else{var K=m.ownerDocument||document,U=K&&K.defaultView||window;if(U.getSelection){var q=U.getSelection(),ie=m.textContent.length,de=Math.min(j.start,ie),Ue=j.end===void 0?de:Math.min(j.end,ie);!q.extend&&de>Ue&&(u=Ue,Ue=de,de=u);var A=No(m,de),C=No(m,Ue);if(A&&C&&(q.rangeCount!==1||q.anchorNode!==A.node||q.anchorOffset!==A.offset||q.focusNode!==C.node||q.focusOffset!==C.offset)){var M=K.createRange();M.setStart(A.node,A.offset),q.removeAllRanges(),de>Ue?(q.addRange(M),q.extend(C.node,C.offset)):(M.setEnd(C.node,C.offset),q.addRange(M))}}}}for(K=[],q=m;q=q.parentNode;)q.nodeType===1&&K.push({element:q,left:q.scrollLeft,top:q.scrollTop});for(typeof m.focus=="function"&&m.focus(),m=0;m<K.length;m++){var V=K[m];V.element.scrollLeft=V.left,V.element.scrollTop=V.top}}_i=!!Ir,Pr=Ir=null}finally{Te=s,_.p=l,y.T=a}}e.current=t,at=2}}function Gf(){if(at===2){at=0;var e=Xa,t=el,a=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||a){a=y.T,y.T=null;var l=_.p;_.p=2;var s=Te;Te|=4;try{xf(e,t.alternate,t)}finally{Te=s,_.p=l,y.T=a}}at=3}}function Qf(){if(at===4||at===3){at=0,Ph();var e=Xa,t=el,a=za,l=Ef;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?at=5:(at=0,el=Xa=null,Yf(e,e.pendingLanes));var s=e.pendingLanes;if(s===0&&(Va=null),sc(a),t=t.stateNode,At&&typeof At.onCommitFiberRoot=="function")try{At.onCommitFiberRoot(yl,t,void 0,(t.current.flags&128)===128)}catch{}if(l!==null){t=y.T,s=_.p,_.p=2,y.T=null;try{for(var c=e.onRecoverableError,u=0;u<l.length;u++){var m=l[u];c(m.value,{componentStack:m.stack})}}finally{y.T=t,_.p=s}}(za&3)!==0&&vi(),ca(e),s=e.pendingLanes,(a&261930)!==0&&(s&42)!==0?e===qr?Pl++:(Pl=0,qr=e):Pl=0,es(0)}}function Yf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Ol(t)))}function vi(){return Lf(),Gf(),Qf(),Vf()}function Vf(){if(at!==5)return!1;var e=Xa,t=Br;Br=0;var a=sc(za),l=y.T,s=_.p;try{_.p=32>a?32:a,y.T=null,a=Hr,Hr=null;var c=Xa,u=za;if(at=0,el=Xa=null,za=0,(Te&6)!==0)throw Error(o(331));var m=Te;if(Te|=4,wf(c.current),Sf(c,c.current,u,a),Te=m,es(0,!1),At&&typeof At.onPostCommitFiberRoot=="function")try{At.onPostCommitFiberRoot(yl,c)}catch{}return!0}finally{_.p=s,y.T=l,Yf(e,t)}}function Xf(e,t,a){t=Gt(a,t),t=pr(e.stateNode,t,2),e=Ha(e,t,2),e!==null&&(bl(e,2),ca(e))}function De(e,t,a){if(e.tag===3)Xf(e,e,a);else for(;t!==null;){if(t.tag===3){Xf(t,e,a);break}else if(t.tag===1){var l=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof l.componentDidCatch=="function"&&(Va===null||!Va.has(l))){e=Gt(a,e),a=Xd(2),l=Ha(t,a,2),l!==null&&(Kd(a,l,t,e),bl(l,2),ca(l));break}}t=t.return}}function Qr(e,t,a){var l=e.pingCache;if(l===null){l=e.pingCache=new wg;var s=new Set;l.set(t,s)}else s=l.get(t),s===void 0&&(s=new Set,l.set(t,s));s.has(a)||(Or=!0,s.add(a),e=Dg.bind(null,e,t,a),t.then(e,e))}function Dg(e,t,a){var l=e.pingCache;l!==null&&l.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Be===e&&(be&a)===a&&(Ke===4||Ke===3&&(be&62914560)===be&&300>Et()-mi?(Te&2)===0&&tl(e,0):Rr|=a,Pn===be&&(Pn=0)),ca(e)}function Kf(e,t){t===0&&(t=Hu()),e=un(e,t),e!==null&&(bl(e,t),ca(e))}function _g(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Kf(e,a)}function Mg(e,t){var a=0;switch(e.tag){case 31:case 13:var l=e.stateNode,s=e.memoizedState;s!==null&&(a=s.retryLane);break;case 19:l=e.stateNode;break;case 22:l=e.stateNode._retryCache;break;default:throw Error(o(314))}l!==null&&l.delete(t),Kf(e,a)}function kg(e,t){return tc(e,t)}var bi=null,nl=null,Yr=!1,ji=!1,Vr=!1,Za=0;function ca(e){e!==nl&&e.next===null&&(nl===null?bi=nl=e:nl=nl.next=e),ji=!0,Yr||(Yr=!0,Rg())}function es(e,t){if(!Vr&&ji){Vr=!0;do for(var a=!1,l=bi;l!==null;){if(e!==0){var s=l.pendingLanes;if(s===0)var c=0;else{var u=l.suspendedLanes,m=l.pingedLanes;c=(1<<31-Dt(42|e)+1)-1,c&=s&~(u&~m),c=c&201326741?c&201326741|1:c?c|2:0}c!==0&&(a=!0,$f(l,c))}else c=be,c=ws(l,l===Be?c:0,l.cancelPendingCommit!==null||l.timeoutHandle!==-1),(c&3)===0||vl(l,c)||(a=!0,$f(l,c));l=l.next}while(a);Vr=!1}}function Og(){Zf()}function Zf(){ji=Yr=!1;var e=0;Za!==0&&Xg()&&(e=Za);for(var t=Et(),a=null,l=bi;l!==null;){var s=l.next,c=Ff(l,t);c===0?(l.next=null,a===null?bi=s:a.next=s,s===null&&(nl=a)):(a=l,(e!==0||(c&3)!==0)&&(ji=!0)),l=s}at!==0&&at!==5||es(e),Za!==0&&(Za=0)}function Ff(e,t){for(var a=e.suspendedLanes,l=e.pingedLanes,s=e.expirationTimes,c=e.pendingLanes&-62914561;0<c;){var u=31-Dt(c),m=1<<u,j=s[u];j===-1?((m&a)===0||(m&l)!==0)&&(s[u]=cx(m,t)):j<=t&&(e.expiredLanes|=m),c&=~m}if(t=Be,a=be,a=ws(e,e===t?a:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l=e.callbackNode,a===0||e===t&&(Ae===2||Ae===9)||e.cancelPendingCommit!==null)return l!==null&&l!==null&&ac(l),e.callbackNode=null,e.callbackPriority=0;if((a&3)===0||vl(e,a)){if(t=a&-a,t===e.callbackPriority)return t;switch(l!==null&&ac(l),sc(a)){case 2:case 8:a=Uu;break;case 32:a=js;break;case 268435456:a=Bu;break;default:a=js}return l=Jf.bind(null,e),a=tc(a,l),e.callbackPriority=t,e.callbackNode=a,t}return l!==null&&l!==null&&ac(l),e.callbackPriority=2,e.callbackNode=null,2}function Jf(e,t){if(at!==0&&at!==5)return e.callbackNode=null,e.callbackPriority=0,null;var a=e.callbackNode;if(vi()&&e.callbackNode!==a)return null;var l=be;return l=ws(e,e===Be?l:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),l===0?null:(Df(e,l,t),Ff(e,Et()),e.callbackNode!=null&&e.callbackNode===a?Jf.bind(null,e):null)}function $f(e,t){if(vi())return null;Df(e,t,!0)}function Rg(){Zg(function(){(Te&6)!==0?tc(Ru,Og):Zf()})}function Xr(){if(Za===0){var e=Qn;e===0&&(e=Ss,Ss<<=1,(Ss&261888)===0&&(Ss=256)),Za=e}return Za}function Wf(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:As(""+e)}function If(e,t){var a=t.ownerDocument.createElement("input");return a.name=t.name,a.value=t.value,e.id&&a.setAttribute("form",e.id),t.parentNode.insertBefore(a,t),e=new FormData(e),a.parentNode.removeChild(a),e}function Ug(e,t,a,l,s){if(t==="submit"&&a&&a.stateNode===s){var c=Wf((s[vt]||null).action),u=l.submitter;u&&(t=(t=u[vt]||null)?Wf(t.formAction):u.getAttribute("formAction"),t!==null&&(c=t,u=null));var m=new ks("action","action",null,l,s);e.push({event:m,listeners:[{instance:null,listener:function(){if(l.defaultPrevented){if(Za!==0){var j=u?If(s,u):new FormData(s);dr(a,{pending:!0,data:j,method:s.method,action:c},null,j)}}else typeof c=="function"&&(m.preventDefault(),j=u?If(s,u):new FormData(s),dr(a,{pending:!0,data:j,method:s.method,action:c},c,j))},currentTarget:s}]})}}for(var Kr=0;Kr<Ec.length;Kr++){var Zr=Ec[Kr],Bg=Zr.toLowerCase(),Hg=Zr[0].toUpperCase()+Zr.slice(1);$t(Bg,"on"+Hg)}$t(Eo,"onAnimationEnd"),$t(Ao,"onAnimationIteration"),$t(Do,"onAnimationStart"),$t("dblclick","onDoubleClick"),$t("focusin","onFocus"),$t("focusout","onBlur"),$t(eg,"onTransitionRun"),$t(tg,"onTransitionStart"),$t(ag,"onTransitionCancel"),$t(_o,"onTransitionEnd"),En("onMouseEnter",["mouseout","mouseover"]),En("onMouseLeave",["mouseout","mouseover"]),En("onPointerEnter",["pointerout","pointerover"]),En("onPointerLeave",["pointerout","pointerover"]),ln("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ln("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ln("onBeforeInput",["compositionend","keypress","textInput","paste"]),ln("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ln("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ln("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ts="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(" "),qg=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(ts));function Pf(e,t){t=(t&4)!==0;for(var a=0;a<e.length;a++){var l=e[a],s=l.event;l=l.listeners;e:{var c=void 0;if(t)for(var u=l.length-1;0<=u;u--){var m=l[u],j=m.instance,k=m.currentTarget;if(m=m.listener,j!==c&&s.isPropagationStopped())break e;c=m,s.currentTarget=k;try{c(s)}catch(Q){Us(Q)}s.currentTarget=null,c=j}else for(u=0;u<l.length;u++){if(m=l[u],j=m.instance,k=m.currentTarget,m=m.listener,j!==c&&s.isPropagationStopped())break e;c=m,s.currentTarget=k;try{c(s)}catch(Q){Us(Q)}s.currentTarget=null,c=j}}}}function ve(e,t){var a=t[ic];a===void 0&&(a=t[ic]=new Set);var l=e+"__bubble";a.has(l)||(em(t,e,2,!1),a.add(l))}function Fr(e,t,a){var l=0;t&&(l|=4),em(a,e,l,t)}var Si="_reactListening"+Math.random().toString(36).slice(2);function Jr(e){if(!e[Si]){e[Si]=!0,Xu.forEach(function(a){a!=="selectionchange"&&(qg.has(a)||Fr(a,!1,e),Fr(a,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Si]||(t[Si]=!0,Fr("selectionchange",!1,t))}}function em(e,t,a,l){switch(Am(t)){case 2:var s=mp;break;case 8:s=hp;break;default:s=ou}a=s.bind(null,t,a,e),s=void 0,!xc||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(s=!0),l?s!==void 0?e.addEventListener(t,a,{capture:!0,passive:s}):e.addEventListener(t,a,!0):s!==void 0?e.addEventListener(t,a,{passive:s}):e.addEventListener(t,a,!1)}function $r(e,t,a,l,s){var c=l;if((t&1)===0&&(t&2)===0&&l!==null)e:for(;;){if(l===null)return;var u=l.tag;if(u===3||u===4){var m=l.stateNode.containerInfo;if(m===s)break;if(u===4)for(u=l.return;u!==null;){var j=u.tag;if((j===3||j===4)&&u.stateNode.containerInfo===s)return;u=u.return}for(;m!==null;){if(u=wn(m),u===null)return;if(j=u.tag,j===5||j===6||j===26||j===27){l=c=u;continue e}m=m.parentNode}}l=l.return}no(function(){var k=c,Q=mc(a),K=[];e:{var U=Mo.get(e);if(U!==void 0){var q=ks,ie=e;switch(e){case"keypress":if(_s(a)===0)break e;case"keydown":case"keyup":q=Mx;break;case"focusin":ie="focus",q=vc;break;case"focusout":ie="blur",q=vc;break;case"beforeblur":case"afterblur":q=vc;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":q=io;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":q=bx;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":q=Rx;break;case Eo:case Ao:case Do:q=Nx;break;case _o:q=Bx;break;case"scroll":case"scrollend":q=yx;break;case"wheel":q=qx;break;case"copy":case"cut":case"paste":q=wx;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":q=ro;break;case"toggle":case"beforetoggle":q=Gx}var de=(t&4)!==0,Ue=!de&&(e==="scroll"||e==="scrollend"),A=de?U!==null?U+"Capture":null:U;de=[];for(var C=k,M;C!==null;){var V=C;if(M=V.stateNode,V=V.tag,V!==5&&V!==26&&V!==27||M===null||A===null||(V=Nl(C,A),V!=null&&de.push(as(C,V,M))),Ue)break;C=C.return}0<de.length&&(U=new q(U,ie,null,a,Q),K.push({event:U,listeners:de}))}}if((t&7)===0){e:{if(U=e==="mouseover"||e==="pointerover",q=e==="mouseout"||e==="pointerout",U&&a!==fc&&(ie=a.relatedTarget||a.fromElement)&&(wn(ie)||ie[Cn]))break e;if((q||U)&&(U=Q.window===Q?Q:(U=Q.ownerDocument)?U.defaultView||U.parentWindow:window,q?(ie=a.relatedTarget||a.toElement,q=k,ie=ie?wn(ie):null,ie!==null&&(Ue=x(ie),de=ie.tag,ie!==Ue||de!==5&&de!==27&&de!==6)&&(ie=null)):(q=null,ie=k),q!==ie)){if(de=io,V="onMouseLeave",A="onMouseEnter",C="mouse",(e==="pointerout"||e==="pointerover")&&(de=ro,V="onPointerLeave",A="onPointerEnter",C="pointer"),Ue=q==null?U:Sl(q),M=ie==null?U:Sl(ie),U=new de(V,C+"leave",q,a,Q),U.target=Ue,U.relatedTarget=M,V=null,wn(Q)===k&&(de=new de(A,C+"enter",ie,a,Q),de.target=M,de.relatedTarget=Ue,V=de),Ue=V,q&&ie)t:{for(de=Lg,A=q,C=ie,M=0,V=A;V;V=de(V))M++;V=0;for(var ue=C;ue;ue=de(ue))V++;for(;0<M-V;)A=de(A),M--;for(;0<V-M;)C=de(C),V--;for(;M--;){if(A===C||C!==null&&A===C.alternate){de=A;break t}A=de(A),C=de(C)}de=null}else de=null;q!==null&&tm(K,U,q,de,!1),ie!==null&&Ue!==null&&tm(K,Ue,ie,de,!0)}}e:{if(U=k?Sl(k):window,q=U.nodeName&&U.nodeName.toLowerCase(),q==="select"||q==="input"&&U.type==="file")var we=po;else if(xo(U))if(yo)we=Wx;else{we=Jx;var ce=Fx}else q=U.nodeName,!q||q.toLowerCase()!=="input"||U.type!=="checkbox"&&U.type!=="radio"?k&&dc(k.elementType)&&(we=po):we=$x;if(we&&(we=we(e,k))){go(K,we,a,Q);break e}ce&&ce(e,U,k),e==="focusout"&&k&&U.type==="number"&&k.memoizedProps.value!=null&&oc(U,"number",U.value)}switch(ce=k?Sl(k):window,e){case"focusin":(xo(ce)||ce.contentEditable==="true")&&(On=ce,wc=k,_l=null);break;case"focusout":_l=wc=On=null;break;case"mousedown":zc=!0;break;case"contextmenu":case"mouseup":case"dragend":zc=!1,zo(K,a,Q);break;case"selectionchange":if(Px)break;case"keydown":case"keyup":zo(K,a,Q)}var pe;if(jc)e:{switch(e){case"compositionstart":var je="onCompositionStart";break e;case"compositionend":je="onCompositionEnd";break e;case"compositionupdate":je="onCompositionUpdate";break e}je=void 0}else kn?mo(e,a)&&(je="onCompositionEnd"):e==="keydown"&&a.keyCode===229&&(je="onCompositionStart");je&&(uo&&a.locale!=="ko"&&(kn||je!=="onCompositionStart"?je==="onCompositionEnd"&&kn&&(pe=lo()):(_a=Q,gc="value"in _a?_a.value:_a.textContent,kn=!0)),ce=Ni(k,je),0<ce.length&&(je=new co(je,e,null,a,Q),K.push({event:je,listeners:ce}),pe?je.data=pe:(pe=ho(a),pe!==null&&(je.data=pe)))),(pe=Yx?Vx(e,a):Xx(e,a))&&(je=Ni(k,"onBeforeInput"),0<je.length&&(ce=new co("onBeforeInput","beforeinput",null,a,Q),K.push({event:ce,listeners:je}),ce.data=pe)),Ug(K,e,k,a,Q)}Pf(K,t)})}function as(e,t,a){return{instance:e,listener:t,currentTarget:a}}function Ni(e,t){for(var a=t+"Capture",l=[];e!==null;){var s=e,c=s.stateNode;if(s=s.tag,s!==5&&s!==26&&s!==27||c===null||(s=Nl(e,a),s!=null&&l.unshift(as(e,s,c)),s=Nl(e,t),s!=null&&l.push(as(e,s,c))),e.tag===3)return l;e=e.return}return[]}function Lg(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function tm(e,t,a,l,s){for(var c=t._reactName,u=[];a!==null&&a!==l;){var m=a,j=m.alternate,k=m.stateNode;if(m=m.tag,j!==null&&j===l)break;m!==5&&m!==26&&m!==27||k===null||(j=k,s?(k=Nl(a,c),k!=null&&u.unshift(as(a,k,j))):s||(k=Nl(a,c),k!=null&&u.push(as(a,k,j)))),a=a.return}u.length!==0&&e.push({event:t,listeners:u})}var Gg=/\r\n?/g,Qg=/\u0000|\uFFFD/g;function am(e){return(typeof e=="string"?e:""+e).replace(Gg,`
9
- `).replace(Qg,"")}function nm(e,t){return t=am(t),am(e)===t}function Re(e,t,a,l,s,c){switch(a){case"children":typeof l=="string"?t==="body"||t==="textarea"&&l===""||Dn(e,l):(typeof l=="number"||typeof l=="bigint")&&t!=="body"&&Dn(e,""+l);break;case"className":Ts(e,"class",l);break;case"tabIndex":Ts(e,"tabindex",l);break;case"dir":case"role":case"viewBox":case"width":case"height":Ts(e,a,l);break;case"style":to(e,l,c);break;case"data":if(t!=="object"){Ts(e,"data",l);break}case"src":case"href":if(l===""&&(t!=="a"||a!=="href")){e.removeAttribute(a);break}if(l==null||typeof l=="function"||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=As(""+l),e.setAttribute(a,l);break;case"action":case"formAction":if(typeof l=="function"){e.setAttribute(a,"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 c=="function"&&(a==="formAction"?(t!=="input"&&Re(e,t,"name",s.name,s,null),Re(e,t,"formEncType",s.formEncType,s,null),Re(e,t,"formMethod",s.formMethod,s,null),Re(e,t,"formTarget",s.formTarget,s,null)):(Re(e,t,"encType",s.encType,s,null),Re(e,t,"method",s.method,s,null),Re(e,t,"target",s.target,s,null)));if(l==null||typeof l=="symbol"||typeof l=="boolean"){e.removeAttribute(a);break}l=As(""+l),e.setAttribute(a,l);break;case"onClick":l!=null&&(e.onclick=da);break;case"onScroll":l!=null&&ve("scroll",e);break;case"onScrollEnd":l!=null&&ve("scrollend",e);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(o(61));if(a=l.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"multiple":e.multiple=l&&typeof l!="function"&&typeof l!="symbol";break;case"muted":e.muted=l&&typeof l!="function"&&typeof l!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(l==null||typeof l=="function"||typeof l=="boolean"||typeof l=="symbol"){e.removeAttribute("xlink:href");break}a=As(""+l),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,""+l):e.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":l&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,""):e.removeAttribute(a);break;case"capture":case"download":l===!0?e.setAttribute(a,""):l!==!1&&l!=null&&typeof l!="function"&&typeof l!="symbol"?e.setAttribute(a,l):e.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":l!=null&&typeof l!="function"&&typeof l!="symbol"&&!isNaN(l)&&1<=l?e.setAttribute(a,l):e.removeAttribute(a);break;case"rowSpan":case"start":l==null||typeof l=="function"||typeof l=="symbol"||isNaN(l)?e.removeAttribute(a):e.setAttribute(a,l);break;case"popover":ve("beforetoggle",e),ve("toggle",e),zs(e,"popover",l);break;case"xlinkActuate":oa(e,"http://www.w3.org/1999/xlink","xlink:actuate",l);break;case"xlinkArcrole":oa(e,"http://www.w3.org/1999/xlink","xlink:arcrole",l);break;case"xlinkRole":oa(e,"http://www.w3.org/1999/xlink","xlink:role",l);break;case"xlinkShow":oa(e,"http://www.w3.org/1999/xlink","xlink:show",l);break;case"xlinkTitle":oa(e,"http://www.w3.org/1999/xlink","xlink:title",l);break;case"xlinkType":oa(e,"http://www.w3.org/1999/xlink","xlink:type",l);break;case"xmlBase":oa(e,"http://www.w3.org/XML/1998/namespace","xml:base",l);break;case"xmlLang":oa(e,"http://www.w3.org/XML/1998/namespace","xml:lang",l);break;case"xmlSpace":oa(e,"http://www.w3.org/XML/1998/namespace","xml:space",l);break;case"is":zs(e,"is",l);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=gx.get(a)||a,zs(e,a,l))}}function Wr(e,t,a,l,s,c){switch(a){case"style":to(e,l,c);break;case"dangerouslySetInnerHTML":if(l!=null){if(typeof l!="object"||!("__html"in l))throw Error(o(61));if(a=l.__html,a!=null){if(s.children!=null)throw Error(o(60));e.innerHTML=a}}break;case"children":typeof l=="string"?Dn(e,l):(typeof l=="number"||typeof l=="bigint")&&Dn(e,""+l);break;case"onScroll":l!=null&&ve("scroll",e);break;case"onScrollEnd":l!=null&&ve("scrollend",e);break;case"onClick":l!=null&&(e.onclick=da);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Ku.hasOwnProperty(a))e:{if(a[0]==="o"&&a[1]==="n"&&(s=a.endsWith("Capture"),t=a.slice(2,s?a.length-7:void 0),c=e[vt]||null,c=c!=null?c[a]:null,typeof c=="function"&&e.removeEventListener(t,c,s),typeof l=="function")){typeof c!="function"&&c!==null&&(a in e?e[a]=null:e.hasAttribute(a)&&e.removeAttribute(a)),e.addEventListener(t,l,s);break e}a in e?e[a]=l:l===!0?e.setAttribute(a,""):zs(e,a,l)}}}function mt(e,t,a){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ve("error",e),ve("load",e);var l=!1,s=!1,c;for(c in a)if(a.hasOwnProperty(c)){var u=a[c];if(u!=null)switch(c){case"src":l=!0;break;case"srcSet":s=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Re(e,t,c,u,a,null)}}s&&Re(e,t,"srcSet",a.srcSet,a,null),l&&Re(e,t,"src",a.src,a,null);return;case"input":ve("invalid",e);var m=c=u=s=null,j=null,k=null;for(l in a)if(a.hasOwnProperty(l)){var Q=a[l];if(Q!=null)switch(l){case"name":s=Q;break;case"type":u=Q;break;case"checked":j=Q;break;case"defaultChecked":k=Q;break;case"value":c=Q;break;case"defaultValue":m=Q;break;case"children":case"dangerouslySetInnerHTML":if(Q!=null)throw Error(o(137,t));break;default:Re(e,t,l,Q,a,null)}}Wu(e,c,m,j,k,u,s,!1);return;case"select":ve("invalid",e),l=u=c=null;for(s in a)if(a.hasOwnProperty(s)&&(m=a[s],m!=null))switch(s){case"value":c=m;break;case"defaultValue":u=m;break;case"multiple":l=m;default:Re(e,t,s,m,a,null)}t=c,a=u,e.multiple=!!l,t!=null?An(e,!!l,t,!1):a!=null&&An(e,!!l,a,!0);return;case"textarea":ve("invalid",e),c=s=l=null;for(u in a)if(a.hasOwnProperty(u)&&(m=a[u],m!=null))switch(u){case"value":l=m;break;case"defaultValue":s=m;break;case"children":c=m;break;case"dangerouslySetInnerHTML":if(m!=null)throw Error(o(91));break;default:Re(e,t,u,m,a,null)}Pu(e,l,s,c);return;case"option":for(j in a)a.hasOwnProperty(j)&&(l=a[j],l!=null)&&(j==="selected"?e.selected=l&&typeof l!="function"&&typeof l!="symbol":Re(e,t,j,l,a,null));return;case"dialog":ve("beforetoggle",e),ve("toggle",e),ve("cancel",e),ve("close",e);break;case"iframe":case"object":ve("load",e);break;case"video":case"audio":for(l=0;l<ts.length;l++)ve(ts[l],e);break;case"image":ve("error",e),ve("load",e);break;case"details":ve("toggle",e);break;case"embed":case"source":case"link":ve("error",e),ve("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(k in a)if(a.hasOwnProperty(k)&&(l=a[k],l!=null))switch(k){case"children":case"dangerouslySetInnerHTML":throw Error(o(137,t));default:Re(e,t,k,l,a,null)}return;default:if(dc(t)){for(Q in a)a.hasOwnProperty(Q)&&(l=a[Q],l!==void 0&&Wr(e,t,Q,l,a,void 0));return}}for(m in a)a.hasOwnProperty(m)&&(l=a[m],l!=null&&Re(e,t,m,l,a,null))}function Yg(e,t,a,l){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var s=null,c=null,u=null,m=null,j=null,k=null,Q=null;for(q in a){var K=a[q];if(a.hasOwnProperty(q)&&K!=null)switch(q){case"checked":break;case"value":break;case"defaultValue":j=K;default:l.hasOwnProperty(q)||Re(e,t,q,null,l,K)}}for(var U in l){var q=l[U];if(K=a[U],l.hasOwnProperty(U)&&(q!=null||K!=null))switch(U){case"type":c=q;break;case"name":s=q;break;case"checked":k=q;break;case"defaultChecked":Q=q;break;case"value":u=q;break;case"defaultValue":m=q;break;case"children":case"dangerouslySetInnerHTML":if(q!=null)throw Error(o(137,t));break;default:q!==K&&Re(e,t,U,q,l,K)}}uc(e,u,m,j,k,Q,c,s);return;case"select":q=u=m=U=null;for(c in a)if(j=a[c],a.hasOwnProperty(c)&&j!=null)switch(c){case"value":break;case"multiple":q=j;default:l.hasOwnProperty(c)||Re(e,t,c,null,l,j)}for(s in l)if(c=l[s],j=a[s],l.hasOwnProperty(s)&&(c!=null||j!=null))switch(s){case"value":U=c;break;case"defaultValue":m=c;break;case"multiple":u=c;default:c!==j&&Re(e,t,s,c,l,j)}t=m,a=u,l=q,U!=null?An(e,!!a,U,!1):!!l!=!!a&&(t!=null?An(e,!!a,t,!0):An(e,!!a,a?[]:"",!1));return;case"textarea":q=U=null;for(m in a)if(s=a[m],a.hasOwnProperty(m)&&s!=null&&!l.hasOwnProperty(m))switch(m){case"value":break;case"children":break;default:Re(e,t,m,null,l,s)}for(u in l)if(s=l[u],c=a[u],l.hasOwnProperty(u)&&(s!=null||c!=null))switch(u){case"value":U=s;break;case"defaultValue":q=s;break;case"children":break;case"dangerouslySetInnerHTML":if(s!=null)throw Error(o(91));break;default:s!==c&&Re(e,t,u,s,l,c)}Iu(e,U,q);return;case"option":for(var ie in a)U=a[ie],a.hasOwnProperty(ie)&&U!=null&&!l.hasOwnProperty(ie)&&(ie==="selected"?e.selected=!1:Re(e,t,ie,null,l,U));for(j in l)U=l[j],q=a[j],l.hasOwnProperty(j)&&U!==q&&(U!=null||q!=null)&&(j==="selected"?e.selected=U&&typeof U!="function"&&typeof U!="symbol":Re(e,t,j,U,l,q));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 de in a)U=a[de],a.hasOwnProperty(de)&&U!=null&&!l.hasOwnProperty(de)&&Re(e,t,de,null,l,U);for(k in l)if(U=l[k],q=a[k],l.hasOwnProperty(k)&&U!==q&&(U!=null||q!=null))switch(k){case"children":case"dangerouslySetInnerHTML":if(U!=null)throw Error(o(137,t));break;default:Re(e,t,k,U,l,q)}return;default:if(dc(t)){for(var Ue in a)U=a[Ue],a.hasOwnProperty(Ue)&&U!==void 0&&!l.hasOwnProperty(Ue)&&Wr(e,t,Ue,void 0,l,U);for(Q in l)U=l[Q],q=a[Q],!l.hasOwnProperty(Q)||U===q||U===void 0&&q===void 0||Wr(e,t,Q,U,l,q);return}}for(var A in a)U=a[A],a.hasOwnProperty(A)&&U!=null&&!l.hasOwnProperty(A)&&Re(e,t,A,null,l,U);for(K in l)U=l[K],q=a[K],!l.hasOwnProperty(K)||U===q||U==null&&q==null||Re(e,t,K,U,l,q)}function lm(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Vg(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,a=performance.getEntriesByType("resource"),l=0;l<a.length;l++){var s=a[l],c=s.transferSize,u=s.initiatorType,m=s.duration;if(c&&m&&lm(u)){for(u=0,m=s.responseEnd,l+=1;l<a.length;l++){var j=a[l],k=j.startTime;if(k>m)break;var Q=j.transferSize,K=j.initiatorType;Q&&lm(K)&&(j=j.responseEnd,u+=Q*(j<m?1:(m-k)/(j-k)))}if(--l,t+=8*(c+u)/(s.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e=="number")?e:5}var Ir=null,Pr=null;function Ci(e){return e.nodeType===9?e:e.ownerDocument}function sm(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function im(e,t){if(e===0)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return e===1&&t==="foreignObject"?0:e}function eu(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.children=="bigint"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var tu=null;function Xg(){var e=window.event;return e&&e.type==="popstate"?e===tu?!1:(tu=e,!0):(tu=null,!1)}var cm=typeof setTimeout=="function"?setTimeout:void 0,Kg=typeof clearTimeout=="function"?clearTimeout:void 0,rm=typeof Promise=="function"?Promise:void 0,Zg=typeof queueMicrotask=="function"?queueMicrotask:typeof rm<"u"?function(e){return rm.resolve(null).then(e).catch(Fg)}:cm;function Fg(e){setTimeout(function(){throw e})}function Fa(e){return e==="head"}function um(e,t){var a=t,l=0;do{var s=a.nextSibling;if(e.removeChild(a),s&&s.nodeType===8)if(a=s.data,a==="/$"||a==="/&"){if(l===0){e.removeChild(s),cl(t);return}l--}else if(a==="$"||a==="$?"||a==="$~"||a==="$!"||a==="&")l++;else if(a==="html")ns(e.ownerDocument.documentElement);else if(a==="head"){a=e.ownerDocument.head,ns(a);for(var c=a.firstChild;c;){var u=c.nextSibling,m=c.nodeName;c[jl]||m==="SCRIPT"||m==="STYLE"||m==="LINK"&&c.rel.toLowerCase()==="stylesheet"||a.removeChild(c),c=u}}else a==="body"&&ns(e.ownerDocument.body);a=s}while(a);cl(t)}function om(e,t){var a=e;e=0;do{var l=a.nextSibling;if(a.nodeType===1?t?(a._stashedDisplay=a.style.display,a.style.display="none"):(a.style.display=a._stashedDisplay||"",a.getAttribute("style")===""&&a.removeAttribute("style")):a.nodeType===3&&(t?(a._stashedText=a.nodeValue,a.nodeValue=""):a.nodeValue=a._stashedText||""),l&&l.nodeType===8)if(a=l.data,a==="/$"){if(e===0)break;e--}else a!=="$"&&a!=="$?"&&a!=="$~"&&a!=="$!"||e++;a=l}while(a)}function au(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var a=t;switch(t=t.nextSibling,a.nodeName){case"HTML":case"HEAD":case"BODY":au(a),cc(a);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(a.rel.toLowerCase()==="stylesheet")continue}e.removeChild(a)}}function Jg(e,t,a,l){for(;e.nodeType===1;){var s=a;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!l&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(l){if(!e[jl])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(c=e.getAttribute("rel"),c==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(c!==s.rel||e.getAttribute("href")!==(s.href==null||s.href===""?null:s.href)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin)||e.getAttribute("title")!==(s.title==null?null:s.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(c=e.getAttribute("src"),(c!==(s.src==null?null:s.src)||e.getAttribute("type")!==(s.type==null?null:s.type)||e.getAttribute("crossorigin")!==(s.crossOrigin==null?null:s.crossOrigin))&&c&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var c=s.name==null?null:""+s.name;if(s.type==="hidden"&&e.getAttribute("name")===c)return e}else return e;if(e=Kt(e.nextSibling),e===null)break}return null}function $g(e,t,a){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!a||(e=Kt(e.nextSibling),e===null))return null;return e}function dm(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Kt(e.nextSibling),e===null))return null;return e}function nu(e){return e.data==="$?"||e.data==="$~"}function lu(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function Wg(e,t){var a=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||a.readyState!=="loading")t();else{var l=function(){t(),a.removeEventListener("DOMContentLoaded",l)};a.addEventListener("DOMContentLoaded",l),e._reactRetry=l}}function Kt(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?"||t==="$~"||t==="&"||t==="F!"||t==="F")break;if(t==="/$"||t==="/&")return null}}return e}var su=null;function fm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="/$"||a==="/&"){if(t===0)return Kt(e.nextSibling);t--}else a!=="$"&&a!=="$!"&&a!=="$?"&&a!=="$~"&&a!=="&"||t++}e=e.nextSibling}return null}function mm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var a=e.data;if(a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"){if(t===0)return e;t--}else a!=="/$"&&a!=="/&"||t++}e=e.previousSibling}return null}function hm(e,t,a){switch(t=Ci(a),e){case"html":if(e=t.documentElement,!e)throw Error(o(452));return e;case"head":if(e=t.head,!e)throw Error(o(453));return e;case"body":if(e=t.body,!e)throw Error(o(454));return e;default:throw Error(o(451))}}function ns(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);cc(e)}var Zt=new Map,xm=new Set;function wi(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Ta=_.d;_.d={f:Ig,r:Pg,D:ep,C:tp,L:ap,m:np,X:sp,S:lp,M:ip};function Ig(){var e=Ta.f(),t=gi();return e||t}function Pg(e){var t=zn(e);t!==null&&t.tag===5&&t.type==="form"?_d(t):Ta.r(e)}var ll=typeof document>"u"?null:document;function gm(e,t,a){var l=ll;if(l&&typeof t=="string"&&t){var s=qt(t);s='link[rel="'+e+'"][href="'+s+'"]',typeof a=="string"&&(s+='[crossorigin="'+a+'"]'),xm.has(s)||(xm.add(s),e={rel:e,crossOrigin:a,href:t},l.querySelector(s)===null&&(t=l.createElement("link"),mt(t,"link",e),st(t),l.head.appendChild(t)))}}function ep(e){Ta.D(e),gm("dns-prefetch",e,null)}function tp(e,t){Ta.C(e,t),gm("preconnect",e,t)}function ap(e,t,a){Ta.L(e,t,a);var l=ll;if(l&&e&&t){var s='link[rel="preload"][as="'+qt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(s+='[imagesrcset="'+qt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(s+='[imagesizes="'+qt(a.imageSizes)+'"]')):s+='[href="'+qt(e)+'"]';var c=s;switch(t){case"style":c=sl(e);break;case"script":c=il(e)}Zt.has(c)||(e=E({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),Zt.set(c,e),l.querySelector(s)!==null||t==="style"&&l.querySelector(ls(c))||t==="script"&&l.querySelector(ss(c))||(t=l.createElement("link"),mt(t,"link",e),st(t),l.head.appendChild(t)))}}function np(e,t){Ta.m(e,t);var a=ll;if(a&&e){var l=t&&typeof t.as=="string"?t.as:"script",s='link[rel="modulepreload"][as="'+qt(l)+'"][href="'+qt(e)+'"]',c=s;switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":c=il(e)}if(!Zt.has(c)&&(e=E({rel:"modulepreload",href:e},t),Zt.set(c,e),a.querySelector(s)===null)){switch(l){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(ss(c)))return}l=a.createElement("link"),mt(l,"link",e),st(l),a.head.appendChild(l)}}}function lp(e,t,a){Ta.S(e,t,a);var l=ll;if(l&&e){var s=Tn(l).hoistableStyles,c=sl(e);t=t||"default";var u=s.get(c);if(!u){var m={loading:0,preload:null};if(u=l.querySelector(ls(c)))m.loading=5;else{e=E({rel:"stylesheet",href:e,"data-precedence":t},a),(a=Zt.get(c))&&iu(e,a);var j=u=l.createElement("link");st(j),mt(j,"link",e),j._p=new Promise(function(k,Q){j.onload=k,j.onerror=Q}),j.addEventListener("load",function(){m.loading|=1}),j.addEventListener("error",function(){m.loading|=2}),m.loading|=4,zi(u,t,l)}u={type:"stylesheet",instance:u,count:1,state:m},s.set(c,u)}}}function sp(e,t){Ta.X(e,t);var a=ll;if(a&&e){var l=Tn(a).hoistableScripts,s=il(e),c=l.get(s);c||(c=a.querySelector(ss(s)),c||(e=E({src:e,async:!0},t),(t=Zt.get(s))&&cu(e,t),c=a.createElement("script"),st(c),mt(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(s,c))}}function ip(e,t){Ta.M(e,t);var a=ll;if(a&&e){var l=Tn(a).hoistableScripts,s=il(e),c=l.get(s);c||(c=a.querySelector(ss(s)),c||(e=E({src:e,async:!0,type:"module"},t),(t=Zt.get(s))&&cu(e,t),c=a.createElement("script"),st(c),mt(c,"link",e),a.head.appendChild(c)),c={type:"script",instance:c,count:1,state:null},l.set(s,c))}}function pm(e,t,a,l){var s=(s=$e.current)?wi(s):null;if(!s)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=sl(a.href),a=Tn(s).hoistableStyles,l=a.get(t),l||(l={type:"style",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=sl(a.href);var c=Tn(s).hoistableStyles,u=c.get(e);if(u||(s=s.ownerDocument||s,u={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},c.set(e,u),(c=s.querySelector(ls(e)))&&!c._p&&(u.instance=c,u.state.loading=5),Zt.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},Zt.set(e,a),c||cp(s,e,a,u.state))),t&&l===null)throw Error(o(528,""));return u}if(t&&l!==null)throw Error(o(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=il(a),a=Tn(s).hoistableScripts,l=a.get(t),l||(l={type:"script",instance:null,count:0,state:null},a.set(t,l)),l):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function sl(e){return'href="'+qt(e)+'"'}function ls(e){return'link[rel="stylesheet"]['+e+"]"}function ym(e){return E({},e,{"data-precedence":e.precedence,precedence:null})}function cp(e,t,a,l){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?l.loading=1:(t=e.createElement("link"),l.preload=t,t.addEventListener("load",function(){return l.loading|=1}),t.addEventListener("error",function(){return l.loading|=2}),mt(t,"link",a),st(t),e.head.appendChild(t))}function il(e){return'[src="'+qt(e)+'"]'}function ss(e){return"script[async]"+e}function vm(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var l=e.querySelector('style[data-href~="'+qt(a.href)+'"]');if(l)return t.instance=l,st(l),l;var s=E({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return l=(e.ownerDocument||e).createElement("style"),st(l),mt(l,"style",s),zi(l,a.precedence,e),t.instance=l;case"stylesheet":s=sl(a.href);var c=e.querySelector(ls(s));if(c)return t.state.loading|=4,t.instance=c,st(c),c;l=ym(a),(s=Zt.get(s))&&iu(l,s),c=(e.ownerDocument||e).createElement("link"),st(c);var u=c;return u._p=new Promise(function(m,j){u.onload=m,u.onerror=j}),mt(c,"link",l),t.state.loading|=4,zi(c,a.precedence,e),t.instance=c;case"script":return c=il(a.src),(s=e.querySelector(ss(c)))?(t.instance=s,st(s),s):(l=a,(s=Zt.get(c))&&(l=E({},a),cu(l,s)),e=e.ownerDocument||e,s=e.createElement("script"),st(s),mt(s,"link",l),e.head.appendChild(s),t.instance=s);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(l=t.instance,t.state.loading|=4,zi(l,a.precedence,e));return t.instance}function zi(e,t,a){for(var l=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),s=l.length?l[l.length-1]:null,c=s,u=0;u<l.length;u++){var m=l[u];if(m.dataset.precedence===t)c=m;else if(c!==s)break}c?c.parentNode.insertBefore(e,c.nextSibling):(t=a.nodeType===9?a.head:a,t.insertBefore(e,t.firstChild))}function iu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function cu(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Ti=null;function bm(e,t,a){if(Ti===null){var l=new Map,s=Ti=new Map;s.set(a,l)}else s=Ti,l=s.get(a),l||(l=new Map,s.set(a,l));if(l.has(e))return l;for(l.set(e,null),a=a.getElementsByTagName(e),s=0;s<a.length;s++){var c=a[s];if(!(c[jl]||c[ut]||e==="link"&&c.getAttribute("rel")==="stylesheet")&&c.namespaceURI!=="http://www.w3.org/2000/svg"){var u=c.getAttribute(t)||"";u=e+u;var m=l.get(u);m?m.push(c):l.set(u,[c])}}return l}function jm(e,t,a){e=e.ownerDocument||e,e.head.insertBefore(a,t==="title"?e.querySelector("head > title"):null)}function rp(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Sm(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function up(e,t,a,l){if(a.type==="stylesheet"&&(typeof l.media!="string"||matchMedia(l.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var s=sl(l.href),c=t.querySelector(ls(s));if(c){t=c._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Ei.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=c,st(c);return}c=t.ownerDocument||t,l=ym(l),(s=Zt.get(s))&&iu(l,s),c=c.createElement("link"),st(c);var u=c;u._p=new Promise(function(m,j){u.onload=m,u.onerror=j}),mt(c,"link",l),a.instance=c}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Ei.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var ru=0;function op(e,t){return e.stylesheets&&e.count===0&&Di(e,e.stylesheets),0<e.count||0<e.imgCount?function(a){var l=setTimeout(function(){if(e.stylesheets&&Di(e,e.stylesheets),e.unsuspend){var c=e.unsuspend;e.unsuspend=null,c()}},6e4+t);0<e.imgBytes&&ru===0&&(ru=62500*Vg());var s=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Di(e,e.stylesheets),e.unsuspend)){var c=e.unsuspend;e.unsuspend=null,c()}},(e.imgBytes>ru?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(l),clearTimeout(s)}}:null}function Ei(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Di(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ai=null;function Di(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ai=new Map,t.forEach(dp,e),Ai=null,Ei.call(e))}function dp(e,t){if(!(t.state.loading&4)){var a=Ai.get(e);if(a)var l=a.get(null);else{a=new Map,Ai.set(e,a);for(var s=e.querySelectorAll("link[data-precedence],style[data-precedence]"),c=0;c<s.length;c++){var u=s[c];(u.nodeName==="LINK"||u.getAttribute("media")!=="not all")&&(a.set(u.dataset.precedence,u),l=u)}l&&a.set(null,l)}s=t.instance,u=s.getAttribute("data-precedence"),c=a.get(u)||l,c===l&&a.set(null,s),a.set(u,s),this.count++,l=Ei.bind(this),s.addEventListener("load",l),s.addEventListener("error",l),c?c.parentNode.insertBefore(s,c.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(s,e.firstChild)),t.state.loading|=4}}var is={$$typeof:N,Provider:null,Consumer:null,_currentValue:ee,_currentValue2:ee,_threadCount:0};function fp(e,t,a,l,s,c,u,m,j){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=nc(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=nc(0),this.hiddenUpdates=nc(null),this.identifierPrefix=l,this.onUncaughtError=s,this.onCaughtError=c,this.onRecoverableError=u,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=j,this.incompleteTransitions=new Map}function Nm(e,t,a,l,s,c,u,m,j,k,Q,K){return e=new fp(e,t,a,u,j,k,Q,K,m),t=1,c===!0&&(t|=24),c=Mt(3,null,null,t),e.current=c,c.stateNode=e,t=Gc(),t.refCount++,e.pooledCache=t,t.refCount++,c.memoizedState={element:l,isDehydrated:a,cache:t},Xc(c),e}function Cm(e){return e?(e=Bn,e):Bn}function wm(e,t,a,l,s,c){s=Cm(s),l.context===null?l.context=s:l.pendingContext=s,l=Ba(t),l.payload={element:a},c=c===void 0?null:c,c!==null&&(l.callback=c),a=Ha(e,l,t),a!==null&&(wt(a,e,t),Hl(a,e,t))}function zm(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var a=e.retryLane;e.retryLane=a!==0&&a<t?a:t}}function uu(e,t){zm(e,t),(e=e.alternate)&&zm(e,t)}function Tm(e){if(e.tag===13||e.tag===31){var t=un(e,67108864);t!==null&&wt(t,e,67108864),uu(e,67108864)}}function Em(e){if(e.tag===13||e.tag===31){var t=Bt();t=lc(t);var a=un(e,t);a!==null&&wt(a,e,t),uu(e,t)}}var _i=!0;function mp(e,t,a,l){var s=y.T;y.T=null;var c=_.p;try{_.p=2,ou(e,t,a,l)}finally{_.p=c,y.T=s}}function hp(e,t,a,l){var s=y.T;y.T=null;var c=_.p;try{_.p=8,ou(e,t,a,l)}finally{_.p=c,y.T=s}}function ou(e,t,a,l){if(_i){var s=du(l);if(s===null)$r(e,t,l,Mi,a),Dm(e,l);else if(gp(s,e,t,a,l))l.stopPropagation();else if(Dm(e,l),t&4&&-1<xp.indexOf(e)){for(;s!==null;){var c=zn(s);if(c!==null)switch(c.tag){case 3:if(c=c.stateNode,c.current.memoizedState.isDehydrated){var u=nn(c.pendingLanes);if(u!==0){var m=c;for(m.pendingLanes|=2,m.entangledLanes|=2;u;){var j=1<<31-Dt(u);m.entanglements[1]|=j,u&=~j}ca(c),(Te&6)===0&&(hi=Et()+500,es(0))}}break;case 31:case 13:m=un(c,2),m!==null&&wt(m,c,2),gi(),uu(c,2)}if(c=du(l),c===null&&$r(e,t,l,Mi,a),c===s)break;s=c}s!==null&&l.stopPropagation()}else $r(e,t,l,null,a)}}function du(e){return e=mc(e),fu(e)}var Mi=null;function fu(e){if(Mi=null,e=wn(e),e!==null){var t=x(e);if(t===null)e=null;else{var a=t.tag;if(a===13){if(e=p(t),e!==null)return e;e=null}else if(a===31){if(e=v(t),e!==null)return e;e=null}else if(a===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Mi=e,null}function Am(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(ex()){case Ru:return 2;case Uu:return 8;case js:case tx:return 32;case Bu:return 268435456;default:return 32}default:return 32}}var mu=!1,Ja=null,$a=null,Wa=null,cs=new Map,rs=new Map,Ia=[],xp="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 Dm(e,t){switch(e){case"focusin":case"focusout":Ja=null;break;case"dragenter":case"dragleave":$a=null;break;case"mouseover":case"mouseout":Wa=null;break;case"pointerover":case"pointerout":cs.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":rs.delete(t.pointerId)}}function us(e,t,a,l,s,c){return e===null||e.nativeEvent!==c?(e={blockedOn:t,domEventName:a,eventSystemFlags:l,nativeEvent:c,targetContainers:[s]},t!==null&&(t=zn(t),t!==null&&Tm(t)),e):(e.eventSystemFlags|=l,t=e.targetContainers,s!==null&&t.indexOf(s)===-1&&t.push(s),e)}function gp(e,t,a,l,s){switch(t){case"focusin":return Ja=us(Ja,e,t,a,l,s),!0;case"dragenter":return $a=us($a,e,t,a,l,s),!0;case"mouseover":return Wa=us(Wa,e,t,a,l,s),!0;case"pointerover":var c=s.pointerId;return cs.set(c,us(cs.get(c)||null,e,t,a,l,s)),!0;case"gotpointercapture":return c=s.pointerId,rs.set(c,us(rs.get(c)||null,e,t,a,l,s)),!0}return!1}function _m(e){var t=wn(e.target);if(t!==null){var a=x(t);if(a!==null){if(t=a.tag,t===13){if(t=p(a),t!==null){e.blockedOn=t,Yu(e.priority,function(){Em(a)});return}}else if(t===31){if(t=v(a),t!==null){e.blockedOn=t,Yu(e.priority,function(){Em(a)});return}}else if(t===3&&a.stateNode.current.memoizedState.isDehydrated){e.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}e.blockedOn=null}function ki(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var a=du(e.nativeEvent);if(a===null){a=e.nativeEvent;var l=new a.constructor(a.type,a);fc=l,a.target.dispatchEvent(l),fc=null}else return t=zn(a),t!==null&&Tm(t),e.blockedOn=a,!1;t.shift()}return!0}function Mm(e,t,a){ki(e)&&a.delete(t)}function pp(){mu=!1,Ja!==null&&ki(Ja)&&(Ja=null),$a!==null&&ki($a)&&($a=null),Wa!==null&&ki(Wa)&&(Wa=null),cs.forEach(Mm),rs.forEach(Mm)}function Oi(e,t){e.blockedOn===t&&(e.blockedOn=null,mu||(mu=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,pp)))}var Ri=null;function km(e){Ri!==e&&(Ri=e,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){Ri===e&&(Ri=null);for(var t=0;t<e.length;t+=3){var a=e[t],l=e[t+1],s=e[t+2];if(typeof l!="function"){if(fu(l||a)===null)continue;break}var c=zn(a);c!==null&&(e.splice(t,3),t-=3,dr(c,{pending:!0,data:s,method:a.method,action:l},l,s))}}))}function cl(e){function t(j){return Oi(j,e)}Ja!==null&&Oi(Ja,e),$a!==null&&Oi($a,e),Wa!==null&&Oi(Wa,e),cs.forEach(t),rs.forEach(t);for(var a=0;a<Ia.length;a++){var l=Ia[a];l.blockedOn===e&&(l.blockedOn=null)}for(;0<Ia.length&&(a=Ia[0],a.blockedOn===null);)_m(a),a.blockedOn===null&&Ia.shift();if(a=(e.ownerDocument||e).$$reactFormReplay,a!=null)for(l=0;l<a.length;l+=3){var s=a[l],c=a[l+1],u=s[vt]||null;if(typeof c=="function")u||km(a);else if(u){var m=null;if(c&&c.hasAttribute("formAction")){if(s=c,u=c[vt]||null)m=u.formAction;else if(fu(s)!==null)continue}else m=u.action;typeof m=="function"?a[l+1]=m:(a.splice(l,3),l-=3),km(a)}}}function Om(){function e(c){c.canIntercept&&c.info==="react-transition"&&c.intercept({handler:function(){return new Promise(function(u){return s=u})},focusReset:"manual",scroll:"manual"})}function t(){s!==null&&(s(),s=null),l||setTimeout(a,20)}function a(){if(!l&&!navigation.transition){var c=navigation.currentEntry;c&&c.url!=null&&navigation.navigate(c.url,{state:c.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var l=!1,s=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(a,100),function(){l=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),s!==null&&(s(),s=null)}}}function hu(e){this._internalRoot=e}Ui.prototype.render=hu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(o(409));var a=t.current,l=Bt();wm(a,l,e,t,null,null)},Ui.prototype.unmount=hu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;wm(e.current,2,null,e,null,null),gi(),t[Cn]=null}};function Ui(e){this._internalRoot=e}Ui.prototype.unstable_scheduleHydration=function(e){if(e){var t=Qu();e={blockedOn:null,target:e,priority:t};for(var a=0;a<Ia.length&&t!==0&&t<Ia[a].priority;a++);Ia.splice(a,0,e),a===0&&_m(e)}};var Rm=r.version;if(Rm!=="19.2.3")throw Error(o(527,Rm,"19.2.3"));_.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(o(188)):(e=Object.keys(e).join(","),Error(o(268,e)));return e=S(t),e=e!==null?T(e):null,e=e===null?null:e.stateNode,e};var yp={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:y,reconcilerVersion:"19.2.3"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Bi=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Bi.isDisabled&&Bi.supportsFiber)try{yl=Bi.inject(yp),At=Bi}catch{}}return os.createRoot=function(e,t){if(!h(e))throw Error(o(299));var a=!1,l="",s=Gd,c=Qd,u=Yd;return t!=null&&(t.unstable_strictMode===!0&&(a=!0),t.identifierPrefix!==void 0&&(l=t.identifierPrefix),t.onUncaughtError!==void 0&&(s=t.onUncaughtError),t.onCaughtError!==void 0&&(c=t.onCaughtError),t.onRecoverableError!==void 0&&(u=t.onRecoverableError)),t=Nm(e,1,!1,null,null,a,l,null,s,c,u,Om),e[Cn]=t.current,Jr(e),new hu(t)},os.hydrateRoot=function(e,t,a){if(!h(e))throw Error(o(299));var l=!1,s="",c=Gd,u=Qd,m=Yd,j=null;return a!=null&&(a.unstable_strictMode===!0&&(l=!0),a.identifierPrefix!==void 0&&(s=a.identifierPrefix),a.onUncaughtError!==void 0&&(c=a.onUncaughtError),a.onCaughtError!==void 0&&(u=a.onCaughtError),a.onRecoverableError!==void 0&&(m=a.onRecoverableError),a.formState!==void 0&&(j=a.formState)),t=Nm(e,1,!0,t,a??null,l,s,j,c,u,m,Om),t.context=Cm(null),a=t.current,l=Bt(),l=lc(l),s=Ba(l),s.callback=null,Ha(a,s,l),a=l,t.current.lanes=a,bl(t,a),ca(t),e[Cn]=t.current,Jr(e),new Ui(t)},os.version="19.2.3",os}var Vm;function $y(){if(Vm)return xu.exports;Vm=1;function i(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(i)}catch(r){console.error(r)}}return i(),xu.exports=Jy(),xu.exports}var Wy=$y();const Iy="/api";async function ge(i,r){const d=await fetch(`${Iy}${i}`,{...r,headers:{"Content-Type":"application/json",...r?.headers}});if(!d.ok){const o=await d.json().catch(()=>({detail:"Unknown error"}));throw new Error(o.detail||`HTTP ${d.status}`)}if(d.status!==204)return d.json()}async function Py(){return ge("/projects")}async function e0(i,r,d="manual"){return ge("/projects",{method:"POST",body:JSON.stringify({name:i,path:r,spec_method:d})})}async function t0(i){await ge(`/projects/${encodeURIComponent(i)}`,{method:"DELETE"})}async function a0(i,r){return ge(`/projects/${encodeURIComponent(i)}/settings`,{method:"PATCH",body:JSON.stringify(r)})}async function n0(i,r=!1){const d=r?"?full_reset=true":"";return ge(`/projects/${encodeURIComponent(i)}/reset${d}`,{method:"POST"})}async function l0(i){return ge(`/projects/${encodeURIComponent(i)}/features`)}async function s0(i,r){return ge(`/projects/${encodeURIComponent(i)}/features`,{method:"POST",body:JSON.stringify(r)})}async function i0(i,r){await ge(`/projects/${encodeURIComponent(i)}/features/${r}`,{method:"DELETE"})}async function c0(i,r){await ge(`/projects/${encodeURIComponent(i)}/features/${r}/skip`,{method:"PATCH"})}async function r0(i,r,d){return ge(`/projects/${encodeURIComponent(i)}/features/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function u0(i,r,d){return ge(`/projects/${encodeURIComponent(i)}/features/${r}/resolve-human-input`,{method:"POST",body:JSON.stringify(d)})}async function o0(i){return ge(`/projects/${encodeURIComponent(i)}/features/graph`)}async function d0(i){return ge(`/projects/${encodeURIComponent(i)}/agent/status`)}async function Au(i,r={}){return ge(`/projects/${encodeURIComponent(i)}/agent/start`,{method:"POST",body:JSON.stringify({yolo_mode:r.yoloMode??!1,parallel_mode:r.parallelMode??!1,max_concurrency:r.maxConcurrency,testing_agent_ratio:r.testingAgentRatio})})}async function f0(i){return ge(`/projects/${encodeURIComponent(i)}/agent/stop`,{method:"POST"})}async function m0(i){return ge(`/projects/${encodeURIComponent(i)}/agent/graceful-pause`,{method:"POST"})}async function h0(i){return ge(`/projects/${encodeURIComponent(i)}/agent/graceful-resume`,{method:"POST"})}async function x0(i){return ge(`/spec/status/${encodeURIComponent(i)}`)}async function g0(){return ge("/setup/status")}async function p0(){return ge("/health")}async function y0(i){const r=i?`?path=${encodeURIComponent(i)}`:"";return ge(`/filesystem/list${r}`)}async function v0(i){const r=i.endsWith("/")?i.slice(0,-1):i,d=r.lastIndexOf("/");let o,h;if(d===2&&/^[A-Za-z]:/.test(r))o=r.substring(0,3),h=r.substring(3);else if(d>0)o=r.substring(0,d),h=r.substring(d+1);else if(d===0)o="/",h=r.substring(1);else throw new Error("Invalid path: must be an absolute path");if(!h)throw new Error("Invalid path: directory name is empty");return ge("/filesystem/create-directory",{method:"POST",body:JSON.stringify({parent_path:o,name:h})})}async function b0(i){return ge(`/assistant/conversations/${encodeURIComponent(i)}`)}async function j0(i,r){return ge(`/assistant/conversations/${encodeURIComponent(i)}/${r}`)}async function S0(i,r){await ge(`/assistant/conversations/${encodeURIComponent(i)}/${r}`,{method:"DELETE"})}async function N0(){return ge("/settings/models")}async function C0(){return ge("/settings/providers")}async function w0(){return ge("/settings")}async function z0(i){return ge("/settings",{method:"PATCH",body:JSON.stringify(i)})}async function _h(i,r){return ge(`/projects/${encodeURIComponent(i)}/devserver/start`,{method:"POST",body:JSON.stringify({command:r})})}async function T0(i){return ge(`/projects/${encodeURIComponent(i)}/devserver/stop`,{method:"POST"})}async function E0(i){return ge(`/projects/${encodeURIComponent(i)}/devserver/config`)}async function A0(i,r){return ge(`/projects/${encodeURIComponent(i)}/devserver/config`,{method:"PATCH",body:JSON.stringify({custom_command:r})})}async function D0(i){return ge(`/terminal/${encodeURIComponent(i)}`)}async function _0(i,r){return ge(`/terminal/${encodeURIComponent(i)}`,{method:"POST",body:JSON.stringify({name:null})})}async function M0(i,r,d){return ge(`/terminal/${encodeURIComponent(i)}/${r}`,{method:"PATCH",body:JSON.stringify({name:d})})}async function k0(i,r){await ge(`/terminal/${encodeURIComponent(i)}/${r}`,{method:"DELETE"})}async function O0(i){return ge(`/projects/${encodeURIComponent(i)}/schedules`)}async function R0(i,r){return ge(`/projects/${encodeURIComponent(i)}/schedules`,{method:"POST",body:JSON.stringify(r)})}async function U0(i,r,d){return ge(`/projects/${encodeURIComponent(i)}/schedules/${r}`,{method:"PATCH",body:JSON.stringify(d)})}async function B0(i,r){await ge(`/projects/${encodeURIComponent(i)}/schedules/${r}`,{method:"DELETE"})}async function H0(i){return ge(`/projects/${encodeURIComponent(i)}/schedules/next`)}function q0(){return yt({queryKey:["projects"],queryFn:Py})}function L0(){const i=Ve();return Je({mutationFn:({name:r,path:d,specMethod:o})=>e0(r,d,o),onSuccess:()=>{i.invalidateQueries({queryKey:["projects"]})}})}function G0(){const i=Ve();return Je({mutationFn:r=>t0(r),onSuccess:()=>{i.invalidateQueries({queryKey:["projects"]})}})}function Q0(i){const r=Ve();return Je({mutationFn:d=>n0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",i]}),r.invalidateQueries({queryKey:["features",i]}),r.invalidateQueries({queryKey:["agent-status",i]})}})}function Y0(i){const r=Ve();return Je({mutationFn:d=>a0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["projects"]}),r.invalidateQueries({queryKey:["project",i]})}})}function Mh(i){return yt({queryKey:["features",i],queryFn:()=>l0(i),enabled:!!i,refetchInterval:5e3})}function V0(i){const r=Ve();return Je({mutationFn:d=>s0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function X0(i){const r=Ve();return Je({mutationFn:d=>i0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function K0(i){const r=Ve();return Je({mutationFn:d=>c0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function Z0(i){const r=Ve();return Je({mutationFn:({featureId:d,update:o})=>r0(i,d,o),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function F0(i){const r=Ve();return Je({mutationFn:({featureId:d,fields:o})=>u0(i,d,{fields:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["features",i]})}})}function J0(i){return yt({queryKey:["agent-status",i],queryFn:()=>d0(i),enabled:!!i,refetchInterval:3e3})}function $0(i){const r=Ve();return Je({mutationFn:(d={})=>Au(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function W0(i){const r=Ve();return Je({mutationFn:()=>f0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function I0(i){const r=Ve();return Je({mutationFn:()=>m0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function P0(i){const r=Ve();return Je({mutationFn:()=>h0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["agent-status",i]})}})}function ev(){return yt({queryKey:["setup-status"],queryFn:g0,staleTime:6e4})}function tv(){return yt({queryKey:["health"],queryFn:p0,retry:!1})}const kh={models:[{id:"claude-opus-4-6",name:"Claude Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude Sonnet"}],default:"claude-opus-4-6"},Oh={yolo_mode:!1,model:"claude-opus-4-6",glm_mode:!1,ollama_mode:!1,testing_agent_ratio:1,playwright_headless:!0,batch_size:3,api_provider:"claude",api_base_url:null,api_has_auth_token:!1,api_model:null},av={providers:[{id:"claude",name:"Claude (Anthropic)",base_url:null,models:kh.models,default_model:"claude-opus-4-6",requires_auth:!1}],current:"claude"};function nv(){return yt({queryKey:["available-providers"],queryFn:C0,staleTime:3e5,retry:1,placeholderData:av})}function lv(){return yt({queryKey:["available-models"],queryFn:N0,staleTime:3e5,retry:1,placeholderData:kh})}function Du(){return yt({queryKey:["settings"],queryFn:w0,staleTime:6e4,retry:1,placeholderData:Oh})}function sv(){const i=Ve();return Je({mutationFn:r=>z0(r),onMutate:async r=>{await i.cancelQueries({queryKey:["settings"]});const d=i.getQueryData(["settings"]);return i.setQueryData(["settings"],o=>({...Oh,...o,...r})),{previous:d}},onError:(r,d,o)=>{o?.previous&&i.setQueryData(["settings"],o.previous)},onSettled:()=>{i.invalidateQueries({queryKey:["settings"]}),i.invalidateQueries({queryKey:["available-models"]}),i.invalidateQueries({queryKey:["available-providers"]})}})}const iv={detected_type:null,detected_command:null,custom_command:null,effective_command:null};function cv(i){return yt({queryKey:["dev-server-config",i],queryFn:()=>E0(i),enabled:!!i,staleTime:3e4,placeholderData:iv})}function rv(i){const r=Ve();return Je({mutationFn:d=>A0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-config",i]})}})}const Xm=100,uv=20,Km=500;function ov(i){const[r,d]=f.useState({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null}),o=f.useRef(null),h=f.useRef(null),x=f.useRef(0),p=f.useCallback(()=>{if(!i)return;const w=window.location.protocol==="https:"?"wss:":"ws:",O=window.location.host,B=`${w}//${O}/ws/projects/${encodeURIComponent(i)}`;try{const z=new WebSocket(B);o.current=z,z.onopen=()=>{d(D=>({...D,isConnected:!0})),x.current=0},z.onmessage=D=>{try{const b=JSON.parse(D.data);switch(b.type){case"progress":d(N=>({...N,progress:{passing:b.passing,in_progress:b.in_progress,needs_human_input:b.needs_human_input??0,total:b.total,percentage:b.percentage}}));break;case"agent_status":d(N=>({...N,agentStatus:b.status,...(b.status==="stopped"||b.status==="crashed")&&{activeAgents:[],recentActivity:[],orchestratorStatus:null}}));break;case"log":d(N=>{const G=[...N.logs.slice(-Xm+1),{line:b.line,timestamp:b.timestamp,featureId:b.featureId,agentIndex:b.agentIndex}];let J=N.agentLogs;if(b.agentIndex!==void 0){J=new Map(N.agentLogs);const I=J.get(b.agentIndex)||[],X={line:b.line,timestamp:b.timestamp,type:"output"};J.set(b.agentIndex,[...I.slice(-Km+1),X])}return{...N,logs:G,agentLogs:J}});break;case"feature_update":break;case"agent_update":d(N=>{const G=new Map(N.agentLogs),J=G.get(b.agentIndex)||[],I={line:`[STATE] ${b.state}${b.thought?`: ${b.thought}`:""}`,timestamp:b.timestamp,type:b.state==="error"?"error":"state_change"};G.set(b.agentIndex,[...J.slice(-Km+1),I]);const X=G.get(b.agentIndex)||[],P=N.activeAgents.findIndex($=>$.agentIndex===b.agentIndex);let L;b.state==="success"||b.state==="error"?b.agentIndex===-1?L=N.activeAgents.filter($=>$.featureId!==b.featureId):L=N.activeAgents.filter($=>$.agentIndex!==b.agentIndex):P>=0?(L=[...N.activeAgents],L[P]={agentIndex:b.agentIndex,agentName:b.agentName,agentType:b.agentType||"coding",featureId:b.featureId,featureIds:b.featureIds||[b.featureId],featureName:b.featureName,state:b.state,thought:b.thought,timestamp:b.timestamp,logs:X}):L=[...N.activeAgents,{agentIndex:b.agentIndex,agentName:b.agentName,agentType:b.agentType||"coding",featureId:b.featureId,featureIds:b.featureIds||[b.featureId],featureName:b.featureName,state:b.state,thought:b.thought,timestamp:b.timestamp,logs:X}];let le=N.recentActivity;b.thought&&(le=[{agentName:b.agentName,thought:b.thought,timestamp:b.timestamp,featureId:b.featureId},...N.recentActivity.slice(0,uv-1)]);let W=N.celebrationQueue,R=N.celebration;if(b.state==="success"){const $={agentName:b.agentName,featureName:b.featureName,featureId:b.featureId};N.celebration?W=[...N.celebrationQueue,$]:R=$}return{...N,activeAgents:L,agentLogs:G,recentActivity:le,celebrationQueue:W,celebration:R}});break;case"orchestrator_update":d(N=>{const G={eventType:b.eventType,message:b.message,timestamp:b.timestamp,featureId:b.featureId,featureName:b.featureName};return{...N,orchestratorStatus:{state:b.state,message:b.message,codingAgents:b.codingAgents??N.orchestratorStatus?.codingAgents??0,testingAgents:b.testingAgents??N.orchestratorStatus?.testingAgents??0,maxConcurrency:b.maxConcurrency??N.orchestratorStatus?.maxConcurrency??3,readyCount:b.readyCount??N.orchestratorStatus?.readyCount??0,blockedCount:b.blockedCount??N.orchestratorStatus?.blockedCount??0,timestamp:b.timestamp,recentEvents:[G,...(N.orchestratorStatus?.recentEvents??[]).slice(0,4)]}}});break;case"dev_log":d(N=>({...N,devLogs:[...N.devLogs.slice(-Xm+1),{line:b.line,timestamp:b.timestamp}]}));break;case"dev_server_status":d(N=>({...N,devServerStatus:b.status,devServerUrl:b.url}));break;case"pong":break}}catch{console.error("Failed to parse WebSocket message")}},z.onclose=D=>{if(d(G=>({...G,isConnected:!1})),o.current=null,D.code>=4e3&&D.code<=4999)return;const N=Math.min(1e3*Math.pow(2,x.current),3e4);x.current++,h.current=window.setTimeout(()=>{p()},N)},z.onerror=()=>{z.close()}}catch{}},[i]),v=f.useCallback(()=>{o.current?.readyState===WebSocket.OPEN&&o.current.send(JSON.stringify({type:"ping"}))},[]),g=f.useCallback(()=>{d(w=>{const[O,...B]=w.celebrationQueue;return{...w,celebration:O||null,celebrationQueue:B}})},[]);f.useEffect(()=>{if(d({progress:{passing:0,in_progress:0,needs_human_input:0,total:0,percentage:0},agentStatus:"loading",logs:[],isConnected:!1,devServerStatus:"stopped",devServerUrl:null,devLogs:[],activeAgents:[],recentActivity:[],agentLogs:new Map,celebrationQueue:[],celebration:null,orchestratorStatus:null}),!i){o.current&&(o.current.close(),o.current=null);return}p();const w=setInterval(v,3e4);return()=>{clearInterval(w),h.current&&clearTimeout(h.current),o.current&&(o.current.close(),o.current=null)}},[i,p,v]),f.useEffect(()=>{const O=setInterval(()=>{d(B=>{const z=Date.now(),D=B.activeAgents.filter(b=>z-new Date(b.timestamp).getTime()<18e5);return D.length!==B.activeAgents.length?{...B,activeAgents:D}:B})},6e4);return()=>clearInterval(O)},[]);const S=f.useCallback(()=>{d(w=>({...w,logs:[]}))},[]),T=f.useCallback(()=>{d(w=>({...w,devLogs:[]}))},[]),E=f.useCallback(w=>r.agentLogs.get(w)||[],[r.agentLogs]),H=f.useCallback(w=>{d(O=>{const B=new Map(O.agentLogs);return B.delete(w),{...O,agentLogs:B}})},[]);return{...r,clearLogs:S,clearDevLogs:T,clearCelebration:g,getAgentLogs:E,clearAgentLogs:H}}const dv={started:[523.25,659.25],completed:[523.25,659.25,783.99]};function Zm(i){try{const r=new(window.AudioContext||window.webkitAudioContext),d=dv[i],o=i==="completed"?.15:.12,h=d.length*o;d.forEach((x,p)=>{const v=r.createOscillator(),g=r.createGain();v.connect(g),g.connect(r.destination),v.type="sine",v.frequency.setValueAtTime(x,r.currentTime);const S=r.currentTime+p*o;g.gain.setValueAtTime(0,S),g.gain.linearRampToValueAtTime(.3,S+.02),g.gain.exponentialRampToValueAtTime(.01,S+o),v.start(S),v.stop(S+o)}),setTimeout(()=>{r.close()},h*1e3+100)}catch{}}function fv(i){return{pendingIds:new Set(i?.pending.map(r=>r.id)??[]),inProgressIds:new Set(i?.in_progress.map(r=>r.id)??[]),doneIds:new Set(i?.done.map(r=>r.id)??[])}}function mv(i){const r=f.useRef(null),d=f.useRef(!1);f.useEffect(()=>{if(!i)return;const o=fv(i);if(!d.current){r.current=o,d.current=!0;return}const h=r.current;if(!h){r.current=o;return}for(const x of o.inProgressIds)if(h.pendingIds.has(x)&&!h.inProgressIds.has(x)){Zm("started");break}for(const x of o.doneIds)if(!h.doneIds.has(x)&&(h.inProgressIds.has(x)||h.pendingIds.has(x))){Zm("completed");break}r.current=o},[i])}function hv(){try{const i=new(window.AudioContext||window.webkitAudioContext),r=[{freq:523.25,start:0},{freq:659.25,start:.15},{freq:783.99,start:.3},{freq:1046.5,start:.45}],d=.25;r.forEach(({freq:p,start:v})=>{const g=i.createOscillator(),S=i.createGain();g.connect(S),S.connect(i.destination),g.type="sine",g.frequency.setValueAtTime(p,i.currentTime+v);const T=i.currentTime+v;S.gain.setValueAtTime(0,T),S.gain.linearRampToValueAtTime(.4,T+.03),S.gain.setValueAtTime(.4,T+d*.6),S.gain.exponentialRampToValueAtTime(.01,T+d),g.start(T),g.stop(T+d)});const o=[523.25,659.25,783.99,1046.5],h=.65,x=.5;o.forEach(p=>{const v=i.createOscillator(),g=i.createGain();v.connect(g),g.connect(i.destination),v.type="sine",v.frequency.setValueAtTime(p,i.currentTime+h);const S=i.currentTime+h;g.gain.setValueAtTime(0,S),g.gain.linearRampToValueAtTime(.2,S+.05),g.gain.setValueAtTime(.2,S+x*.5),g.gain.exponentialRampToValueAtTime(.01,S+x),v.start(S),v.stop(S+x)}),setTimeout(()=>{i.close()},1500)}catch{}}function xv(){const r=Date.now()+2e3;Hi({particleCount:100,spread:70,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Hi({particleCount:100,spread:70,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]});const d=setInterval(()=>{if(Date.now()>r){clearInterval(d);return}Hi({particleCount:30,spread:60,origin:{x:0,y:.6},angle:60,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]}),Hi({particleCount:30,spread:60,origin:{x:1,y:.6},angle:120,colors:["#ff6b6b","#4ecdc4","#45b7d1","#96ceb4","#ffeaa7","#dfe6e9"]})},250)}function gv(i){return i?i.pending.length===0&&i.in_progress.length===0&&(i.needs_human_input?.length||0)===0&&i.done.length>0:!1}function pv(i,r){const d=f.useRef(new Set),o=f.useRef(null);f.useEffect(()=>{if(!i||!r)return;const h=gv(i);if(o.current!==r){o.current=r,h&&d.current.add(r);return}h&&!d.current.has(r)&&(d.current.add(r),xv(),hv())},[i,r])}const Vi=[{id:"twitter",name:"Twitter",description:"Clean and modern blue design",previewColors:{primary:"#4a9eff",background:"#ffffff",accent:"#e8f4ff"}},{id:"claude",name:"Claude",description:"Warm beige tones with orange accents",previewColors:{primary:"#c75b2a",background:"#faf6f0",accent:"#f5ede4"}},{id:"neo-brutalism",name:"Neo Brutalism",description:"Bold colors with hard shadows",previewColors:{primary:"#ff4d00",background:"#ffffff",accent:"#ffeb00"}},{id:"retro-arcade",name:"Retro Arcade",description:"Vibrant pink and teal pixel vibes",previewColors:{primary:"#e8457c",background:"#f0e6d3",accent:"#4eb8a5"}},{id:"aurora",name:"Aurora",description:"Deep violet and teal, like northern lights",previewColors:{primary:"#8b5cf6",background:"#faf8ff",accent:"#2dd4bf"}},{id:"business",name:"Business",description:"Deep navy (#000e4e) and gray monochrome",previewColors:{primary:"#000e4e",background:"#eaecef",accent:"#6b7280"}}],Fm="autoforge-theme",Jm="autoforge-dark-mode";function yv(i){switch(i){case"twitter":return"";case"claude":return"theme-claude";case"neo-brutalism":return"theme-neo-brutalism";case"retro-arcade":return"theme-retro-arcade";case"aurora":return"theme-aurora";case"business":return"theme-business";default:return""}}function Rh(){const[i,r]=f.useState(()=>{try{const v=localStorage.getItem(Fm);if(v==="twitter"||v==="claude"||v==="neo-brutalism"||v==="retro-arcade"||v==="aurora"||v==="business")return v}catch{}return"twitter"}),[d,o]=f.useState(()=>{try{return localStorage.getItem(Jm)==="true"}catch{return!1}});f.useEffect(()=>{const v=document.documentElement;v.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business");const g=yv(i);g&&v.classList.add(g),d?v.classList.add("dark"):v.classList.remove("dark");try{localStorage.setItem(Fm,i),localStorage.setItem(Jm,String(d))}catch{}},[i,d]);const h=f.useCallback(v=>{r(v)},[]),x=f.useCallback(v=>{o(v)},[]),p=f.useCallback(()=>{o(v=>!v)},[]);return{theme:i,setTheme:h,darkMode:d,setDarkMode:x,toggleDarkMode:p,themes:Vi,currentTheme:Vi.find(v=>v.id===i)??Vi[0]}}function Sn(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function vv({projectName:i,onError:r}){const[d,o]=f.useState([]),[h,x]=f.useState(!1),[p,v]=f.useState(!1),[g,S]=f.useState("disconnected"),[T,E]=f.useState(null),[H,w]=f.useState(null),O=f.useRef(null),B=f.useRef(null),z=f.useRef(0),D=3,b=f.useRef(null),N=f.useRef(null),G=f.useRef(!1);f.useEffect(()=>{G.current=p},[p]),f.useEffect(()=>()=>{b.current&&clearInterval(b.current),N.current&&clearTimeout(N.current),O.current&&O.current.close()},[]),f.useEffect(()=>{if(p)return;const le=setTimeout(()=>{const W=setInterval(async()=>{if(G.current){clearInterval(W);return}try{const R=await x0(i);R.exists&&R.status==="complete"&&(v(!0),x(!1),o($=>{const F=$[$.length-1];return F?.role==="assistant"&&F.isStreaming?[...$.slice(0,-1),{...F,isStreaming:!1}]:$}),o($=>[...$,{id:Sn(),role:"system",content:`Spec creation complete! Files written: ${R.files_written.join(", ")}${R.feature_count?` (${R.feature_count} features)`:""}`,timestamp:new Date}]),clearInterval(W))}catch{}},3e3);return()=>clearInterval(W)},3e3);return()=>clearTimeout(le)},[i,p]);const J=f.useCallback(()=>{if(O.current?.readyState===WebSocket.OPEN)return;S("connecting");const le=window.location.protocol==="https:"?"wss:":"ws:",W=window.location.host,R=`${le}//${W}/api/spec/ws/${encodeURIComponent(i)}`,$=new WebSocket(R);O.current=$,$.onopen=()=>{S("connected"),z.current=0,b.current=window.setInterval(()=>{$.readyState===WebSocket.OPEN&&$.send(JSON.stringify({type:"ping"}))},3e4)},$.onclose=F=>{if(S("disconnected"),b.current&&(clearInterval(b.current),b.current=null),!(F.code>=4e3&&F.code<=4999)&&z.current<D&&!G.current){z.current++;const y=Math.min(1e3*Math.pow(2,z.current),1e4);N.current=window.setTimeout(J,y)}},$.onerror=()=>{S("error"),r?.("WebSocket connection error")},$.onmessage=F=>{try{const Y=JSON.parse(F.data);switch(Y.type){case"text":{o(y=>{const _=y[y.length-1];return _?.role==="assistant"&&_.isStreaming?[...y.slice(0,-1),{..._,content:_.content+Y.content}]:(B.current=Sn(),[...y,{id:B.current,role:"assistant",content:Y.content,timestamp:new Date,isStreaming:!0}])});break}case"question":{E(Y.questions),w(Y.tool_id||null),x(!1),o(y=>{const _=y[y.length-1];return _?.role==="assistant"&&_.isStreaming?[...y.slice(0,-1),{..._,isStreaming:!1,questions:Y.questions}]:y});break}case"spec_complete":{v(!0),x(!1),o(y=>{const _=y[y.length-1];return _?.role==="assistant"&&_.isStreaming?[...y.slice(0,-1),{..._,isStreaming:!1}]:y}),o(y=>[...y,{id:Sn(),role:"system",content:`Specification file created: ${Y.path}`,timestamp:new Date}]);break}case"file_written":{o(y=>[...y,{id:Sn(),role:"system",content:`File created: ${Y.path}`,timestamp:new Date}]);break}case"complete":{v(!0),x(!1),o(y=>{const _=y[y.length-1];return _?.role==="assistant"&&_.isStreaming?[...y.slice(0,-1),{..._,isStreaming:!1}]:y});break}case"error":{x(!1),r?.(Y.content),o(y=>[...y,{id:Sn(),role:"system",content:`Error: ${Y.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{x(!1),o(y=>{const _=y[y.length-1];return _?.role==="assistant"&&_.isStreaming?[...y.slice(0,-1),{..._,isStreaming:!1}]:y});break}}}catch(Y){console.error("Failed to parse WebSocket message:",Y)}}},[i,r]),I=f.useCallback(()=>{J();const le=()=>{O.current?.readyState===WebSocket.OPEN?(x(!0),O.current.send(JSON.stringify({type:"start"}))):O.current?.readyState===WebSocket.CONNECTING&&setTimeout(le,100)};setTimeout(le,100)},[J]),X=f.useCallback((le,W)=>{if(!O.current||O.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o($=>[...$,{id:Sn(),role:"user",content:le,attachments:W,timestamp:new Date}]),E(null),w(null),x(!0);const R={type:"message",content:le};W&&W.length>0&&(R.attachments=W.map($=>({filename:$.filename,mimeType:$.mimeType,base64Data:$.base64Data}))),O.current.send(JSON.stringify(R))},[r]),P=f.useCallback(le=>{if(!O.current||O.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const W=Object.values(le).map(R=>Array.isArray(R)?R.join(", "):R).join("; ");o(R=>[...R,{id:Sn(),role:"user",content:W,timestamp:new Date}]),E(null),w(null),x(!0),O.current.send(JSON.stringify({type:"answer",answers:le,tool_id:H}))},[H,r]),L=f.useCallback(()=>{z.current=D,b.current&&(clearInterval(b.current),b.current=null),O.current&&(O.current.close(),O.current=null),S("disconnected")},[]);return{messages:d,isLoading:h,isComplete:p,connectionStatus:g,currentQuestions:T,currentToolId:H,start:I,sendMessage:X,sendAnswer:P,disconnect:L}}function He(...i){return wp(zp(i))}function Me({className:i,...r}){return n.jsx("div",{"data-slot":"card",className:He("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",i),...r})}function Wi({className:i,...r}){return n.jsx("div",{"data-slot":"card-header",className:He("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",i),...r})}function _u({className:i,...r}){return n.jsx("div",{"data-slot":"card-title",className:He("leading-none font-semibold",i),...r})}function bv({className:i,...r}){return n.jsx("div",{"data-slot":"card-description",className:He("text-muted-foreground text-sm",i),...r})}function qe({className:i,...r}){return n.jsx("div",{"data-slot":"card-content",className:He("px-6",i),...r})}const jv=[py],Sv={a:({children:i,href:r,...d})=>n.jsx("a",{href:r,target:"_blank",rel:"noopener noreferrer",...d,children:i})},Mu=f.memo(function({message:r}){const{role:d,content:o,attachments:h,timestamp:x,isStreaming:p}=r,v=x.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),S={user:{icon:Ep,bgColor:"bg-primary",textColor:"text-primary-foreground",align:"justify-end",bubbleAlign:"items-end",iconBg:"bg-primary",iconColor:"text-primary-foreground"},assistant:{icon:wu,bgColor:"bg-muted",textColor:"text-foreground",align:"justify-start",bubbleAlign:"items-start",iconBg:"bg-secondary",iconColor:"text-secondary-foreground"},system:{icon:Tp,bgColor:"bg-green-100 dark:bg-green-900/30",textColor:"text-green-900 dark:text-green-100",align:"justify-center",bubbleAlign:"items-center",iconBg:"bg-green-500",iconColor:"text-white"}}[d],T=S.icon;return d==="system"?n.jsx("div",{className:`flex ${S.align} px-4 py-2`,children:n.jsx("div",{className:`${S.bgColor} border border-border rounded-lg px-4 py-2 text-sm font-mono ${S.textColor}`,children:n.jsxs("span",{className:"flex items-center gap-2",children:[n.jsx(T,{size:14}),o]})})}):n.jsx("div",{className:`flex ${S.align} px-4 py-2`,children:n.jsxs("div",{className:`flex flex-col ${S.bubbleAlign} max-w-[80%] gap-1`,children:[n.jsxs("div",{className:"flex items-start gap-2",children:[d==="assistant"&&n.jsx("div",{className:`${S.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(T,{size:16,className:S.iconColor})}),n.jsxs(Me,{className:`${S.bgColor} px-4 py-3 border ${p?"animate-pulse":""}`,children:[o&&n.jsx("div",{className:`text-sm leading-relaxed ${S.textColor} chat-prose${d==="user"?" chat-prose-user":""}`,children:n.jsx(gy,{remarkPlugins:jv,components:Sv,children:o})}),h&&h.length>0&&n.jsx("div",{className:`flex flex-wrap gap-2 ${o?"mt-3":""}`,children:h.map(E=>n.jsxs("div",{className:"border border-border rounded p-1 bg-card",children:[n.jsx("img",{src:E.previewUrl,alt:E.filename,className:"max-w-48 max-h-48 object-contain cursor-pointer hover:opacity-90 transition-opacity rounded",onClick:()=>window.open(E.previewUrl,"_blank"),title:`${E.filename} (click to enlarge)`}),n.jsx("span",{className:"text-xs text-muted-foreground block mt-1 text-center",children:E.filename})]},E.id))}),p&&n.jsx("span",{className:"inline-block w-2 h-4 bg-primary ml-1 animate-pulse rounded"})]}),d==="user"&&n.jsx("div",{className:`${S.iconBg} p-1.5 rounded flex-shrink-0`,children:n.jsx(T,{size:16,className:S.iconColor})})]}),n.jsx("span",{className:"text-xs text-muted-foreground font-mono px-2",children:v})]})})}),Nv=zu("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function Z({className:i,variant:r="default",size:d="default",asChild:o=!1,...h}){const x=o?wh:"button";return n.jsx(x,{"data-slot":"button","data-variant":r,"data-size":d,className:He(Nv({variant:r,size:d,className:i})),...h})}function rt({className:i,type:r,...d}){return n.jsx("input",{type:r,"data-slot":"input",className:He("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",i),...d})}const Cv=zu("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function _e({className:i,variant:r="default",asChild:d=!1,...o}){const h=d?wh:"span";return n.jsx(h,{"data-slot":"badge","data-variant":r,className:He(Cv({variant:r}),i),...o})}function Uh({questions:i,onSubmit:r,disabled:d=!1}){const[o,h]=f.useState({}),[x,p]=f.useState({}),[v,g]=f.useState({}),S=(B,z,D)=>{const b=String(B);if(z==="Other"){g(N=>({...N,[b]:!0}));return}g(N=>({...N,[b]:!1})),h(N=>{if(D){const G=N[b]||[];return G.includes(z)?{...N,[b]:G.filter(J=>J!==z)}:{...N,[b]:[...G,z]}}else return{...N,[b]:z}})},T=(B,z)=>{const D=String(B);p(b=>({...b,[D]:z})),h(b=>({...b,[D]:z}))},E=()=>{const B={};i.forEach((z,D)=>{const b=String(D);v[b]&&x[b]?B[b]=x[b]:o[b]&&(B[b]=o[b])}),r(B)},H=(B,z,D)=>{const b=String(B),N=o[b];return D?Array.isArray(N)&&N.includes(z):N===z},w=B=>{const z=String(B);return!!(o[z]||v[z]&&x[z])},O=i.every((B,z)=>w(z));return n.jsxs("div",{className:"space-y-6 p-4",children:[i.map((B,z)=>n.jsx(Me,{children:n.jsxs(qe,{className:"p-4",children:[n.jsxs("div",{className:"flex items-center gap-3 mb-4",children:[n.jsx(_e,{children:B.header}),n.jsx("span",{className:"font-bold text-foreground",children:B.question}),B.multiSelect&&n.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:"(select multiple)"})]}),n.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:[B.options.map((D,b)=>{const N=H(z,D.label,B.multiSelect);return n.jsx("button",{onClick:()=>S(z,D.label,B.multiSelect),disabled:d,className:`
10
- text-left p-4 rounded-lg border-2 transition-all duration-150
11
- ${N?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
12
- disabled:opacity-50 disabled:cursor-not-allowed
13
- `,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("div",{className:`
14
- w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
15
- ${B.multiSelect?"rounded":"rounded-full"}
16
- ${N?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
17
- `,children:N&&n.jsx(ra,{size:12,strokeWidth:3})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-bold text-foreground",children:D.label}),n.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:D.description})]})]})},b)}),n.jsx("button",{onClick:()=>S(z,"Other",B.multiSelect),disabled:d,className:`
18
- text-left p-4 rounded-lg border-2 transition-all duration-150
19
- ${v[String(z)]?"bg-primary/10 border-primary":"bg-card border-border hover:border-primary/50 hover:bg-muted"}
20
- disabled:opacity-50 disabled:cursor-not-allowed
21
- `,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx("div",{className:`
22
- w-5 h-5 flex-shrink-0 mt-0.5 border-2 flex items-center justify-center
23
- ${B.multiSelect?"rounded":"rounded-full"}
24
- ${v[String(z)]?"bg-primary border-primary text-primary-foreground":"border-border bg-background"}
25
- `,children:v[String(z)]&&n.jsx(ra,{size:12,strokeWidth:3})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("div",{className:"font-bold text-foreground",children:"Other"}),n.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:"Provide a custom answer"})]})]})})]}),v[String(z)]&&n.jsx("div",{className:"mt-4",children:n.jsx(rt,{type:"text",value:x[String(z)]||"",onChange:D=>T(z,D.target.value),placeholder:"Type your answer...",autoFocus:!0,disabled:d})})]})},z)),n.jsx("div",{className:"flex justify-end",children:n.jsx(Z,{onClick:E,disabled:d||!O,children:"Continue"})})]})}function Bh(){return n.jsxs("div",{className:"flex items-center gap-2 p-4",children:[n.jsxs("div",{className:"flex items-center gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{className:"text-sm font-mono text-muted-foreground",children:"Claude is thinking..."})]})}function ps(i,r=!0){return!(i.key!=="Enter"||r&&i.shiftKey||i.nativeEvent.isComposing)}function ys({className:i,...r}){return n.jsx("textarea",{"data-slot":"textarea",className:He("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",i),...r})}const wv=zu("relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"}},defaultVariants:{variant:"default"}});function ht({className:i,variant:r,...d}){return n.jsx("div",{"data-slot":"alert",role:"alert",className:He(wv({variant:r}),i),...d})}function zv({className:i,...r}){return n.jsx("div",{"data-slot":"alert-title",className:He("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",i),...r})}function xt({className:i,...r}){return n.jsx("div",{"data-slot":"alert-description",className:He("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",i),...r})}const Tv=5*1024*1024,Ev=["image/jpeg","image/png"],Av=`Let's call it Simple Todo. This is a really simple web app that I can use to track my to-do items using a Kanban board. I should be able to add to-dos and then drag and drop them through the Kanban board. The different columns in the Kanban board are:
26
-
27
- - To Do
28
- - In Progress
29
- - Done
30
-
31
- The app should use a neobrutalism design.
32
-
33
- There is no need for user authentication either. All the to-dos will be stored in local storage, so each user has access to all of their to-dos when they open their browser. So do not worry about implementing a backend with user authentication or a database. Simply store everything in local storage. As for the design, please try to avoid AI slop, so use your front-end design skills to design something beautiful and practical. As for the content of the to-dos, we should store:
34
-
35
- - The name or the title at the very least
36
- - Optionally, we can also set tags, due dates, and priorities which should be represented as beautiful little badges on the to-do card
37
-
38
- Users should have the ability to easily clear out all the completed To-Dos. They should also be able to filter and search for To-Dos as well.
39
-
40
- You choose the rest. Keep it simple. Should be 25 features.`;function Hh({projectName:i,onComplete:r,onCancel:d,onExitToProject:o,initializerStatus:h="idle",initializerError:x=null,onRetryInitializer:p}){const[v,g]=f.useState(""),[S,T]=f.useState(null),[E,H]=f.useState(!1),[w,O]=f.useState([]),B=f.useRef(null),z=f.useRef(null),D=f.useRef(null),{messages:b,isLoading:N,isComplete:G,connectionStatus:J,currentQuestions:I,start:X,sendMessage:P,sendAnswer:L,disconnect:le}=vv({projectName:i,onComplete:r,onError:te=>T(te)});f.useEffect(()=>(X(),()=>{le()}),[]),f.useEffect(()=>{B.current?.scrollIntoView({behavior:"smooth"})},[b,I,N]),f.useEffect(()=>{!N&&!I&&z.current&&z.current.focus()},[N,I]);const W=()=>{const te=v.trim();if(!(!te&&w.length===0||N)){if(/^\s*\/exit\s*$/i.test(te)){g(""),o();return}P(te,w.length>0?w:void 0),g(""),O([]),z.current&&(z.current.style.height="auto")}},R=te=>{ps(te)&&(te.preventDefault(),W())},$=te=>{L(te)},F=f.useCallback(te=>{te&&Array.from(te).forEach(me=>{if(!Ev.includes(me.type)){T(`Invalid file type: ${me.name}. Only JPEG and PNG are supported.`);return}if(me.size>Tv){T(`File too large: ${me.name}. Maximum size is 5 MB.`);return}const re=new FileReader;re.onload=ae=>{const se=ae.target?.result,fe=se.split(",")[1],he={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:me.name,mimeType:me.type,base64Data:fe,previewUrl:se,size:me.size};O($e=>[...$e,he])},re.readAsDataURL(me)})},[]),Y=f.useCallback(te=>{O(me=>me.filter(re=>re.id!==te))},[]),y=f.useCallback(te=>{te.preventDefault(),F(te.dataTransfer.files)},[F]),_=f.useCallback(te=>{te.preventDefault()},[]),ee=()=>{switch(J){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(hl,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(hl,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(ml,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(ml,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-screen bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Create Spec: ",i]}),n.jsx(ee,{})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[G&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(Ft,{size:16}),"Complete"]}),n.jsxs(Z,{onClick:()=>{g(Av),z.current&&(z.current.style.height="auto",z.current.style.height=`${Math.min(z.current.scrollHeight,200)}px`)},variant:"ghost",size:"sm",title:"Load sample prompt (Simple Todo app)",children:[n.jsx(Ap,{size:16}),"Load Sample"]}),n.jsxs(Z,{onClick:o,variant:"ghost",size:"sm",title:"Exit chat and go to project (you can start the agent manually)",children:[n.jsx(Tu,{size:16}),"Exit to Project"]}),n.jsx(Z,{onClick:d,variant:"ghost",size:"icon",title:"Cancel",children:n.jsx(ct,{size:20})})]})]}),S&&n.jsxs(ht,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(ua,{size:16}),n.jsx(xt,{className:"flex-1",children:S}),n.jsx(Z,{onClick:()=>T(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(ct,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4 min-h-0",children:[b.length===0&&!N&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Me,{className:"p-6 max-w-md",children:n.jsxs(qe,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Spec Creation"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you create your app specification..."}),J==="error"&&n.jsxs(Z,{onClick:X,className:"mt-4",size:"sm",children:[n.jsx(en,{size:14}),"Retry Connection"]})]})})}),b.map(te=>n.jsx(Mu,{message:te},te.id)),I&&I.length>0&&n.jsx(Uh,{questions:I,onSubmit:$,disabled:N}),N&&!I&&n.jsx(Bh,{}),n.jsx("div",{ref:B})]}),!G&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:y,onDragOver:_,children:[w.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:w.map(te=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[n.jsx("img",{src:te.previewUrl,alt:te.filename,className:"w-16 h-16 object-cover rounded"}),n.jsx("button",{onClick:()=>Y(te.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(ct,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:te.filename.length>10?`${te.filename.substring(0,7)}...`:te.filename})]},te.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:D,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:te=>F(te.target.files),className:"hidden"}),n.jsx(Z,{onClick:()=>D.current?.click(),disabled:J!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:n.jsx(Xi,{size:18})}),n.jsx(ys,{ref:z,value:v,onChange:te=>{g(te.target.value),te.target.style.height="auto",te.target.style.height=`${Math.min(te.target.scrollHeight,200)}px`},onKeyDown:R,placeholder:I?"Or type a custom response...":w.length>0?"Add a message with your image(s)...":"Type your response... (or /exit to go to project)",className:"flex-1 resize-none min-h-[46px] max-h-[200px] overflow-y-auto",disabled:N&&!I||J!=="connected",rows:1}),n.jsx(Z,{onClick:W,disabled:!v.trim()&&w.length===0||N&&!I||J!=="connected",className:"px-6",children:n.jsx(Ji,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send, Shift+Enter for new line. Drag & drop or click ",n.jsx(Xi,{size:12,className:"inline"})," to attach images (JPEG/PNG, max 5MB)."]})]}),G&&n.jsx("div",{className:`p-4 border-t-2 border-border ${h==="error"?"bg-destructive":"bg-green-500"}`,children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsx("div",{className:"flex items-center gap-2",children:h==="starting"?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:20,className:"animate-spin text-white"}),n.jsxs("span",{className:"font-bold text-white",children:["Starting agent",E?" (YOLO mode)":"","..."]})]}):h==="error"?n.jsxs(n.Fragment,{children:[n.jsx(ua,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:x||"Failed to start agent"})]}):n.jsxs(n.Fragment,{children:[n.jsx(Ft,{size:20,className:"text-white"}),n.jsx("span",{className:"font-bold text-white",children:"Specification created successfully!"})]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[h==="error"&&p&&n.jsxs(Z,{onClick:p,variant:"secondary",children:[n.jsx(en,{size:14}),"Retry"]}),h==="idle"&&n.jsxs(n.Fragment,{children:[n.jsxs(Z,{onClick:()=>H(!E),variant:E?"default":"secondary",size:"sm",className:E?"bg-yellow-500 hover:bg-yellow-600 text-yellow-900":"",title:"YOLO Mode: Skip testing for rapid prototyping",children:[n.jsx(gh,{size:16}),n.jsx("span",{className:E?"font-bold":"",children:"YOLO"})]}),n.jsxs(Z,{onClick:()=>r("",E),children:["Continue to Project",n.jsx(ph,{size:16})]})]})]})]})})]})}function Dv({onSelect:i,onCancel:r,initialPath:d}){const[o,h]=f.useState(d),[x,p]=f.useState(null),[v,g]=f.useState(!1),[S,T]=f.useState(""),[E,H]=f.useState(null),{data:w,isLoading:O,error:B,refetch:z}=yt({queryKey:["filesystem","list",o],queryFn:()=>y0(o)});f.useEffect(()=>{w?.current_path&&p(w.current_path)},[w?.current_path]);const D=L=>{h(L),p(L),g(!1),T(""),H(null)},b=()=>{w?.parent_path&&D(w.parent_path)},N=L=>{D(`${L.letter}:/`)},G=L=>{L.is_directory&&D(L.path)},J=async()=>{if(!S.trim()){H("Folder name is required");return}if(!/^[a-zA-Z0-9_\-. ]+$/.test(S)){H("Invalid folder name");return}const L=`${w?.current_path}/${S.trim()}`;try{await v0(L),await z(),D(L)}catch(le){H(le instanceof Error?le.message:"Failed to create folder")}},I=()=>{x&&i(x)},X=L=>{if(!L)return[];const le=[];if(/^[A-Za-z]:/.test(L)){const $=L.slice(0,2);le.push({name:$,path:`${$}/`}),L=L.slice(3)}else L.startsWith("/")&&(le.push({name:"/",path:"/"}),L=L.slice(1));const W=L.split("/").filter(Boolean);let R=le.length>0?le[0].path:"";for(const $ of W)R=R.endsWith("/")?R+$:R+"/"+$,le.push({name:$,path:R});return le},P=w?.current_path?X(w.current_path):[];return n.jsxs("div",{className:"flex flex-col h-full max-h-[70vh]",children:[n.jsxs("div",{className:"flex-shrink-0 p-4 border-b bg-card",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[n.jsx(Qi,{size:20,className:"text-primary"}),n.jsx("span",{className:"font-semibold",children:"Select Project Folder"})]}),n.jsxs("div",{className:"flex items-center gap-1 flex-wrap text-sm",children:[w?.parent_path&&n.jsx(Z,{variant:"ghost",size:"icon-sm",onClick:b,title:"Go up",children:n.jsx(Yi,{size:16})}),P.map((L,le)=>n.jsxs("div",{className:"flex items-center",children:[le>0&&n.jsx(Um,{size:14,className:"text-muted-foreground mx-1"}),n.jsx(Z,{variant:"ghost",size:"sm",onClick:()=>D(L.path),className:le===P.length-1?"font-semibold":"",children:L.name})]},L.path))]})]}),w?.drives&&w.drives.length>0&&n.jsx("div",{className:"flex-shrink-0 p-3 border-b bg-muted/50",children:n.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[n.jsx("span",{className:"text-sm font-medium text-muted-foreground",children:"Drives:"}),w.drives.map(L=>n.jsxs(Z,{variant:o?.startsWith(L.letter)?"default":"outline",size:"sm",onClick:()=>N(L),children:[n.jsx(Dp,{size:14}),L.letter,": ",L.label&&`(${L.label})`]},L.letter))]})}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto bg-card",children:n.jsxs("div",{className:"p-2",children:[O?n.jsx("div",{className:"flex items-center justify-center p-8",children:n.jsx(Ce,{size:24,className:"animate-spin text-primary"})}):B?n.jsxs("div",{className:"p-4 text-center",children:[n.jsx(ua,{size:32,className:"mx-auto mb-2 text-destructive"}),n.jsx("p",{className:"text-destructive",children:B instanceof Error?B.message:"Failed to load directory"}),n.jsx(Z,{variant:"outline",size:"sm",onClick:()=>z(),className:"mt-2",children:"Retry"})]}):n.jsxs("div",{className:"grid grid-cols-1 gap-1",children:[w?.entries.filter(L=>L.is_directory).map(L=>n.jsxs("button",{onClick:()=>G(L),onDoubleClick:()=>D(L.path),className:`
41
- w-full text-left p-2 rounded-md
42
- flex items-center gap-2
43
- hover:bg-muted
44
- border-2 border-transparent transition-colors
45
- ${x===L.path?"bg-primary/10 border-primary":""}
46
- `,children:[x===L.path?n.jsx(Ki,{size:18,className:"text-primary flex-shrink-0"}):n.jsx(Qi,{size:18,className:"text-muted-foreground flex-shrink-0"}),n.jsx("span",{className:"truncate flex-1",children:L.name}),L.has_children&&n.jsx(Um,{size:14,className:"ml-auto text-muted-foreground flex-shrink-0"})]},L.path)),w?.entries.filter(L=>L.is_directory).length===0&&n.jsxs("div",{className:"p-4 text-center text-muted-foreground",children:[n.jsx(Qi,{size:32,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No subfolders"}),n.jsx("p",{className:"text-sm",children:"You can create a new folder or select this directory."})]})]}),v&&n.jsx(Me,{className:"mt-2",children:n.jsxs(qe,{className:"p-3",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Bm,{size:18,className:"text-primary"}),n.jsx(rt,{type:"text",value:S,onChange:L=>T(L.target.value),placeholder:"New folder name",className:"flex-1",autoFocus:!0,onKeyDown:L=>{ps(L,!1)&&J(),L.key==="Escape"&&(g(!1),T(""),H(null))}}),n.jsx(Z,{onClick:J,size:"sm",children:"Create"}),n.jsx(Z,{variant:"ghost",size:"sm",onClick:()=>{g(!1),T(""),H(null)},children:"Cancel"})]}),E&&n.jsx("p",{className:"text-sm text-destructive mt-1",children:E})]})})]})}),n.jsxs("div",{className:"flex-shrink-0 p-4 border-t bg-card",children:[n.jsx(Me,{className:"mb-3",children:n.jsxs(qe,{className:"p-2",children:[n.jsx("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected path:"}),n.jsx("div",{className:"font-mono text-sm truncate",children:x||"No folder selected"}),x&&n.jsx("div",{className:"text-xs text-muted-foreground mt-2 italic",children:"This folder will contain all project files"})]})}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs(Z,{variant:"outline",onClick:()=>g(!0),disabled:v,children:[n.jsx(Bm,{size:16}),"New Folder"]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Z,{variant:"outline",onClick:r,children:"Cancel"}),n.jsx(Z,{onClick:I,disabled:!x,children:"Select This Folder"})]})]})]})]})}function ea({...i}){return n.jsx(yy,{"data-slot":"dialog",...i})}function _v({...i}){return n.jsx(Sy,{"data-slot":"dialog-portal",...i})}function Mv({className:i,...r}){return n.jsx(Ny,{"data-slot":"dialog-overlay",className:He("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",i),...r})}function ta({className:i,children:r,showCloseButton:d=!0,...o}){return n.jsxs(_v,{"data-slot":"dialog-portal",children:[n.jsx(Mv,{}),n.jsxs(vy,{"data-slot":"dialog-content",className:He("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] max-h-[calc(100vh-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none overflow-y-auto sm:max-w-lg",i),...o,children:[r,d&&n.jsxs(zh,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[n.jsx(ct,{}),n.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function aa({className:i,...r}){return n.jsx("div",{"data-slot":"dialog-header",className:He("flex flex-col gap-2 text-center sm:text-left",i),...r})}function Pt({className:i,showCloseButton:r=!1,children:d,...o}){return n.jsxs("div",{"data-slot":"dialog-footer",className:He("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",i),...o,children:[d,r&&n.jsx(zh,{asChild:!0,children:n.jsx(Z,{variant:"outline",children:"Close"})})]})}function na({className:i,...r}){return n.jsx(by,{"data-slot":"dialog-title",className:He("text-lg leading-none font-semibold",i),...r})}function fl({className:i,...r}){return n.jsx(jy,{"data-slot":"dialog-description",className:He("text-muted-foreground text-sm",i),...r})}function Ee({className:i,...r}){return n.jsx(Cy,{"data-slot":"label",className:He("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",i),...r})}function kv({isOpen:i,onClose:r,onProjectCreated:d,onStepChange:o}){const[h,x]=f.useState("name"),[p,v]=f.useState(""),[g,S]=f.useState(null),[T,E]=f.useState(null),[H,w]=f.useState(null),[O,B]=f.useState("idle"),[z,D]=f.useState(null),[b,N]=f.useState(!1),[G,J]=f.useState("idle"),[I,X]=f.useState([]),[P,L]=f.useState(null),le=f.useRef(null),W=L0(),R=fe=>{x(fe),o?.(fe)};if(!i)return null;const $=fe=>{fe.preventDefault();const he=p.trim();if(!he){w("Please enter a project name");return}if(!/^[a-zA-Z0-9_-]+$/.test(he)){w("Project name can only contain letters, numbers, hyphens, and underscores");return}w(null),R("folder")},F=fe=>{S(fe),R("template")},Y=()=>{R("name")},y=async fe=>{if(fe==="blank"){R("method");return}if(g){J("running"),X([]),L(null);try{const he=await fetch("/api/scaffold/run",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template:"agentic-starter",target_path:g})});if(!he.ok||!he.body){J("error"),L(`Server error: ${he.status}`);return}const $e=he.body.getReader(),Jt=new TextDecoder;let zt="";for(;;){const{done:ne,value:oe}=await $e.read();if(ne)break;zt+=Jt.decode(oe,{stream:!0});const ke=zt.split(`
47
- `);zt=ke.pop()||"";for(const gt of ke)if(gt.startsWith("data: "))try{const tt=JSON.parse(gt.slice(6));tt.type==="output"?(X(lt=>{const Qe=[...lt,tt.line];return Qe.length>100?Qe.slice(-100):Qe}),setTimeout(()=>le.current?.scrollTo(0,le.current.scrollHeight),0)):tt.type==="complete"?tt.success?(J("success"),setTimeout(()=>R("method"),1200)):(J("error"),L(`Scaffold exited with code ${tt.exit_code}`)):tt.type==="error"&&(J("error"),L(tt.message))}catch{}}}catch(he){J("error"),L(he instanceof Error?he.message:"Failed to run scaffold")}}},_=async fe=>{if(E(fe),!g){w("Please select a project folder first"),R("folder");return}if(fe==="manual")try{const he=await W.mutateAsync({name:p.trim(),path:g,specMethod:"manual"});R("complete"),setTimeout(()=>{d(he.name),ae()},1500)}catch(he){w(he instanceof Error?he.message:"Failed to create project")}else try{await W.mutateAsync({name:p.trim(),path:g,specMethod:"claude"}),R("chat")}catch(he){w(he instanceof Error?he.message:"Failed to create project")}},ee=async(fe,he=!1)=>{N(he),B("starting");try{await Au(p.trim(),{yoloMode:he,maxConcurrency:3}),R("complete"),setTimeout(()=>{d(p.trim()),ae()},1500)}catch($e){B("error"),D($e instanceof Error?$e.message:"Failed to start agent")}},te=()=>{D(null),B("idle"),ee("",b)},me=()=>{R("method"),E(null)},re=()=>{d(p.trim()),ae()},ae=()=>{R("name"),v(""),S(null),E(null),w(null),B("idle"),D(null),N(!1),J("idle"),X([]),L(null),r()},se=()=>{h==="method"?(R("template"),E(null)):h==="template"?(R("folder"),J("idle"),X([]),L(null)):h==="folder"&&(R("name"),S(null))};return h==="chat"?Ch.createPortal(n.jsx("div",{className:"fixed inset-0 z-50 bg-background flex flex-col",children:n.jsx(Hh,{projectName:p.trim(),onComplete:ee,onCancel:me,onExitToProject:re,initializerStatus:O,initializerError:z,onRetryInitializer:te})}),document.body):h==="folder"?n.jsx(ea,{open:!0,onOpenChange:fe=>!fe&&ae(),children:n.jsxs(ta,{className:"sm:max-w-3xl max-h-[85vh] flex flex-col p-0",children:[n.jsx(aa,{className:"p-6 pb-4 border-b",children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(Qi,{size:24,className:"text-primary"}),n.jsxs("div",{children:[n.jsx(na,{children:"Select Project Location"}),n.jsxs(fl,{children:["Select the folder to use for project ",n.jsx("span",{className:"font-semibold font-mono",children:p}),". Create a new folder or choose an existing one."]})]})]})}),n.jsx("div",{className:"flex-1 overflow-hidden",children:n.jsx(Dv,{onSelect:F,onCancel:Y})})]})}):n.jsx(ea,{open:!0,onOpenChange:fe=>!fe&&ae(),children:n.jsxs(ta,{className:"sm:max-w-lg",children:[n.jsx(aa,{children:n.jsxs(na,{children:[h==="name"&&"Create New Project",h==="template"&&"Choose Project Template",h==="method"&&"Choose Setup Method",h==="complete"&&"Project Created!"]})}),h==="name"&&n.jsxs("form",{onSubmit:$,className:"space-y-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"project-name",children:"Project Name"}),n.jsx(rt,{id:"project-name",type:"text",value:p,onChange:fe=>v(fe.target.value),placeholder:"my-awesome-app",pattern:"^[a-zA-Z0-9_-]+$",autoFocus:!0}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Use letters, numbers, hyphens, and underscores only."})]}),H&&n.jsx(ht,{variant:"destructive",children:n.jsx(xt,{children:H})}),n.jsx(Pt,{children:n.jsxs(Z,{type:"submit",disabled:!p.trim(),children:["Next",n.jsx(ph,{size:16})]})})]}),h==="template"&&n.jsxs("div",{className:"space-y-4",children:[G==="idle"&&n.jsxs(n.Fragment,{children:[n.jsx(fl,{children:"Start with a blank project or use a pre-configured template."}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Me,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>y("blank"),children:n.jsx(qe,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:n.jsx(_p,{size:24,className:"text-secondary-foreground"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("span",{className:"font-semibold",children:"Blank Project"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Start from scratch. AutoForge will scaffold your app based on the spec you define."})]})]})})}),n.jsx(Me,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>y("agentic-starter"),children:n.jsx(qe,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(gh,{size:24,className:"text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-semibold",children:"Agentic Starter"}),n.jsx(_e,{variant:"secondary",children:"Next.js"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Pre-configured Next.js app with BetterAuth, Drizzle ORM, Postgres, and AI capabilities."})]})]})})})]}),n.jsx(Pt,{className:"sm:justify-start",children:n.jsxs(Z,{variant:"ghost",onClick:se,children:[n.jsx(Yi,{size:16}),"Back"]})})]}),G==="running"&&n.jsxs("div",{className:"space-y-3",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin text-primary"}),n.jsx("span",{className:"font-medium",children:"Setting up Agentic Starter..."})]}),n.jsx("div",{ref:le,className:"bg-muted rounded-lg p-3 max-h-60 overflow-y-auto font-mono text-xs leading-relaxed",children:I.map((fe,he)=>n.jsx("div",{className:"whitespace-pre-wrap break-all",children:fe},he))})]}),G==="success"&&n.jsxs("div",{className:"text-center py-6",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-12 h-12 bg-primary/10 rounded-full mb-3",children:n.jsx(Ft,{size:24,className:"text-primary"})}),n.jsx("p",{className:"font-medium",children:"Template ready!"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Proceeding to setup method..."})]}),G==="error"&&n.jsxs("div",{className:"space-y-3",children:[n.jsxs(ht,{variant:"destructive",children:[n.jsx(ua,{size:16}),n.jsx(xt,{children:P||"An unknown error occurred"})]}),I.length>0&&n.jsx("div",{className:"bg-muted rounded-lg p-3 max-h-40 overflow-y-auto font-mono text-xs leading-relaxed",children:I.slice(-10).map((fe,he)=>n.jsx("div",{className:"whitespace-pre-wrap break-all",children:fe},he))}),n.jsxs(Pt,{className:"sm:justify-start gap-2",children:[n.jsxs(Z,{variant:"ghost",onClick:se,children:[n.jsx(Yi,{size:16}),"Back"]}),n.jsxs(Z,{variant:"outline",onClick:()=>y("agentic-starter"),children:[n.jsx(en,{size:16}),"Retry"]})]})]})]}),h==="method"&&n.jsxs("div",{className:"space-y-4",children:[n.jsx(fl,{children:"How would you like to define your project?"}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Me,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!W.isPending&&_("claude"),children:n.jsx(qe,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-primary/10 rounded-lg",children:n.jsx(wu,{size:24,className:"text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-semibold",children:"Create with Claude"}),n.jsx(_e,{children:"Recommended"})]}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Interactive conversation to define features and generate your app specification automatically."})]})]})})}),n.jsx(Me,{className:"cursor-pointer hover:border-primary transition-colors",onClick:()=>!W.isPending&&_("manual"),children:n.jsx(qe,{className:"p-4",children:n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx("div",{className:"p-2 bg-secondary rounded-lg",children:n.jsx(vu,{size:24,className:"text-secondary-foreground"})}),n.jsxs("div",{className:"flex-1",children:[n.jsx("span",{className:"font-semibold",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:"Edit the template files directly. Best for developers who want full control."})]})]})})})]}),H&&n.jsx(ht,{variant:"destructive",children:n.jsx(xt,{children:H})}),W.isPending&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-muted-foreground",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Creating project..."})]}),n.jsx(Pt,{className:"sm:justify-start",children:n.jsxs(Z,{variant:"ghost",onClick:se,disabled:W.isPending,children:[n.jsx(Yi,{size:16}),"Back"]})})]}),h==="complete"&&n.jsxs("div",{className:"text-center py-8",children:[n.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-primary/10 rounded-full mb-4",children:n.jsx(Ft,{size:32,className:"text-primary"})}),n.jsx("h3",{className:"font-semibold text-xl mb-2",children:p}),n.jsx("p",{className:"text-muted-foreground",children:"Your project has been created successfully!"}),n.jsxs("div",{className:"mt-4 flex items-center justify-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"Redirecting..."})]})]})]})})}function qh({isOpen:i,title:r,message:d,confirmLabel:o="Confirm",cancelLabel:h="Cancel",variant:x="danger",isLoading:p=!1,onConfirm:v,onCancel:g}){return n.jsx(ea,{open:i,onOpenChange:S=>!S&&g(),children:n.jsxs(ta,{className:"sm:max-w-md",children:[n.jsx(aa,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:`p-2 rounded-lg ${x==="danger"?"bg-destructive/10 text-destructive":"bg-primary/10 text-primary"}`,children:n.jsx(Ea,{size:20})}),n.jsx(na,{children:r})]})}),n.jsx(fl,{asChild:!0,children:n.jsx("div",{className:"text-muted-foreground",children:d})}),n.jsxs(Pt,{className:"gap-2 sm:gap-0",children:[n.jsx(Z,{variant:"outline",onClick:g,disabled:p,children:h}),n.jsx(Z,{variant:x==="danger"?"destructive":"default",onClick:v,disabled:p,children:p?"Deleting...":o})]})]})})}function Ov({...i}){return n.jsx(wy,{"data-slot":"dropdown-menu",...i})}function Rv({...i}){return n.jsx(zy,{"data-slot":"dropdown-menu-trigger",...i})}function Uv({className:i,sideOffset:r=4,...d}){return n.jsx(Ty,{children:n.jsx(Ey,{"data-slot":"dropdown-menu-content",sideOffset:r,className:He("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",i),...d})})}function $m({className:i,inset:r,variant:d="default",...o}){return n.jsx(Ay,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":d,className:He("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",i),...o})}function Bv({className:i,...r}){return n.jsx(Dy,{"data-slot":"dropdown-menu-separator",className:He("bg-border -mx-1 my-1 h-px",i),...r})}function Hv({projects:i,selectedProject:r,onSelectProject:d,isLoading:o,onSpecCreatingChange:h}){const[x,p]=f.useState(!1),[v,g]=f.useState(!1),[S,T]=f.useState(null),E=G0(),H=D=>{d(D),p(!1)},w=(D,b)=>{D.stopPropagation(),D.preventDefault(),T(b)},O=async()=>{if(S)try{await E.mutateAsync(S),r===S&&d(null),T(null)}catch(D){console.error("Failed to delete project:",D),T(null)}},B=()=>{T(null)},z=i.find(D=>D.name===r);return n.jsxs("div",{className:"relative",children:[n.jsxs(Ov,{open:x,onOpenChange:p,children:[n.jsx(Rv,{asChild:!0,children:n.jsxs(Z,{variant:"outline",className:"min-w-[140px] sm:min-w-[200px] justify-between",disabled:o,title:z?.path,children:[o?n.jsx(Ce,{size:18,className:"animate-spin"}):r?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"flex items-center gap-2 truncate",children:[n.jsx(Ki,{size:18,className:"shrink-0"}),n.jsx("span",{className:"truncate",children:r})]}),z&&z.stats.total>0&&n.jsxs(_e,{className:"ml-2",children:[z.stats.percentage,"%"]})]}):n.jsx("span",{className:"text-muted-foreground",children:"Select Project"}),n.jsx(xs,{size:18,className:`transition-transform ${x?"rotate-180":""}`})]})}),n.jsxs(Uv,{align:"start",className:"w-[280px] p-0 flex flex-col",children:[i.length>0?n.jsx("div",{className:"max-h-[300px] overflow-y-auto p-1",children:i.map(D=>n.jsxs($m,{title:D.path,className:`flex items-center justify-between cursor-pointer ${D.name===r?"bg-primary/10":""}`,onSelect:()=>{d(D.name)},children:[n.jsxs("span",{className:"flex items-center gap-2 flex-1",children:[n.jsx(Ki,{size:16}),D.name,D.stats.total>0&&n.jsxs("span",{className:"text-sm font-mono text-muted-foreground ml-auto",children:[D.stats.passing,"/",D.stats.total]})]}),n.jsx(Z,{variant:"ghost",size:"icon-xs",onClick:b=>w(b,D.name),className:"text-muted-foreground hover:text-destructive",children:n.jsx(an,{size:14})})]},D.name))}):n.jsx("div",{className:"p-4 text-center text-muted-foreground",children:"No projects yet"}),n.jsx(Bv,{className:"my-0"}),n.jsx("div",{className:"p-1",children:n.jsxs($m,{onSelect:()=>{g(!0)},className:"cursor-pointer font-semibold",children:[n.jsx(tn,{size:16}),"New Project"]})})]})]}),n.jsx(kv,{isOpen:v,onClose:()=>g(!1),onProjectCreated:H,onStepChange:D=>h?.(D==="chat")}),n.jsx(qh,{isOpen:S!==null,title:"Delete Project",message:`Are you sure you want to remove "${S}" from the registry? This will unregister the project but preserve its files on disk.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:E.isPending,onConfirm:O,onCancel:B})]})}function qv({feature:i,allFeatures:r=[],compact:d=!1}){const o=i.dependencies||[];if(o.length===0)return null;const h=i.blocked??(i.blocking_dependencies&&i.blocking_dependencies.length>0)??!1,x=i.blocking_dependencies?.length??0;let p=o.length-x;if(r.length>0&&!i.blocking_dependencies){const v=new Set(r.filter(g=>g.passes).map(g=>g.id));p=o.filter(g=>v.has(g)).length}return d?n.jsx(_e,{variant:"outline",className:`gap-1 font-mono text-xs ${h?"bg-destructive/10 text-destructive border-destructive/30":"bg-muted text-muted-foreground"}`,title:h?`Blocked by ${x} ${x===1?"dependency":"dependencies"}`:`${p}/${o.length} dependencies satisfied`,children:h?n.jsxs(n.Fragment,{children:[n.jsx(Ea,{size:12}),n.jsx("span",{children:x})]}):n.jsxs(n.Fragment,{children:[n.jsx(xl,{size:12}),n.jsxs("span",{children:[p,"/",o.length]})]})}):n.jsx("div",{className:"flex items-center gap-2",children:h?n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-destructive",children:[n.jsx(Ea,{size:14}),n.jsxs("span",{className:"font-medium",children:["Blocked by ",x," ",x===1?"dependency":"dependencies"]})]}):n.jsxs("div",{className:"flex items-center gap-1.5 text-sm text-muted-foreground",children:[n.jsx(ra,{size:14,className:"text-primary"}),n.jsxs("span",{children:["All ",o.length," ",o.length===1?"dependency":"dependencies"," satisfied"]})]})})}const Lv={primary:"#6B7280",secondary:"#9CA3AF",accent:"#F3F4F6"},Gv={Spark:{primary:"#3B82F6",secondary:"#60A5FA",accent:"#DBEAFE"},Fizz:{primary:"#F97316",secondary:"#FB923C",accent:"#FFEDD5"},Octo:{primary:"#8B5CF6",secondary:"#A78BFA",accent:"#EDE9FE"},Hoot:{primary:"#22C55E",secondary:"#4ADE80",accent:"#DCFCE7"},Buzz:{primary:"#EAB308",secondary:"#FACC15",accent:"#FEF9C3"},Pixel:{primary:"#EC4899",secondary:"#F472B6",accent:"#FCE7F3"},Byte:{primary:"#06B6D4",secondary:"#22D3EE",accent:"#CFFAFE"},Nova:{primary:"#F43F5E",secondary:"#FB7185",accent:"#FFE4E6"},Chip:{primary:"#84CC16",secondary:"#A3E635",accent:"#ECFCCB"},Bolt:{primary:"#FBBF24",secondary:"#FCD34D",accent:"#FEF3C7"},Dash:{primary:"#14B8A6",secondary:"#2DD4BF",accent:"#CCFBF1"},Zap:{primary:"#A855F7",secondary:"#C084FC",accent:"#F3E8FF"},Gizmo:{primary:"#64748B",secondary:"#94A3B8",accent:"#F1F5F9"},Turbo:{primary:"#EF4444",secondary:"#F87171",accent:"#FEE2E2"},Blip:{primary:"#10B981",secondary:"#34D399",accent:"#D1FAE5"},Neon:{primary:"#D946EF",secondary:"#E879F9",accent:"#FAE8FF"},Widget:{primary:"#6366F1",secondary:"#818CF8",accent:"#E0E7FF"},Zippy:{primary:"#F59E0B",secondary:"#FBBF24",accent:"#FEF3C7"},Quirk:{primary:"#0EA5E9",secondary:"#38BDF8",accent:"#E0F2FE"},Flux:{primary:"#7C3AED",secondary:"#8B5CF6",accent:"#EDE9FE"}};function Qv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"20",width:"32",height:"28",rx:"4",fill:i.primary}),n.jsx("rect",{x:"12",y:"8",width:"40",height:"24",rx:"4",fill:i.secondary}),n.jsx("circle",{cx:"32",cy:"4",r:"4",fill:i.primary,className:"animate-pulse"}),n.jsx("rect",{x:"30",y:"4",width:"4",height:"8",fill:i.primary}),n.jsx("circle",{cx:"24",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"18",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"18",r:"2",fill:i.primary}),n.jsx("circle",{cx:"41",cy:"18",r:"2",fill:i.primary}),n.jsx("rect",{x:"26",y:"24",width:"12",height:"2",rx:"1",fill:"white"}),n.jsx("rect",{x:"6",y:"24",width:"8",height:"4",rx:"2",fill:i.primary}),n.jsx("rect",{x:"50",y:"24",width:"8",height:"4",rx:"2",fill:i.primary})]})}function Yv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"12,12 20,28 4,28",fill:i.primary}),n.jsx("polygon",{points:"52,12 60,28 44,28",fill:i.primary}),n.jsx("polygon",{points:"14,14 18,26 8,26",fill:i.accent}),n.jsx("polygon",{points:"50,14 56,26 44,26",fill:i.accent}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"24",ry:"22",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"18",ry:"14",fill:i.accent}),n.jsx("ellipse",{cx:"24",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"4",ry:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"33",r:"2",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"42",rx:"4",ry:"3",fill:i.primary}),n.jsx("line",{x1:"8",y1:"38",x2:"18",y2:"40",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"8",y1:"44",x2:"18",y2:"44",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"40",x2:"56",y2:"38",stroke:i.primary,strokeWidth:"2"}),n.jsx("line",{x1:"46",y1:"44",x2:"56",y2:"44",stroke:i.primary,strokeWidth:"2"})]})}function Vv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,48 Q8,56 12,60 Q16,64 20,58",fill:i.secondary}),n.jsx("path",{d:"M22,50 Q20,58 24,62",fill:i.secondary}),n.jsx("path",{d:"M32,52 Q32,60 36,62",fill:i.secondary}),n.jsx("path",{d:"M42,50 Q44,58 40,62",fill:i.secondary}),n.jsx("path",{d:"M52,48 Q56,56 52,60 Q48,64 44,58",fill:i.secondary}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"22",ry:"24",fill:i.primary}),n.jsx("ellipse",{cx:"24",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"40",cy:"28",rx:"6",ry:"8",fill:"white"}),n.jsx("ellipse",{cx:"25",cy:"30",rx:"3",ry:"4",fill:i.primary}),n.jsx("ellipse",{cx:"41",cy:"30",rx:"3",ry:"4",fill:i.primary}),n.jsx("path",{d:"M24,42 Q32,48 40,42",stroke:i.accent,strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Xv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"14,8 22,24 6,20",fill:i.primary}),n.jsx("polygon",{points:"50,8 58,20 42,24",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"40",rx:"20",ry:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"28",r:"20",fill:i.secondary}),n.jsx("circle",{cx:"24",cy:"26",r:"10",fill:i.accent}),n.jsx("circle",{cx:"40",cy:"26",r:"10",fill:i.accent}),n.jsx("circle",{cx:"24",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"40",cy:"26",r:"6",fill:"white"}),n.jsx("circle",{cx:"25",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"27",r:"3",fill:"#1a1a1a"}),n.jsx("polygon",{points:"32,32 28,40 36,40",fill:"#F97316"}),n.jsx("ellipse",{cx:"32",cy:"46",rx:"10",ry:"8",fill:i.accent})]})}function Kv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"14",cy:"32",rx:"10",ry:"14",fill:i.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"50",cy:"32",rx:"10",ry:"14",fill:i.accent,opacity:"0.8",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"36",rx:"14",ry:"20",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"30",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"12",ry:"6",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"16",r:"12",fill:i.primary}),n.jsx("line",{x1:"26",y1:"8",x2:"22",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("line",{x1:"38",y1:"8",x2:"42",y2:"2",stroke:"#1a1a1a",strokeWidth:"2"}),n.jsx("circle",{cx:"22",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"42",cy:"2",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"28",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"36",cy:"14",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"15",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,20 Q32,24 36,20",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Zv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"20",y:"28",width:"24",height:"28",fill:i.primary}),n.jsx("rect",{x:"16",y:"32",width:"8",height:"20",fill:i.secondary}),n.jsx("rect",{x:"40",y:"32",width:"8",height:"20",fill:i.secondary}),n.jsx("rect",{x:"16",y:"8",width:"32",height:"24",fill:i.primary}),n.jsx("rect",{x:"20",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"36",y:"14",width:"8",height:"8",fill:"white"}),n.jsx("rect",{x:"24",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"38",y:"16",width:"4",height:"4",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"26",width:"12",height:"4",fill:i.accent})]})}function Fv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,8 56,20 56,44 32,56 8,44 8,20",fill:i.primary}),n.jsx("polygon",{points:"32,8 56,20 32,32 8,20",fill:i.secondary}),n.jsx("polygon",{points:"32,32 56,20 56,44 32,56",fill:i.accent,opacity:"0.6"}),n.jsx("circle",{cx:"24",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M26,38 Q32,42 38,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function Jv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"32,2 38,22 58,22 42,36 48,56 32,44 16,56 22,36 6,22 26,22",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,37 Q32,40 36,37",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function $v({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"16",y:"16",width:"32",height:"32",rx:"4",fill:i.primary}),n.jsx("rect",{x:"20",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"30",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"40",y:"10",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"20",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"30",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("rect",{x:"40",y:"46",width:"4",height:"8",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"28",r:"4",fill:i.accent}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:i.accent}),n.jsx("circle",{cx:"26",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"38",cy:"28",r:"2",fill:"#1a1a1a"}),n.jsx("rect",{x:"26",y:"38",width:"12",height:"3",rx:"1",fill:i.accent})]})}function Wv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("polygon",{points:"36,4 20,28 30,28 24,60 48,32 36,32 44,4",fill:i.primary}),n.jsx("polygon",{points:"34,8 24,26 32,26 28,52 42,34 34,34 40,8",fill:i.secondary}),n.jsx("circle",{cx:"30",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"38",cy:"26",r:"3",fill:"white"}),n.jsx("circle",{cx:"31",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"27",r:"1.5",fill:"#1a1a1a"})]})}function Iv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"4",y:"28",width:"12",height:"3",rx:"1",fill:i.accent,opacity:"0.6"}),n.jsx("rect",{x:"8",y:"34",width:"10",height:"3",rx:"1",fill:i.accent,opacity:"0.4"}),n.jsx("ellipse",{cx:"36",cy:"32",rx:"20",ry:"16",fill:i.primary}),n.jsx("ellipse",{cx:"40",cy:"32",rx:"14",ry:"12",fill:i.secondary}),n.jsx("circle",{cx:"38",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"48",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"39",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"49",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M40,36 Q44,39 48,36",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function Pv({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M12,32 L20,28 L16,32 L22,30",stroke:i.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("path",{d:"M52,32 L44,28 L48,32 L42,30",stroke:i.secondary,strokeWidth:"2",className:"animate-pulse"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:i.primary}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:i.primary}),n.jsx("path",{d:"M28,40 Q32,44 36,40",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function eb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"28",y:"4",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"28",y:"52",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"4",y:"28",width:"8",height:"8",fill:i.primary}),n.jsx("rect",{x:"52",y:"28",width:"8",height:"8",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"20",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.secondary}),n.jsx("circle",{cx:"26",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"38",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"27",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"39",cy:"31",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M28,40 Q32,43 36,40",stroke:"#1a1a1a",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function tb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"32",cy:"58",rx:"8",ry:"6",fill:"#FBBF24",className:"animate-pulse"}),n.jsx("ellipse",{cx:"32",cy:"56",rx:"5",ry:"4",fill:"#FCD34D"}),n.jsx("ellipse",{cx:"32",cy:"32",rx:"14",ry:"24",fill:i.primary}),n.jsx("ellipse",{cx:"32",cy:"12",rx:"8",ry:"10",fill:i.secondary}),n.jsx("polygon",{points:"18,44 10,56 18,52",fill:i.secondary}),n.jsx("polygon",{points:"46,44 54,56 46,52",fill:i.secondary}),n.jsx("circle",{cx:"32",cy:"28",r:"8",fill:i.accent}),n.jsx("circle",{cx:"29",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"27",r:"2",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,32 Q32,34 35,32",stroke:"#1a1a1a",strokeWidth:"1",fill:"none"})]})}function ab({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",stroke:i.accent,strokeWidth:"2",fill:"none",opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",stroke:i.accent,strokeWidth:"2",fill:"none",opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"14",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"10",fill:i.secondary}),n.jsx("circle",{cx:"28",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"36",cy:"30",r:"3",fill:"white"}),n.jsx("circle",{cx:"29",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"37",cy:"31",r:"1.5",fill:"#1a1a1a"}),n.jsx("path",{d:"M29,37 Q32,40 35,37",stroke:"white",strokeWidth:"1.5",fill:"none",strokeLinecap:"round"})]})}function nb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("circle",{cx:"32",cy:"32",r:"26",fill:i.accent,opacity:"0.3"}),n.jsx("circle",{cx:"32",cy:"32",r:"22",fill:i.accent,opacity:"0.5"}),n.jsx("circle",{cx:"32",cy:"32",r:"18",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"12",fill:i.secondary}),n.jsx("circle",{cx:"27",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"37",cy:"30",r:"4",fill:"white"}),n.jsx("circle",{cx:"28",cy:"31",r:"2",fill:i.primary}),n.jsx("circle",{cx:"38",cy:"31",r:"2",fill:i.primary}),n.jsx("path",{d:"M28,38 Q32,42 36,38",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"})]})}function lb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"8",y:"12",width:"48",height:"40",rx:"4",fill:i.primary}),n.jsx("rect",{x:"8",y:"12",width:"48",height:"10",rx:"4",fill:i.secondary}),n.jsx("circle",{cx:"16",cy:"17",r:"2",fill:"#EF4444"}),n.jsx("circle",{cx:"24",cy:"17",r:"2",fill:"#FBBF24"}),n.jsx("circle",{cx:"32",cy:"17",r:"2",fill:"#22C55E"}),n.jsx("rect",{x:"12",y:"26",width:"40",height:"22",rx:"2",fill:i.accent}),n.jsx("circle",{cx:"24",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2",fill:i.primary}),n.jsx("circle",{cx:"41",cy:"35",r:"2",fill:i.primary}),n.jsx("rect",{x:"28",y:"42",width:"8",height:"3",rx:"1",fill:i.primary})]})}function sb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("ellipse",{cx:"22",cy:"14",rx:"6",ry:"14",fill:i.primary}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"6",ry:"14",fill:i.primary}),n.jsx("ellipse",{cx:"22",cy:"14",rx:"3",ry:"10",fill:i.accent}),n.jsx("ellipse",{cx:"42",cy:"14",rx:"3",ry:"10",fill:i.accent}),n.jsx("circle",{cx:"32",cy:"38",r:"20",fill:i.primary}),n.jsx("circle",{cx:"24",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"40",cy:"34",r:"5",fill:"white"}),n.jsx("circle",{cx:"25",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"35",r:"2.5",fill:"#1a1a1a"}),n.jsx("ellipse",{cx:"32",cy:"44",rx:"3",ry:"2",fill:i.secondary}),n.jsx("path",{d:"M32,46 L32,50 M28,52 Q32,56 36,52",stroke:"#1a1a1a",strokeWidth:"1.5",fill:"none"})]})}function ib({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M24,20 Q24,8 32,8 Q44,8 44,20 Q44,28 32,32 L32,40",stroke:i.primary,strokeWidth:"8",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"32",cy:"52",r:"6",fill:i.primary}),n.jsx("circle",{cx:"29",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"35",cy:"51",r:"1.5",fill:"white"}),n.jsx("circle",{cx:"29",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"35",cy:"51",r:"0.75",fill:"#1a1a1a"}),n.jsx("circle",{cx:"32",cy:"20",r:"4",fill:i.secondary})]})}function cb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:i.primary,strokeWidth:"16",fill:"none",strokeLinecap:"round"}),n.jsx("path",{d:"M8,32 Q16,16 32,32 Q48,48 56,32",stroke:i.secondary,strokeWidth:"10",fill:"none",strokeLinecap:"round"}),n.jsx("circle",{cx:"28",cy:"28",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"36",r:"4",fill:"white"}),n.jsx("circle",{cx:"29",cy:"29",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"41",cy:"37",r:"2",fill:"#1a1a1a"}),n.jsx("circle",{cx:"16",cy:"24",r:"2",fill:i.accent,className:"animate-pulse"}),n.jsx("circle",{cx:"48",cy:"40",r:"2",fill:i.accent,className:"animate-pulse"})]})}function rb({colors:i,size:r}){return n.jsxs("svg",{width:r,height:r,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[n.jsx("circle",{cx:"32",cy:"32",r:"28",fill:i.primary}),n.jsx("circle",{cx:"32",cy:"32",r:"24",fill:i.secondary}),n.jsx("text",{x:"32",y:"44",textAnchor:"middle",fontSize:"32",fontWeight:"bold",fill:"white",children:"?"})]})}const ub={Spark:Qv,Fizz:Yv,Octo:Vv,Hoot:Xv,Buzz:Kv,Pixel:Zv,Byte:Fv,Nova:Jv,Chip:$v,Bolt:Wv,Dash:Iv,Zap:Pv,Gizmo:eb,Turbo:tb,Blip:ab,Neon:nb,Widget:lb,Zippy:sb,Quirk:ib,Flux:cb},ob=rb,db={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}};function fb(i){switch(i){case"idle":return"animate-bounce-gentle";case"thinking":return"animate-thinking";case"working":return"animate-working";case"testing":return"animate-testing";case"success":return"animate-celebrate";case"error":case"struggling":return"animate-shake-gentle";default:return""}}function mb(i){switch(i){case"working":return"shadow-[0_0_12px_rgba(0,180,216,0.5)]";case"thinking":return"shadow-[0_0_8px_rgba(255,214,10,0.4)]";case"success":return"shadow-[0_0_16px_rgba(112,224,0,0.6)]";case"error":case"struggling":return"shadow-[0_0_12px_rgba(255,84,0,0.5)]";default:return""}}function hb(i){switch(i){case"idle":return"waiting";case"thinking":return"analyzing";case"working":return"coding";case"testing":return"running tests";case"success":return"completed successfully";case"error":return"encountered an error";case"struggling":return"having difficulty";default:return i}}function pl({name:i,state:r,size:d="md",showName:o=!1}){const h=i==="Unknown",x=h?Lv:Gv[i],{svg:p,font:v}=db[d],g=h?ob:ub[i],S=hb(r),T=`Agent ${i} is ${S}`;return n.jsxs("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":T,"aria-live":"polite",children:[n.jsx("div",{className:`
48
- rounded-full p-1 transition-all duration-300
49
- ${fb(r)}
50
- ${mb(r)}
51
- `,style:{backgroundColor:x.accent},title:T,role:"img","aria-hidden":"true",children:n.jsx(g,{colors:x,size:p})}),o&&n.jsx("span",{className:`${v} font-bold text-foreground`,style:{color:x.primary},children:i})]})}function xb(i){const r=["bg-pink-500","bg-cyan-500","bg-green-500","bg-yellow-500","bg-orange-500","bg-purple-500","bg-blue-500"];let d=0;for(let o=0;o<i.length;o++)d=i.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function gb({feature:i,onClick:r,isInProgress:d,allFeatures:o=[],activeAgent:h}){const x=xb(i.category),p=i.blocked||i.blocking_dependencies&&i.blocking_dependencies.length>0,v=!!h;return n.jsx(Me,{onClick:r,className:`
52
- cursor-pointer transition-all hover:border-primary py-3
53
- ${d?"animate-pulse":""}
54
- ${i.passes?"border-primary/50":""}
55
- ${i.needs_human_input?"border-amber-500/50":""}
56
- ${p&&!i.passes&&!i.needs_human_input?"border-destructive/50 opacity-80":""}
57
- ${v?"ring-2 ring-primary ring-offset-2":""}
58
- `,children:n.jsxs(qe,{className:"p-4 space-y-3",children:[n.jsxs("div",{className:"flex items-start justify-between gap-2",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(_e,{className:`${x} text-white`,children:i.category}),n.jsx(qv,{feature:i,allFeatures:o,compact:!0})]}),n.jsxs("span",{className:"font-mono text-sm text-muted-foreground",children:["#",i.priority]})]}),n.jsx("h3",{className:"font-semibold line-clamp-2",children:i.name}),n.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:i.description}),h&&n.jsxs("div",{className:"flex items-center gap-2 py-2 px-2 rounded-md bg-primary/10 border border-primary/30",children:[n.jsx(pl,{name:h.agentName,state:h.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"text-xs font-semibold text-primary",children:[h.agentName," is working on this!"]}),h.thought&&n.jsxs("div",{className:"flex items-center gap-1 mt-0.5",children:[n.jsx(Eu,{size:10,className:"text-muted-foreground shrink-0"}),n.jsx("p",{className:"text-[10px] text-muted-foreground truncate italic",children:h.thought})]})]})]}),n.jsx("div",{className:"flex items-center gap-2 text-sm",children:d?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:16,className:"animate-spin text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Processing..."})]}):i.passes?n.jsxs(n.Fragment,{children:[n.jsx(Ft,{size:16,className:"text-primary"}),n.jsx("span",{className:"text-primary font-medium",children:"Complete"})]}):i.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx($i,{size:16,className:"text-amber-500"}),n.jsx("span",{className:"text-amber-500 font-medium",children:"Needs Your Input"})]}):p?n.jsxs(n.Fragment,{children:[n.jsx(ol,{size:16,className:"text-destructive"}),n.jsx("span",{className:"text-destructive",children:"Blocked"})]}):n.jsxs(n.Fragment,{children:[n.jsx(ol,{size:16,className:"text-muted-foreground"}),n.jsx("span",{className:"text-muted-foreground",children:"Pending"})]})})]})})}const pb={pending:"border-t-4 border-t-muted",progress:"border-t-4 border-t-primary",done:"border-t-4 border-t-primary",human_input:"border-t-4 border-t-amber-500"};function qi({title:i,count:r,features:d,allFeatures:o=[],activeAgents:h=[],color:x,onFeatureClick:p,onAddFeature:v,onExpandProject:g,showExpandButton:S,onCreateSpec:T,showCreateSpec:E}){const H=new Map;for(const w of h){const O=w.featureIds||[w.featureId];for(const B of O)H.set(B,w)}return n.jsxs(Me,{className:`overflow-hidden ${pb[x]} py-0`,children:[n.jsxs(Wi,{className:"px-4 py-3 border-b flex-row items-center justify-between space-y-0",children:[n.jsxs(_u,{className:"text-lg font-semibold flex items-center gap-2",children:[i,n.jsx(_e,{variant:"secondary",children:r})]}),(v||g)&&n.jsxs("div",{className:"flex items-center gap-2",children:[v&&n.jsx(Z,{onClick:v,size:"icon-sm",title:"Add new feature (N)",children:n.jsx(tn,{size:16})}),g&&S&&n.jsx(Z,{onClick:g,size:"icon-sm",variant:"secondary",title:"Expand project with AI (E)",children:n.jsx(Nn,{size:16})})]})]}),n.jsx(qe,{className:"p-0",children:n.jsx("div",{className:"h-[600px] overflow-y-auto",children:n.jsx("div",{className:"p-4 space-y-3",children:d.length===0?n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:E&&T?n.jsxs("div",{className:"space-y-4",children:[n.jsx("p",{children:"No spec created yet"}),n.jsxs(Z,{onClick:T,children:[n.jsx(Mp,{size:18}),"Create Spec with AI"]})]}):"No features"}):d.map((w,O)=>n.jsx("div",{className:"animate-slide-in",style:{animationDelay:`${O*50}ms`},children:n.jsx(gb,{feature:w,onClick:()=>p(w),isInProgress:x==="progress",allFeatures:o,activeAgent:H.get(w.id)})},w.id))})})})]})}function yb({features:i,onFeatureClick:r,onAddFeature:d,onExpandProject:o,activeAgents:h=[],onCreateSpec:x,hasSpec:p=!0}){const v=i&&i.pending.length+i.in_progress.length+i.done.length+(i.needs_human_input?.length||0)>0,g=i?[...i.pending,...i.in_progress,...i.done,...i.needs_human_input||[]]:[],S=i?.needs_human_input?.length||0,T=S>0;return i?n.jsxs("div",{className:`grid grid-cols-1 ${T?"md:grid-cols-4":"md:grid-cols-3"} gap-6`,children:[n.jsx(qi,{title:"Pending",count:i.pending.length,features:i.pending,allFeatures:g,activeAgents:h,color:"pending",onFeatureClick:r,onAddFeature:d,onExpandProject:o,showExpandButton:v&&p,onCreateSpec:x,showCreateSpec:!p&&!v}),n.jsx(qi,{title:"In Progress",count:i.in_progress.length,features:i.in_progress,allFeatures:g,activeAgents:h,color:"progress",onFeatureClick:r}),T&&n.jsx(qi,{title:"Needs Input",count:S,features:i.needs_human_input,allFeatures:g,activeAgents:h,color:"human_input",onFeatureClick:r}),n.jsx(qi,{title:"Done",count:i.done.length,features:i.done,allFeatures:g,activeAgents:h,color:"done",onFeatureClick:r})]}):n.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:["Pending","In Progress","Done"].map(E=>n.jsx(Me,{className:"py-4",children:n.jsxs(qe,{className:"p-4",children:[n.jsx("div",{className:"h-8 bg-muted animate-pulse rounded mb-4"}),n.jsx("div",{className:"space-y-3",children:[1,2,3].map(H=>n.jsx("div",{className:"h-24 bg-muted animate-pulse rounded"},H))})]})},E))})}function vb(i){return yt({queryKey:["schedules",i],queryFn:()=>O0(i),enabled:!!i})}function bb(i){const r=Ve();return Je({mutationFn:d=>R0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function jb(i){const r=Ve();return Je({mutationFn:d=>B0(i,d),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function Sb(i){const r=Ve();return Je({mutationFn:({scheduleId:d,enabled:o})=>U0(i,d,{enabled:o}),onSuccess:()=>{r.invalidateQueries({queryKey:["schedules",i]}),r.invalidateQueries({queryKey:["nextRun",i]})}})}function Nb(i){return yt({queryKey:["nextRun",i],queryFn:()=>H0(i),enabled:!!i,refetchInterval:3e4})}function Cb(i){const[r,d]=i.split(":").map(Number),o=new Date(Date.UTC(2e3,0,15,r,d,0,0)),h=o.getDate();let x=0;h===14&&(x=-1),h===16&&(x=1);const p=o.getHours(),v=o.getMinutes();return{time:`${String(p).padStart(2,"0")}:${String(v).padStart(2,"0")}`,dayShift:x}}function wb(i){const[r,d]=i.split(":").map(Number),o=new Date(2e3,0,15,r,d,0,0),h=o.getUTCDate();let x=0;h===14&&(x=-1),h===16&&(x=1);const p=o.getUTCHours(),v=o.getUTCMinutes();return{time:`${String(p).padStart(2,"0")}:${String(v).padStart(2,"0")}`,dayShift:x}}function zb(i){let r=0;return i&1&&(r|=2),i&2&&(r|=4),i&4&&(r|=8),i&8&&(r|=16),i&16&&(r|=32),i&32&&(r|=64),i&64&&(r|=1),r}function Tb(i){let r=0;return i&1&&(r|=64),i&2&&(r|=1),i&4&&(r|=2),i&8&&(r|=4),i&16&&(r|=8),i&32&&(r|=16),i&64&&(r|=32),r}function Wm(i,r){return r===1?zb(i):r===-1?Tb(i):i}function Im(i){const r=Math.floor(i/60),d=i%60;return r===0?`${d}m`:d===0?`${r}h`:`${r}h ${d}m`}function Eb(i){const r=new Date(i),d=new Date,o=r.getTime()-d.getTime();return Math.floor(o/(1e3*60*60))<24?r.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):r.toLocaleString([],{weekday:"short",hour:"numeric",minute:"2-digit"})}function Ab(i){return new Date(i).toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}const Pm=[{label:"Mon",bit:1},{label:"Tue",bit:2},{label:"Wed",bit:4},{label:"Thu",bit:8},{label:"Fri",bit:16},{label:"Sat",bit:32},{label:"Sun",bit:64}];function eh(i,r){return(i&r)!==0}function Db(i,r){return i^r}function _b({className:i,...r}){return n.jsx(_y,{"data-slot":"checkbox",className:He("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",i),...r,children:n.jsx(My,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:n.jsx(ra,{className:"size-3.5"})})})}function ju({className:i,orientation:r="horizontal",decorative:d=!0,...o}){return n.jsx(ky,{"data-slot":"separator",decorative:d,orientation:r,className:He("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",i),...o})}function Mb({projectName:i,isOpen:r,onClose:d}){const o=f.useRef(null),h=f.useRef(null),{data:x,isLoading:p}=vb(i),v=bb(i),g=jb(i),S=Sb(i),[T,E]=f.useState({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3}),[H,w]=f.useState(null);f.useEffect(()=>{r&&h.current&&h.current.focus()},[r]);const O=x?.schedules||[],B=async()=>{try{if(w(null),T.days_of_week===0){w("Please select at least one day");return}if(T.duration_minutes<1||T.duration_minutes>1440){w("Duration must be between 1 and 1440 minutes");return}const{time:N,dayShift:G}=wb(T.start_time),J=Wm(T.days_of_week,G),I={...T,start_time:N,days_of_week:J};await v.mutateAsync(I),E({start_time:"22:00",duration_minutes:240,days_of_week:31,enabled:!0,yolo_mode:!1,model:null,max_concurrency:3})}catch(N){w(N instanceof Error?N.message:"Failed to create schedule")}},z=async(N,G)=>{try{w(null),await S.mutateAsync({scheduleId:N,enabled:!G})}catch(J){w(J instanceof Error?J.message:"Failed to toggle schedule")}},D=async N=>{if(confirm("Are you sure you want to delete this schedule?"))try{w(null),await g.mutateAsync(N)}catch(G){w(G instanceof Error?G.message:"Failed to delete schedule")}},b=N=>{E(G=>({...G,days_of_week:Db(G.days_of_week,N)}))};return n.jsx(ea,{open:r,onOpenChange:N=>!N&&d(),children:n.jsxs(ta,{ref:o,className:"sm:max-w-[650px] max-h-[80vh] flex flex-col p-0",children:[n.jsx(aa,{className:"p-6 pb-4",children:n.jsxs(na,{className:"flex items-center gap-2",children:[n.jsx(dl,{size:24,className:"text-primary"}),"Agent Schedules"]})}),n.jsxs("div",{className:"flex-1 min-h-0 overflow-y-auto px-6",children:[H&&n.jsx(ht,{variant:"destructive",className:"mb-4",children:n.jsx(xt,{children:H})}),p&&n.jsx("div",{className:"text-center py-8 text-muted-foreground",children:"Loading schedules..."}),!p&&O.length>0&&n.jsx("div",{className:"space-y-3 mb-6",children:O.map(N=>{const{time:G,dayShift:J}=Cb(N.start_time),I=Im(N.duration_minutes),X=Wm(N.days_of_week,J);return n.jsx(Me,{children:n.jsx(qe,{className:"p-4",children:n.jsxs("div",{className:"flex items-start justify-between gap-4",children:[n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-baseline gap-2 mb-2",children:[n.jsx("span",{className:"text-lg font-semibold",children:G}),n.jsxs("span",{className:"text-sm text-muted-foreground",children:["for ",I]})]}),n.jsx("div",{className:"flex gap-1 mb-2",children:Pm.map(P=>{const L=eh(X,P.bit);return n.jsx("span",{className:`text-xs px-2 py-1 rounded border ${L?"border-primary bg-primary text-primary-foreground font-medium":"border-border text-muted-foreground"}`,children:P.label},P.label)})}),n.jsxs("div",{className:"flex gap-3 text-xs text-muted-foreground",children:[N.yolo_mode&&n.jsx("span",{className:"font-semibold text-yellow-600",children:"YOLO mode"}),n.jsxs("span",{className:"flex items-center gap-1",children:[n.jsx(xl,{size:12}),N.max_concurrency,"x"]}),N.model&&n.jsxs("span",{children:["Model: ",N.model]}),N.crash_count>0&&n.jsxs("span",{className:"text-destructive",children:["Crashes: ",N.crash_count]})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Z,{variant:"ghost",size:"sm",onClick:()=>z(N.id,N.enabled),disabled:S.isPending,className:N.enabled?"text-primary":"text-muted-foreground",children:N.enabled?"Enabled":"Disabled"}),n.jsx(Z,{variant:"ghost",size:"icon-sm",onClick:()=>D(N.id),disabled:g.isPending,className:"text-destructive hover:text-destructive",children:n.jsx(an,{size:16})})]})]})})},N.id)})}),!p&&O.length===0&&n.jsxs("div",{className:"text-center py-6 text-muted-foreground mb-6",children:[n.jsx(dl,{size:48,className:"mx-auto mb-2 opacity-50"}),n.jsx("p",{children:"No schedules configured yet"})]}),n.jsx(ju,{className:"my-6"}),n.jsxs("div",{className:"pb-6",children:[n.jsx("h3",{className:"text-lg font-semibold mb-4",children:"Add New Schedule"}),n.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Start Time (Local)"}),n.jsx(rt,{type:"time",value:T.start_time,onChange:N=>E(G=>({...G,start_time:N.target.value}))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Duration (minutes)"}),n.jsx(rt,{type:"number",min:"1",max:"1440",value:T.duration_minutes,onChange:N=>{const G=parseInt(N.target.value,10),J=isNaN(G)?1:Math.max(1,Math.min(1440,G));E(I=>({...I,duration_minutes:J}))}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:Im(T.duration_minutes)})]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Ee,{children:"Days"}),n.jsx("div",{className:"flex gap-2",children:Pm.map(N=>{const G=eh(T.days_of_week,N.bit);return n.jsx(Z,{variant:G?"default":"outline",size:"sm",onClick:()=>b(N.bit),children:N.label},N.label)})})]}),n.jsxs("div",{className:"mb-4 flex items-center space-x-2",children:[n.jsx(_b,{id:"yolo-mode",checked:T.yolo_mode,onCheckedChange:N=>E(G=>({...G,yolo_mode:N===!0}))}),n.jsx(Ee,{htmlFor:"yolo-mode",className:"font-normal",children:"YOLO Mode (skip testing)"})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Ee,{children:"Concurrent Agents (1-5)"}),n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(xl,{size:16,className:T.max_concurrency>1?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:T.max_concurrency,onChange:N=>E(G=>({...G,max_concurrency:Number(N.target.value)})),className:"flex-1 h-2 accent-primary cursor-pointer"}),n.jsxs("span",{className:"text-sm font-medium min-w-[2rem] text-center",children:[T.max_concurrency,"x"]})]}),n.jsxs("p",{className:"text-xs text-muted-foreground",children:["Run ",T.max_concurrency," agent",T.max_concurrency>1?"s":""," in parallel for faster feature completion"]})]}),n.jsxs("div",{className:"mb-4 space-y-2",children:[n.jsx(Ee,{children:"Model (optional, defaults to global setting)"}),n.jsx(rt,{placeholder:"e.g., claude-3-5-sonnet-20241022",value:T.model||"",onChange:N=>E(G=>({...G,model:N.target.value||null}))})]})]})]}),n.jsxs(Pt,{className:"p-6 pt-4 border-t",children:[n.jsx(Z,{variant:"outline",onClick:d,children:"Close"}),n.jsx(Z,{onClick:B,disabled:v.isPending||T.days_of_week===0,children:v.isPending?"Creating...":"Create Schedule"})]})]})})}function kb({projectName:i,status:r,defaultConcurrency:d=3}){const{data:o}=Du(),h=o?.yolo_mode??!1,[x,p]=f.useState(d);f.useEffect(()=>{p(d)},[d]);const v=Y0(i),g=f.useRef(null),S=f.useCallback(P=>{p(P),g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{v.mutate({default_concurrency:P})},500)},[v]);f.useEffect(()=>()=>{g.current&&clearTimeout(g.current)},[]);const T=$0(i),E=W0(i),H=I0(i),w=P0(i),{data:O}=Nb(i),[B,z]=f.useState(!1),D=T.isPending||E.isPending||H.isPending||w.isPending,b=r==="running"||r==="paused"||r==="pausing"||r==="paused_graceful",N=r==="loading",G=x>1,J=()=>T.mutate({yoloMode:h,parallelMode:G,maxConcurrency:x,testingAgentRatio:o?.testing_agent_ratio}),I=()=>E.mutate(),X=r==="stopped"||r==="crashed";return n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"flex items-center gap-2 sm:gap-4",children:[X&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(xl,{size:16,className:G?"text-primary":"text-muted-foreground"}),n.jsx("input",{type:"range",min:1,max:5,value:x,onChange:P=>S(Number(P.target.value)),disabled:D,className:"w-16 h-2 accent-primary cursor-pointer",title:`${x} concurrent agent${x>1?"s":""}`,"aria-label":"Set number of concurrent agents"}),n.jsxs("span",{className:"text-xs font-semibold min-w-[1.5rem] text-center",children:[x,"x"]})]}),b&&G&&n.jsxs(_e,{variant:"secondary",className:"gap-1",children:[n.jsx(xl,{size:14}),x,"x"]}),O?.is_currently_running&&O.next_end&&n.jsxs(_e,{variant:"default",className:"gap-1",children:[n.jsx(dl,{size:14}),"Running until ",Ab(O.next_end)]}),!O?.is_currently_running&&O?.next_start&&n.jsxs(_e,{variant:"secondary",className:"gap-1",children:[n.jsx(dl,{size:14}),"Next: ",Eb(O.next_start)]}),N?n.jsx(Z,{disabled:!0,variant:"outline",size:"sm",children:n.jsx(Ce,{size:18,className:"animate-spin"})}):X?n.jsx(Z,{onClick:J,disabled:D,variant:h?"secondary":"default",size:"sm",title:h?"Start Agent (YOLO Mode)":"Start Agent",children:D?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(kp,{size:18})}):n.jsxs("div",{className:"flex items-center gap-1.5",children:[r==="pausing"&&n.jsxs(_e,{variant:"secondary",className:"gap-1 animate-pulse",children:[n.jsx(Ce,{size:12,className:"animate-spin"}),"Pausing..."]}),r==="paused_graceful"&&n.jsxs(n.Fragment,{children:[n.jsx(_e,{variant:"outline",className:"gap-1",children:"Paused"}),n.jsx(Z,{onClick:()=>w.mutate(),disabled:D,variant:"default",size:"sm",title:"Resume agent",children:w.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Op,{size:18})})]}),r==="running"&&n.jsx(Z,{onClick:()=>H.mutate(),disabled:D,variant:"outline",size:"sm",title:"Pause agent (finish current work first)",children:H.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Rp,{size:18})}),n.jsx(Z,{onClick:I,disabled:D,variant:"destructive",size:"sm",title:"Stop Agent (immediate)",children:E.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(yh,{size:18})})]}),n.jsx(Z,{variant:"outline",size:"sm",onClick:()=>z(!0),title:"Manage schedules",children:n.jsx(dl,{size:18})})]}),n.jsx(Mb,{projectName:i,isOpen:B,onClose:()=>z(!1)})]})}const Ob=3e4;function Rb(i){const r=i.trim();return!(/^\[Tool:/.test(r)||/^\s*Input:\s*\{/.test(r)||/^\[(Done|Error)\]/.test(r)||/^Output:/.test(r)||/^[[{]/.test(r)||r.length<10||/^[A-Za-z]:\\/.test(r)||/^\/[a-z]/.test(r))}function Ub(i){for(let r=i.length-1;r>=0;r--)if(Rb(i[r].line))return i[r].line.trim();return null}function Bb({passing:i,total:r,percentage:d,isConnected:o,logs:h=[],agentStatus:x}){const p=f.useMemo(()=>Ub(h),[h]),[v,g]=f.useState(null),[S,T]=f.useState(!0),E=h.length>0?new Date(h[h.length-1].timestamp).getTime():0,H=f.useMemo(()=>p?x==="running"||x==="pausing"?!0:x==="paused"?Date.now()-E<Ob:!1:!1,[p,x,E]);f.useEffect(()=>{if(p!==v&&p){T(!1);const O=setTimeout(()=>{g(p),T(!0)},150);return()=>clearTimeout(O)}},[p,v]);const w=x==="running";return n.jsxs(Me,{children:[n.jsxs(Wi,{className:"flex-row items-center justify-between space-y-0 pb-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(_u,{className:"text-xl uppercase tracking-wide",children:"Progress"}),n.jsx(_e,{variant:o?"default":"destructive",className:"gap-1",children:o?n.jsxs(n.Fragment,{children:[n.jsx(hl,{size:14}),"Live"]}):n.jsxs(n.Fragment,{children:[n.jsx(ml,{size:14}),"Offline"]})})]}),n.jsxs("div",{className:"flex items-baseline gap-1",children:[n.jsx("span",{className:"font-mono text-lg font-bold text-primary",children:i}),n.jsx("span",{className:"text-sm text-muted-foreground",children:"/"}),n.jsx("span",{className:"font-mono text-lg font-bold",children:r})]})]}),n.jsxs(qe,{className:"pt-3 pb-3",children:[n.jsxs("div",{className:"flex items-center gap-4",children:[n.jsx("div",{className:"h-2.5 bg-muted rounded-full overflow-hidden flex-1",children:n.jsx("div",{className:"h-full bg-primary rounded-full transition-all duration-500 ease-out",style:{width:`${d}%`}})}),n.jsxs("span",{className:"text-sm font-bold tabular-nums text-muted-foreground w-12 text-right",children:[d.toFixed(1),"%"]})]}),n.jsx("div",{className:`
59
- transition-all duration-300 ease-out overflow-hidden
60
- ${H&&v?"opacity-100 max-h-10 mt-3":"opacity-0 max-h-0 mt-0"}
61
- `,children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("div",{className:"relative shrink-0",children:[n.jsx(Up,{size:16,className:"text-primary",strokeWidth:2.5}),w&&n.jsx(Nn,{size:8,className:"absolute -top-1 -right-1 text-yellow-500 animate-pulse"})]}),n.jsx("p",{className:"font-mono text-sm truncate text-muted-foreground transition-all duration-150 ease-out",style:{opacity:S?1:0,transform:S?"translateY(0)":"translateY(-4px)"},children:v?.replace(/:$/,"")})]})})]})]})}function Hb({onComplete:i}){const{data:r,isLoading:d,error:o}=ev(),{data:h,error:x}=tv(),p=h?.status==="healthy"&&!x,v=p&&r?.claude_cli&&r?.credentials,g=f.useCallback(()=>{v&&i()},[v,i]);return f.useEffect(()=>{g()},[g]),n.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:n.jsx(Me,{className:"w-full max-w-lg",children:n.jsxs(qe,{className:"p-8",children:[n.jsx("h1",{className:"font-display text-3xl font-bold text-center mb-2",children:"Setup Wizard"}),n.jsx("p",{className:"text-center text-muted-foreground mb-8",children:"Let's make sure everything is ready to go"}),n.jsxs("div",{className:"space-y-4",children:[n.jsx(Li,{label:"Backend Server",description:"FastAPI server is running",status:x?"error":p?"success":"loading"}),n.jsx(Li,{label:"Claude CLI",description:"Claude Code CLI is installed",status:d?"loading":o?"error":r?.claude_cli?"success":"error",helpLink:"https://docs.anthropic.com/claude/claude-code",helpText:"Install Claude Code"}),n.jsx(Li,{label:"Anthropic Credentials",description:"API credentials are configured",status:d?"loading":o?"error":r?.credentials?"success":"error",helpLink:"https://console.anthropic.com/account/keys",helpText:"Get API Key"}),n.jsx(Li,{label:"Node.js",description:"Node.js is installed (for UI dev)",status:d?"loading":o?"error":r?.node?"success":"warning",helpLink:"https://nodejs.org",helpText:"Install Node.js",optional:!0})]}),v&&n.jsx(Z,{onClick:i,className:"w-full mt-8 bg-green-500 hover:bg-green-600 text-white",children:"Continue to Dashboard"}),(x||o)&&n.jsxs(ht,{variant:"destructive",className:"mt-6",children:[n.jsx(zv,{children:"Setup Error"}),n.jsx(xt,{children:x?"Cannot connect to the backend server. Make sure to run start_ui.py first.":"Failed to check setup status."})]})]})})})}function Li({label:i,description:r,status:d,helpLink:o,helpText:h,optional:x}){return n.jsxs("div",{className:"flex items-start gap-4 p-4 bg-background border-2 border-border rounded-lg",children:[n.jsx("div",{className:"flex-shrink-0 mt-1",children:d==="success"?n.jsx(Ft,{size:24,className:"text-green-500"}):d==="error"?n.jsx(Hm,{size:24,className:"text-destructive"}):d==="warning"?n.jsx(Hm,{size:24,className:"text-yellow-500"}):n.jsx(Ce,{size:24,className:"animate-spin text-primary"})}),n.jsxs("div",{className:"flex-1",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"font-display font-bold text-foreground",children:i}),x&&n.jsx("span",{className:"text-xs text-muted-foreground",children:"(optional)"})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:r}),(d==="error"||d==="warning")&&o&&n.jsxs("a",{href:o,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 mt-2 text-sm text-primary hover:underline",children:[h," ",n.jsx(Tu,{size:12})]})]})]})}function qb({projectName:i,onClose:r}){const d=f.useId(),[o,h]=f.useState(""),[x,p]=f.useState(""),[v,g]=f.useState(""),[S,T]=f.useState(""),[E,H]=f.useState([{id:`${d}-step-0`,value:""}]),[w,O]=f.useState(null),[B,z]=f.useState(1),D=V0(i),b=()=>{H([...E,{id:`${d}-step-${B}`,value:""}]),z(B+1)},N=X=>{H(E.filter(P=>P.id!==X))},G=(X,P)=>{H(E.map(L=>L.id===X?{...L,value:P}:L))},J=async X=>{X.preventDefault(),O(null);const P=E.map(L=>L.value.trim()).filter(L=>L.length>0);try{await D.mutateAsync({category:o.trim(),name:x.trim(),description:v.trim(),steps:P,priority:S?parseInt(S,10):void 0}),r()}catch(L){O(L instanceof Error?L.message:"Failed to create feature")}},I=o.trim()&&x.trim()&&v.trim();return n.jsx(ea,{open:!0,onOpenChange:X=>!X&&r(),children:n.jsxs(ta,{className:"sm:max-w-2xl",children:[n.jsx(aa,{children:n.jsx(na,{children:"Add Feature"})}),n.jsxs("form",{onSubmit:J,className:"space-y-4",children:[w&&n.jsxs(ht,{variant:"destructive",children:[n.jsx(ua,{className:"h-4 w-4"}),n.jsxs(xt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:w}),n.jsx(Z,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>O(null),children:n.jsx(ct,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(Ee,{htmlFor:"category",children:"Category"}),n.jsx(rt,{id:"category",type:"text",value:o,onChange:X=>h(X.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(Ee,{htmlFor:"priority",children:"Priority"}),n.jsx(rt,{id:"priority",type:"number",value:S,onChange:X=>T(X.target.value),placeholder:"Auto",min:"1"})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"name",children:"Feature Name"}),n.jsx(rt,{id:"name",type:"text",value:x,onChange:X=>p(X.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"description",children:"Description"}),n.jsx(ys,{id:"description",value:v,onChange:X=>g(X.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Test Steps (Optional)"}),n.jsx("div",{className:"space-y-2",children:E.map((X,P)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:P+1}),n.jsx(rt,{type:"text",value:X.value,onChange:L=>G(X.id,L.target.value),placeholder:"Describe this step...",className:"flex-1"}),E.length>1&&n.jsx(Z,{type:"button",variant:"ghost",size:"icon",onClick:()=>N(X.id),children:n.jsx(an,{size:18})})]},X.id))}),n.jsxs(Z,{type:"button",variant:"ghost",size:"sm",onClick:b,children:[n.jsx(tn,{size:16}),"Add Step"]})]}),n.jsxs(Pt,{className:"pt-4 border-t",children:[n.jsx(Z,{type:"button",variant:"outline",onClick:r,children:"Cancel"}),n.jsx(Z,{type:"submit",disabled:!I||D.isPending,children:D.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(tn,{size:18}),"Create Feature"]})})]})]})]})})}function Lb({feature:i,projectName:r,onClose:d,onSaved:o}){const h=f.useId(),[x,p]=f.useState(i.category),[v,g]=f.useState(i.name),[S,T]=f.useState(i.description),[E,H]=f.useState(String(i.priority)),[w,O]=f.useState(()=>i.steps.length>0?i.steps.map((W,R)=>({id:`${h}-step-${R}`,value:W})):[{id:`${h}-step-0`,value:""}]),[B,z]=f.useState(null),[D,b]=f.useState(i.steps.length||1),N=Z0(r),G=()=>{O([...w,{id:`${h}-step-${D}`,value:""}]),b(D+1)},J=W=>{O(w.filter(R=>R.id!==W))},I=(W,R)=>{O(w.map($=>$.id===W?{...$,value:R}:$))},X=async W=>{W.preventDefault(),z(null);const R=w.map($=>$.value.trim()).filter($=>$.length>0);try{await N.mutateAsync({featureId:i.id,update:{category:x.trim(),name:v.trim(),description:S.trim(),steps:R,priority:parseInt(E,10)}}),o()}catch($){z($ instanceof Error?$.message:"Failed to update feature")}},P=x.trim()&&v.trim()&&S.trim(),L=w.map(W=>W.value.trim()).filter(W=>W),le=x.trim()!==i.category||v.trim()!==i.name||S.trim()!==i.description||parseInt(E,10)!==i.priority||JSON.stringify(L)!==JSON.stringify(i.steps);return n.jsx(ea,{open:!0,onOpenChange:W=>!W&&d(),children:n.jsxs(ta,{className:"sm:max-w-2xl",children:[n.jsx(aa,{children:n.jsx(na,{children:"Edit Feature"})}),n.jsxs("form",{onSubmit:X,className:"space-y-4",children:[B&&n.jsxs(ht,{variant:"destructive",children:[n.jsx(ua,{className:"h-4 w-4"}),n.jsxs(xt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:B}),n.jsx(Z,{type:"button",variant:"ghost",size:"icon-xs",onClick:()=>z(null),children:n.jsx(ct,{size:14})})]})]}),n.jsxs("div",{className:"flex gap-4",children:[n.jsxs("div",{className:"flex-1 space-y-2",children:[n.jsx(Ee,{htmlFor:"category",children:"Category"}),n.jsx(rt,{id:"category",type:"text",value:x,onChange:W=>p(W.target.value),placeholder:"e.g., Authentication, UI, API",required:!0})]}),n.jsxs("div",{className:"w-32 space-y-2",children:[n.jsx(Ee,{htmlFor:"priority",children:"Priority"}),n.jsx(rt,{id:"priority",type:"number",value:E,onChange:W=>H(W.target.value),min:"1",required:!0})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"name",children:"Feature Name"}),n.jsx(rt,{id:"name",type:"text",value:v,onChange:W=>g(W.target.value),placeholder:"e.g., User login form",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"description",children:"Description"}),n.jsx(ys,{id:"description",value:S,onChange:W=>T(W.target.value),placeholder:"Describe what this feature should do...",className:"min-h-[100px] resize-y",required:!0})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{children:"Test Steps"}),n.jsx("div",{className:"space-y-2",children:w.map((W,R)=>n.jsxs("div",{className:"flex gap-2 items-center",children:[n.jsx("span",{className:"w-10 h-10 flex-shrink-0 flex items-center justify-center font-mono font-semibold text-sm border rounded-md bg-muted text-muted-foreground",children:R+1}),n.jsx(rt,{type:"text",value:W.value,onChange:$=>I(W.id,$.target.value),placeholder:"Describe this step...",className:"flex-1"}),w.length>1&&n.jsx(Z,{type:"button",variant:"ghost",size:"icon",onClick:()=>J(W.id),children:n.jsx(an,{size:18})})]},W.id))}),n.jsxs(Z,{type:"button",variant:"ghost",size:"sm",onClick:G,children:[n.jsx(tn,{size:16}),"Add Step"]})]}),n.jsxs(Pt,{className:"pt-4 border-t",children:[n.jsx(Z,{type:"button",variant:"outline",onClick:d,children:"Cancel"}),n.jsx(Z,{type:"submit",disabled:!P||!le||N.isPending,children:N.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Bp,{size:18}),"Save Changes"]})})]})]})]})})}function Su({className:i,size:r="default",...d}){return n.jsx(Oy,{"data-slot":"switch","data-size":r,className:He("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",i),...d,children:n.jsx(Ry,{"data-slot":"switch-thumb",className:He("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}function Gb({request:i,onSubmit:r,isLoading:d}){const[o,h]=f.useState(()=>{const g={};for(const S of i.fields)S.type==="boolean"?g[S.id]=!1:g[S.id]="";return g}),[x,p]=f.useState(null),v=async()=>{for(const g of i.fields)if(g.required){const S=o[g.id];if(S==null||S===""){p(`"${g.label}" is required`);return}}p(null),await r(o)};return n.jsxs(ht,{className:"border-amber-500 bg-amber-50 dark:bg-amber-950/20",children:[n.jsx($i,{className:"h-5 w-5 text-amber-600"}),n.jsxs(xt,{className:"space-y-4",children:[n.jsxs("div",{children:[n.jsx("h4",{className:"font-semibold text-amber-700 dark:text-amber-400",children:"Agent needs your help"}),n.jsx("p",{className:"text-sm text-amber-600 dark:text-amber-300 mt-1",children:i.prompt})]}),n.jsx("div",{className:"space-y-3",children:i.fields.map(g=>n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs(Ee,{htmlFor:`human-input-${g.id}`,className:"text-sm font-medium text-foreground",children:[g.label,g.required&&n.jsx("span",{className:"text-destructive ml-1",children:"*"})]}),g.type==="text"&&n.jsx(rt,{id:`human-input-${g.id}`,value:o[g.id],onChange:S=>h(T=>({...T,[g.id]:S.target.value})),placeholder:g.placeholder||"",disabled:d}),g.type==="textarea"&&n.jsx(ys,{id:`human-input-${g.id}`,value:o[g.id],onChange:S=>h(T=>({...T,[g.id]:S.target.value})),placeholder:g.placeholder||"",disabled:d,rows:3}),g.type==="select"&&g.options&&n.jsx("div",{className:"space-y-1.5",children:g.options.map(S=>n.jsxs("label",{className:`flex items-center gap-2 p-2 rounded-md border cursor-pointer transition-colors
62
- ${o[g.id]===S.value?"border-primary bg-primary/10":"border-border hover:border-primary/50"}`,children:[n.jsx("input",{type:"radio",name:`human-input-${g.id}`,value:S.value,checked:o[g.id]===S.value,onChange:T=>h(E=>({...E,[g.id]:T.target.value})),disabled:d,className:"accent-primary"}),n.jsx("span",{className:"text-sm",children:S.label})]},S.value))}),g.type==="boolean"&&n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Su,{id:`human-input-${g.id}`,checked:o[g.id],onCheckedChange:S=>h(T=>({...T,[g.id]:S})),disabled:d}),n.jsx(Ee,{htmlFor:`human-input-${g.id}`,className:"text-sm",children:o[g.id]?"Yes":"No"})]})]},g.id))}),x&&n.jsx("p",{className:"text-sm text-destructive",children:x}),n.jsx(Z,{onClick:v,disabled:d,className:"w-full",children:d?n.jsx(Ce,{size:16,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Ji,{size:16}),"Submit Response"]})})]})]})}function Qb(i){const r=["bg-pink-500","bg-cyan-500","bg-green-500","bg-yellow-500","bg-orange-500","bg-purple-500","bg-blue-500"];let d=0;for(let o=0;o<i.length;o++)d=i.charCodeAt(o)+((d<<5)-d);return r[Math.abs(d)%r.length]}function Yb({feature:i,projectName:r,onClose:d}){const[o,h]=f.useState(null),[x,p]=f.useState(!1),[v,g]=f.useState(!1),S=K0(r),T=X0(r),{data:E}=Mh(r),H=F0(r),w=new Map;E&&[...E.pending,...E.in_progress,...E.done,...E.needs_human_input||[]].forEach(b=>{w.set(b.id,b)});const O=(i.dependencies||[]).map(b=>w.get(b)).filter(b=>b!==void 0),B=(i.blocking_dependencies||[]).map(b=>w.get(b)).filter(b=>b!==void 0),z=async()=>{h(null);try{await S.mutateAsync(i.id),d()}catch(b){h(b instanceof Error?b.message:"Failed to skip feature")}},D=async()=>{h(null);try{await T.mutateAsync(i.id),d()}catch(b){h(b instanceof Error?b.message:"Failed to delete feature")}};return v?n.jsx(Lb,{feature:i,projectName:r,onClose:()=>g(!1),onSaved:d}):n.jsx(ea,{open:!0,onOpenChange:b=>!b&&d(),children:n.jsxs(ta,{className:"sm:max-w-2xl p-0 gap-0",children:[n.jsxs(aa,{className:"p-6 pb-4",children:[n.jsx("div",{className:"flex items-start gap-3",children:n.jsx(_e,{className:`${Qb(i.category)} text-white`,children:i.category})}),n.jsx(na,{className:"text-xl mt-2",children:i.name})]}),n.jsx(ju,{}),n.jsxs("div",{className:"p-6 space-y-6 max-h-[60vh] overflow-y-auto",children:[o&&n.jsxs(ht,{variant:"destructive",children:[n.jsx(ua,{className:"h-4 w-4"}),n.jsxs(xt,{className:"flex items-center justify-between",children:[n.jsx("span",{children:o}),n.jsx(Z,{variant:"ghost",size:"icon-xs",onClick:()=>h(null),children:n.jsx(ct,{size:14})})]})]}),n.jsxs("div",{className:"flex items-center gap-3 p-4 bg-muted rounded-lg",children:[i.passes?n.jsxs(n.Fragment,{children:[n.jsx(Ft,{size:24,className:"text-primary"}),n.jsx("span",{className:"font-semibold text-primary",children:"COMPLETE"})]}):i.needs_human_input?n.jsxs(n.Fragment,{children:[n.jsx($i,{size:24,className:"text-amber-500"}),n.jsx("span",{className:"font-semibold text-amber-500",children:"NEEDS YOUR INPUT"})]}):n.jsxs(n.Fragment,{children:[n.jsx(ol,{size:24,className:"text-muted-foreground"}),n.jsx("span",{className:"font-semibold text-muted-foreground",children:"PENDING"})]}),n.jsxs("span",{className:"ml-auto font-mono text-sm text-muted-foreground",children:["Priority: #",i.priority]})]}),i.needs_human_input&&i.human_input_request&&n.jsx(Gb,{request:i.human_input_request,onSubmit:async b=>{h(null);try{await H.mutateAsync({featureId:i.id,fields:b}),d()}catch(N){h(N instanceof Error?N.message:"Failed to submit response")}},isLoading:H.isPending}),i.human_input_response&&!i.needs_human_input&&n.jsxs(ht,{className:"border-green-500 bg-green-50 dark:bg-green-950/20",children:[n.jsx(Ft,{className:"h-4 w-4 text-green-600"}),n.jsxs(xt,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-green-700 dark:text-green-400",children:"Human Input Provided"}),n.jsxs("p",{className:"text-sm text-green-600 dark:text-green-300",children:["Response submitted",i.human_input_response.responded_at?` at ${new Date(i.human_input_response.responded_at).toLocaleString()}`:"","."]})]})]}),n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Description"}),n.jsx("p",{className:"text-foreground",children:i.description})]}),B.length>0&&n.jsxs(ht,{variant:"destructive",className:"border-orange-500 bg-orange-50 dark:bg-orange-950/20",children:[n.jsx(Ea,{className:"h-4 w-4 text-orange-600"}),n.jsxs(xt,{children:[n.jsx("h4",{className:"font-semibold mb-1 text-orange-700 dark:text-orange-400",children:"Blocked By"}),n.jsx("p",{className:"text-sm text-orange-600 dark:text-orange-300 mb-2",children:"This feature cannot start until the following dependencies are complete:"}),n.jsx("ul",{className:"space-y-1",children:B.map(b=>n.jsxs("li",{className:"flex items-center gap-2 text-sm text-orange-600 dark:text-orange-300",children:[n.jsx(ol,{size:14}),n.jsxs("span",{className:"font-mono text-xs",children:["#",b.id]}),n.jsx("span",{children:b.name})]},b.id))})]})]}),O.length>0&&n.jsxs("div",{children:[n.jsxs("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground flex items-center gap-2",children:[n.jsx(Hp,{size:16}),"Depends On"]}),n.jsx("ul",{className:"space-y-1",children:O.map(b=>n.jsxs("li",{className:"flex items-center gap-2 p-2 bg-muted rounded-md text-sm",children:[b.passes?n.jsx(Ft,{size:16,className:"text-primary"}):n.jsx(ol,{size:16,className:"text-muted-foreground"}),n.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["#",b.id]}),n.jsx("span",{className:b.passes?"text-primary":"",children:b.name})]},b.id))})]}),i.steps.length>0&&n.jsxs("div",{children:[n.jsx("h3",{className:"font-semibold mb-2 text-sm uppercase tracking-wide text-muted-foreground",children:"Test Steps"}),n.jsx("ol",{className:"list-decimal list-inside space-y-2",children:i.steps.map((b,N)=>n.jsx("li",{className:"p-3 bg-muted rounded-md text-sm",children:b},N))})]})]}),!i.passes&&n.jsxs(n.Fragment,{children:[n.jsx(ju,{}),n.jsx(Pt,{className:"p-4 bg-muted/50",children:x?n.jsxs("div",{className:"w-full space-y-4",children:[n.jsx("p",{className:"font-medium text-center",children:"Are you sure you want to delete this feature?"}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx(Z,{variant:"destructive",onClick:D,disabled:T.isPending,className:"flex-1",children:T.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):"Yes, Delete"}),n.jsx(Z,{variant:"outline",onClick:()=>p(!1),disabled:T.isPending,className:"flex-1",children:"Cancel"})]})]}):n.jsxs("div",{className:"flex gap-3 w-full",children:[n.jsxs(Z,{onClick:()=>g(!0),disabled:S.isPending,className:"flex-1",children:[n.jsx(qp,{size:18}),"Edit"]}),n.jsx(Z,{variant:"secondary",onClick:z,disabled:S.isPending,className:"flex-1",children:S.isPending?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsxs(n.Fragment,{children:[n.jsx(Lp,{size:18}),"Skip"]})}),n.jsx(Z,{variant:"destructive",size:"icon",onClick:()=>p(!0),disabled:S.isPending,children:n.jsx(an,{size:18})})]})})]})]})})}const Vb={background:"#09090b",foreground:"#fafafa",cursor:"#3b82f6",cursorAccent:"#09090b",selectionBackground:"rgba(59, 130, 246, 0.3)",selectionForeground:"#ffffff",black:"#09090b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#fafafa",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#ffffff"},th=1e3,ah=3e4;function Xb({projectName:i,terminalId:r,isActive:d}){const o=f.useRef(null),h=f.useRef(null),x=f.useRef(null),p=f.useRef(null),v=f.useRef(null),g=f.useRef(0),S=f.useRef(!1),T=f.useRef(!1),E=f.useRef(!1),H=f.useRef(!1),w=f.useRef(null),O=f.useRef(null),B=f.useRef(null),z=f.useRef(d),[D,b]=f.useState(!1),[N,G]=f.useState(!1),[J,I]=f.useState(null);f.useEffect(()=>{E.current=N},[N]),f.useEffect(()=>{z.current=d},[d]);const X=f.useCallback(F=>{const y=new TextEncoder().encode(F);let _="";for(let ee=0;ee<y.length;ee++)_+=String.fromCharCode(y[ee]);return btoa(_)},[]),P=f.useCallback(F=>{try{const Y=atob(F),y=new Uint8Array(Y.length);for(let ee=0;ee<Y.length;ee++)y[ee]=Y.charCodeAt(ee);return new TextDecoder().decode(y)}catch{return console.error("Failed to decode base64 data"),""}},[]),L=f.useCallback(F=>{p.current?.readyState===WebSocket.OPEN&&p.current.send(JSON.stringify(F))},[]),le=f.useCallback((F,Y)=>{L({type:"resize",cols:F,rows:Y})},[L]),W=f.useCallback(()=>{if(x.current&&h.current)try{const F=x.current.proposeDimensions();F&&F.cols&&F.rows&&!isNaN(F.cols)&&!isNaN(F.rows)&&F.cols>=1&&F.rows>=1&&x.current.fit();const{cols:y,rows:_}=h.current;y>0&&_>0&&le(y,_)}catch{}},[le]),R=f.useCallback(()=>{if(!i||!r||!z.current||T.current||p.current?.readyState===WebSocket.CONNECTING||p.current?.readyState===WebSocket.OPEN)return;T.current=!0,v.current&&(clearTimeout(v.current),v.current=null);const F=window.location.protocol==="https:"?"wss:":"ws:",Y=window.location.host,y=`${F}//${Y}/api/terminal/ws/${encodeURIComponent(i)}/${encodeURIComponent(r)}`;try{const _=new WebSocket(y);p.current=_,_.onopen=()=>{if(T.current=!1,b(!0),G(!1),I(null),g.current=0,h.current){const{cols:ee,rows:te}=h.current;le(ee,te)}},_.onmessage=ee=>{try{const te=JSON.parse(ee.data);switch(te.type){case"output":{const me=P(te.data);me&&h.current&&h.current.write(me);break}case"exit":{G(!0),I(te.code),h.current&&(h.current.writeln(""),h.current.writeln(`\x1B[33m[Shell exited with code ${te.code}]\x1B[0m`),h.current.writeln("\x1B[90mPress any key to reconnect...\x1B[0m"));break}}}catch{console.error("Failed to parse terminal WebSocket message")}},_.onclose=()=>{T.current=!1,b(!1),p.current=null;const ee=z.current&&!E.current&&!H.current;if(H.current=!1,ee){const te=Math.min(th*Math.pow(2,g.current),ah);g.current++,v.current=window.setTimeout(()=>{R()},te)}},_.onerror=()=>{_.close()}}catch{T.current=!1;const _=Math.min(th*Math.pow(2,g.current),ah);g.current++,v.current=window.setTimeout(()=>{R()},_)}},[i,r,le,P]);f.useEffect(()=>{w.current=R},[R]);const $=f.useCallback(()=>{if(!o.current||S.current)return;const F=new Xy({theme:Vb,fontFamily:"JetBrains Mono, Consolas, Monaco, monospace",fontSize:14,cursorBlink:!0,cursorStyle:"block",allowProposedApi:!0,scrollback:1e4}),Y=new Ky;F.loadAddon(Y),F.open(o.current),h.current=F,x.current=Y,S.current=!0,F.onData(y=>{if(E.current){G(!1),I(null),w.current?.();return}const _={type:"input",data:X(y)};L(_)}),F.onResize(({cols:y,rows:_})=>{le(y,_)})},[X,L,le]);return f.useEffect(()=>{if(!d)return;const F=()=>{W()};return window.addEventListener("resize",F),()=>{window.removeEventListener("resize",F)}},[d,W]),f.useEffect(()=>{if(!d){v.current&&(clearTimeout(v.current),v.current=null);return}S.current||$();let F,Y;const y=()=>{F=requestAnimationFrame(()=>{Y=requestAnimationFrame(()=>{(!p.current||p.current.readyState!==WebSocket.OPEN)&&w.current?.()})})},_=window.setTimeout(y,50);return()=>{clearTimeout(_),cancelAnimationFrame(F),cancelAnimationFrame(Y)}},[d,$]),f.useEffect(()=>{if(d&&h.current){let F,Y;const y=()=>{F=requestAnimationFrame(()=>{Y=requestAnimationFrame(()=>{h.current&&x.current&&(W(),h.current.refresh(0,h.current.rows-1),h.current.focus())})})},_=window.setTimeout(y,16);return()=>{clearTimeout(_),cancelAnimationFrame(F),cancelAnimationFrame(Y)}}},[d,W]),f.useEffect(()=>()=>{v.current&&clearTimeout(v.current),p.current&&p.current.close(),h.current&&h.current.dispose(),S.current=!1},[]),f.useEffect(()=>{if(d&&S.current){if(O.current===null&&B.current===null){O.current=i,B.current=r;return}if(O.current===i&&B.current===r)return;O.current=i,B.current=r,h.current&&(h.current.clear(),h.current.write("\x1B[H")),H.current=!0,p.current&&(p.current.close(),p.current=null),T.current=!1,G(!1),I(null),g.current=0,w.current?.()}},[i,r,d]),n.jsxs("div",{className:"relative h-full w-full bg-zinc-950",children:[n.jsxs("div",{className:"absolute top-2 right-2 z-10 flex items-center gap-2",children:[n.jsx("div",{className:`w-2 h-2 rounded-full ${D?"bg-green-500":"bg-destructive"}`,title:D?"Connected":"Disconnected"}),!D&&!N&&n.jsx("span",{className:"text-xs font-mono text-muted-foreground",children:"Connecting..."}),N&&J!==null&&n.jsxs("span",{className:"text-xs font-mono text-yellow-500",children:["Exit: ",J]})]}),n.jsx("div",{ref:o,className:"h-full w-full p-2",style:{minHeight:"100px"},onClick:()=>{h.current?.focus()}})]})}function Kb({terminals:i,activeTerminalId:r,onSelect:d,onCreate:o,onRename:h,onClose:x}){const[p,v]=f.useState(null),[g,S]=f.useState(""),[T,E]=f.useState({visible:!1,x:0,y:0,terminalId:null}),H=f.useRef(null),w=f.useRef(null);f.useEffect(()=>{p&&H.current&&(H.current.focus(),H.current.select())},[p]),f.useEffect(()=>{const X=P=>{w.current&&!w.current.contains(P.target)&&E(L=>({...L,visible:!1}))};if(T.visible)return document.addEventListener("mousedown",X),()=>document.removeEventListener("mousedown",X)},[T.visible]);const O=f.useCallback(X=>{v(X.id),S(X.name),E(P=>({...P,visible:!1}))},[]),B=f.useCallback(()=>{p&&g.trim()&&h(p,g.trim()),v(null),S("")},[p,g,h]),z=f.useCallback(()=>{v(null),S("")},[]),D=f.useCallback(X=>{ps(X,!1)?(X.preventDefault(),B()):X.key==="Escape"&&(X.preventDefault(),z())},[B,z]),b=f.useCallback(X=>{O(X)},[O]),N=f.useCallback((X,P)=>{X.preventDefault(),E({visible:!0,x:X.clientX,y:X.clientY,terminalId:P})},[]),G=f.useCallback(()=>{if(T.terminalId){const X=i.find(P=>P.id===T.terminalId);X&&O(X)}},[T.terminalId,i,O]),J=f.useCallback(()=>{T.terminalId&&x(T.terminalId),E(X=>({...X,visible:!1}))},[T.terminalId,x]),I=f.useCallback((X,P)=>{X.stopPropagation(),x(P)},[x]);return n.jsxs("div",{className:"flex items-center gap-1 px-2 py-1 bg-zinc-900 border-b border-border overflow-x-auto",children:[i.map(X=>n.jsxs("div",{className:`
63
- group flex items-center gap-1 px-3 py-1 rounded cursor-pointer
64
- transition-colors duration-100 select-none min-w-0
65
- ${r===X.id?"bg-primary text-primary-foreground":"bg-zinc-800 text-zinc-300 hover:bg-zinc-700"}
66
- `,onClick:()=>d(X.id),onDoubleClick:()=>b(X),onContextMenu:P=>N(P,X.id),children:[p===X.id?n.jsx(rt,{ref:H,type:"text",value:g,onChange:P=>S(P.target.value),onBlur:B,onKeyDown:D,className:"h-6 px-1 py-0 text-sm font-mono w-24",onClick:P=>P.stopPropagation()}):n.jsx("span",{className:"text-sm font-mono truncate max-w-[120px]",children:X.name}),i.length>1&&n.jsx("button",{onClick:P=>I(P,X.id),className:`
67
- p-0.5 rounded opacity-0 group-hover:opacity-100 transition-opacity
68
- ${r===X.id?"hover:bg-black/20":"hover:bg-white/20"}
69
- `,title:"Close terminal",children:n.jsx(ct,{className:"w-3 h-3"})})]},X.id)),n.jsx(Z,{variant:"ghost",size:"icon",onClick:o,className:"h-8 w-8 bg-zinc-800 text-zinc-300 hover:bg-zinc-700",title:"New terminal",children:n.jsx(tn,{className:"w-4 h-4"})}),T.visible&&n.jsxs("div",{ref:w,className:"fixed z-50 bg-popover border border-border rounded-md py-1 min-w-[120px] shadow-md",style:{left:T.x,top:T.y},children:[n.jsx("button",{onClick:G,className:"w-full px-3 py-1.5 text-left text-sm font-mono hover:bg-accent transition-colors",children:"Rename"}),i.length>1&&n.jsx("button",{onClick:J,className:"w-full px-3 py-1.5 text-left text-sm font-mono text-destructive hover:bg-destructive hover:text-destructive-foreground transition-colors",children:"Close"})]})]})}const nh=150,lh=600,Zb=288,sh="debug-panel-height",ih="debug-panel-tab";function Fb({logs:i,devLogs:r,isOpen:d,onToggle:o,onClear:h,onClearDevLogs:x,onHeightChange:p,projectName:v,activeTab:g,onTabChange:S}){const T=f.useRef(null),E=f.useRef(null),[H,w]=f.useState(!0),[O,B]=f.useState(!0),[z,D]=f.useState(!1),[b,N]=f.useState(()=>{const ne=localStorage.getItem(sh);return ne?Math.min(Math.max(parseInt(ne,10),nh),lh):Zb}),[G,J]=f.useState(()=>localStorage.getItem(ih)||"agent"),[I,X]=f.useState([]),[P,L]=f.useState(null),[le,W]=f.useState(!1),R=g??G,$=ne=>{J(ne),localStorage.setItem(ih,ne),S?.(ne)},F=f.useCallback(async()=>{if(v){W(!0);try{const ne=await D0(v);X(ne),ne.length>0&&(!P||!ne.find(oe=>oe.id===P))&&L(ne[0].id)}catch(ne){console.error("Failed to fetch terminals:",ne)}finally{W(!1)}}},[v,P]),Y=f.useCallback(async()=>{if(v)try{const ne=await _0(v);X(oe=>[...oe,ne]),L(ne.id)}catch(ne){console.error("Failed to create terminal:",ne)}},[v]),y=f.useCallback(async(ne,oe)=>{if(v)try{const ke=await M0(v,ne,oe);X(gt=>gt.map(tt=>tt.id===ne?ke:tt))}catch(ke){console.error("Failed to rename terminal:",ke)}},[v]),_=f.useCallback(async ne=>{if(!(!v||I.length<=1))try{if(await k0(v,ne),X(oe=>oe.filter(ke=>ke.id!==ne)),P===ne){const oe=I.filter(ke=>ke.id!==ne);oe.length>0&&L(oe[0].id)}}catch(oe){console.error("Failed to close terminal:",oe)}},[v,I,P]);f.useEffect(()=>{v?F():(X([]),L(null))},[v]),f.useEffect(()=>{H&&T.current&&d&&R==="agent"&&(T.current.scrollTop=T.current.scrollHeight)},[i,H,d,R]),f.useEffect(()=>{O&&E.current&&d&&R==="devserver"&&(E.current.scrollTop=E.current.scrollHeight)},[r,O,d,R]),f.useEffect(()=>{p&&d&&p(b)},[b,d,p]);const ee=f.useCallback(ne=>{const oe=window.innerHeight-ne.clientY,ke=Math.min(Math.max(oe,nh),lh);N(ke)},[]),te=f.useCallback(()=>{D(!1),localStorage.setItem(sh,b.toString())},[b]);f.useEffect(()=>(z&&(document.addEventListener("mousemove",ee),document.addEventListener("mouseup",te),document.body.style.cursor="ns-resize",document.body.style.userSelect="none"),()=>{document.removeEventListener("mousemove",ee),document.removeEventListener("mouseup",te),document.body.style.cursor="",document.body.style.userSelect=""}),[z,ee,te]);const me=ne=>{ne.preventDefault(),ne.stopPropagation(),D(!0)},re=ne=>{const oe=ne.currentTarget,ke=oe.scrollHeight-oe.scrollTop<=oe.clientHeight+50;w(ke)},ae=ne=>{const oe=ne.currentTarget,ke=oe.scrollHeight-oe.scrollTop<=oe.clientHeight+50;B(ke)},se=()=>{R==="agent"?h():R==="devserver"&&x()},fe=()=>R==="agent"?i.length:R==="devserver"?r.length:0,he=()=>R==="agent"?!H:R==="devserver"?!O:!1,$e=ne=>{const oe=ne.toLowerCase();return oe.includes("error")||oe.includes("exception")||oe.includes("traceback")?"error":oe.includes("warn")||oe.includes("warning")?"warn":oe.includes("debug")?"debug":"info"},Jt=ne=>{switch(ne){case"error":return"text-red-500";case"warn":return"text-yellow-500";case"debug":return"text-blue-400";default:return"text-foreground"}},zt=ne=>{try{return new Date(ne).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return""}};return n.jsxs("div",{className:`fixed bottom-0 left-0 right-0 z-40 ${z?"":"transition-all duration-200"}`,style:{height:d?b:40},children:[d&&n.jsx("div",{className:"absolute top-0 left-0 right-0 h-2 cursor-ns-resize group flex items-center justify-center -translate-y-1/2 z-50",onMouseDown:me,children:n.jsx("div",{className:"w-16 h-1.5 bg-border rounded-full group-hover:bg-muted-foreground transition-colors flex items-center justify-center",children:n.jsx(Gp,{size:12,className:"text-muted-foreground group-hover:text-foreground"})})}),n.jsxs("div",{className:"flex items-center justify-between h-10 px-4 bg-muted border-t border-border",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("button",{onClick:o,className:"flex items-center gap-2 hover:bg-accent px-2 py-1 rounded transition-colors cursor-pointer",children:[n.jsx(bu,{size:16,className:"text-green-500"}),n.jsx("span",{className:"font-mono text-sm text-foreground font-bold",children:"Debug"}),n.jsx(_e,{variant:"secondary",className:"text-xs font-mono",title:"Toggle debug panel",children:"D"})]}),d&&n.jsxs("div",{className:"flex items-center gap-1 ml-4",children:[n.jsxs(Z,{variant:R==="agent"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),$("agent")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Qp,{size:12}),"Agent",i.length>0&&n.jsx(_e,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:i.length})]}),n.jsxs(Z,{variant:R==="devserver"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),$("devserver")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(Yp,{size:12}),"Dev Server",r.length>0&&n.jsx(_e,{variant:"default",className:"h-4 px-1.5 text-[10px]",children:r.length})]}),n.jsxs(Z,{variant:R==="terminal"?"secondary":"ghost",size:"sm",onClick:ne=>{ne.stopPropagation(),$("terminal")},className:"h-7 text-xs font-mono gap-1.5",children:[n.jsx(bu,{size:12}),"Terminal",n.jsx(_e,{variant:"outline",className:"h-4 px-1.5 text-[10px]",title:"Toggle terminal",children:"T"})]})]}),d&&R!=="terminal"&&n.jsxs(n.Fragment,{children:[fe()>0&&n.jsx(_e,{variant:"secondary",className:"ml-2 font-mono",children:fe()}),he()&&n.jsx(_e,{variant:"default",className:"bg-yellow-500 text-yellow-950",children:"Paused"})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[d&&R!=="terminal"&&n.jsx(Z,{variant:"ghost",size:"icon",onClick:ne=>{ne.stopPropagation(),se()},className:"h-7 w-7",title:"Clear logs",children:n.jsx(an,{size:14,className:"text-muted-foreground"})}),n.jsx("div",{className:"p-1",children:d?n.jsx(xs,{size:16,className:"text-muted-foreground"}):n.jsx(Zi,{size:16,className:"text-muted-foreground"})})]})]}),d&&n.jsxs("div",{className:"h-[calc(100%-2.5rem)] bg-card",children:[R==="agent"&&n.jsx("div",{ref:T,onScroll:re,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:i.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No logs yet. Start the agent to see output."}):n.jsx("div",{className:"space-y-0.5",children:i.map((ne,oe)=>{const ke=$e(ne.line),gt=Jt(ke),tt=zt(ne.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:tt}),n.jsx("span",{className:`${gt} whitespace-pre-wrap break-all`,children:ne.line})]},`${ne.timestamp}-${oe}`)})})}),R==="devserver"&&n.jsx("div",{ref:E,onScroll:ae,className:"h-full overflow-y-auto p-2 font-mono text-sm",children:r.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No dev server logs yet."}):n.jsx("div",{className:"space-y-0.5",children:r.map((ne,oe)=>{const ke=$e(ne.line),gt=Jt(ke),tt=zt(ne.timestamp);return n.jsxs("div",{className:"flex gap-2 hover:bg-muted px-1 py-0.5 rounded",children:[n.jsx("span",{className:"text-muted-foreground select-none shrink-0",children:tt}),n.jsx("span",{className:`${gt} whitespace-pre-wrap break-all`,children:ne.line})]},`${ne.timestamp}-${oe}`)})})}),R==="terminal"&&n.jsxs("div",{className:"h-full flex flex-col",children:[I.length>0&&n.jsx(Kb,{terminals:I,activeTerminalId:P,onSelect:L,onCreate:Y,onRename:y,onClose:_}),n.jsx("div",{className:"flex-1 min-h-0 relative",children:le?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"Loading terminals..."}):I.length===0?n.jsx("div",{className:"h-full flex items-center justify-center text-muted-foreground font-mono text-sm",children:"No terminal available"}):I.map(ne=>{const oe=ne.id===P;return n.jsx("div",{className:"absolute inset-0",style:{zIndex:oe?10:1,transform:oe?"none":"translateX(-200%)",pointerEvents:oe?"auto":"none"},children:n.jsx(Xb,{projectName:v,terminalId:ne.id,isActive:R==="terminal"&&oe})},ne.id)})})]})]})]})}function Jb(i){switch(i){case"idle":return"Standing by...";case"thinking":return"Pondering...";case"working":return"Coding away...";case"testing":return"Checking work...";case"success":return"Nailed it!";case"error":return"Trying plan B...";case"struggling":return"Being persistent...";default:return"Busy..."}}function $b(i){switch(i){case"success":return"text-primary";case"error":return"text-yellow-600";case"struggling":return"text-orange-500";case"working":case"testing":return"text-primary";case"thinking":return"text-yellow-600";default:return"text-muted-foreground"}}function Lh(i){return i==="testing"?{label:"TEST",className:"bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-300",icon:vh}:{label:"CODE",className:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-300",icon:bh}}function Wb({agent:i,onShowLogs:r}){const d=["thinking","working","testing"].includes(i.state),o=i.logs&&i.logs.length>0,h=Lh(i.agentType||"coding"),x=h.icon;return n.jsx(Me,{className:`min-w-[180px] max-w-[220px] py-3 ${d?"animate-pulse":""}`,children:n.jsxs(qe,{className:"p-3 space-y-2",children:[n.jsx("div",{className:"flex justify-end",children:n.jsxs(_e,{variant:"outline",className:`text-[10px] ${h.className}`,children:[n.jsx(x,{size:10}),h.label]})}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(pl,{name:i.agentName,state:i.state,size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-semibold text-sm truncate",children:i.agentName}),n.jsx("div",{className:`text-xs ${$b(i.state)}`,children:Jb(i.state)})]}),o&&r&&n.jsx(Z,{variant:"ghost",size:"icon-xs",onClick:()=>r(i.agentIndex),title:`View logs (${i.logs?.length||0} entries)`,children:n.jsx(Vp,{size:14,className:"text-muted-foreground"})})]}),n.jsx("div",{children:i.featureIds&&i.featureIds.length>1?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Batch: ",i.featureIds.map(p=>`#${p}`).join(", ")]}),n.jsxs("div",{className:"text-sm font-bold truncate",children:["Active: Feature #",i.featureId]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"text-xs text-muted-foreground mb-0.5",children:["Feature #",i.featureId]}),n.jsx("div",{className:"text-sm font-medium truncate",title:i.featureName,children:i.featureName})]})}),i.thought&&n.jsx("div",{className:"pt-2 border-t border-border/50",children:n.jsxs("div",{className:"flex items-start gap-1.5",children:[n.jsx(Eu,{size:14,className:"text-primary shrink-0 mt-0.5"}),n.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 italic",title:i.thought,children:i.thought})]})})]})})}function Ib({agent:i,logs:r,onClose:d}){const[o,h]=f.useState(!1),x=Lh(i.agentType||"coding"),p=x.icon,v=async()=>{const S=r.map(T=>`[${T.timestamp}] ${T.line}`).join(`
70
- `);await navigator.clipboard.writeText(S),h(!0),setTimeout(()=>h(!1),2e3)},g=S=>{switch(S){case"error":return"text-destructive";case"state_change":return"text-primary";default:return"text-foreground"}};return Ch.createPortal(n.jsx("div",{className:"fixed inset-0 flex items-center justify-center p-4 bg-black/50",style:{zIndex:9999},onClick:S=>{S.target===S.currentTarget&&d()},children:n.jsxs(Me,{className:"w-full max-w-4xl max-h-[80vh] flex flex-col py-0",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx(pl,{name:i.agentName,state:i.state,size:"sm"}),n.jsxs("div",{children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs("h2",{className:"font-semibold text-lg",children:[i.agentName," Logs"]}),n.jsxs(_e,{variant:"outline",className:`text-[10px] ${x.className}`,children:[n.jsx(p,{size:10}),x.label]})]}),n.jsx("p",{className:"text-sm text-muted-foreground",children:i.featureIds&&i.featureIds.length>1?`Batch: ${i.featureIds.map(S=>`#${S}`).join(", ")}`:`Feature #${i.featureId}: ${i.featureName}`})]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsxs(Z,{variant:"outline",size:"sm",onClick:v,children:[o?n.jsx(ra,{size:14}):n.jsx(Xp,{size:14}),o?"Copied!":"Copy"]}),n.jsx(Z,{variant:"ghost",size:"icon-sm",onClick:d,children:n.jsx(ct,{size:20})})]})]}),n.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto p-4 bg-muted/50",children:n.jsx("div",{className:"font-mono text-xs space-y-1",children:r.length===0?n.jsx("p",{className:"text-muted-foreground italic",children:"No logs available"}):r.map((S,T)=>n.jsxs("div",{className:`${g(S.type)} whitespace-pre-wrap break-all`,children:[n.jsxs("span",{className:"text-muted-foreground",children:["[",new Date(S.timestamp).toLocaleTimeString(),"]"]})," ",S.line]},T))})}),n.jsxs("div",{className:"p-3 border-t text-xs text-muted-foreground",children:[r.length," log entries"]})]})}),document.body)}function Pb(i){const r=new Date(i),o=new Date().getTime()-r.getTime(),h=Math.floor(o/1e3);return h<5?"just now":h<60?`${h}s ago`:h<3600?`${Math.floor(h/60)}m ago`:r.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function ej({activities:i,maxItems:r=5,showHeader:d=!0}){const o=i.slice(0,r);return o.length===0?null:n.jsxs("div",{children:[d&&n.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[n.jsx(jh,{size:14,className:"text-muted-foreground"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"})]}),n.jsx("div",{className:"space-y-2",children:o.map(h=>n.jsx(Me,{className:"py-1.5",children:n.jsxs(qe,{className:"p-2 flex items-start gap-2",children:[n.jsx(pl,{name:h.agentName,state:"working",size:"sm"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("span",{className:"text-xs font-semibold",style:{color:tj(h.agentName)},children:h.agentName}),n.jsxs("span",{className:"text-[10px] text-muted-foreground",children:["#",h.featureId]}),n.jsx("span",{className:"text-[10px] text-muted-foreground ml-auto",children:Pb(h.timestamp)})]}),n.jsx("p",{className:"text-xs text-muted-foreground truncate",title:h.thought,children:h.thought})]})]})},`${h.featureId}-${h.timestamp}-${h.thought.slice(0,20)}`))})]})}function tj(i){return{Spark:"#3B82F6",Fizz:"#F97316",Octo:"#8B5CF6",Hoot:"#22C55E",Buzz:"#EAB308",Pixel:"#EC4899",Byte:"#06B6D4",Nova:"#F43F5E",Chip:"#84CC16",Bolt:"#FBBF24",Dash:"#14B8A6",Zap:"#A855F7",Gizmo:"#64748B",Turbo:"#EF4444",Blip:"#10B981",Neon:"#D946EF",Widget:"#6366F1",Zippy:"#F59E0B",Quirk:"#0EA5E9",Flux:"#7C3AED"}[i]||"#6B7280"}const aj={sm:{svg:32,font:"text-xs"},md:{svg:48,font:"text-sm"},lg:{svg:64,font:"text-base"}},nt={primary:"#7C3AED",secondary:"#A78BFA",accent:"#EDE9FE",baton:"#FBBF24",gold:"#F59E0B"};function nj({size:i,state:r}){const d=r==="spawning"?"animate-conducting":r==="scheduling"?"animate-baton-tap":"";return n.jsxs("svg",{width:i,height:i,viewBox:"0 0 64 64",fill:"none",children:[n.jsx("rect",{x:"22",y:"54",width:"20",height:"6",rx:"2",fill:nt.primary,opacity:"0.3"}),n.jsx("rect",{x:"18",y:"28",width:"28",height:"26",rx:"4",fill:nt.primary}),n.jsx("rect",{x:"26",y:"32",width:"12",height:"18",fill:nt.accent}),n.jsx("rect",{x:"30",y:"32",width:"4",height:"18",fill:nt.secondary}),n.jsx("path",{d:"M27,30 L32,33 L37,30 L32,32 Z",fill:nt.gold}),n.jsx("rect",{x:"16",y:"6",width:"32",height:"24",rx:"4",fill:nt.secondary}),n.jsx("rect",{x:"14",y:"2",width:"36",height:"8",rx:"2",fill:nt.primary}),n.jsx("rect",{x:"20",y:"0",width:"24",height:"4",rx:"2",fill:nt.primary}),n.jsx("circle",{cx:"32",cy:"2",r:"3",fill:nt.gold}),n.jsx("circle",{cx:"24",cy:"16",r:"4",fill:"white"}),n.jsx("circle",{cx:"40",cy:"16",r:"4",fill:"white"}),n.jsx("circle",{cx:"25",cy:"16",r:"2",fill:nt.primary}),n.jsx("circle",{cx:"41",cy:"16",r:"2",fill:nt.primary}),n.jsx("path",{d:"M26,24 Q32,28 38,24",stroke:"white",strokeWidth:"2",fill:"none",strokeLinecap:"round"}),n.jsx("rect",{x:"8",y:"32",width:"10",height:"4",rx:"2",fill:nt.primary}),n.jsx("rect",{x:"46",y:"28",width:"10",height:"4",rx:"2",fill:nt.primary,className:d,style:{transformOrigin:"46px 30px"}}),n.jsx("circle",{cx:"56",cy:"30",r:"4",fill:nt.secondary,className:d,style:{transformOrigin:"46px 30px"}}),n.jsxs("g",{className:d,style:{transformOrigin:"56px 30px"},children:[n.jsx("line",{x1:"56",y1:"26",x2:"62",y2:"10",stroke:nt.baton,strokeWidth:"2",strokeLinecap:"round"}),n.jsx("circle",{cx:"62",cy:"10",r:"2",fill:nt.gold})]}),(r==="spawning"||r==="monitoring")&&n.jsxs(n.Fragment,{children:[n.jsx("text",{x:"4",y:"20",fontSize:"8",fill:nt.secondary,className:"animate-pulse",children:"♪"}),n.jsx("text",{x:"58",y:"48",fontSize:"8",fill:nt.secondary,className:"animate-pulse",style:{animationDelay:"0.3s"},children:"♫"})]})]})}function lj(i){switch(i){case"idle":return"animate-bounce-gentle";case"initializing":return"animate-thinking";case"scheduling":return"animate-thinking";case"spawning":return"animate-working";case"monitoring":return"animate-bounce-gentle";case"draining":return"animate-thinking";case"paused":return"";case"complete":return"animate-celebrate";default:return""}}function sj(i){switch(i){case"initializing":return"shadow-[0_0_12px_rgba(124,58,237,0.4)]";case"scheduling":return"shadow-[0_0_10px_rgba(167,139,250,0.5)]";case"spawning":return"shadow-[0_0_16px_rgba(124,58,237,0.6)]";case"monitoring":return"shadow-[0_0_8px_rgba(167,139,250,0.4)]";case"draining":return"shadow-[0_0_10px_rgba(251,191,36,0.5)]";case"paused":return"";case"complete":return"shadow-[0_0_20px_rgba(112,224,0,0.6)]";default:return""}}function ij(i){switch(i){case"idle":return"waiting";case"initializing":return"initializing features";case"scheduling":return"selecting next features";case"spawning":return"spawning agents";case"monitoring":return"monitoring progress";case"draining":return"draining active agents";case"paused":return"paused";case"complete":return"all features complete";default:return i}}function cj({state:i,size:r="md"}){const{svg:d}=aj[r],h=`Orchestrator Maestro is ${ij(i)}`;return n.jsx("div",{className:"flex flex-col items-center gap-1",role:"status","aria-label":h,"aria-live":"polite",children:n.jsx("div",{className:`
71
- rounded-full p-1 transition-all duration-300
72
- ${lj(i)}
73
- ${sj(i)}
74
- `,style:{backgroundColor:nt.accent},title:h,role:"img","aria-hidden":"true",children:n.jsx(nj,{size:d,state:i})})})}function rj(i){switch(i){case"idle":return"Standing by...";case"initializing":return"Setting up features...";case"scheduling":return"Planning next moves...";case"spawning":return"Deploying agents...";case"monitoring":return"Watching progress...";case"complete":return"Mission accomplished!";case"draining":return"Draining agents...";case"paused":return"Paused";default:return"Orchestrating..."}}function uj(i){switch(i){case"complete":return"text-primary";case"spawning":return"text-primary";case"scheduling":case"monitoring":return"text-primary";case"initializing":return"text-yellow-600 dark:text-yellow-400";case"draining":return"text-amber-600 dark:text-amber-400";case"paused":return"text-muted-foreground";default:return"text-muted-foreground"}}function oj(i){const r=new Date,d=new Date(i),o=r.getTime()-d.getTime(),h=Math.floor(o/1e3);if(h<5)return"just now";if(h<60)return`${h}s ago`;const x=Math.floor(h/60);return x<60?`${x}m ago`:`${Math.floor(x/60)}h ago`}function dj({status:i}){const[r,d]=f.useState(!1);return n.jsx(Me,{className:"mb-4 bg-primary/10 border-primary/30 py-4",children:n.jsxs(qe,{className:"p-4",children:[n.jsxs("div",{className:"flex items-start gap-4",children:[n.jsx(cj,{state:i.state,size:"md"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx("span",{className:"font-semibold text-lg text-primary",children:"Maestro"}),n.jsx("span",{className:`text-sm font-medium ${uj(i.state)}`,children:rj(i.state)})]}),n.jsx("p",{className:"text-sm text-foreground mb-3 line-clamp-2",children:i.message}),n.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[n.jsxs(_e,{variant:"outline",className:"bg-blue-100 text-blue-700 border-blue-300 dark:bg-blue-900/30 dark:text-blue-300 dark:border-blue-700",children:[n.jsx(bh,{size:12}),"Coding: ",i.codingAgents]}),n.jsxs(_e,{variant:"outline",className:"bg-purple-100 text-purple-700 border-purple-300 dark:bg-purple-900/30 dark:text-purple-300 dark:border-purple-700",children:[n.jsx(vh,{size:12}),"Testing: ",i.testingAgents]}),n.jsxs(_e,{variant:"outline",className:"bg-green-100 text-green-700 border-green-300 dark:bg-green-900/30 dark:text-green-300 dark:border-green-700",children:[n.jsx(dl,{size:12}),"Ready: ",i.readyCount]}),i.blockedCount>0&&n.jsxs(_e,{variant:"outline",className:"bg-amber-100 text-amber-700 border-amber-300 dark:bg-amber-900/30 dark:text-amber-300 dark:border-amber-700",children:[n.jsx(Kp,{size:12}),"Blocked: ",i.blockedCount]})]})]}),i.recentEvents.length>0&&n.jsxs(Z,{variant:"ghost",size:"sm",onClick:()=>d(!r),className:"text-primary hover:bg-primary/10",children:[n.jsx(Nn,{size:12}),"Activity",r?n.jsx(Zi,{size:14}):n.jsx(xs,{size:14})]})]}),r&&i.recentEvents.length>0&&n.jsx("div",{className:"mt-3 pt-3 border-t border-primary/20",children:n.jsx("div",{className:"space-y-1.5",children:i.recentEvents.map((o,h)=>n.jsxs("div",{className:"flex items-start gap-2 text-xs",children:[n.jsx("span",{className:"text-primary shrink-0 font-mono",children:oj(o.timestamp)}),n.jsx("span",{className:"text-foreground",children:o.message})]},`${o.timestamp}-${h}`))})})]})})}const ch="autoforge-activity-collapsed";function fj({agents:i,orchestratorStatus:r,recentActivity:d,isExpanded:o=!0,getAgentLogs:h}){const[x,p]=f.useState(o),[v,g]=f.useState(()=>{try{return localStorage.getItem(ch)==="true"}catch{return!1}}),[S,T]=f.useState(null),E=()=>{const H=!v;g(H);try{localStorage.setItem(ch,String(H))}catch{}};return!r&&i.length===0?null:n.jsxs(Me,{className:"mb-6 overflow-hidden py-0",children:[n.jsxs("button",{onClick:()=>p(!x),className:"w-full flex items-center justify-between px-4 py-3 bg-primary hover:bg-primary/90 transition-colors",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Zp,{size:20,className:"text-primary-foreground"}),n.jsx("span",{className:"font-semibold text-primary-foreground uppercase tracking-wide",children:"Mission Control"}),n.jsx(_e,{variant:"secondary",className:"ml-2",children:i.length>0?`${i.length} ${i.length===1?"agent":"agents"} active`:r?.state==="initializing"?"Initializing":r?.state==="draining"?"Draining":r?.state==="paused"?"Paused":r?.state==="complete"?"Complete":"Orchestrating"})]}),x?n.jsx(Zi,{size:20,className:"text-primary-foreground"}):n.jsx(xs,{size:20,className:"text-primary-foreground"})]}),n.jsx("div",{className:`
75
- transition-all duration-300 ease-out
76
- ${x?"max-h-[600px] opacity-100 overflow-y-auto":"max-h-0 opacity-0 overflow-hidden"}
77
- `,children:n.jsxs(qe,{className:"p-4",children:[r&&n.jsx(dj,{status:r}),i.length>0&&n.jsx("div",{className:"flex gap-4 overflow-x-auto pb-4",children:i.map(H=>n.jsx(Wb,{agent:H,onShowLogs:w=>{const O=i.find(B=>B.agentIndex===w);O&&T(O)}},`agent-${H.agentIndex}`))}),d.length>0&&n.jsxs("div",{className:"mt-4 pt-4 border-t",children:[n.jsxs(Z,{variant:"ghost",size:"sm",onClick:E,className:"gap-2 mb-2 h-auto p-1",children:[n.jsx(jh,{size:14,className:"text-muted-foreground"}),n.jsx("span",{className:"text-xs font-semibold text-muted-foreground uppercase tracking-wide",children:"Recent Activity"}),n.jsxs("span",{className:"text-xs text-muted-foreground",children:["(",d.length,")"]}),v?n.jsx(xs,{size:14,className:"text-muted-foreground"}):n.jsx(Zi,{size:14,className:"text-muted-foreground"})]}),n.jsx("div",{className:`
78
- transition-all duration-200 ease-out overflow-hidden
79
- ${v?"max-h-0 opacity-0":"max-h-[300px] opacity-100"}
80
- `,children:n.jsx(ej,{activities:d,maxItems:5,showHeader:!1})})]})]})}),S&&h&&n.jsx(Ib,{agent:S,logs:h(S.agentIndex),onClose:()=>T(null)})]})}function mj(i){return Array.from({length:i},(r,d)=>({id:d,x:Math.random()*100,delay:Math.random()*.5,duration:1+Math.random()*1,color:["#ff006e","#ffd60a","#70e000","#00b4d8","#8338ec"][Math.floor(Math.random()*5)],rotation:Math.random()*360}))}function hj({agentName:i,featureName:r,onComplete:d}){const[o,h]=f.useState(!0),[x]=f.useState(()=>mj(30)),p=f.useCallback(()=>{h(!1),setTimeout(()=>d?.(),300)},[d]);return f.useEffect(()=>{const v=setTimeout(p,3e3),g=S=>{S.key==="Escape"&&p()};return window.addEventListener("keydown",g),()=>{clearTimeout(v),window.removeEventListener("keydown",g)}},[p]),o?n.jsxs("div",{className:`
81
- fixed inset-0 z-50 flex items-center justify-center
82
- pointer-events-none
83
- transition-opacity duration-300
84
- ${o?"opacity-100":"opacity-0"}
85
- `,children:[n.jsx("div",{className:"absolute inset-0 overflow-hidden",children:x.map(v=>n.jsx("div",{className:"absolute w-3 h-3 animate-confetti",style:{left:`${v.x}%`,top:"-20px",backgroundColor:v.color,animationDelay:`${v.delay}s`,animationDuration:`${v.duration}s`,transform:`rotate(${v.rotation}deg)`}},v.id))}),n.jsx(Me,{onClick:p,className:"p-6 bg-green-500 border-green-600 animate-bounce-in pointer-events-auto cursor-pointer hover:scale-105 transition-transform focus:outline-none focus:ring-2 focus:ring-primary",role:"button",tabIndex:0,children:n.jsxs(qe,{className:"p-0 flex flex-col items-center gap-4",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Nn,{size:24,className:"text-yellow-300 animate-pulse"}),n.jsx(Fp,{size:28,className:"text-white"}),n.jsx(Nn,{size:24,className:"text-yellow-300 animate-pulse"})]}),n.jsx(pl,{name:i,state:"success",size:"lg"}),n.jsxs("div",{className:"text-center",children:[n.jsx("h3",{className:"font-display text-lg font-bold text-white mb-1",children:"Feature Complete!"}),n.jsx("p",{className:"text-sm text-white/80 max-w-[200px] truncate",children:r}),n.jsxs("p",{className:"text-xs text-white/60 mt-2",children:["Great job, ",i,"!"]})]}),n.jsx("p",{className:"text-xs text-white/40 mt-1",children:"Click or press Esc to dismiss"})]})})]}):null}function xj({onClick:i,isOpen:r}){return n.jsx(Z,{onClick:i,size:"icon",className:"fixed bottom-6 right-6 z-50 w-14 h-14 rounded-full shadow-lg hover:shadow-xl transition-all duration-200 hover:-translate-y-0.5 active:translate-y-0.5",title:r?"Close Assistant (Press A)":"Open Assistant (Press A)","aria-label":r?"Close Assistant":"Open Assistant",children:r?n.jsx(ct,{size:24}):n.jsx(Eu,{size:24})})}function ds(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function gj({projectName:i,onError:r}){const[d,o]=f.useState([]),[h,x]=f.useState(!1),[p,v]=f.useState("disconnected"),[g,S]=f.useState(null),[T,E]=f.useState(null),H=f.useRef(null),w=f.useRef(null),O=f.useRef(0),B=3,z=f.useRef(null),D=f.useRef(null),b=f.useRef(null);f.useEffect(()=>()=>{z.current&&clearInterval(z.current),D.current&&clearTimeout(D.current),b.current&&clearTimeout(b.current),H.current&&H.current.close(),w.current=null},[]);const N=f.useCallback(()=>{if(H.current?.readyState===WebSocket.OPEN||H.current?.readyState===WebSocket.CONNECTING)return;v("connecting");const L=window.location.protocol==="https:"?"wss:":"ws:",le=window.location.host,W=`${L}//${le}/api/assistant/ws/${encodeURIComponent(i)}`,R=new WebSocket(W);H.current=R,R.onopen=()=>{v("connected"),O.current=0,z.current=window.setInterval(()=>{R.readyState===WebSocket.OPEN&&R.send(JSON.stringify({type:"ping"}))},3e4)},R.onclose=()=>{if(v("disconnected"),z.current&&(clearInterval(z.current),z.current=null),O.current<B){O.current++;const $=Math.min(1e3*Math.pow(2,O.current),1e4);D.current=window.setTimeout(N,$)}},R.onerror=()=>{v("error"),r?.("WebSocket connection error")},R.onmessage=$=>{try{const F=JSON.parse($.data);switch(F.type){case"text":{o(Y=>{const y=Y[Y.length-1];return y?.role==="assistant"&&y.isStreaming?[...Y.slice(0,-1),{...y,content:y.content+F.content}]:(w.current=ds(),[...Y,{id:w.current,role:"assistant",content:F.content,timestamp:new Date,isStreaming:!0}])});break}case"tool_call":{let Y=`Using tool: ${F.tool}`;if(F.tool==="mcp__features__feature_create"){const y=F.input;Y=`Creating feature: "${y.name||"New Feature"}" in ${y.category||"General"}`}else if(F.tool==="mcp__features__feature_create_bulk"){const _=F.input.features?.length||0;Y=`Creating ${_} feature${_!==1?"s":""}`}else if(F.tool==="mcp__features__feature_skip")Y="Skipping feature (moving to end of queue)";else if(F.tool==="mcp__features__feature_get_stats")Y="Checking project progress";else if(F.tool==="mcp__features__feature_get_next")Y="Getting next pending feature";else if(F.tool==="Read"){const _=F.input.file_path||"";Y=`Reading file: ${_.split("/").pop()||_}`}else F.tool==="Glob"?Y=`Searching for files: ${F.input.pattern||"..."}`:F.tool==="Grep"&&(Y=`Searching for: ${F.input.pattern||"..."}`);o(y=>[...y,{id:ds(),role:"system",content:Y,timestamp:new Date}]);break}case"question":{E(F.questions),x(!1),o(Y=>{const y=Y[Y.length-1];return y?.role==="assistant"&&y.isStreaming?[...Y.slice(0,-1),{...y,isStreaming:!1,questions:F.questions}]:Y});break}case"conversation_created":{S(F.conversation_id);break}case"response_done":{x(!1),w.current=null,o(Y=>{const y=Y[Y.length-1];return y?.role==="assistant"&&y.isStreaming?[...Y.slice(0,-1),{...y,isStreaming:!1}]:Y});break}case"error":{x(!1),r?.(F.content),o(Y=>[...Y,{id:ds(),role:"system",content:`Error: ${F.content}`,timestamp:new Date}]);break}case"pong":break}}catch(F){console.error("Failed to parse WebSocket message:",F)}}},[i,r]),G=f.useCallback(L=>{b.current&&(clearTimeout(b.current),b.current=null),N();const le=()=>{if(H.current?.readyState===WebSocket.OPEN){b.current=null,x(!0);const W={type:"start"};L&&(W.conversation_id=L,S(L)),H.current.send(JSON.stringify(W))}else H.current?.readyState===WebSocket.CONNECTING?b.current=window.setTimeout(le,100):b.current=null};b.current=window.setTimeout(le,100)},[N]),J=f.useCallback(L=>{if(!H.current||H.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}o(le=>[...le,{id:ds(),role:"user",content:L,timestamp:new Date}]),x(!0),H.current.send(JSON.stringify({type:"message",content:L}))},[r]),I=f.useCallback(L=>{if(!H.current||H.current.readyState!==WebSocket.OPEN){r?.("Not connected");return}const le=[];for(const[,R]of Object.entries(L))Array.isArray(R)?le.push(R.join(", ")):le.push(R);const W=le.join("; ");o(R=>[...R,{id:ds(),role:"user",content:W,timestamp:new Date}]),E(null),x(!0),H.current.send(JSON.stringify({type:"answer",answers:L}))},[r]),X=f.useCallback(()=>{O.current=B,z.current&&(clearInterval(z.current),z.current=null),H.current&&(H.current.close(),H.current=null),v("disconnected")},[]),P=f.useCallback(()=>{o([])},[]);return{messages:d,isLoading:h,connectionStatus:p,conversationId:g,currentQuestions:T,start:G,sendMessage:J,sendAnswer:I,disconnect:X,clearMessages:P}}function pj(i){return yt({queryKey:["conversations",i],queryFn:()=>b0(i),enabled:!!i,staleTime:3e4})}function yj(i,r){return yt({queryKey:["conversation",i,r],queryFn:()=>j0(i,r),enabled:!!i&&!!r,staleTime:3e4,retry:(d,o)=>o instanceof Error&&(o.message.toLowerCase().includes("not found")||o.message==="HTTP 404")?!1:d<3})}function vj(i){const r=Ve();return Je({mutationFn:d=>S0(i,d),onSuccess:(d,o)=>{r.invalidateQueries({queryKey:["conversations",i]}),r.removeQueries({queryKey:["conversation",i,o]})}})}function bj(i){if(!i)return"";const r=new Date(i),o=new Date().getTime()-r.getTime(),h=Math.floor(o/1e3),x=Math.floor(h/60),p=Math.floor(x/60),v=Math.floor(p/24);return h<60?"just now":x<60?`${x}m ago`:p<24?`${p}h ago`:v===1?"yesterday":v<7?`${v}d ago`:r.toLocaleDateString()}function jj({projectName:i,currentConversationId:r,isOpen:d,onClose:o,onSelectConversation:h}){const[x,p]=f.useState(null),[v,g]=f.useState(null),{data:S,isLoading:T}=pj(i),E=vj(i);f.useEffect(()=>{d||g(null)},[d]);const H=(z,D)=>{z.stopPropagation(),p(D)},w=async()=>{if(x)try{g(null),await E.mutateAsync(x.id),p(null)}catch{g("Failed to delete conversation. Please try again.")}},O=()=>{p(null),g(null)},B=z=>{h(z),o()};return f.useEffect(()=>{if(!d)return;const z=D=>{D.key==="Escape"&&(D.preventDefault(),o())};return document.addEventListener("keydown",z),()=>document.removeEventListener("keydown",z)},[d,o]),d?n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"fixed inset-0 z-40",onClick:o}),n.jsxs(Me,{className:"absolute top-full left-0 mt-2 z-50 w-[320px] max-w-[calc(100vw-2rem)] shadow-lg",children:[n.jsx(Wi,{className:"p-3 border-b border-border",children:n.jsx("h3",{className:"font-bold text-sm",children:"Conversation History"})}),n.jsx(qe,{className:"p-0",children:T?n.jsx("div",{className:"p-4 flex items-center justify-center",children:n.jsx(Ce,{size:20,className:"animate-spin text-muted-foreground"})}):!S||S.length===0?n.jsx("div",{className:"p-4 text-center text-muted-foreground text-sm",children:"No conversations yet"}):n.jsx("div",{className:"max-h-[300px] overflow-y-auto",children:S.map(z=>{const D=z.id===r;return n.jsxs("div",{className:`flex items-center group ${D?"bg-primary/10":"hover:bg-muted"}`,children:[n.jsx("button",{onClick:()=>B(z.id),className:"flex-1 px-3 py-2 text-left",disabled:D,children:n.jsxs("div",{className:"flex items-start gap-2",children:[n.jsx(Jp,{size:16,className:"mt-0.5 flex-shrink-0 text-muted-foreground"}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium truncate text-foreground",children:z.title||"Untitled conversation"}),n.jsxs("div",{className:"text-xs flex items-center gap-2 text-muted-foreground",children:[n.jsxs("span",{children:[z.message_count," messages"]}),n.jsx("span",{children:"|"}),n.jsx("span",{children:bj(z.updated_at)})]})]})]})}),n.jsx(Z,{variant:"ghost",size:"icon",onClick:b=>H(b,z),className:`h-8 w-8 mr-2 ${D?"opacity-60 hover:opacity-100":"opacity-0 group-hover:opacity-100"} hover:text-destructive hover:bg-destructive/10`,title:"Delete conversation",children:n.jsx(an,{size:14})})]},z.id)})})})]}),n.jsx(qh,{isOpen:x!==null,title:"Delete Conversation",message:v?n.jsxs("div",{className:"space-y-3",children:[n.jsx("p",{children:`Are you sure you want to delete "${x?.title||"this conversation"}"? This action cannot be undone.`}),n.jsxs("div",{className:"flex items-center gap-2 p-2 bg-destructive/10 border border-destructive rounded text-sm text-destructive",children:[n.jsx(ua,{size:16,className:"flex-shrink-0"}),n.jsx("span",{children:v})]})]}):`Are you sure you want to delete "${x?.title||"this conversation"}"? This action cannot be undone.`,confirmLabel:"Delete",cancelLabel:"Cancel",variant:"danger",isLoading:E.isPending,onConfirm:w,onCancel:O})]}):null}function Sj({projectName:i,conversationId:r,initialMessages:d,isLoadingConversation:o,onNewChat:h,onSelectConversation:x,onConversationCreated:p}){const[v,g]=f.useState(""),[S,T]=f.useState(!1),E=f.useRef(null),H=f.useRef(null),w=f.useRef(!1),O=f.useRef(void 0),B=f.useCallback(Y=>{console.error("Assistant error:",Y)},[]),{messages:z,isLoading:D,connectionStatus:b,conversationId:N,currentQuestions:G,start:J,sendMessage:I,sendAnswer:X,clearMessages:P}=gj({projectName:i,onError:B}),L=f.useRef(N);f.useEffect(()=>{L.current===null&&N!==null&&p&&p(N),L.current=N},[N,p]),f.useEffect(()=>{E.current?.scrollIntoView({behavior:"smooth"})},[z]),f.useEffect(()=>{if(o||O.current===r&&w.current)return;const Y=O.current!==void 0&&O.current!==r;O.current=r,w.current=!0,Y&&P(),J(r)},[r,o,J,P]);const le=f.useCallback(()=>{P(),h?.()},[P,h]),W=f.useCallback(Y=>{T(!1),x?.(Y)},[x]);f.useEffect(()=>{D||H.current?.focus()},[D]);const R=()=>{const Y=v.trim();!Y||D||o||(I(Y),g(""))},$=Y=>{ps(Y)&&(Y.preventDefault(),R())},F=f.useMemo(()=>{if(!(O.current===r&&!o))return d??[];if(!d||d.length===0)return z;const y=new Map;for(const _ of d)y.set(_.id,_);for(const _ of z)y.set(_.id,_);return Array.from(y.values())},[d,z,r,o]);return n.jsxs("div",{className:"flex flex-col h-full",children:[n.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-background",children:[n.jsxs("div",{className:"flex items-center gap-1 relative",children:[n.jsx(Z,{variant:"ghost",size:"icon",onClick:le,className:"h-8 w-8",title:"New conversation",disabled:D,children:n.jsx(tn,{size:16})}),n.jsx(Z,{variant:S?"secondary":"ghost",size:"icon",onClick:()=>T(!S),className:"h-8 w-8",title:"Conversation history",children:n.jsx($p,{size:16})}),n.jsx(jj,{projectName:i,currentConversationId:r??N,isOpen:S,onClose:()=>T(!1),onSelectConversation:W})]}),n.jsx("div",{className:"flex items-center gap-2",children:b==="connected"?n.jsxs(n.Fragment,{children:[n.jsx(hl,{size:14,className:"text-green-500"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connected"})]}):b==="connecting"?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:14,className:"text-primary animate-spin"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Connecting..."})]}):n.jsxs(n.Fragment,{children:[n.jsx(ml,{size:14,className:"text-destructive"}),n.jsx("span",{className:"text-xs text-muted-foreground",children:"Disconnected"})]})})]}),n.jsx("div",{className:"flex-1 overflow-y-auto bg-background",children:o?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Loading conversation..."})]})}):F.length===0?n.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:D?n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ce,{size:16,className:"animate-spin"}),n.jsx("span",{children:"Connecting to assistant..."})]}):n.jsx("span",{children:"Ask me anything about the codebase"})}):n.jsxs("div",{className:"py-4",children:[F.map(Y=>n.jsx(Mu,{message:Y},Y.id)),n.jsx("div",{ref:E})]})}),D&&F.length>0&&n.jsx("div",{className:"px-4 py-2 border-t border-border bg-background",children:n.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground text-sm",children:[n.jsxs("div",{className:"flex gap-1",children:[n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"0ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"150ms"}}),n.jsx("span",{className:"w-2 h-2 bg-primary rounded-full animate-bounce",style:{animationDelay:"300ms"}})]}),n.jsx("span",{children:"Thinking..."})]})}),G&&n.jsx("div",{className:"border-t border-border bg-background",children:n.jsx(Uh,{questions:G,onSubmit:X})}),n.jsxs("div",{className:"border-t border-border p-4 bg-card",children:[n.jsxs("div",{className:"flex gap-2",children:[n.jsx(ys,{ref:H,value:v,onChange:Y=>g(Y.target.value),onKeyDown:$,placeholder:"Ask about the codebase...",disabled:D||o||b!=="connected"||!!G,className:"flex-1 resize-none min-h-[44px] max-h-[120px]",rows:1}),n.jsx(Z,{onClick:R,disabled:!v.trim()||D||o||b!=="connected"||!!G,title:"Send message",children:D?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(Ji,{size:18})})]}),n.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:G?"Select an option above to continue":"Press Enter to send, Shift+Enter for new line"})]})]})}const Gh="assistant-conversation-",rh="assistant-panel-width",Nj=400,uh=300,oh=90;function dh(i){try{const r=localStorage.getItem(`${Gh}${i}`);if(r)return JSON.parse(r).conversationId||null}catch{}return null}function Cj(i,r){const d=`${Gh}${i}`;r?localStorage.setItem(d,JSON.stringify({conversationId:r})):localStorage.removeItem(d)}function wj({projectName:i,isOpen:r,onClose:d}){const[o,h]=f.useState(()=>dh(i)),{data:x,isLoading:p,error:v}=yj(i,o);f.useEffect(()=>{if(v&&o){const z=v.message.toLowerCase();(z.includes("not found")||z.includes("404"))&&(console.warn(`Conversation ${o} not found, clearing stored ID`),h(null))}},[v,o]);const g=x?.messages.map(z=>({id:`db-${z.id}`,role:z.role,content:z.content,timestamp:z.timestamp?new Date(z.timestamp):new Date}));f.useEffect(()=>{Cj(i,o)},[i,o]),f.useEffect(()=>{h(dh(i))},[i]);const S=f.useCallback(()=>{h(null)},[]),T=f.useCallback(z=>{h(z)},[]),E=f.useCallback(z=>{h(z)},[]),[H,w]=f.useState(()=>{try{const z=localStorage.getItem(rh);if(z)return Math.max(uh,parseInt(z,10))}catch{}return Nj}),O=f.useRef(!1),B=f.useCallback(z=>{z.preventDefault(),O.current=!0;const D=z.clientX,b=H,N=window.innerWidth*(oh/100),G=I=>{if(!O.current)return;const X=D-I.clientX,P=Math.min(N,Math.max(uh,b+X));w(P)},J=()=>{O.current=!1,document.removeEventListener("mousemove",G),document.removeEventListener("mouseup",J),document.body.style.cursor="",document.body.style.userSelect="",w(I=>(localStorage.setItem(rh,String(I)),I))};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",G),document.addEventListener("mouseup",J)},[H]);return n.jsxs(n.Fragment,{children:[r&&n.jsx("div",{className:"fixed inset-0 bg-black/20 z-40 transition-opacity duration-300",onClick:d,"aria-hidden":"true"}),n.jsxs("div",{className:`
86
- fixed right-0 top-0 bottom-0 z-50
87
- bg-card
88
- border-l border-border
89
- transform transition-transform duration-300 ease-out
90
- flex flex-col shadow-xl
91
- ${r?"translate-x-0":"translate-x-full"}
92
- `,style:{width:`${H}px`,maxWidth:`${oh}vw`},role:"dialog","aria-label":"Project Assistant","aria-hidden":!r,children:[n.jsx("div",{className:"absolute left-0 top-0 bottom-0 w-1.5 cursor-col-resize z-10 group",onMouseDown:B,children:n.jsx("div",{className:"absolute inset-y-0 left-0 w-0.5 bg-border group-hover:bg-primary transition-colors"})}),n.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border bg-primary text-primary-foreground",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx("div",{className:"bg-card text-foreground border border-border p-1.5 rounded",children:n.jsx(wu,{size:18})}),n.jsxs("div",{children:[n.jsx("h2",{className:"font-semibold",children:"Project Assistant"}),n.jsx("p",{className:"text-xs opacity-80 font-mono",children:i})]})]}),n.jsx(Z,{variant:"ghost",size:"icon",onClick:d,className:"text-primary-foreground hover:bg-primary-foreground/20",title:"Close Assistant (Press A)","aria-label":"Close Assistant",children:n.jsx(ct,{size:18})})]}),n.jsx("div",{className:"flex-1 overflow-hidden",children:r&&n.jsx(Sj,{projectName:i,conversationId:o,initialMessages:g,isLoadingConversation:p,onNewChat:S,onSelectConversation:T,onConversationCreated:E})})]})]})}function Gi(){return`${Date.now()}-${Math.random().toString(36).substring(2,9)}`}function zj({projectName:i,onComplete:r,onError:d}){const[o,h]=f.useState([]),[x,p]=f.useState(!1),[v,g]=f.useState(!1),[S,T]=f.useState("disconnected"),[E,H]=f.useState(0),[w,O]=f.useState([]),B=f.useRef(null),z=f.useRef(null),D=f.useRef(0),b=3,N=f.useRef(null),G=f.useRef(null),J=f.useRef(!1),I=f.useRef(!1);f.useEffect(()=>{J.current=v},[v]),f.useEffect(()=>()=>{N.current&&clearInterval(N.current),G.current&&clearTimeout(G.current),B.current&&B.current.close()},[]);const X=f.useCallback(()=>{if(I.current||B.current?.readyState===WebSocket.OPEN)return;T("connecting");const W=window.location.protocol==="https:"?"wss:":"ws:",R=window.location.host,$=`${W}//${R}/api/expand/ws/${encodeURIComponent(i)}`,F=new WebSocket($);B.current=F,F.onopen=()=>{T("connected"),D.current=0,I.current=!1,N.current=window.setInterval(()=>{F.readyState===WebSocket.OPEN&&F.send(JSON.stringify({type:"ping"}))},3e4)},F.onclose=Y=>{T("disconnected"),N.current&&(clearInterval(N.current),N.current=null);const y=Y.code>=4e3&&Y.code<=4999;if(!I.current&&!y&&D.current<b&&!J.current){D.current++;const _=Math.min(1e3*Math.pow(2,D.current),1e4);G.current=window.setTimeout(X,_)}},F.onerror=()=>{T("error"),d?.("WebSocket connection error")},F.onmessage=Y=>{try{const y=JSON.parse(Y.data);switch(y.type){case"text":{h(_=>{const ee=_[_.length-1];return ee?.role==="assistant"&&ee.isStreaming?[..._.slice(0,-1),{...ee,content:ee.content+y.content}]:(z.current=Gi(),[..._,{id:z.current,role:"assistant",content:y.content,timestamp:new Date,isStreaming:!0}])});break}case"features_created":{H(_=>_+y.count),O(y.features),h(_=>[..._,{id:Gi(),role:"system",content:`Created ${y.count} new feature${y.count!==1?"s":""}!`,timestamp:new Date}]);break}case"expansion_complete":{g(!0),p(!1),h(_=>{const ee=_[_.length-1];return ee?.role==="assistant"&&ee.isStreaming?[..._.slice(0,-1),{...ee,isStreaming:!1}]:_}),r?.(y.total_added);break}case"error":{p(!1),d?.(y.content),h(_=>[..._,{id:Gi(),role:"system",content:`Error: ${y.content}`,timestamp:new Date}]);break}case"pong":break;case"response_done":{p(!1),h(_=>{const ee=_[_.length-1];return ee?.role==="assistant"&&ee.isStreaming?[..._.slice(0,-1),{...ee,isStreaming:!1}]:_});break}}}catch(y){console.error("Failed to parse WebSocket message:",y)}}},[i,r,d]),P=f.useCallback(()=>{X();let W=0;const R=50,$=()=>{B.current?.readyState===WebSocket.OPEN?(p(!0),B.current.send(JSON.stringify({type:"start"}))):B.current?.readyState===WebSocket.CONNECTING&&(W++<R?setTimeout($,100):(d?.("Connection timeout"),p(!1)))};setTimeout($,100)},[X,d]),L=f.useCallback((W,R)=>{if(!B.current||B.current.readyState!==WebSocket.OPEN){d?.("Not connected");return}h(F=>[...F,{id:Gi(),role:"user",content:W,attachments:R,timestamp:new Date}]),p(!0);const $={type:"message",content:W};R&&R.length>0&&($.attachments=R.map(F=>({filename:F.filename,mimeType:F.mimeType,base64Data:F.base64Data}))),B.current.send(JSON.stringify($))},[d]),le=f.useCallback(()=>{I.current=!0,D.current=b,N.current&&(clearInterval(N.current),N.current=null),G.current&&(clearTimeout(G.current),G.current=null),B.current&&(B.current.close(),B.current=null),T("disconnected")},[]);return{messages:o,isLoading:x,isComplete:v,connectionStatus:S,featuresCreated:E,recentFeatures:w,start:P,sendMessage:L,disconnect:le}}const Tj=5*1024*1024,Ej=["image/jpeg","image/png"];function Aj({projectName:i,onComplete:r,onCancel:d}){const[o,h]=f.useState(""),[x,p]=f.useState(null),[v,g]=f.useState([]),S=f.useRef(null),T=f.useRef(null),E=f.useRef(null),H=f.useCallback(R=>p(R),[]),{messages:w,isLoading:O,isComplete:B,connectionStatus:z,featuresCreated:D,start:b,sendMessage:N,disconnect:G}=zj({projectName:i,onComplete:r,onError:H});f.useEffect(()=>(b(),()=>{G()}),[]),f.useEffect(()=>{S.current?.scrollIntoView({behavior:"smooth"})},[w,O]),f.useEffect(()=>{!O&&T.current&&T.current.focus()},[O]);const J=()=>{const R=o.trim();!R&&v.length===0||O||(N(R,v.length>0?v:void 0),h(""),g([]))},I=R=>{ps(R)&&(R.preventDefault(),J())},X=f.useCallback(R=>{R&&Array.from(R).forEach($=>{if(!Ej.includes($.type)){p(`Invalid file type: ${$.name}. Only JPEG and PNG are supported.`);return}if($.size>Tj){p(`File too large: ${$.name}. Maximum size is 5 MB.`);return}const F=new FileReader;F.onload=Y=>{const y=Y.target?.result,_=y.split(",")[1],ee={id:`${Date.now()}-${Math.random().toString(36).substring(2,9)}`,filename:$.name,mimeType:$.type,base64Data:_,previewUrl:y,size:$.size};g(te=>[...te,ee])},F.onerror=()=>{p(`Failed to read file: ${$.name}`)},F.readAsDataURL($)})},[]),P=f.useCallback(R=>{g($=>$.filter(F=>F.id!==R))},[]),L=f.useCallback(R=>{R.preventDefault(),X(R.dataTransfer.files)},[X]),le=f.useCallback(R=>{R.preventDefault()},[]),W=()=>{switch(z){case"connected":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-green-500",children:[n.jsx(hl,{size:12}),"Connected"]});case"connecting":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-yellow-500",children:[n.jsx(hl,{size:12,className:"animate-pulse"}),"Connecting..."]});case"error":return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-destructive",children:[n.jsx(ml,{size:12}),"Error"]});default:return n.jsxs("span",{className:"flex items-center gap-1 text-xs text-muted-foreground",children:[n.jsx(ml,{size:12}),"Disconnected"]})}};return n.jsxs("div",{className:"flex flex-col h-full bg-background",children:[n.jsxs("div",{className:"flex items-center justify-between p-4 border-b-2 border-border bg-card",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("h2",{className:"font-display font-bold text-lg text-foreground",children:["Expand Project: ",i]}),n.jsx(W,{}),D>0&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(tn,{size:14}),D," added"]})]}),n.jsxs("div",{className:"flex items-center gap-2",children:[B&&n.jsxs("span",{className:"flex items-center gap-1 text-sm text-green-500 font-bold",children:[n.jsx(Ft,{size:16}),"Complete"]}),n.jsx(Z,{onClick:d,variant:"ghost",size:"icon",title:"Close",children:n.jsx(ct,{size:20})})]})]}),x&&n.jsxs(ht,{variant:"destructive",className:"rounded-none border-x-0 border-t-0",children:[n.jsx(ua,{size:16}),n.jsx(xt,{className:"flex-1",children:x}),n.jsx(Z,{onClick:()=>p(null),variant:"ghost",size:"icon",className:"h-6 w-6",children:n.jsx(ct,{size:14})})]}),n.jsxs("div",{className:"flex-1 overflow-y-auto py-4",children:[w.length===0&&!O&&n.jsx("div",{className:"flex flex-col items-center justify-center h-full text-center p-8",children:n.jsx(Me,{className:"p-6 max-w-md",children:n.jsxs(qe,{className:"p-0",children:[n.jsx("h3",{className:"font-display font-bold text-lg mb-2",children:"Starting Project Expansion"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Connecting to Claude to help you add new features to your project..."}),z==="error"&&n.jsxs(Z,{onClick:b,className:"mt-4",size:"sm",children:[n.jsx(en,{size:14}),"Retry Connection"]})]})})}),w.map(R=>n.jsx(Mu,{message:R},R.id)),O&&n.jsx(Bh,{}),n.jsx("div",{ref:S})]}),!B&&n.jsxs("div",{className:"p-4 border-t-2 border-border bg-card",onDrop:L,onDragOver:le,children:[v.length>0&&n.jsx("div",{className:"flex flex-wrap gap-2 mb-3",children:v.map(R=>n.jsxs("div",{className:"relative group border-2 border-border p-1 bg-card rounded shadow-sm",children:[n.jsx("img",{src:R.previewUrl,alt:R.filename,className:"w-16 h-16 object-cover rounded"}),n.jsx("button",{onClick:()=>P(R.id),className:"absolute -top-2 -right-2 bg-destructive text-destructive-foreground rounded-full p-0.5 border-2 border-border hover:scale-110 transition-transform",title:"Remove attachment",children:n.jsx(ct,{size:12})}),n.jsx("span",{className:"text-xs truncate block max-w-16 mt-1 text-center text-muted-foreground",children:R.filename.length>10?`${R.filename.substring(0,7)}...`:R.filename})]},R.id))}),n.jsxs("div",{className:"flex gap-3",children:[n.jsx("input",{ref:E,type:"file",accept:"image/jpeg,image/png",multiple:!0,onChange:R=>X(R.target.files),className:"hidden"}),n.jsx(Z,{onClick:()=>E.current?.click(),disabled:z!=="connected",variant:"ghost",size:"icon",title:"Attach image (JPEG, PNG - max 5MB)",children:n.jsx(Xi,{size:18})}),n.jsx(rt,{ref:T,type:"text",value:o,onChange:R=>h(R.target.value),onKeyDown:I,placeholder:v.length>0?"Add a message with your image(s)...":"Describe the features you want to add...",className:"flex-1",disabled:O||z!=="connected"}),n.jsx(Z,{onClick:J,disabled:!o.trim()&&v.length===0||O||z!=="connected",className:"px-6",children:n.jsx(Ji,{size:18})})]}),n.jsxs("p",{className:"text-xs text-muted-foreground mt-2",children:["Press Enter to send. Drag & drop or click ",n.jsx(Xi,{size:12,className:"inline"})," to attach images."]})]}),B&&n.jsx("div",{className:"p-4 border-t-2 border-border bg-green-500 text-white",children:n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"flex items-center gap-2",children:[n.jsx(Ft,{size:20}),n.jsxs("span",{className:"font-bold",children:["Added ",D," new feature",D!==1?"s":"","!"]})]}),n.jsx(Z,{onClick:()=>r(D),variant:"secondary",children:"Close"})]})})]})}function Dj({isOpen:i,projectName:r,onClose:d,onFeaturesAdded:o}){if(!i)return null;const h=x=>{x>0&&o(),d()};return n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(Aj,{projectName:r,onComplete:h,onCancel:d})})}const _j={claude:"Default provider. Uses your Claude CLI credentials.",kimi:"Get an API key at kimi.com",glm:"Get an API key at open.bigmodel.cn",ollama:"Run models locally. Install from ollama.com",custom:"Connect to any OpenAI-compatible API endpoint."};function Mj({isOpen:i,onClose:r}){const{data:d,isLoading:o,isError:h,refetch:x}=Du(),{data:p}=lv(),{data:v}=nv(),g=sv(),{theme:S,setTheme:T,darkMode:E,toggleDarkMode:H}=Rh(),[w,O]=f.useState(!1),[B,z]=f.useState(""),[D,b]=f.useState(""),[N,G]=f.useState(""),J=()=>{d&&!g.isPending&&g.mutate({yolo_mode:!d.yolo_mode})},I=ae=>{g.isPending||g.mutate({api_model:ae})},X=ae=>{g.isPending||g.mutate({testing_agent_ratio:ae})},P=ae=>{g.isPending||g.mutate({batch_size:ae})},L=ae=>{g.isPending||(g.mutate({api_provider:ae}),z(""),O(!1),b(""),G(""))},le=()=>{B.trim()&&!g.isPending&&(g.mutate({api_auth_token:B.trim()}),z(""),O(!1))},W=()=>{N.trim()&&!g.isPending&&(g.mutate({api_base_url:N.trim()}),G(""))},R=()=>{D.trim()&&!g.isPending&&(g.mutate({api_model:D.trim()}),b(""))},$=v?.providers??[],F=p?.models??[],Y=g.isPending,y=d?.api_provider??"claude",_=$.find(ae=>ae.id===y),te=y!=="claude"&&_?.requires_auth,me=y==="custom"||y==="azure",re=y==="custom"||y==="ollama";return n.jsx(ea,{open:i,onOpenChange:ae=>!ae&&r(),children:n.jsxs(ta,{"aria-describedby":void 0,className:"sm:max-w-lg max-h-[90vh] overflow-y-auto",children:[n.jsx(aa,{children:n.jsxs(na,{className:"flex items-center gap-2",children:["Settings",Y&&n.jsx(Ce,{className:"animate-spin",size:16})]})}),o&&n.jsxs("div",{className:"flex items-center justify-center py-8",children:[n.jsx(Ce,{className:"animate-spin",size:24}),n.jsx("span",{className:"ml-2",children:"Loading settings..."})]}),h&&n.jsxs(ht,{variant:"destructive",children:[n.jsx(ua,{className:"h-4 w-4"}),n.jsxs(xt,{children:["Failed to load settings",n.jsx(Z,{variant:"link",onClick:()=>x(),className:"ml-2 p-0 h-auto",children:"Retry"})]})]}),d&&!o&&n.jsxs("div",{className:"space-y-6",children:[n.jsxs("div",{className:"space-y-3",children:[n.jsx(Ee,{className:"font-medium",children:"Theme"}),n.jsx("div",{className:"grid gap-2",children:Vi.map(ae=>n.jsxs("button",{onClick:()=>T(ae.id),className:`flex items-center gap-3 p-3 rounded-lg border-2 transition-colors text-left ${S===ae.id?"border-primary bg-primary/5":"border-border hover:border-primary/50 hover:bg-muted/50"}`,children:[n.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.background}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.primary}}),n.jsx("div",{className:"w-5 h-5 rounded-sm border border-border/50",style:{backgroundColor:ae.previewColors.accent}})]}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-sm",children:ae.name}),n.jsx("div",{className:"text-xs text-muted-foreground",children:ae.description})]}),S===ae.id&&n.jsx(ra,{size:18,className:"text-primary shrink-0"})]},ae.id))})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Ee,{htmlFor:"dark-mode",className:"font-medium",children:"Dark Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Switch between light and dark appearance"})]}),n.jsxs(Z,{id:"dark-mode",variant:"outline",size:"sm",onClick:H,className:"gap-2",children:[E?n.jsx(Sh,{size:16}):n.jsx(Nh,{size:16}),E?"Light":"Dark"]})]}),n.jsx("hr",{className:"border-border"}),n.jsxs("div",{className:"space-y-3",children:[n.jsx(Ee,{className:"font-medium",children:"API Provider"}),n.jsx("div",{className:"flex flex-wrap gap-1.5",children:$.map(ae=>n.jsx("button",{onClick:()=>L(ae.id),disabled:Y,className:`py-1.5 px-3 text-sm font-medium rounded-md border transition-colors ${y===ae.id?"bg-primary text-primary-foreground border-primary":"bg-background text-foreground border-border hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:ae.name.split(" (")[0]},ae.id))}),n.jsx("p",{className:"text-xs text-muted-foreground",children:_j[y]??""}),te&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(Ee,{className:"text-sm",children:"API Key"}),d.api_has_auth_token&&!B&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(qm,{size:14,className:"text-green-500"}),n.jsx("span",{children:"Configured"}),n.jsx(Z,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs",onClick:()=>z(" "),children:"Change"})]}),(!d.api_has_auth_token||B)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsxs("div",{className:"relative flex-1",children:[n.jsx("input",{type:w?"text":"password",value:B.trim(),onChange:ae=>z(ae.target.value),placeholder:"Enter API key...",className:"w-full py-1.5 px-3 pe-9 text-sm border rounded-md bg-background"}),n.jsx("button",{type:"button",onClick:()=>O(!w),className:"absolute end-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",children:w?n.jsx(Wp,{size:14}):n.jsx(Ip,{size:14})})]}),n.jsx(Z,{size:"sm",onClick:le,disabled:!B.trim()||Y,children:"Save"})]})]}),me&&n.jsxs("div",{className:"space-y-2 pt-1",children:[n.jsx(Ee,{className:"text-sm",children:"Base URL"}),d.api_base_url&&!N&&n.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[n.jsx(qm,{size:14,className:"text-green-500"}),n.jsx("span",{className:"truncate",children:d.api_base_url}),n.jsx(Z,{variant:"ghost",size:"sm",className:"h-auto py-0.5 px-2 text-xs shrink-0",onClick:()=>G(d.api_base_url||""),children:"Change"})]}),(!d.api_base_url||N)&&n.jsxs("div",{className:"flex gap-2",children:[n.jsx("input",{type:"text",value:N,onChange:ae=>G(ae.target.value),placeholder:y==="azure"?"https://your-resource.services.ai.azure.com/anthropic":"https://api.example.com/v1",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background"}),n.jsx(Z,{size:"sm",onClick:W,disabled:!N.trim()||Y,children:"Save"})]})]})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Model"}),F.length>0&&n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:F.map(ae=>n.jsxs("button",{onClick:()=>I(ae.id),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.api_model??d.model)===ae.id?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx("span",{className:"block",children:ae.name}),n.jsx("span",{className:"block text-xs opacity-60",children:ae.id})]},ae.id))}),re&&n.jsxs("div",{className:"flex gap-2 pt-1",children:[n.jsx("input",{type:"text",value:D,onChange:ae=>b(ae.target.value),placeholder:"Custom model name...",className:"flex-1 py-1.5 px-3 text-sm border rounded-md bg-background",onKeyDown:ae=>ae.key==="Enter"&&R()}),n.jsx(Z,{size:"sm",onClick:R,disabled:!D.trim()||Y,children:"Set"})]})]}),n.jsx("hr",{className:"border-border"}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Ee,{htmlFor:"yolo-mode",className:"font-medium",children:"YOLO Mode"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Skip testing for rapid prototyping"})]}),n.jsx(Su,{id:"yolo-mode",checked:d.yolo_mode,onCheckedChange:J,disabled:Y})]}),n.jsxs("div",{className:"flex items-center justify-between",children:[n.jsxs("div",{className:"space-y-0.5",children:[n.jsx(Ee,{htmlFor:"playwright-headless",className:"font-medium",children:"Headless Browser"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Run browser without visible window (saves CPU)"})]}),n.jsx(Su,{id:"playwright-headless",checked:d.playwright_headless,onCheckedChange:()=>g.mutate({playwright_headless:!d.playwright_headless}),disabled:Y})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Regression Agents"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of regression testing agents (0 = disabled)"}),n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[0,1,2,3].map(ae=>n.jsx("button",{onClick:()=>X(ae),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${d.testing_agent_ratio===ae?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:ae},ae))})]}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{className:"font-medium",children:"Features per Agent"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Number of features assigned to each coding agent"}),n.jsx("div",{className:"flex rounded-lg border overflow-hidden",children:[1,2,3].map(ae=>n.jsx("button",{onClick:()=>P(ae),disabled:Y,className:`flex-1 py-2 px-3 text-sm font-medium transition-colors ${(d.batch_size??1)===ae?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${Y?"opacity-50 cursor-not-allowed":""}`,children:ae},ae))})]}),g.isError&&n.jsx(ht,{variant:"destructive",children:n.jsx(xt,{children:"Failed to save settings. Please try again."})})]})]})})}function kj({projectName:i,isOpen:r,onClose:d,autoStartOnSave:o=!1}){const{data:h}=cv(r?i:null),x=rv(i),p=Ve(),[v,g]=f.useState(""),[S,T]=f.useState(null),[E,H]=f.useState(!1);f.useEffect(()=>{r&&h&&(g(h.custom_command??h.effective_command??""),T(null))},[r,h]);const w=!!h?.custom_command,O=async()=>{const z=v.trim();if(!z){T("Please enter a dev server command.");return}H(!0),T(null);try{await x.mutateAsync(z),o&&(await _h(i),p.invalidateQueries({queryKey:["dev-server-status",i]})),d()}catch(D){T(D instanceof Error?D.message:"Failed to save configuration")}finally{H(!1)}},B=async()=>{H(!0),T(null);try{await x.mutateAsync(null),g(h?.detected_command??"")}catch(z){T(z instanceof Error?z.message:"Failed to clear configuration")}finally{H(!1)}};return n.jsx(ea,{open:r,onOpenChange:z=>!z&&d(),children:n.jsxs(ta,{className:"sm:max-w-lg",children:[n.jsx(aa,{children:n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("div",{className:"p-2 rounded-lg bg-primary/10 text-primary",children:n.jsx(bu,{size:20})}),n.jsx(na,{children:"Dev Server Configuration"})]})}),n.jsx(fl,{asChild:!0,children:n.jsxs("div",{className:"space-y-4",children:[n.jsx("div",{className:"rounded-lg border-2 border-border bg-muted/50 p-3 text-sm",children:h?.detected_type?n.jsxs("p",{children:["Detected project type: ",n.jsx("strong",{className:"text-foreground",children:h.detected_type}),h.detected_command&&n.jsxs("span",{className:"text-muted-foreground",children:[" — ",h.detected_command]})]}):n.jsx("p",{className:"text-muted-foreground",children:"No project type detected. Enter a custom command below."})}),n.jsxs("div",{className:"space-y-2",children:[n.jsx(Ee,{htmlFor:"dev-command",className:"text-foreground",children:"Dev server command"}),n.jsx(rt,{id:"dev-command",value:v,onChange:z=>{g(z.target.value),T(null)},placeholder:"npm run dev",onKeyDown:z=>{z.key==="Enter"&&!E&&O()}}),n.jsx("p",{className:"text-xs text-muted-foreground",children:"Allowed runners: npm, npx, pnpm, yarn, python, uvicorn, flask, poetry, cargo, go"})]}),w&&n.jsxs(Z,{variant:"outline",size:"sm",onClick:B,disabled:E,className:"gap-1.5",children:[n.jsx(en,{size:14}),"Clear custom command (use auto-detection)"]}),S&&n.jsx("p",{className:"text-sm font-mono text-destructive",children:S})]})}),n.jsxs(Pt,{className:"gap-2 sm:gap-0",children:[n.jsx(Z,{variant:"outline",onClick:d,disabled:E,children:"Cancel"}),n.jsx(Z,{onClick:O,disabled:E,children:E?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{size:16,className:"animate-spin mr-1.5"}),"Saving..."]}):o?"Save & Start":"Save"})]})]})})}function Oj(i){const r=Ve();return Je({mutationFn:()=>_h(i),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",i]})}})}function Rj(i){const r=Ve();return Je({mutationFn:()=>T0(i),onSuccess:()=>{r.invalidateQueries({queryKey:["dev-server-status",i]})}})}function Uj({projectName:i,status:r,url:d}){const o=Oj(i),h=Rj(i),[x,p]=f.useState(!1),[v,g]=f.useState(!1),S=o.isPending||h.isPending,T=()=>{h.reset(),o.mutate(void 0,{onError:N=>{N.message?.includes("No dev command available")&&(g(!0),p(!0))}})},E=()=>{o.reset(),h.mutate()},H=()=>{g(!1),p(!0)},w=()=>{p(!1),o.error?.message?.includes("No dev command available")&&o.reset()},O=r==="stopped"||r==="crashed",B=r==="running",z=r==="crashed",D=o.error,b=D&&!D.message?.includes("No dev command available");return n.jsxs("div",{className:"flex items-center gap-2",children:[O?n.jsxs(n.Fragment,{children:[n.jsx(Z,{onClick:T,disabled:S,variant:z?"destructive":"outline",size:"sm",title:z?"Dev Server Crashed - Click to Restart":"Start Dev Server","aria-label":z?"Restart Dev Server (crashed)":"Start Dev Server",children:S?n.jsx(Ce,{size:18,className:"animate-spin"}):z?n.jsx(Ea,{size:18}):n.jsx(Pp,{size:18})}),n.jsx(Z,{onClick:H,variant:"ghost",size:"sm",title:"Configure Dev Server","aria-label":"Configure Dev Server",children:n.jsx(ey,{size:16})})]}):n.jsx(Z,{onClick:E,disabled:S,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90",title:"Stop Dev Server","aria-label":"Stop Dev Server",children:S?n.jsx(Ce,{size:18,className:"animate-spin"}):n.jsx(yh,{size:18})}),B&&d&&n.jsx(Z,{asChild:!0,size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary/90 gap-1",children:n.jsxs("a",{href:d,target:"_blank",rel:"noopener noreferrer",title:`Open ${d} in new tab`,children:[n.jsx("span",{className:"font-mono text-xs",children:d}),n.jsx(Tu,{size:14})]})}),(b||h.error)&&n.jsx("span",{className:"text-xs font-mono text-destructive ml-2",children:String((b?D:h.error)?.message||"Operation failed")}),n.jsx(kj,{projectName:i,isOpen:x,onClose:w,autoStartOnSave:v})]})}function Bj({viewMode:i,onViewModeChange:r}){return n.jsxs("div",{className:"inline-flex rounded-lg border p-1 bg-background",children:[n.jsxs(Z,{variant:i==="kanban"?"default":"ghost",size:"sm",onClick:()=>r("kanban"),title:"Kanban View",children:[n.jsx(ty,{size:16}),"Kanban"]}),n.jsxs(Z,{variant:i==="graph"?"default":"ghost",size:"sm",onClick:()=>r("graph"),title:"Dependency Graph View",children:[n.jsx(xl,{size:16}),"Graph"]})]})}var Hj=cy();const fh=Cp(Hj),Fi=220,mh=80;class qj extends f.Component{constructor(r){super(r),this.state={hasError:!1,error:null}}static getDerivedStateFromError(r){return{hasError:!0,error:r}}componentDidCatch(r,d){console.error("DependencyGraph error:",r,d)}handleReset=()=>{this.setState({hasError:!1,error:null}),this.props.onReset?.()};render(){return this.state.hasError?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center p-6",children:[n.jsx(Ea,{size:48,className:"mx-auto mb-4 text-yellow-500"}),n.jsx("div",{className:"text-foreground font-bold mb-2",children:"Graph rendering error"}),n.jsx("div",{className:"text-sm text-muted-foreground mb-4",children:"The dependency graph encountered an issue."}),n.jsxs(Z,{onClick:this.handleReset,className:"gap-2",children:[n.jsx(ay,{size:16}),"Reload Graph"]})]})}):this.props.children}}function Lj({data:i}){const r={pending:"bg-yellow-100 border-yellow-300 dark:bg-yellow-900/30 dark:border-yellow-700",in_progress:"bg-cyan-100 border-cyan-300 dark:bg-cyan-900/30 dark:border-cyan-700",done:"bg-green-100 border-green-300 dark:bg-green-900/30 dark:border-green-700",blocked:"bg-red-50 border-red-300 dark:bg-red-900/20 dark:border-red-700",needs_human_input:"bg-amber-100 border-amber-300 dark:bg-amber-900/30 dark:border-amber-700"},d={pending:"text-yellow-900 dark:text-yellow-100",in_progress:"text-cyan-900 dark:text-cyan-100",done:"text-green-900 dark:text-green-100",blocked:"text-red-900 dark:text-red-100",needs_human_input:"text-amber-900 dark:text-amber-100"},o=()=>{switch(i.status){case"done":return n.jsx(Ft,{size:16,className:d[i.status]});case"in_progress":return n.jsx(Ce,{size:16,className:`${d[i.status]} animate-spin`});case"blocked":return n.jsx(Ea,{size:16,className:"text-destructive"});case"needs_human_input":return n.jsx($i,{size:16,className:d[i.status]});default:return n.jsx(ol,{size:16,className:d[i.status]})}};return n.jsxs(n.Fragment,{children:[n.jsx(Lm,{type:"target",position:ul.Left,className:"!bg-border !w-2 !h-2"}),n.jsxs("div",{className:`
93
- px-4 py-3 rounded-lg border-2 cursor-pointer
94
- transition-all hover:shadow-md relative
95
- ${r[i.status]}
96
- `,onClick:i.onClick,style:{minWidth:Fi-20,maxWidth:Fi},children:[i.agent&&n.jsx("div",{className:"absolute -top-3 -right-3 z-10",children:n.jsx("div",{className:"rounded-full border-2 border-border bg-background shadow-sm",children:n.jsx(pl,{name:i.agent.name,state:i.agent.state,size:"sm"})})}),n.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[n.jsx(o,{}),n.jsxs("span",{className:`text-xs font-mono ${d[i.status]} opacity-70`,children:["#",i.priority]}),i.agent&&n.jsx("span",{className:`text-xs font-bold ${d[i.status]} ml-auto`,children:i.agent.name})]}),n.jsx("div",{className:`font-bold text-sm ${d[i.status]} truncate`,title:i.name,children:i.name}),n.jsx("div",{className:`text-xs ${d[i.status]} opacity-70 truncate`,title:i.category,children:i.category})]}),n.jsx(Lm,{type:"source",position:ul.Right,className:"!bg-border !w-2 !h-2"})]})}const Gj={feature:Lj};function hh(i,r,d="LR"){const o=new fh.graphlib.Graph;o.setDefaultEdgeLabel(()=>({}));const h=d==="LR";return o.setGraph({rankdir:d,nodesep:50,ranksep:100,marginx:50,marginy:50}),i.forEach(p=>{o.setNode(p.id,{width:Fi,height:mh})}),r.forEach(p=>{o.setEdge(p.source,p.target)}),fh.layout(o),{nodes:i.map(p=>{const v=o.node(p.id);return{...p,position:{x:v.x-Fi/2,y:v.y-mh/2},sourcePosition:h?ul.Right:ul.Bottom,targetPosition:h?ul.Left:ul.Top}}),edges:r}}function Qj({graphData:i,onNodeClick:r,activeAgents:d=[]}){const[o,h]=f.useState("LR"),x=f.useRef(r);f.useEffect(()=>{x.current=r},[r]);const p=f.useCallback(N=>{x.current?.(N)},[]),v=f.useMemo(()=>{const N=new Map;for(const G of d){const J=G.featureIds||[G.featureId];for(const I of J)N.set(I,{name:G.agentName,state:G.state})}return N},[d]),g=f.useMemo(()=>{const N=i.nodes.map(J=>({id:String(J.id),type:"feature",position:{x:0,y:0},data:{...J,onClick:()=>p(J.id),agent:v.get(J.id)}})),G=i.edges.map((J,I)=>({id:`e${J.source}-${J.target}-${I}`,source:String(J.source),target:String(J.target),type:"smoothstep",animated:!1,style:{stroke:"#a1a1aa",strokeWidth:2},markerEnd:{type:ry.ArrowClosed,color:"#a1a1aa"}}));return hh(N,G,o)},[i,o,p,v]),[S,T,E]=uy(g.nodes),[H,w,O]=oy(g.edges),B=f.useRef(""),z=f.useRef(o);f.useEffect(()=>{const N=Array.from(v.entries()).map(([J,I])=>({featureId:J,agentName:I.name,agentState:I.state})),G=JSON.stringify({nodes:i.nodes.map(J=>({id:J.id,status:J.status})),edges:i.edges,agents:N});if(G!==B.current||o!==z.current){B.current=G,z.current=o;const{nodes:J,edges:I}=hh(g.nodes,g.edges,o);T(J),w(I)}},[i,o,T,w,g,v]);const D=f.useCallback(N=>{h(N)},[]),b=f.useCallback(N=>{switch(N.data.status){case"done":return"#22c55e";case"in_progress":return"#06b6d4";case"blocked":return"#ef4444";case"needs_human_input":return"#f59e0b";default:return"#eab308"}},[]);return i.nodes.length===0?n.jsx("div",{className:"h-full w-full flex items-center justify-center bg-muted",children:n.jsxs("div",{className:"text-center",children:[n.jsx("div",{className:"text-muted-foreground mb-2",children:"No features to display"}),n.jsx("div",{className:"text-sm text-muted-foreground/70",children:"Create features to see the dependency graph"})]})}):n.jsxs("div",{className:"h-full w-full relative bg-background",children:[n.jsxs("div",{className:"absolute top-4 left-4 z-10 flex gap-2",children:[n.jsx(Z,{variant:o==="LR"?"default":"outline",size:"sm",onClick:()=>D("LR"),children:"Horizontal"}),n.jsx(Z,{variant:o==="TB"?"default":"outline",size:"sm",onClick:()=>D("TB"),children:"Vertical"})]}),n.jsx(Me,{className:"absolute top-4 right-4 z-10",children:n.jsxs(qe,{className:"p-3",children:[n.jsx("div",{className:"text-xs font-bold mb-2",children:"Status"}),n.jsxs("div",{className:"space-y-1.5",children:[n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-yellow-400 border border-yellow-500"}),n.jsx("span",{children:"Pending"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-cyan-400 border border-cyan-500"}),n.jsx("span",{children:"In Progress"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-green-400 border border-green-500"}),n.jsx("span",{children:"Done"})]}),n.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[n.jsx("div",{className:"w-3 h-3 rounded bg-red-100 border border-red-400"}),n.jsx("span",{children:"Blocked"})]})]})]})}),n.jsxs(dy,{nodes:S,edges:H,onNodesChange:E,onEdgesChange:O,nodeTypes:Gj,connectionMode:fy.Loose,fitView:!0,fitViewOptions:{padding:.2},attributionPosition:"bottom-left",minZoom:.1,maxZoom:2,children:[n.jsx(my,{color:"#d4d4d8",gap:20,size:1}),n.jsx(hy,{className:"!bg-card !border !border-border !rounded-lg !shadow-sm",showInteractive:!1}),n.jsx(xy,{nodeColor:b,className:"!bg-card !border !border-border !rounded-lg !shadow-sm",maskColor:"rgba(0, 0, 0, 0.1)"})]})]})}function Yj({graphData:i,onNodeClick:r,activeAgents:d}){const[o,h]=f.useState(0),x=f.useCallback(()=>{h(p=>p+1)},[]);return n.jsx(qj,{onReset:x,children:n.jsx(Qj,{graphData:i,onNodeClick:r,activeAgents:d})},o)}const Vj=[{key:"?",description:"Show keyboard shortcuts"},{key:"D",description:"Toggle debug panel"},{key:"T",description:"Toggle terminal tab"},{key:"N",description:"Add new feature",context:"with project"},{key:"E",description:"Expand project with AI",context:"with spec & features"},{key:"A",description:"Toggle AI assistant",context:"with project"},{key:"G",description:"Toggle Kanban/Graph view",context:"with project"},{key:",",description:"Open settings"},{key:"Esc",description:"Close modal/panel"}];function Xj({isOpen:i,onClose:r}){const d=f.useCallback(o=>{(o.key==="Escape"||o.key==="?")&&(o.preventDefault(),r())},[r]);return f.useEffect(()=>{if(i)return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[i,d]),n.jsx(ea,{open:i,onOpenChange:o=>!o&&r(),children:n.jsxs(ta,{className:"sm:max-w-md",children:[n.jsx(aa,{children:n.jsxs(na,{className:"flex items-center gap-2",children:[n.jsx(ny,{size:20,className:"text-primary"}),"Keyboard Shortcuts"]})}),n.jsx("ul",{className:"space-y-1",children:Vj.map(o=>n.jsxs("li",{className:"flex items-center justify-between py-2 border-b border-border/50 last:border-0",children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsx("kbd",{className:"px-2 py-1 text-xs font-mono bg-muted rounded border border-border min-w-[2rem] text-center",children:o.key}),n.jsx("span",{className:"text-sm",children:o.description})]}),o.context&&n.jsx(_e,{variant:"secondary",className:"text-xs",children:o.context})]},o.key))}),n.jsx("p",{className:"text-xs text-muted-foreground text-center pt-2",children:"Press ? or Esc to close"})]})})}var Kj=Symbol("radix.slottable");function Zj(i){const r=({children:d})=>n.jsx(n.Fragment,{children:d});return r.displayName=`${i}.Slottable`,r.__radixId=Kj,r}var Fj=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Jj="VisuallyHidden",Qh=f.forwardRef((i,r)=>n.jsx(Th.span,{...i,ref:r,style:{...Fj,...i.style}}));Qh.displayName=Jj;var $j=Qh,[Ii]=Uy("Tooltip",[Eh]),Pi=Eh(),Yh="TooltipProvider",Wj=700,Nu="tooltip.open",[Ij,ku]=Ii(Yh),Vh=i=>{const{__scopeTooltip:r,delayDuration:d=Wj,skipDelayDuration:o=300,disableHoverableContent:h=!1,children:x}=i,p=f.useRef(!0),v=f.useRef(!1),g=f.useRef(0);return f.useEffect(()=>{const S=g.current;return()=>window.clearTimeout(S)},[]),n.jsx(Ij,{scope:r,isOpenDelayedRef:p,delayDuration:d,onOpen:f.useCallback(()=>{window.clearTimeout(g.current),p.current=!1},[]),onClose:f.useCallback(()=>{window.clearTimeout(g.current),g.current=window.setTimeout(()=>p.current=!0,o)},[o]),isPointerInTransitRef:v,onPointerInTransitChange:f.useCallback(S=>{v.current=S},[]),disableHoverableContent:h,children:x})};Vh.displayName=Yh;var gs="Tooltip",[Pj,vs]=Ii(gs),Xh=i=>{const{__scopeTooltip:r,children:d,open:o,defaultOpen:h,onOpenChange:x,disableHoverableContent:p,delayDuration:v}=i,g=ku(gs,i.__scopeTooltip),S=Pi(r),[T,E]=f.useState(null),H=By(),w=f.useRef(0),O=p??g.disableHoverableContent,B=v??g.delayDuration,z=f.useRef(!1),[D,b]=Hy({prop:o,defaultProp:h??!1,onChange:X=>{X?(g.onOpen(),document.dispatchEvent(new CustomEvent(Nu))):g.onClose(),x?.(X)},caller:gs}),N=f.useMemo(()=>D?z.current?"delayed-open":"instant-open":"closed",[D]),G=f.useCallback(()=>{window.clearTimeout(w.current),w.current=0,z.current=!1,b(!0)},[b]),J=f.useCallback(()=>{window.clearTimeout(w.current),w.current=0,b(!1)},[b]),I=f.useCallback(()=>{window.clearTimeout(w.current),w.current=window.setTimeout(()=>{z.current=!0,b(!0),w.current=0},B)},[B,b]);return f.useEffect(()=>()=>{w.current&&(window.clearTimeout(w.current),w.current=0)},[]),n.jsx(qy,{...S,children:n.jsx(Pj,{scope:r,contentId:H,open:D,stateAttribute:N,trigger:T,onTriggerChange:E,onTriggerEnter:f.useCallback(()=>{g.isOpenDelayedRef.current?I():G()},[g.isOpenDelayedRef,I,G]),onTriggerLeave:f.useCallback(()=>{O?J():(window.clearTimeout(w.current),w.current=0)},[J,O]),onOpen:G,onClose:J,disableHoverableContent:O,children:d})})};Xh.displayName=gs;var Cu="TooltipTrigger",Kh=f.forwardRef((i,r)=>{const{__scopeTooltip:d,...o}=i,h=vs(Cu,d),x=ku(Cu,d),p=Pi(d),v=f.useRef(null),g=Ah(r,v,h.onTriggerChange),S=f.useRef(!1),T=f.useRef(!1),E=f.useCallback(()=>S.current=!1,[]);return f.useEffect(()=>()=>document.removeEventListener("pointerup",E),[E]),n.jsx(Ly,{asChild:!0,...p,children:n.jsx(Th.button,{"aria-describedby":h.open?h.contentId:void 0,"data-state":h.stateAttribute,...o,ref:g,onPointerMove:rl(i.onPointerMove,H=>{H.pointerType!=="touch"&&!T.current&&!x.isPointerInTransitRef.current&&(h.onTriggerEnter(),T.current=!0)}),onPointerLeave:rl(i.onPointerLeave,()=>{h.onTriggerLeave(),T.current=!1}),onPointerDown:rl(i.onPointerDown,()=>{h.open&&h.onClose(),S.current=!0,document.addEventListener("pointerup",E,{once:!0})}),onFocus:rl(i.onFocus,()=>{S.current||h.onOpen()}),onBlur:rl(i.onBlur,h.onClose),onClick:rl(i.onClick,h.onClose)})})});Kh.displayName=Cu;var Ou="TooltipPortal",[e1,t1]=Ii(Ou,{forceMount:void 0}),Zh=i=>{const{__scopeTooltip:r,forceMount:d,children:o,container:h}=i,x=vs(Ou,r);return n.jsx(e1,{scope:r,forceMount:d,children:n.jsx(Dh,{present:d||x.open,children:n.jsx(Gy,{asChild:!0,container:h,children:o})})})};Zh.displayName=Ou;var gl="TooltipContent",Fh=f.forwardRef((i,r)=>{const d=t1(gl,i.__scopeTooltip),{forceMount:o=d.forceMount,side:h="top",...x}=i,p=vs(gl,i.__scopeTooltip);return n.jsx(Dh,{present:o||p.open,children:p.disableHoverableContent?n.jsx(Jh,{side:h,...x,ref:r}):n.jsx(a1,{side:h,...x,ref:r})})}),a1=f.forwardRef((i,r)=>{const d=vs(gl,i.__scopeTooltip),o=ku(gl,i.__scopeTooltip),h=f.useRef(null),x=Ah(r,h),[p,v]=f.useState(null),{trigger:g,onClose:S}=d,T=h.current,{onPointerInTransitChange:E}=o,H=f.useCallback(()=>{v(null),E(!1)},[E]),w=f.useCallback((O,B)=>{const z=O.currentTarget,D={x:O.clientX,y:O.clientY},b=i1(D,z.getBoundingClientRect()),N=c1(D,b),G=r1(B.getBoundingClientRect()),J=o1([...N,...G]);v(J),E(!0)},[E]);return f.useEffect(()=>()=>H(),[H]),f.useEffect(()=>{if(g&&T){const O=z=>w(z,T),B=z=>w(z,g);return g.addEventListener("pointerleave",O),T.addEventListener("pointerleave",B),()=>{g.removeEventListener("pointerleave",O),T.removeEventListener("pointerleave",B)}}},[g,T,w,H]),f.useEffect(()=>{if(p){const O=B=>{const z=B.target,D={x:B.clientX,y:B.clientY},b=g?.contains(z)||T?.contains(z),N=!u1(D,p);b?H():N&&(H(),S())};return document.addEventListener("pointermove",O),()=>document.removeEventListener("pointermove",O)}},[g,T,p,S,H]),n.jsx(Jh,{...i,ref:x})}),[n1,l1]=Ii(gs,{isInside:!1}),s1=Zj("TooltipContent"),Jh=f.forwardRef((i,r)=>{const{__scopeTooltip:d,children:o,"aria-label":h,onEscapeKeyDown:x,onPointerDownOutside:p,...v}=i,g=vs(gl,d),S=Pi(d),{onClose:T}=g;return f.useEffect(()=>(document.addEventListener(Nu,T),()=>document.removeEventListener(Nu,T)),[T]),f.useEffect(()=>{if(g.trigger){const E=H=>{H.target?.contains(g.trigger)&&T()};return window.addEventListener("scroll",E,{capture:!0}),()=>window.removeEventListener("scroll",E,{capture:!0})}},[g.trigger,T]),n.jsx(Yy,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:x,onPointerDownOutside:p,onFocusOutside:E=>E.preventDefault(),onDismiss:T,children:n.jsxs(Vy,{"data-state":g.stateAttribute,...S,...v,ref:r,style:{...v.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[n.jsx(s1,{children:o}),n.jsx(n1,{scope:d,isInside:!0,children:n.jsx($j,{id:g.contentId,role:"tooltip",children:h||o})})]})})});Fh.displayName=gl;var $h="TooltipArrow",Wh=f.forwardRef((i,r)=>{const{__scopeTooltip:d,...o}=i,h=Pi(d);return l1($h,d).isInside?null:n.jsx(Qy,{...h,...o,ref:r})});Wh.displayName=$h;function i1(i,r){const d=Math.abs(r.top-i.y),o=Math.abs(r.bottom-i.y),h=Math.abs(r.right-i.x),x=Math.abs(r.left-i.x);switch(Math.min(d,o,h,x)){case x:return"left";case h:return"right";case d:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function c1(i,r,d=5){const o=[];switch(r){case"top":o.push({x:i.x-d,y:i.y+d},{x:i.x+d,y:i.y+d});break;case"bottom":o.push({x:i.x-d,y:i.y-d},{x:i.x+d,y:i.y-d});break;case"left":o.push({x:i.x+d,y:i.y-d},{x:i.x+d,y:i.y+d});break;case"right":o.push({x:i.x-d,y:i.y-d},{x:i.x-d,y:i.y+d});break}return o}function r1(i){const{top:r,right:d,bottom:o,left:h}=i;return[{x:h,y:r},{x:d,y:r},{x:d,y:o},{x:h,y:o}]}function u1(i,r){const{x:d,y:o}=i;let h=!1;for(let x=0,p=r.length-1;x<r.length;p=x++){const v=r[x],g=r[p],S=v.x,T=v.y,E=g.x,H=g.y;T>o!=H>o&&d<(E-S)*(o-T)/(H-T)+S&&(h=!h)}return h}function o1(i){const r=i.slice();return r.sort((d,o)=>d.x<o.x?-1:d.x>o.x?1:d.y<o.y?-1:d.y>o.y?1:0),d1(r)}function d1(i){if(i.length<=1)return i.slice();const r=[];for(let o=0;o<i.length;o++){const h=i[o];for(;r.length>=2;){const x=r[r.length-1],p=r[r.length-2];if((x.x-p.x)*(h.y-p.y)>=(x.y-p.y)*(h.x-p.x))r.pop();else break}r.push(h)}r.pop();const d=[];for(let o=i.length-1;o>=0;o--){const h=i[o];for(;d.length>=2;){const x=d[d.length-1],p=d[d.length-2];if((x.x-p.x)*(h.y-p.y)>=(x.y-p.y)*(h.x-p.x))d.pop();else break}d.push(h)}return d.pop(),r.length===1&&d.length===1&&r[0].x===d[0].x&&r[0].y===d[0].y?r:r.concat(d)}var f1=Vh,m1=Xh,h1=Kh,x1=Zh,g1=Fh,p1=Wh;function y1({delayDuration:i=250,...r}){return n.jsx(f1,{"data-slot":"tooltip-provider",delayDuration:i,...r})}function fs({...i}){return n.jsx(m1,{"data-slot":"tooltip",...i})}function ms({...i}){return n.jsx(h1,{"data-slot":"tooltip-trigger",...i})}function hs({className:i,side:r="bottom",align:d="center",sideOffset:o=8,children:h,...x}){return n.jsx(x1,{children:n.jsxs(g1,{"data-slot":"tooltip-content",side:r,align:d,sideOffset:o,className:He("z-50 overflow-hidden rounded-md border bg-neutral-900 px-3 py-2 text-sm text-white shadow-md leading-tight min-h-7","data-[state=delayed-open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=delayed-open]:fade-in-0 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",i),...x,children:[h,n.jsx(p1,{"data-slot":"tooltip-arrow",className:"fill-neutral-900"})]})})}function v1({themes:i,currentTheme:r,onThemeChange:d}){const[o,h]=f.useState(!1),[x,p]=f.useState(null),v=f.useRef(null),g=f.useRef(null);f.useEffect(()=>{const w=O=>{v.current&&!v.current.contains(O.target)&&(h(!1),p(null))};return document.addEventListener("mousedown",w),()=>document.removeEventListener("mousedown",w)},[]),f.useEffect(()=>{if(x){const w=document.documentElement;w.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),x==="claude"?w.classList.add("theme-claude"):x==="neo-brutalism"?w.classList.add("theme-neo-brutalism"):x==="retro-arcade"?w.classList.add("theme-retro-arcade"):x==="aurora"?w.classList.add("theme-aurora"):x==="business"&&w.classList.add("theme-business")}return()=>{if(x){const w=document.documentElement;w.classList.remove("theme-claude","theme-neo-brutalism","theme-retro-arcade","theme-aurora","theme-business"),r==="claude"?w.classList.add("theme-claude"):r==="neo-brutalism"?w.classList.add("theme-neo-brutalism"):r==="retro-arcade"?w.classList.add("theme-retro-arcade"):r==="aurora"?w.classList.add("theme-aurora"):r==="business"&&w.classList.add("theme-business")}}},[x,r]);const S=()=>{g.current&&clearTimeout(g.current),h(!0)},T=()=>{g.current=setTimeout(()=>{h(!1),p(null)},150)},E=w=>{p(w)},H=w=>{d(w),p(null),h(!1)};return n.jsxs("div",{ref:v,className:"relative",onMouseEnter:S,onMouseLeave:T,children:[n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(Z,{variant:"outline",size:"sm","aria-label":"Select theme","aria-expanded":o,"aria-haspopup":"true",children:n.jsx(ly,{size:18})})}),n.jsx(hs,{children:"Theme"})]}),o&&n.jsx("div",{className:"absolute right-0 top-full mt-2 w-56 bg-popover border-2 border-border rounded-lg shadow-lg z-50 animate-slide-in-down overflow-hidden",role:"menu","aria-orientation":"vertical",children:n.jsx("div",{className:"p-2 space-y-1",children:i.map(w=>n.jsxs("button",{onClick:()=>H(w.id),onMouseEnter:()=>E(w.id),onMouseLeave:()=>p(null),className:`w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors ${r===w.id?"bg-primary/10 text-foreground":"hover:bg-muted text-foreground"}`,role:"menuitem",children:[n.jsxs("div",{className:"flex gap-0.5 shrink-0",children:[n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.background}}),n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.primary}}),n.jsx("div",{className:"w-4 h-4 rounded-sm border border-border/50",style:{backgroundColor:w.previewColors.accent}})]}),n.jsxs("div",{className:"flex-1 min-w-0",children:[n.jsx("div",{className:"font-medium text-sm",children:w.name}),n.jsx("div",{className:"text-xs text-muted-foreground truncate",children:w.description})]}),r===w.id&&n.jsx(ra,{size:16,className:"text-primary shrink-0"})]},w.id))})})]})}function b1({isOpen:i,projectName:r,onClose:d,onResetComplete:o}){const[h,x]=f.useState("quick"),p=Q0(r),v=async()=>{const S=h==="full";try{await p.mutateAsync(S),o?.(S),d()}catch{}},g=()=>{p.isPending||(p.reset(),x("quick"),d())};return n.jsx(ea,{open:i,onOpenChange:S=>!S&&g(),children:n.jsxs(ta,{className:"sm:max-w-md",children:[n.jsxs(aa,{children:[n.jsxs(na,{className:"flex items-center gap-2",children:[n.jsx(en,{size:20}),"Reset Project"]}),n.jsxs(fl,{children:["Reset ",n.jsx("span",{className:"font-semibold",children:r})," to start fresh"]})]}),n.jsxs("div",{className:"space-y-4 py-4",children:[n.jsxs("div",{className:"flex rounded-lg border-2 border-border overflow-hidden",children:[n.jsxs("button",{onClick:()=>x("quick"),disabled:p.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${h==="quick"?"bg-primary text-primary-foreground":"bg-background text-foreground hover:bg-muted"} ${p.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(en,{size:16}),"Quick Reset"]}),n.jsxs("button",{onClick:()=>x("full"),disabled:p.isPending,className:`flex-1 py-3 px-4 text-sm font-medium transition-colors flex items-center justify-center gap-2 ${h==="full"?"bg-destructive text-destructive-foreground":"bg-background text-foreground hover:bg-muted"} ${p.isPending?"opacity-50 cursor-not-allowed":""}`,children:[n.jsx(an,{size:16}),"Full Reset"]})]}),n.jsxs(ht,{variant:h==="full"?"destructive":"default",className:"border-2",children:[n.jsx(Ea,{className:"h-4 w-4"}),n.jsxs(xt,{children:[n.jsx("div",{className:"font-semibold mb-2",children:"What will be deleted:"}),n.jsxs("ul",{className:"list-none space-y-1 text-sm",children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ct,{size:14,className:"text-destructive"}),"All features and progress"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ct,{size:14,className:"text-destructive"}),"Assistant chat history"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ct,{size:14,className:"text-destructive"}),"Agent settings"]}),h==="full"&&n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ct,{size:14,className:"text-destructive"}),"App spec and prompts"]})]})]})]}),n.jsxs("div",{className:"bg-muted/50 rounded-lg border-2 border-border p-3",children:[n.jsx("div",{className:"font-semibold mb-2 text-sm",children:"What will be preserved:"}),n.jsx("ul",{className:"list-none space-y-1 text-sm text-muted-foreground",children:h==="quick"?n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ra,{size:14,className:"text-green-600"}),"App spec and prompts"]}),n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ra,{size:14,className:"text-green-600"}),"Project code and files"]})]}):n.jsxs(n.Fragment,{children:[n.jsxs("li",{className:"flex items-center gap-2",children:[n.jsx(ra,{size:14,className:"text-green-600"}),"Project code and files"]}),n.jsxs("li",{className:"flex items-center gap-2 text-muted-foreground/70",children:[n.jsx(Ea,{size:14}),"Setup wizard will appear"]})]})})]}),p.isError&&n.jsx(ht,{variant:"destructive",children:n.jsx(xt,{children:p.error instanceof Error?p.error.message:"Failed to reset project. Please try again."})})]}),n.jsxs(Pt,{className:"gap-2",children:[n.jsx(Z,{variant:"outline",onClick:g,disabled:p.isPending,children:"Cancel"}),n.jsx(Z,{variant:h==="full"?"destructive":"default",onClick:v,disabled:p.isPending,children:p.isPending?n.jsxs(n.Fragment,{children:[n.jsx(Ce,{className:"animate-spin mr-2",size:16}),"Resetting..."]}):n.jsx(n.Fragment,{children:h==="quick"?"Quick Reset":"Full Reset"})})]})]})})}function j1({projectName:i,projectPath:r,onCreateWithClaude:d,onEditManually:o}){return n.jsx("div",{className:"max-w-2xl mx-auto mt-8",children:n.jsxs(Me,{className:"border-2",children:[n.jsxs(Wi,{className:"text-center",children:[n.jsx(_u,{className:"text-2xl font-display",children:"Project Setup Required"}),n.jsxs(bv,{className:"text-base",children:[n.jsx("span",{className:"font-semibold",children:i})," needs an app spec to get started"]}),r&&n.jsxs("div",{className:"flex items-center justify-center gap-2 text-sm text-muted-foreground mt-2",children:[n.jsx(Ki,{size:14}),n.jsx("code",{className:"bg-muted px-2 py-0.5 rounded text-xs",children:r})]})]}),n.jsxs(qe,{className:"space-y-4",children:[n.jsx("p",{className:"text-center text-muted-foreground",children:"Choose how you want to create your app specification:"}),n.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[n.jsx(Me,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:d,children:n.jsxs(qe,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-primary/10 rounded-full flex items-center justify-center",children:n.jsx(Nn,{className:"text-primary",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Create with Claude"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Describe your app idea and Claude will help create a detailed specification"}),n.jsxs(Z,{className:"w-full",children:[n.jsx(Nn,{size:16,className:"mr-2"}),"Start Chat"]})]})}),n.jsx(Me,{className:"cursor-pointer border-2 transition-all hover:border-primary hover:shadow-md",onClick:o,children:n.jsxs(qe,{className:"pt-6 text-center space-y-3",children:[n.jsx("div",{className:"w-12 h-12 mx-auto bg-muted rounded-full flex items-center justify-center",children:n.jsx(vu,{className:"text-muted-foreground",size:24})}),n.jsx("h3",{className:"font-semibold text-lg",children:"Edit Templates Manually"}),n.jsx("p",{className:"text-sm text-muted-foreground",children:"Create the prompts directory and edit template files yourself"}),n.jsxs(Z,{variant:"outline",className:"w-full",children:[n.jsx(vu,{size:16,className:"mr-2"}),"View Templates"]})]})})]}),n.jsx("p",{className:"text-center text-xs text-muted-foreground pt-4",children:"The app spec tells the agent what to build. It includes the application name, description, tech stack, and feature requirements."})]})]})})}const yu="autoforge-selected-project",xh="autoforge-view-mode",S1=48;function N1(){const[i,r]=f.useState(()=>{try{return localStorage.getItem(yu)}catch{return null}}),[d,o]=f.useState(!1),[h,x]=f.useState(!1),[p,v]=f.useState(null),[g,S]=f.useState(!0),[T,E]=f.useState(!1),[H,w]=f.useState(288),[O,B]=f.useState("agent"),[z,D]=f.useState(!1),[b,N]=f.useState(!1),[G,J]=f.useState(!1),[I,X]=f.useState(!1),[P,L]=f.useState(!1),[le,W]=f.useState(!1),[R,$]=f.useState("idle"),[F,Y]=f.useState(null),[y,_]=f.useState(()=>{try{return localStorage.getItem(xh)==="graph"?"graph":"kanban"}catch{return"kanban"}}),ee=Ve(),{data:te,isLoading:me}=q0(),{data:re}=Mh(i),{data:ae}=Du();J0(i);const se=ov(i),{theme:fe,setTheme:he,darkMode:$e,toggleDarkMode:Jt,themes:zt}=Rh(),ne=te?.find(Qe=>Qe.name===i),oe=ne?.has_spec??!0,{data:ke}=yt({queryKey:["dependencyGraph",i],queryFn:()=>o0(i),enabled:!!i&&y==="graph",refetchInterval:5e3});f.useEffect(()=>{try{localStorage.setItem(xh,y)}catch{}},[y]),mv(re),pv(re,i);const gt=f.useCallback(Qe=>{r(Qe);try{Qe?localStorage.setItem(yu,Qe):localStorage.removeItem(yu)}catch{}},[]),tt=f.useCallback(Qe=>{const Tt=[...re?.pending??[],...re?.in_progress??[],...re?.done??[],...re?.needs_human_input??[]].find(bs=>bs.id===Qe);Tt&&v(Tt)},[re]);f.useEffect(()=>{i&&te&&!te.some(Qe=>Qe.name===i)&&gt(null)},[i,te,gt]),f.useEffect(()=>{const Qe=Se=>{Se.target instanceof HTMLInputElement||Se.target instanceof HTMLTextAreaElement||((Se.key==="d"||Se.key==="D")&&(Se.preventDefault(),E(Tt=>!Tt)),(Se.key==="t"||Se.key==="T")&&(Se.preventDefault(),T?O==="terminal"?E(!1):B("terminal"):(E(!0),B("terminal"))),(Se.key==="n"||Se.key==="N")&&i&&(Se.preventDefault(),o(!0)),(Se.key==="e"||Se.key==="E")&&i&&oe&&re&&re.pending.length+re.in_progress.length+re.done.length+(re.needs_human_input?.length||0)>0&&(Se.preventDefault(),x(!0)),(Se.key==="a"||Se.key==="A")&&i&&!I&&(Se.preventDefault(),D(Tt=>!Tt)),Se.key===","&&(Se.preventDefault(),N(!0)),(Se.key==="g"||Se.key==="G")&&i&&(Se.preventDefault(),_(Tt=>Tt==="kanban"?"graph":"kanban")),Se.key==="?"&&(Se.preventDefault(),J(!0)),(Se.key==="r"||Se.key==="R")&&i&&!["running","pausing","paused_graceful"].includes(se.agentStatus)&&(Se.preventDefault(),L(!0)),Se.key==="Escape"&&(G?J(!1):P?L(!1):h?x(!1):b?N(!1):z?D(!1):d?o(!1):p?v(null):T&&E(!1)))};return window.addEventListener("keydown",Qe),()=>window.removeEventListener("keydown",Qe)},[i,d,h,p,T,O,z,re,b,G,I,y,P,se.agentStatus,oe]);const lt=se.progress.total>0?se.progress:{passing:re?.done.length??0,total:(re?.pending.length??0)+(re?.in_progress.length??0)+(re?.done.length??0)+(re?.needs_human_input?.length??0),percentage:0};return lt.total>0&&lt.percentage===0&&(lt.percentage=Math.round(lt.passing/lt.total*100*10)/10),g?n.jsxs("div",{className:"min-h-screen bg-background",children:[n.jsx("header",{className:"sticky top-0 z-50 bg-card/80 backdrop-blur-md text-foreground border-b-2 border-border",children:n.jsx("div",{className:"max-w-7xl mx-auto px-4 py-3",children:n.jsxs(y1,{children:[n.jsxs("div",{className:"flex items-center gap-3",children:[n.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[n.jsx("img",{src:"/logo.png",alt:"AutoForge",className:"h-9 w-9 rounded-full"}),n.jsx("h1",{className:"font-display text-2xl font-bold tracking-tight uppercase hidden md:block",children:"AutoForge"})]}),n.jsx(Hv,{projects:te??[],selectedProject:i,onSelectProject:gt,isLoading:me,onSpecCreatingChange:X}),n.jsx("div",{className:"flex-1"}),i&&ae?.ollama_mode&&n.jsxs("div",{className:"hidden sm:flex items-center gap-1.5 px-2 py-1 bg-card rounded border-2 border-border shadow-sm",title:"Using Ollama local models",children:[n.jsx("img",{src:"/ollama.png",alt:"Ollama",className:"w-5 h-5"}),n.jsx("span",{className:"text-xs font-bold text-foreground",children:"Ollama"})]}),i&&ae?.glm_mode&&n.jsx(_e,{className:"hidden sm:inline-flex bg-purple-500 text-white hover:bg-purple-600",title:"Using GLM API",children:"GLM"}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(Z,{onClick:()=>window.open("https://autoforge.cc","_blank"),variant:"outline",size:"sm","aria-label":"Open Documentation",children:n.jsx(sy,{size:18})})}),n.jsx(hs,{children:"Docs"})]}),n.jsx(v1,{themes:zt,currentTheme:fe,onThemeChange:he}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(Z,{onClick:Jt,variant:"outline",size:"sm","aria-label":"Toggle dark mode",children:$e?n.jsx(Sh,{size:18}):n.jsx(Nh,{size:18})})}),n.jsx(hs,{children:"Toggle theme"})]})]}),i&&n.jsxs("div",{className:"flex items-center gap-3 mt-2 pt-2 border-t border-border/50",children:[n.jsx(kb,{projectName:i,status:se.agentStatus,defaultConcurrency:ne?.default_concurrency}),n.jsx(Uj,{projectName:i,status:se.devServerStatus,url:se.devServerUrl}),n.jsx("div",{className:"flex-1"}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(Z,{onClick:()=>N(!0),variant:"outline",size:"sm","aria-label":"Open Settings",children:n.jsx(iy,{size:18})})}),n.jsx(hs,{children:"Settings (,)"})]}),n.jsxs(fs,{children:[n.jsx(ms,{asChild:!0,children:n.jsx(Z,{onClick:()=>L(!0),variant:"outline",size:"sm","aria-label":"Reset Project",disabled:["running","pausing","paused_graceful"].includes(se.agentStatus),children:n.jsx(en,{size:18})})}),n.jsx(hs,{children:"Reset (R)"})]})]})]})})}),n.jsx("main",{className:"max-w-7xl mx-auto px-4 py-8",style:{paddingBottom:T?H+32:S1},children:i?oe?n.jsxs("div",{className:"space-y-8",children:[n.jsx(Bb,{passing:lt.passing,total:lt.total,percentage:lt.percentage,isConnected:se.isConnected,logs:se.activeAgents.length===0?se.logs:void 0,agentStatus:se.activeAgents.length===0?se.agentStatus:void 0}),n.jsx(fj,{agents:se.activeAgents,orchestratorStatus:se.orchestratorStatus,recentActivity:se.recentActivity,getAgentLogs:se.getAgentLogs}),re&&re.pending.length===0&&re.in_progress.length===0&&re.done.length===0&&(re.needs_human_input?.length||0)===0&&se.agentStatus==="running"&&n.jsx(Me,{className:"p-8 text-center",children:n.jsxs(qe,{className:"p-0",children:[n.jsx(Ce,{size:32,className:"animate-spin mx-auto mb-4 text-primary"}),n.jsx("h3",{className:"font-display font-bold text-xl mb-2",children:"Initializing Features..."}),n.jsx("p",{className:"text-muted-foreground",children:"The agent is reading your spec and creating features. This may take a moment."})]})}),re&&re.pending.length+re.in_progress.length+re.done.length+(re.needs_human_input?.length||0)>0&&n.jsx("div",{className:"flex justify-center",children:n.jsx(Bj,{viewMode:y,onViewModeChange:_})}),y==="kanban"?n.jsx(yb,{features:re,onFeatureClick:v,onAddFeature:()=>o(!0),onExpandProject:()=>x(!0),activeAgents:se.activeAgents,onCreateSpec:()=>W(!0),hasSpec:oe}):n.jsx(Me,{className:"overflow-hidden",style:{height:"600px"},children:ke?n.jsx(Yj,{graphData:ke,onNodeClick:tt,activeAgents:se.activeAgents}):n.jsx("div",{className:"h-full flex items-center justify-center",children:n.jsx(Ce,{size:32,className:"animate-spin text-primary"})})})]}):n.jsx(j1,{projectName:i,projectPath:ne?.path,onCreateWithClaude:()=>W(!0),onEditManually:()=>{E(!0)}}):n.jsxs("div",{className:"text-center mt-12",children:[n.jsx("h2",{className:"font-display text-2xl font-bold mb-2",children:"Welcome to AutoForge"}),n.jsx("p",{className:"text-muted-foreground mb-4",children:"Select a project from the dropdown above or create a new one to get started."})]})}),d&&i&&n.jsx(qb,{projectName:i,onClose:()=>o(!1)}),p&&i&&n.jsx(Yb,{feature:p,projectName:i,onClose:()=>v(null)}),h&&i&&oe&&n.jsx(Dj,{isOpen:h,projectName:i,onClose:()=>x(!1),onFeaturesAdded:()=>{ee.invalidateQueries({queryKey:["features",i]})}}),le&&i&&n.jsx("div",{className:"fixed inset-0 z-50 bg-background",children:n.jsx(Hh,{projectName:i,onComplete:async(Qe,Se)=>{$("starting");try{await Au(i,{yoloMode:Se??!1,maxConcurrency:3}),W(!1),$("idle"),ee.invalidateQueries({queryKey:["projects"]}),ee.invalidateQueries({queryKey:["features",i]})}catch(Tt){$("error"),Y(Tt instanceof Error?Tt.message:"Failed to start agent")}},onCancel:()=>{W(!1),$("idle")},onExitToProject:()=>{W(!1),$("idle")},initializerStatus:R,initializerError:F,onRetryInitializer:()=>{Y(null),$("idle")}})}),i&&n.jsx(Fb,{logs:se.logs,devLogs:se.devLogs,isOpen:T,onToggle:()=>E(!T),onClear:se.clearLogs,onClearDevLogs:se.clearDevLogs,onHeightChange:w,projectName:i,activeTab:O,onTabChange:B}),i&&!h&&!I&&!le&&n.jsxs(n.Fragment,{children:[n.jsx(xj,{onClick:()=>D(!z),isOpen:z}),n.jsx(wj,{projectName:i,isOpen:z,onClose:()=>D(!1)})]}),n.jsx(Mj,{isOpen:b,onClose:()=>N(!1)}),n.jsx(Xj,{isOpen:G,onClose:()=>J(!1)}),P&&i&&n.jsx(b1,{isOpen:P,projectName:i,onClose:()=>L(!1),onResetComplete:Qe=>{Qe&&W(!0)}}),se.celebration&&n.jsx(hj,{agentName:se.celebration.agentName,featureName:se.celebration.featureName,onComplete:se.clearCelebration})]}):n.jsx(Hb,{onComplete:()=>S(!0)})}const C1=new bp({defaultOptions:{queries:{staleTime:5e3,refetchOnWindowFocus:!1}}});Wy.createRoot(document.getElementById("root")).render(n.jsx(f.StrictMode,{children:n.jsx(jp,{client:C1,children:n.jsx(N1,{})})}));