From 62f4699f86741c55910389a537c0cd32d294fe91 Mon Sep 17 00:00:00 2001 From: andrew Date: Sat, 18 Jul 2026 11:03:14 -0700 Subject: [PATCH] Bump version to v1.10.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also refreshes bundled release notes (adds v1.8.1–v1.9.0 entries), regenerates the dashboard bundle, and aligns package.json keywords with the repo's GitHub topics. Co-Authored-By: Claude Fable 5 --- package.json | 4 ++-- src/dashboard/bundle.ts | 2 +- src/release-notes.ts | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 781e428..642dd11 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "critters", - "version": "1.9.0", + "version": "1.10.0", "description": "TypeScript daemon that watches issue trackers and spawns AI coding CLI instances to produce draft PRs", "license": "MIT", "repository": { @@ -11,7 +11,7 @@ "bugs": { "url": "https://github.com/ack-ventures/critters/issues" }, - "keywords": ["linear", "claude-code", "automation", "ai", "pull-requests"], + "keywords": ["linear", "jira", "claude-code", "codex", "ai-agents", "automation", "pull-requests"], "bin": { "critters": "src/index.ts" }, diff --git a/src/dashboard/bundle.ts b/src/dashboard/bundle.ts index 23eb84d..6ae348a 100644 --- a/src/dashboard/bundle.ts +++ b/src/dashboard/bundle.ts @@ -1,5 +1,5 @@ // Auto-generated by scripts/bundle-dashboard.ts — do not edit by hand. // Regenerate with: bun run build:dashboard /* eslint-disable */ -export const DASHBOARD_JS = "var Jd=Object.create;var{getPrototypeOf:jd,defineProperty:cl,getOwnPropertyNames:ep}=Object;var tp=Object.prototype.hasOwnProperty;var dl=(e,t,n)=>{n=e!=null?Jd(jd(e)):{};let r=t||!e||!e.__esModule?cl(n,\"default\",{value:e,enumerable:!0}):n;for(let o of ep(e))if(!tp.call(r,o))cl(r,o,{get:()=>e[o],enumerable:!0});return r};var pl=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var np=(e,t)=>{for(var n in t)cl(e,n,{get:t[n],enumerable:!0,configurable:!0,set:(r)=>t[n]=()=>r})};var Da=(e,t)=>()=>(e&&(t=e(e=0)),t);function Fn(e,t,n){this.props=e,this.context=t,this.refs=La,this.updater=n||$a}function Ia(){}function Oa(e,t,n){this.props=e,this.context=t,this.refs=La,this.updater=n||$a}var $a,rp,La,fl,op,tn,lp,ip,Un,mt=function(e,t){return tn.current.useCallback(e,t)},T=function(e,t){return tn.current.useEffect(e,t)},_e=function(e,t){return tn.current.useMemo(e,t)},Ze=function(e){return tn.current.useRef(e)},C=function(e){return tn.current.useState(e)};var W=Da(()=>{$a={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},rp=Object.assign,La={};Fn.prototype.isReactComponent={};Fn.prototype.setState=function(e,t){if(typeof e!==\"object\"&&typeof e!==\"function\"&&e!=null)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")};Fn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")};Ia.prototype=Fn.prototype;fl=Oa.prototype=new Ia;fl.constructor=Oa;rp(fl,Fn.prototype);fl.isPureReactComponent=!0;op={current:null},tn={current:null},lp={transition:null},ip={ReactCurrentDispatcher:tn,ReactCurrentBatchConfig:lp,ReactCurrentOwner:op};Un=ip});var Qa=pl((up)=>{function vl(e,t){var n=e.length;e.push(t);e:for(;0>>1,o=e[r];if(0>>1;rIr(u,n))sIr(p,u)?(e[r]=p,e[s]=n,r=s):(e[r]=u,e[a]=n,r=a);else if(sIr(p,n))e[r]=p,e[s]=n,r=s;else break e}}return t}function Ir(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}if(typeof performance===\"object\"&&typeof performance.now===\"function\")gl=performance,up.unstable_now=function(){return gl.now()};else Or=Date,hl=Or.now(),up.unstable_now=function(){return Or.now()-hl};var gl,Or,hl,qe=[],vt=[],ap=1,Te=null,se=3,Wr=!1,Ot=!1,Wn=!1,Va=typeof setTimeout===\"function\"?setTimeout:null,Wa=typeof clearTimeout===\"function\"?clearTimeout:null,Ua=typeof setImmediate<\"u\"?setImmediate:null;typeof navigator<\"u\"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function yl(e){for(var t=Ue(vt);t!==null;){if(t.callback===null)Vr(vt);else if(t.startTime<=e)Vr(vt),t.sortIndex=t.expirationTime,vl(qe,t);else break;t=Ue(vt)}}function kl(e){if(Wn=!1,yl(e),!Ot)if(Ue(qe)!==null)Ot=!0,Sl(Nl);else{var t=Ue(vt);t!==null&&xl(kl,t.startTime-e)}}function Nl(e,t){Ot=!1,Wn&&(Wn=!1,Wa(An),An=-1),Wr=!0;var n=se;try{yl(t);for(Te=Ue(qe);Te!==null&&(!(Te.expirationTime>t)||e&&!Ha());){var r=Te.callback;if(typeof r===\"function\"){Te.callback=null,se=Te.priorityLevel;var o=r(Te.expirationTime<=t);t=up.unstable_now(),typeof o===\"function\"?Te.callback=o:Te===Ue(qe)&&Vr(qe),yl(t)}else Vr(qe);Te=Ue(qe)}if(Te!==null)var l=!0;else{var a=Ue(vt);a!==null&&xl(kl,a.startTime-t),l=!1}return l}finally{Te=null,se=n,Wr=!1}}var Ar=!1,Fr=null,An=-1,Aa=5,Ba=-1;function Ha(){return up.unstable_now()-Bae||125r?(e.sortIndex=n,vl(vt,e),Ue(qe)===null&&e===Ue(vt)&&(Wn?(Wa(An),An=-1):Wn=!0,xl(kl,n-r))):(e.sortIndex=o,vl(qe,e),Ot||Wr||(Ot=!0,Sl(Nl))),e};up.unstable_shouldYield=Ha;up.unstable_wrapCallback=function(e){var t=se;return function(){var n=se;se=t;try{return e.apply(this,arguments)}finally{se=n}}}});var Ta={};np(Ta,{version:()=>od,unstable_renderSubtreeIntoContainer:()=>rd,unstable_batchedUpdates:()=>nd,unmountComponentAtNode:()=>td,render:()=>ed,hydrateRoot:()=>jc,hydrate:()=>Jc,flushSync:()=>qc,findDOMNode:()=>Zc,createRoot:()=>Gc,createPortal:()=>Xc,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>Yc});function k(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n\"u\"||Tp(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ge(e,t,n,r,o,l,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=a}function Vi(e){return e[1].toUpperCase()}function Wi(e,t,n,r){var o=ue.hasOwnProperty(t)?ue[t]:null;if(o!==null?o.type!==0:r||!(2u||o[a]!==l[u]){var s=`\n`+o[a].replace(\" at new \",\" at \");return e.displayName&&s.includes(\"\")&&(s=s.replace(\"\",e.displayName)),s}while(1<=a&&0<=u);break}}}finally{zl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:\"\")?Zn(e):\"\"}function bp(e){switch(e.tag){case 5:return Zn(e.type);case 16:return Zn(\"Lazy\");case 13:return Zn(\"Suspense\");case 19:return Zn(\"SuspenseList\");case 0:case 2:case 15:return e=El(e.type,!1),e;case 11:return e=El(e.type.render,!1),e;case 1:return e=El(e.type,!0),e;default:return\"\"}}function Gl(e){if(e==null)return null;if(typeof e===\"function\")return e.displayName||e.name||null;if(typeof e===\"string\")return e;switch(e){case an:return\"Fragment\";case ln:return\"Portal\";case Kl:return\"Profiler\";case Ai:return\"StrictMode\";case Yl:return\"Suspense\";case Xl:return\"SuspenseList\"}if(typeof e===\"object\")switch(e.$$typeof){case Ju:return(e.displayName||\"Context\")+\".Consumer\";case qu:return(e._context.displayName||\"Context\")+\".Provider\";case Bi:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case Hi:return t=e.displayName||null,t!==null?t:Gl(e.type)||\"Memo\";case ht:t=e._payload,e=e._init;try{return Gl(e(t))}catch(n){}}return null}function Mp(e){var t=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(t.displayName||\"Context\")+\".Consumer\";case 10:return(t._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=t.render,e=e.displayName||e.name||\"\",t.displayName||(e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return t;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Gl(t);case 8:return t===Ai?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t===\"function\")return t.displayName||t.name||null;if(typeof t===\"string\")return t}return null}function bt(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function es(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(t===\"checkbox\"||t===\"radio\")}function Dp(e){var t=es(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&typeof n<\"u\"&&typeof n.get===\"function\"&&typeof n.set===\"function\"){var{get:o,set:l}=n;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=\"\"+a,l.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=\"\"+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Hr(e){e._valueTracker||(e._valueTracker=Dp(e))}function ts(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=es(e)?e.checked?\"true\":\"false\":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function go(e){if(e=e||(typeof document<\"u\"?document:void 0),typeof e>\"u\")return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Zl(e,t){var n=t.checked;return X({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n!=null?n:e._wrapperState.initialChecked})}function Ga(e,t){var n=t.defaultValue==null?\"\":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=bt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===\"checkbox\"||t.type===\"radio\"?t.checked!=null:t.value!=null}}function ns(e,t){t=t.checked,t!=null&&Wi(e,\"checked\",t,!1)}function ql(e,t){ns(e,t);var n=bt(t.value),r=t.type;if(n!=null)if(r===\"number\"){if(n===0&&e.value===\"\"||e.value!=n)e.value=\"\"+n}else e.value!==\"\"+n&&(e.value=\"\"+n);else if(r===\"submit\"||r===\"reset\"){e.removeAttribute(\"value\");return}t.hasOwnProperty(\"value\")?Jl(e,t.type,n):t.hasOwnProperty(\"defaultValue\")&&Jl(e,t.type,bt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Za(e,t,n){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var r=t.type;if(!(r!==\"submit\"&&r!==\"reset\"||t.value!==void 0&&t.value!==null))return;t=\"\"+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==\"\"&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,n!==\"\"&&(e.name=n)}function Jl(e,t,n){if(t!==\"number\"||go(e.ownerDocument)!==e)n==null?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+n&&(e.defaultValue=\"\"+n)}function yn(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o>>=0,e===0?32:31-(Kp(e)/Yp|0)|0}function Jn(e){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:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ko(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,l=e.pingedLanes,a=n&268435455;if(a!==0){var u=a&~o;u!==0?r=Jn(u):(l&=a,l!==0&&(r=Jn(l)))}else a=n&~o,a!==0?r=Jn(a):l!==0&&(r=Jn(l));if(r===0)return 0;if(t!==0&&t!==r&&(t&o)===0&&(o=r&-r,l=t&-t,o>=l||o===16&&(l&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Rr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-He(t),e[t]=n}function qp(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=pu(n)}}function $s(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?$s(e,t.parentNode):(\"contains\"in e)?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ls(){for(var e=window,t=go();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href===\"string\"}catch(r){n=!1}if(n)e=t.contentWindow;else break;t=go(e.document)}return t}function ea(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\")}function Ff(e){var t=Ls(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&$s(n.ownerDocument.documentElement,n)){if(r!==null&&ea(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),\"selectionStart\"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,l=Math.min(r.start,o);r=r.end===void 0?l:Math.min(r.end,o),!e.extend&&l>r&&(o=r,r=l,l=o),o=fu(n,l);var a=fu(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}t=[];for(e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});typeof n.focus===\"function\"&&n.focus();for(n=0;npn||(e.current=wi[pn],wi[pn]=null,pn--)}function U(e,t){pn++,wi[pn]=e.current,e.current=t}function zn(e,t){var n=e.type.contextTypes;if(!n)return Mt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},l;for(l in n)o[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ne(e){return e=e.childContextTypes,e!==null&&e!==void 0}function zo(){B(ke),B(fe)}function Nu(e,t,n){if(fe.current!==Mt)throw Error(k(168));U(fe,t),U(ke,n)}function Hs(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!==\"function\")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(k(108,Mp(e)||\"Unknown\",o));return X({},n,r)}function Eo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Mt,Kt=fe.current,U(fe,e),U(ke,ke.current),!0}function Su(e,t,n){var r=e.stateNode;if(!r)throw Error(k(169));n?(e=Hs(e,t,Kt),r.__reactInternalMemoizedMergedChildContext=e,B(ke),B(fe),U(fe,e)):B(ke),U(ke,n)}function Qs(e){ot===null?ot=[e]:ot.push(e)}function Xf(e){Qo=!0,Qs(e)}function Lt(){if(!Il&&ot!==null){Il=!0;var e=0,t=O;try{var n=ot;for(O=1;e>=a,o-=a,lt=1<<32-He(t)+o|n<x?(D=_,_=null):D=_.sibling;var M=h(f,_,m[x],w);if(M===null){_===null&&(_=D);break}e&&_&&M.alternate===null&&t(f,_),d=l(M,d,x),P===null?z=M:P.sibling=M,P=M,_=D}if(x===m.length)return n(f,_),H&&Ut(f,x),z;if(_===null){for(;xx?(D=_,_=null):D=_.sibling;var Xe=h(f,_,M.value,w);if(Xe===null){_===null&&(_=D);break}e&&_&&Xe.alternate===null&&t(f,_),d=l(Xe,d,x),P===null?z=Xe:P.sibling=Xe,P=Xe,_=D}if(M.done)return n(f,_),H&&Ut(f,x),z;if(_===null){for(;!M.done;x++,M=m.next())M=v(f,M.value,w),M!==null&&(d=l(M,d,x),P===null?z=M:P.sibling=M,P=M);return H&&Ut(f,x),z}for(_=r(f,_);!M.done;x++,M=m.next())M=y(_,f,x,M.value,w),M!==null&&(e&&M.alternate!==null&&_.delete(M.key===null?x:M.key),d=l(M,d,x),P===null?z=M:P.sibling=M,P=M);return e&&_.forEach(function(sl){return t(f,sl)}),H&&Ut(f,x),z}function I(f,d,m,w){if(typeof m===\"object\"&&m!==null&&m.type===an&&m.key===null&&(m=m.props.children),typeof m===\"object\"&&m!==null){switch(m.$$typeof){case Br:e:{for(var z=m.key,P=d;P!==null;){if(P.key===z){if(z=m.type,z===an){if(P.tag===7){n(f,P.sibling),d=o(P,m.props.children),d.return=f,f=d;break e}}else if(P.elementType===z||typeof z===\"object\"&&z!==null&&z.$$typeof===ht&&zu(z)===P.type){n(f,P.sibling),d=o(P,m.props),d.ref=Yn(f,P,m),d.return=f,f=d;break e}n(f,P);break}else t(f,P);P=P.sibling}m.type===an?(d=Qt(m.props.children,f.mode,w,m.key),d.return=f,f=d):(w=vo(m.type,m.key,m.props,null,f.mode,w),w.ref=Yn(f,d,m),w.return=f,f=w)}return a(f);case ln:e:{for(P=m.key;d!==null;){if(d.key===P)if(d.tag===4&&d.stateNode.containerInfo===m.containerInfo&&d.stateNode.implementation===m.implementation){n(f,d.sibling),d=o(d,m.children||[]),d.return=f,f=d;break e}else{n(f,d);break}else t(f,d);d=d.sibling}d=Hl(m,f.mode,w),d.return=f,f=d}return a(f);case ht:return P=m._init,I(f,d,P(m._payload),w)}if(qn(m))return N(f,d,m,w);if(Bn(m))return S(f,d,m,w);eo(f,m)}return typeof m===\"string\"&&m!==\"\"||typeof m===\"number\"?(m=\"\"+m,d!==null&&d.tag===6?(n(f,d.sibling),d=o(d,m),d.return=f,f=d):(n(f,d),d=Bl(m,f.mode,w),d.return=f,f=d),a(f)):n(f,d)}return I}function la(){oa=vn=Ro=null}function ia(e){var t=To.current;B(To),e._currentValue=t}function Si(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Sn(e,t){Ro=e,oa=vn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(we=!0),e.firstContext=null)}function $e(e){var t=e._currentValue;if(oa!==e)if(e={context:e,memoizedValue:t,next:null},vn===null){if(Ro===null)throw Error(k(308));vn=e,Ro.dependencies={lanes:0,firstContext:e}}else vn=vn.next=e;return t}function aa(e){At===null?At=[e]:At.push(e)}function qs(e,t,n,r){var o=t.interleaved;return o===null?(n.next=n,aa(t)):(n.next=o.next,o.next=n),t.interleaved=n,ct(e,r)}function ct(e,t){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),n=e;for(e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}function ua(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Js(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function at(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Pt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,($&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,ct(e,n)}return o=r.interleaved,o===null?(t.next=t,aa(r)):(t.next=o.next,o.next=t),r.interleaved=t,ct(e,n)}function uo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Yi(e,n)}}function Eu(e,t){var{updateQueue:n,alternate:r}=e;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,l=null;if(n=n.firstBaseUpdate,n!==null){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};l===null?o=l=a:l=l.next=a,n=n.next}while(n!==null);l===null?o=l=t:l=l.next=t}else o=l=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:l,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function bo(e,t,n,r){var o=e.updateQueue;yt=!1;var{firstBaseUpdate:l,lastBaseUpdate:a}=o,u=o.shared.pending;if(u!==null){o.shared.pending=null;var s=u,p=s.next;s.next=null,a===null?l=p:a.next=p,a=s;var g=e.alternate;g!==null&&(g=g.updateQueue,u=g.lastBaseUpdate,u!==a&&(u===null?g.firstBaseUpdate=p:u.next=p,g.lastBaseUpdate=s))}if(l!==null){var v=o.baseState;a=0,g=p=s=null,u=l;do{var{lane:h,eventTime:y}=u;if((r&h)===h){g!==null&&(g=g.next={eventTime:y,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var N=e,S=u;switch(h=t,y=n,S.tag){case 1:if(N=S.payload,typeof N===\"function\"){v=N.call(y,v,h);break e}v=N;break e;case 3:N.flags=N.flags&-65537|128;case 0:if(N=S.payload,h=typeof N===\"function\"?N.call(y,v,h):N,h===null||h===void 0)break e;v=X({},v,h);break e;case 2:yt=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,h=o.effects,h===null?o.effects=[u]:h.push(u))}else y={eventTime:y,lane:h,tag:u.tag,payload:u.payload,callback:u.callback,next:null},g===null?(p=g=y,s=v):g=g.next=y,a|=h;if(u=u.next,u===null)if(u=o.shared.pending,u===null)break;else h=u,u=h.next,h.next=null,o.lastBaseUpdate=h,o.shared.pending=null}while(1);if(g===null&&(s=v),o.baseState=s,o.firstBaseUpdate=p,o.lastBaseUpdate=g,t=o.shared.interleaved,t!==null){o=t;do a|=o.lane,o=o.next;while(o!==t)}else l===null&&(o.shared.lanes=0);Gt|=a,e.lanes=a,e.memoizedState=v}}function Pu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Fl.transition;Fl.transition={};try{e(!1),t()}finally{O=n,Fl.transition=r}}function vc(){return Le().memoizedState}function Jf(e,t,n){var r=Tt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},gc(e))hc(t,n);else if(n=qs(e,t,n,r),n!==null){var o=ve();Qe(n,e,r,o),yc(n,t,r)}}function jf(e,t,n){var r=Tt(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(gc(e))hc(t,o);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var a=t.lastRenderedState,u=l(a,n);if(o.hasEagerState=!0,o.eagerState=u,Ke(u,a)){var s=t.interleaved;s===null?(o.next=o,aa(t)):(o.next=s.next,s.next=o),t.interleaved=o;return}}catch(p){}finally{}n=qs(e,t,o,r),n!==null&&(o=ve(),Qe(n,e,r,o),yc(n,t,r))}}function gc(e){var t=e.alternate;return e===Y||t!==null&&t===Y}function hc(e,t){sr=Do=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function yc(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Yi(e,n)}}function We(e,t){if(e&&e.defaultProps){t=X({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function xi(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n===null||n===void 0?t:X({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}function Ru(e,t,n,r,o,l,a){return e=e.stateNode,typeof e.shouldComponentUpdate===\"function\"?e.shouldComponentUpdate(r,l,a):t.prototype&&t.prototype.isPureReactComponent?!kr(n,r)||!kr(o,l):!0}function wc(e,t,n){var r=!1,o=Mt,l=t.contextType;return typeof l===\"object\"&&l!==null?l=$e(l):(o=Ne(t)?Kt:fe.current,r=t.contextTypes,l=(r=r!==null&&r!==void 0)?zn(e,o):Mt),t=new t(n,l),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Yo,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=l),t}function bu(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps===\"function\"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps===\"function\"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Yo.enqueueReplaceState(t,t.state,null)}function Ci(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},ua(e);var l=t.contextType;typeof l===\"object\"&&l!==null?o.context=$e(l):(l=Ne(t)?Kt:fe.current,o.context=zn(e,l)),o.state=e.memoizedState,l=t.getDerivedStateFromProps,typeof l===\"function\"&&(xi(e,t,l,n),o.state=e.memoizedState),typeof t.getDerivedStateFromProps===\"function\"||typeof o.getSnapshotBeforeUpdate===\"function\"||typeof o.UNSAFE_componentWillMount!==\"function\"&&typeof o.componentWillMount!==\"function\"||(t=o.state,typeof o.componentWillMount===\"function\"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount===\"function\"&&o.UNSAFE_componentWillMount(),t!==o.state&&Yo.enqueueReplaceState(o,o.state,null),bo(e,n,o,r),o.state=e.memoizedState),typeof o.componentDidMount===\"function\"&&(e.flags|=4194308)}function Tn(e,t){try{var n=\"\",r=t;do n+=bp(r),r=r.return;while(r);var o=n}catch(l){o=`\nError generating stack: `+l.message+`\n`+l.stack}return{value:e,source:t,stack:o,digest:null}}function Wl(e,t,n){return{value:e,source:null,stack:n!=null?n:null,digest:t!=null?t:null}}function zi(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}function kc(e,t,n){n=at(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Io||(Io=!0,Li=r),zi(e,t)},n}function Nc(e,t,n){n=at(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r===\"function\"){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){zi(e,t)}}var l=e.stateNode;return l!==null&&typeof l.componentDidCatch===\"function\"&&(n.callback=function(){zi(e,t),typeof r!==\"function\"&&(_t===null?_t=new Set([this]):_t.add(this));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:\"\"})}),n}function Mu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new rm;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=hm.bind(null,e,t,n),t.then(e,e))}function Du(e){do{var t;if(t=e.tag===13)t=e.memoizedState,t=t!==null?t.dehydrated!==null?!0:!1:!0;if(t)return e;e=e.return}while(e!==null);return null}function $u(e,t,n,r,o){if((e.mode&1)===0)return e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=at(-1,1),t.tag=2,Pt(n,t,1))),n.lanes|=1),e;return e.flags|=65536,e.lanes=o,e}function me(e,t,n,r){t.child=e===null?Zs(t,null,n,r):Pn(t,e.child,n,r)}function Lu(e,t,n,r,o){n=n.render;var l=t.ref;if(Sn(t,o),r=fa(e,t,n,r,l,o),n=ma(),e!==null&&!we)return t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,dt(e,t,o);return H&&n&&ta(t),t.flags|=1,me(e,t,r,o),t.child}function Iu(e,t,n,r,o){if(e===null){var l=n.type;if(typeof l===\"function\"&&!Ca(l)&&l.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0)return t.tag=15,t.type=l,Sc(e,t,l,r,o);return e=vo(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e}if(l=e.child,(e.lanes&o)===0){var a=l.memoizedProps;if(n=n.compare,n=n!==null?n:kr,n(a,r)&&e.ref===t.ref)return dt(e,t,o)}return t.flags|=1,e=Rt(l,r),e.ref=t.ref,e.return=t,t.child=e}function Sc(e,t,n,r,o){if(e!==null){var l=e.memoizedProps;if(kr(l,r)&&e.ref===t.ref)if(we=!1,t.pendingProps=r=l,(e.lanes&o)!==0)(e.flags&131072)!==0&&(we=!0);else return t.lanes=e.lanes,dt(e,t,o)}return Ei(e,t,n,r,o)}function xc(e,t,n){var r=t.pendingProps,o=r.children,l=e!==null?e.memoizedState:null;if(r.mode===\"hidden\")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},U(hn,xe),xe|=n;else{if((n&1073741824)===0)return e=l!==null?l.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,U(hn,xe),xe|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=l!==null?l.baseLanes:n,U(hn,xe),xe|=r}else l!==null?(r=l.baseLanes|n,t.memoizedState=null):r=n,U(hn,xe),xe|=r;return me(e,t,o,n),t.child}function Cc(e,t){var n=t.ref;if(e===null&&n!==null||e!==null&&e.ref!==n)t.flags|=512,t.flags|=2097152}function Ei(e,t,n,r,o){var l=Ne(n)?Kt:fe.current;if(l=zn(t,l),Sn(t,o),n=fa(e,t,n,r,l,o),r=ma(),e!==null&&!we)return t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,dt(e,t,o);return H&&r&&ta(t),t.flags|=1,me(e,t,n,o),t.child}function Ou(e,t,n,r,o){if(Ne(n)){var l=!0;Eo(t)}else l=!1;if(Sn(t,o),t.stateNode===null)po(e,t),wc(t,n,r),Ci(t,n,r,o),r=!0;else if(e===null){var{stateNode:a,memoizedProps:u}=t;a.props=u;var s=a.context,p=n.contextType;typeof p===\"object\"&&p!==null?p=$e(p):(p=Ne(n)?Kt:fe.current,p=zn(t,p));var g=n.getDerivedStateFromProps,v=typeof g===\"function\"||typeof a.getSnapshotBeforeUpdate===\"function\";v||typeof a.UNSAFE_componentWillReceiveProps!==\"function\"&&typeof a.componentWillReceiveProps!==\"function\"||(u!==r||s!==p)&&bu(t,a,r,p),yt=!1;var h=t.memoizedState;a.state=h,bo(t,r,a,o),s=t.memoizedState,u!==r||h!==s||ke.current||yt?(typeof g===\"function\"&&(xi(t,n,g,r),s=t.memoizedState),(u=yt||Ru(t,n,u,r,h,s,p))?(v||typeof a.UNSAFE_componentWillMount!==\"function\"&&typeof a.componentWillMount!==\"function\"||(typeof a.componentWillMount===\"function\"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount===\"function\"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount===\"function\"&&(t.flags|=4194308)):(typeof a.componentDidMount===\"function\"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),a.props=r,a.state=s,a.context=p,r=u):(typeof a.componentDidMount===\"function\"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Js(e,t),u=t.memoizedProps,p=t.type===t.elementType?u:We(t.type,u),a.props=p,v=t.pendingProps,h=a.context,s=n.contextType,typeof s===\"object\"&&s!==null?s=$e(s):(s=Ne(n)?Kt:fe.current,s=zn(t,s));var y=n.getDerivedStateFromProps;(g=typeof y===\"function\"||typeof a.getSnapshotBeforeUpdate===\"function\")||typeof a.UNSAFE_componentWillReceiveProps!==\"function\"&&typeof a.componentWillReceiveProps!==\"function\"||(u!==v||h!==s)&&bu(t,a,r,s),yt=!1,h=t.memoizedState,a.state=h,bo(t,r,a,o);var N=t.memoizedState;u!==v||h!==N||ke.current||yt?(typeof y===\"function\"&&(xi(t,n,y,r),N=t.memoizedState),(p=yt||Ru(t,n,p,r,h,N,s)||!1)?(g||typeof a.UNSAFE_componentWillUpdate!==\"function\"&&typeof a.componentWillUpdate!==\"function\"||(typeof a.componentWillUpdate===\"function\"&&a.componentWillUpdate(r,N,s),typeof a.UNSAFE_componentWillUpdate===\"function\"&&a.UNSAFE_componentWillUpdate(r,N,s)),typeof a.componentDidUpdate===\"function\"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate===\"function\"&&(t.flags|=1024)):(typeof a.componentDidUpdate!==\"function\"||u===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!==\"function\"||u===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=N),a.props=r,a.state=N,a.context=s,r=p):(typeof a.componentDidUpdate!==\"function\"||u===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!==\"function\"||u===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return Pi(e,t,n,r,l,o)}function Pi(e,t,n,r,o,l){Cc(e,t);var a=(t.flags&128)!==0;if(!r&&!a)return o&&Su(t,n,!1),dt(e,t,l);r=t.stateNode,om.current=t;var u=a&&typeof n.getDerivedStateFromError!==\"function\"?null:r.render();return t.flags|=1,e!==null&&a?(t.child=Pn(t,e.child,null,l),t.child=Pn(t,null,u,l)):me(e,t,u,l),t.memoizedState=r.state,o&&Su(t,n,!0),t.child}function zc(e){var t=e.stateNode;t.pendingContext?Nu(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Nu(e,t.context,!1),sa(e,t.containerInfo)}function Fu(e,t,n,r,o){return En(),ra(o),t.flags|=256,me(e,t,n,r),t.child}function Ti(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ec(e,t,n){var r=t.pendingProps,o=K.current,l=!1,a=(t.flags&128)!==0,u;if((u=a)||(u=e!==null&&e.memoizedState===null?!1:(o&2)!==0),u)l=!0,t.flags&=-129;else if(e===null||e.memoizedState!==null)o|=1;if(U(K,o&1),e===null){if(Ni(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null))return(t.mode&1)===0?t.lanes=1:e.data===\"$!\"?t.lanes=8:t.lanes=1073741824,null;return a=r.children,e=r.fallback,l?(r=t.mode,l=t.child,a={mode:\"hidden\",children:a},(r&1)===0&&l!==null?(l.childLanes=0,l.pendingProps=a):l=Zo(a,r,0,null),e=Qt(e,r,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=Ti(n),t.memoizedState=_i,e):ha(t,a)}if(o=e.memoizedState,o!==null&&(u=o.dehydrated,u!==null))return lm(e,t,a,r,u,o,n);if(l){l=r.fallback,a=t.mode,o=e.child,u=o.sibling;var s={mode:\"hidden\",children:r.children};return(a&1)===0&&t.child!==o?(r=t.child,r.childLanes=0,r.pendingProps=s,t.deletions=null):(r=Rt(o,s),r.subtreeFlags=o.subtreeFlags&14680064),u!==null?l=Rt(u,l):(l=Qt(l,a,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,r=l,l=t.child,a=e.child.memoizedState,a=a===null?Ti(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},l.memoizedState=a,l.childLanes=e.childLanes&~n,t.memoizedState=_i,r}return l=e.child,e=l.sibling,r=Rt(l,{mode:\"visible\",children:r.children}),(t.mode&1)===0&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function ha(e,t){return t=Zo({mode:\"visible\",children:t},e.mode,0,null),t.return=e,e.child=t}function to(e,t,n,r){return r!==null&&ra(r),Pn(t,e.child,null,n),e=ha(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function lm(e,t,n,r,o,l,a){if(n){if(t.flags&256)return t.flags&=-257,r=Wl(Error(k(422))),to(e,t,a,r);if(t.memoizedState!==null)return t.child=e.child,t.flags|=128,null;return l=r.fallback,o=t.mode,r=Zo({mode:\"visible\",children:r.children},o,0,null),l=Qt(l,o,a,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,(t.mode&1)!==0&&Pn(t,e.child,null,a),t.child.memoizedState=Ti(a),t.memoizedState=_i,l}if((t.mode&1)===0)return to(e,t,a,null);if(o.data===\"$!\"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var u=r.dgst;return r=u,l=Error(k(419)),r=Wl(l,r,void 0),to(e,t,a,r)}if(u=(a&e.childLanes)!==0,we||u){if(r=le,r!==null){switch(a&-a){case 4:o=2;break;case 16:o=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(r.suspendedLanes|a))!==0?0:o,o!==0&&o!==l.retryLane&&(l.retryLane=o,ct(e,o),Qe(r,e,o,-1))}return xa(),r=Wl(Error(k(421))),to(e,t,a,r)}if(o.data===\"$?\")return t.flags|=128,t.child=e.child,t=ym.bind(null,e),o._reactRetry=t,null;return e=l.treeContext,Ce=Et(o.nextSibling),ze=t,H=!0,Be=null,e!==null&&(Re[be++]=lt,Re[be++]=it,Re[be++]=Yt,lt=e.id,it=e.overflow,Yt=t),t=ha(t,r.children),t.flags|=4096,t}function Uu(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Si(e.return,t,n)}function Al(e,t,n,r,o){var l=e.memoizedState;l===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=r,l.tail=n,l.tailMode=o)}function Pc(e,t,n){var r=t.pendingProps,o=r.revealOrder,l=r.tail;if(me(e,t,r.children,n),r=K.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Uu(e,n,t);else if(e.tag===19)Uu(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(U(K,r),(t.mode&1)===0)t.memoizedState=null;else switch(o){case\"forwards\":n=t.child;for(o=null;n!==null;)e=n.alternate,e!==null&&Mo(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Al(t,!1,o,n,l);break;case\"backwards\":n=null,o=t.child;for(t.child=null;o!==null;){if(e=o.alternate,e!==null&&Mo(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Al(t,!0,n,null,l);break;case\"together\":Al(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function po(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function dt(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Gt|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(k(153));if(t.child!==null){e=t.child,n=Rt(e,e.pendingProps),t.child=n;for(n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Rt(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function im(e,t,n){switch(t.tag){case 3:zc(t),En();break;case 5:js(t);break;case 1:Ne(t.type)&&Eo(t);break;case 4:sa(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;U(To,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null){if(r.dehydrated!==null)return U(K,K.current&1),t.flags|=128,null;if((n&t.child.childLanes)!==0)return Ec(e,t,n);return U(K,K.current&1),e=dt(e,t,n),e!==null?e.sibling:null}U(K,K.current&1);break;case 19:if(r=(n&t.childLanes)!==0,(e.flags&128)!==0){if(r)return Pc(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),U(K,K.current),r)break;else return null;case 22:case 23:return t.lanes=0,xc(e,t,n)}return dt(e,t,n)}function Xn(e,t){if(!H)switch(e.tailMode){case\"hidden\":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case\"collapsed\":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function de(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function am(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return de(t),null;case 1:return Ne(t.type)&&zo(),de(t),null;case 3:if(r=t.stateNode,_n(),B(ke),B(fe),da(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),e===null||e.child===null)jr(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Be!==null&&(Fi(Be),Be=null));return Ri(e,t),de(t),null;case 5:ca(t);var o=Bt(zr.current);if(n=t.type,e!==null&&t.stateNode!=null)Tc(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(k(166));return de(t),null}if(e=Bt(nt.current),jr(t)){r=t.stateNode,n=t.type;var l=t.memoizedProps;switch(r[et]=t,r[xr]=l,e=(t.mode&1)!==0,n){case\"dialog\":A(\"cancel\",r),A(\"close\",r);break;case\"iframe\":case\"object\":case\"embed\":A(\"load\",r);break;case\"video\":case\"audio\":for(o=0;o<\\/script>\",e=e.removeChild(e.firstChild)):typeof r.is===\"string\"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n===\"select\"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[et]=t,e[xr]=r,_c(e,t,!1,!1),t.stateNode=e;e:{switch(a=ni(n,r),n){case\"dialog\":A(\"cancel\",e),A(\"close\",e),o=r;break;case\"iframe\":case\"object\":case\"embed\":A(\"load\",e),o=r;break;case\"video\":case\"audio\":for(o=0;oRn&&(t.flags|=128,r=!0,Xn(l,!1),t.lanes=4194304)}else{if(!r)if(e=Mo(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Xn(l,!0),l.tail===null&&l.tailMode===\"hidden\"&&!a.alternate&&!H)return de(t),null}else 2*J()-l.renderingStartTime>Rn&&n!==1073741824&&(t.flags|=128,r=!0,Xn(l,!1),t.lanes=4194304);l.isBackwards?(a.sibling=t.child,t.child=a):(n=l.last,n!==null?n.sibling=a:t.child=a,l.last=a)}if(l.tail!==null)return t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=J(),t.sibling=null,n=K.current,U(K,r?n&1|2:n&1),t;return de(t),null;case 22:case 23:return Sa(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(xe&1073741824)!==0&&(de(t),t.subtreeFlags&6&&(t.flags|=8192)):de(t),null;case 24:return null;case 25:return null}throw Error(k(156,t.tag))}function um(e,t){switch(na(t),t.tag){case 1:return Ne(t.type)&&zo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return _n(),B(ke),B(fe),da(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return ca(t),null;case 13:if(B(K),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(k(340));En()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return B(K),null;case 4:return _n(),null;case 10:return ia(t.type._context),null;case 22:case 23:return Sa(),null;case 24:return null;default:return null}}function gn(e,t){var n=e.ref;if(n!==null)if(typeof n===\"function\")try{n(null)}catch(r){G(e,t,r)}else n.current=null}function bi(e,t,n){try{n()}catch(r){G(e,t,r)}}function cm(e,t){if(mi=No,e=Ls(),ea(e)){if(\"selectionStart\"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var{anchorOffset:o,focusNode:l}=r;r=r.focusOffset;try{n.nodeType,l.nodeType}catch(w){n=null;break e}var a=0,u=-1,s=-1,p=0,g=0,v=e,h=null;t:for(;;){for(var y;;){if(v!==n||o!==0&&v.nodeType!==3||(u=a+o),v!==l||r!==0&&v.nodeType!==3||(s=a+r),v.nodeType===3&&(a+=v.nodeValue.length),(y=v.firstChild)===null)break;h=v,v=y}for(;;){if(v===e)break t;if(h===n&&++p===o&&(u=a),h===l&&++g===r&&(s=a),(y=v.nextSibling)!==null)break;v=h,h=v.parentNode}v=y}n=u===-1||s===-1?null:{start:u,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;vi={focusedElem:e,selectionRange:n},No=!1;for(E=t;E!==null;)if(t=E,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,E=e;else for(;E!==null;){t=E;try{var N=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(N!==null){var{memoizedProps:S,memoizedState:I}=N,f=t.stateNode,d=f.getSnapshotBeforeUpdate(t.elementType===t.type?S:We(t.type,S),I);f.__reactInternalSnapshotBeforeUpdate=d}break;case 3:var m=t.stateNode.containerInfo;m.nodeType===1?m.textContent=\"\":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(k(163))}}catch(w){G(t,t.return,w)}if(e=t.sibling,e!==null){e.return=t.return,E=e;break}E=t.return}return N=Vu,Vu=!1,N}function cr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var l=o.destroy;o.destroy=void 0,l!==void 0&&bi(t,n,l)}o=o.next}while(o!==r)}}function Xo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Mi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t===\"function\"?t(e):t.current=e}}function bc(e){var t=e.alternate;t!==null&&(e.alternate=null,bc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[et],delete t[xr],delete t[yi],delete t[Kf],delete t[Yf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Mc(e){return e.tag===5||e.tag===3||e.tag===4}function Wu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Mc(e.return))return null;e=e.return}e.sibling.return=e.return;for(e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2)continue e;if(e.child===null||e.tag===4)continue e;else e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Di(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!==null&&n!==void 0||t.onclick!==null||(t.onclick=Co));else if(r!==4&&(e=e.child,e!==null))for(Di(e,t,n),e=e.sibling;e!==null;)Di(e,t,n),e=e.sibling}function $i(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for($i(e,t,n),e=e.sibling;e!==null;)$i(e,t,n),e=e.sibling}function gt(e,t,n){for(n=n.child;n!==null;)Dc(e,t,n),n=n.sibling}function Dc(e,t,n){if(tt&&typeof tt.onCommitFiberUnmount===\"function\")try{tt.onCommitFiberUnmount(Vo,n)}catch(u){}switch(n.tag){case 5:pe||gn(n,t);case 6:var r=ie,o=Ae;ie=null,gt(e,t,n),ie=r,Ae=o,ie!==null&&(Ae?(e=ie,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ie.removeChild(n.stateNode));break;case 18:ie!==null&&(Ae?(e=ie,n=n.stateNode,e.nodeType===8?Ll(e.parentNode,n):e.nodeType===1&&Ll(e,n),yr(e)):Ll(ie,n.stateNode));break;case 4:r=ie,o=Ae,ie=n.stateNode.containerInfo,Ae=!0,gt(e,t,n),ie=r,Ae=o;break;case 0:case 11:case 14:case 15:if(!pe&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var l=o,a=l.destroy;l=l.tag,a!==void 0&&((l&2)!==0?bi(n,t,a):(l&4)!==0&&bi(n,t,a)),o=o.next}while(o!==r)}gt(e,t,n);break;case 1:if(!pe&&(gn(n,t),r=n.stateNode,typeof r.componentWillUnmount===\"function\"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){G(n,t,u)}gt(e,t,n);break;case 21:gt(e,t,n);break;case 22:n.mode&1?(pe=(r=pe)||n.memoizedState!==null,gt(e,t,n),pe=r):gt(e,t,n);break;default:gt(e,t,n)}}function Au(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new sm),t.forEach(function(r){var o=wm.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function Ve(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=a),r&=~l}if(r=o,r=J()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3000>r?3000:4320>r?4320:1960*pm(r/1960))-r,10e?16:e,St===null)var r=!1;else{if(e=St,St=null,Oo=0,($&6)!==0)throw Error(k(331));var o=$;$|=4;for(E=e.current;E!==null;){var l=E,a=l.child;if((E.flags&16)!==0){var u=l.deletions;if(u!==null){for(var s=0;sJ()-ka?Ht(e,0):wa|=n),Se(e,t)}function Wc(e,t){t===0&&((e.mode&1)===0?t=1:(t=Yr,Yr<<=1,(Yr&130023424)===0&&(Yr=4194304)));var n=ve();e=ct(e,t),e!==null&&(Rr(e,t,n),Se(e,n))}function ym(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Wc(e,n)}function wm(e,t){var n=0;switch(e.tag){case 13:var{stateNode:r,memoizedState:o}=e;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(k(314))}r!==null&&r.delete(t),Wc(e,n)}function Bc(e,t){return gs(e,t)}function km(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Me(e,t,n,r){return new km(e,t,n,r)}function Ca(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nm(e){if(typeof e===\"function\")return Ca(e)?1:0;if(e!==void 0&&e!==null){if(e=e.$$typeof,e===Bi)return 11;if(e===Hi)return 14}return 2}function Rt(e,t){var n=e.alternate;return n===null?(n=Me(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function vo(e,t,n,r,o,l){var a=2;if(r=e,typeof e===\"function\")Ca(e)&&(a=1);else if(typeof e===\"string\")a=5;else e:switch(e){case an:return Qt(n.children,o,l,t);case Ai:a=8,o|=8;break;case Kl:return e=Me(12,n,t,o|2),e.elementType=Kl,e.lanes=l,e;case Yl:return e=Me(13,n,t,o),e.elementType=Yl,e.lanes=l,e;case Xl:return e=Me(19,n,t,o),e.elementType=Xl,e.lanes=l,e;case ju:return Zo(n,o,l,t);default:if(typeof e===\"object\"&&e!==null)switch(e.$$typeof){case qu:a=10;break e;case Ju:a=9;break e;case Bi:a=11;break e;case Hi:a=14;break e;case ht:a=16,r=null;break e}throw Error(k(130,e==null?e:typeof e,\"\"))}return t=Me(a,n,t,o),t.elementType=e,t.type=r,t.lanes=l,t}function Qt(e,t,n,r){return e=Me(7,e,r,t),e.lanes=n,e}function Zo(e,t,n,r){return e=Me(22,e,r,t),e.elementType=ju,e.lanes=n,e.stateNode={isHidden:!1},e}function Bl(e,t,n){return e=Me(6,e,null,t),e.lanes=n,e}function Hl(e,t,n){return t=Me(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Sm(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_l(0),this.expirationTimes=_l(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_l(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function za(e,t,n,r,o,l,a,u,s){return e=new Sm(e,t,n,u,s),t===1?(t=1,l===!0&&(t|=8)):t=0,l=Me(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ua(l),e}function xm(e,t,n){var r=3{W();Q=dl(Qa(),1);Zu=new Set,fr={};ut=!(typeof window>\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),Ql=Object.prototype.hasOwnProperty,Pp=/^[: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]*$/,Ka={},Ya={};ue={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){ue[e]=new ge(e,0,!1,e,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];ue[t]=new ge(t,1,!1,e[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){ue[e]=new ge(e,2,!1,e.toLowerCase(),null,!1,!1)});[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){ue[e]=new ge(e,2,!1,e,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){ue[e]=new ge(e,3,!1,e.toLowerCase(),null,!1,!1)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){ue[e]=new ge(e,3,!0,e,null,!1,!1)});[\"capture\",\"download\"].forEach(function(e){ue[e]=new ge(e,4,!1,e,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){ue[e]=new ge(e,6,!1,e,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(e){ue[e]=new ge(e,5,!1,e.toLowerCase(),null,!1,!1)});Ui=/[\\-:]([a-z])/g;\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var t=e.replace(Ui,Vi);ue[t]=new ge(t,1,!1,e,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var t=e.replace(Ui,Vi);ue[t]=new ge(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var t=e.replace(Ui,Vi);ue[t]=new ge(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(e){ue[e]=new ge(e,1,!1,e.toLowerCase(),null,!1,!1)});ue.xlinkHref=new ge(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){ue[e]=new ge(e,1,!1,e.toLowerCase(),null,!0,!0)});pt=Un,Br=Symbol.for(\"react.element\"),ln=Symbol.for(\"react.portal\"),an=Symbol.for(\"react.fragment\"),Ai=Symbol.for(\"react.strict_mode\"),Kl=Symbol.for(\"react.profiler\"),qu=Symbol.for(\"react.provider\"),Ju=Symbol.for(\"react.context\"),Bi=Symbol.for(\"react.forward_ref\"),Yl=Symbol.for(\"react.suspense\"),Xl=Symbol.for(\"react.suspense_list\"),Hi=Symbol.for(\"react.memo\"),ht=Symbol.for(\"react.lazy\"),ju=Symbol.for(\"react.offscreen\"),Xa=Symbol.iterator;X=Object.assign;qn=Array.isArray;ls=function(e){return typeof MSApp<\"u\"&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e}(function(e,t){if(e.namespaceURI!==\"http://www.w3.org/2000/svg\"||\"innerHTML\"in e)e.innerHTML=t;else{Qr=Qr||document.createElement(\"div\"),Qr.innerHTML=\"\"+t.valueOf().toString()+\"\";for(t=Qr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});or={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},$p=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(or).forEach(function(e){$p.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),or[t]=or[e]})});Lp=X({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});if(ut)try{Ft={},Object.defineProperty(Ft,\"passive\",{get:function(){li=!0}}),window.addEventListener(\"test\",Ft,Ft),window.removeEventListener(\"test\",Ft,Ft)}catch(e){li=!1}Op={onError:function(e){lr=!0,ho=e}};gs=Q.unstable_scheduleCallback,tu=Q.unstable_cancelCallback,Wp=Q.unstable_shouldYield,Ap=Q.unstable_requestPaint,J=Q.unstable_now,Bp=Q.unstable_getCurrentPriorityLevel,Ki=Q.unstable_ImmediatePriority,hs=Q.unstable_UserBlockingPriority,wo=Q.unstable_NormalPriority,Hp=Q.unstable_LowPriority,ys=Q.unstable_IdlePriority;He=Math.clz32?Math.clz32:Xp,Kp=Math.log,Yp=Math.LN2;Xr=[],gr=new Map,hr=new Map,wt=[],Jp=\"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 submit\".split(\" \");Nn=pt.ReactCurrentBatchConfig;bn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},qi=Ee(bn),br=X({},bn,{view:0,detail:0}),rf=Ee(br),Wo=X({},br,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ji,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){if(\"movementX\"in e)return e.movementX;return e!==Kn&&(Kn&&e.type===\"mousemove\"?(Tl=e.screenX-Kn.screenX,Rl=e.screenY-Kn.screenY):Rl=Tl=0,Kn=e),Tl},movementY:function(e){return\"movementY\"in e?e.movementY:Rl}}),lu=Ee(Wo),of=X({},Wo,{dataTransfer:0}),lf=Ee(of),af=X({},br,{relatedTarget:0}),bl=Ee(af),uf=X({},bn,{animationName:0,elapsedTime:0,pseudoElement:0}),sf=Ee(uf),cf=X({},bn,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),df=Ee(cf),pf=X({},bn,{data:0}),iu=Ee(pf),ff={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},mf={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\"},vf={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};hf=X({},br,{key:function(e){if(e.key){var t=ff[e.key]||e.key;if(t!==\"Unidentified\")return t}return e.type===\"keypress\"?(e=io(e),e===13?\"Enter\":String.fromCharCode(e)):e.type===\"keydown\"||e.type===\"keyup\"?mf[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ji,charCode:function(e){return e.type===\"keypress\"?io(e):0},keyCode:function(e){return e.type===\"keydown\"||e.type===\"keyup\"?e.keyCode:0},which:function(e){return e.type===\"keypress\"?io(e):e.type===\"keydown\"||e.type===\"keyup\"?e.keyCode:0}}),yf=Ee(hf),wf=X({},Wo,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),au=Ee(wf),kf=X({},br,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ji}),Nf=Ee(kf),Sf=X({},bn,{propertyName:0,elapsedTime:0,pseudoElement:0}),xf=Ee(Sf),Cf=X({},Wo,{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}),zf=Ee(Cf),Ef=[9,13,27,32],ji=ut&&\"CompositionEvent\"in window;ut&&\"documentMode\"in document&&(ir=document.documentMode);Pf=ut&&\"TextEvent\"in window&&!ir,_s=ut&&(!ji||ir&&8=ir),uu=String.fromCharCode(32);Rf={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};if(ut){if(ut){if(er=\"oninput\"in document,!er)ao=document.createElement(\"div\"),ao.setAttribute(\"oninput\",\"return;\"),er=typeof ao.oninput===\"function\";jn=er}else jn=!1;Ms=jn&&(!document.documentMode||9=document.documentMode;cn={animationend:Zr(\"Animation\",\"AnimationEnd\"),animationiteration:Zr(\"Animation\",\"AnimationIteration\"),animationstart:Zr(\"Animation\",\"AnimationStart\"),transitionend:Zr(\"Transition\",\"TransitionEnd\")},Ml={},Is={};ut&&(Is=document.createElement(\"div\").style,(\"AnimationEvent\"in window)||(delete cn.animationend.animation,delete cn.animationiteration.animation,delete cn.animationstart.animation),(\"TransitionEvent\"in window)||delete cn.transitionend.transition);Os=Bo(\"animationend\"),Fs=Bo(\"animationiteration\"),Us=Bo(\"animationstart\"),Vs=Bo(\"transitionend\"),Ws=new Map,vu=\"abort auxClick 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(\" \");for(tr=0;tr{ld();function id(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!==\"function\")return;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(id)}catch(e){console.error(e)}}id(),ad.exports=Ta});var sd=pl((Tm)=>{var $r=dl(ud());Tm.createRoot=$r.createRoot,Tm.hydrateRoot=$r.hydrateRoot;var _m});var qd=dl(sd(),1);W();W();function Pe(e){if(e==null||Number.isNaN(e))return\"—\";let t=Math.floor(e/1000);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r?`${n}m ${r}s`:`${n}m`;let o=Math.floor(n/60),l=n%60;return l?`${o}h ${l}m`:`${o}h`}function Dn(e){if(e==null||Number.isNaN(e)||e<0)return\"—\";let t=Math.floor(e/1000);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60),o=n%60;return o?`${r}h ${o}m`:`${r}h`}function V(e){if(e==null||Number.isNaN(e))return\"—\";return`$${e.toFixed(2)}`}function It(e){if(e==null)return\"never\";try{let t=typeof e===\"number\"?e:new Date(e).getTime(),n=Date.now()-t,r=Math.floor(n/1000);if(r<10)return\"just now\";if(r<60)return`${r}s ago`;let o=Math.floor(r/60);if(o<60)return`${o}m ago`;let l=Math.floor(o/60);if(l<24)return`${l}h ago`;return`${Math.floor(l/24)}d ago`}catch{return\"—\"}}function $n(e){if(e==null)return\"—\";try{let t=typeof e===\"number\"?e:new Date(e).getTime(),n=Date.now()-t,r=Math.floor(n/1000);if(r<60)return`${r}s`;let o=Math.floor(r/60);if(o<60)return`${o}m`;let l=Math.floor(o/60);if(l<24)return`${l}h`;return`${Math.floor(l/24)}d`}catch{return\"—\"}}function Ln(e){if(e===\"plan\"||e===\"planning\")return\"Planning\";if(e===\"exec\"||e===\"execution\")return\"Execution\";if(e===\"review\")return\"Reviewing\";if(e===\"fix\")return\"Fixing\";if(e===\"audit\")return\"Auditing\";return e.charAt(0).toUpperCase()+e.slice(1)}function Z(e){switch(e){case\"create\":return\"var(--accent)\";case\"review\":return\"var(--sky)\";case\"fix-review-comments\":return\"var(--violet)\";case\"code-audit\":return\"var(--green)\";case\"docs-writer\":return\"var(--rose)\";default:return\"var(--fg-3)\"}}function Ye(e){let t=e.split(\"/\");return t[t.length-1]??e}W();var Rm=Symbol.for(\"react.element\"),bm=Symbol.for(\"react.fragment\"),Mm=Object.prototype.hasOwnProperty,Dm=Un.ReactCurrentOwner,$m={key:!0,ref:!0,__self:!0,__source:!0};function cd(e,t,n){var r,o={},l=null,a=null;n!==void 0&&(l=\"\"+n),t.key!==void 0&&(l=\"\"+t.key),t.ref!==void 0&&(a=t.ref);for(r in t)Mm.call(t,r)&&!$m.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:Rm,type:e,key:l,ref:a,props:o,_owner:Dm.current}}var R=bm,i=cd,c=cd;function L({color:e=\"currentColor\",size:t=6,pulse:n=!1,style:r}){return i(\"span\",{className:n?\"dot dot-pulse\":\"dot\",style:{color:e,width:t,height:t,...r}})}function F({children:e,color:t,borderColor:n,style:r}){return i(\"span\",{className:\"pill\",style:{color:t??void 0,borderColor:n??void 0,...r},children:e})}function ft({value:e,color:t=\"var(--accent)\",height:n=2}){let r=Math.max(0,Math.min(1,e));return i(\"div\",{className:\"progress\",style:{height:n},children:i(\"div\",{className:\"bar\",style:{width:`${r*100}%`,background:t}})})}function dd({data:e,width:t=80,height:n=24,color:r=\"var(--accent)\"}){if(e.length===0)return null;let o=Math.max(1,...e),l=Math.min(0,...e),a=o-l||1,u=e.length>1?t/(e.length-1):0,p=e.map((v,h)=>{let y=h*u,N=n-(v-l)/a*(n-2)-1;return[y,N]}).map((v,h)=>h===0?`M${v[0].toFixed(1)},${v[1].toFixed(1)}`:`L${v[0].toFixed(1)},${v[1].toFixed(1)}`).join(\" \"),g=`${p} L${t},${n} L0,${n} Z`;return c(\"svg\",{width:t,height:n,style:{display:\"block\"},\"aria-hidden\":\"true\",children:[i(\"path\",{d:g,fill:r,opacity:\"0.12\"}),i(\"path\",{d:p,fill:\"none\",stroke:r,strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]})}function tl({data:e}){let[t,n]=C(\"\"),[r,o]=C(\"\"),[l,a]=C(\"\"),[u,s]=C({key:\"when\",asc:!1}),p=_e(()=>{return[...new Set(e.activity.map((N)=>N.critterType))].sort()},[e.activity]),g=_e(()=>{let y=l.toLowerCase(),N=e.activity.filter((f)=>{if(t&&f.critterType!==t)return!1;let d=f.event===\"task_completed\"||f.event===\"review_completed\";if(r===\"ok\"&&!d)return!1;if(r===\"fail\"&&d)return!1;if(y&&!(f.identifier.toLowerCase().includes(y)||f.repo.toLowerCase().includes(y)||f.title&&f.title.toLowerCase().includes(y)))return!1;return!0}),S=u.asc?1:-1,I=(f,d)=>{switch(u.key){case\"id\":return f.identifier.localeCompare(d.identifier)*S;case\"type\":return f.critterType.localeCompare(d.critterType)*S;case\"repo\":return f.repo.localeCompare(d.repo)*S;case\"status\":{let m=f.event.endsWith(\"_completed\")?1:0,w=d.event.endsWith(\"_completed\")?1:0;return(m-w)*S}case\"duration\":return((f.duration??-1)-(d.duration??-1))*S;case\"cost\":return((f.costUsd??-1)-(d.costUsd??-1))*S;case\"when\":return(new Date(f.timestamp).getTime()-new Date(d.timestamp).getTime())*S}};return[...N].sort(I)},[e.activity,t,r,l,u]),v=Boolean(t||r||l);function h(y){s((N)=>N.key===y?{key:y,asc:!N.asc}:{key:y,asc:!0})}return c(\"div\",{className:\"card\",id:\"activity-section\",children:[c(\"div\",{className:\"activity-filterbar\",children:[i(\"h3\",{children:\"Recent activity\"}),c(\"span\",{className:\"count\",children:[e.activity.length,\" total\"]}),i(\"span\",{className:\"spacer\"}),c(\"div\",{className:\"chip-row\",children:[i(Lr,{active:t===\"\",onClick:()=>n(\"\"),children:\"all\"}),p.map((y)=>i(Lr,{active:t===y,onClick:()=>n(y),children:y},y))]}),c(\"div\",{className:\"chip-row\",children:[i(Lr,{active:r===\"\",onClick:()=>o(\"\"),children:\"all\"}),i(Lr,{active:r===\"ok\",onClick:()=>o(\"ok\"),children:\"ok\"}),i(Lr,{active:r===\"fail\",onClick:()=>o(\"fail\"),children:\"fail\"})]}),i(\"input\",{type:\"text\",className:\"activity-search\",value:l,onChange:(y)=>a(y.target.value),placeholder:\"filter…\"})]}),i(\"div\",{className:\"activity-table-wrap\",children:c(\"table\",{className:\"activity\",children:[i(\"thead\",{children:c(\"tr\",{children:[i(jt,{label:\"Issue\",k:\"id\",sort:u,onClick:h}),i(jt,{label:\"Type\",k:\"type\",sort:u,onClick:h}),i(jt,{label:\"Repo\",k:\"repo\",sort:u,onClick:h}),i(jt,{label:\"Status\",k:\"status\",sort:u,onClick:h}),i(jt,{label:\"Duration\",k:\"duration\",sort:u,onClick:h,num:!0}),i(jt,{label:\"Cost\",k:\"cost\",sort:u,onClick:h,num:!0}),i(\"th\",{children:\"PR\"}),i(jt,{label:\"When\",k:\"when\",sort:u,onClick:h,num:!0})]})}),c(\"tbody\",{children:[g.length===0&&i(\"tr\",{children:i(\"td\",{colSpan:8,className:\"empty-state\",children:\"No matches\"})}),g.map((y)=>i(Lm,{a:y},y.identifier+y.timestamp))]})]})}),i(\"div\",{className:\"activity-footer\",children:i(\"span\",{className:\"count\",children:v?`Showing ${g.length} of ${e.activity.length}`:`${e.activity.length} entries`})})]})}function jt({label:e,k:t,sort:n,onClick:r,num:o}){let a=n.key===t?n.asc?\" ▲\":\" ▼\":\"\";return c(\"th\",{className:o?\"num\":void 0,onClick:()=>r(t),style:{cursor:\"pointer\",userSelect:\"none\"},children:[e,a]})}function Lm({a:e}){let t=e.event===\"review_completed\"||e.event===\"review_failed\",n=e.event===\"task_completed\"||e.event===\"review_completed\",r=t?n?\"reviewed\":\"review·fail\":n?\"shipped\":\"failed\",o=`/dashboard/${encodeURIComponent(e.identifier)}`,l=(a)=>a.stopPropagation();return c(\"tr\",{className:\"row-clickable\",onClick:()=>{window.location.href=o},children:[c(\"td\",{children:[i(\"a\",{className:\"id\",href:o,onClick:l,children:e.identifier}),e.title&&i(\"span\",{className:\"issue-title\",children:e.title}),e.issueUrl&&i(\"a\",{className:\"external-link\",href:e.issueUrl,target:\"_blank\",rel:\"noreferrer\",title:\"Open in tracker\",onClick:l,children:\"↗\"})]}),i(\"td\",{children:i(F,{color:Z(e.critterType),children:e.critterType})}),i(\"td\",{className:\"repo\",children:e.repo}),i(\"td\",{children:c(\"span\",{className:`status ${n?\"ok\":\"fail\"}`,children:[i(L,{color:n?\"var(--green)\":\"var(--danger)\"}),\" \",r]})}),i(\"td\",{className:\"dur num\",children:Pe(e.duration)}),i(\"td\",{className:\"cost num\",children:V(e.costUsd)}),i(\"td\",{children:e.prUrl?c(R,{children:[i(\"a\",{href:e.prUrl,target:\"_blank\",rel:\"noreferrer\",onClick:l,children:\"PR\"}),e.prStatus&&i(Im,{s:e.prStatus})]}):i(\"span\",{style:{color:\"var(--fg-3)\"},children:\"—\"})}),i(\"td\",{className:\"when num\",children:It(e.timestamp)})]})}function Im({s:e}){let t=e.ciStatus===\"success\"?\"✅\":e.ciStatus===\"failure\"?\"❌\":e.ciStatus===\"pending\"?\"⏳\":\"\",n=e.reviewStatus===\"approved\"?\"\\uD83D\\uDC4D\":e.reviewStatus===\"changes_requested\"?\"\\uD83D\\uDD04\":e.reviewStatus===\"pending\"?\"⏳\":\"\";if(!t&&!n)return null;return c(\"span\",{className:\"pr-status\",title:`CI: ${e.ciStatus}, Review: ${e.reviewStatus}`,children:[t,n]})}function Lr({active:e,onClick:t,children:n}){return i(\"button\",{type:\"button\",className:`chip${e?\" active\":\"\"}`,onClick:t,children:n})}W();function he(){let e=localStorage.getItem(\"critters-token\");return e?{Authorization:`Bearer ${e}`}:{}}function nl(e){localStorage.setItem(\"critters-token\",e);let t=location.protocol===\"https:\"?\"; Secure\":\"\";document.cookie=`critters_token=${encodeURIComponent(e)}; Path=/; SameSite=Strict${t}`}function Om(){localStorage.removeItem(\"critters-token\"),document.cookie=\"critters_token=; Path=/; Max-Age=0; SameSite=Strict\"}async function pd(e,t){let n=e?`?type=${encodeURIComponent(e)}`:\"\",r=await fetch(`/api/v1/dashboard${n}`,{headers:he(),signal:t});if(!r.ok)throw Error(`dashboard fetch failed: ${r.status}`);return r.json()}async function In(){await fetch(\"/poll\",{method:\"POST\",headers:he()})}async function fd(){let e=await fetch(\"/api/v1/metadata\",{headers:he()});if(!e.ok)throw Error(`metadata fetch failed: ${e.status}`);return e.json()}async function md(e){let t=await fetch(\"/api/v1/issues\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\",...he()},body:JSON.stringify(e)});if(t.status===401)throw Om(),Error(\"Unauthorized\");return t.json()}async function vd(){try{return(await(await fetch(\"/api/v1/auth-check\")).json()).required}catch{return!1}}async function rl(e,t){let n=await fetch(`/api/v1/issue/${encodeURIComponent(e)}`,{headers:he(),signal:t});if(!n.ok)throw Error(`issue fetch failed: ${n.status}`);return n.json()}async function gd(e){let t=await fetch(\"/api/v1/types\",{headers:he(),signal:e});if(!t.ok)throw Error(`types fetch failed: ${t.status}`);return t.json()}async function hd(e){let t=await fetch(\"/api/v1/repos\",{headers:he(),signal:e});if(!t.ok)throw Error(`repos fetch failed: ${t.status}`);return t.json()}async function yd(e){let t=await fetch(\"/api/v1/models\",{headers:he(),signal:e});if(!t.ok)throw Error(`models fetch failed: ${t.status}`);return t.json()}async function wd(e){let t=await fetch(\"/api/v1/hooks\",{headers:he(),signal:e});if(!t.ok)throw Error(`hooks fetch failed: ${t.status}`);return t.json()}async function kd(e){let t=await fetch(\"/api/v1/env-status\",{headers:he(),signal:e});if(!t.ok)throw Error(`env-status fetch failed: ${t.status}`);return t.json()}async function Nd(e){let t=await fetch(\"/api/v1/releases\",{headers:he(),signal:e});if(!t.ok)throw Error(`releases fetch failed: ${t.status}`);return t.json()}function Sd({onSaved:e}){let[t,n]=C(\"\");function r(){let o=t.trim();if(!o)return;nl(o),e()}return c(\"div\",{className:\"auth-prompt\",children:[i(\"span\",{style:{color:\"var(--fg-3)\"},children:\"Dashboard token required:\"}),i(\"input\",{type:\"password\",value:t,onChange:(o)=>n(o.target.value),placeholder:\"Enter token\"}),i(\"button\",{type:\"button\",className:\"btn\",onClick:r,children:\"Save\"})]})}W();function Cd({open:e,onClose:t,onAuthRequired:n}){let[r,o]=C(null),[l,a]=C(\"\"),[u,s]=C(\"\"),[p,g]=C(\"\"),[v,h]=C(\"\"),[y,N]=C(\"\"),[S,I]=C(\"\"),[f,d]=C(\"\"),[m,w]=C(null),[z,P]=C(null),[_,x]=C(!1);T(()=>{if(!e)return;if(w(null),P(null),x(!1),r)return;fd().then(o).catch(()=>w(\"Failed to load metadata\"))},[e,r]),T(()=>{if(!r)return;let b=Object.keys(r.providers);a((Fe)=>Fe||b[0]||\"\"),g((Fe)=>Fe||r.critterTypes[0]?.name||\"\")},[r]),T(()=>{if(!r||!l)return;let b=r.providers[l]?.teams??[];s((Fe)=>b.some((en)=>en.id===Fe)?Fe:b[0]?.id??\"\")},[r,l]);let D=mt(()=>{t()},[t]);if(T(()=>{if(!e)return;function b(Fe){if(Fe.key===\"Escape\")D()}return window.addEventListener(\"keydown\",b),()=>window.removeEventListener(\"keydown\",b)},[e,D]),!e||!r)return e?i(xd,{onClose:D,children:m?i(\"div\",{className:\"error\",style:{display:\"block\"},children:m}):i(\"p\",{children:\"Loading…\"})}):null;let M=Object.keys(r.providers),Xe=r.providers[l]?.teams??[];async function sl(b){b.preventDefault(),w(null),P(null),x(!0);let Fe=f,en=\"\";if(v&&!/^repo:\\s/m.test(f))en+=`repo: ${v}\n`;if(y&&!/^branch:\\s/m.test(f))en+=`branch: ${y}\n`;if(en)Fe=`${en}\n${f}`;try{let Ge=await md({provider:l,teamId:u,title:S,description:Fe,critterType:p});if(Ge.success&&Ge.identifier)P({identifier:Ge.identifier,url:Ge.url}),In().catch(()=>{}),setTimeout(D,4000);else w(Ge.error??\"Unknown error\"),x(!1)}catch(Ge){if(Ge instanceof Error&&Ge.message===\"Unauthorized\")n();else w(Ge instanceof Error?Ge.message:\"Request failed\");x(!1)}}return c(xd,{onClose:D,children:[i(\"h2\",{children:\"Create Critter Ticket\"}),m&&i(\"div\",{className:\"error\",style:{display:\"block\"},children:m}),z&&c(\"div\",{className:\"success\",style:{display:\"block\"},children:[\"Created \",z.identifier,z.url&&c(R,{children:[\" — \",i(\"a\",{href:z.url,target:\"_blank\",rel:\"noreferrer\",children:\"View\"})]})]}),c(\"form\",{onSubmit:sl,children:[M.length>1&&c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-provider\",children:\"Provider\"}),i(\"select\",{id:\"create-provider\",value:l,onChange:(b)=>a(b.target.value),children:M.map((b)=>i(\"option\",{value:b,children:b},b))})]}),c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-team\",children:\"Team / Project\"}),i(\"select\",{id:\"create-team\",required:!0,value:u,onChange:(b)=>s(b.target.value),children:Xe.map((b)=>c(\"option\",{value:b.id,children:[b.name,\" (\",b.key,\")\"]},b.id))})]}),c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-type\",children:\"Critter type\"}),i(\"select\",{id:\"create-type\",value:p,onChange:(b)=>g(b.target.value),children:r.critterTypes.map((b)=>c(\"option\",{value:b.name,children:[b.name,\" (\",b.triggerLabel,\")\"]},b.name))})]}),r.repos.length>0&&c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-repo\",children:\"Repository\"}),c(\"select\",{id:\"create-repo\",value:v,onChange:(b)=>h(b.target.value),children:[i(\"option\",{value:\"\",children:\"None (specify in description)\"}),r.repos.map((b)=>i(\"option\",{value:b.url,children:b.label},b.url))]})]}),c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-branch\",children:\"Base branch (optional)\"}),i(\"input\",{id:\"create-branch\",type:\"text\",value:y,onChange:(b)=>N(b.target.value),placeholder:\"e.g. dev, beta (defaults to repo default branch)\"})]}),c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-title\",children:\"Title\"}),i(\"input\",{id:\"create-title\",type:\"text\",required:!0,value:S,onChange:(b)=>I(b.target.value),placeholder:\"Issue title\"})]}),c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-description\",children:\"Description\"}),i(\"textarea\",{id:\"create-description\",rows:6,value:f,onChange:(b)=>d(b.target.value),placeholder:\"Include repo: git@github.com:org/repo.git on its own line if no project mapping exists\"})]}),c(\"div\",{className:\"actions\",children:[i(\"button\",{type:\"button\",className:\"btn\",onClick:D,children:\"Cancel\"}),i(\"button\",{type:\"submit\",className:\"btn primary\",disabled:_,children:_?\"Creating…\":\"Create\"})]})]})]})}function xd({onClose:e,children:t}){return i(\"div\",{className:\"modal-backdrop open\",onClick:(n)=>{if(n.target===n.currentTarget)e()},children:i(\"div\",{className:\"modal\",role:\"dialog\",\"aria-modal\":\"true\",children:t})})}function zd({data:e}){let t=e.daily.slice(-7),n=t.map((l)=>l.completed+l.failed),r=t.map((l)=>Math.round(l.cost*100)/100),{totals:o}=e;return c(\"div\",{className:\"kpi-strip\",children:[i(ol,{label:c(R,{children:[i(L,{color:\"var(--accent)\",pulse:!0}),\" In flight\"]}),value:String(e.activeCritters.length),sub:`${e.queuedCritters.length} queued`}),i(ol,{label:\"Success · 14d\",value:o.successRate!=null?`${o.successRate}%`:\"N/A\",sub:`${o.succeeded}/${o.totalTasks} tasks`,spark:n}),i(ol,{label:\"Spend · 14d\",value:V(o.totalCost),sub:o.avgCost!=null?`avg ${V(o.avgCost)}/run`:\"no runs\",spark:r}),i(ol,{label:\"Avg duration\",value:Pe(o.avgDuration),sub:\"planning + execution\"})]})}function ol({label:e,value:t,sub:n,spark:r}){return c(\"div\",{className:\"kpi\",children:[i(\"div\",{className:\"label\",children:e}),c(\"div\",{className:\"value-row\",children:[i(\"div\",{className:\"value\",children:t}),r&&r.length>0&&i(\"div\",{className:\"spark\",children:i(dd,{data:r})})]}),i(\"div\",{className:\"sub\",children:n})]})}W();W();function Ie(e){let[,t]=C(0);T(()=>{let n=setInterval(()=>{if(!document.hidden)t((r)=>r+1)},e);return()=>clearInterval(n)},[e])}function Ed({active:e,queued:t,selectedId:n,onSelect:r}){if(Ie(1000),e.length===0&&t.length===0)return c(\"div\",{className:\"empty-state\",children:[i(\"span\",{className:\"icon\",children:\"\\uD83E\\uDD97\"}),\"No active critters — all quiet\"]});return c(R,{children:[e.map((o)=>i(Fm,{critter:o,active:o.identifier===n,onClick:()=>r(o.identifier)},o.identifier)),t.length>0&&c(R,{children:[c(\"div\",{className:\"queued-header\",children:[\"Queued · \",t.length]}),t.map((o)=>c(\"div\",{className:\"queued-row\",children:[i(L,{color:\"var(--fg-3)\"}),i(\"span\",{className:\"qr-id\",children:o.identifier}),i(\"span\",{className:\"qr-title\",children:o.title}),i(\"span\",{className:\"qr-wait\",children:$n(o.enqueuedAt)})]},o.identifier))]})]})}function Fm({critter:e,active:t,onClick:n}){let r=Date.now()-e.startedAt,o=(e.timeoutMinutes??30)*60*1000,l=Math.min(1,r/o),a=l>0.8,u=e.critterType??\"create\",s=Z(u),p=e.costUsd!=null?e.costBudget?`${V(e.costUsd)} / ${V(e.costBudget)}`:V(e.costUsd):\"\";return c(\"button\",{type:\"button\",className:`active-row${t?\" selected\":\"\"}`,style:{borderLeftColor:t?s:\"transparent\"},onClick:n,children:[c(\"div\",{className:\"ar-head\",children:[i(L,{color:s,pulse:!0}),i(\"span\",{className:\"ar-id\",children:e.identifier}),i(\"span\",{style:{flex:1}}),i(\"span\",{className:`ar-elapsed${a?\" danger\":\"\"}`,children:Dn(r)})]}),i(\"div\",{className:\"ar-title\",children:e.title}),c(\"div\",{className:\"ar-meta\",children:[i(F,{color:s,borderColor:`color-mix(in oklch, ${s} 35%, transparent)`,children:Ln(e.phase)}),i(F,{children:u}),i(\"span\",{className:\"ar-cost\",children:p})]}),i(ft,{value:l,color:a?\"var(--danger)\":s,height:2})]})}W();W();function ll(e,t=400){let[n,r]=C([]),[o,l]=C(!1),[a,u]=C(!1),s=Ze(null);return T(()=>{if(!e){r([]),l(!1),u(!1);return}r([]),u(!1);let p=new EventSource(e);return s.current=p,p.onopen=()=>l(!0),p.onerror=()=>l(!1),p.onmessage=(g)=>{let v=g.data;if(!v)return;if(v.startsWith(\"{\"))try{let h=JSON.parse(v);if(h.event===\"done\"){u(!0),p.close(),l(!1);return}if(h.event===\"heartbeat\")return}catch{}r((h)=>{let y=h.concat(v);return y.length>t?y.slice(y.length-t):y})},()=>{p.close(),s.current=null,l(!1)}},[e,t]),{lines:n,connected:o,done:a}}function Pd({critter:e}){if(Ie(1000),!e)return i(\"div\",{className:\"tail-empty\",children:\"nothing to tail — all quiet\"});return i(Um,{critter:e})}function Um({critter:e}){let t=`/api/logs/${encodeURIComponent(e.identifier)}/stream`,{lines:n,connected:r,done:o}=ll(t),l=Ze(null);T(()=>{if(l.current)l.current.scrollTop=l.current.scrollHeight},[n]);let a=Date.now()-e.startedAt,u=e.critterType??\"create\",s=Z(u);return c(R,{children:[c(\"div\",{className:\"tail-head\",children:[i(\"span\",{className:\"dim\",children:\"tail —\"}),i(\"strong\",{children:e.identifier}),i(\"span\",{className:\"dim\",children:\"·\"}),i(\"span\",{children:Ye(e.repo)}),i(\"span\",{className:\"dim\",children:\"·\"}),i(\"span\",{style:{color:s},children:Ln(e.phase)}),i(\"span\",{style:{flex:1}}),i(\"span\",{className:\"dim\",children:Pe(a)}),i(\"span\",{className:\"dim\",children:\"·\"}),i(\"span\",{className:\"dim\",children:o?\"stream closed\":r?\"live\":\"connecting…\"})]}),c(\"div\",{ref:l,className:\"tail-body\",children:[n.length===0&&i(\"div\",{className:\"tail-empty\",children:\"waiting for logs…\"}),n.map((p,g)=>{let v=Vm(p),h=`${g}:${p.slice(0,40)}`;return i(\"div\",{className:`ln ${v}`,children:i(\"span\",{className:\"txt\",children:p})},h)}),!o&&c(\"div\",{className:\"ln\",children:[i(\"span\",{className:\"ts\",children:\"now\"}),i(\"span\",{className:\"cursor\",children:\"▊\"})]})]}),c(\"div\",{className:\"tail-foot\",children:[c(\"span\",{children:[\"branch \",i(\"span\",{className:\"br\",children:e.branch})]}),i(\"span\",{style:{flex:1}}),e.prUrl&&i(\"a\",{href:e.prUrl,target:\"_blank\",rel:\"noreferrer\",children:\"open PR ↗\"}),i(\"a\",{href:`/dashboard/${encodeURIComponent(e.identifier)}`,children:\"full log ↗\"})]})]})}function Vm(e){if(/^\\s*→\\s/.test(e))return\"tool\";if(/^\\s*\\[/.test(e))return\"stdout\";return\"assistant\"}function _d({data:e}){let[t,n]=C(e.activeCritters[0]?.identifier??null);T(()=>{if(!e.activeCritters.some((l)=>l.identifier===t))n(e.activeCritters[0]?.identifier??null)},[e.activeCritters,t]);let r=e.activeCritters.find((o)=>o.identifier===t)??null;return c(\"div\",{className:\"live-hero\",id:\"active-section\",children:[c(\"div\",{className:\"active-col\",children:[c(\"div\",{className:\"section-header\",children:[i(\"h3\",{children:\"Active\"}),i(\"span\",{className:\"count\",children:e.activeCritters.length}),i(\"span\",{className:\"spacer\"}),e.activeCritters.length>0&&c(F,{children:[i(L,{color:\"var(--accent)\",pulse:!0}),\" live\"]})]}),i(\"div\",{className:\"active-scroll\",children:i(Ed,{active:e.activeCritters,queued:e.queuedCritters,selectedId:t,onSelect:n})})]}),i(\"div\",{className:\"tail-col\",children:i(Pd,{critter:r})})]})}W();function On(e){if(e==null)return\"—\";if(e>=1e6)return`${(e/1e6).toFixed(1)}M`;if(e>=1000)return`${(e/1000).toFixed(1)}k`;return String(e)}function il({identifier:e,embedded:t=!1}){let[n,r]=C(null),[o,l]=C(!0),[a,u]=C(null),[s,p]=C(null);if(T(()=>{rl(e).then((v)=>{r(v),p(v.phases[v.phases.length-1]??null),l(!1)}).catch((v)=>{u(v.message),l(!1)})},[e]),T(()=>{if(!n?.isActive)return;let v=setInterval(()=>{rl(e).then(r).catch(()=>{})},1e4);return()=>clearInterval(v)},[e,n?.isActive]),o)return i(\"div\",{className:\"app-loading\",children:\"Loading...\"});if(a||!n)return c(\"div\",{className:\"app-error\",children:[\"Failed: \",a]});if(n.noData)return c(R,{children:[!t&&i(Td,{identifier:e}),i(\"div\",{className:t?void 0:\"content\",children:c(\"div\",{className:\"empty-state\",children:[i(\"span\",{className:\"icon\",children:\"?\"}),\"No data found for \",e,\".\",!t&&c(R,{children:[i(\"br\",{}),i(\"a\",{href:\"/dashboard\",children:\"Back to dashboard\"})]})]})})]});let g=c(R,{children:[i(Wm,{data:n}),i(Bm,{data:n}),n.phaseResults.length>0&&i(Hm,{data:n}),i(Km,{identifier:e,isActive:n.isActive,phases:n.phases,activePhase:s,onPhaseChange:p,onDone:()=>{rl(e).then(r).catch(()=>{})}})]});if(t)return i(R,{children:g});return c(R,{children:[i(Td,{issueData:n,identifier:e}),i(\"div\",{className:\"content\",children:g})]})}function Td({identifier:e,issueData:t}){let n=t?t.isActive?i(\"span\",{className:\"badge-sm live\",children:\"Live\"}):t.isFailed?i(\"span\",{className:\"badge-sm fail\",children:\"Failed\"}):t.isCompleted?i(\"span\",{className:\"badge-sm success\",children:\"Completed\"}):null:null;return c(\"div\",{className:\"topbar\",children:[i(\"a\",{href:\"/dashboard\",className:\"log-topbar-back\",children:\"← Dashboard\"}),i(\"span\",{className:\"log-topbar-id\",children:e}),n,t?.critterType&&t.critterType!==\"—\"&&i(\"span\",{className:\"badge-sm type\",children:t.critterType}),i(\"span\",{className:\"spacer\"}),t?.issueUrl&&i(\"a\",{href:t.issueUrl,target:\"_blank\",rel:\"noreferrer\",className:\"external-link\",title:\"Open in tracker\",children:\"Tracker ↗\"}),t?.prUrl&&i(\"a\",{href:t.prUrl,target:\"_blank\",rel:\"noreferrer\",className:\"external-link\",title:\"Open PR\",children:\"PR ↗\"})]})}function Wm({data:e}){return i(\"div\",{className:\"card\",style:{marginBottom:16},children:c(\"div\",{className:\"body\",children:[i(\"h3\",{style:{marginBottom:12,fontSize:13,fontWeight:600},children:\"Issue Info\"}),c(\"div\",{className:\"info-grid\",children:[i(\"span\",{className:\"label\",children:\"Title\"}),i(\"span\",{children:e.title}),i(\"span\",{className:\"label\",children:\"Identifier\"}),c(\"span\",{children:[e.identifier,e.issueUrl&&i(\"a\",{href:e.issueUrl,target:\"_blank\",rel:\"noreferrer\",className:\"external-link\",children:\"↗\"})]}),i(\"span\",{className:\"label\",children:\"Type\"}),i(\"span\",{children:e.critterType}),i(\"span\",{className:\"label\",children:\"Repo\"}),i(\"span\",{children:e.repo}),i(\"span\",{className:\"label\",children:\"Branch\"}),i(\"span\",{children:i(\"code\",{children:e.branch})}),e.prUrl&&c(R,{children:[i(\"span\",{className:\"label\",children:\"PR\"}),c(\"span\",{children:[i(\"a\",{href:e.prUrl,target:\"_blank\",rel:\"noreferrer\",children:e.prUrl}),e.prStatus&&i(Am,{s:e.prStatus})]})]}),i(\"span\",{className:\"label\",children:\"Started\"}),i(\"span\",{children:e.startedAt?It(e.startedAt):\"—\"}),i(\"span\",{className:\"label\",children:\"Duration\"}),i(\"span\",{children:Pe(e.durationMs)})]}),e.multipleRuns&&i(\"div\",{style:{fontSize:12,color:\"var(--fg-3)\",fontStyle:\"italic\",marginTop:8},children:\"Multiple runs detected for this identifier. Showing latest run.\"})]})})}function Am({s:e}){let t=e.ciStatus===\"success\"?\"✅\":e.ciStatus===\"failure\"?\"❌\":e.ciStatus===\"pending\"?\"⏳\":\"\",n=e.reviewStatus===\"approved\"?\"\\uD83D\\uDC4D\":e.reviewStatus===\"changes_requested\"?\"\\uD83D\\uDD04\":e.reviewStatus===\"pending\"?\"⏳\":\"\";if(!t&&!n)return null;return c(\"span\",{className:\"pr-status\",title:`CI: ${e.ciStatus}, Review: ${e.reviewStatus}`,children:[t,n]})}function Bm({data:e}){return i(\"div\",{className:\"card\",style:{marginBottom:16},children:c(\"div\",{className:\"body\",children:[i(\"h3\",{style:{marginBottom:12,fontSize:13,fontWeight:600},children:\"Cost Summary\"}),c(\"div\",{className:\"cost-grid\",children:[c(\"div\",{className:\"cost-item\",children:[i(\"div\",{className:\"value\",children:V(e.cost.totalCost)}),i(\"div\",{className:\"label\",children:\"Total Cost\"})]}),c(\"div\",{className:\"cost-item\",children:[i(\"div\",{className:\"value\",children:On(e.cost.inputTokens||void 0)}),i(\"div\",{className:\"label\",children:\"Input Tokens\"})]}),c(\"div\",{className:\"cost-item\",children:[i(\"div\",{className:\"value\",children:On(e.cost.outputTokens||void 0)}),i(\"div\",{className:\"label\",children:\"Output Tokens\"})]}),c(\"div\",{className:\"cost-item\",children:[i(\"div\",{className:\"value\",children:On(e.cost.cacheReadTokens||void 0)}),i(\"div\",{className:\"label\",children:\"Cache Read\"})]})]})]})})}function Hm({data:e}){return i(\"div\",{className:\"card\",style:{marginBottom:16},children:c(\"div\",{className:\"body\",children:[i(\"h3\",{style:{marginBottom:12,fontSize:13,fontWeight:600},children:\"Phase Timeline\"}),c(\"table\",{className:\"activity\",children:[i(\"thead\",{children:c(\"tr\",{children:[i(\"th\",{children:\"Phase\"}),i(\"th\",{children:\"Status\"}),i(\"th\",{className:\"num\",children:\"Cost\"}),i(\"th\",{className:\"num\",children:\"Input\"}),i(\"th\",{className:\"num\",children:\"Output\"}),i(\"th\",{className:\"num\",children:\"Cache\"}),i(\"th\",{className:\"num\",children:\"Turns\"})]})}),i(\"tbody\",{children:e.phaseResults.map((t)=>{let n=t.phase.charAt(0).toUpperCase()+t.phase.slice(1),r=t.isRunning?i(\"span\",{className:\"badge-sm running\",children:\"Running\"}):t.isDone?i(\"span\",{className:\"badge-sm success\",children:\"Done\"}):i(\"span\",{className:\"badge-sm neutral\",children:\"—\"});return c(\"tr\",{children:[i(\"td\",{children:n}),i(\"td\",{children:r}),i(\"td\",{className:\"num\",children:V(t.costUsd)}),i(\"td\",{className:\"num\",children:On(t.inputTokens)}),i(\"td\",{className:\"num\",children:On(t.outputTokens)}),i(\"td\",{className:\"num\",children:On(t.cacheReadTokens)}),i(\"td\",{className:\"num\",children:t.numTurns??\"—\"})]},t.phase)})})]})]})})}function Qm(e){if(/^\\s*→\\s/.test(e))return\"tool\";if(/^\\s*\\[/.test(e))return\"stdout\";return\"assistant\"}function Km({identifier:e,isActive:t,phases:n,activePhase:r,onPhaseChange:o,onDone:l}){let a=Ze(null),[u,s]=C(!1),[p,g]=C(!1),v=t&&r?`/api/logs/${encodeURIComponent(e)}/stream?tail=500${r?`&phase=${encodeURIComponent(r)}`:\"\"}`:null,{lines:h,done:y}=ll(v,500),[N,S]=C(null),[I,f]=C(!1),d=mt((x)=>{f(!0),S(null);let D=`/api/logs/${encodeURIComponent(e)}?tail=500`;if(x)D+=`&phase=${encodeURIComponent(x)}`;fetch(D,{headers:he()}).then((M)=>{if(!M.ok)throw Error(\"No logs\");return M.text()}).then((M)=>{S(M||\"No logs available for this phase.\"),f(!1)}).catch(()=>{S(\"No logs available for this phase.\"),f(!1)})},[e]);T(()=>{if(!t&&r!==null)d(r)},[t,r,d]),T(()=>{if(y)l()},[y,l]);let m=Ze(0);T(()=>{let x=a.current;if(!x)return;let D=t?h.length>m.current:!1;if(m.current=h.length,D&&!u)x.scrollTop=x.scrollHeight;else if(D&&u)g(!0)},[h,t,u]),T(()=>{if(!t&&N&&a.current)a.current.scrollTop=a.current.scrollHeight},[t,N]);function w(){let x=a.current;if(!x)return;let D=x.scrollHeight-x.scrollTop-x.clientHeight<50;if(s(!D),D)g(!1)}function z(){let x=a.current;if(!x)return;x.scrollTop=x.scrollHeight,s(!1),g(!1)}let P=t?h:I||!N?[]:N.split(`\n`),_=t?h.length===0?\"Loading logs...\":null:I||!N?\"Loading logs...\":null;return i(\"div\",{className:\"card\",children:c(\"div\",{className:\"body\",children:[i(\"h3\",{style:{marginBottom:12,fontSize:13,fontWeight:600},children:\"Logs\"}),n.length>1&&i(\"div\",{className:\"phase-tabs\",children:n.map((x)=>i(\"button\",{type:\"button\",className:`chip${r===x?\" active\":\"\"}`,onClick:()=>o(x),children:x.charAt(0).toUpperCase()+x.slice(1)},x))}),i(\"div\",{ref:a,className:\"log-viewer\",onScroll:w,children:_?i(\"span\",{className:\"txt\",children:_}):P.map((x,D)=>i(\"div\",{className:`ln ${Qm(x)}`,children:i(\"span\",{className:\"txt\",children:x})},`${D}:${x.slice(0,40)}`))}),p&&i(\"button\",{type:\"button\",className:\"new-logs-btn\",onClick:z,children:\"↓ New logs\"})]})})}var Rd={dashboard:\"dashboard\",inflight:\"inflight\",queue:\"queue\",history:\"history\",logs:\"logs\",types:\"types\",repos:\"repos\",hooks:\"hooks\",tokens:\"tokens\",costs:\"costs\",models:\"models\",releases:\"releases\"},Ym=new Set([...Object.values(Rd),\"release-notes\"]);function Ra(e){if(e===\"/\"||e===\"/dashboard\"||e===\"/dashboard/\")return{route:\"dashboard\",identifier:null};if(!e.startsWith(\"/dashboard/\"))return{route:\"dashboard\",identifier:null};let t=decodeURIComponent(e.slice(11).split(\"/\")[0]??\"\");if(t===\"release-notes\")return{route:\"releases\",identifier:null};if(Ym.has(t))return{route:t,identifier:null};return{route:\"logs\",identifier:t}}function bd(e){if(e===\"dashboard\")return\"/dashboard\";return`/dashboard/${Rd[e]}`}function Oe({route:e,currentRoute:t,label:n,count:r,dot:o}){return c(\"a\",{className:`nav-item${e===t?\" active\":\"\"}`,href:bd(e),children:[o&&i(L,{color:\"var(--accent)\",pulse:!0}),i(\"span\",{className:\"nav-label\",children:n}),r!=null&&i(\"span\",{className:\"count\",children:r})]})}function ba({data:e,route:t}){Ie(5000);let n=Gm(e.uptimeMs);return c(\"aside\",{className:\"sidebar\",children:[c(\"div\",{className:\"brand\",children:[i(Xm,{}),\"critters\",i(\"span\",{className:\"ver\",children:e.version})]}),c(\"nav\",{className:\"nav-group\",children:[i(\"div\",{className:\"label\",children:\"Monitor\"}),i(Oe,{route:\"dashboard\",currentRoute:t,label:\"Dashboard\",dot:!0}),i(Oe,{route:\"inflight\",currentRoute:t,label:\"In flight\",count:e.activeCritters.length}),i(Oe,{route:\"queue\",currentRoute:t,label:\"Queue\",count:e.queuedCritters.length}),i(Oe,{route:\"history\",currentRoute:t,label:\"History\"}),i(Oe,{route:\"logs\",currentRoute:t,label:\"Logs\"})]}),c(\"nav\",{className:\"nav-group\",children:[i(\"div\",{className:\"label\",children:\"Configure\"}),i(Oe,{route:\"types\",currentRoute:t,label:\"Critter types\"}),i(Oe,{route:\"repos\",currentRoute:t,label:\"Repos\"}),i(Oe,{route:\"hooks\",currentRoute:t,label:\"Hooks & webhooks\"}),i(Oe,{route:\"tokens\",currentRoute:t,label:\"Tokens\"})]}),c(\"nav\",{className:\"nav-group\",children:[i(\"div\",{className:\"label\",children:\"Insights\"}),i(Oe,{route:\"costs\",currentRoute:t,label:\"Costs\"}),i(Oe,{route:\"models\",currentRoute:t,label:\"Models\"}),i(Oe,{route:\"releases\",currentRoute:t,label:\"Release notes\"})]}),c(\"div\",{className:\"daemon-card\",children:[c(\"div\",{className:\"row\",children:[i(\"span\",{className:\"l\",children:\"status\"}),c(\"span\",{style:{color:\"var(--green)\"},children:[i(L,{color:\"var(--green)\"}),\" healthy\"]})]}),c(\"div\",{className:\"row\",children:[i(\"span\",{className:\"l\",children:\"uptime\"}),i(\"span\",{children:n})]}),c(\"div\",{className:\"row\",children:[i(\"span\",{className:\"l\",children:\"poll\"}),c(\"span\",{children:[\"every \",e.pollIntervalSeconds,\"s\"]})]}),c(\"div\",{className:\"row\",children:[i(\"span\",{className:\"l\",children:\"last\"}),i(\"span\",{children:It(e.lastPollAt)})]}),c(\"div\",{className:\"row\",children:[i(\"span\",{className:\"l\",children:\"slots\"}),c(\"span\",{children:[e.concurrency.active,\"/\",e.concurrency.max]})]})]})]})}function Xm(){return c(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",\"aria-hidden\":\"true\",children:[i(\"circle\",{cx:\"10\",cy:\"11\",r:\"5\",fill:\"var(--accent)\",opacity:\"0.95\"}),i(\"circle\",{cx:\"10\",cy:\"6\",r:\"2.2\",fill:\"var(--accent)\"}),i(\"line\",{x1:\"8.5\",y1:\"4.5\",x2:\"6\",y2:\"2.5\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"}),i(\"line\",{x1:\"11.5\",y1:\"4.5\",x2:\"14\",y2:\"2.5\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"}),i(\"line\",{x1:\"4\",y1:\"10\",x2:\"1.5\",y2:\"9\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"}),i(\"line\",{x1:\"16\",y1:\"10\",x2:\"18.5\",y2:\"9\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"}),i(\"line\",{x1:\"4.5\",y1:\"13\",x2:\"2\",y2:\"15\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"}),i(\"line\",{x1:\"15.5\",y1:\"13\",x2:\"18\",y2:\"15\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"})]})}function Gm(e){if(e<0)return\"—\";let t=Math.floor(e/1000);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60),o=n%60;if(r<24)return o?`${r}h ${o}m`:`${r}h`;let l=Math.floor(r/24),a=r%24;return a?`${l}d ${a}h`:`${l}d`}function Md({data:e}){let{daily:t}=e,n=Math.max(1,...t.map((r)=>r.completed+r.failed));return i(\"div\",{className:\"card\",children:c(\"div\",{className:\"body\",children:[c(\"div\",{className:\"chart-head\",children:[i(\"h3\",{children:\"Throughput\"}),i(\"span\",{className:\"meta\",children:\"tasks / day · 14d\"})]}),i(\"div\",{className:\"throughput-bars\",children:t.map((r)=>{let l=(r.completed+r.failed)/n*100,a=r.failed/n*100,u=Math.max(0,l-a);return c(\"div\",{className:\"bar-col\",title:`${r.date} · ${r.completed} ok / ${r.failed} fail`,children:[i(\"div\",{className:\"ok\",style:{height:`${u.toFixed(1)}px`}}),i(\"div\",{className:\"bad\",style:{height:`${a.toFixed(1)}px`}})]},r.date)})}),c(\"div\",{className:\"throughput-axis\",children:[i(\"span\",{children:t[0]?.date.slice(5)??\"\"}),i(\"span\",{children:t[t.length-1]?.date.slice(5)??\"\"})]})]})})}W();W();function Dd(){let[e,t]=C(!1);T(()=>{t(localStorage.getItem(\"critters-notif\")===\"on\")},[]),T(()=>{if(!e)return;if(!(\"Notification\"in window)||Notification.permission!==\"granted\")return;let r=!1,o=localStorage.getItem(\"critters-notif-last-seen\")??new Date().toISOString();return fetch(\"/metrics\",{headers:he()}).then((l)=>l.json()).then((l)=>{if(r)return;let a=l.filter((u)=>u.timestamp>o);for(let u of a){let s=u.identifier||u.issueId||\"Unknown\",p=`critters-${s}-${u.event}`,g=\"\";if(u.event===\"task_completed\")g=`✅ ${s}${u.prUrl?\" completed — PR created\":\" completed\"}`;else if(u.event===\"task_failed\")g=`❌ ${s} failed`;else if(u.event===\"review_completed\"&&u.outcome===\"needs_changes\")g=`\\uD83D\\uDC40 ${s} needs human review`;else continue;let v=new Notification(g,{body:u.critterType?`Type: ${u.critterType}`:\"\",tag:p});v.onclick=()=>{window.focus(),window.location.href=`/dashboard/${s}`,v.close()}}if(l.length>0){let u=l.reduce((s,p)=>p.timestamp>s?p.timestamp:s,o);localStorage.setItem(\"critters-notif-last-seen\",u)}}).catch(()=>{}),()=>{r=!0}},[e]);function n(){if(!(\"Notification\"in window))return;if(Notification.permission===\"default\")Notification.requestPermission().then((r)=>{if(r===\"granted\")t(!0),localStorage.setItem(\"critters-notif\",\"on\"),localStorage.setItem(\"critters-notif-last-seen\",new Date().toISOString())});else if(Notification.permission===\"granted\"){let r=!e;if(t(r),localStorage.setItem(\"critters-notif\",r?\"on\":\"off\"),r)localStorage.setItem(\"critters-notif-last-seen\",new Date().toISOString())}}return c(\"button\",{type:\"button\",className:\"btn icon\",onClick:n,title:e?\"Notifications enabled (click to disable)\":\"Enable browser notifications\",children:[\"\\uD83D\\uDD14\",e&&i(\"span\",{className:\"notif-dot\"})]})}var Zm={dashboard:\"Console\",inflight:\"In flight\",queue:\"Queue\",history:\"History\",logs:\"Logs\",types:\"Critter types\",repos:\"Repos\",hooks:\"Hooks & webhooks\",tokens:\"Tokens\",costs:\"Costs\",models:\"Models\",releases:\"Release notes\"};function $d({route:e,typeFilter:t,countdown:n,onOpenCreate:r,onRefreshNow:o,sidebarCollapsed:l,onToggleSidebar:a}){let[u,s]=C(!1),[p,g]=C(\"Poll now\");async function v(){s(!0),g(\"Polling…\");try{await In(),g(\"Triggered\"),o()}catch{g(\"Failed\")}setTimeout(()=>{g(\"Poll now\"),s(!1)},1500)}return c(\"div\",{className:\"topbar\",id:\"top\",children:[i(\"button\",{type:\"button\",className:\"sidebar-toggle\",onClick:a,title:l?\"Show sidebar\":\"Hide sidebar\",\"aria-label\":l?\"Show sidebar\":\"Hide sidebar\",children:l?\"☰\":\"«\"}),i(\"h1\",{children:Zm[e]}),c(\"span\",{className:\"breadcrumb\",children:[\"· critters daemon\",t?` · type: ${t}`:\"\"]}),i(\"span\",{className:\"spacer\"}),c(\"span\",{className:\"meta\",children:[\"Refreshing in \",n,\"s\"]}),i(\"button\",{type:\"button\",className:\"btn\",onClick:v,disabled:u,children:p}),i(\"button\",{type:\"button\",className:\"btn primary\",onClick:r,children:\"+ New critter\"}),i(Dd,{})]})}function Ld({data:e}){let t=Object.entries(e.typeStats).sort((n,r)=>r[1].total-n[1].total);if(t.length===0)return null;return i(\"div\",{className:\"card\",children:c(\"div\",{className:\"body\",children:[i(\"div\",{className:\"chart-head\",children:i(\"h3\",{children:\"By type\"})}),i(\"div\",{className:\"type-rows\",children:t.map(([n,r])=>{let o=r.total>0?Math.round(r.succeeded/r.total*100):0,l=Z(n);return c(\"div\",{className:\"type-row\",children:[i(L,{color:l,size:8}),i(\"span\",{className:\"name\",children:n}),i(\"span\",{className:\"track\",children:i(ft,{value:o/100,color:l,height:4})}),c(\"span\",{className:\"rate\",children:[o,\"%\"]}),i(\"span\",{className:\"total\",children:r.total})]},n)})})]})})}W();function Id(e,t,n=[],r=!1){let[o,l]=C(null),[a,u]=C(null),[s,p]=C(!0),[g,v]=C(0),h=Ze(null);return T(()=>{if(r)return;let y=!1;h.current?.abort();let N=new AbortController;return h.current=N,e(N.signal).then((S)=>{if(y)return;l(S),u(null),p(!1)}).catch((S)=>{if(y||S instanceof DOMException&&S.name===\"AbortError\")return;u(S instanceof Error?S:Error(String(S))),p(!1)}),()=>{y=!0,N.abort()}},[g,r,e,...n]),T(()=>{if(r||t<=0)return;let y=setInterval(()=>{if(!document.hidden)v((N)=>N+1)},t);return()=>clearInterval(y)},[t,r]),{data:o,error:a,loading:s,refresh:()=>v((y)=>y+1)}}W();function Od(){let[e,t]=C(()=>Ra(window.location.pathname));return T(()=>{let n=()=>t(Ra(window.location.pathname));return window.addEventListener(\"popstate\",n),()=>window.removeEventListener(\"popstate\",n)},[]),e}W();function re({title:e,right:t,pad:n=!0,children:r,className:o}){return c(\"div\",{className:`card${o?` ${o}`:\"\"}`,children:[e&&c(\"div\",{className:\"card-head\",children:[i(\"h3\",{children:e}),i(\"span\",{className:\"spacer\"}),t]}),i(\"div\",{className:n?\"body\":void 0,children:r})]})}function j({k:e,v:t}){return c(\"div\",{className:\"kv\",children:[i(\"div\",{className:\"kv-label\",children:e}),i(\"div\",{className:\"kv-value\",children:t})]})}function q({title:e,subtitle:t,right:n}){return c(\"div\",{className:\"page-header\",children:[c(\"div\",{className:\"ph-text\",children:[i(\"h1\",{children:e}),t&&i(\"div\",{className:\"ph-subtitle\",children:t})]}),n&&i(\"div\",{className:\"ph-right\",children:n})]})}function Fd({data:e}){let t=e.totals.totalCost,n=_e(()=>Object.entries(e.typeStats).sort((l,a)=>a[1].totalCost-l[1].totalCost),[e.typeStats]),r=_e(()=>{let l=new Map;for(let a of e.activity){if(!a.costUsd)continue;let u=l.get(a.repo)??{total:0,runs:0};u.total+=a.costUsd,u.runs+=1,l.set(a.repo,u)}return[...l.entries()].sort((a,u)=>u[1].total-a[1].total)},[e.activity]),o=_e(()=>[...e.activity].filter((l)=>l.costUsd!=null).sort((l,a)=>(a.costUsd??0)-(l.costUsd??0)).slice(0,10),[e.activity]);return c(R,{children:[i(q,{title:\"Costs\",subtitle:`${V(t)} spent across ${e.totals.totalTasks} runs (14d window)`}),i(re,{title:\"Summary\",children:c(\"div\",{className:\"kv-grid-4\",children:[i(j,{k:\"spent (14d)\",v:V(t)}),i(j,{k:\"projected (30d)\",v:V(t*30/14)}),i(j,{k:\"avg / task\",v:V(e.totals.avgCost)}),i(j,{k:\"avg duration\",v:Pe(e.totals.avgDuration)})]})}),c(\"div\",{className:\"two-col\",children:[c(re,{title:\"By critter type\",children:[n.length===0&&i(\"div\",{className:\"empty-state\",children:\"no data\"}),n.map(([l,a])=>c(\"div\",{className:\"cost-breakdown-row\",children:[c(\"div\",{className:\"cbr-head\",children:[c(\"span\",{children:[i(L,{color:Z(l),size:7}),\" \",l]}),c(\"span\",{className:\"dim\",children:[V(a.totalCost),\" · \",a.total,\" runs\"]})]}),i(ft,{value:t>0?a.totalCost/t:0,color:Z(l),height:4})]},l))]}),c(re,{title:\"By repo\",children:[r.length===0&&i(\"div\",{className:\"empty-state\",children:\"no data\"}),r.map(([l,a])=>c(\"div\",{className:\"cost-breakdown-row\",children:[c(\"div\",{className:\"cbr-head\",children:[i(\"span\",{children:Ye(l)}),c(\"span\",{className:\"dim\",children:[V(a.total),\" · \",a.runs,\" runs\"]})]}),i(ft,{value:t>0?a.total/t:0,color:\"var(--accent)\",height:4})]},l))]})]}),i(re,{title:\"Top 10 most expensive runs\",pad:!1,children:i(\"table\",{className:\"activity\",children:c(\"tbody\",{children:[o.map((l,a)=>c(\"tr\",{className:a===0?\"\":\"\",children:[i(\"td\",{children:i(\"a\",{href:`/dashboard/${encodeURIComponent(l.identifier)}`,className:\"id\",children:l.identifier})}),i(\"td\",{children:l.title??\"—\"}),i(\"td\",{children:i(F,{color:Z(l.critterType),children:l.critterType})}),i(\"td\",{className:\"repo\",children:Ye(l.repo)}),i(\"td\",{className:\"dur num\",children:Pe(l.duration)}),i(\"td\",{className:\"cost num\",children:V(l.costUsd)}),i(\"td\",{className:\"when num\",children:It(l.timestamp)})]},`${l.identifier}:${l.timestamp}`)),o.length===0&&i(\"tr\",{children:i(\"td\",{colSpan:7,className:\"empty-state\",children:\"no cost data\"})})]})})})]})}W();function Ud(){let[e,t]=C(null),[n,r]=C(null),[o,l]=C(null);if(T(()=>{gd().then((u)=>{t(u.types),l(u.types[0]?.name??null)}).catch((u)=>r(u.message))},[]),n)return c(\"div\",{className:\"app-error\",children:[\"Failed to load types: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});let a=e.find((u)=>u.name===o)??e[0];return c(R,{children:[i(q,{title:\"Critter types\",subtitle:`${e.length} configured · ${e.filter((u)=>u.enabled).length} enabled`}),e.length===0?i(\"div\",{className:\"empty-state\",children:\"No critter types configured\"}):c(\"div\",{className:\"types-split\",children:[i(\"aside\",{className:\"types-list\",children:e.map((u)=>c(\"button\",{type:\"button\",className:`types-list-row${u.name===o?\" selected\":\"\"}`,style:{borderLeftColor:u.name===o?Z(u.name):\"transparent\"},onClick:()=>l(u.name),children:[c(\"div\",{className:\"tlr-head\",children:[i(L,{color:Z(u.name)}),i(\"span\",{className:\"tlr-name\",children:u.name}),u.builtin&&i(F,{children:\"built-in\"}),i(\"span\",{className:\"spacer\"}),i(\"span\",{className:`tlr-state ${u.enabled?\"on\":\"off\"}`,children:u.enabled?\"on\":\"off\"})]}),c(\"div\",{className:\"tlr-sub\",children:[u.phases.length,\" phase\",u.phases.length>1?\"s\":\"\",\" · \",u.stats.total,\" runs\"]})]},u.name))}),i(\"section\",{className:\"types-detail\",children:a&&i(qm,{t:a})})]})]})}function qm({t:e}){return c(R,{children:[i(re,{title:c(\"span\",{children:[e.name,\" \",c(\"span\",{className:\"type-variant\",children:[\"· \",e.builtin?\"built-in\":\"custom\"]})]}),children:c(\"div\",{className:\"kv-grid-4\",children:[i(j,{k:\"trigger label\",v:e.trigger.label}),i(j,{k:\"trigger status\",v:e.trigger.status}),i(j,{k:\"provider\",v:e.provider.join(\", \")||\"—\"}),i(j,{k:\"concurrency\",v:e.concurrency}),i(j,{k:\"timeout\",v:`${e.timeoutMinutes}m`}),i(j,{k:\"claim status\",v:e.claimStatus??\"—\"}),i(j,{k:\"on success →\",v:e.outcomes.success?.status??\"—\"}),i(j,{k:\"on failure →\",v:e.outcomes.failure?.status??\"—\"})]})}),i(re,{title:\"Phase pipeline\",children:i(\"div\",{className:\"phase-pipeline\",children:e.phases.map((t,n)=>c(\"div\",{className:\"phase-step-wrap\",children:[c(\"div\",{className:\"phase-step\",children:[c(\"div\",{className:\"phase-step-n\",children:[\"phase \",n+1]}),i(\"div\",{className:\"phase-step-name\",children:t.name}),c(\"div\",{className:\"kv-grid-2\",children:[i(j,{k:\"cli\",v:t.cli}),i(j,{k:\"model\",v:t.model}),i(j,{k:\"maxTurns\",v:t.maxTurns}),i(j,{k:\"tools\",v:t.tools}),i(\"div\",{className:\"span-2\",children:i(j,{k:\"prompt\",v:i(\"code\",{children:t.prompt})})}),t.permissionMode&&i(j,{k:\"perm mode\",v:t.permissionMode}),t.sandbox&&i(j,{k:\"sandbox\",v:t.sandbox})]})]}),n0?`${Math.round(e.stats.succeeded/e.stats.total*100)}%`:\"—\"}),i(\"div\",{className:\"stat-label\",children:\"Success\"})]}),c(re,{children:[i(\"div\",{className:\"stat-big\",children:V(e.stats.avgCost)}),i(\"div\",{className:\"stat-label\",children:\"Avg cost\"})]}),c(re,{children:[i(\"div\",{className:\"stat-big\",children:Pe(e.stats.avgDuration)}),i(\"div\",{className:\"stat-label\",children:\"Avg duration\"})]})]})]})}function Vd({data:e}){let t=e.activity.length;return c(R,{children:[i(q,{title:\"History\",subtitle:`${t} run${t===1?\"\":\"s\"} in memory`}),i(tl,{data:e})]})}W();function Wd(){let[e,t]=C(null),[n,r]=C(null);if(T(()=>{wd().then(t).catch((o)=>r(o.message))},[]),n)return c(\"div\",{className:\"app-error\",children:[\"Failed to load hooks: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});return c(R,{children:[i(q,{title:\"Hooks & webhooks\",subtitle:\"Lifecycle hooks + inbound webhooks\"}),c(\"div\",{className:\"two-col\",children:[i(re,{title:\"Lifecycle hooks\",right:c(\"span\",{className:\"card-head-count\",children:[e.hooks.filter((o)=>o.enabled).length,\"/\",e.hooks.length,\" enabled\"]}),pad:!1,children:e.hooks.map((o,l)=>c(\"div\",{className:`hook-row${l===e.hooks.length-1?\" last\":\"\"}`,children:[c(\"div\",{className:\"hook-row-head\",children:[i(L,{color:o.enabled?\"var(--green)\":\"var(--fg-3)\"}),i(\"span\",{className:\"hook-event\",children:o.event}),i(\"span\",{className:\"spacer\"})]}),i(\"div\",{className:`hook-cmd${o.cmd?\"\":\" empty\"}`,children:o.cmd||\"(not configured)\"})]},o.event))}),c(re,{title:\"Inbound webhooks\",pad:!1,children:[e.webhooks.map((o,l)=>c(\"div\",{className:`hook-row${l===e.webhooks.length-1?\" last\":\"\"}`,children:[c(\"div\",{className:\"hook-row-head\",children:[i(L,{color:o.secretSet?\"var(--green)\":\"var(--fg-3)\",pulse:o.secretSet}),i(\"span\",{className:\"hook-event capitalize\",children:o.provider}),i(F,{color:o.secretSet?\"var(--green)\":\"var(--amber)\",children:o.secretSet?\"secret set\":\"no secret\"}),i(\"span\",{className:\"spacer\"})]}),i(\"div\",{className:\"hook-cmd\",children:o.endpoint})]},o.provider)),e.tunnel?.domain&&c(\"div\",{className:\"tunnel-band\",children:[\"Tunnel: \",i(\"span\",{className:\"val\",children:e.tunnel.domain})]})]})]})]})}function Ad({data:e}){return Ie(1000),c(R,{children:[i(q,{title:\"In flight\",subtitle:`${e.activeCritters.length} active · ${e.concurrency.active}/${e.concurrency.max} slots used`,right:e.activeCritters.length>0&&c(F,{children:[i(L,{color:\"var(--accent)\",pulse:!0}),\" live\"]})}),e.activeCritters.length===0?c(\"div\",{className:\"empty-state\",children:[i(\"span\",{className:\"icon\",children:\"\\uD83E\\uDD97\"}),\"No active critters — all quiet\"]}):i(\"div\",{className:\"flight-grid\",children:e.activeCritters.map((t)=>i(Jm,{c:t},t.identifier))})]})}function Jm({c:e}){let t=Date.now()-e.startedAt,n=(e.timeoutMinutes??30)*60*1000,r=Math.min(1,t/n),o=r>0.8,l=e.critterType??\"create\",a=Z(l),u=`/dashboard/${encodeURIComponent(e.identifier)}`;return c(\"div\",{className:\"flight-card\",children:[c(\"div\",{className:\"fc-head\",children:[i(L,{color:a,pulse:!0}),i(\"a\",{href:u,className:\"fc-id\",children:e.identifier}),i(F,{color:a,borderColor:`color-mix(in oklch, ${a} 35%, transparent)`,children:Ln(e.phase)}),i(\"span\",{className:\"spacer\"}),i(F,{children:l})]}),i(\"div\",{className:\"fc-title\",children:e.title}),c(\"div\",{className:\"fc-meta\",children:[i(\"span\",{children:Ye(e.repo)}),i(\"span\",{children:\"·\"}),i(\"span\",{children:e.branch})]}),c(\"div\",{className:\"fc-metrics\",children:[i(Ma,{label:\"elapsed\",value:Dn(t),danger:o}),i(Ma,{label:\"cost\",value:V(e.costUsd),sub:e.costBudget!=null?`/ $${e.costBudget.toFixed(0)}`:void 0}),i(Ma,{label:\"timeout\",value:`${e.timeoutMinutes??30}m`})]}),i(\"div\",{className:\"fc-progress\",children:i(ft,{value:r,color:o?\"var(--danger)\":a,height:3})}),c(\"div\",{className:\"fc-actions\",children:[e.prUrl&&i(\"a\",{href:e.prUrl,target:\"_blank\",rel:\"noreferrer\",className:\"fc-link\",children:\"open PR ↗\"}),i(\"a\",{href:u,className:\"fc-link\",children:\"view logs ↗\"}),i(\"span\",{className:\"spacer\"})]})]})}function Ma({label:e,value:t,sub:n,danger:r}){return c(\"div\",{children:[i(\"div\",{className:\"fc-metric-label\",children:e}),c(\"div\",{className:`fc-metric-value${r?\" danger\":\"\"}`,children:[t,\" \",n&&i(\"span\",{className:\"fc-metric-sub\",children:n})]})]})}W();function Bd({data:e,initialIdentifier:t}){Ie(2000);let n=_e(()=>{let s=e.activeCritters.map((v)=>({identifier:v.identifier,title:v.title,critterType:v.critterType??\"create\",repo:v.repo,status:\"running\",timestamp:new Date(v.startedAt).toISOString(),durationMs:Date.now()-v.startedAt})),p=new Set(s.map((v)=>v.identifier)),g=e.activity.filter((v)=>!p.has(v.identifier)).map((v)=>({identifier:v.identifier,title:v.title??v.identifier,critterType:v.critterType,repo:v.repo,status:v.event===\"task_completed\"||v.event===\"review_completed\"?\"ok\":\"fail\",timestamp:v.timestamp,durationMs:v.duration}));return[...s,...g]},[e.activeCritters,e.activity]),[r,o]=C(t??n[0]?.identifier??null),[l,a]=C(\"\"),u=n.filter((s)=>!l||s.identifier.toLowerCase().includes(l.toLowerCase())||s.title.toLowerCase().includes(l.toLowerCase()));return c(R,{children:[i(q,{title:\"Logs\",subtitle:`${e.activeCritters.length} running · ${n.length-e.activeCritters.length} recent`}),c(\"div\",{className:\"logs-split\",children:[c(\"aside\",{className:\"logs-runlist\",children:[i(\"div\",{className:\"logs-runlist-search\",children:i(\"input\",{type:\"text\",placeholder:\"filter runs…\",value:l,onChange:(s)=>a(s.target.value)})}),c(\"div\",{className:\"logs-runlist-scroll\",children:[u.length===0&&i(\"div\",{className:\"empty-state\",children:\"no runs\"}),u.map((s)=>{let p=s.identifier===r,g=s.status===\"running\"?\"var(--accent)\":s.status===\"ok\"?\"var(--green)\":\"var(--danger)\";return c(\"button\",{type:\"button\",className:`logs-run-row${p?\" selected\":\"\"}`,style:{borderLeftColor:p?Z(s.critterType):\"transparent\"},onClick:()=>o(s.identifier),children:[c(\"div\",{className:\"lrr-head\",children:[i(L,{color:g,pulse:s.status===\"running\"}),i(\"span\",{className:\"lrr-id\",children:s.identifier}),i(\"span\",{className:\"spacer\"}),i(\"span\",{className:\"lrr-ts\",children:s.status===\"running\"?Dn(s.durationMs??0):$n(s.timestamp)})]}),i(\"div\",{className:\"lrr-title\",children:s.title}),c(\"div\",{className:\"lrr-meta\",children:[i(F,{color:Z(s.critterType),children:s.critterType}),i(\"span\",{className:\"lrr-repo\",children:Ye(s.repo)})]})]},`${s.identifier}:${s.timestamp}`)})]})]}),i(\"section\",{className:\"logs-detail\",children:r?i(il,{identifier:r,embedded:!0}):i(\"div\",{className:\"empty-state\",children:\"Select a run\"})})]})]})}W();function jm(e){if(e.provider!==\"anthropic\")return\"var(--violet)\";if(e.name.includes(\"opus\"))return\"var(--accent)\";if(e.name.includes(\"sonnet\"))return\"var(--sky)\";return\"var(--green)\"}function Hd(){let[e,t]=C(null),[n,r]=C(null);if(T(()=>{yd().then((o)=>t(o.models)).catch((o)=>r(o.message))},[]),n)return c(\"div\",{className:\"app-error\",children:[\"Failed: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});return c(R,{children:[i(q,{title:\"Models\",subtitle:\"Which model runs which phase, pulled from your critter-type config\"}),i(re,{title:\"Models in use\",pad:!0,children:e.length===0?i(\"div\",{className:\"empty-state\",children:\"No models found in config\"}):i(\"div\",{className:\"model-grid\",children:e.map((o)=>c(\"div\",{className:\"model-card\",children:[c(\"div\",{className:\"model-head\",children:[i(L,{color:jm(o)}),i(\"span\",{className:\"model-name\",children:o.name}),i(F,{children:o.provider})]}),i(\"div\",{className:\"model-usedby-label\",children:\"Used by\"}),i(\"div\",{className:\"model-usedby\",children:o.usedBy.map((l)=>i(F,{children:l},l))})]},o.name))})})]})}W();function Qd({data:e,onRefresh:t}){Ie(1000);let[n,r]=C(!1),o=Math.max(0,e.pollIntervalSeconds-Math.floor((Date.now()-(e.lastPollAt?new Date(e.lastPollAt).getTime():Date.now()))/1000));async function l(){r(!0);try{await In(),t()}finally{setTimeout(()=>r(!1),800)}}return c(R,{children:[i(q,{title:\"Queue\",subtitle:`${e.queuedCritters.length} waiting · polls every ${e.pollIntervalSeconds}s`,right:i(\"button\",{type:\"button\",className:\"btn-primary\",onClick:l,disabled:n,children:n?\"Polling…\":\"Poll now\"})}),c(\"div\",{className:\"queue-card\",children:[c(\"div\",{className:\"queue-head\",children:[i(\"span\",{children:\"#\"}),i(\"span\",{children:\"Issue\"}),i(\"span\",{children:\"Title\"}),i(\"span\",{children:\"Type\"}),i(\"span\",{children:\"Repo\"}),i(\"span\",{children:\"Waiting\"})]}),e.queuedCritters.length===0?i(\"div\",{className:\"empty-state\",children:\"queue is empty\"}):e.queuedCritters.map((a,u)=>c(\"div\",{className:\"queue-row\",children:[i(\"span\",{className:\"qrw-n\",children:u+1}),i(\"a\",{href:`/dashboard/${encodeURIComponent(a.identifier)}`,className:\"qrw-id\",children:a.identifier}),i(\"span\",{className:\"qrw-title\",children:a.title}),i(\"span\",{children:i(F,{color:Z(a.critterType??\"create\"),children:a.critterType??\"create\"})}),i(\"span\",{className:\"qrw-repo\",children:Ye(a.repo??\"\")}),i(\"span\",{className:\"qrw-wait\",children:$n(a.enqueuedAt)})]},a.identifier))]}),c(\"div\",{className:\"queue-footer\",children:[\"Next poll in \",c(\"span\",{className:\"val\",children:[o,\"s\"]}),\" · trigger early with \",i(\"span\",{className:\"val\",children:\"POST /poll\"}),\" or the button above\"]})]})}W();function al(e){let t=e.replace(/&/g,\"&\").replace(//g,\">\");return t=t.replace(/\\*\\*(.+?)\\*\\*/g,\"$1\").replace(/\\[([^\\]]+)\\]\\(([^)]+)\\)/g,(n,r,o)=>{return`${r}`}).replace(/`([^`]+)`/g,\"$1\"),t}function ev(e){return e.split(`\n`).filter((t)=>!/^\\s*\\*?\\s*\\**Full Changelog/i.test(t)).join(`\n`).trim()}function tv(e){let t=ev(e).split(`\n`),n=[],r=!1;for(let o of t){let l=o.trim();if(r&&!l.startsWith(\"* \")&&l!==\"\")n.push(\"\"),r=!1;if(l===\"\")continue;if(l.startsWith(\"### \")){n.push(`

${al(l.slice(4))}

`);continue}if(l.startsWith(\"## \")){n.push(`

${al(l.slice(3))}

`);continue}if(l.startsWith(\"* \")){if(!r)n.push(\"
    \"),r=!0;n.push(`
  • ${al(l.slice(2))}
  • `);continue}n.push(`

    ${al(l)}

    `)}if(r)n.push(\"
\");return n.join(`\n`)}function Kd(){let[e,t]=C(null),[n,r]=C(null);if(T(()=>{Nd().then(t).catch((o)=>r(o.message))},[]),n)return c(\"div\",{className:\"app-error\",children:[\"Failed: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});return c(\"div\",{className:\"releases-page\",children:[i(q,{title:\"Release notes\",subtitle:e.releases.length>0?`${e.releases.length} version${e.releases.length===1?\"\":\"s\"} · currently on v${e.current}`:`Currently on v${e.current}`}),e.releases.length===0?i(\"div\",{className:\"empty-state\",children:\"No release notes available (dev build).\"}):i(\"div\",{className:\"releases-list\",children:e.releases.map((o)=>c(\"article\",{className:\"release-card\",children:[c(\"header\",{className:\"release-head\",children:[c(\"h2\",{className:\"release-version\",children:[\"v\",o.version]}),o.current&&c(F,{color:\"var(--accent)\",borderColor:\"color-mix(in oklch, var(--accent) 40%, transparent)\",children:[i(L,{color:\"var(--accent)\",pulse:!0}),\" current\"]}),i(\"span\",{className:\"spacer\"}),i(\"span\",{className:\"release-date\",children:o.date})]}),i(\"div\",{className:\"release-body\",dangerouslySetInnerHTML:{__html:tv(o.body)}})]},o.version))})]})}W();function Yd(){let[e,t]=C(null),[n,r]=C(null);if(T(()=>{hd().then((o)=>t(o.repos)).catch((o)=>r(o.message))},[]),n)return c(\"div\",{className:\"app-error\",children:[\"Failed to load repos: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});return c(R,{children:[i(q,{title:\"Repos\",subtitle:`${e.length} configured`}),e.length===0?i(\"div\",{className:\"empty-state\",children:\"No repos configured\"}):i(\"div\",{className:\"repo-grid\",children:e.map((o)=>i(nv,{r:o},o.url))})]})}function nv({r:e}){let t=e.successRate==null?\"\":e.successRate>=80?\"ok\":e.successRate>=60?\"warn\":\"bad\";return c(\"div\",{className:\"repo-card\",children:[c(\"div\",{className:\"repo-head\",children:[i(\"span\",{className:\"repo-name\",children:e.short}),i(\"span\",{className:\"spacer\"}),e.projectId&&i(F,{children:e.projectId})]}),i(\"div\",{className:\"repo-url\",children:e.url}),c(\"div\",{className:\"repo-stats\",children:[c(\"div\",{children:[i(\"div\",{className:\"repo-stat-label\",children:\"runs 14d\"}),i(\"div\",{className:\"repo-stat-value\",children:e.runs14d})]}),c(\"div\",{children:[i(\"div\",{className:\"repo-stat-label\",children:\"success\"}),i(\"div\",{className:`repo-stat-value ${t}`,children:e.successRate==null?\"—\":`${e.successRate}%`})]}),c(\"div\",{children:[i(\"div\",{className:\"repo-stat-label\",children:\"cost 14d\"}),i(\"div\",{className:\"repo-stat-value\",children:V(e.cost14d)})]})]}),i(\"div\",{className:\"repo-tools-label\",children:\"extra tools\"}),i(\"div\",{className:\"repo-tools\",children:e.extraTools.length>0?e.extraTools.map((n)=>i(F,{children:n},n)):i(\"span\",{className:\"repo-tools-empty\",children:\"(defaults only)\"})})]})}W();function Xd(){let[e,t]=C(null),[n,r]=C(null);T(()=>{kd().then(t).catch((u)=>r(u.message))},[]);let o=_e(()=>{let u=new Map;for(let s of e?.envVars??[]){let p=u.get(s.category)??[];if(p.length===0)u.set(s.category,p);p.push(s)}return u},[e]);if(n)return c(\"div\",{className:\"app-error\",children:[\"Failed: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});let l=e.envVars.length,a=e.envVars.filter((u)=>u.set).length;return c(R,{children:[i(q,{title:\"Tokens & secrets\",subtitle:\"Environment variable presence · values are never exposed\"}),i(re,{title:\".env status\",right:c(\"span\",{className:\"card-head-count\",children:[a,\"/\",l,\" set\"]}),pad:!1,children:[...o.entries()].map(([u,s])=>c(\"div\",{className:\"env-group\",children:[i(\"div\",{className:\"env-group-label\",children:u}),s.map((p)=>c(\"div\",{className:\"env-row\",children:[i(L,{color:p.set?\"var(--green)\":\"var(--fg-3)\"}),i(\"span\",{className:\"env-key\",children:p.key}),i(\"span\",{className:\"spacer\"}),i(\"span\",{className:`env-status ${p.set?\"set\":\"unset\"}`,children:p.set?\"••••••\":\"—\"})]},p.key))]},u))})]})}var ul=10;function Gd(){let e=window.__CRITTERS__?.typeFilter??null,t=Od(),[n,r]=C(!1),[o,l]=C(!1),[a,u]=C(ul),[s,p]=C(()=>localStorage.getItem(\"critters-sidebar-collapsed\")===\"1\"),g=mt(()=>{p((d)=>{return localStorage.setItem(\"critters-sidebar-collapsed\",d?\"0\":\"1\"),!d})},[]),v=n,h=mt((d)=>pd(e,d),[e]),{data:y,error:N,loading:S,refresh:I}=Id(h,ul*1000,[],v);if(T(()=>{let d=!0;return vd().then((m)=>{if(!d)return;let w=localStorage.getItem(\"critters-token\");if(m&&w)nl(w);else if(m)l(!0)}),()=>{d=!1}},[]),T(()=>{u(ul)},[y]),T(()=>{let d=setInterval(()=>{if(v)return;u((m)=>m<=1?ul:m-1)},1000);return()=>clearInterval(d)},[v]),t.route===\"logs\"&&t.identifier)return c(\"div\",{className:`app${s?\" sidebar-collapsed\":\"\"}`,children:[y&&i(ba,{data:y,route:t.route}),i(\"main\",{className:\"main\",style:y?void 0:{gridColumn:\"1 / -1\"},children:i(il,{identifier:t.identifier})})]});if(S&&!y)return i(\"div\",{className:\"app-loading\",children:\"Loading dashboard…\"});if(N&&!y)return c(\"div\",{className:\"app-error\",children:[\"Failed to load dashboard: \",N.message]});if(!y)return null;let f=()=>{switch(t.route){case\"dashboard\":return c(R,{children:[y.allTypes.length>=2&&c(\"div\",{className:\"type-filters\",children:[i(\"a\",{href:\"/dashboard\",className:`chip${!e?\" active\":\"\"}`,children:\"all\"}),y.allTypes.map((d)=>i(\"a\",{href:`/dashboard?type=${encodeURIComponent(d)}`,className:`chip${e===d?\" active\":\"\"}`,children:d},d))]}),i(zd,{data:y}),i(_d,{data:y}),c(\"div\",{className:\"insights-row\",children:[i(Md,{data:y}),i(Ld,{data:y})]}),i(\"div\",{className:\"lower-grid\",children:i(tl,{data:y})})]});case\"inflight\":return i(Ad,{data:y});case\"queue\":return i(Qd,{data:y,onRefresh:I});case\"history\":return i(Vd,{data:y});case\"logs\":return i(Bd,{data:y});case\"types\":return i(Ud,{});case\"repos\":return i(Yd,{});case\"hooks\":return i(Wd,{});case\"tokens\":return i(Xd,{});case\"costs\":return i(Fd,{data:y});case\"models\":return i(Hd,{});case\"releases\":return i(Kd,{})}};return c(\"div\",{className:`app${s?\" sidebar-collapsed\":\"\"}`,children:[i(ba,{data:y,route:t.route}),c(\"main\",{className:\"main\",children:[i($d,{route:t.route,typeFilter:e,countdown:a,onOpenCreate:()=>r(!0),onRefreshNow:I,sidebarCollapsed:s,onToggleSidebar:g}),c(\"div\",{className:\"content\",children:[o&&i(Sd,{onSaved:()=>l(!1)}),f()]})]}),i(Cd,{open:n,onClose:()=>r(!1),onAuthRequired:()=>{r(!1),l(!0)}})]})}var Zd=document.getElementById(\"root\");if(Zd)qd.createRoot(Zd).render(i(Gd,{}));\n"; +export const DASHBOARD_JS = "var Jd=Object.create;var{getPrototypeOf:jd,defineProperty:cl,getOwnPropertyNames:ep}=Object;var tp=Object.prototype.hasOwnProperty;function np(e){return this[e]}var rp,op,dl=(e,t,n)=>{var r=e!=null&&typeof e===\"object\";if(r){var o=t?rp??=new WeakMap:op??=new WeakMap,l=o.get(e);if(l)return l}n=e!=null?Jd(jd(e)):{};let a=t||!e||!e.__esModule?cl(n,\"default\",{value:e,enumerable:!0}):n;for(let u of ep(e))if(!tp.call(a,u))cl(a,u,{get:np.bind(e,u),enumerable:!0});if(r)o.set(e,a);return a};var pl=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var lp=(e)=>e;function ip(e,t){this[e]=lp.bind(null,t)}var ap=(e,t)=>{for(var n in t)cl(e,n,{get:t[n],enumerable:!0,configurable:!0,set:ip.bind(t,n)})};var Da=(e,t)=>()=>(e&&(t=e(e=0)),t);function Fn(e,t,n){this.props=e,this.context=t,this.refs=La,this.updater=n||$a}function Ia(){}function Oa(e,t,n){this.props=e,this.context=t,this.refs=La,this.updater=n||$a}var $a,up,La,fl,sp,tn,cp,dp,Un,mt=function(e,t){return tn.current.useCallback(e,t)},T=function(e,t){return tn.current.useEffect(e,t)},_e=function(e,t){return tn.current.useMemo(e,t)},Ze=function(e){return tn.current.useRef(e)},C=function(e){return tn.current.useState(e)};var W=Da(()=>{$a={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},up=Object.assign,La={};Fn.prototype.isReactComponent={};Fn.prototype.setState=function(e,t){if(typeof e!==\"object\"&&typeof e!==\"function\"&&e!=null)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")};Fn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")};Ia.prototype=Fn.prototype;fl=Oa.prototype=new Ia;fl.constructor=Oa;up(fl,Fn.prototype);fl.isPureReactComponent=!0;sp={current:null},tn={current:null},cp={transition:null},dp={ReactCurrentDispatcher:tn,ReactCurrentBatchConfig:cp,ReactCurrentOwner:sp};Un=dp});var Qa=pl((fp)=>{function vl(e,t){var n=e.length;e.push(t);e:for(;0>>1,o=e[r];if(0>>1;rIr(u,n))sIr(p,u)?(e[r]=p,e[s]=n,r=s):(e[r]=u,e[a]=n,r=a);else if(sIr(p,n))e[r]=p,e[s]=n,r=s;else break e}}return t}function Ir(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}if(typeof performance===\"object\"&&typeof performance.now===\"function\")gl=performance,fp.unstable_now=function(){return gl.now()};else Or=Date,hl=Or.now(),fp.unstable_now=function(){return Or.now()-hl};var gl,Or,hl,qe=[],vt=[],pp=1,Te=null,se=3,Wr=!1,Ot=!1,Wn=!1,Va=typeof setTimeout===\"function\"?setTimeout:null,Wa=typeof clearTimeout===\"function\"?clearTimeout:null,Ua=typeof setImmediate<\"u\"?setImmediate:null;typeof navigator<\"u\"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function yl(e){for(var t=Ue(vt);t!==null;){if(t.callback===null)Vr(vt);else if(t.startTime<=e)Vr(vt),t.sortIndex=t.expirationTime,vl(qe,t);else break;t=Ue(vt)}}function kl(e){if(Wn=!1,yl(e),!Ot)if(Ue(qe)!==null)Ot=!0,Sl(Nl);else{var t=Ue(vt);t!==null&&xl(kl,t.startTime-e)}}function Nl(e,t){Ot=!1,Wn&&(Wn=!1,Wa(An),An=-1),Wr=!0;var n=se;try{yl(t);for(Te=Ue(qe);Te!==null&&(!(Te.expirationTime>t)||e&&!Ha());){var r=Te.callback;if(typeof r===\"function\"){Te.callback=null,se=Te.priorityLevel;var o=r(Te.expirationTime<=t);t=fp.unstable_now(),typeof o===\"function\"?Te.callback=o:Te===Ue(qe)&&Vr(qe),yl(t)}else Vr(qe);Te=Ue(qe)}if(Te!==null)var l=!0;else{var a=Ue(vt);a!==null&&xl(kl,a.startTime-t),l=!1}return l}finally{Te=null,se=n,Wr=!1}}var Ar=!1,Fr=null,An=-1,Aa=5,Ba=-1;function Ha(){return fp.unstable_now()-Bae||125r?(e.sortIndex=n,vl(vt,e),Ue(qe)===null&&e===Ue(vt)&&(Wn?(Wa(An),An=-1):Wn=!0,xl(kl,n-r))):(e.sortIndex=o,vl(qe,e),Ot||Wr||(Ot=!0,Sl(Nl))),e};fp.unstable_shouldYield=Ha;fp.unstable_wrapCallback=function(e){var t=se;return function(){var n=se;se=t;try{return e.apply(this,arguments)}finally{se=n}}}});var Ta={};ap(Ta,{version:()=>od,unstable_renderSubtreeIntoContainer:()=>rd,unstable_batchedUpdates:()=>nd,unmountComponentAtNode:()=>td,render:()=>ed,hydrateRoot:()=>jc,hydrate:()=>Jc,flushSync:()=>qc,findDOMNode:()=>Zc,createRoot:()=>Gc,createPortal:()=>Xc,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>Yc});function k(e){for(var t=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,n=1;n\"u\"||$p(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ge(e,t,n,r,o,l,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=a}function Vi(e){return e[1].toUpperCase()}function Wi(e,t,n,r){var o=ue.hasOwnProperty(t)?ue[t]:null;if(o!==null?o.type!==0:r||!(2u||o[a]!==l[u]){var s=`\n`+o[a].replace(\" at new \",\" at \");return e.displayName&&s.includes(\"\")&&(s=s.replace(\"\",e.displayName)),s}while(1<=a&&0<=u);break}}}finally{zl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:\"\")?Zn(e):\"\"}function Ip(e){switch(e.tag){case 5:return Zn(e.type);case 16:return Zn(\"Lazy\");case 13:return Zn(\"Suspense\");case 19:return Zn(\"SuspenseList\");case 0:case 2:case 15:return e=El(e.type,!1),e;case 11:return e=El(e.type.render,!1),e;case 1:return e=El(e.type,!0),e;default:return\"\"}}function Gl(e){if(e==null)return null;if(typeof e===\"function\")return e.displayName||e.name||null;if(typeof e===\"string\")return e;switch(e){case an:return\"Fragment\";case ln:return\"Portal\";case Kl:return\"Profiler\";case Ai:return\"StrictMode\";case Yl:return\"Suspense\";case Xl:return\"SuspenseList\"}if(typeof e===\"object\")switch(e.$$typeof){case Ju:return(e.displayName||\"Context\")+\".Consumer\";case qu:return(e._context.displayName||\"Context\")+\".Provider\";case Bi:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case Hi:return t=e.displayName||null,t!==null?t:Gl(e.type)||\"Memo\";case ht:t=e._payload,e=e._init;try{return Gl(e(t))}catch(n){}}return null}function Op(e){var t=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(t.displayName||\"Context\")+\".Consumer\";case 10:return(t._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=t.render,e=e.displayName||e.name||\"\",t.displayName||(e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return t;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Gl(t);case 8:return t===Ai?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t===\"function\")return t.displayName||t.name||null;if(typeof t===\"string\")return t}return null}function bt(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function es(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(t===\"checkbox\"||t===\"radio\")}function Fp(e){var t=es(e)?\"checked\":\"value\",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=\"\"+e[t];if(!e.hasOwnProperty(t)&&typeof n<\"u\"&&typeof n.get===\"function\"&&typeof n.set===\"function\"){var{get:o,set:l}=n;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=\"\"+a,l.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=\"\"+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Hr(e){e._valueTracker||(e._valueTracker=Fp(e))}function ts(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=\"\";return e&&(r=es(e)?e.checked?\"true\":\"false\":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function go(e){if(e=e||(typeof document<\"u\"?document:void 0),typeof e>\"u\")return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Zl(e,t){var n=t.checked;return X({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n!=null?n:e._wrapperState.initialChecked})}function Ga(e,t){var n=t.defaultValue==null?\"\":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=bt(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type===\"checkbox\"||t.type===\"radio\"?t.checked!=null:t.value!=null}}function ns(e,t){t=t.checked,t!=null&&Wi(e,\"checked\",t,!1)}function ql(e,t){ns(e,t);var n=bt(t.value),r=t.type;if(n!=null)if(r===\"number\"){if(n===0&&e.value===\"\"||e.value!=n)e.value=\"\"+n}else e.value!==\"\"+n&&(e.value=\"\"+n);else if(r===\"submit\"||r===\"reset\"){e.removeAttribute(\"value\");return}t.hasOwnProperty(\"value\")?Jl(e,t.type,n):t.hasOwnProperty(\"defaultValue\")&&Jl(e,t.type,bt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Za(e,t,n){if(t.hasOwnProperty(\"value\")||t.hasOwnProperty(\"defaultValue\")){var r=t.type;if(!(r!==\"submit\"&&r!==\"reset\"||t.value!==void 0&&t.value!==null))return;t=\"\"+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==\"\"&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,n!==\"\"&&(e.name=n)}function Jl(e,t,n){if(t!==\"number\"||go(e.ownerDocument)!==e)n==null?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+n&&(e.defaultValue=\"\"+n)}function yn(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o>>=0,e===0?32:31-(qp(e)/Jp|0)|0}function Jn(e){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:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ko(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,l=e.pingedLanes,a=n&268435455;if(a!==0){var u=a&~o;u!==0?r=Jn(u):(l&=a,l!==0&&(r=Jn(l)))}else a=n&~o,a!==0?r=Jn(a):l!==0&&(r=Jn(l));if(r===0)return 0;if(t!==0&&t!==r&&(t&o)===0&&(o=r&-r,l=t&-t,o>=l||o===16&&(l&4194240)!==0))return t;if((r&4)!==0&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Rr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-He(t),e[t]=n}function nf(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=pu(n)}}function $s(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?$s(e,t.parentNode):(\"contains\"in e)?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ls(){for(var e=window,t=go();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href===\"string\"}catch(r){n=!1}if(n)e=t.contentWindow;else break;t=go(e.document)}return t}function ea(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\")}function Bf(e){var t=Ls(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&$s(n.ownerDocument.documentElement,n)){if(r!==null&&ea(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),\"selectionStart\"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,l=Math.min(r.start,o);r=r.end===void 0?l:Math.min(r.end,o),!e.extend&&l>r&&(o=r,r=l,l=o),o=fu(n,l);var a=fu(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}t=[];for(e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});typeof n.focus===\"function\"&&n.focus();for(n=0;npn||(e.current=wi[pn],wi[pn]=null,pn--)}function U(e,t){pn++,wi[pn]=e.current,e.current=t}function zn(e,t){var n=e.type.contextTypes;if(!n)return Mt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},l;for(l in n)o[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ne(e){return e=e.childContextTypes,e!==null&&e!==void 0}function zo(){B(ke),B(fe)}function Nu(e,t,n){if(fe.current!==Mt)throw Error(k(168));U(fe,t),U(ke,n)}function Hs(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!==\"function\")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(k(108,Op(e)||\"Unknown\",o));return X({},n,r)}function Eo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Mt,Kt=fe.current,U(fe,e),U(ke,ke.current),!0}function Su(e,t,n){var r=e.stateNode;if(!r)throw Error(k(169));n?(e=Hs(e,t,Kt),r.__reactInternalMemoizedMergedChildContext=e,B(ke),B(fe),U(fe,e)):B(ke),U(ke,n)}function Qs(e){ot===null?ot=[e]:ot.push(e)}function jf(e){Qo=!0,Qs(e)}function Lt(){if(!Il&&ot!==null){Il=!0;var e=0,t=O;try{var n=ot;for(O=1;e>=a,o-=a,lt=1<<32-He(t)+o|n<x?(D=_,_=null):D=_.sibling;var M=h(f,_,m[x],w);if(M===null){_===null&&(_=D);break}e&&_&&M.alternate===null&&t(f,_),d=l(M,d,x),P===null?z=M:P.sibling=M,P=M,_=D}if(x===m.length)return n(f,_),H&&Ut(f,x),z;if(_===null){for(;xx?(D=_,_=null):D=_.sibling;var Xe=h(f,_,M.value,w);if(Xe===null){_===null&&(_=D);break}e&&_&&Xe.alternate===null&&t(f,_),d=l(Xe,d,x),P===null?z=Xe:P.sibling=Xe,P=Xe,_=D}if(M.done)return n(f,_),H&&Ut(f,x),z;if(_===null){for(;!M.done;x++,M=m.next())M=v(f,M.value,w),M!==null&&(d=l(M,d,x),P===null?z=M:P.sibling=M,P=M);return H&&Ut(f,x),z}for(_=r(f,_);!M.done;x++,M=m.next())M=y(_,f,x,M.value,w),M!==null&&(e&&M.alternate!==null&&_.delete(M.key===null?x:M.key),d=l(M,d,x),P===null?z=M:P.sibling=M,P=M);return e&&_.forEach(function(sl){return t(f,sl)}),H&&Ut(f,x),z}function I(f,d,m,w){if(typeof m===\"object\"&&m!==null&&m.type===an&&m.key===null&&(m=m.props.children),typeof m===\"object\"&&m!==null){switch(m.$$typeof){case Br:e:{for(var z=m.key,P=d;P!==null;){if(P.key===z){if(z=m.type,z===an){if(P.tag===7){n(f,P.sibling),d=o(P,m.props.children),d.return=f,f=d;break e}}else if(P.elementType===z||typeof z===\"object\"&&z!==null&&z.$$typeof===ht&&zu(z)===P.type){n(f,P.sibling),d=o(P,m.props),d.ref=Yn(f,P,m),d.return=f,f=d;break e}n(f,P);break}else t(f,P);P=P.sibling}m.type===an?(d=Qt(m.props.children,f.mode,w,m.key),d.return=f,f=d):(w=vo(m.type,m.key,m.props,null,f.mode,w),w.ref=Yn(f,d,m),w.return=f,f=w)}return a(f);case ln:e:{for(P=m.key;d!==null;){if(d.key===P)if(d.tag===4&&d.stateNode.containerInfo===m.containerInfo&&d.stateNode.implementation===m.implementation){n(f,d.sibling),d=o(d,m.children||[]),d.return=f,f=d;break e}else{n(f,d);break}else t(f,d);d=d.sibling}d=Hl(m,f.mode,w),d.return=f,f=d}return a(f);case ht:return P=m._init,I(f,d,P(m._payload),w)}if(qn(m))return N(f,d,m,w);if(Bn(m))return S(f,d,m,w);eo(f,m)}return typeof m===\"string\"&&m!==\"\"||typeof m===\"number\"?(m=\"\"+m,d!==null&&d.tag===6?(n(f,d.sibling),d=o(d,m),d.return=f,f=d):(n(f,d),d=Bl(m,f.mode,w),d.return=f,f=d),a(f)):n(f,d)}return I}function la(){oa=vn=Ro=null}function ia(e){var t=To.current;B(To),e._currentValue=t}function Si(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Sn(e,t){Ro=e,oa=vn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(we=!0),e.firstContext=null)}function $e(e){var t=e._currentValue;if(oa!==e)if(e={context:e,memoizedValue:t,next:null},vn===null){if(Ro===null)throw Error(k(308));vn=e,Ro.dependencies={lanes:0,firstContext:e}}else vn=vn.next=e;return t}function aa(e){At===null?At=[e]:At.push(e)}function qs(e,t,n,r){var o=t.interleaved;return o===null?(n.next=n,aa(t)):(n.next=o.next,o.next=n),t.interleaved=n,ct(e,r)}function ct(e,t){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),n=e;for(e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}function ua(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Js(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function at(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Pt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,($&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,ct(e,n)}return o=r.interleaved,o===null?(t.next=t,aa(r)):(t.next=o.next,o.next=t),r.interleaved=t,ct(e,n)}function uo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Yi(e,n)}}function Eu(e,t){var{updateQueue:n,alternate:r}=e;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,l=null;if(n=n.firstBaseUpdate,n!==null){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};l===null?o=l=a:l=l.next=a,n=n.next}while(n!==null);l===null?o=l=t:l=l.next=t}else o=l=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:l,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function bo(e,t,n,r){var o=e.updateQueue;yt=!1;var{firstBaseUpdate:l,lastBaseUpdate:a}=o,u=o.shared.pending;if(u!==null){o.shared.pending=null;var s=u,p=s.next;s.next=null,a===null?l=p:a.next=p,a=s;var g=e.alternate;g!==null&&(g=g.updateQueue,u=g.lastBaseUpdate,u!==a&&(u===null?g.firstBaseUpdate=p:u.next=p,g.lastBaseUpdate=s))}if(l!==null){var v=o.baseState;a=0,g=p=s=null,u=l;do{var{lane:h,eventTime:y}=u;if((r&h)===h){g!==null&&(g=g.next={eventTime:y,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var N=e,S=u;switch(h=t,y=n,S.tag){case 1:if(N=S.payload,typeof N===\"function\"){v=N.call(y,v,h);break e}v=N;break e;case 3:N.flags=N.flags&-65537|128;case 0:if(N=S.payload,h=typeof N===\"function\"?N.call(y,v,h):N,h===null||h===void 0)break e;v=X({},v,h);break e;case 2:yt=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,h=o.effects,h===null?o.effects=[u]:h.push(u))}else y={eventTime:y,lane:h,tag:u.tag,payload:u.payload,callback:u.callback,next:null},g===null?(p=g=y,s=v):g=g.next=y,a|=h;if(u=u.next,u===null)if(u=o.shared.pending,u===null)break;else h=u,u=h.next,h.next=null,o.lastBaseUpdate=h,o.shared.pending=null}while(1);if(g===null&&(s=v),o.baseState=s,o.firstBaseUpdate=p,o.lastBaseUpdate=g,t=o.shared.interleaved,t!==null){o=t;do a|=o.lane,o=o.next;while(o!==t)}else l===null&&(o.shared.lanes=0);Gt|=a,e.lanes=a,e.memoizedState=v}}function Pu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Fl.transition;Fl.transition={};try{e(!1),t()}finally{O=n,Fl.transition=r}}function vc(){return Le().memoizedState}function rm(e,t,n){var r=Tt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},gc(e))hc(t,n);else if(n=qs(e,t,n,r),n!==null){var o=ve();Qe(n,e,r,o),yc(n,t,r)}}function om(e,t,n){var r=Tt(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(gc(e))hc(t,o);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var a=t.lastRenderedState,u=l(a,n);if(o.hasEagerState=!0,o.eagerState=u,Ke(u,a)){var s=t.interleaved;s===null?(o.next=o,aa(t)):(o.next=s.next,s.next=o),t.interleaved=o;return}}catch(p){}finally{}n=qs(e,t,o,r),n!==null&&(o=ve(),Qe(n,e,r,o),yc(n,t,r))}}function gc(e){var t=e.alternate;return e===Y||t!==null&&t===Y}function hc(e,t){sr=Do=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function yc(e,t,n){if((n&4194240)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Yi(e,n)}}function We(e,t){if(e&&e.defaultProps){t=X({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function xi(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n===null||n===void 0?t:X({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}function Ru(e,t,n,r,o,l,a){return e=e.stateNode,typeof e.shouldComponentUpdate===\"function\"?e.shouldComponentUpdate(r,l,a):t.prototype&&t.prototype.isPureReactComponent?!kr(n,r)||!kr(o,l):!0}function wc(e,t,n){var r=!1,o=Mt,l=t.contextType;return typeof l===\"object\"&&l!==null?l=$e(l):(o=Ne(t)?Kt:fe.current,r=t.contextTypes,l=(r=r!==null&&r!==void 0)?zn(e,o):Mt),t=new t(n,l),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Yo,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=l),t}function bu(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps===\"function\"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps===\"function\"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Yo.enqueueReplaceState(t,t.state,null)}function Ci(e,t,n,r){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},ua(e);var l=t.contextType;typeof l===\"object\"&&l!==null?o.context=$e(l):(l=Ne(t)?Kt:fe.current,o.context=zn(e,l)),o.state=e.memoizedState,l=t.getDerivedStateFromProps,typeof l===\"function\"&&(xi(e,t,l,n),o.state=e.memoizedState),typeof t.getDerivedStateFromProps===\"function\"||typeof o.getSnapshotBeforeUpdate===\"function\"||typeof o.UNSAFE_componentWillMount!==\"function\"&&typeof o.componentWillMount!==\"function\"||(t=o.state,typeof o.componentWillMount===\"function\"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount===\"function\"&&o.UNSAFE_componentWillMount(),t!==o.state&&Yo.enqueueReplaceState(o,o.state,null),bo(e,n,o,r),o.state=e.memoizedState),typeof o.componentDidMount===\"function\"&&(e.flags|=4194308)}function Tn(e,t){try{var n=\"\",r=t;do n+=Ip(r),r=r.return;while(r);var o=n}catch(l){o=`\nError generating stack: `+l.message+`\n`+l.stack}return{value:e,source:t,stack:o,digest:null}}function Wl(e,t,n){return{value:e,source:null,stack:n!=null?n:null,digest:t!=null?t:null}}function zi(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}function kc(e,t,n){n=at(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Io||(Io=!0,Li=r),zi(e,t)},n}function Nc(e,t,n){n=at(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r===\"function\"){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){zi(e,t)}}var l=e.stateNode;return l!==null&&typeof l.componentDidCatch===\"function\"&&(n.callback=function(){zi(e,t),typeof r!==\"function\"&&(_t===null?_t=new Set([this]):_t.add(this));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:\"\"})}),n}function Mu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new um;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=Sm.bind(null,e,t,n),t.then(e,e))}function Du(e){do{var t;if(t=e.tag===13)t=e.memoizedState,t=t!==null?t.dehydrated!==null?!0:!1:!0;if(t)return e;e=e.return}while(e!==null);return null}function $u(e,t,n,r,o){if((e.mode&1)===0)return e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=at(-1,1),t.tag=2,Pt(n,t,1))),n.lanes|=1),e;return e.flags|=65536,e.lanes=o,e}function me(e,t,n,r){t.child=e===null?Zs(t,null,n,r):Pn(t,e.child,n,r)}function Lu(e,t,n,r,o){n=n.render;var l=t.ref;if(Sn(t,o),r=fa(e,t,n,r,l,o),n=ma(),e!==null&&!we)return t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,dt(e,t,o);return H&&n&&ta(t),t.flags|=1,me(e,t,r,o),t.child}function Iu(e,t,n,r,o){if(e===null){var l=n.type;if(typeof l===\"function\"&&!Ca(l)&&l.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0)return t.tag=15,t.type=l,Sc(e,t,l,r,o);return e=vo(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e}if(l=e.child,(e.lanes&o)===0){var a=l.memoizedProps;if(n=n.compare,n=n!==null?n:kr,n(a,r)&&e.ref===t.ref)return dt(e,t,o)}return t.flags|=1,e=Rt(l,r),e.ref=t.ref,e.return=t,t.child=e}function Sc(e,t,n,r,o){if(e!==null){var l=e.memoizedProps;if(kr(l,r)&&e.ref===t.ref)if(we=!1,t.pendingProps=r=l,(e.lanes&o)!==0)(e.flags&131072)!==0&&(we=!0);else return t.lanes=e.lanes,dt(e,t,o)}return Ei(e,t,n,r,o)}function xc(e,t,n){var r=t.pendingProps,o=r.children,l=e!==null?e.memoizedState:null;if(r.mode===\"hidden\")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},U(hn,xe),xe|=n;else{if((n&1073741824)===0)return e=l!==null?l.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,U(hn,xe),xe|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=l!==null?l.baseLanes:n,U(hn,xe),xe|=r}else l!==null?(r=l.baseLanes|n,t.memoizedState=null):r=n,U(hn,xe),xe|=r;return me(e,t,o,n),t.child}function Cc(e,t){var n=t.ref;if(e===null&&n!==null||e!==null&&e.ref!==n)t.flags|=512,t.flags|=2097152}function Ei(e,t,n,r,o){var l=Ne(n)?Kt:fe.current;if(l=zn(t,l),Sn(t,o),n=fa(e,t,n,r,l,o),r=ma(),e!==null&&!we)return t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,dt(e,t,o);return H&&r&&ta(t),t.flags|=1,me(e,t,n,o),t.child}function Ou(e,t,n,r,o){if(Ne(n)){var l=!0;Eo(t)}else l=!1;if(Sn(t,o),t.stateNode===null)po(e,t),wc(t,n,r),Ci(t,n,r,o),r=!0;else if(e===null){var{stateNode:a,memoizedProps:u}=t;a.props=u;var s=a.context,p=n.contextType;typeof p===\"object\"&&p!==null?p=$e(p):(p=Ne(n)?Kt:fe.current,p=zn(t,p));var g=n.getDerivedStateFromProps,v=typeof g===\"function\"||typeof a.getSnapshotBeforeUpdate===\"function\";v||typeof a.UNSAFE_componentWillReceiveProps!==\"function\"&&typeof a.componentWillReceiveProps!==\"function\"||(u!==r||s!==p)&&bu(t,a,r,p),yt=!1;var h=t.memoizedState;a.state=h,bo(t,r,a,o),s=t.memoizedState,u!==r||h!==s||ke.current||yt?(typeof g===\"function\"&&(xi(t,n,g,r),s=t.memoizedState),(u=yt||Ru(t,n,u,r,h,s,p))?(v||typeof a.UNSAFE_componentWillMount!==\"function\"&&typeof a.componentWillMount!==\"function\"||(typeof a.componentWillMount===\"function\"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount===\"function\"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount===\"function\"&&(t.flags|=4194308)):(typeof a.componentDidMount===\"function\"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),a.props=r,a.state=s,a.context=p,r=u):(typeof a.componentDidMount===\"function\"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Js(e,t),u=t.memoizedProps,p=t.type===t.elementType?u:We(t.type,u),a.props=p,v=t.pendingProps,h=a.context,s=n.contextType,typeof s===\"object\"&&s!==null?s=$e(s):(s=Ne(n)?Kt:fe.current,s=zn(t,s));var y=n.getDerivedStateFromProps;(g=typeof y===\"function\"||typeof a.getSnapshotBeforeUpdate===\"function\")||typeof a.UNSAFE_componentWillReceiveProps!==\"function\"&&typeof a.componentWillReceiveProps!==\"function\"||(u!==v||h!==s)&&bu(t,a,r,s),yt=!1,h=t.memoizedState,a.state=h,bo(t,r,a,o);var N=t.memoizedState;u!==v||h!==N||ke.current||yt?(typeof y===\"function\"&&(xi(t,n,y,r),N=t.memoizedState),(p=yt||Ru(t,n,p,r,h,N,s)||!1)?(g||typeof a.UNSAFE_componentWillUpdate!==\"function\"&&typeof a.componentWillUpdate!==\"function\"||(typeof a.componentWillUpdate===\"function\"&&a.componentWillUpdate(r,N,s),typeof a.UNSAFE_componentWillUpdate===\"function\"&&a.UNSAFE_componentWillUpdate(r,N,s)),typeof a.componentDidUpdate===\"function\"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate===\"function\"&&(t.flags|=1024)):(typeof a.componentDidUpdate!==\"function\"||u===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!==\"function\"||u===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=N),a.props=r,a.state=N,a.context=s,r=p):(typeof a.componentDidUpdate!==\"function\"||u===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!==\"function\"||u===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return Pi(e,t,n,r,l,o)}function Pi(e,t,n,r,o,l){Cc(e,t);var a=(t.flags&128)!==0;if(!r&&!a)return o&&Su(t,n,!1),dt(e,t,l);r=t.stateNode,sm.current=t;var u=a&&typeof n.getDerivedStateFromError!==\"function\"?null:r.render();return t.flags|=1,e!==null&&a?(t.child=Pn(t,e.child,null,l),t.child=Pn(t,null,u,l)):me(e,t,u,l),t.memoizedState=r.state,o&&Su(t,n,!0),t.child}function zc(e){var t=e.stateNode;t.pendingContext?Nu(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Nu(e,t.context,!1),sa(e,t.containerInfo)}function Fu(e,t,n,r,o){return En(),ra(o),t.flags|=256,me(e,t,n,r),t.child}function Ti(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ec(e,t,n){var r=t.pendingProps,o=K.current,l=!1,a=(t.flags&128)!==0,u;if((u=a)||(u=e!==null&&e.memoizedState===null?!1:(o&2)!==0),u)l=!0,t.flags&=-129;else if(e===null||e.memoizedState!==null)o|=1;if(U(K,o&1),e===null){if(Ni(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null))return(t.mode&1)===0?t.lanes=1:e.data===\"$!\"?t.lanes=8:t.lanes=1073741824,null;return a=r.children,e=r.fallback,l?(r=t.mode,l=t.child,a={mode:\"hidden\",children:a},(r&1)===0&&l!==null?(l.childLanes=0,l.pendingProps=a):l=Zo(a,r,0,null),e=Qt(e,r,n,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=Ti(n),t.memoizedState=_i,e):ha(t,a)}if(o=e.memoizedState,o!==null&&(u=o.dehydrated,u!==null))return cm(e,t,a,r,u,o,n);if(l){l=r.fallback,a=t.mode,o=e.child,u=o.sibling;var s={mode:\"hidden\",children:r.children};return(a&1)===0&&t.child!==o?(r=t.child,r.childLanes=0,r.pendingProps=s,t.deletions=null):(r=Rt(o,s),r.subtreeFlags=o.subtreeFlags&14680064),u!==null?l=Rt(u,l):(l=Qt(l,a,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,r=l,l=t.child,a=e.child.memoizedState,a=a===null?Ti(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},l.memoizedState=a,l.childLanes=e.childLanes&~n,t.memoizedState=_i,r}return l=e.child,e=l.sibling,r=Rt(l,{mode:\"visible\",children:r.children}),(t.mode&1)===0&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function ha(e,t){return t=Zo({mode:\"visible\",children:t},e.mode,0,null),t.return=e,e.child=t}function to(e,t,n,r){return r!==null&&ra(r),Pn(t,e.child,null,n),e=ha(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function cm(e,t,n,r,o,l,a){if(n){if(t.flags&256)return t.flags&=-257,r=Wl(Error(k(422))),to(e,t,a,r);if(t.memoizedState!==null)return t.child=e.child,t.flags|=128,null;return l=r.fallback,o=t.mode,r=Zo({mode:\"visible\",children:r.children},o,0,null),l=Qt(l,o,a,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,(t.mode&1)!==0&&Pn(t,e.child,null,a),t.child.memoizedState=Ti(a),t.memoizedState=_i,l}if((t.mode&1)===0)return to(e,t,a,null);if(o.data===\"$!\"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var u=r.dgst;return r=u,l=Error(k(419)),r=Wl(l,r,void 0),to(e,t,a,r)}if(u=(a&e.childLanes)!==0,we||u){if(r=le,r!==null){switch(a&-a){case 4:o=2;break;case 16:o=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(r.suspendedLanes|a))!==0?0:o,o!==0&&o!==l.retryLane&&(l.retryLane=o,ct(e,o),Qe(r,e,o,-1))}return xa(),r=Wl(Error(k(421))),to(e,t,a,r)}if(o.data===\"$?\")return t.flags|=128,t.child=e.child,t=xm.bind(null,e),o._reactRetry=t,null;return e=l.treeContext,Ce=Et(o.nextSibling),ze=t,H=!0,Be=null,e!==null&&(Re[be++]=lt,Re[be++]=it,Re[be++]=Yt,lt=e.id,it=e.overflow,Yt=t),t=ha(t,r.children),t.flags|=4096,t}function Uu(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Si(e.return,t,n)}function Al(e,t,n,r,o){var l=e.memoizedState;l===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=r,l.tail=n,l.tailMode=o)}function Pc(e,t,n){var r=t.pendingProps,o=r.revealOrder,l=r.tail;if(me(e,t,r.children,n),r=K.current,(r&2)!==0)r=r&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Uu(e,n,t);else if(e.tag===19)Uu(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(U(K,r),(t.mode&1)===0)t.memoizedState=null;else switch(o){case\"forwards\":n=t.child;for(o=null;n!==null;)e=n.alternate,e!==null&&Mo(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Al(t,!1,o,n,l);break;case\"backwards\":n=null,o=t.child;for(t.child=null;o!==null;){if(e=o.alternate,e!==null&&Mo(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Al(t,!0,n,null,l);break;case\"together\":Al(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function po(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function dt(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Gt|=t.lanes,(n&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(k(153));if(t.child!==null){e=t.child,n=Rt(e,e.pendingProps),t.child=n;for(n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Rt(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function dm(e,t,n){switch(t.tag){case 3:zc(t),En();break;case 5:js(t);break;case 1:Ne(t.type)&&Eo(t);break;case 4:sa(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;U(To,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null){if(r.dehydrated!==null)return U(K,K.current&1),t.flags|=128,null;if((n&t.child.childLanes)!==0)return Ec(e,t,n);return U(K,K.current&1),e=dt(e,t,n),e!==null?e.sibling:null}U(K,K.current&1);break;case 19:if(r=(n&t.childLanes)!==0,(e.flags&128)!==0){if(r)return Pc(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),U(K,K.current),r)break;else return null;case 22:case 23:return t.lanes=0,xc(e,t,n)}return dt(e,t,n)}function Xn(e,t){if(!H)switch(e.tailMode){case\"hidden\":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case\"collapsed\":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function de(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function pm(e,t,n){var r=t.pendingProps;switch(na(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return de(t),null;case 1:return Ne(t.type)&&zo(),de(t),null;case 3:if(r=t.stateNode,_n(),B(ke),B(fe),da(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),e===null||e.child===null)jr(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Be!==null&&(Fi(Be),Be=null));return Ri(e,t),de(t),null;case 5:ca(t);var o=Bt(zr.current);if(n=t.type,e!==null&&t.stateNode!=null)Tc(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(k(166));return de(t),null}if(e=Bt(nt.current),jr(t)){r=t.stateNode,n=t.type;var l=t.memoizedProps;switch(r[et]=t,r[xr]=l,e=(t.mode&1)!==0,n){case\"dialog\":A(\"cancel\",r),A(\"close\",r);break;case\"iframe\":case\"object\":case\"embed\":A(\"load\",r);break;case\"video\":case\"audio\":for(o=0;o<\\/script>\",e=e.removeChild(e.firstChild)):typeof r.is===\"string\"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n===\"select\"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[et]=t,e[xr]=r,_c(e,t,!1,!1),t.stateNode=e;e:{switch(a=ni(n,r),n){case\"dialog\":A(\"cancel\",e),A(\"close\",e),o=r;break;case\"iframe\":case\"object\":case\"embed\":A(\"load\",e),o=r;break;case\"video\":case\"audio\":for(o=0;oRn&&(t.flags|=128,r=!0,Xn(l,!1),t.lanes=4194304)}else{if(!r)if(e=Mo(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Xn(l,!0),l.tail===null&&l.tailMode===\"hidden\"&&!a.alternate&&!H)return de(t),null}else 2*J()-l.renderingStartTime>Rn&&n!==1073741824&&(t.flags|=128,r=!0,Xn(l,!1),t.lanes=4194304);l.isBackwards?(a.sibling=t.child,t.child=a):(n=l.last,n!==null?n.sibling=a:t.child=a,l.last=a)}if(l.tail!==null)return t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=J(),t.sibling=null,n=K.current,U(K,r?n&1|2:n&1),t;return de(t),null;case 22:case 23:return Sa(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&(t.mode&1)!==0?(xe&1073741824)!==0&&(de(t),t.subtreeFlags&6&&(t.flags|=8192)):de(t),null;case 24:return null;case 25:return null}throw Error(k(156,t.tag))}function fm(e,t){switch(na(t),t.tag){case 1:return Ne(t.type)&&zo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return _n(),B(ke),B(fe),da(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return ca(t),null;case 13:if(B(K),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(k(340));En()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return B(K),null;case 4:return _n(),null;case 10:return ia(t.type._context),null;case 22:case 23:return Sa(),null;case 24:return null;default:return null}}function gn(e,t){var n=e.ref;if(n!==null)if(typeof n===\"function\")try{n(null)}catch(r){G(e,t,r)}else n.current=null}function bi(e,t,n){try{n()}catch(r){G(e,t,r)}}function vm(e,t){if(mi=No,e=Ls(),ea(e)){if(\"selectionStart\"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var{anchorOffset:o,focusNode:l}=r;r=r.focusOffset;try{n.nodeType,l.nodeType}catch(w){n=null;break e}var a=0,u=-1,s=-1,p=0,g=0,v=e,h=null;t:for(;;){for(var y;;){if(v!==n||o!==0&&v.nodeType!==3||(u=a+o),v!==l||r!==0&&v.nodeType!==3||(s=a+r),v.nodeType===3&&(a+=v.nodeValue.length),(y=v.firstChild)===null)break;h=v,v=y}for(;;){if(v===e)break t;if(h===n&&++p===o&&(u=a),h===l&&++g===r&&(s=a),(y=v.nextSibling)!==null)break;v=h,h=v.parentNode}v=y}n=u===-1||s===-1?null:{start:u,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;vi={focusedElem:e,selectionRange:n},No=!1;for(E=t;E!==null;)if(t=E,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,E=e;else for(;E!==null;){t=E;try{var N=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(N!==null){var{memoizedProps:S,memoizedState:I}=N,f=t.stateNode,d=f.getSnapshotBeforeUpdate(t.elementType===t.type?S:We(t.type,S),I);f.__reactInternalSnapshotBeforeUpdate=d}break;case 3:var m=t.stateNode.containerInfo;m.nodeType===1?m.textContent=\"\":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(k(163))}}catch(w){G(t,t.return,w)}if(e=t.sibling,e!==null){e.return=t.return,E=e;break}E=t.return}return N=Vu,Vu=!1,N}function cr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var l=o.destroy;o.destroy=void 0,l!==void 0&&bi(t,n,l)}o=o.next}while(o!==r)}}function Xo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Mi(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t===\"function\"?t(e):t.current=e}}function bc(e){var t=e.alternate;t!==null&&(e.alternate=null,bc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[et],delete t[xr],delete t[yi],delete t[qf],delete t[Jf])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Mc(e){return e.tag===5||e.tag===3||e.tag===4}function Wu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Mc(e.return))return null;e=e.return}e.sibling.return=e.return;for(e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2)continue e;if(e.child===null||e.tag===4)continue e;else e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Di(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!==null&&n!==void 0||t.onclick!==null||(t.onclick=Co));else if(r!==4&&(e=e.child,e!==null))for(Di(e,t,n),e=e.sibling;e!==null;)Di(e,t,n),e=e.sibling}function $i(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for($i(e,t,n),e=e.sibling;e!==null;)$i(e,t,n),e=e.sibling}function gt(e,t,n){for(n=n.child;n!==null;)Dc(e,t,n),n=n.sibling}function Dc(e,t,n){if(tt&&typeof tt.onCommitFiberUnmount===\"function\")try{tt.onCommitFiberUnmount(Vo,n)}catch(u){}switch(n.tag){case 5:pe||gn(n,t);case 6:var r=ie,o=Ae;ie=null,gt(e,t,n),ie=r,Ae=o,ie!==null&&(Ae?(e=ie,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ie.removeChild(n.stateNode));break;case 18:ie!==null&&(Ae?(e=ie,n=n.stateNode,e.nodeType===8?Ll(e.parentNode,n):e.nodeType===1&&Ll(e,n),yr(e)):Ll(ie,n.stateNode));break;case 4:r=ie,o=Ae,ie=n.stateNode.containerInfo,Ae=!0,gt(e,t,n),ie=r,Ae=o;break;case 0:case 11:case 14:case 15:if(!pe&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var l=o,a=l.destroy;l=l.tag,a!==void 0&&((l&2)!==0?bi(n,t,a):(l&4)!==0&&bi(n,t,a)),o=o.next}while(o!==r)}gt(e,t,n);break;case 1:if(!pe&&(gn(n,t),r=n.stateNode,typeof r.componentWillUnmount===\"function\"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(u){G(n,t,u)}gt(e,t,n);break;case 21:gt(e,t,n);break;case 22:n.mode&1?(pe=(r=pe)||n.memoizedState!==null,gt(e,t,n),pe=r):gt(e,t,n);break;default:gt(e,t,n)}}function Au(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new mm),t.forEach(function(r){var o=Cm.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function Ve(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=a),r&=~l}if(r=o,r=J()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3000>r?3000:4320>r?4320:1960*hm(r/1960))-r,10e?16:e,St===null)var r=!1;else{if(e=St,St=null,Oo=0,($&6)!==0)throw Error(k(331));var o=$;$|=4;for(E=e.current;E!==null;){var l=E,a=l.child;if((E.flags&16)!==0){var u=l.deletions;if(u!==null){for(var s=0;sJ()-ka?Ht(e,0):wa|=n),Se(e,t)}function Wc(e,t){t===0&&((e.mode&1)===0?t=1:(t=Yr,Yr<<=1,(Yr&130023424)===0&&(Yr=4194304)));var n=ve();e=ct(e,t),e!==null&&(Rr(e,t,n),Se(e,n))}function xm(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Wc(e,n)}function Cm(e,t){var n=0;switch(e.tag){case 13:var{stateNode:r,memoizedState:o}=e;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(k(314))}r!==null&&r.delete(t),Wc(e,n)}function Bc(e,t){return gs(e,t)}function zm(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Me(e,t,n,r){return new zm(e,t,n,r)}function Ca(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Em(e){if(typeof e===\"function\")return Ca(e)?1:0;if(e!==void 0&&e!==null){if(e=e.$$typeof,e===Bi)return 11;if(e===Hi)return 14}return 2}function Rt(e,t){var n=e.alternate;return n===null?(n=Me(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function vo(e,t,n,r,o,l){var a=2;if(r=e,typeof e===\"function\")Ca(e)&&(a=1);else if(typeof e===\"string\")a=5;else e:switch(e){case an:return Qt(n.children,o,l,t);case Ai:a=8,o|=8;break;case Kl:return e=Me(12,n,t,o|2),e.elementType=Kl,e.lanes=l,e;case Yl:return e=Me(13,n,t,o),e.elementType=Yl,e.lanes=l,e;case Xl:return e=Me(19,n,t,o),e.elementType=Xl,e.lanes=l,e;case ju:return Zo(n,o,l,t);default:if(typeof e===\"object\"&&e!==null)switch(e.$$typeof){case qu:a=10;break e;case Ju:a=9;break e;case Bi:a=11;break e;case Hi:a=14;break e;case ht:a=16,r=null;break e}throw Error(k(130,e==null?e:typeof e,\"\"))}return t=Me(a,n,t,o),t.elementType=e,t.type=r,t.lanes=l,t}function Qt(e,t,n,r){return e=Me(7,e,r,t),e.lanes=n,e}function Zo(e,t,n,r){return e=Me(22,e,r,t),e.elementType=ju,e.lanes=n,e.stateNode={isHidden:!1},e}function Bl(e,t,n){return e=Me(6,e,null,t),e.lanes=n,e}function Hl(e,t,n){return t=Me(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Pm(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_l(0),this.expirationTimes=_l(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_l(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function za(e,t,n,r,o,l,a,u,s){return e=new Pm(e,t,n,u,s),t===1?(t=1,l===!0&&(t|=8)):t=0,l=Me(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},ua(l),e}function _m(e,t,n){var r=3{W();Q=dl(Qa(),1);Zu=new Set,fr={};ut=!(typeof window>\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),Ql=Object.prototype.hasOwnProperty,Mp=/^[: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]*$/,Ka={},Ya={};ue={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){ue[e]=new ge(e,0,!1,e,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var t=e[0];ue[t]=new ge(t,1,!1,e[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){ue[e]=new ge(e,2,!1,e.toLowerCase(),null,!1,!1)});[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){ue[e]=new ge(e,2,!1,e,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){ue[e]=new ge(e,3,!1,e.toLowerCase(),null,!1,!1)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){ue[e]=new ge(e,3,!0,e,null,!1,!1)});[\"capture\",\"download\"].forEach(function(e){ue[e]=new ge(e,4,!1,e,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){ue[e]=new ge(e,6,!1,e,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(e){ue[e]=new ge(e,5,!1,e.toLowerCase(),null,!1,!1)});Ui=/[\\-:]([a-z])/g;\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var t=e.replace(Ui,Vi);ue[t]=new ge(t,1,!1,e,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var t=e.replace(Ui,Vi);ue[t]=new ge(t,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var t=e.replace(Ui,Vi);ue[t]=new ge(t,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(e){ue[e]=new ge(e,1,!1,e.toLowerCase(),null,!1,!1)});ue.xlinkHref=new ge(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){ue[e]=new ge(e,1,!1,e.toLowerCase(),null,!0,!0)});pt=Un,Br=Symbol.for(\"react.element\"),ln=Symbol.for(\"react.portal\"),an=Symbol.for(\"react.fragment\"),Ai=Symbol.for(\"react.strict_mode\"),Kl=Symbol.for(\"react.profiler\"),qu=Symbol.for(\"react.provider\"),Ju=Symbol.for(\"react.context\"),Bi=Symbol.for(\"react.forward_ref\"),Yl=Symbol.for(\"react.suspense\"),Xl=Symbol.for(\"react.suspense_list\"),Hi=Symbol.for(\"react.memo\"),ht=Symbol.for(\"react.lazy\"),ju=Symbol.for(\"react.offscreen\"),Xa=Symbol.iterator;X=Object.assign;qn=Array.isArray;ls=function(e){return typeof MSApp<\"u\"&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e}(function(e,t){if(e.namespaceURI!==\"http://www.w3.org/2000/svg\"||\"innerHTML\"in e)e.innerHTML=t;else{Qr=Qr||document.createElement(\"div\"),Qr.innerHTML=\"\"+t.valueOf().toString()+\"\";for(t=Qr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});or={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Up=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(or).forEach(function(e){Up.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),or[t]=or[e]})});Vp=X({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});if(ut)try{Ft={},Object.defineProperty(Ft,\"passive\",{get:function(){li=!0}}),window.addEventListener(\"test\",Ft,Ft),window.removeEventListener(\"test\",Ft,Ft)}catch(e){li=!1}Ap={onError:function(e){lr=!0,ho=e}};gs=Q.unstable_scheduleCallback,tu=Q.unstable_cancelCallback,Kp=Q.unstable_shouldYield,Yp=Q.unstable_requestPaint,J=Q.unstable_now,Xp=Q.unstable_getCurrentPriorityLevel,Ki=Q.unstable_ImmediatePriority,hs=Q.unstable_UserBlockingPriority,wo=Q.unstable_NormalPriority,Gp=Q.unstable_LowPriority,ys=Q.unstable_IdlePriority;He=Math.clz32?Math.clz32:jp,qp=Math.log,Jp=Math.LN2;Xr=[],gr=new Map,hr=new Map,wt=[],rf=\"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 submit\".split(\" \");Nn=pt.ReactCurrentBatchConfig;bn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},qi=Ee(bn),br=X({},bn,{view:0,detail:0}),sf=Ee(br),Wo=X({},br,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Ji,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){if(\"movementX\"in e)return e.movementX;return e!==Kn&&(Kn&&e.type===\"mousemove\"?(Tl=e.screenX-Kn.screenX,Rl=e.screenY-Kn.screenY):Rl=Tl=0,Kn=e),Tl},movementY:function(e){return\"movementY\"in e?e.movementY:Rl}}),lu=Ee(Wo),cf=X({},Wo,{dataTransfer:0}),df=Ee(cf),pf=X({},br,{relatedTarget:0}),bl=Ee(pf),ff=X({},bn,{animationName:0,elapsedTime:0,pseudoElement:0}),mf=Ee(ff),vf=X({},bn,{clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}}),gf=Ee(vf),hf=X({},bn,{data:0}),iu=Ee(hf),yf={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},wf={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\"},kf={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};Sf=X({},br,{key:function(e){if(e.key){var t=yf[e.key]||e.key;if(t!==\"Unidentified\")return t}return e.type===\"keypress\"?(e=io(e),e===13?\"Enter\":String.fromCharCode(e)):e.type===\"keydown\"||e.type===\"keyup\"?wf[e.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Ji,charCode:function(e){return e.type===\"keypress\"?io(e):0},keyCode:function(e){return e.type===\"keydown\"||e.type===\"keyup\"?e.keyCode:0},which:function(e){return e.type===\"keypress\"?io(e):e.type===\"keydown\"||e.type===\"keyup\"?e.keyCode:0}}),xf=Ee(Sf),Cf=X({},Wo,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),au=Ee(Cf),zf=X({},br,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Ji}),Ef=Ee(zf),Pf=X({},bn,{propertyName:0,elapsedTime:0,pseudoElement:0}),_f=Ee(Pf),Tf=X({},Wo,{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}),Rf=Ee(Tf),bf=[9,13,27,32],ji=ut&&\"CompositionEvent\"in window;ut&&\"documentMode\"in document&&(ir=document.documentMode);Mf=ut&&\"TextEvent\"in window&&!ir,_s=ut&&(!ji||ir&&8=ir),uu=String.fromCharCode(32);Lf={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};if(ut){if(ut){if(er=\"oninput\"in document,!er)ao=document.createElement(\"div\"),ao.setAttribute(\"oninput\",\"return;\"),er=typeof ao.oninput===\"function\";jn=er}else jn=!1;Ms=jn&&(!document.documentMode||9=document.documentMode;cn={animationend:Zr(\"Animation\",\"AnimationEnd\"),animationiteration:Zr(\"Animation\",\"AnimationIteration\"),animationstart:Zr(\"Animation\",\"AnimationStart\"),transitionend:Zr(\"Transition\",\"TransitionEnd\")},Ml={},Is={};ut&&(Is=document.createElement(\"div\").style,(\"AnimationEvent\"in window)||(delete cn.animationend.animation,delete cn.animationiteration.animation,delete cn.animationstart.animation),(\"TransitionEvent\"in window)||delete cn.transitionend.transition);Os=Bo(\"animationend\"),Fs=Bo(\"animationiteration\"),Us=Bo(\"animationstart\"),Vs=Bo(\"transitionend\"),Ws=new Map,vu=\"abort auxClick 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(\" \");for(tr=0;tr{ld();function id(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!==\"function\")return;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(id)}catch(e){console.error(e)}}id(),ad.exports=Ta});var sd=pl(($m)=>{var $r=dl(ud());$m.createRoot=$r.createRoot,$m.hydrateRoot=$r.hydrateRoot;var Dm});var qd=dl(sd(),1);W();W();function Pe(e){if(e==null||Number.isNaN(e))return\"—\";let t=Math.floor(e/1000);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r?`${n}m ${r}s`:`${n}m`;let o=Math.floor(n/60),l=n%60;return l?`${o}h ${l}m`:`${o}h`}function Dn(e){if(e==null||Number.isNaN(e)||e<0)return\"—\";let t=Math.floor(e/1000);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60),o=n%60;return o?`${r}h ${o}m`:`${r}h`}function V(e){if(e==null||Number.isNaN(e))return\"—\";return`$${e.toFixed(2)}`}function It(e){if(e==null)return\"never\";try{let t=typeof e===\"number\"?e:new Date(e).getTime(),n=Date.now()-t,r=Math.floor(n/1000);if(r<10)return\"just now\";if(r<60)return`${r}s ago`;let o=Math.floor(r/60);if(o<60)return`${o}m ago`;let l=Math.floor(o/60);if(l<24)return`${l}h ago`;return`${Math.floor(l/24)}d ago`}catch{return\"—\"}}function $n(e){if(e==null)return\"—\";try{let t=typeof e===\"number\"?e:new Date(e).getTime(),n=Date.now()-t,r=Math.floor(n/1000);if(r<60)return`${r}s`;let o=Math.floor(r/60);if(o<60)return`${o}m`;let l=Math.floor(o/60);if(l<24)return`${l}h`;return`${Math.floor(l/24)}d`}catch{return\"—\"}}function Ln(e){if(e===\"plan\"||e===\"planning\")return\"Planning\";if(e===\"exec\"||e===\"execution\")return\"Execution\";if(e===\"review\")return\"Reviewing\";if(e===\"fix\")return\"Fixing\";if(e===\"audit\")return\"Auditing\";return e.charAt(0).toUpperCase()+e.slice(1)}function Z(e){switch(e){case\"create\":return\"var(--accent)\";case\"review\":return\"var(--sky)\";case\"fix-review-comments\":return\"var(--violet)\";case\"code-audit\":return\"var(--green)\";case\"docs-writer\":return\"var(--rose)\";default:return\"var(--fg-3)\"}}function Ye(e){let t=e.split(\"/\");return t[t.length-1]??e}W();var Lm=Symbol.for(\"react.element\"),Im=Symbol.for(\"react.fragment\"),Om=Object.prototype.hasOwnProperty,Fm=Un.ReactCurrentOwner,Um={key:!0,ref:!0,__self:!0,__source:!0};function cd(e,t,n){var r,o={},l=null,a=null;n!==void 0&&(l=\"\"+n),t.key!==void 0&&(l=\"\"+t.key),t.ref!==void 0&&(a=t.ref);for(r in t)Om.call(t,r)&&!Um.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:Lm,type:e,key:l,ref:a,props:o,_owner:Fm.current}}var R=Im,i=cd,c=cd;function L({color:e=\"currentColor\",size:t=6,pulse:n=!1,style:r}){return i(\"span\",{className:n?\"dot dot-pulse\":\"dot\",style:{color:e,width:t,height:t,...r}})}function F({children:e,color:t,borderColor:n,style:r}){return i(\"span\",{className:\"pill\",style:{color:t??void 0,borderColor:n??void 0,...r},children:e})}function ft({value:e,color:t=\"var(--accent)\",height:n=2}){let r=Math.max(0,Math.min(1,e));return i(\"div\",{className:\"progress\",style:{height:n},children:i(\"div\",{className:\"bar\",style:{width:`${r*100}%`,background:t}})})}function dd({data:e,width:t=80,height:n=24,color:r=\"var(--accent)\"}){if(e.length===0)return null;let o=Math.max(1,...e),l=Math.min(0,...e),a=o-l||1,u=e.length>1?t/(e.length-1):0,p=e.map((v,h)=>{let y=h*u,N=n-(v-l)/a*(n-2)-1;return[y,N]}).map((v,h)=>h===0?`M${v[0].toFixed(1)},${v[1].toFixed(1)}`:`L${v[0].toFixed(1)},${v[1].toFixed(1)}`).join(\" \"),g=`${p} L${t},${n} L0,${n} Z`;return c(\"svg\",{width:t,height:n,style:{display:\"block\"},\"aria-hidden\":\"true\",children:[i(\"path\",{d:g,fill:r,opacity:\"0.12\"}),i(\"path\",{d:p,fill:\"none\",stroke:r,strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})]})}function tl({data:e}){let[t,n]=C(\"\"),[r,o]=C(\"\"),[l,a]=C(\"\"),[u,s]=C({key:\"when\",asc:!1}),p=_e(()=>{return[...new Set(e.activity.map((N)=>N.critterType))].sort()},[e.activity]),g=_e(()=>{let y=l.toLowerCase(),N=e.activity.filter((f)=>{if(t&&f.critterType!==t)return!1;let d=f.event===\"task_completed\"||f.event===\"review_completed\";if(r===\"ok\"&&!d)return!1;if(r===\"fail\"&&d)return!1;if(y&&!(f.identifier.toLowerCase().includes(y)||f.repo.toLowerCase().includes(y)||f.title&&f.title.toLowerCase().includes(y)))return!1;return!0}),S=u.asc?1:-1,I=(f,d)=>{switch(u.key){case\"id\":return f.identifier.localeCompare(d.identifier)*S;case\"type\":return f.critterType.localeCompare(d.critterType)*S;case\"repo\":return f.repo.localeCompare(d.repo)*S;case\"status\":{let m=f.event.endsWith(\"_completed\")?1:0,w=d.event.endsWith(\"_completed\")?1:0;return(m-w)*S}case\"duration\":return((f.duration??-1)-(d.duration??-1))*S;case\"cost\":return((f.costUsd??-1)-(d.costUsd??-1))*S;case\"when\":return(new Date(f.timestamp).getTime()-new Date(d.timestamp).getTime())*S}};return[...N].sort(I)},[e.activity,t,r,l,u]),v=Boolean(t||r||l);function h(y){s((N)=>N.key===y?{key:y,asc:!N.asc}:{key:y,asc:!0})}return c(\"div\",{className:\"card\",id:\"activity-section\",children:[c(\"div\",{className:\"activity-filterbar\",children:[i(\"h3\",{children:\"Recent activity\"}),c(\"span\",{className:\"count\",children:[e.activity.length,\" total\"]}),i(\"span\",{className:\"spacer\"}),c(\"div\",{className:\"chip-row\",children:[i(Lr,{active:t===\"\",onClick:()=>n(\"\"),children:\"all\"}),p.map((y)=>i(Lr,{active:t===y,onClick:()=>n(y),children:y},y))]}),c(\"div\",{className:\"chip-row\",children:[i(Lr,{active:r===\"\",onClick:()=>o(\"\"),children:\"all\"}),i(Lr,{active:r===\"ok\",onClick:()=>o(\"ok\"),children:\"ok\"}),i(Lr,{active:r===\"fail\",onClick:()=>o(\"fail\"),children:\"fail\"})]}),i(\"input\",{type:\"text\",className:\"activity-search\",value:l,onChange:(y)=>a(y.target.value),placeholder:\"filter…\"})]}),i(\"div\",{className:\"activity-table-wrap\",children:c(\"table\",{className:\"activity\",children:[i(\"thead\",{children:c(\"tr\",{children:[i(jt,{label:\"Issue\",k:\"id\",sort:u,onClick:h}),i(jt,{label:\"Type\",k:\"type\",sort:u,onClick:h}),i(jt,{label:\"Repo\",k:\"repo\",sort:u,onClick:h}),i(jt,{label:\"Status\",k:\"status\",sort:u,onClick:h}),i(jt,{label:\"Duration\",k:\"duration\",sort:u,onClick:h,num:!0}),i(jt,{label:\"Cost\",k:\"cost\",sort:u,onClick:h,num:!0}),i(\"th\",{children:\"PR\"}),i(jt,{label:\"When\",k:\"when\",sort:u,onClick:h,num:!0})]})}),c(\"tbody\",{children:[g.length===0&&i(\"tr\",{children:i(\"td\",{colSpan:8,className:\"empty-state\",children:\"No matches\"})}),g.map((y)=>i(Vm,{a:y},y.identifier+y.timestamp))]})]})}),i(\"div\",{className:\"activity-footer\",children:i(\"span\",{className:\"count\",children:v?`Showing ${g.length} of ${e.activity.length}`:`${e.activity.length} entries`})})]})}function jt({label:e,k:t,sort:n,onClick:r,num:o}){let a=n.key===t?n.asc?\" ▲\":\" ▼\":\"\";return c(\"th\",{className:o?\"num\":void 0,onClick:()=>r(t),style:{cursor:\"pointer\",userSelect:\"none\"},children:[e,a]})}function Vm({a:e}){let t=e.event===\"review_completed\"||e.event===\"review_failed\",n=e.event===\"task_completed\"||e.event===\"review_completed\",r=t?n?\"reviewed\":\"review·fail\":n?\"shipped\":\"failed\",o=`/dashboard/${encodeURIComponent(e.identifier)}`,l=(a)=>a.stopPropagation();return c(\"tr\",{className:\"row-clickable\",onClick:()=>{window.location.href=o},children:[c(\"td\",{children:[i(\"a\",{className:\"id\",href:o,onClick:l,children:e.identifier}),e.title&&i(\"span\",{className:\"issue-title\",children:e.title}),e.issueUrl&&i(\"a\",{className:\"external-link\",href:e.issueUrl,target:\"_blank\",rel:\"noreferrer\",title:\"Open in tracker\",onClick:l,children:\"↗\"})]}),i(\"td\",{children:i(F,{color:Z(e.critterType),children:e.critterType})}),i(\"td\",{className:\"repo\",children:e.repo}),i(\"td\",{children:c(\"span\",{className:`status ${n?\"ok\":\"fail\"}`,children:[i(L,{color:n?\"var(--green)\":\"var(--danger)\"}),\" \",r]})}),i(\"td\",{className:\"dur num\",children:Pe(e.duration)}),i(\"td\",{className:\"cost num\",children:V(e.costUsd)}),i(\"td\",{children:e.prUrl?c(R,{children:[i(\"a\",{href:e.prUrl,target:\"_blank\",rel:\"noreferrer\",onClick:l,children:\"PR\"}),e.prStatus&&i(Wm,{s:e.prStatus})]}):i(\"span\",{style:{color:\"var(--fg-3)\"},children:\"—\"})}),i(\"td\",{className:\"when num\",children:It(e.timestamp)})]})}function Wm({s:e}){let t=e.ciStatus===\"success\"?\"✅\":e.ciStatus===\"failure\"?\"❌\":e.ciStatus===\"pending\"?\"⏳\":\"\",n=e.reviewStatus===\"approved\"?\"\\uD83D\\uDC4D\":e.reviewStatus===\"changes_requested\"?\"\\uD83D\\uDD04\":e.reviewStatus===\"pending\"?\"⏳\":\"\";if(!t&&!n)return null;return c(\"span\",{className:\"pr-status\",title:`CI: ${e.ciStatus}, Review: ${e.reviewStatus}`,children:[t,n]})}function Lr({active:e,onClick:t,children:n}){return i(\"button\",{type:\"button\",className:`chip${e?\" active\":\"\"}`,onClick:t,children:n})}W();function he(){let e=localStorage.getItem(\"critters-token\");return e?{Authorization:`Bearer ${e}`}:{}}function nl(e){localStorage.setItem(\"critters-token\",e);let t=location.protocol===\"https:\"?\"; Secure\":\"\";document.cookie=`critters_token=${encodeURIComponent(e)}; Path=/; SameSite=Strict${t}`}function Am(){localStorage.removeItem(\"critters-token\"),document.cookie=\"critters_token=; Path=/; Max-Age=0; SameSite=Strict\"}async function pd(e,t){let n=e?`?type=${encodeURIComponent(e)}`:\"\",r=await fetch(`/api/v1/dashboard${n}`,{headers:he(),signal:t});if(!r.ok)throw Error(`dashboard fetch failed: ${r.status}`);return r.json()}async function In(){await fetch(\"/poll\",{method:\"POST\",headers:he()})}async function fd(){let e=await fetch(\"/api/v1/metadata\",{headers:he()});if(!e.ok)throw Error(`metadata fetch failed: ${e.status}`);return e.json()}async function md(e){let t=await fetch(\"/api/v1/issues\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\",...he()},body:JSON.stringify(e)});if(t.status===401)throw Am(),Error(\"Unauthorized\");return t.json()}async function vd(){try{return(await(await fetch(\"/api/v1/auth-check\")).json()).required}catch{return!1}}async function rl(e,t){let n=await fetch(`/api/v1/issue/${encodeURIComponent(e)}`,{headers:he(),signal:t});if(!n.ok)throw Error(`issue fetch failed: ${n.status}`);return n.json()}async function gd(e){let t=await fetch(\"/api/v1/types\",{headers:he(),signal:e});if(!t.ok)throw Error(`types fetch failed: ${t.status}`);return t.json()}async function hd(e){let t=await fetch(\"/api/v1/repos\",{headers:he(),signal:e});if(!t.ok)throw Error(`repos fetch failed: ${t.status}`);return t.json()}async function yd(e){let t=await fetch(\"/api/v1/models\",{headers:he(),signal:e});if(!t.ok)throw Error(`models fetch failed: ${t.status}`);return t.json()}async function wd(e){let t=await fetch(\"/api/v1/hooks\",{headers:he(),signal:e});if(!t.ok)throw Error(`hooks fetch failed: ${t.status}`);return t.json()}async function kd(e){let t=await fetch(\"/api/v1/env-status\",{headers:he(),signal:e});if(!t.ok)throw Error(`env-status fetch failed: ${t.status}`);return t.json()}async function Nd(e){let t=await fetch(\"/api/v1/releases\",{headers:he(),signal:e});if(!t.ok)throw Error(`releases fetch failed: ${t.status}`);return t.json()}function Sd({onSaved:e}){let[t,n]=C(\"\");function r(){let o=t.trim();if(!o)return;nl(o),e()}return c(\"div\",{className:\"auth-prompt\",children:[i(\"span\",{style:{color:\"var(--fg-3)\"},children:\"Dashboard token required:\"}),i(\"input\",{type:\"password\",value:t,onChange:(o)=>n(o.target.value),placeholder:\"Enter token\"}),i(\"button\",{type:\"button\",className:\"btn\",onClick:r,children:\"Save\"})]})}W();function Cd({open:e,onClose:t,onAuthRequired:n}){let[r,o]=C(null),[l,a]=C(\"\"),[u,s]=C(\"\"),[p,g]=C(\"\"),[v,h]=C(\"\"),[y,N]=C(\"\"),[S,I]=C(\"\"),[f,d]=C(\"\"),[m,w]=C(null),[z,P]=C(null),[_,x]=C(!1);T(()=>{if(!e)return;if(w(null),P(null),x(!1),r)return;fd().then(o).catch(()=>w(\"Failed to load metadata\"))},[e,r]),T(()=>{if(!r)return;let b=Object.keys(r.providers);a((Fe)=>Fe||b[0]||\"\"),g((Fe)=>Fe||r.critterTypes[0]?.name||\"\")},[r]),T(()=>{if(!r||!l)return;let b=r.providers[l]?.teams??[];s((Fe)=>b.some((en)=>en.id===Fe)?Fe:b[0]?.id??\"\")},[r,l]);let D=mt(()=>{t()},[t]);if(T(()=>{if(!e)return;function b(Fe){if(Fe.key===\"Escape\")D()}return window.addEventListener(\"keydown\",b),()=>window.removeEventListener(\"keydown\",b)},[e,D]),!e||!r)return e?i(xd,{onClose:D,children:m?i(\"div\",{className:\"error\",style:{display:\"block\"},children:m}):i(\"p\",{children:\"Loading…\"})}):null;let M=Object.keys(r.providers),Xe=r.providers[l]?.teams??[];async function sl(b){b.preventDefault(),w(null),P(null),x(!0);let Fe=f,en=\"\";if(v&&!/^repo:\\s/m.test(f))en+=`repo: ${v}\n`;if(y&&!/^branch:\\s/m.test(f))en+=`branch: ${y}\n`;if(en)Fe=`${en}\n${f}`;try{let Ge=await md({provider:l,teamId:u,title:S,description:Fe,critterType:p});if(Ge.success&&Ge.identifier)P({identifier:Ge.identifier,url:Ge.url}),In().catch(()=>{}),setTimeout(D,4000);else w(Ge.error??\"Unknown error\"),x(!1)}catch(Ge){if(Ge instanceof Error&&Ge.message===\"Unauthorized\")n();else w(Ge instanceof Error?Ge.message:\"Request failed\");x(!1)}}return c(xd,{onClose:D,children:[i(\"h2\",{children:\"Create Critter Ticket\"}),m&&i(\"div\",{className:\"error\",style:{display:\"block\"},children:m}),z&&c(\"div\",{className:\"success\",style:{display:\"block\"},children:[\"Created \",z.identifier,z.url&&c(R,{children:[\" — \",i(\"a\",{href:z.url,target:\"_blank\",rel:\"noreferrer\",children:\"View\"})]})]}),c(\"form\",{onSubmit:sl,children:[M.length>1&&c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-provider\",children:\"Provider\"}),i(\"select\",{id:\"create-provider\",value:l,onChange:(b)=>a(b.target.value),children:M.map((b)=>i(\"option\",{value:b,children:b},b))})]}),c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-team\",children:\"Team / Project\"}),i(\"select\",{id:\"create-team\",required:!0,value:u,onChange:(b)=>s(b.target.value),children:Xe.map((b)=>c(\"option\",{value:b.id,children:[b.name,\" (\",b.key,\")\"]},b.id))})]}),c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-type\",children:\"Critter type\"}),i(\"select\",{id:\"create-type\",value:p,onChange:(b)=>g(b.target.value),children:r.critterTypes.map((b)=>c(\"option\",{value:b.name,children:[b.name,\" (\",b.triggerLabel,\")\"]},b.name))})]}),r.repos.length>0&&c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-repo\",children:\"Repository\"}),c(\"select\",{id:\"create-repo\",value:v,onChange:(b)=>h(b.target.value),children:[i(\"option\",{value:\"\",children:\"None (specify in description)\"}),r.repos.map((b)=>i(\"option\",{value:b.url,children:b.label},b.url))]})]}),c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-branch\",children:\"Base branch (optional)\"}),i(\"input\",{id:\"create-branch\",type:\"text\",value:y,onChange:(b)=>N(b.target.value),placeholder:\"e.g. dev, beta (defaults to repo default branch)\"})]}),c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-title\",children:\"Title\"}),i(\"input\",{id:\"create-title\",type:\"text\",required:!0,value:S,onChange:(b)=>I(b.target.value),placeholder:\"Issue title\"})]}),c(\"div\",{className:\"field\",children:[i(\"label\",{htmlFor:\"create-description\",children:\"Description\"}),i(\"textarea\",{id:\"create-description\",rows:6,value:f,onChange:(b)=>d(b.target.value),placeholder:\"Include repo: git@github.com:org/repo.git on its own line if no project mapping exists\"})]}),c(\"div\",{className:\"actions\",children:[i(\"button\",{type:\"button\",className:\"btn\",onClick:D,children:\"Cancel\"}),i(\"button\",{type:\"submit\",className:\"btn primary\",disabled:_,children:_?\"Creating…\":\"Create\"})]})]})]})}function xd({onClose:e,children:t}){return i(\"div\",{className:\"modal-backdrop open\",onClick:(n)=>{if(n.target===n.currentTarget)e()},children:i(\"div\",{className:\"modal\",role:\"dialog\",\"aria-modal\":\"true\",children:t})})}function zd({data:e}){let t=e.daily.slice(-7),n=t.map((l)=>l.completed+l.failed),r=t.map((l)=>Math.round(l.cost*100)/100),{totals:o}=e;return c(\"div\",{className:\"kpi-strip\",children:[i(ol,{label:c(R,{children:[i(L,{color:\"var(--accent)\",pulse:!0}),\" In flight\"]}),value:String(e.activeCritters.length),sub:`${e.queuedCritters.length} queued`}),i(ol,{label:\"Success · 14d\",value:o.successRate!=null?`${o.successRate}%`:\"N/A\",sub:`${o.succeeded}/${o.totalTasks} tasks`,spark:n}),i(ol,{label:\"Spend · 14d\",value:V(o.totalCost),sub:o.avgCost!=null?`avg ${V(o.avgCost)}/run`:\"no runs\",spark:r}),i(ol,{label:\"Avg duration\",value:Pe(o.avgDuration),sub:\"planning + execution\"})]})}function ol({label:e,value:t,sub:n,spark:r}){return c(\"div\",{className:\"kpi\",children:[i(\"div\",{className:\"label\",children:e}),c(\"div\",{className:\"value-row\",children:[i(\"div\",{className:\"value\",children:t}),r&&r.length>0&&i(\"div\",{className:\"spark\",children:i(dd,{data:r})})]}),i(\"div\",{className:\"sub\",children:n})]})}W();W();function Ie(e){let[,t]=C(0);T(()=>{let n=setInterval(()=>{if(!document.hidden)t((r)=>r+1)},e);return()=>clearInterval(n)},[e])}function Ed({active:e,queued:t,selectedId:n,onSelect:r}){if(Ie(1000),e.length===0&&t.length===0)return c(\"div\",{className:\"empty-state\",children:[i(\"span\",{className:\"icon\",children:\"\\uD83E\\uDD97\"}),\"No active critters — all quiet\"]});return c(R,{children:[e.map((o)=>i(Bm,{critter:o,active:o.identifier===n,onClick:()=>r(o.identifier)},o.identifier)),t.length>0&&c(R,{children:[c(\"div\",{className:\"queued-header\",children:[\"Queued · \",t.length]}),t.map((o)=>c(\"div\",{className:\"queued-row\",children:[i(L,{color:\"var(--fg-3)\"}),i(\"span\",{className:\"qr-id\",children:o.identifier}),i(\"span\",{className:\"qr-title\",children:o.title}),i(\"span\",{className:\"qr-wait\",children:$n(o.enqueuedAt)})]},o.identifier))]})]})}function Bm({critter:e,active:t,onClick:n}){let r=Date.now()-e.startedAt,o=(e.timeoutMinutes??30)*60*1000,l=Math.min(1,r/o),a=l>0.8,u=e.critterType??\"create\",s=Z(u),p=e.costUsd!=null?e.costBudget?`${V(e.costUsd)} / ${V(e.costBudget)}`:V(e.costUsd):\"\";return c(\"button\",{type:\"button\",className:`active-row${t?\" selected\":\"\"}`,style:{borderLeftColor:t?s:\"transparent\"},onClick:n,children:[c(\"div\",{className:\"ar-head\",children:[i(L,{color:s,pulse:!0}),i(\"span\",{className:\"ar-id\",children:e.identifier}),i(\"span\",{style:{flex:1}}),i(\"span\",{className:`ar-elapsed${a?\" danger\":\"\"}`,children:Dn(r)})]}),i(\"div\",{className:\"ar-title\",children:e.title}),c(\"div\",{className:\"ar-meta\",children:[i(F,{color:s,borderColor:`color-mix(in oklch, ${s} 35%, transparent)`,children:Ln(e.phase)}),i(F,{children:u}),i(\"span\",{className:\"ar-cost\",children:p})]}),i(ft,{value:l,color:a?\"var(--danger)\":s,height:2})]})}W();W();function ll(e,t=400){let[n,r]=C([]),[o,l]=C(!1),[a,u]=C(!1),s=Ze(null);return T(()=>{if(!e){r([]),l(!1),u(!1);return}r([]),u(!1);let p=new EventSource(e);return s.current=p,p.onopen=()=>l(!0),p.onerror=()=>l(!1),p.onmessage=(g)=>{let v=g.data;if(!v)return;if(v.startsWith(\"{\"))try{let h=JSON.parse(v);if(h.event===\"done\"){u(!0),p.close(),l(!1);return}if(h.event===\"heartbeat\")return}catch{}r((h)=>{let y=h.concat(v);return y.length>t?y.slice(y.length-t):y})},()=>{p.close(),s.current=null,l(!1)}},[e,t]),{lines:n,connected:o,done:a}}function Pd({critter:e}){if(Ie(1000),!e)return i(\"div\",{className:\"tail-empty\",children:\"nothing to tail — all quiet\"});return i(Hm,{critter:e})}function Hm({critter:e}){let t=`/api/logs/${encodeURIComponent(e.identifier)}/stream`,{lines:n,connected:r,done:o}=ll(t),l=Ze(null);T(()=>{if(l.current)l.current.scrollTop=l.current.scrollHeight},[n]);let a=Date.now()-e.startedAt,u=e.critterType??\"create\",s=Z(u);return c(R,{children:[c(\"div\",{className:\"tail-head\",children:[i(\"span\",{className:\"dim\",children:\"tail —\"}),i(\"strong\",{children:e.identifier}),i(\"span\",{className:\"dim\",children:\"·\"}),i(\"span\",{children:Ye(e.repo)}),i(\"span\",{className:\"dim\",children:\"·\"}),i(\"span\",{style:{color:s},children:Ln(e.phase)}),i(\"span\",{style:{flex:1}}),i(\"span\",{className:\"dim\",children:Pe(a)}),i(\"span\",{className:\"dim\",children:\"·\"}),i(\"span\",{className:\"dim\",children:o?\"stream closed\":r?\"live\":\"connecting…\"})]}),c(\"div\",{ref:l,className:\"tail-body\",children:[n.length===0&&i(\"div\",{className:\"tail-empty\",children:\"waiting for logs…\"}),n.map((p,g)=>{let v=Qm(p),h=`${g}:${p.slice(0,40)}`;return i(\"div\",{className:`ln ${v}`,children:i(\"span\",{className:\"txt\",children:p})},h)}),!o&&c(\"div\",{className:\"ln\",children:[i(\"span\",{className:\"ts\",children:\"now\"}),i(\"span\",{className:\"cursor\",children:\"▊\"})]})]}),c(\"div\",{className:\"tail-foot\",children:[c(\"span\",{children:[\"branch \",i(\"span\",{className:\"br\",children:e.branch})]}),i(\"span\",{style:{flex:1}}),e.prUrl&&i(\"a\",{href:e.prUrl,target:\"_blank\",rel:\"noreferrer\",children:\"open PR ↗\"}),i(\"a\",{href:`/dashboard/${encodeURIComponent(e.identifier)}`,children:\"full log ↗\"})]})]})}function Qm(e){if(/^\\s*→\\s/.test(e))return\"tool\";if(/^\\s*\\[/.test(e))return\"stdout\";return\"assistant\"}function _d({data:e}){let[t,n]=C(e.activeCritters[0]?.identifier??null);T(()=>{if(!e.activeCritters.some((l)=>l.identifier===t))n(e.activeCritters[0]?.identifier??null)},[e.activeCritters,t]);let r=e.activeCritters.find((o)=>o.identifier===t)??null;return c(\"div\",{className:\"live-hero\",id:\"active-section\",children:[c(\"div\",{className:\"active-col\",children:[c(\"div\",{className:\"section-header\",children:[i(\"h3\",{children:\"Active\"}),i(\"span\",{className:\"count\",children:e.activeCritters.length}),i(\"span\",{className:\"spacer\"}),e.activeCritters.length>0&&c(F,{children:[i(L,{color:\"var(--accent)\",pulse:!0}),\" live\"]})]}),i(\"div\",{className:\"active-scroll\",children:i(Ed,{active:e.activeCritters,queued:e.queuedCritters,selectedId:t,onSelect:n})})]}),i(\"div\",{className:\"tail-col\",children:i(Pd,{critter:r})})]})}W();function On(e){if(e==null)return\"—\";if(e>=1e6)return`${(e/1e6).toFixed(1)}M`;if(e>=1000)return`${(e/1000).toFixed(1)}k`;return String(e)}function il({identifier:e,embedded:t=!1}){let[n,r]=C(null),[o,l]=C(!0),[a,u]=C(null),[s,p]=C(null);if(T(()=>{rl(e).then((v)=>{r(v),p(v.phases[v.phases.length-1]??null),l(!1)}).catch((v)=>{u(v.message),l(!1)})},[e]),T(()=>{if(!n?.isActive)return;let v=setInterval(()=>{rl(e).then(r).catch(()=>{})},1e4);return()=>clearInterval(v)},[e,n?.isActive]),o)return i(\"div\",{className:\"app-loading\",children:\"Loading...\"});if(a||!n)return c(\"div\",{className:\"app-error\",children:[\"Failed: \",a]});if(n.noData)return c(R,{children:[!t&&i(Td,{identifier:e}),i(\"div\",{className:t?void 0:\"content\",children:c(\"div\",{className:\"empty-state\",children:[i(\"span\",{className:\"icon\",children:\"?\"}),\"No data found for \",e,\".\",!t&&c(R,{children:[i(\"br\",{}),i(\"a\",{href:\"/dashboard\",children:\"Back to dashboard\"})]})]})})]});let g=c(R,{children:[i(Km,{data:n}),i(Xm,{data:n}),n.phaseResults.length>0&&i(Gm,{data:n}),i(qm,{identifier:e,isActive:n.isActive,phases:n.phases,activePhase:s,onPhaseChange:p,onDone:()=>{rl(e).then(r).catch(()=>{})}})]});if(t)return i(R,{children:g});return c(R,{children:[i(Td,{issueData:n,identifier:e}),i(\"div\",{className:\"content\",children:g})]})}function Td({identifier:e,issueData:t}){let n=t?t.isActive?i(\"span\",{className:\"badge-sm live\",children:\"Live\"}):t.isFailed?i(\"span\",{className:\"badge-sm fail\",children:\"Failed\"}):t.isCompleted?i(\"span\",{className:\"badge-sm success\",children:\"Completed\"}):null:null;return c(\"div\",{className:\"topbar\",children:[i(\"a\",{href:\"/dashboard\",className:\"log-topbar-back\",children:\"← Dashboard\"}),i(\"span\",{className:\"log-topbar-id\",children:e}),n,t?.critterType&&t.critterType!==\"—\"&&i(\"span\",{className:\"badge-sm type\",children:t.critterType}),i(\"span\",{className:\"spacer\"}),t?.issueUrl&&i(\"a\",{href:t.issueUrl,target:\"_blank\",rel:\"noreferrer\",className:\"external-link\",title:\"Open in tracker\",children:\"Tracker ↗\"}),t?.prUrl&&i(\"a\",{href:t.prUrl,target:\"_blank\",rel:\"noreferrer\",className:\"external-link\",title:\"Open PR\",children:\"PR ↗\"})]})}function Km({data:e}){return i(\"div\",{className:\"card\",style:{marginBottom:16},children:c(\"div\",{className:\"body\",children:[i(\"h3\",{style:{marginBottom:12,fontSize:13,fontWeight:600},children:\"Issue Info\"}),c(\"div\",{className:\"info-grid\",children:[i(\"span\",{className:\"label\",children:\"Title\"}),i(\"span\",{children:e.title}),i(\"span\",{className:\"label\",children:\"Identifier\"}),c(\"span\",{children:[e.identifier,e.issueUrl&&i(\"a\",{href:e.issueUrl,target:\"_blank\",rel:\"noreferrer\",className:\"external-link\",children:\"↗\"})]}),i(\"span\",{className:\"label\",children:\"Type\"}),i(\"span\",{children:e.critterType}),i(\"span\",{className:\"label\",children:\"Repo\"}),i(\"span\",{children:e.repo}),i(\"span\",{className:\"label\",children:\"Branch\"}),i(\"span\",{children:i(\"code\",{children:e.branch})}),e.prUrl&&c(R,{children:[i(\"span\",{className:\"label\",children:\"PR\"}),c(\"span\",{children:[i(\"a\",{href:e.prUrl,target:\"_blank\",rel:\"noreferrer\",children:e.prUrl}),e.prStatus&&i(Ym,{s:e.prStatus})]})]}),i(\"span\",{className:\"label\",children:\"Started\"}),i(\"span\",{children:e.startedAt?It(e.startedAt):\"—\"}),i(\"span\",{className:\"label\",children:\"Duration\"}),i(\"span\",{children:Pe(e.durationMs)})]}),e.multipleRuns&&i(\"div\",{style:{fontSize:12,color:\"var(--fg-3)\",fontStyle:\"italic\",marginTop:8},children:\"Multiple runs detected for this identifier. Showing latest run.\"})]})})}function Ym({s:e}){let t=e.ciStatus===\"success\"?\"✅\":e.ciStatus===\"failure\"?\"❌\":e.ciStatus===\"pending\"?\"⏳\":\"\",n=e.reviewStatus===\"approved\"?\"\\uD83D\\uDC4D\":e.reviewStatus===\"changes_requested\"?\"\\uD83D\\uDD04\":e.reviewStatus===\"pending\"?\"⏳\":\"\";if(!t&&!n)return null;return c(\"span\",{className:\"pr-status\",title:`CI: ${e.ciStatus}, Review: ${e.reviewStatus}`,children:[t,n]})}function Xm({data:e}){return i(\"div\",{className:\"card\",style:{marginBottom:16},children:c(\"div\",{className:\"body\",children:[i(\"h3\",{style:{marginBottom:12,fontSize:13,fontWeight:600},children:\"Cost Summary\"}),c(\"div\",{className:\"cost-grid\",children:[c(\"div\",{className:\"cost-item\",children:[i(\"div\",{className:\"value\",children:V(e.cost.totalCost)}),i(\"div\",{className:\"label\",children:\"Total Cost\"})]}),c(\"div\",{className:\"cost-item\",children:[i(\"div\",{className:\"value\",children:On(e.cost.inputTokens||void 0)}),i(\"div\",{className:\"label\",children:\"Input Tokens\"})]}),c(\"div\",{className:\"cost-item\",children:[i(\"div\",{className:\"value\",children:On(e.cost.outputTokens||void 0)}),i(\"div\",{className:\"label\",children:\"Output Tokens\"})]}),c(\"div\",{className:\"cost-item\",children:[i(\"div\",{className:\"value\",children:On(e.cost.cacheReadTokens||void 0)}),i(\"div\",{className:\"label\",children:\"Cache Read\"})]})]})]})})}function Gm({data:e}){return i(\"div\",{className:\"card\",style:{marginBottom:16},children:c(\"div\",{className:\"body\",children:[i(\"h3\",{style:{marginBottom:12,fontSize:13,fontWeight:600},children:\"Phase Timeline\"}),c(\"table\",{className:\"activity\",children:[i(\"thead\",{children:c(\"tr\",{children:[i(\"th\",{children:\"Phase\"}),i(\"th\",{children:\"Status\"}),i(\"th\",{className:\"num\",children:\"Cost\"}),i(\"th\",{className:\"num\",children:\"Input\"}),i(\"th\",{className:\"num\",children:\"Output\"}),i(\"th\",{className:\"num\",children:\"Cache\"}),i(\"th\",{className:\"num\",children:\"Turns\"})]})}),i(\"tbody\",{children:e.phaseResults.map((t)=>{let n=t.phase.charAt(0).toUpperCase()+t.phase.slice(1),r=t.isRunning?i(\"span\",{className:\"badge-sm running\",children:\"Running\"}):t.isDone?i(\"span\",{className:\"badge-sm success\",children:\"Done\"}):i(\"span\",{className:\"badge-sm neutral\",children:\"—\"});return c(\"tr\",{children:[i(\"td\",{children:n}),i(\"td\",{children:r}),i(\"td\",{className:\"num\",children:V(t.costUsd)}),i(\"td\",{className:\"num\",children:On(t.inputTokens)}),i(\"td\",{className:\"num\",children:On(t.outputTokens)}),i(\"td\",{className:\"num\",children:On(t.cacheReadTokens)}),i(\"td\",{className:\"num\",children:t.numTurns??\"—\"})]},t.phase)})})]})]})})}function Zm(e){if(/^\\s*→\\s/.test(e))return\"tool\";if(/^\\s*\\[/.test(e))return\"stdout\";return\"assistant\"}function qm({identifier:e,isActive:t,phases:n,activePhase:r,onPhaseChange:o,onDone:l}){let a=Ze(null),[u,s]=C(!1),[p,g]=C(!1),v=t&&r?`/api/logs/${encodeURIComponent(e)}/stream?tail=500${r?`&phase=${encodeURIComponent(r)}`:\"\"}`:null,{lines:h,done:y}=ll(v,500),[N,S]=C(null),[I,f]=C(!1),d=mt((x)=>{f(!0),S(null);let D=`/api/logs/${encodeURIComponent(e)}?tail=500`;if(x)D+=`&phase=${encodeURIComponent(x)}`;fetch(D,{headers:he()}).then((M)=>{if(!M.ok)throw Error(\"No logs\");return M.text()}).then((M)=>{S(M||\"No logs available for this phase.\"),f(!1)}).catch(()=>{S(\"No logs available for this phase.\"),f(!1)})},[e]);T(()=>{if(!t&&r!==null)d(r)},[t,r,d]),T(()=>{if(y)l()},[y,l]);let m=Ze(0);T(()=>{let x=a.current;if(!x)return;let D=t?h.length>m.current:!1;if(m.current=h.length,D&&!u)x.scrollTop=x.scrollHeight;else if(D&&u)g(!0)},[h,t,u]),T(()=>{if(!t&&N&&a.current)a.current.scrollTop=a.current.scrollHeight},[t,N]);function w(){let x=a.current;if(!x)return;let D=x.scrollHeight-x.scrollTop-x.clientHeight<50;if(s(!D),D)g(!1)}function z(){let x=a.current;if(!x)return;x.scrollTop=x.scrollHeight,s(!1),g(!1)}let P=t?h:I||!N?[]:N.split(`\n`),_=t?h.length===0?\"Loading logs...\":null:I||!N?\"Loading logs...\":null;return i(\"div\",{className:\"card\",children:c(\"div\",{className:\"body\",children:[i(\"h3\",{style:{marginBottom:12,fontSize:13,fontWeight:600},children:\"Logs\"}),n.length>1&&i(\"div\",{className:\"phase-tabs\",children:n.map((x)=>i(\"button\",{type:\"button\",className:`chip${r===x?\" active\":\"\"}`,onClick:()=>o(x),children:x.charAt(0).toUpperCase()+x.slice(1)},x))}),i(\"div\",{ref:a,className:\"log-viewer\",onScroll:w,children:_?i(\"span\",{className:\"txt\",children:_}):P.map((x,D)=>i(\"div\",{className:`ln ${Zm(x)}`,children:i(\"span\",{className:\"txt\",children:x})},`${D}:${x.slice(0,40)}`))}),p&&i(\"button\",{type:\"button\",className:\"new-logs-btn\",onClick:z,children:\"↓ New logs\"})]})})}var Rd={dashboard:\"dashboard\",inflight:\"inflight\",queue:\"queue\",history:\"history\",logs:\"logs\",types:\"types\",repos:\"repos\",hooks:\"hooks\",tokens:\"tokens\",costs:\"costs\",models:\"models\",releases:\"releases\"},Jm=new Set([...Object.values(Rd),\"release-notes\"]);function Ra(e){if(e===\"/\"||e===\"/dashboard\"||e===\"/dashboard/\")return{route:\"dashboard\",identifier:null};if(!e.startsWith(\"/dashboard/\"))return{route:\"dashboard\",identifier:null};let t=decodeURIComponent(e.slice(11).split(\"/\")[0]??\"\");if(t===\"release-notes\")return{route:\"releases\",identifier:null};if(Jm.has(t))return{route:t,identifier:null};return{route:\"logs\",identifier:t}}function bd(e){if(e===\"dashboard\")return\"/dashboard\";return`/dashboard/${Rd[e]}`}function Oe({route:e,currentRoute:t,label:n,count:r,dot:o}){return c(\"a\",{className:`nav-item${e===t?\" active\":\"\"}`,href:bd(e),children:[o&&i(L,{color:\"var(--accent)\",pulse:!0}),i(\"span\",{className:\"nav-label\",children:n}),r!=null&&i(\"span\",{className:\"count\",children:r})]})}function ba({data:e,route:t}){Ie(5000);let n=ev(e.uptimeMs);return c(\"aside\",{className:\"sidebar\",children:[c(\"div\",{className:\"brand\",children:[i(jm,{}),\"critters\",i(\"span\",{className:\"ver\",children:e.version})]}),c(\"nav\",{className:\"nav-group\",children:[i(\"div\",{className:\"label\",children:\"Monitor\"}),i(Oe,{route:\"dashboard\",currentRoute:t,label:\"Dashboard\",dot:!0}),i(Oe,{route:\"inflight\",currentRoute:t,label:\"In flight\",count:e.activeCritters.length}),i(Oe,{route:\"queue\",currentRoute:t,label:\"Queue\",count:e.queuedCritters.length}),i(Oe,{route:\"history\",currentRoute:t,label:\"History\"}),i(Oe,{route:\"logs\",currentRoute:t,label:\"Logs\"})]}),c(\"nav\",{className:\"nav-group\",children:[i(\"div\",{className:\"label\",children:\"Configure\"}),i(Oe,{route:\"types\",currentRoute:t,label:\"Critter types\"}),i(Oe,{route:\"repos\",currentRoute:t,label:\"Repos\"}),i(Oe,{route:\"hooks\",currentRoute:t,label:\"Hooks & webhooks\"}),i(Oe,{route:\"tokens\",currentRoute:t,label:\"Tokens\"})]}),c(\"nav\",{className:\"nav-group\",children:[i(\"div\",{className:\"label\",children:\"Insights\"}),i(Oe,{route:\"costs\",currentRoute:t,label:\"Costs\"}),i(Oe,{route:\"models\",currentRoute:t,label:\"Models\"}),i(Oe,{route:\"releases\",currentRoute:t,label:\"Release notes\"})]}),c(\"div\",{className:\"daemon-card\",children:[c(\"div\",{className:\"row\",children:[i(\"span\",{className:\"l\",children:\"status\"}),c(\"span\",{style:{color:\"var(--green)\"},children:[i(L,{color:\"var(--green)\"}),\" healthy\"]})]}),c(\"div\",{className:\"row\",children:[i(\"span\",{className:\"l\",children:\"uptime\"}),i(\"span\",{children:n})]}),c(\"div\",{className:\"row\",children:[i(\"span\",{className:\"l\",children:\"poll\"}),c(\"span\",{children:[\"every \",e.pollIntervalSeconds,\"s\"]})]}),c(\"div\",{className:\"row\",children:[i(\"span\",{className:\"l\",children:\"last\"}),i(\"span\",{children:It(e.lastPollAt)})]}),c(\"div\",{className:\"row\",children:[i(\"span\",{className:\"l\",children:\"slots\"}),c(\"span\",{children:[e.concurrency.active,\"/\",e.concurrency.max]})]})]})]})}function jm(){return c(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",\"aria-hidden\":\"true\",children:[i(\"circle\",{cx:\"10\",cy:\"11\",r:\"5\",fill:\"var(--accent)\",opacity:\"0.95\"}),i(\"circle\",{cx:\"10\",cy:\"6\",r:\"2.2\",fill:\"var(--accent)\"}),i(\"line\",{x1:\"8.5\",y1:\"4.5\",x2:\"6\",y2:\"2.5\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"}),i(\"line\",{x1:\"11.5\",y1:\"4.5\",x2:\"14\",y2:\"2.5\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"}),i(\"line\",{x1:\"4\",y1:\"10\",x2:\"1.5\",y2:\"9\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"}),i(\"line\",{x1:\"16\",y1:\"10\",x2:\"18.5\",y2:\"9\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"}),i(\"line\",{x1:\"4.5\",y1:\"13\",x2:\"2\",y2:\"15\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"}),i(\"line\",{x1:\"15.5\",y1:\"13\",x2:\"18\",y2:\"15\",stroke:\"var(--accent)\",strokeWidth:\"1.2\",strokeLinecap:\"round\"})]})}function ev(e){if(e<0)return\"—\";let t=Math.floor(e/1000);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m`;let r=Math.floor(n/60),o=n%60;if(r<24)return o?`${r}h ${o}m`:`${r}h`;let l=Math.floor(r/24),a=r%24;return a?`${l}d ${a}h`:`${l}d`}function Md({data:e}){let{daily:t}=e,n=Math.max(1,...t.map((r)=>r.completed+r.failed));return i(\"div\",{className:\"card\",children:c(\"div\",{className:\"body\",children:[c(\"div\",{className:\"chart-head\",children:[i(\"h3\",{children:\"Throughput\"}),i(\"span\",{className:\"meta\",children:\"tasks / day · 14d\"})]}),i(\"div\",{className:\"throughput-bars\",children:t.map((r)=>{let l=(r.completed+r.failed)/n*100,a=r.failed/n*100,u=Math.max(0,l-a);return c(\"div\",{className:\"bar-col\",title:`${r.date} · ${r.completed} ok / ${r.failed} fail`,children:[i(\"div\",{className:\"ok\",style:{height:`${u.toFixed(1)}px`}}),i(\"div\",{className:\"bad\",style:{height:`${a.toFixed(1)}px`}})]},r.date)})}),c(\"div\",{className:\"throughput-axis\",children:[i(\"span\",{children:t[0]?.date.slice(5)??\"\"}),i(\"span\",{children:t[t.length-1]?.date.slice(5)??\"\"})]})]})})}W();W();function Dd(){let[e,t]=C(!1);T(()=>{t(localStorage.getItem(\"critters-notif\")===\"on\")},[]),T(()=>{if(!e)return;if(!(\"Notification\"in window)||Notification.permission!==\"granted\")return;let r=!1,o=localStorage.getItem(\"critters-notif-last-seen\")??new Date().toISOString();return fetch(\"/metrics\",{headers:he()}).then((l)=>l.json()).then((l)=>{if(r)return;let a=l.filter((u)=>u.timestamp>o);for(let u of a){let s=u.identifier||u.issueId||\"Unknown\",p=`critters-${s}-${u.event}`,g=\"\";if(u.event===\"task_completed\")g=`✅ ${s}${u.prUrl?\" completed — PR created\":\" completed\"}`;else if(u.event===\"task_failed\")g=`❌ ${s} failed`;else if(u.event===\"review_completed\"&&u.outcome===\"needs_changes\")g=`\\uD83D\\uDC40 ${s} needs human review`;else continue;let v=new Notification(g,{body:u.critterType?`Type: ${u.critterType}`:\"\",tag:p});v.onclick=()=>{window.focus(),window.location.href=`/dashboard/${s}`,v.close()}}if(l.length>0){let u=l.reduce((s,p)=>p.timestamp>s?p.timestamp:s,o);localStorage.setItem(\"critters-notif-last-seen\",u)}}).catch(()=>{}),()=>{r=!0}},[e]);function n(){if(!(\"Notification\"in window))return;if(Notification.permission===\"default\")Notification.requestPermission().then((r)=>{if(r===\"granted\")t(!0),localStorage.setItem(\"critters-notif\",\"on\"),localStorage.setItem(\"critters-notif-last-seen\",new Date().toISOString())});else if(Notification.permission===\"granted\"){let r=!e;if(t(r),localStorage.setItem(\"critters-notif\",r?\"on\":\"off\"),r)localStorage.setItem(\"critters-notif-last-seen\",new Date().toISOString())}}return c(\"button\",{type:\"button\",className:\"btn icon\",onClick:n,title:e?\"Notifications enabled (click to disable)\":\"Enable browser notifications\",children:[\"\\uD83D\\uDD14\",e&&i(\"span\",{className:\"notif-dot\"})]})}var tv={dashboard:\"Console\",inflight:\"In flight\",queue:\"Queue\",history:\"History\",logs:\"Logs\",types:\"Critter types\",repos:\"Repos\",hooks:\"Hooks & webhooks\",tokens:\"Tokens\",costs:\"Costs\",models:\"Models\",releases:\"Release notes\"};function $d({route:e,typeFilter:t,countdown:n,onOpenCreate:r,onRefreshNow:o,sidebarCollapsed:l,onToggleSidebar:a}){let[u,s]=C(!1),[p,g]=C(\"Poll now\");async function v(){s(!0),g(\"Polling…\");try{await In(),g(\"Triggered\"),o()}catch{g(\"Failed\")}setTimeout(()=>{g(\"Poll now\"),s(!1)},1500)}return c(\"div\",{className:\"topbar\",id:\"top\",children:[i(\"button\",{type:\"button\",className:\"sidebar-toggle\",onClick:a,title:l?\"Show sidebar\":\"Hide sidebar\",\"aria-label\":l?\"Show sidebar\":\"Hide sidebar\",children:l?\"☰\":\"«\"}),i(\"h1\",{children:tv[e]}),c(\"span\",{className:\"breadcrumb\",children:[\"· critters daemon\",t?` · type: ${t}`:\"\"]}),i(\"span\",{className:\"spacer\"}),c(\"span\",{className:\"meta\",children:[\"Refreshing in \",n,\"s\"]}),i(\"button\",{type:\"button\",className:\"btn\",onClick:v,disabled:u,children:p}),i(\"button\",{type:\"button\",className:\"btn primary\",onClick:r,children:\"+ New critter\"}),i(Dd,{})]})}function Ld({data:e}){let t=Object.entries(e.typeStats).sort((n,r)=>r[1].total-n[1].total);if(t.length===0)return null;return i(\"div\",{className:\"card\",children:c(\"div\",{className:\"body\",children:[i(\"div\",{className:\"chart-head\",children:i(\"h3\",{children:\"By type\"})}),i(\"div\",{className:\"type-rows\",children:t.map(([n,r])=>{let o=r.total>0?Math.round(r.succeeded/r.total*100):0,l=Z(n);return c(\"div\",{className:\"type-row\",children:[i(L,{color:l,size:8}),i(\"span\",{className:\"name\",children:n}),i(\"span\",{className:\"track\",children:i(ft,{value:o/100,color:l,height:4})}),c(\"span\",{className:\"rate\",children:[o,\"%\"]}),i(\"span\",{className:\"total\",children:r.total})]},n)})})]})})}W();function Id(e,t,n=[],r=!1){let[o,l]=C(null),[a,u]=C(null),[s,p]=C(!0),[g,v]=C(0),h=Ze(null);return T(()=>{if(r)return;let y=!1;h.current?.abort();let N=new AbortController;return h.current=N,e(N.signal).then((S)=>{if(y)return;l(S),u(null),p(!1)}).catch((S)=>{if(y||S instanceof DOMException&&S.name===\"AbortError\")return;u(S instanceof Error?S:Error(String(S))),p(!1)}),()=>{y=!0,N.abort()}},[g,r,e,...n]),T(()=>{if(r||t<=0)return;let y=setInterval(()=>{if(!document.hidden)v((N)=>N+1)},t);return()=>clearInterval(y)},[t,r]),{data:o,error:a,loading:s,refresh:()=>v((y)=>y+1)}}W();function Od(){let[e,t]=C(()=>Ra(window.location.pathname));return T(()=>{let n=()=>t(Ra(window.location.pathname));return window.addEventListener(\"popstate\",n),()=>window.removeEventListener(\"popstate\",n)},[]),e}W();function re({title:e,right:t,pad:n=!0,children:r,className:o}){return c(\"div\",{className:`card${o?` ${o}`:\"\"}`,children:[e&&c(\"div\",{className:\"card-head\",children:[i(\"h3\",{children:e}),i(\"span\",{className:\"spacer\"}),t]}),i(\"div\",{className:n?\"body\":void 0,children:r})]})}function j({k:e,v:t}){return c(\"div\",{className:\"kv\",children:[i(\"div\",{className:\"kv-label\",children:e}),i(\"div\",{className:\"kv-value\",children:t})]})}function q({title:e,subtitle:t,right:n}){return c(\"div\",{className:\"page-header\",children:[c(\"div\",{className:\"ph-text\",children:[i(\"h1\",{children:e}),t&&i(\"div\",{className:\"ph-subtitle\",children:t})]}),n&&i(\"div\",{className:\"ph-right\",children:n})]})}function Fd({data:e}){let t=e.totals.totalCost,n=_e(()=>Object.entries(e.typeStats).sort((l,a)=>a[1].totalCost-l[1].totalCost),[e.typeStats]),r=_e(()=>{let l=new Map;for(let a of e.activity){if(!a.costUsd)continue;let u=l.get(a.repo)??{total:0,runs:0};u.total+=a.costUsd,u.runs+=1,l.set(a.repo,u)}return[...l.entries()].sort((a,u)=>u[1].total-a[1].total)},[e.activity]),o=_e(()=>[...e.activity].filter((l)=>l.costUsd!=null).sort((l,a)=>(a.costUsd??0)-(l.costUsd??0)).slice(0,10),[e.activity]);return c(R,{children:[i(q,{title:\"Costs\",subtitle:`${V(t)} spent across ${e.totals.totalTasks} runs (14d window)`}),i(re,{title:\"Summary\",children:c(\"div\",{className:\"kv-grid-4\",children:[i(j,{k:\"spent (14d)\",v:V(t)}),i(j,{k:\"projected (30d)\",v:V(t*30/14)}),i(j,{k:\"avg / task\",v:V(e.totals.avgCost)}),i(j,{k:\"avg duration\",v:Pe(e.totals.avgDuration)})]})}),c(\"div\",{className:\"two-col\",children:[c(re,{title:\"By critter type\",children:[n.length===0&&i(\"div\",{className:\"empty-state\",children:\"no data\"}),n.map(([l,a])=>c(\"div\",{className:\"cost-breakdown-row\",children:[c(\"div\",{className:\"cbr-head\",children:[c(\"span\",{children:[i(L,{color:Z(l),size:7}),\" \",l]}),c(\"span\",{className:\"dim\",children:[V(a.totalCost),\" · \",a.total,\" runs\"]})]}),i(ft,{value:t>0?a.totalCost/t:0,color:Z(l),height:4})]},l))]}),c(re,{title:\"By repo\",children:[r.length===0&&i(\"div\",{className:\"empty-state\",children:\"no data\"}),r.map(([l,a])=>c(\"div\",{className:\"cost-breakdown-row\",children:[c(\"div\",{className:\"cbr-head\",children:[i(\"span\",{children:Ye(l)}),c(\"span\",{className:\"dim\",children:[V(a.total),\" · \",a.runs,\" runs\"]})]}),i(ft,{value:t>0?a.total/t:0,color:\"var(--accent)\",height:4})]},l))]})]}),i(re,{title:\"Top 10 most expensive runs\",pad:!1,children:i(\"table\",{className:\"activity\",children:c(\"tbody\",{children:[o.map((l,a)=>c(\"tr\",{className:a===0?\"\":\"\",children:[i(\"td\",{children:i(\"a\",{href:`/dashboard/${encodeURIComponent(l.identifier)}`,className:\"id\",children:l.identifier})}),i(\"td\",{children:l.title??\"—\"}),i(\"td\",{children:i(F,{color:Z(l.critterType),children:l.critterType})}),i(\"td\",{className:\"repo\",children:Ye(l.repo)}),i(\"td\",{className:\"dur num\",children:Pe(l.duration)}),i(\"td\",{className:\"cost num\",children:V(l.costUsd)}),i(\"td\",{className:\"when num\",children:It(l.timestamp)})]},`${l.identifier}:${l.timestamp}`)),o.length===0&&i(\"tr\",{children:i(\"td\",{colSpan:7,className:\"empty-state\",children:\"no cost data\"})})]})})})]})}W();function Ud(){let[e,t]=C(null),[n,r]=C(null),[o,l]=C(null);if(T(()=>{gd().then((u)=>{t(u.types),l(u.types[0]?.name??null)}).catch((u)=>r(u.message))},[]),n)return c(\"div\",{className:\"app-error\",children:[\"Failed to load types: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});let a=e.find((u)=>u.name===o)??e[0];return c(R,{children:[i(q,{title:\"Critter types\",subtitle:`${e.length} configured · ${e.filter((u)=>u.enabled).length} enabled`}),e.length===0?i(\"div\",{className:\"empty-state\",children:\"No critter types configured\"}):c(\"div\",{className:\"types-split\",children:[i(\"aside\",{className:\"types-list\",children:e.map((u)=>c(\"button\",{type:\"button\",className:`types-list-row${u.name===o?\" selected\":\"\"}`,style:{borderLeftColor:u.name===o?Z(u.name):\"transparent\"},onClick:()=>l(u.name),children:[c(\"div\",{className:\"tlr-head\",children:[i(L,{color:Z(u.name)}),i(\"span\",{className:\"tlr-name\",children:u.name}),u.builtin&&i(F,{children:\"built-in\"}),i(\"span\",{className:\"spacer\"}),i(\"span\",{className:`tlr-state ${u.enabled?\"on\":\"off\"}`,children:u.enabled?\"on\":\"off\"})]}),c(\"div\",{className:\"tlr-sub\",children:[u.phases.length,\" phase\",u.phases.length>1?\"s\":\"\",\" · \",u.stats.total,\" runs\"]})]},u.name))}),i(\"section\",{className:\"types-detail\",children:a&&i(nv,{t:a})})]})]})}function nv({t:e}){return c(R,{children:[i(re,{title:c(\"span\",{children:[e.name,\" \",c(\"span\",{className:\"type-variant\",children:[\"· \",e.builtin?\"built-in\":\"custom\"]})]}),children:c(\"div\",{className:\"kv-grid-4\",children:[i(j,{k:\"trigger label\",v:e.trigger.label}),i(j,{k:\"trigger status\",v:e.trigger.status}),i(j,{k:\"provider\",v:e.provider.join(\", \")||\"—\"}),i(j,{k:\"concurrency\",v:e.concurrency}),i(j,{k:\"timeout\",v:`${e.timeoutMinutes}m`}),i(j,{k:\"claim status\",v:e.claimStatus??\"—\"}),i(j,{k:\"on success →\",v:e.outcomes.success?.status??\"—\"}),i(j,{k:\"on failure →\",v:e.outcomes.failure?.status??\"—\"})]})}),i(re,{title:\"Phase pipeline\",children:i(\"div\",{className:\"phase-pipeline\",children:e.phases.map((t,n)=>c(\"div\",{className:\"phase-step-wrap\",children:[c(\"div\",{className:\"phase-step\",children:[c(\"div\",{className:\"phase-step-n\",children:[\"phase \",n+1]}),i(\"div\",{className:\"phase-step-name\",children:t.name}),c(\"div\",{className:\"kv-grid-2\",children:[i(j,{k:\"cli\",v:t.cli}),i(j,{k:\"model\",v:t.model}),i(j,{k:\"maxTurns\",v:t.maxTurns}),i(j,{k:\"tools\",v:t.tools}),i(\"div\",{className:\"span-2\",children:i(j,{k:\"prompt\",v:i(\"code\",{children:t.prompt})})}),t.permissionMode&&i(j,{k:\"perm mode\",v:t.permissionMode}),t.sandbox&&i(j,{k:\"sandbox\",v:t.sandbox})]})]}),n0?`${Math.round(e.stats.succeeded/e.stats.total*100)}%`:\"—\"}),i(\"div\",{className:\"stat-label\",children:\"Success\"})]}),c(re,{children:[i(\"div\",{className:\"stat-big\",children:V(e.stats.avgCost)}),i(\"div\",{className:\"stat-label\",children:\"Avg cost\"})]}),c(re,{children:[i(\"div\",{className:\"stat-big\",children:Pe(e.stats.avgDuration)}),i(\"div\",{className:\"stat-label\",children:\"Avg duration\"})]})]})]})}function Vd({data:e}){let t=e.activity.length;return c(R,{children:[i(q,{title:\"History\",subtitle:`${t} run${t===1?\"\":\"s\"} in memory`}),i(tl,{data:e})]})}W();function Wd(){let[e,t]=C(null),[n,r]=C(null);if(T(()=>{wd().then(t).catch((o)=>r(o.message))},[]),n)return c(\"div\",{className:\"app-error\",children:[\"Failed to load hooks: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});return c(R,{children:[i(q,{title:\"Hooks & webhooks\",subtitle:\"Lifecycle hooks + inbound webhooks\"}),c(\"div\",{className:\"two-col\",children:[i(re,{title:\"Lifecycle hooks\",right:c(\"span\",{className:\"card-head-count\",children:[e.hooks.filter((o)=>o.enabled).length,\"/\",e.hooks.length,\" enabled\"]}),pad:!1,children:e.hooks.map((o,l)=>c(\"div\",{className:`hook-row${l===e.hooks.length-1?\" last\":\"\"}`,children:[c(\"div\",{className:\"hook-row-head\",children:[i(L,{color:o.enabled?\"var(--green)\":\"var(--fg-3)\"}),i(\"span\",{className:\"hook-event\",children:o.event}),i(\"span\",{className:\"spacer\"})]}),i(\"div\",{className:`hook-cmd${o.cmd?\"\":\" empty\"}`,children:o.cmd||\"(not configured)\"})]},o.event))}),c(re,{title:\"Inbound webhooks\",pad:!1,children:[e.webhooks.map((o,l)=>c(\"div\",{className:`hook-row${l===e.webhooks.length-1?\" last\":\"\"}`,children:[c(\"div\",{className:\"hook-row-head\",children:[i(L,{color:o.secretSet?\"var(--green)\":\"var(--fg-3)\",pulse:o.secretSet}),i(\"span\",{className:\"hook-event capitalize\",children:o.provider}),i(F,{color:o.secretSet?\"var(--green)\":\"var(--amber)\",children:o.secretSet?\"secret set\":\"no secret\"}),i(\"span\",{className:\"spacer\"})]}),i(\"div\",{className:\"hook-cmd\",children:o.endpoint})]},o.provider)),e.tunnel?.domain&&c(\"div\",{className:\"tunnel-band\",children:[\"Tunnel: \",i(\"span\",{className:\"val\",children:e.tunnel.domain})]})]})]})]})}function Ad({data:e}){return Ie(1000),c(R,{children:[i(q,{title:\"In flight\",subtitle:`${e.activeCritters.length} active · ${e.concurrency.active}/${e.concurrency.max} slots used`,right:e.activeCritters.length>0&&c(F,{children:[i(L,{color:\"var(--accent)\",pulse:!0}),\" live\"]})}),e.activeCritters.length===0?c(\"div\",{className:\"empty-state\",children:[i(\"span\",{className:\"icon\",children:\"\\uD83E\\uDD97\"}),\"No active critters — all quiet\"]}):i(\"div\",{className:\"flight-grid\",children:e.activeCritters.map((t)=>i(rv,{c:t},t.identifier))})]})}function rv({c:e}){let t=Date.now()-e.startedAt,n=(e.timeoutMinutes??30)*60*1000,r=Math.min(1,t/n),o=r>0.8,l=e.critterType??\"create\",a=Z(l),u=`/dashboard/${encodeURIComponent(e.identifier)}`;return c(\"div\",{className:\"flight-card\",children:[c(\"div\",{className:\"fc-head\",children:[i(L,{color:a,pulse:!0}),i(\"a\",{href:u,className:\"fc-id\",children:e.identifier}),i(F,{color:a,borderColor:`color-mix(in oklch, ${a} 35%, transparent)`,children:Ln(e.phase)}),i(\"span\",{className:\"spacer\"}),i(F,{children:l})]}),i(\"div\",{className:\"fc-title\",children:e.title}),c(\"div\",{className:\"fc-meta\",children:[i(\"span\",{children:Ye(e.repo)}),i(\"span\",{children:\"·\"}),i(\"span\",{children:e.branch})]}),c(\"div\",{className:\"fc-metrics\",children:[i(Ma,{label:\"elapsed\",value:Dn(t),danger:o}),i(Ma,{label:\"cost\",value:V(e.costUsd),sub:e.costBudget!=null?`/ $${e.costBudget.toFixed(0)}`:void 0}),i(Ma,{label:\"timeout\",value:`${e.timeoutMinutes??30}m`})]}),i(\"div\",{className:\"fc-progress\",children:i(ft,{value:r,color:o?\"var(--danger)\":a,height:3})}),c(\"div\",{className:\"fc-actions\",children:[e.prUrl&&i(\"a\",{href:e.prUrl,target:\"_blank\",rel:\"noreferrer\",className:\"fc-link\",children:\"open PR ↗\"}),i(\"a\",{href:u,className:\"fc-link\",children:\"view logs ↗\"}),i(\"span\",{className:\"spacer\"})]})]})}function Ma({label:e,value:t,sub:n,danger:r}){return c(\"div\",{children:[i(\"div\",{className:\"fc-metric-label\",children:e}),c(\"div\",{className:`fc-metric-value${r?\" danger\":\"\"}`,children:[t,\" \",n&&i(\"span\",{className:\"fc-metric-sub\",children:n})]})]})}W();function Bd({data:e,initialIdentifier:t}){Ie(2000);let n=_e(()=>{let s=e.activeCritters.map((v)=>({identifier:v.identifier,title:v.title,critterType:v.critterType??\"create\",repo:v.repo,status:\"running\",timestamp:new Date(v.startedAt).toISOString(),durationMs:Date.now()-v.startedAt})),p=new Set(s.map((v)=>v.identifier)),g=e.activity.filter((v)=>!p.has(v.identifier)).map((v)=>({identifier:v.identifier,title:v.title??v.identifier,critterType:v.critterType,repo:v.repo,status:v.event===\"task_completed\"||v.event===\"review_completed\"?\"ok\":\"fail\",timestamp:v.timestamp,durationMs:v.duration}));return[...s,...g]},[e.activeCritters,e.activity]),[r,o]=C(t??n[0]?.identifier??null),[l,a]=C(\"\"),u=n.filter((s)=>!l||s.identifier.toLowerCase().includes(l.toLowerCase())||s.title.toLowerCase().includes(l.toLowerCase()));return c(R,{children:[i(q,{title:\"Logs\",subtitle:`${e.activeCritters.length} running · ${n.length-e.activeCritters.length} recent`}),c(\"div\",{className:\"logs-split\",children:[c(\"aside\",{className:\"logs-runlist\",children:[i(\"div\",{className:\"logs-runlist-search\",children:i(\"input\",{type:\"text\",placeholder:\"filter runs…\",value:l,onChange:(s)=>a(s.target.value)})}),c(\"div\",{className:\"logs-runlist-scroll\",children:[u.length===0&&i(\"div\",{className:\"empty-state\",children:\"no runs\"}),u.map((s)=>{let p=s.identifier===r,g=s.status===\"running\"?\"var(--accent)\":s.status===\"ok\"?\"var(--green)\":\"var(--danger)\";return c(\"button\",{type:\"button\",className:`logs-run-row${p?\" selected\":\"\"}`,style:{borderLeftColor:p?Z(s.critterType):\"transparent\"},onClick:()=>o(s.identifier),children:[c(\"div\",{className:\"lrr-head\",children:[i(L,{color:g,pulse:s.status===\"running\"}),i(\"span\",{className:\"lrr-id\",children:s.identifier}),i(\"span\",{className:\"spacer\"}),i(\"span\",{className:\"lrr-ts\",children:s.status===\"running\"?Dn(s.durationMs??0):$n(s.timestamp)})]}),i(\"div\",{className:\"lrr-title\",children:s.title}),c(\"div\",{className:\"lrr-meta\",children:[i(F,{color:Z(s.critterType),children:s.critterType}),i(\"span\",{className:\"lrr-repo\",children:Ye(s.repo)})]})]},`${s.identifier}:${s.timestamp}`)})]})]}),i(\"section\",{className:\"logs-detail\",children:r?i(il,{identifier:r,embedded:!0}):i(\"div\",{className:\"empty-state\",children:\"Select a run\"})})]})]})}W();function ov(e){if(e.provider!==\"anthropic\")return\"var(--violet)\";if(e.name.includes(\"opus\"))return\"var(--accent)\";if(e.name.includes(\"sonnet\"))return\"var(--sky)\";return\"var(--green)\"}function Hd(){let[e,t]=C(null),[n,r]=C(null);if(T(()=>{yd().then((o)=>t(o.models)).catch((o)=>r(o.message))},[]),n)return c(\"div\",{className:\"app-error\",children:[\"Failed: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});return c(R,{children:[i(q,{title:\"Models\",subtitle:\"Which model runs which phase, pulled from your critter-type config\"}),i(re,{title:\"Models in use\",pad:!0,children:e.length===0?i(\"div\",{className:\"empty-state\",children:\"No models found in config\"}):i(\"div\",{className:\"model-grid\",children:e.map((o)=>c(\"div\",{className:\"model-card\",children:[c(\"div\",{className:\"model-head\",children:[i(L,{color:ov(o)}),i(\"span\",{className:\"model-name\",children:o.name}),i(F,{children:o.provider})]}),i(\"div\",{className:\"model-usedby-label\",children:\"Used by\"}),i(\"div\",{className:\"model-usedby\",children:o.usedBy.map((l)=>i(F,{children:l},l))})]},o.name))})})]})}W();function Qd({data:e,onRefresh:t}){Ie(1000);let[n,r]=C(!1),o=Math.max(0,e.pollIntervalSeconds-Math.floor((Date.now()-(e.lastPollAt?new Date(e.lastPollAt).getTime():Date.now()))/1000));async function l(){r(!0);try{await In(),t()}finally{setTimeout(()=>r(!1),800)}}return c(R,{children:[i(q,{title:\"Queue\",subtitle:`${e.queuedCritters.length} waiting · polls every ${e.pollIntervalSeconds}s`,right:i(\"button\",{type:\"button\",className:\"btn-primary\",onClick:l,disabled:n,children:n?\"Polling…\":\"Poll now\"})}),c(\"div\",{className:\"queue-card\",children:[c(\"div\",{className:\"queue-head\",children:[i(\"span\",{children:\"#\"}),i(\"span\",{children:\"Issue\"}),i(\"span\",{children:\"Title\"}),i(\"span\",{children:\"Type\"}),i(\"span\",{children:\"Repo\"}),i(\"span\",{children:\"Waiting\"})]}),e.queuedCritters.length===0?i(\"div\",{className:\"empty-state\",children:\"queue is empty\"}):e.queuedCritters.map((a,u)=>c(\"div\",{className:\"queue-row\",children:[i(\"span\",{className:\"qrw-n\",children:u+1}),i(\"a\",{href:`/dashboard/${encodeURIComponent(a.identifier)}`,className:\"qrw-id\",children:a.identifier}),i(\"span\",{className:\"qrw-title\",children:a.title}),i(\"span\",{children:i(F,{color:Z(a.critterType??\"create\"),children:a.critterType??\"create\"})}),i(\"span\",{className:\"qrw-repo\",children:Ye(a.repo??\"\")}),i(\"span\",{className:\"qrw-wait\",children:$n(a.enqueuedAt)})]},a.identifier))]}),c(\"div\",{className:\"queue-footer\",children:[\"Next poll in \",c(\"span\",{className:\"val\",children:[o,\"s\"]}),\" · trigger early with \",i(\"span\",{className:\"val\",children:\"POST /poll\"}),\" or the button above\"]})]})}W();function al(e){let t=e.replace(/&/g,\"&\").replace(//g,\">\");return t=t.replace(/\\*\\*(.+?)\\*\\*/g,\"$1\").replace(/\\[([^\\]]+)\\]\\(([^)]+)\\)/g,(n,r,o)=>{return`${r}`}).replace(/`([^`]+)`/g,\"$1\"),t}function lv(e){return e.split(`\n`).filter((t)=>!/^\\s*\\*?\\s*\\**Full Changelog/i.test(t)).join(`\n`).trim()}function iv(e){let t=lv(e).split(`\n`),n=[],r=!1;for(let o of t){let l=o.trim();if(r&&!l.startsWith(\"* \")&&l!==\"\")n.push(\"\"),r=!1;if(l===\"\")continue;if(l.startsWith(\"### \")){n.push(`

${al(l.slice(4))}

`);continue}if(l.startsWith(\"## \")){n.push(`

${al(l.slice(3))}

`);continue}if(l.startsWith(\"* \")){if(!r)n.push(\"
    \"),r=!0;n.push(`
  • ${al(l.slice(2))}
  • `);continue}n.push(`

    ${al(l)}

    `)}if(r)n.push(\"
\");return n.join(`\n`)}function Kd(){let[e,t]=C(null),[n,r]=C(null);if(T(()=>{Nd().then(t).catch((o)=>r(o.message))},[]),n)return c(\"div\",{className:\"app-error\",children:[\"Failed: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});return c(\"div\",{className:\"releases-page\",children:[i(q,{title:\"Release notes\",subtitle:e.releases.length>0?`${e.releases.length} version${e.releases.length===1?\"\":\"s\"} · currently on v${e.current}`:`Currently on v${e.current}`}),e.releases.length===0?i(\"div\",{className:\"empty-state\",children:\"No release notes available (dev build).\"}):i(\"div\",{className:\"releases-list\",children:e.releases.map((o)=>c(\"article\",{className:\"release-card\",children:[c(\"header\",{className:\"release-head\",children:[c(\"h2\",{className:\"release-version\",children:[\"v\",o.version]}),o.current&&c(F,{color:\"var(--accent)\",borderColor:\"color-mix(in oklch, var(--accent) 40%, transparent)\",children:[i(L,{color:\"var(--accent)\",pulse:!0}),\" current\"]}),i(\"span\",{className:\"spacer\"}),i(\"span\",{className:\"release-date\",children:o.date})]}),i(\"div\",{className:\"release-body\",dangerouslySetInnerHTML:{__html:iv(o.body)}})]},o.version))})]})}W();function Yd(){let[e,t]=C(null),[n,r]=C(null);if(T(()=>{hd().then((o)=>t(o.repos)).catch((o)=>r(o.message))},[]),n)return c(\"div\",{className:\"app-error\",children:[\"Failed to load repos: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});return c(R,{children:[i(q,{title:\"Repos\",subtitle:`${e.length} configured`}),e.length===0?i(\"div\",{className:\"empty-state\",children:\"No repos configured\"}):i(\"div\",{className:\"repo-grid\",children:e.map((o)=>i(av,{r:o},o.url))})]})}function av({r:e}){let t=e.successRate==null?\"\":e.successRate>=80?\"ok\":e.successRate>=60?\"warn\":\"bad\";return c(\"div\",{className:\"repo-card\",children:[c(\"div\",{className:\"repo-head\",children:[i(\"span\",{className:\"repo-name\",children:e.short}),i(\"span\",{className:\"spacer\"}),e.projectId&&i(F,{children:e.projectId})]}),i(\"div\",{className:\"repo-url\",children:e.url}),c(\"div\",{className:\"repo-stats\",children:[c(\"div\",{children:[i(\"div\",{className:\"repo-stat-label\",children:\"runs 14d\"}),i(\"div\",{className:\"repo-stat-value\",children:e.runs14d})]}),c(\"div\",{children:[i(\"div\",{className:\"repo-stat-label\",children:\"success\"}),i(\"div\",{className:`repo-stat-value ${t}`,children:e.successRate==null?\"—\":`${e.successRate}%`})]}),c(\"div\",{children:[i(\"div\",{className:\"repo-stat-label\",children:\"cost 14d\"}),i(\"div\",{className:\"repo-stat-value\",children:V(e.cost14d)})]})]}),i(\"div\",{className:\"repo-tools-label\",children:\"extra tools\"}),i(\"div\",{className:\"repo-tools\",children:e.extraTools.length>0?e.extraTools.map((n)=>i(F,{children:n},n)):i(\"span\",{className:\"repo-tools-empty\",children:\"(defaults only)\"})})]})}W();function Xd(){let[e,t]=C(null),[n,r]=C(null);T(()=>{kd().then(t).catch((u)=>r(u.message))},[]);let o=_e(()=>{let u=new Map;for(let s of e?.envVars??[]){let p=u.get(s.category)??[];if(p.length===0)u.set(s.category,p);p.push(s)}return u},[e]);if(n)return c(\"div\",{className:\"app-error\",children:[\"Failed: \",n]});if(!e)return i(\"div\",{className:\"app-loading\",children:\"Loading…\"});let l=e.envVars.length,a=e.envVars.filter((u)=>u.set).length;return c(R,{children:[i(q,{title:\"Tokens & secrets\",subtitle:\"Environment variable presence · values are never exposed\"}),i(re,{title:\".env status\",right:c(\"span\",{className:\"card-head-count\",children:[a,\"/\",l,\" set\"]}),pad:!1,children:[...o.entries()].map(([u,s])=>c(\"div\",{className:\"env-group\",children:[i(\"div\",{className:\"env-group-label\",children:u}),s.map((p)=>c(\"div\",{className:\"env-row\",children:[i(L,{color:p.set?\"var(--green)\":\"var(--fg-3)\"}),i(\"span\",{className:\"env-key\",children:p.key}),i(\"span\",{className:\"spacer\"}),i(\"span\",{className:`env-status ${p.set?\"set\":\"unset\"}`,children:p.set?\"••••••\":\"—\"})]},p.key))]},u))})]})}var ul=10;function Gd(){let e=window.__CRITTERS__?.typeFilter??null,t=Od(),[n,r]=C(!1),[o,l]=C(!1),[a,u]=C(ul),[s,p]=C(()=>localStorage.getItem(\"critters-sidebar-collapsed\")===\"1\"),g=mt(()=>{p((d)=>{return localStorage.setItem(\"critters-sidebar-collapsed\",d?\"0\":\"1\"),!d})},[]),v=n,h=mt((d)=>pd(e,d),[e]),{data:y,error:N,loading:S,refresh:I}=Id(h,ul*1000,[],v);if(T(()=>{let d=!0;return vd().then((m)=>{if(!d)return;let w=localStorage.getItem(\"critters-token\");if(m&&w)nl(w);else if(m)l(!0)}),()=>{d=!1}},[]),T(()=>{u(ul)},[y]),T(()=>{let d=setInterval(()=>{if(v)return;u((m)=>m<=1?ul:m-1)},1000);return()=>clearInterval(d)},[v]),t.route===\"logs\"&&t.identifier)return c(\"div\",{className:`app${s?\" sidebar-collapsed\":\"\"}`,children:[y&&i(ba,{data:y,route:t.route}),i(\"main\",{className:\"main\",style:y?void 0:{gridColumn:\"1 / -1\"},children:i(il,{identifier:t.identifier})})]});if(S&&!y)return i(\"div\",{className:\"app-loading\",children:\"Loading dashboard…\"});if(N&&!y)return c(\"div\",{className:\"app-error\",children:[\"Failed to load dashboard: \",N.message]});if(!y)return null;let f=()=>{switch(t.route){case\"dashboard\":return c(R,{children:[y.allTypes.length>=2&&c(\"div\",{className:\"type-filters\",children:[i(\"a\",{href:\"/dashboard\",className:`chip${!e?\" active\":\"\"}`,children:\"all\"}),y.allTypes.map((d)=>i(\"a\",{href:`/dashboard?type=${encodeURIComponent(d)}`,className:`chip${e===d?\" active\":\"\"}`,children:d},d))]}),i(zd,{data:y}),i(_d,{data:y}),c(\"div\",{className:\"insights-row\",children:[i(Md,{data:y}),i(Ld,{data:y})]}),i(\"div\",{className:\"lower-grid\",children:i(tl,{data:y})})]});case\"inflight\":return i(Ad,{data:y});case\"queue\":return i(Qd,{data:y,onRefresh:I});case\"history\":return i(Vd,{data:y});case\"logs\":return i(Bd,{data:y});case\"types\":return i(Ud,{});case\"repos\":return i(Yd,{});case\"hooks\":return i(Wd,{});case\"tokens\":return i(Xd,{});case\"costs\":return i(Fd,{data:y});case\"models\":return i(Hd,{});case\"releases\":return i(Kd,{})}};return c(\"div\",{className:`app${s?\" sidebar-collapsed\":\"\"}`,children:[i(ba,{data:y,route:t.route}),c(\"main\",{className:\"main\",children:[i($d,{route:t.route,typeFilter:e,countdown:a,onOpenCreate:()=>r(!0),onRefreshNow:I,sidebarCollapsed:s,onToggleSidebar:g}),c(\"div\",{className:\"content\",children:[o&&i(Sd,{onSaved:()=>l(!1)}),f()]})]}),i(Cd,{open:n,onClose:()=>r(!1),onAuthRequired:()=>{r(!1),l(!0)}})]})}var Zd=document.getElementById(\"root\");if(Zd)qd.createRoot(Zd).render(i(Gd,{}));\n"; export const DASHBOARD_CSS = ":root{--sans:\"Inter\",system-ui,-apple-system,sans-serif;--mono:\"JetBrains Mono\",ui-monospace,SFMono-Regular,Menlo,monospace;--bg:oklch(.16 .008 80);--surface:oklch(.195 .008 80);--surface-2:oklch(.235 .009 80);--border:oklch(.28 .008 80);--border-subtle:oklch(.235 .008 80);--track:oklch(.245 .008 80);--fg:oklch(.96 .005 80);--fg-2:oklch(.78 .008 80);--fg-3:oklch(.58 .008 80);--accent:oklch(.78 .14 75);--green:oklch(.74 .14 150);--danger:oklch(.68 .19 25);--sky:oklch(.76 .11 230);--violet:oklch(.72 .14 300);--rose:oklch(.72 .15 10);--terminal-bg:oklch(.135 .008 80);--terminal-fg:oklch(.92 .008 80)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;margin:0;padding:0}body{min-height:100vh;font-size:15px;line-height:1.5}h1,h2,h3,h4{color:var(--fg);margin:0;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}code{font-family:var(--mono);color:var(--fg-2);font-size:13px}.app-loading,.app-error{font-family:var(--mono);color:var(--fg-3);padding:48px 28px}.app-error{color:var(--danger)}.app{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.app.sidebar-collapsed{grid-template-columns:1fr}.app.sidebar-collapsed .sidebar{display:none}.sidebar-toggle{border:1px solid var(--border);color:var(--fg-2);cursor:pointer;background:0 0;border-radius:6px;margin-right:4px;padding:4px 8px;font-size:14px;line-height:1}.sidebar-toggle:hover{background:var(--surface-2);color:var(--fg)}.insights-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.sidebar{border-right:1px solid var(--border);position:sticky;display:flex;background:var(--surface);overflow-y:auto;flex-direction:column;gap:20px;height:100vh;padding:20px 18px;top:0}.sidebar .brand{display:flex;letter-spacing:-.01em;align-items: center;gap:10px;font-size:16px;font-weight:600}.sidebar .brand .ver{font-family:var(--mono);color:var(--fg-3);font-size:11px;font-weight:500}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group .label{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);font-size:11px;font-family:var(--mono);padding:0 8px 6px}.nav-item{display:flex;color:var(--fg-2);cursor:pointer;text-decoration:none;border-radius:6px;align-items: center;gap:10px;padding:6px 8px;font-size:14px}.nav-item:hover{background:var(--surface-2);color:var(--fg);text-decoration:none}.nav-item.active{background:var(--surface-2);color:var(--fg)}.nav-item .count{font-family:var(--mono);color:var(--fg-3);margin-left:auto;font-size:11px}.daemon-card{background:var(--surface-2);border:1px solid var(--border);font-family:var(--mono);color:var(--fg-2);display:flex;border-radius:8px;flex-direction:column;gap:4px;margin-top:auto;padding:12px;font-size:12px}.daemon-card .row{display:flex;justify-content:space-between;gap:8px}.daemon-card .row .l{color:var(--fg-3)}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;z-index:10;white-space:nowrap;flex-wrap:wrap;align-items: center;gap:14px;padding:14px 28px;top:0}.topbar h1{letter-spacing:-.01em;font-size:17px;font-weight:600}.topbar .breadcrumb{color:var(--fg-3);font-family:var(--mono);font-size:13px}.topbar .spacer{flex:1}.topbar .meta{font-family:var(--mono);color:var(--fg-3);font-size:12px}.topbar .btn{font-family:var(--mono);border:1px solid var(--border);background:var(--surface-2);color:var(--fg);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.topbar .btn:hover{border-color:var(--fg-3)}.topbar .btn.primary{background:var(--accent);color:var(--bg);border-color:#0000;font-weight:600}.topbar .btn:disabled{opacity:.6;cursor:default}.topbar .btn.icon{position:relative;padding:6px 10px}.notif-dot{position:absolute;background:var(--green);display:inline-block;border-radius:50%;width:6px;height:6px;top:2px;right:4px}.content{width:100%;min-width:0;max-width:1480px;margin:0 auto;padding:20px 28px 40px}.spacer{flex:1}.type-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.dot{display:inline-block;position:relative;background:currentColor;border-radius:50%;width:6px;height:6px}.dot-pulse:after{content:\"\";position:absolute;opacity:.3;animation:pulse 1.6s ease-out infinite;background:currentColor;border-radius:50%;inset:0}@keyframes pulse{0%{transform:scale(1);opacity:.5}to{transform:scale(2.4);opacity:0}}@keyframes blink{50%{opacity:0}}.pill{display:inline-flex;font-size:12px;font-weight:500;font-family:var(--mono);letter-spacing:.01em;color:var(--fg-2);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items: center;gap:6px;padding:2px 8px}.progress{background:var(--track);overflow:hidden;border-radius:1px;width:100%;height:2px}.progress>.bar{background:var(--accent);height:100%;transition:width .3s}.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--border);position:relative;border-radius:10px;padding:14px 16px}.kpi .label{display:flex;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);font-size:12px;font-family:var(--mono);align-items: center;gap:6px}.kpi .value-row{display:flex;align-items:baseline;gap:10px;margin-top:6px}.kpi .value{font-size:27px;font-weight:500;font-family:var(--mono);letter-spacing:-.01em}.kpi .spark{display:flex;opacity:.7;flex:1;justify-content:flex-end}.kpi .sub{color:var(--fg-3);font-size:12px;font-family:var(--mono);margin-top:4px}.live-hero{display:grid;grid-template-columns:380px 1fr;border:1px solid var(--border);background:var(--surface);overflow:hidden;border-radius:12px;gap:0;min-height:420px;margin-bottom:16px}.active-col{border-right:1px solid var(--border);display:flex;flex-direction:column}.tail-col{display:flex;background:var(--terminal-bg);flex-direction:column;min-width:0}.section-header{display:flex;border-bottom:1px solid var(--border);align-items: center;gap:10px;padding:14px 18px}.section-header h3{font-size:14px;font-weight:600}.section-header .count{font-family:var(--mono);color:var(--fg-3);font-size:12px}.active-scroll{overflow-y:auto;flex:1}.active-row{border:none;border-left:2px solid #0000;border-bottom:1px solid var(--border-subtle);cursor:pointer;outline:none;color:inherit;font:inherit;text-align:left;display:block;background:0 0;width:100%;padding:10px 16px}.active-row:focus-visible{background:var(--surface-2)}.active-row.selected{background:var(--surface-2)}.active-row .ar-head{display:flex;align-items: center;gap:8px;margin-bottom:6px}.active-row .ar-id{font-family:var(--mono);color:var(--fg);font-size:13px;font-weight:600}.active-row .ar-title{color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;font-size:13px}.active-row .ar-meta{display:flex;align-items: center;gap:6px;margin-bottom:6px}.active-row .ar-elapsed{font-family:var(--mono);color:var(--fg-3);font-size:12px}.active-row .ar-elapsed.danger{color:var(--danger)}.active-row .ar-cost{font-family:var(--mono);color:var(--fg-3);margin-left:auto;font-size:11px}.queued-header{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);font-size:11px;font-family:var(--mono);border-top:1px dashed var(--border);margin-top:4px;padding:10px 16px 6px}.queued-row{display:flex;color:var(--fg-2);border-bottom:1px solid var(--border-subtle);align-items: center;gap:8px;padding:10px 16px;font-size:13px}.queued-row .qr-id{font-family:var(--mono);font-weight:600}.queued-row .qr-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.queued-row .qr-wait{font-family:var(--mono);color:var(--fg-3);font-size:12px}.empty-state{text-align:center;color:var(--fg-3);font-size:14px;font-family:var(--mono);padding:32px 16px}.empty-state .icon{display:block;margin-bottom:8px;font-size:25px}.tail-head{border-bottom:1px solid var(--border);display:flex;font-family:var(--mono);background:var(--surface);flex-wrap:wrap;align-items: center;gap:12px;padding:12px 16px;font-size:13px}.tail-head strong{color:var(--fg)}.tail-head .dim{color:var(--fg-3)}.tail-body{overflow-y:auto;font-family:var(--mono);color:var(--terminal-fg);flex:1;min-height:280px;max-height:560px;padding:12px 16px;font-size:13px;line-height:1.6}.tail-body .ln{display:flex;gap:10px;margin-bottom:4px}.tail-body .ln .ts{color:var(--fg-3);opacity:.6;flex-shrink:0;min-width:44px}.tail-body .ln .txt{white-space:pre-wrap;word-break:break-word;flex:1}.tail-body .ln.tool .txt{color:var(--sky)}.tail-body .ln.assistant .txt{color:var(--accent)}.tail-body .cursor{color:var(--fg-3);animation:blink 1s steps(2)infinite}.tail-foot{border-top:1px solid var(--border);display:flex;background:var(--surface);font-family:var(--mono);color:var(--fg-3);flex-wrap:wrap;align-items: center;gap:12px;padding:10px 16px;font-size:12px}.tail-foot .br{color:var(--fg-2)}.tail-empty{display:flex;color:var(--fg-3);font-family:var(--mono);flex:1;justify-content:center;align-items: center;padding:32px;font-size:14px}.lower-grid{display:flex;flex-direction:column;gap:16px}.card{border:1px solid var(--border);background:var(--surface);overflow:hidden;border-radius:12px}.card .body{padding:18px}.side-col{display:flex;flex-direction:column;gap:16px}.card h3{font-size:14px;font-weight:600}.card .chart-head{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.card .chart-head .meta{font-family:var(--mono);color:var(--fg-3);font-size:12px}.activity-filterbar{border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;align-items: center;gap:10px;padding:12px 18px}.activity-filterbar h3{font-size:14px;font-weight:600}.activity-filterbar .count{font-family:var(--mono);color:var(--fg-3);font-size:12px}.chip-row{display:flex;flex-wrap:wrap;gap:4px}.chip{font-family:var(--mono);border:1px solid var(--border);color:var(--fg-2);cursor:pointer;text-transform:lowercase;text-decoration:none;background:0 0;border-radius:999px;padding:3px 9px;font-size:12px}.chip:hover{border-color:var(--fg-3);color:var(--fg);text-decoration:none}.chip.active{background:var(--fg);color:var(--bg);border-color:var(--fg-2)}.activity-search{font-family:var(--mono);background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;width:160px;padding:4px 10px;font-size:13px}.activity-table-wrap{overflow-x:auto}table.activity{border-collapse:collapse;width:100%;font-size:13px}table.activity th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);text-align:left;border-bottom:1px solid var(--border);padding:10px 16px;font-size:11px;font-weight:600}table.activity td{vertical-align:middle;border-top:1px solid var(--border-subtle);padding:10px 16px}table.activity th.num,table.activity td.num{text-align:right}table.activity tr:hover td{background:oklch(.22 .008 80)}table.activity tr.row-clickable{cursor:pointer}table.activity tr.row-clickable td:first-child{padding-top:14px;padding-bottom:14px}table.activity tr.row-clickable a{position:relative;z-index:1}table.activity .id{font-family:var(--mono);font-weight:600}table.activity .repo{font-family:var(--mono);color:var(--fg-2)}table.activity .when{font-family:var(--mono);color:var(--fg-3)}table.activity .dur,table.activity .cost{font-family:var(--mono);color:var(--fg-2)}table.activity .status{display:inline-flex;font-family:var(--mono);align-items: center;gap:6px;font-size:12px}.activity td .issue-title{display:block;color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:.85em;line-height:1.3}table.activity .status.ok{color:var(--green)}table.activity .status.fail{color:var(--danger)}.activity-footer{border-top:1px solid var(--border);display:flex;align-items: center;gap:8px;padding:12px 18px}.activity-footer .count{font-family:var(--mono);color:var(--fg-3);font-size:12px}.throughput-bars{display:flex;align-items: flex-end;gap:4px;height:100px}.throughput-bars .bar-col{display:flex;flex-direction:column;flex:1;justify-content:flex-end;min-width:0}.throughput-bars .bar-col .ok{background:var(--accent);opacity:.9;border-radius:2px 2px 0 0}.throughput-bars .bar-col .bad{background:var(--danger)}.throughput-axis{display:flex;font-family:var(--mono);color:var(--fg-3);justify-content:space-between;margin-top:8px;font-size:11px}.type-rows{display:flex;flex-direction:column;gap:10px}.type-row{display:flex;align-items: center;gap:10px;font-size:13px}.type-row .name{font-family:var(--mono);color:var(--fg);width:140px}.type-row .track{flex:1}.type-row .rate{font-family:var(--mono);color:var(--fg-2);text-align:right;width:46px}.type-row .total{font-family:var(--mono);color:var(--fg-3);text-align:right;width:40px}.pr-status{margin-left:4px;font-size:12px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--fg-3)}.modal-backdrop{display:none;position:fixed;z-index:1000;background:#0009;justify-content:center;align-items: center;inset:0}.modal-backdrop.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:90%;max-width:500px;padding:24px}.modal h2{margin-bottom:16px;font-size:16px}.modal label{display:block;color:var(--fg-3);font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.modal input,.modal select,.modal textarea{background:var(--bg);border:1px solid var(--border);color:var(--fg);font-size:14px;font-family:var(--sans);border-radius:6px;width:100%;padding:8px}.modal textarea{resize:vertical;font-family:var(--mono);font-size:13px}.modal .field{margin-bottom:12px}.modal .actions{display:flex;justify-content:flex-end;gap:8px}.modal .btn{font-family:var(--mono);border:1px solid var(--border);background:var(--surface-2);color:var(--fg);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:13px}.modal .btn.primary{background:var(--accent);color:var(--bg);border-color:#0000;font-weight:600}.modal .error{display:none;background:color-mix(in oklch,var(--danger)15%,transparent);border:1px solid var(--danger);color:var(--danger);border-radius:6px;margin-bottom:12px;padding:8px 10px;font-size:13px}.modal .success{display:none;background:color-mix(in oklch,var(--green)15%,transparent);border:1px solid var(--green);color:var(--green);border-radius:6px;margin-bottom:12px;padding:8px 10px;font-size:13px}.auth-prompt{background:var(--surface);border:1px solid var(--border);display:flex;border-radius:8px;flex-wrap:wrap;align-items: center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:14px}.auth-prompt input{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:6px 10px;font-size:13px}.auth-prompt .btn{font-family:var(--mono);border:1px solid var(--border);background:var(--surface-2);color:var(--fg);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}@media (max-width:1500px){.live-hero{grid-template-columns:1fr}.active-col{border-right:none;border-bottom:1px solid var(--border)}.insights-row{grid-template-columns:1fr}}@media (max-width:980px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.kpi-strip{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px) and (min-width:641px){.tail-body{font-size:11px;line-height:1.5}.tail-head{font-size:11px}.tail-foot{font-size:10px}}@media (max-width:640px){.tail-body{font-size:10px;line-height:1.4}.tail-head{font-size:10px}.tail-foot{font-size:9px}}.log-topbar-back{color:var(--fg-3);font-size:13px;font-family:var(--mono)}.log-topbar-id{font-family:var(--mono);font-weight:600}.info-grid{display:grid;grid-template-columns:120px 1fr;gap:6px 16px;font-size:14px}.info-grid .label{color:var(--fg-3);font-family:var(--mono);text-transform:uppercase;font-size:12px}.cost-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.cost-item{text-align:center}.cost-item .value{font-size:23px;font-weight:500;font-family:var(--mono)}.cost-item .label{color:var(--fg-3);font-size:12px;font-family:var(--mono);margin-top:2px}.phase-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.log-viewer{background:var(--terminal-bg);border:1px solid var(--border);font-family:var(--mono);overflow-y:auto;color:var(--terminal-fg);border-radius:8px;min-height:400px;max-height:calc(100vh - 280px);padding:16px;font-size:13px;line-height:1.6}.log-viewer .ln{display:flex;gap:10px;margin-bottom:4px}.log-viewer .ln .txt{white-space:pre-wrap;word-break:break-word;flex:1}.log-viewer .ln.tool .txt{color:var(--sky)}.log-viewer .ln.assistant .txt{color:var(--accent)}.new-logs-btn{position:fixed;background:var(--accent);color:var(--bg);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--mono);z-index:100;border:none;border-radius:20px;padding:8px 16px;bottom:24px;right:24px}.btn-ghost{font-family:var(--mono);border:1px solid var(--border);color:var(--fg-2);cursor:pointer;background:0 0;border-radius:6px;padding:5px 10px;font-size:12px}.btn-ghost:hover{border-color:var(--fg-3);color:var(--fg)}.btn-primary{font-family:var(--mono);background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:disabled{opacity:.6;cursor:default}.page-header{display:flex;border-bottom:1px solid var(--border-subtle);align-items: flex-end;gap:16px;margin-bottom:20px;padding-bottom:14px}.page-header .ph-text{flex:1;min-width:0}.page-header h1{letter-spacing:-.01em;margin-bottom:4px;font-size:22px;font-weight:600}.page-header .ph-subtitle{color:var(--fg-3);font-size:13px;font-family:var(--mono)}.page-header .ph-right{display:flex;flex-shrink:0;align-items: center;gap:8px}.card{margin-bottom:14px}.card-head{display:flex;border-bottom:1px solid var(--border);align-items: center;gap:10px;padding:14px 18px}.card-head h3{font-size:14px;font-weight:600}.card-head-count{font-family:var(--mono);color:var(--fg-3);font-size:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:980px){.two-col{grid-template-columns:1fr}}.kv{min-width:0}.kv-label{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);font-size:10px;font-family:var(--mono)}.kv-value{font-family:var(--mono);color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:13px}.kv-value code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:4px;padding:1px 5px}.kv-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kv-grid-2{display:grid;grid-template-columns:1fr 1fr;font-family:var(--mono);gap:8px;font-size:11px}.kv-grid-2 .span-2{grid-column:1/-1}@media (max-width:980px){.kv-grid-4{grid-template-columns:repeat(2,1fr)}}.flight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px}.flight-card{border:1px solid var(--border);background:var(--surface);overflow:hidden;display:flex;border-radius:12px;flex-direction:column}.fc-head{display:flex;align-items: center;gap:8px;padding:14px 16px 10px}.fc-id{font-family:var(--mono);color:var(--fg);text-decoration:none;font-size:13px;font-weight:600}.fc-id:hover{text-decoration:underline;color:var(--accent)}.fc-title{color:var(--fg);padding:0 16px 10px;font-size:13px;line-height:1.4}.fc-meta{display:flex;font-family:var(--mono);color:var(--fg-3);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:8px;padding:0 16px 12px;font-size:11px}.fc-metrics{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--border-subtle);gap:10px;padding:12px 16px}.fc-metric-label{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);font-size:10px;font-family:var(--mono)}.fc-metric-value{font-family:var(--mono);color:var(--fg);margin-top:2px;font-size:15px;font-weight:500}.fc-metric-value.danger{color:var(--danger)}.fc-metric-sub{color:var(--fg-3);font-size:11px;font-weight:400}.fc-progress{border-bottom:1px solid var(--border-subtle);padding:8px 16px}.fc-actions{display:flex;align-items: center;gap:10px;padding:10px 16px}.fc-link{font-family:var(--mono);color:var(--accent);text-decoration:none;font-size:11px}.fc-link:hover{text-decoration:underline}.queue-card{border:1px solid var(--border);background:var(--surface);overflow:hidden;border-radius:12px}.queue-head{display:grid;grid-template-columns:40px 110px 1fr 130px 120px 100px;border-bottom:1px solid var(--border);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);padding:10px 18px;font-size:10px}.queue-row{display:grid;grid-template-columns:40px 110px 1fr 130px 120px 100px;border-bottom:1px solid var(--border-subtle);align-items: center;padding:12px 18px;font-size:13px}.queue-row:last-child{border-bottom:none}.qrw-n{font-family:var(--mono);color:var(--fg-3)}.qrw-id{font-family:var(--mono);color:var(--fg);text-decoration:none;font-weight:600}.qrw-id:hover{color:var(--accent);text-decoration:underline}.qrw-title{color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qrw-repo{font-family:var(--mono);color:var(--fg-2)}.qrw-wait{font-family:var(--mono);color:var(--fg-3)}.queue-footer{border:1px dashed var(--border);color:var(--fg-3);font-size:12px;font-family:var(--mono);border-radius:10px;margin-top:14px;padding:14px 18px}.queue-footer .val{color:var(--fg-2)}.logs-split{display:grid;grid-template-columns:320px 1fr;align-items: flex-start;gap:16px}.logs-runlist{border:1px solid var(--border);background:var(--surface);overflow:hidden;display:flex;position:sticky;border-radius:12px;flex-direction:column;max-height:calc(100vh - 200px);top:72px}.logs-runlist-search{border-bottom:1px solid var(--border);padding:10px 14px}.logs-runlist-search input{font-family:var(--mono);background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;width:100%;padding:6px 10px;font-size:13px}.logs-runlist-scroll{overflow-y:auto;flex:1}.logs-run-row{display:block;text-align:left;color:inherit;outline:none;border:none;border-left:2px solid #0000;border-bottom:1px solid var(--border-subtle);cursor:pointer;font:inherit;background:0 0;width:100%;padding:10px 14px}.logs-run-row:hover,.logs-run-row.selected{background:var(--surface-2)}.lrr-head{display:flex;align-items: center;gap:6px;margin-bottom:3px}.lrr-id{font-family:var(--mono);color:var(--fg);font-size:13px;font-weight:600}.lrr-ts{font-family:var(--mono);color:var(--fg-3);font-size:11px}.lrr-title{color:var(--fg-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:13px}.lrr-meta{display:flex;align-items: center;gap:6px}.lrr-repo{font-family:var(--mono);color:var(--fg-3);font-size:11px}.logs-detail{display:flex;flex-direction:column;gap:14px;min-width:0}@media (max-width:980px){.logs-split{grid-template-columns:1fr}.logs-runlist{position:static;max-height:400px}}.types-split{display:grid;grid-template-columns:280px 1fr;align-items: flex-start;gap:16px}.types-list{border:1px solid var(--border);background:var(--surface);overflow:hidden;border-radius:12px}.types-list-row{display:block;text-align:left;color:inherit;outline:none;border:none;border-left:2px solid #0000;border-bottom:1px solid var(--border-subtle);cursor:pointer;font:inherit;background:0 0;width:100%;padding:12px 16px}.types-list-row:hover,.types-list-row.selected{background:var(--surface-2)}.tlr-head{display:flex;align-items: center;gap:8px;margin-bottom:4px}.tlr-name{font-family:var(--mono);color:var(--fg);font-size:13px;font-weight:600}.tlr-state{font-size:11px;font-family:var(--mono)}.tlr-state.on{color:var(--green)}.tlr-state.off{color:var(--fg-3)}.tlr-sub{color:var(--fg-3);font-size:11px;font-family:var(--mono)}.types-detail>.card{margin-bottom:14px}.type-variant{font-family:var(--mono);color:var(--fg-3);font-size:11px;font-weight:400}.phase-pipeline{display:flex;flex-wrap:wrap;align-items:stretch;gap:0}.phase-step-wrap{display:flex;flex:1;align-items: center;min-width:240px}.phase-step{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex:1;padding:14px}.phase-step-n{font-family:var(--mono);color:var(--fg-3);margin-bottom:4px;font-size:11px}.phase-step-name{font-weight:600;font-family:var(--mono);color:var(--fg);margin-bottom:10px;font-size:14px}.phase-arrow{color:var(--fg-3);font-family:var(--mono);padding:0 8px;font-size:14px}.type-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.type-stat-grid .card{margin-bottom:0}.stat-big{font-family:var(--mono);color:var(--fg);font-size:26px;font-weight:500}.stat-big.ok{color:var(--green)}.stat-label{color:var(--fg-3);font-size:12px;font-family:var(--mono);margin-top:4px}@media (max-width:980px){.types-split{grid-template-columns:1fr}.type-stat-grid{grid-template-columns:repeat(2,1fr)}}.repo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.repo-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:18px}.repo-head{display:flex;align-items: center;gap:8px;margin-bottom:8px}.repo-name{font-family:var(--mono);color:var(--fg);font-size:14px;font-weight:600}.repo-url{font-family:var(--mono);color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:14px;font-size:11px}.repo-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px}.repo-stat-label{color:var(--fg-3);font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}.repo-stat-value{font-family:var(--mono);color:var(--fg);margin-top:3px;font-size:18px}.repo-stat-value.ok{color:var(--green)}.repo-stat-value.warn{color:var(--accent)}.repo-stat-value.bad{color:var(--danger)}.repo-tools-label{color:var(--fg-3);font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.repo-tools{display:flex;flex-wrap:wrap;gap:4px;min-height:22px}.repo-tools-empty{font-family:var(--mono);color:var(--fg-3);font-size:11px}.hook-row{border-bottom:1px solid var(--border-subtle);padding:14px 18px}.hook-row.last{border-bottom:none}.hook-row-head{display:flex;align-items: center;gap:10px;margin-bottom:6px}.hook-event{font-family:var(--mono);color:var(--fg);font-size:13px;font-weight:600}.hook-event.capitalize{text-transform:capitalize}.hook-cmd{font-family:var(--mono);color:var(--fg-2);background:var(--bg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:11px}.hook-cmd.empty{color:var(--fg-3)}.tunnel-band{border-top:1px dashed var(--border);font-family:var(--mono);color:var(--fg-3);padding:14px 18px;font-size:11px}.tunnel-band .val{color:var(--fg-2)}.env-group:not(:last-child){border-bottom:1px solid var(--border-subtle)}.env-group-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3);background:var(--surface-2);padding:10px 18px 6px;font-size:10px}.env-row{display:flex;font-family:var(--mono);border-top:1px solid var(--border-subtle);align-items: center;gap:10px;padding:10px 18px;font-size:12px}.env-row:first-of-type{border-top:none}.env-key{color:var(--fg);font-weight:600}.env-status.set{color:var(--green)}.env-status.unset{color:var(--fg-3)}.cost-breakdown-row{margin-bottom:12px}.cost-breakdown-row:last-child{margin-bottom:0}.cbr-head{display:flex;font-family:var(--mono);color:var(--fg);justify-content:space-between;align-items:baseline;margin-bottom:4px;font-size:12px}.cbr-head .dim{color:var(--fg-3)}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.model-card{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:14px}.model-head{display:flex;align-items: center;gap:8px;margin-bottom:10px}.model-name{font-family:var(--mono);color:var(--fg);font-size:14px;font-weight:600}.model-usedby-label{color:var(--fg-3);font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.model-usedby{display:flex;flex-wrap:wrap;gap:4px}.releases-page{max-width:760px;margin:0 auto}.releases-list{display:flex;flex-direction:column;gap:20px}.release-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:22px}.release-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:14px}.release-version{color:var(--fg);letter-spacing:-.01em;font-family:Instrument Serif,Georgia,serif;font-size:28px;font-weight:400}.release-date{font-family:var(--mono);color:var(--fg-3);font-size:12px}.release-body{color:var(--fg-2);font-size:14px;line-height:1.6}.release-body h2{color:var(--fg);margin:16px 0 6px;font-size:14px;font-weight:600}.release-body h2:first-child{margin-top:0}.release-body h3{color:var(--fg-2);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600;font-family:var(--mono);margin:10px 0 4px}.release-body p{margin:0 0 8px}.release-body ul{margin:6px 0 10px 22px;padding:0}.release-body li{margin-bottom:3px}.release-body code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border-subtle);color:var(--fg);border-radius:4px;padding:1px 5px;font-size:12px}.release-body strong{color:var(--fg);font-weight:600}.nav-item .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.badge-sm{display:inline-flex;font-size:12px;font-weight:500;font-family:var(--mono);border-radius:999px;align-items: center;padding:2px 8px}.badge-sm.live,.badge-sm.success{background:color-mix(in oklch,var(--green)15%,transparent);color:var(--green)}.badge-sm.fail{background:color-mix(in oklch,var(--danger)15%,transparent);color:var(--danger)}.badge-sm.neutral{background:var(--surface-2);color:var(--fg-3)}.badge-sm.running{background:color-mix(in oklch,var(--accent)15%,transparent);color:var(--accent)}.badge-sm.type{background:var(--surface-2);color:var(--fg-2);border:1px solid var(--border)}.external-link{color:var(--fg-3);margin-left:6px;font-size:12px}.external-link:hover{color:var(--accent)}@media (max-width:640px){.info-grid{grid-template-columns:1fr}.cost-grid{grid-template-columns:repeat(2,1fr)}}\n"; diff --git a/src/release-notes.ts b/src/release-notes.ts index 035396a..b4d88ef 100644 --- a/src/release-notes.ts +++ b/src/release-notes.ts @@ -1,4 +1,22 @@ export const RELEASE_NOTES: Array<{ tag: string; date: string; name: string; body: string }> = [ + { + "tag": "v1.9.0", + "date": "2026-04-26", + "name": "v1.9.0", + "body": "## What's Changed\n* Add Codex CLI support to Docker image by @andrewklingelhofer in https://github.com/ack-ventures/critters/pull/360\n* ACK-329 Pass auto mode to Codex by @andrewklingelhofer in https://github.com/ack-ventures/critters/pull/361\n* [ACK-326] Recover orphaned in-progress issues on daemon startup by @andrewklingelhofer in https://github.com/ack-ventures/critters/pull/344\n* Fix Codex dashboard logs from uploaded attachments by @andrewklingelhofer in https://github.com/ack-ventures/critters/pull/363\n* Bump version to v1.9.0 by @andrewklingelhofer in https://github.com/ack-ventures/critters/pull/364\n\n\n**Full Changelog**: https://github.com/ack-ventures/critters/compare/v1.8.2...v1.9.0" + }, + { + "tag": "v1.8.2", + "date": "2026-04-26", + "name": "v1.8.2", + "body": "## What's Changed\n* Improve daemon hardening paths by @andrewklingelhofer in https://github.com/ack-ventures/critters/pull/357\n* Fix Codex connector daemon compatibility by @andrewklingelhofer in https://github.com/ack-ventures/critters/pull/358\n* Bump version to v1.8.2 by @andrewklingelhofer in https://github.com/ack-ventures/critters/pull/359\n\n\n**Full Changelog**: https://github.com/ack-ventures/critters/compare/v1.8.1...v1.8.2" + }, + { + "tag": "v1.8.1", + "date": "2026-04-20", + "name": "v1.8.1", + "body": "## What's Changed\n* Multi-page dashboard: 11 new routes, grouped sidebar, config-backed pages by @andrewklingelhofer in https://github.com/ack-ventures/critters/pull/354\n* Bump version to v1.8.1 by @andrewklingelhofer in https://github.com/ack-ventures/critters/pull/355\n\n\n**Full Changelog**: https://github.com/ack-ventures/critters/compare/v1.8.0...v1.8.1" + }, { "tag": "v1.8.0", "date": "2026-04-19",