agent-dag 1.33.84 → 1.33.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -56,7 +56,7 @@ Error generating stack: `+w.message+`
|
|
|
56
56
|
*/var lw;function hR(){if(lw)return Qc;lw=1;var e=ra(),n=fR();function r(h,f){return h===f&&(h!==0||1/h===1/f)||h!==h&&f!==f}var s=typeof Object.is=="function"?Object.is:r,o=n.useSyncExternalStore,l=e.useRef,u=e.useEffect,c=e.useMemo,p=e.useDebugValue;return Qc.useSyncExternalStoreWithSelector=function(h,f,m,y,x){var C=l(null);if(C.current===null){var _={hasValue:!1,value:null};C.current=_}else _=C.current;C=c(function(){function b(P){if(!E){if(E=!0,N=P,P=y(P),x!==void 0&&_.hasValue){var O=_.value;if(x(O,P))return j=O}return j=P}if(O=j,s(N,P))return O;var B=y(P);return x!==void 0&&x(O,B)?(N=P,O):(N=P,j=B)}var E=!1,N,j,M=m===void 0?null:m;return[function(){return b(f())},M===null?void 0:function(){return b(M())}]},[f,m,y,x]);var S=o(h,C[0],C[1]);return u(function(){_.hasValue=!0,_.value=S},[S]),p(S),S},Qc}var uw;function pR(){return uw||(uw=1,Xc.exports=hR()),Xc.exports}var mR=pR();const gR=ev(mR),vR={},cw=e=>{let n;const r=new Set,s=(f,m)=>{const y=typeof f=="function"?f(n):f;if(!Object.is(y,n)){const x=n;n=m??(typeof y!="object"||y===null)?y:Object.assign({},n,y),r.forEach(C=>C(n,x))}},o=()=>n,p={setState:s,getState:o,getInitialState:()=>h,subscribe:f=>(r.add(f),()=>r.delete(f)),destroy:()=>{(vR?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},h=n=e(s,o,p);return p},yR=e=>e?cw(e):cw,{useDebugValue:wR}=ae,{useSyncExternalStoreWithSelector:xR}=gR,_R=e=>e;function Gk(e,n=_R,r){const s=xR(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,r);return wR(s),s}const dw=(e,n)=>{const r=yR(e),s=(o,l=n)=>Gk(r,o,l);return Object.assign(s,r),s},SR=(e,n)=>e?dw(e,n):dw;function Nt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[s,o]of e)if(!Object.is(o,n.get(s)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const s of e)if(!n.has(s))return!1;return!0}const r=Object.keys(e);if(r.length!==Object.keys(n).length)return!1;for(const s of r)if(!Object.prototype.hasOwnProperty.call(n,s)||!Object.is(e[s],n[s]))return!1;return!0}var bR={value:()=>{}};function Kl(){for(var e=0,n=arguments.length,r={},s;e<n;++e){if(!(s=arguments[e]+"")||s in r||/[\s.]/.test(s))throw new Error("illegal type: "+s);r[s]=[]}return new Il(r)}function Il(e){this._=e}function kR(e,n){return e.trim().split(/^|\s+/).map(function(r){var s="",o=r.indexOf(".");if(o>=0&&(s=r.slice(o+1),r=r.slice(0,o)),r&&!n.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:s}})}Il.prototype=Kl.prototype={constructor:Il,on:function(e,n){var r=this._,s=kR(e+"",r),o,l=-1,u=s.length;if(arguments.length<2){for(;++l<u;)if((o=(e=s[l]).type)&&(o=ER(r[o],e.name)))return o;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++l<u;)if(o=(e=s[l]).type)r[o]=fw(r[o],e.name,n);else if(n==null)for(o in r)r[o]=fw(r[o],e.name,null);return this},copy:function(){var e={},n=this._;for(var r in n)e[r]=n[r].slice();return new Il(e)},call:function(e,n){if((o=arguments.length-2)>0)for(var r=new Array(o),s=0,o,l;s<o;++s)r[s]=arguments[s+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(l=this._[e],s=0,o=l.length;s<o;++s)l[s].value.apply(n,r)},apply:function(e,n,r){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var s=this._[e],o=0,l=s.length;o<l;++o)s[o].value.apply(n,r)}};function ER(e,n){for(var r=0,s=e.length,o;r<s;++r)if((o=e[r]).name===n)return o.value}function fw(e,n,r){for(var s=0,o=e.length;s<o;++s)if(e[s].name===n){e[s]=bR,e=e.slice(0,s).concat(e.slice(s+1));break}return r!=null&&e.push({name:n,value:r}),e}var Ag="http://www.w3.org/1999/xhtml";const hw={svg:"http://www.w3.org/2000/svg",xhtml:Ag,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Xl(e){var n=e+="",r=n.indexOf(":");return r>=0&&(n=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),hw.hasOwnProperty(n)?{space:hw[n],local:e}:e}function NR(e){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===Ag&&n.documentElement.namespaceURI===Ag?n.createElement(e):n.createElementNS(r,e)}}function CR(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Yk(e){var n=Xl(e);return(n.local?CR:NR)(n)}function jR(){}function tv(e){return e==null?jR:function(){return this.querySelector(e)}}function RR(e){typeof e!="function"&&(e=tv(e));for(var n=this._groups,r=n.length,s=new Array(r),o=0;o<r;++o)for(var l=n[o],u=l.length,c=s[o]=new Array(u),p,h,f=0;f<u;++f)(p=l[f])&&(h=e.call(p,p.__data__,f,l))&&("__data__"in p&&(h.__data__=p.__data__),c[f]=h);return new mn(s,this._parents)}function TR(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function AR(){return[]}function Kk(e){return e==null?AR:function(){return this.querySelectorAll(e)}}function IR(e){return function(){return TR(e.apply(this,arguments))}}function MR(e){typeof e=="function"?e=IR(e):e=Kk(e);for(var n=this._groups,r=n.length,s=[],o=[],l=0;l<r;++l)for(var u=n[l],c=u.length,p,h=0;h<c;++h)(p=u[h])&&(s.push(e.call(p,p.__data__,h,u)),o.push(p));return new mn(s,o)}function Xk(e){return function(){return this.matches(e)}}function Qk(e){return function(n){return n.matches(e)}}var PR=Array.prototype.find;function OR(e){return function(){return PR.call(this.children,e)}}function qR(){return this.firstElementChild}function LR(e){return this.select(e==null?qR:OR(typeof e=="function"?e:Qk(e)))}var $R=Array.prototype.filter;function DR(){return Array.from(this.children)}function FR(e){return function(){return $R.call(this.children,e)}}function zR(e){return this.selectAll(e==null?DR:FR(typeof e=="function"?e:Qk(e)))}function BR(e){typeof e!="function"&&(e=Xk(e));for(var n=this._groups,r=n.length,s=new Array(r),o=0;o<r;++o)for(var l=n[o],u=l.length,c=s[o]=[],p,h=0;h<u;++h)(p=l[h])&&e.call(p,p.__data__,h,l)&&c.push(p);return new mn(s,this._parents)}function Zk(e){return new Array(e.length)}function UR(){return new mn(this._enter||this._groups.map(Zk),this._parents)}function ql(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}ql.prototype={constructor:ql,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function HR(e){return function(){return e}}function VR(e,n,r,s,o,l){for(var u=0,c,p=n.length,h=l.length;u<h;++u)(c=n[u])?(c.__data__=l[u],s[u]=c):r[u]=new ql(e,l[u]);for(;u<p;++u)(c=n[u])&&(o[u]=c)}function WR(e,n,r,s,o,l,u){var c,p,h=new Map,f=n.length,m=l.length,y=new Array(f),x;for(c=0;c<f;++c)(p=n[c])&&(y[c]=x=u.call(p,p.__data__,c,n)+"",h.has(x)?o[c]=p:h.set(x,p));for(c=0;c<m;++c)x=u.call(e,l[c],c,l)+"",(p=h.get(x))?(s[c]=p,p.__data__=l[c],h.delete(x)):r[c]=new ql(e,l[c]);for(c=0;c<f;++c)(p=n[c])&&h.get(y[c])===p&&(o[c]=p)}function GR(e){return e.__data__}function YR(e,n){if(!arguments.length)return Array.from(this,GR);var r=n?WR:VR,s=this._parents,o=this._groups;typeof e!="function"&&(e=HR(e));for(var l=o.length,u=new Array(l),c=new Array(l),p=new Array(l),h=0;h<l;++h){var f=s[h],m=o[h],y=m.length,x=KR(e.call(f,f&&f.__data__,h,s)),C=x.length,_=c[h]=new Array(C),S=u[h]=new Array(C),b=p[h]=new Array(y);r(f,m,_,S,b,x,n);for(var E=0,N=0,j,M;E<C;++E)if(j=_[E]){for(E>=N&&(N=E+1);!(M=S[N])&&++N<C;);j._next=M||null}}return u=new mn(u,s),u._enter=c,u._exit=p,u}function KR(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function XR(){return new mn(this._exit||this._groups.map(Zk),this._parents)}function QR(e,n,r){var s=this.enter(),o=this,l=this.exit();return typeof e=="function"?(s=e(s),s&&(s=s.selection())):s=s.append(e+""),n!=null&&(o=n(o),o&&(o=o.selection())),r==null?l.remove():r(l),s&&o?s.merge(o).order():o}function ZR(e){for(var n=e.selection?e.selection():e,r=this._groups,s=n._groups,o=r.length,l=s.length,u=Math.min(o,l),c=new Array(o),p=0;p<u;++p)for(var h=r[p],f=s[p],m=h.length,y=c[p]=new Array(m),x,C=0;C<m;++C)(x=h[C]||f[C])&&(y[C]=x);for(;p<o;++p)c[p]=r[p];return new mn(c,this._parents)}function JR(){for(var e=this._groups,n=-1,r=e.length;++n<r;)for(var s=e[n],o=s.length-1,l=s[o],u;--o>=0;)(u=s[o])&&(l&&u.compareDocumentPosition(l)^4&&l.parentNode.insertBefore(u,l),l=u);return this}function eT(e){e||(e=tT);function n(m,y){return m&&y?e(m.__data__,y.__data__):!m-!y}for(var r=this._groups,s=r.length,o=new Array(s),l=0;l<s;++l){for(var u=r[l],c=u.length,p=o[l]=new Array(c),h,f=0;f<c;++f)(h=u[f])&&(p[f]=h);p.sort(n)}return new mn(o,this._parents).order()}function tT(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function nT(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function rT(){return Array.from(this)}function iT(){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var s=e[n],o=0,l=s.length;o<l;++o){var u=s[o];if(u)return u}return null}function sT(){let e=0;for(const n of this)++e;return e}function oT(){return!this.node()}function aT(e){for(var n=this._groups,r=0,s=n.length;r<s;++r)for(var o=n[r],l=0,u=o.length,c;l<u;++l)(c=o[l])&&e.call(c,c.__data__,l,o);return this}function lT(e){return function(){this.removeAttribute(e)}}function uT(e){return function(){this.removeAttributeNS(e.space,e.local)}}function cT(e,n){return function(){this.setAttribute(e,n)}}function dT(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function fT(e,n){return function(){var r=n.apply(this,arguments);r==null?this.removeAttribute(e):this.setAttribute(e,r)}}function hT(e,n){return function(){var r=n.apply(this,arguments);r==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,r)}}function pT(e,n){var r=Xl(e);if(arguments.length<2){var s=this.node();return r.local?s.getAttributeNS(r.space,r.local):s.getAttribute(r)}return this.each((n==null?r.local?uT:lT:typeof n=="function"?r.local?hT:fT:r.local?dT:cT)(r,n))}function Jk(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function mT(e){return function(){this.style.removeProperty(e)}}function gT(e,n,r){return function(){this.style.setProperty(e,n,r)}}function vT(e,n,r){return function(){var s=n.apply(this,arguments);s==null?this.style.removeProperty(e):this.style.setProperty(e,s,r)}}function yT(e,n,r){return arguments.length>1?this.each((n==null?mT:typeof n=="function"?vT:gT)(e,n,r??"")):Ws(this.node(),e)}function Ws(e,n){return e.style.getPropertyValue(n)||Jk(e).getComputedStyle(e,null).getPropertyValue(n)}function wT(e){return function(){delete this[e]}}function xT(e,n){return function(){this[e]=n}}function _T(e,n){return function(){var r=n.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function ST(e,n){return arguments.length>1?this.each((n==null?wT:typeof n=="function"?_T:xT)(e,n)):this.node()[e]}function eE(e){return e.trim().split(/^|\s+/)}function nv(e){return e.classList||new tE(e)}function tE(e){this._node=e,this._names=eE(e.getAttribute("class")||"")}tE.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function nE(e,n){for(var r=nv(e),s=-1,o=n.length;++s<o;)r.add(n[s])}function rE(e,n){for(var r=nv(e),s=-1,o=n.length;++s<o;)r.remove(n[s])}function bT(e){return function(){nE(this,e)}}function kT(e){return function(){rE(this,e)}}function ET(e,n){return function(){(n.apply(this,arguments)?nE:rE)(this,e)}}function NT(e,n){var r=eE(e+"");if(arguments.length<2){for(var s=nv(this.node()),o=-1,l=r.length;++o<l;)if(!s.contains(r[o]))return!1;return!0}return this.each((typeof n=="function"?ET:n?bT:kT)(r,n))}function CT(){this.textContent=""}function jT(e){return function(){this.textContent=e}}function RT(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function TT(e){return arguments.length?this.each(e==null?CT:(typeof e=="function"?RT:jT)(e)):this.node().textContent}function AT(){this.innerHTML=""}function IT(e){return function(){this.innerHTML=e}}function MT(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function PT(e){return arguments.length?this.each(e==null?AT:(typeof e=="function"?MT:IT)(e)):this.node().innerHTML}function OT(){this.nextSibling&&this.parentNode.appendChild(this)}function qT(){return this.each(OT)}function LT(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function $T(){return this.each(LT)}function DT(e){var n=typeof e=="function"?e:Yk(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function FT(){return null}function zT(e,n){var r=typeof e=="function"?e:Yk(e),s=n==null?FT:typeof n=="function"?n:tv(n);return this.select(function(){return this.insertBefore(r.apply(this,arguments),s.apply(this,arguments)||null)})}function BT(){var e=this.parentNode;e&&e.removeChild(this)}function UT(){return this.each(BT)}function HT(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function VT(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function WT(e){return this.select(e?VT:HT)}function GT(e){return arguments.length?this.property("__data__",e):this.node().__data__}function YT(e){return function(n){e.call(this,n,this.__data__)}}function KT(e){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");return s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),{type:n,name:r}})}function XT(e){return function(){var n=this.__on;if(n){for(var r=0,s=-1,o=n.length,l;r<o;++r)l=n[r],(!e.type||l.type===e.type)&&l.name===e.name?this.removeEventListener(l.type,l.listener,l.options):n[++s]=l;++s?n.length=s:delete this.__on}}}function QT(e,n,r){return function(){var s=this.__on,o,l=YT(n);if(s){for(var u=0,c=s.length;u<c;++u)if((o=s[u]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=l,o.options=r),o.value=n;return}}this.addEventListener(e.type,l,r),o={type:e.type,name:e.name,value:n,listener:l,options:r},s?s.push(o):this.__on=[o]}}function ZT(e,n,r){var s=KT(e+""),o,l=s.length,u;if(arguments.length<2){var c=this.node().__on;if(c){for(var p=0,h=c.length,f;p<h;++p)for(o=0,f=c[p];o<l;++o)if((u=s[o]).type===f.type&&u.name===f.name)return f.value}return}for(c=n?QT:XT,o=0;o<l;++o)this.each(c(s[o],n,r));return this}function iE(e,n,r){var s=Jk(e),o=s.CustomEvent;typeof o=="function"?o=new o(n,r):(o=s.document.createEvent("Event"),r?(o.initEvent(n,r.bubbles,r.cancelable),o.detail=r.detail):o.initEvent(n,!1,!1)),e.dispatchEvent(o)}function JT(e,n){return function(){return iE(this,e,n)}}function e2(e,n){return function(){return iE(this,e,n.apply(this,arguments))}}function t2(e,n){return this.each((typeof n=="function"?e2:JT)(e,n))}function*n2(){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var s=e[n],o=0,l=s.length,u;o<l;++o)(u=s[o])&&(yield u)}var sE=[null];function mn(e,n){this._groups=e,this._parents=n}function ia(){return new mn([[document.documentElement]],sE)}function r2(){return this}mn.prototype=ia.prototype={constructor:mn,select:RR,selectAll:MR,selectChild:LR,selectChildren:zR,filter:BR,data:YR,enter:UR,exit:XR,join:QR,merge:ZR,selection:r2,order:JR,sort:eT,call:nT,nodes:rT,node:iT,size:sT,empty:oT,each:aT,attr:pT,style:yT,property:ST,classed:NT,text:TT,html:PT,raise:qT,lower:$T,append:DT,insert:zT,remove:UT,clone:WT,datum:GT,on:ZT,dispatch:t2,[Symbol.iterator]:n2};function Cn(e){return typeof e=="string"?new mn([[document.querySelector(e)]],[document.documentElement]):new mn([[e]],sE)}function i2(e){let n;for(;n=e.sourceEvent;)e=n;return e}function Yn(e,n){if(e=i2(e),n===void 0&&(n=e.currentTarget),n){var r=n.ownerSVGElement||n;if(r.createSVGPoint){var s=r.createSVGPoint();return s.x=e.clientX,s.y=e.clientY,s=s.matrixTransform(n.getScreenCTM().inverse()),[s.x,s.y]}if(n.getBoundingClientRect){var o=n.getBoundingClientRect();return[e.clientX-o.left-n.clientLeft,e.clientY-o.top-n.clientTop]}}return[e.pageX,e.pageY]}const s2={passive:!1},Go={capture:!0,passive:!1};function ed(e){e.stopImmediatePropagation()}function Bs(e){e.preventDefault(),e.stopImmediatePropagation()}function oE(e){var n=e.document.documentElement,r=Cn(e).on("dragstart.drag",Bs,Go);"onselectstart"in n?r.on("selectstart.drag",Bs,Go):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function aE(e,n){var r=e.document.documentElement,s=Cn(e).on("dragstart.drag",null);n&&(s.on("click.drag",Bs,Go),setTimeout(function(){s.on("click.drag",null)},0)),"onselectstart"in r?s.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}const gl=e=>()=>e;function Ig(e,{sourceEvent:n,subject:r,target:s,identifier:o,active:l,x:u,y:c,dx:p,dy:h,dispatch:f}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:s,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:l,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:p,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:f}})}Ig.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function o2(e){return!e.ctrlKey&&!e.button}function a2(){return this.parentNode}function l2(e,n){return n??{x:e.x,y:e.y}}function u2(){return navigator.maxTouchPoints||"ontouchstart"in this}function c2(){var e=o2,n=a2,r=l2,s=u2,o={},l=Kl("start","drag","end"),u=0,c,p,h,f,m=0;function y(j){j.on("mousedown.drag",x).filter(s).on("touchstart.drag",S).on("touchmove.drag",b,s2).on("touchend.drag touchcancel.drag",E).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function x(j,M){if(!(f||!e.call(this,j,M))){var P=N(this,n.call(this,j,M),j,M,"mouse");P&&(Cn(j.view).on("mousemove.drag",C,Go).on("mouseup.drag",_,Go),oE(j.view),ed(j),h=!1,c=j.clientX,p=j.clientY,P("start",j))}}function C(j){if(Bs(j),!h){var M=j.clientX-c,P=j.clientY-p;h=M*M+P*P>m}o.mouse("drag",j)}function _(j){Cn(j.view).on("mousemove.drag mouseup.drag",null),aE(j.view,h),Bs(j),o.mouse("end",j)}function S(j,M){if(e.call(this,j,M)){var P=j.changedTouches,O=n.call(this,j,M),B=P.length,L,q;for(L=0;L<B;++L)(q=N(this,O,j,M,P[L].identifier,P[L]))&&(ed(j),q("start",j,P[L]))}}function b(j){var M=j.changedTouches,P=M.length,O,B;for(O=0;O<P;++O)(B=o[M[O].identifier])&&(Bs(j),B("drag",j,M[O]))}function E(j){var M=j.changedTouches,P=M.length,O,B;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),O=0;O<P;++O)(B=o[M[O].identifier])&&(ed(j),B("end",j,M[O]))}function N(j,M,P,O,B,L){var q=l.copy(),I=Yn(L||P,M),H,X,T;if((T=r.call(j,new Ig("beforestart",{sourceEvent:P,target:y,identifier:B,active:u,x:I[0],y:I[1],dx:0,dy:0,dispatch:q}),O))!=null)return H=T.x-I[0]||0,X=T.y-I[1]||0,function Y(U,ee,J){var F=I,G;switch(U){case"start":o[B]=Y,G=u++;break;case"end":delete o[B],--u;case"drag":I=Yn(J||ee,M),G=u;break}q.call(U,j,new Ig(U,{sourceEvent:ee,subject:T,target:y,identifier:B,active:G,x:I[0]+H,y:I[1]+X,dx:I[0]-F[0],dy:I[1]-F[1],dispatch:q}),O)}}return y.filter=function(j){return arguments.length?(e=typeof j=="function"?j:gl(!!j),y):e},y.container=function(j){return arguments.length?(n=typeof j=="function"?j:gl(j),y):n},y.subject=function(j){return arguments.length?(r=typeof j=="function"?j:gl(j),y):r},y.touchable=function(j){return arguments.length?(s=typeof j=="function"?j:gl(!!j),y):s},y.on=function(){var j=l.on.apply(l,arguments);return j===l?y:j},y.clickDistance=function(j){return arguments.length?(m=(j=+j)*j,y):Math.sqrt(m)},y}function rv(e,n,r){e.prototype=n.prototype=r,r.constructor=e}function lE(e,n){var r=Object.create(e.prototype);for(var s in n)r[s]=n[s];return r}function sa(){}var Yo=.7,Ll=1/Yo,Us="\\s*([+-]?\\d+)\\s*",Ko="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",dr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",d2=/^#([0-9a-f]{3,8})$/,f2=new RegExp(`^rgb\\(${Us},${Us},${Us}\\)$`),h2=new RegExp(`^rgb\\(${dr},${dr},${dr}\\)$`),p2=new RegExp(`^rgba\\(${Us},${Us},${Us},${Ko}\\)$`),m2=new RegExp(`^rgba\\(${dr},${dr},${dr},${Ko}\\)$`),g2=new RegExp(`^hsl\\(${Ko},${dr},${dr}\\)$`),v2=new RegExp(`^hsla\\(${Ko},${dr},${dr},${Ko}\\)$`),pw={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};rv(sa,Xo,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:mw,formatHex:mw,formatHex8:y2,formatHsl:w2,formatRgb:gw,toString:gw});function mw(){return this.rgb().formatHex()}function y2(){return this.rgb().formatHex8()}function w2(){return uE(this).formatHsl()}function gw(){return this.rgb().formatRgb()}function Xo(e){var n,r;return e=(e+"").trim().toLowerCase(),(n=d2.exec(e))?(r=n[1].length,n=parseInt(n[1],16),r===6?vw(n):r===3?new ln(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):r===8?vl(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):r===4?vl(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=f2.exec(e))?new ln(n[1],n[2],n[3],1):(n=h2.exec(e))?new ln(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=p2.exec(e))?vl(n[1],n[2],n[3],n[4]):(n=m2.exec(e))?vl(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=g2.exec(e))?xw(n[1],n[2]/100,n[3]/100,1):(n=v2.exec(e))?xw(n[1],n[2]/100,n[3]/100,n[4]):pw.hasOwnProperty(e)?vw(pw[e]):e==="transparent"?new ln(NaN,NaN,NaN,0):null}function vw(e){return new ln(e>>16&255,e>>8&255,e&255,1)}function vl(e,n,r,s){return s<=0&&(e=n=r=NaN),new ln(e,n,r,s)}function x2(e){return e instanceof sa||(e=Xo(e)),e?(e=e.rgb(),new ln(e.r,e.g,e.b,e.opacity)):new ln}function Mg(e,n,r,s){return arguments.length===1?x2(e):new ln(e,n,r,s??1)}function ln(e,n,r,s){this.r=+e,this.g=+n,this.b=+r,this.opacity=+s}rv(ln,Mg,lE(sa,{brighter(e){return e=e==null?Ll:Math.pow(Ll,e),new ln(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Yo:Math.pow(Yo,e),new ln(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ln(Ki(this.r),Ki(this.g),Ki(this.b),$l(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:yw,formatHex:yw,formatHex8:_2,formatRgb:ww,toString:ww}));function yw(){return`#${Gi(this.r)}${Gi(this.g)}${Gi(this.b)}`}function _2(){return`#${Gi(this.r)}${Gi(this.g)}${Gi(this.b)}${Gi((isNaN(this.opacity)?1:this.opacity)*255)}`}function ww(){const e=$l(this.opacity);return`${e===1?"rgb(":"rgba("}${Ki(this.r)}, ${Ki(this.g)}, ${Ki(this.b)}${e===1?")":`, ${e})`}`}function $l(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ki(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Gi(e){return e=Ki(e),(e<16?"0":"")+e.toString(16)}function xw(e,n,r,s){return s<=0?e=n=r=NaN:r<=0||r>=1?e=n=NaN:n<=0&&(e=NaN),new Kn(e,n,r,s)}function uE(e){if(e instanceof Kn)return new Kn(e.h,e.s,e.l,e.opacity);if(e instanceof sa||(e=Xo(e)),!e)return new Kn;if(e instanceof Kn)return e;e=e.rgb();var n=e.r/255,r=e.g/255,s=e.b/255,o=Math.min(n,r,s),l=Math.max(n,r,s),u=NaN,c=l-o,p=(l+o)/2;return c?(n===l?u=(r-s)/c+(r<s)*6:r===l?u=(s-n)/c+2:u=(n-r)/c+4,c/=p<.5?l+o:2-l-o,u*=60):c=p>0&&p<1?0:u,new Kn(u,c,p,e.opacity)}function S2(e,n,r,s){return arguments.length===1?uE(e):new Kn(e,n,r,s??1)}function Kn(e,n,r,s){this.h=+e,this.s=+n,this.l=+r,this.opacity=+s}rv(Kn,S2,lE(sa,{brighter(e){return e=e==null?Ll:Math.pow(Ll,e),new Kn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Yo:Math.pow(Yo,e),new Kn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,s=r+(r<.5?r:1-r)*n,o=2*r-s;return new ln(td(e>=240?e-240:e+120,o,s),td(e,o,s),td(e<120?e+240:e-120,o,s),this.opacity)},clamp(){return new Kn(_w(this.h),yl(this.s),yl(this.l),$l(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=$l(this.opacity);return`${e===1?"hsl(":"hsla("}${_w(this.h)}, ${yl(this.s)*100}%, ${yl(this.l)*100}%${e===1?")":`, ${e})`}`}}));function _w(e){return e=(e||0)%360,e<0?e+360:e}function yl(e){return Math.max(0,Math.min(1,e||0))}function td(e,n,r){return(e<60?n+(r-n)*e/60:e<180?r:e<240?n+(r-n)*(240-e)/60:n)*255}const cE=e=>()=>e;function b2(e,n){return function(r){return e+r*n}}function k2(e,n,r){return e=Math.pow(e,r),n=Math.pow(n,r)-e,r=1/r,function(s){return Math.pow(e+s*n,r)}}function E2(e){return(e=+e)==1?dE:function(n,r){return r-n?k2(n,r,e):cE(isNaN(n)?r:n)}}function dE(e,n){var r=n-e;return r?b2(e,r):cE(isNaN(e)?n:e)}const Sw=(function e(n){var r=E2(n);function s(o,l){var u=r((o=Mg(o)).r,(l=Mg(l)).r),c=r(o.g,l.g),p=r(o.b,l.b),h=dE(o.opacity,l.opacity);return function(f){return o.r=u(f),o.g=c(f),o.b=p(f),o.opacity=h(f),o+""}}return s.gamma=e,s})(1);function mi(e,n){return e=+e,n=+n,function(r){return e*(1-r)+n*r}}var Pg=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,nd=new RegExp(Pg.source,"g");function N2(e){return function(){return e}}function C2(e){return function(n){return e(n)+""}}function j2(e,n){var r=Pg.lastIndex=nd.lastIndex=0,s,o,l,u=-1,c=[],p=[];for(e=e+"",n=n+"";(s=Pg.exec(e))&&(o=nd.exec(n));)(l=o.index)>r&&(l=n.slice(r,l),c[u]?c[u]+=l:c[++u]=l),(s=s[0])===(o=o[0])?c[u]?c[u]+=o:c[++u]=o:(c[++u]=null,p.push({i:u,x:mi(s,o)})),r=nd.lastIndex;return r<n.length&&(l=n.slice(r),c[u]?c[u]+=l:c[++u]=l),c.length<2?p[0]?C2(p[0].x):N2(n):(n=p.length,function(h){for(var f=0,m;f<n;++f)c[(m=p[f]).i]=m.x(h);return c.join("")})}var bw=180/Math.PI,Og={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function fE(e,n,r,s,o,l){var u,c,p;return(u=Math.sqrt(e*e+n*n))&&(e/=u,n/=u),(p=e*r+n*s)&&(r-=e*p,s-=n*p),(c=Math.sqrt(r*r+s*s))&&(r/=c,s/=c,p/=c),e*s<n*r&&(e=-e,n=-n,p=-p,u=-u),{translateX:o,translateY:l,rotate:Math.atan2(n,e)*bw,skewX:Math.atan(p)*bw,scaleX:u,scaleY:c}}var wl;function R2(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?Og:fE(n.a,n.b,n.c,n.d,n.e,n.f)}function T2(e){return e==null||(wl||(wl=document.createElementNS("http://www.w3.org/2000/svg","g")),wl.setAttribute("transform",e),!(e=wl.transform.baseVal.consolidate()))?Og:(e=e.matrix,fE(e.a,e.b,e.c,e.d,e.e,e.f))}function hE(e,n,r,s){function o(h){return h.length?h.pop()+" ":""}function l(h,f,m,y,x,C){if(h!==m||f!==y){var _=x.push("translate(",null,n,null,r);C.push({i:_-4,x:mi(h,m)},{i:_-2,x:mi(f,y)})}else(m||y)&&x.push("translate("+m+n+y+r)}function u(h,f,m,y){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),y.push({i:m.push(o(m)+"rotate(",null,s)-2,x:mi(h,f)})):f&&m.push(o(m)+"rotate("+f+s)}function c(h,f,m,y){h!==f?y.push({i:m.push(o(m)+"skewX(",null,s)-2,x:mi(h,f)}):f&&m.push(o(m)+"skewX("+f+s)}function p(h,f,m,y,x,C){if(h!==m||f!==y){var _=x.push(o(x)+"scale(",null,",",null,")");C.push({i:_-4,x:mi(h,m)},{i:_-2,x:mi(f,y)})}else(m!==1||y!==1)&&x.push(o(x)+"scale("+m+","+y+")")}return function(h,f){var m=[],y=[];return h=e(h),f=e(f),l(h.translateX,h.translateY,f.translateX,f.translateY,m,y),u(h.rotate,f.rotate,m,y),c(h.skewX,f.skewX,m,y),p(h.scaleX,h.scaleY,f.scaleX,f.scaleY,m,y),h=f=null,function(x){for(var C=-1,_=y.length,S;++C<_;)m[(S=y[C]).i]=S.x(x);return m.join("")}}}var A2=hE(R2,"px, ","px)","deg)"),I2=hE(T2,", ",")",")"),M2=1e-12;function kw(e){return((e=Math.exp(e))+1/e)/2}function P2(e){return((e=Math.exp(e))-1/e)/2}function O2(e){return((e=Math.exp(2*e))-1)/(e+1)}const q2=(function e(n,r,s){function o(l,u){var c=l[0],p=l[1],h=l[2],f=u[0],m=u[1],y=u[2],x=f-c,C=m-p,_=x*x+C*C,S,b;if(_<M2)b=Math.log(y/h)/n,S=function(O){return[c+O*x,p+O*C,h*Math.exp(n*O*b)]};else{var E=Math.sqrt(_),N=(y*y-h*h+s*_)/(2*h*r*E),j=(y*y-h*h-s*_)/(2*y*r*E),M=Math.log(Math.sqrt(N*N+1)-N),P=Math.log(Math.sqrt(j*j+1)-j);b=(P-M)/n,S=function(O){var B=O*b,L=kw(M),q=h/(r*E)*(L*O2(n*B+M)-P2(M));return[c+q*x,p+q*C,h*L/kw(n*B+M)]}}return S.duration=b*1e3*n/Math.SQRT2,S}return o.rho=function(l){var u=Math.max(.001,+l),c=u*u,p=c*c;return e(u,c,p)},o})(Math.SQRT2,2,4);var Gs=0,zo=0,qo=0,pE=1e3,Dl,Bo,Fl=0,Qi=0,Ql=0,Qo=typeof performance=="object"&&performance.now?performance:Date,mE=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function iv(){return Qi||(mE(L2),Qi=Qo.now()+Ql)}function L2(){Qi=0}function zl(){this._call=this._time=this._next=null}zl.prototype=gE.prototype={constructor:zl,restart:function(e,n,r){if(typeof e!="function")throw new TypeError("callback is not a function");r=(r==null?iv():+r)+(n==null?0:+n),!this._next&&Bo!==this&&(Bo?Bo._next=this:Dl=this,Bo=this),this._call=e,this._time=r,qg()},stop:function(){this._call&&(this._call=null,this._time=1/0,qg())}};function gE(e,n,r){var s=new zl;return s.restart(e,n,r),s}function $2(){iv(),++Gs;for(var e=Dl,n;e;)(n=Qi-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Gs}function Ew(){Qi=(Fl=Qo.now())+Ql,Gs=zo=0;try{$2()}finally{Gs=0,F2(),Qi=0}}function D2(){var e=Qo.now(),n=e-Fl;n>pE&&(Ql-=n,Fl=e)}function F2(){for(var e,n=Dl,r,s=1/0;n;)n._call?(s>n._time&&(s=n._time),e=n,n=n._next):(r=n._next,n._next=null,n=e?e._next=r:Dl=r);Bo=e,qg(s)}function qg(e){if(!Gs){zo&&(zo=clearTimeout(zo));var n=e-Qi;n>24?(e<1/0&&(zo=setTimeout(Ew,e-Qo.now()-Ql)),qo&&(qo=clearInterval(qo))):(qo||(Fl=Qo.now(),qo=setInterval(D2,pE)),Gs=1,mE(Ew))}}function Nw(e,n,r){var s=new zl;return n=n==null?0:+n,s.restart(o=>{s.stop(),e(o+n)},n,r),s}var z2=Kl("start","end","cancel","interrupt"),B2=[],vE=0,Cw=1,Lg=2,Ml=3,jw=4,$g=5,Pl=6;function Zl(e,n,r,s,o,l){var u=e.__transition;if(!u)e.__transition={};else if(r in u)return;U2(e,r,{name:n,index:s,group:o,on:z2,tween:B2,time:l.time,delay:l.delay,duration:l.duration,ease:l.ease,timer:null,state:vE})}function sv(e,n){var r=Zn(e,n);if(r.state>vE)throw new Error("too late; already scheduled");return r}function fr(e,n){var r=Zn(e,n);if(r.state>Ml)throw new Error("too late; already running");return r}function Zn(e,n){var r=e.__transition;if(!r||!(r=r[n]))throw new Error("transition not found");return r}function U2(e,n,r){var s=e.__transition,o;s[n]=r,r.timer=gE(l,0,r.time);function l(h){r.state=Cw,r.timer.restart(u,r.delay,r.time),r.delay<=h&&u(h-r.delay)}function u(h){var f,m,y,x;if(r.state!==Cw)return p();for(f in s)if(x=s[f],x.name===r.name){if(x.state===Ml)return Nw(u);x.state===jw?(x.state=Pl,x.timer.stop(),x.on.call("interrupt",e,e.__data__,x.index,x.group),delete s[f]):+f<n&&(x.state=Pl,x.timer.stop(),x.on.call("cancel",e,e.__data__,x.index,x.group),delete s[f])}if(Nw(function(){r.state===Ml&&(r.state=jw,r.timer.restart(c,r.delay,r.time),c(h))}),r.state=Lg,r.on.call("start",e,e.__data__,r.index,r.group),r.state===Lg){for(r.state=Ml,o=new Array(y=r.tween.length),f=0,m=-1;f<y;++f)(x=r.tween[f].value.call(e,e.__data__,r.index,r.group))&&(o[++m]=x);o.length=m+1}}function c(h){for(var f=h<r.duration?r.ease.call(null,h/r.duration):(r.timer.restart(p),r.state=$g,1),m=-1,y=o.length;++m<y;)o[m].call(e,f);r.state===$g&&(r.on.call("end",e,e.__data__,r.index,r.group),p())}function p(){r.state=Pl,r.timer.stop(),delete s[n];for(var h in s)return;delete e.__transition}}function Ol(e,n){var r=e.__transition,s,o,l=!0,u;if(r){n=n==null?null:n+"";for(u in r){if((s=r[u]).name!==n){l=!1;continue}o=s.state>Lg&&s.state<$g,s.state=Pl,s.timer.stop(),s.on.call(o?"interrupt":"cancel",e,e.__data__,s.index,s.group),delete r[u]}l&&delete e.__transition}}function H2(e){return this.each(function(){Ol(this,e)})}function V2(e,n){var r,s;return function(){var o=fr(this,e),l=o.tween;if(l!==r){s=r=l;for(var u=0,c=s.length;u<c;++u)if(s[u].name===n){s=s.slice(),s.splice(u,1);break}}o.tween=s}}function W2(e,n,r){var s,o;if(typeof r!="function")throw new Error;return function(){var l=fr(this,e),u=l.tween;if(u!==s){o=(s=u).slice();for(var c={name:n,value:r},p=0,h=o.length;p<h;++p)if(o[p].name===n){o[p]=c;break}p===h&&o.push(c)}l.tween=o}}function G2(e,n){var r=this._id;if(e+="",arguments.length<2){for(var s=Zn(this.node(),r).tween,o=0,l=s.length,u;o<l;++o)if((u=s[o]).name===e)return u.value;return null}return this.each((n==null?V2:W2)(r,e,n))}function ov(e,n,r){var s=e._id;return e.each(function(){var o=fr(this,s);(o.value||(o.value={}))[n]=r.apply(this,arguments)}),function(o){return Zn(o,s).value[n]}}function yE(e,n){var r;return(typeof n=="number"?mi:n instanceof Xo?Sw:(r=Xo(n))?(n=r,Sw):j2)(e,n)}function Y2(e){return function(){this.removeAttribute(e)}}function K2(e){return function(){this.removeAttributeNS(e.space,e.local)}}function X2(e,n,r){var s,o=r+"",l;return function(){var u=this.getAttribute(e);return u===o?null:u===s?l:l=n(s=u,r)}}function Q2(e,n,r){var s,o=r+"",l;return function(){var u=this.getAttributeNS(e.space,e.local);return u===o?null:u===s?l:l=n(s=u,r)}}function Z2(e,n,r){var s,o,l;return function(){var u,c=r(this),p;return c==null?void this.removeAttribute(e):(u=this.getAttribute(e),p=c+"",u===p?null:u===s&&p===o?l:(o=p,l=n(s=u,c)))}}function J2(e,n,r){var s,o,l;return function(){var u,c=r(this),p;return c==null?void this.removeAttributeNS(e.space,e.local):(u=this.getAttributeNS(e.space,e.local),p=c+"",u===p?null:u===s&&p===o?l:(o=p,l=n(s=u,c)))}}function eA(e,n){var r=Xl(e),s=r==="transform"?I2:yE;return this.attrTween(e,typeof n=="function"?(r.local?J2:Z2)(r,s,ov(this,"attr."+e,n)):n==null?(r.local?K2:Y2)(r):(r.local?Q2:X2)(r,s,n))}function tA(e,n){return function(r){this.setAttribute(e,n.call(this,r))}}function nA(e,n){return function(r){this.setAttributeNS(e.space,e.local,n.call(this,r))}}function rA(e,n){var r,s;function o(){var l=n.apply(this,arguments);return l!==s&&(r=(s=l)&&nA(e,l)),r}return o._value=n,o}function iA(e,n){var r,s;function o(){var l=n.apply(this,arguments);return l!==s&&(r=(s=l)&&tA(e,l)),r}return o._value=n,o}function sA(e,n){var r="attr."+e;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;var s=Xl(e);return this.tween(r,(s.local?rA:iA)(s,n))}function oA(e,n){return function(){sv(this,e).delay=+n.apply(this,arguments)}}function aA(e,n){return n=+n,function(){sv(this,e).delay=n}}function lA(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?oA:aA)(n,e)):Zn(this.node(),n).delay}function uA(e,n){return function(){fr(this,e).duration=+n.apply(this,arguments)}}function cA(e,n){return n=+n,function(){fr(this,e).duration=n}}function dA(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?uA:cA)(n,e)):Zn(this.node(),n).duration}function fA(e,n){if(typeof n!="function")throw new Error;return function(){fr(this,e).ease=n}}function hA(e){var n=this._id;return arguments.length?this.each(fA(n,e)):Zn(this.node(),n).ease}function pA(e,n){return function(){var r=n.apply(this,arguments);if(typeof r!="function")throw new Error;fr(this,e).ease=r}}function mA(e){if(typeof e!="function")throw new Error;return this.each(pA(this._id,e))}function gA(e){typeof e!="function"&&(e=Xk(e));for(var n=this._groups,r=n.length,s=new Array(r),o=0;o<r;++o)for(var l=n[o],u=l.length,c=s[o]=[],p,h=0;h<u;++h)(p=l[h])&&e.call(p,p.__data__,h,l)&&c.push(p);return new Pr(s,this._parents,this._name,this._id)}function vA(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,r=e._groups,s=n.length,o=r.length,l=Math.min(s,o),u=new Array(s),c=0;c<l;++c)for(var p=n[c],h=r[c],f=p.length,m=u[c]=new Array(f),y,x=0;x<f;++x)(y=p[x]||h[x])&&(m[x]=y);for(;c<s;++c)u[c]=n[c];return new Pr(u,this._parents,this._name,this._id)}function yA(e){return(e+"").trim().split(/^|\s+/).every(function(n){var r=n.indexOf(".");return r>=0&&(n=n.slice(0,r)),!n||n==="start"})}function wA(e,n,r){var s,o,l=yA(n)?sv:fr;return function(){var u=l(this,e),c=u.on;c!==s&&(o=(s=c).copy()).on(n,r),u.on=o}}function xA(e,n){var r=this._id;return arguments.length<2?Zn(this.node(),r).on.on(e):this.each(wA(r,e,n))}function _A(e){return function(){var n=this.parentNode;for(var r in this.__transition)if(+r!==e)return;n&&n.removeChild(this)}}function SA(){return this.on("end.remove",_A(this._id))}function bA(e){var n=this._name,r=this._id;typeof e!="function"&&(e=tv(e));for(var s=this._groups,o=s.length,l=new Array(o),u=0;u<o;++u)for(var c=s[u],p=c.length,h=l[u]=new Array(p),f,m,y=0;y<p;++y)(f=c[y])&&(m=e.call(f,f.__data__,y,c))&&("__data__"in f&&(m.__data__=f.__data__),h[y]=m,Zl(h[y],n,r,y,h,Zn(f,r)));return new Pr(l,this._parents,n,r)}function kA(e){var n=this._name,r=this._id;typeof e!="function"&&(e=Kk(e));for(var s=this._groups,o=s.length,l=[],u=[],c=0;c<o;++c)for(var p=s[c],h=p.length,f,m=0;m<h;++m)if(f=p[m]){for(var y=e.call(f,f.__data__,m,p),x,C=Zn(f,r),_=0,S=y.length;_<S;++_)(x=y[_])&&Zl(x,n,r,_,y,C);l.push(y),u.push(f)}return new Pr(l,u,n,r)}var EA=ia.prototype.constructor;function NA(){return new EA(this._groups,this._parents)}function CA(e,n){var r,s,o;return function(){var l=Ws(this,e),u=(this.style.removeProperty(e),Ws(this,e));return l===u?null:l===r&&u===s?o:o=n(r=l,s=u)}}function wE(e){return function(){this.style.removeProperty(e)}}function jA(e,n,r){var s,o=r+"",l;return function(){var u=Ws(this,e);return u===o?null:u===s?l:l=n(s=u,r)}}function RA(e,n,r){var s,o,l;return function(){var u=Ws(this,e),c=r(this),p=c+"";return c==null&&(p=c=(this.style.removeProperty(e),Ws(this,e))),u===p?null:u===s&&p===o?l:(o=p,l=n(s=u,c))}}function TA(e,n){var r,s,o,l="style."+n,u="end."+l,c;return function(){var p=fr(this,e),h=p.on,f=p.value[l]==null?c||(c=wE(n)):void 0;(h!==r||o!==f)&&(s=(r=h).copy()).on(u,o=f),p.on=s}}function AA(e,n,r){var s=(e+="")=="transform"?A2:yE;return n==null?this.styleTween(e,CA(e,s)).on("end.style."+e,wE(e)):typeof n=="function"?this.styleTween(e,RA(e,s,ov(this,"style."+e,n))).each(TA(this._id,e)):this.styleTween(e,jA(e,s,n),r).on("end.style."+e,null)}function IA(e,n,r){return function(s){this.style.setProperty(e,n.call(this,s),r)}}function MA(e,n,r){var s,o;function l(){var u=n.apply(this,arguments);return u!==o&&(s=(o=u)&&IA(e,u,r)),s}return l._value=n,l}function PA(e,n,r){var s="style."+(e+="");if(arguments.length<2)return(s=this.tween(s))&&s._value;if(n==null)return this.tween(s,null);if(typeof n!="function")throw new Error;return this.tween(s,MA(e,n,r??""))}function OA(e){return function(){this.textContent=e}}function qA(e){return function(){var n=e(this);this.textContent=n??""}}function LA(e){return this.tween("text",typeof e=="function"?qA(ov(this,"text",e)):OA(e==null?"":e+""))}function $A(e){return function(n){this.textContent=e.call(this,n)}}function DA(e){var n,r;function s(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&$A(o)),n}return s._value=e,s}function FA(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,DA(e))}function zA(){for(var e=this._name,n=this._id,r=xE(),s=this._groups,o=s.length,l=0;l<o;++l)for(var u=s[l],c=u.length,p,h=0;h<c;++h)if(p=u[h]){var f=Zn(p,n);Zl(p,e,r,h,u,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new Pr(s,this._parents,e,r)}function BA(){var e,n,r=this,s=r._id,o=r.size();return new Promise(function(l,u){var c={value:u},p={value:function(){--o===0&&l()}};r.each(function(){var h=fr(this,s),f=h.on;f!==e&&(n=(e=f).copy(),n._.cancel.push(c),n._.interrupt.push(c),n._.end.push(p)),h.on=n}),o===0&&l()})}var UA=0;function Pr(e,n,r,s){this._groups=e,this._parents=n,this._name=r,this._id=s}function xE(){return++UA}var Tr=ia.prototype;Pr.prototype={constructor:Pr,select:bA,selectAll:kA,selectChild:Tr.selectChild,selectChildren:Tr.selectChildren,filter:gA,merge:vA,selection:NA,transition:zA,call:Tr.call,nodes:Tr.nodes,node:Tr.node,size:Tr.size,empty:Tr.empty,each:Tr.each,on:xA,attr:eA,attrTween:sA,style:AA,styleTween:PA,text:LA,textTween:FA,remove:SA,tween:G2,delay:lA,duration:dA,ease:hA,easeVarying:mA,end:BA,[Symbol.iterator]:Tr[Symbol.iterator]};function HA(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var VA={time:null,delay:0,duration:250,ease:HA};function WA(e,n){for(var r;!(r=e.__transition)||!(r=r[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return r}function GA(e){var n,r;e instanceof Pr?(n=e._id,e=e._name):(n=xE(),(r=VA).time=iv(),e=e==null?null:e+"");for(var s=this._groups,o=s.length,l=0;l<o;++l)for(var u=s[l],c=u.length,p,h=0;h<c;++h)(p=u[h])&&Zl(p,e,n,h,u,r||WA(p,n));return new Pr(s,this._parents,e,n)}ia.prototype.interrupt=H2;ia.prototype.transition=GA;const xl=e=>()=>e;function YA(e,{sourceEvent:n,target:r,transform:s,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:s,enumerable:!0,configurable:!0},_:{value:o}})}function Ir(e,n,r){this.k=e,this.x=n,this.y=r}Ir.prototype={constructor:Ir,scale:function(e){return e===1?this:new Ir(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Ir(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Mr=new Ir(1,0,0);Ir.prototype;function rd(e){e.stopImmediatePropagation()}function Lo(e){e.preventDefault(),e.stopImmediatePropagation()}function KA(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function XA(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Rw(){return this.__zoom||Mr}function QA(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ZA(){return navigator.maxTouchPoints||"ontouchstart"in this}function JA(e,n,r){var s=e.invertX(n[0][0])-r[0][0],o=e.invertX(n[1][0])-r[1][0],l=e.invertY(n[0][1])-r[0][1],u=e.invertY(n[1][1])-r[1][1];return e.translate(o>s?(s+o)/2:Math.min(0,s)||Math.max(0,o),u>l?(l+u)/2:Math.min(0,l)||Math.max(0,u))}function _E(){var e=KA,n=XA,r=JA,s=QA,o=ZA,l=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,p=q2,h=Kl("start","zoom","end"),f,m,y,x=500,C=150,_=0,S=10;function b(T){T.property("__zoom",Rw).on("wheel.zoom",B,{passive:!1}).on("mousedown.zoom",L).on("dblclick.zoom",q).filter(o).on("touchstart.zoom",I).on("touchmove.zoom",H).on("touchend.zoom touchcancel.zoom",X).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(T,Y,U,ee){var J=T.selection?T.selection():T;J.property("__zoom",Rw),T!==J?M(T,Y,U,ee):J.interrupt().each(function(){P(this,arguments).event(ee).start().zoom(null,typeof Y=="function"?Y.apply(this,arguments):Y).end()})},b.scaleBy=function(T,Y,U,ee){b.scaleTo(T,function(){var J=this.__zoom.k,F=typeof Y=="function"?Y.apply(this,arguments):Y;return J*F},U,ee)},b.scaleTo=function(T,Y,U,ee){b.transform(T,function(){var J=n.apply(this,arguments),F=this.__zoom,G=U==null?j(J):typeof U=="function"?U.apply(this,arguments):U,k=F.invert(G),$=typeof Y=="function"?Y.apply(this,arguments):Y;return r(N(E(F,$),G,k),J,u)},U,ee)},b.translateBy=function(T,Y,U,ee){b.transform(T,function(){return r(this.__zoom.translate(typeof Y=="function"?Y.apply(this,arguments):Y,typeof U=="function"?U.apply(this,arguments):U),n.apply(this,arguments),u)},null,ee)},b.translateTo=function(T,Y,U,ee,J){b.transform(T,function(){var F=n.apply(this,arguments),G=this.__zoom,k=ee==null?j(F):typeof ee=="function"?ee.apply(this,arguments):ee;return r(Mr.translate(k[0],k[1]).scale(G.k).translate(typeof Y=="function"?-Y.apply(this,arguments):-Y,typeof U=="function"?-U.apply(this,arguments):-U),F,u)},ee,J)};function E(T,Y){return Y=Math.max(l[0],Math.min(l[1],Y)),Y===T.k?T:new Ir(Y,T.x,T.y)}function N(T,Y,U){var ee=Y[0]-U[0]*T.k,J=Y[1]-U[1]*T.k;return ee===T.x&&J===T.y?T:new Ir(T.k,ee,J)}function j(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function M(T,Y,U,ee){T.on("start.zoom",function(){P(this,arguments).event(ee).start()}).on("interrupt.zoom end.zoom",function(){P(this,arguments).event(ee).end()}).tween("zoom",function(){var J=this,F=arguments,G=P(J,F).event(ee),k=n.apply(J,F),$=U==null?j(k):typeof U=="function"?U.apply(J,F):U,se=Math.max(k[1][0]-k[0][0],k[1][1]-k[0][1]),D=J.__zoom,Q=typeof Y=="function"?Y.apply(J,F):Y,te=p(D.invert($).concat(se/D.k),Q.invert($).concat(se/Q.k));return function(oe){if(oe===1)oe=Q;else{var ue=te(oe),me=se/ue[2];oe=new Ir(me,$[0]-ue[0]*me,$[1]-ue[1]*me)}G.zoom(null,oe)}})}function P(T,Y,U){return!U&&T.__zooming||new O(T,Y)}function O(T,Y){this.that=T,this.args=Y,this.active=0,this.sourceEvent=null,this.extent=n.apply(T,Y),this.taps=0}O.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,Y){return this.mouse&&T!=="mouse"&&(this.mouse[1]=Y.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=Y.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=Y.invert(this.touch1[0])),this.that.__zoom=Y,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var Y=Cn(this.that).datum();h.call(T,this.that,new YA(T,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:h}),Y)}};function B(T,...Y){if(!e.apply(this,arguments))return;var U=P(this,Y).event(T),ee=this.__zoom,J=Math.max(l[0],Math.min(l[1],ee.k*Math.pow(2,s.apply(this,arguments)))),F=Yn(T);if(U.wheel)(U.mouse[0][0]!==F[0]||U.mouse[0][1]!==F[1])&&(U.mouse[1]=ee.invert(U.mouse[0]=F)),clearTimeout(U.wheel);else{if(ee.k===J)return;U.mouse=[F,ee.invert(F)],Ol(this),U.start()}Lo(T),U.wheel=setTimeout(G,C),U.zoom("mouse",r(N(E(ee,J),U.mouse[0],U.mouse[1]),U.extent,u));function G(){U.wheel=null,U.end()}}function L(T,...Y){if(y||!e.apply(this,arguments))return;var U=T.currentTarget,ee=P(this,Y,!0).event(T),J=Cn(T.view).on("mousemove.zoom",$,!0).on("mouseup.zoom",se,!0),F=Yn(T,U),G=T.clientX,k=T.clientY;oE(T.view),rd(T),ee.mouse=[F,this.__zoom.invert(F)],Ol(this),ee.start();function $(D){if(Lo(D),!ee.moved){var Q=D.clientX-G,te=D.clientY-k;ee.moved=Q*Q+te*te>_}ee.event(D).zoom("mouse",r(N(ee.that.__zoom,ee.mouse[0]=Yn(D,U),ee.mouse[1]),ee.extent,u))}function se(D){J.on("mousemove.zoom mouseup.zoom",null),aE(D.view,ee.moved),Lo(D),ee.event(D).end()}}function q(T,...Y){if(e.apply(this,arguments)){var U=this.__zoom,ee=Yn(T.changedTouches?T.changedTouches[0]:T,this),J=U.invert(ee),F=U.k*(T.shiftKey?.5:2),G=r(N(E(U,F),ee,J),n.apply(this,Y),u);Lo(T),c>0?Cn(this).transition().duration(c).call(M,G,ee,T):Cn(this).call(b.transform,G,ee,T)}}function I(T,...Y){if(e.apply(this,arguments)){var U=T.touches,ee=U.length,J=P(this,Y,T.changedTouches.length===ee).event(T),F,G,k,$;for(rd(T),G=0;G<ee;++G)k=U[G],$=Yn(k,this),$=[$,this.__zoom.invert($),k.identifier],J.touch0?!J.touch1&&J.touch0[2]!==$[2]&&(J.touch1=$,J.taps=0):(J.touch0=$,F=!0,J.taps=1+!!f);f&&(f=clearTimeout(f)),F&&(J.taps<2&&(m=$[0],f=setTimeout(function(){f=null},x)),Ol(this),J.start())}}function H(T,...Y){if(this.__zooming){var U=P(this,Y).event(T),ee=T.changedTouches,J=ee.length,F,G,k,$;for(Lo(T),F=0;F<J;++F)G=ee[F],k=Yn(G,this),U.touch0&&U.touch0[2]===G.identifier?U.touch0[0]=k:U.touch1&&U.touch1[2]===G.identifier&&(U.touch1[0]=k);if(G=U.that.__zoom,U.touch1){var se=U.touch0[0],D=U.touch0[1],Q=U.touch1[0],te=U.touch1[1],oe=(oe=Q[0]-se[0])*oe+(oe=Q[1]-se[1])*oe,ue=(ue=te[0]-D[0])*ue+(ue=te[1]-D[1])*ue;G=E(G,Math.sqrt(oe/ue)),k=[(se[0]+Q[0])/2,(se[1]+Q[1])/2],$=[(D[0]+te[0])/2,(D[1]+te[1])/2]}else if(U.touch0)k=U.touch0[0],$=U.touch0[1];else return;U.zoom("touch",r(N(G,k,$),U.extent,u))}}function X(T,...Y){if(this.__zooming){var U=P(this,Y).event(T),ee=T.changedTouches,J=ee.length,F,G;for(rd(T),y&&clearTimeout(y),y=setTimeout(function(){y=null},x),F=0;F<J;++F)G=ee[F],U.touch0&&U.touch0[2]===G.identifier?delete U.touch0:U.touch1&&U.touch1[2]===G.identifier&&delete U.touch1;if(U.touch1&&!U.touch0&&(U.touch0=U.touch1,delete U.touch1),U.touch0)U.touch0[1]=this.__zoom.invert(U.touch0[0]);else if(U.end(),U.taps===2&&(G=Yn(G,this),Math.hypot(m[0]-G[0],m[1]-G[1])<S)){var k=Cn(this).on("dblclick.zoom");k&&k.apply(this,arguments)}}}return b.wheelDelta=function(T){return arguments.length?(s=typeof T=="function"?T:xl(+T),b):s},b.filter=function(T){return arguments.length?(e=typeof T=="function"?T:xl(!!T),b):e},b.touchable=function(T){return arguments.length?(o=typeof T=="function"?T:xl(!!T),b):o},b.extent=function(T){return arguments.length?(n=typeof T=="function"?T:xl([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),b):n},b.scaleExtent=function(T){return arguments.length?(l[0]=+T[0],l[1]=+T[1],b):[l[0],l[1]]},b.translateExtent=function(T){return arguments.length?(u[0][0]=+T[0][0],u[1][0]=+T[1][0],u[0][1]=+T[0][1],u[1][1]=+T[1][1],b):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},b.constrain=function(T){return arguments.length?(r=T,b):r},b.duration=function(T){return arguments.length?(c=+T,b):c},b.interpolate=function(T){return arguments.length?(p=T,b):p},b.on=function(){var T=h.on.apply(h,arguments);return T===h?b:T},b.clickDistance=function(T){return arguments.length?(_=(T=+T)*T,b):Math.sqrt(_)},b.tapDistance=function(T){return arguments.length?(S=+T,b):S},b}var eI=Wk();const Jl=A.createContext(null),tI=Jl.Provider,Or={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,n)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?n.targetHandle:n.sourceHandle}", edge id: ${n.id}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`},SE=Or.error001();function Xe(e,n){const r=A.useContext(Jl);if(r===null)throw new Error(SE);return Gk(r,e,n)}const Ct=()=>{const e=A.useContext(Jl);if(e===null)throw new Error(SE);return A.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},nI=e=>e.userSelectionActive?"none":"all";function av({position:e,children:n,className:r,style:s,...o}){const l=Xe(nI),u=`${e}`.split("-");return ae.createElement("div",{className:Lt(["react-flow__panel",r,...u]),style:{...s,pointerEvents:l},...o},n)}function rI({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:ae.createElement(av,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},ae.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const iI=({x:e,y:n,label:r,labelStyle:s={},labelShowBg:o=!0,labelBgStyle:l={},labelBgPadding:u=[2,4],labelBgBorderRadius:c=2,children:p,className:h,...f})=>{const m=A.useRef(null),[y,x]=A.useState({x:0,y:0,width:0,height:0}),C=Lt(["react-flow__edge-textwrapper",h]);return A.useEffect(()=>{if(m.current){const _=m.current.getBBox();x({x:_.x,y:_.y,width:_.width,height:_.height})}},[r]),typeof r>"u"||!r?null:ae.createElement("g",{transform:`translate(${e-y.width/2} ${n-y.height/2})`,className:C,visibility:y.width?"visible":"hidden",...f},o&&ae.createElement("rect",{width:y.width+2*u[0],x:-u[0],y:-u[1],height:y.height+2*u[1],className:"react-flow__edge-textbg",style:l,rx:c,ry:c}),ae.createElement("text",{className:"react-flow__edge-text",y:y.height/2,dy:"0.3em",ref:m,style:s},r),p)};var sI=A.memo(iI);const lv=e=>({width:e.offsetWidth,height:e.offsetHeight}),Ys=(e,n=0,r=1)=>Math.min(Math.max(e,n),r),uv=(e={x:0,y:0},n)=>({x:Ys(e.x,n[0][0],n[1][0]),y:Ys(e.y,n[0][1],n[1][1])}),Tw=(e,n,r)=>e<n?Ys(Math.abs(e-n),1,50)/50:e>r?-Ys(Math.abs(e-r),1,50)/50:0,bE=(e,n)=>{const r=Tw(e.x,35,n.width-35)*20,s=Tw(e.y,35,n.height-35)*20;return[r,s]},kE=e=>{var n;return((n=e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},EE=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),Zo=({x:e,y:n,width:r,height:s})=>({x:e,y:n,x2:e+r,y2:n+s}),NE=({x:e,y:n,x2:r,y2:s})=>({x:e,y:n,width:r-e,height:s-n}),Aw=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),oI=(e,n)=>NE(EE(Zo(e),Zo(n))),Dg=(e,n)=>{const r=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),s=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(r*s)},aI=e=>jn(e.width)&&jn(e.height)&&jn(e.x)&&jn(e.y),jn=e=>!isNaN(e)&&isFinite(e),mt=Symbol.for("internals"),CE=["Enter"," ","Escape"],lI=(e,n)=>{},uI=e=>"nativeEvent"in e;function Fg(e){var o,l;const n=uI(e)?e.nativeEvent:e,r=((l=(o=n.composedPath)==null?void 0:o.call(n))==null?void 0:l[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(r==null?void 0:r.nodeName)||(r==null?void 0:r.hasAttribute("contenteditable"))||!!(r!=null&&r.closest(".nokey"))}const jE=e=>"clientX"in e,yi=(e,n)=>{var l,u;const r=jE(e),s=r?e.clientX:(l=e.touches)==null?void 0:l[0].clientX,o=r?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:s-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},Bl=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0},oa=({id:e,path:n,labelX:r,labelY:s,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h,style:f,markerEnd:m,markerStart:y,interactionWidth:x=20})=>ae.createElement(ae.Fragment,null,ae.createElement("path",{id:e,style:f,d:n,fill:"none",className:"react-flow__edge-path",markerEnd:m,markerStart:y}),x&&ae.createElement("path",{d:n,fill:"none",strokeOpacity:0,strokeWidth:x,className:"react-flow__edge-interaction"}),o&&jn(r)&&jn(s)?ae.createElement(sI,{x:r,y:s,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h}):null);oa.displayName="BaseEdge";function $o(e,n,r){return r===void 0?r:s=>{const o=n().edges.find(l=>l.id===e);o&&r(s,{...o})}}function RE({sourceX:e,sourceY:n,targetX:r,targetY:s}){const o=Math.abs(r-e)/2,l=r<e?r+o:r-o,u=Math.abs(s-n)/2,c=s<n?s+u:s-u;return[l,c,o,u]}function TE({sourceX:e,sourceY:n,targetX:r,targetY:s,sourceControlX:o,sourceControlY:l,targetControlX:u,targetControlY:c}){const p=e*.125+o*.375+u*.375+r*.125,h=n*.125+l*.375+c*.375+s*.125,f=Math.abs(p-e),m=Math.abs(h-n);return[p,h,f,m]}var Zi;(function(e){e.Strict="strict",e.Loose="loose"})(Zi||(Zi={}));var Yi;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Yi||(Yi={}));var Jo;(function(e){e.Partial="partial",e.Full="full"})(Jo||(Jo={}));var vi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(vi||(vi={}));var Ul;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ul||(Ul={}));var je;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(je||(je={}));function Iw({pos:e,x1:n,y1:r,x2:s,y2:o}){return e===je.Left||e===je.Right?[.5*(n+s),r]:[n,.5*(r+o)]}function AE({sourceX:e,sourceY:n,sourcePosition:r=je.Bottom,targetX:s,targetY:o,targetPosition:l=je.Top}){const[u,c]=Iw({pos:r,x1:e,y1:n,x2:s,y2:o}),[p,h]=Iw({pos:l,x1:s,y1:o,x2:e,y2:n}),[f,m,y,x]=TE({sourceX:e,sourceY:n,targetX:s,targetY:o,sourceControlX:u,sourceControlY:c,targetControlX:p,targetControlY:h});return[`M${e},${n} C${u},${c} ${p},${h} ${s},${o}`,f,m,y,x]}const cv=A.memo(({sourceX:e,sourceY:n,targetX:r,targetY:s,sourcePosition:o=je.Bottom,targetPosition:l=je.Top,label:u,labelStyle:c,labelShowBg:p,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,style:y,markerEnd:x,markerStart:C,interactionWidth:_})=>{const[S,b,E]=AE({sourceX:e,sourceY:n,sourcePosition:o,targetX:r,targetY:s,targetPosition:l});return ae.createElement(oa,{path:S,labelX:b,labelY:E,label:u,labelStyle:c,labelShowBg:p,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,style:y,markerEnd:x,markerStart:C,interactionWidth:_})});cv.displayName="SimpleBezierEdge";const Mw={[je.Left]:{x:-1,y:0},[je.Right]:{x:1,y:0},[je.Top]:{x:0,y:-1},[je.Bottom]:{x:0,y:1}},cI=({source:e,sourcePosition:n=je.Bottom,target:r})=>n===je.Left||n===je.Right?e.x<r.x?{x:1,y:0}:{x:-1,y:0}:e.y<r.y?{x:0,y:1}:{x:0,y:-1},Pw=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function dI({source:e,sourcePosition:n=je.Bottom,target:r,targetPosition:s=je.Top,center:o,offset:l}){const u=Mw[n],c=Mw[s],p={x:e.x+u.x*l,y:e.y+u.y*l},h={x:r.x+c.x*l,y:r.y+c.y*l},f=cI({source:p,sourcePosition:n,target:h}),m=f.x!==0?"x":"y",y=f[m];let x=[],C,_;const S={x:0,y:0},b={x:0,y:0},[E,N,j,M]=RE({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(u[m]*c[m]===-1){C=o.x??E,_=o.y??N;const O=[{x:C,y:p.y},{x:C,y:h.y}],B=[{x:p.x,y:_},{x:h.x,y:_}];u[m]===y?x=m==="x"?O:B:x=m==="x"?B:O}else{const O=[{x:p.x,y:h.y}],B=[{x:h.x,y:p.y}];if(m==="x"?x=u.x===y?B:O:x=u.y===y?O:B,n===s){const X=Math.abs(e[m]-r[m]);if(X<=l){const T=Math.min(l-1,l-X);u[m]===y?S[m]=(p[m]>e[m]?-1:1)*T:b[m]=(h[m]>r[m]?-1:1)*T}}if(n!==s){const X=m==="x"?"y":"x",T=u[m]===c[X],Y=p[X]>h[X],U=p[X]<h[X];(u[m]===1&&(!T&&Y||T&&U)||u[m]!==1&&(!T&&U||T&&Y))&&(x=m==="x"?O:B)}const L={x:p.x+S.x,y:p.y+S.y},q={x:h.x+b.x,y:h.y+b.y},I=Math.max(Math.abs(L.x-x[0].x),Math.abs(q.x-x[0].x)),H=Math.max(Math.abs(L.y-x[0].y),Math.abs(q.y-x[0].y));I>=H?(C=(L.x+q.x)/2,_=x[0].y):(C=x[0].x,_=(L.y+q.y)/2)}return[[e,{x:p.x+S.x,y:p.y+S.y},...x,{x:h.x+b.x,y:h.y+b.y},r],C,_,j,M]}function fI(e,n,r,s){const o=Math.min(Pw(e,n)/2,Pw(n,r)/2,s),{x:l,y:u}=n;if(e.x===l&&l===r.x||e.y===u&&u===r.y)return`L${l} ${u}`;if(e.y===u){const h=e.x<r.x?-1:1,f=e.y<r.y?1:-1;return`L ${l+o*h},${u}Q ${l},${u} ${l},${u+o*f}`}const c=e.x<r.x?1:-1,p=e.y<r.y?-1:1;return`L ${l},${u+o*p}Q ${l},${u} ${l+o*c},${u}`}function zg({sourceX:e,sourceY:n,sourcePosition:r=je.Bottom,targetX:s,targetY:o,targetPosition:l=je.Top,borderRadius:u=5,centerX:c,centerY:p,offset:h=20}){const[f,m,y,x,C]=dI({source:{x:e,y:n},sourcePosition:r,target:{x:s,y:o},targetPosition:l,center:{x:c,y:p},offset:h});return[f.reduce((S,b,E)=>{let N="";return E>0&&E<f.length-1?N=fI(f[E-1],b,f[E+1],u):N=`${E===0?"M":"L"}${b.x} ${b.y}`,S+=N,S},""),m,y,x,C]}const eu=A.memo(({sourceX:e,sourceY:n,targetX:r,targetY:s,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h,style:f,sourcePosition:m=je.Bottom,targetPosition:y=je.Top,markerEnd:x,markerStart:C,pathOptions:_,interactionWidth:S})=>{const[b,E,N]=zg({sourceX:e,sourceY:n,sourcePosition:m,targetX:r,targetY:s,targetPosition:y,borderRadius:_==null?void 0:_.borderRadius,offset:_==null?void 0:_.offset});return ae.createElement(oa,{path:b,labelX:E,labelY:N,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h,style:f,markerEnd:x,markerStart:C,interactionWidth:S})});eu.displayName="SmoothStepEdge";const dv=A.memo(e=>{var n;return ae.createElement(eu,{...e,pathOptions:A.useMemo(()=>{var r;return{borderRadius:0,offset:(r=e.pathOptions)==null?void 0:r.offset}},[(n=e.pathOptions)==null?void 0:n.offset])})});dv.displayName="StepEdge";function hI({sourceX:e,sourceY:n,targetX:r,targetY:s}){const[o,l,u,c]=RE({sourceX:e,sourceY:n,targetX:r,targetY:s});return[`M ${e},${n}L ${r},${s}`,o,l,u,c]}const fv=A.memo(({sourceX:e,sourceY:n,targetX:r,targetY:s,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h,style:f,markerEnd:m,markerStart:y,interactionWidth:x})=>{const[C,_,S]=hI({sourceX:e,sourceY:n,targetX:r,targetY:s});return ae.createElement(oa,{path:C,labelX:_,labelY:S,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h,style:f,markerEnd:m,markerStart:y,interactionWidth:x})});fv.displayName="StraightEdge";function _l(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Ow({pos:e,x1:n,y1:r,x2:s,y2:o,c:l}){switch(e){case je.Left:return[n-_l(n-s,l),r];case je.Right:return[n+_l(s-n,l),r];case je.Top:return[n,r-_l(r-o,l)];case je.Bottom:return[n,r+_l(o-r,l)]}}function IE({sourceX:e,sourceY:n,sourcePosition:r=je.Bottom,targetX:s,targetY:o,targetPosition:l=je.Top,curvature:u=.25}){const[c,p]=Ow({pos:r,x1:e,y1:n,x2:s,y2:o,c:u}),[h,f]=Ow({pos:l,x1:s,y1:o,x2:e,y2:n,c:u}),[m,y,x,C]=TE({sourceX:e,sourceY:n,targetX:s,targetY:o,sourceControlX:c,sourceControlY:p,targetControlX:h,targetControlY:f});return[`M${e},${n} C${c},${p} ${h},${f} ${s},${o}`,m,y,x,C]}const Hl=A.memo(({sourceX:e,sourceY:n,targetX:r,targetY:s,sourcePosition:o=je.Bottom,targetPosition:l=je.Top,label:u,labelStyle:c,labelShowBg:p,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,style:y,markerEnd:x,markerStart:C,pathOptions:_,interactionWidth:S})=>{const[b,E,N]=IE({sourceX:e,sourceY:n,sourcePosition:o,targetX:r,targetY:s,targetPosition:l,curvature:_==null?void 0:_.curvature});return ae.createElement(oa,{path:b,labelX:E,labelY:N,label:u,labelStyle:c,labelShowBg:p,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:m,style:y,markerEnd:x,markerStart:C,interactionWidth:S})});Hl.displayName="BezierEdge";const hv=A.createContext(null),pI=hv.Provider;hv.Consumer;const mI=()=>A.useContext(hv),gI=e=>"id"in e&&"source"in e&&"target"in e,vI=({source:e,sourceHandle:n,target:r,targetHandle:s})=>`reactflow__edge-${e}${n||""}-${r}${s||""}`,Bg=(e,n)=>typeof e>"u"?"":typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(s=>`${s}=${e[s]}`).join("&")}`,yI=(e,n)=>n.some(r=>r.source===e.source&&r.target===e.target&&(r.sourceHandle===e.sourceHandle||!r.sourceHandle&&!e.sourceHandle)&&(r.targetHandle===e.targetHandle||!r.targetHandle&&!e.targetHandle)),wI=(e,n)=>{if(!e.source||!e.target)return n;let r;return gI(e)?r={...e}:r={...e,id:vI(e)},yI(r,n)?n:n.concat(r)},Ug=({x:e,y:n},[r,s,o],l,[u,c])=>{const p={x:(e-r)/o,y:(n-s)/o};return l?{x:u*Math.round(p.x/u),y:c*Math.round(p.y/c)}:p},ME=({x:e,y:n},[r,s,o])=>({x:e*o+r,y:n*o+s}),Xi=(e,n=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const r=(e.width??0)*n[0],s=(e.height??0)*n[1],o={x:e.position.x-r,y:e.position.y-s};return{...o,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-r,y:e.positionAbsolute.y-s}:o}},tu=(e,n=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const r=e.reduce((s,o)=>{const{x:l,y:u}=Xi(o,n).positionAbsolute;return EE(s,Zo({x:l,y:u,width:o.width||0,height:o.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return NE(r)},PE=(e,n,[r,s,o]=[0,0,1],l=!1,u=!1,c=[0,0])=>{const p={x:(n.x-r)/o,y:(n.y-s)/o,width:n.width/o,height:n.height/o},h=[];return e.forEach(f=>{const{width:m,height:y,selectable:x=!0,hidden:C=!1}=f;if(u&&!x||C)return!1;const{positionAbsolute:_}=Xi(f,c),S={x:_.x,y:_.y,width:m||0,height:y||0},b=Dg(p,S),E=typeof m>"u"||typeof y>"u"||m===null||y===null,N=l&&b>0,j=(m||0)*(y||0);(E||N||b>=j||f.dragging)&&h.push(f)}),h},OE=(e,n)=>{const r=e.map(s=>s.id);return n.filter(s=>r.includes(s.source)||r.includes(s.target))},qE=(e,n,r,s,o,l=.1)=>{const u=n/(e.width*(1+l)),c=r/(e.height*(1+l)),p=Math.min(u,c),h=Ys(p,s,o),f=e.x+e.width/2,m=e.y+e.height/2,y=n/2-f*h,x=r/2-m*h;return{x:y,y:x,zoom:h}},Wi=(e,n=0)=>e.transition().duration(n);function qw(e,n,r,s){return(n[r]||[]).reduce((o,l)=>{var u,c;return`${e.id}-${l.id}-${r}`!==s&&o.push({id:l.id||null,type:r,nodeId:e.id,x:(((u=e.positionAbsolute)==null?void 0:u.x)??0)+l.x+l.width/2,y:(((c=e.positionAbsolute)==null?void 0:c.y)??0)+l.y+l.height/2}),o},[])}function xI(e,n,r,s,o,l){const{x:u,y:c}=yi(e),h=n.elementsFromPoint(u,c).find(C=>C.classList.contains("react-flow__handle"));if(h){const C=h.getAttribute("data-nodeid");if(C){const _=pv(void 0,h),S=h.getAttribute("data-handleid"),b=l({nodeId:C,id:S,type:_});if(b){const E=o.find(N=>N.nodeId===C&&N.type===_&&N.id===S);return{handle:{id:S,type:_,nodeId:C,x:(E==null?void 0:E.x)||r.x,y:(E==null?void 0:E.y)||r.y},validHandleResult:b}}}}let f=[],m=1/0;if(o.forEach(C=>{const _=Math.sqrt((C.x-r.x)**2+(C.y-r.y)**2);if(_<=s){const S=l(C);_<=m&&(_<m?f=[{handle:C,validHandleResult:S}]:_===m&&f.push({handle:C,validHandleResult:S}),m=_)}}),!f.length)return{handle:null,validHandleResult:LE()};if(f.length===1)return f[0];const y=f.some(({validHandleResult:C})=>C.isValid),x=f.some(({handle:C})=>C.type==="target");return f.find(({handle:C,validHandleResult:_})=>x?C.type==="target":y?_.isValid:!0)||f[0]}const _I={source:null,target:null,sourceHandle:null,targetHandle:null},LE=()=>({handleDomNode:null,isValid:!1,connection:_I,endHandle:null});function $E(e,n,r,s,o,l,u){const c=o==="target",p=u.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),h={...LE(),handleDomNode:p};if(p){const f=pv(void 0,p),m=p.getAttribute("data-nodeid"),y=p.getAttribute("data-handleid"),x=p.classList.contains("connectable"),C=p.classList.contains("connectableend"),_={source:c?m:r,sourceHandle:c?y:s,target:c?r:m,targetHandle:c?s:y};h.connection=_,x&&C&&(n===Zi.Strict?c&&f==="source"||!c&&f==="target":m!==r||y!==s)&&(h.endHandle={nodeId:m,handleId:y,type:f},h.isValid=l(_))}return h}function SI({nodes:e,nodeId:n,handleId:r,handleType:s}){return e.reduce((o,l)=>{if(l[mt]){const{handleBounds:u}=l[mt];let c=[],p=[];u&&(c=qw(l,u,"source",`${n}-${r}-${s}`),p=qw(l,u,"target",`${n}-${r}-${s}`)),o.push(...c,...p)}return o},[])}function pv(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function id(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function bI(e,n){let r=null;return n?r="valid":e&&!n&&(r="invalid"),r}function DE({event:e,handleId:n,nodeId:r,onConnect:s,isTarget:o,getState:l,setState:u,isValidConnection:c,edgeUpdaterType:p,onReconnectEnd:h}){const f=kE(e.target),{connectionMode:m,domNode:y,autoPanOnConnect:x,connectionRadius:C,onConnectStart:_,panBy:S,getNodes:b,cancelConnection:E}=l();let N=0,j;const{x:M,y:P}=yi(e),O=f==null?void 0:f.elementFromPoint(M,P),B=pv(p,O),L=y==null?void 0:y.getBoundingClientRect();if(!L||!B)return;let q,I=yi(e,L),H=!1,X=null,T=!1,Y=null;const U=SI({nodes:b(),nodeId:r,handleId:n,handleType:B}),ee=()=>{if(!x)return;const[G,k]=bE(I,L);S({x:G,y:k}),N=requestAnimationFrame(ee)};u({connectionPosition:I,connectionStatus:null,connectionNodeId:r,connectionHandleId:n,connectionHandleType:B,connectionStartHandle:{nodeId:r,handleId:n,type:B},connectionEndHandle:null}),_==null||_(e,{nodeId:r,handleId:n,handleType:B});function J(G){const{transform:k}=l();I=yi(G,L);const{handle:$,validHandleResult:se}=xI(G,f,Ug(I,k,!1,[1,1]),C,U,D=>$E(D,m,r,n,o?"target":"source",c,f));if(j=$,H||(ee(),H=!0),Y=se.handleDomNode,X=se.connection,T=se.isValid,u({connectionPosition:j&&T?ME({x:j.x,y:j.y},k):I,connectionStatus:bI(!!j,T),connectionEndHandle:se.endHandle}),!j&&!T&&!Y)return id(q);X.source!==X.target&&Y&&(id(q),q=Y,Y.classList.add("connecting","react-flow__handle-connecting"),Y.classList.toggle("valid",T),Y.classList.toggle("react-flow__handle-valid",T))}function F(G){var k,$;(j||Y)&&X&&T&&(s==null||s(X)),($=(k=l()).onConnectEnd)==null||$.call(k,G),p&&(h==null||h(G)),id(q),E(),cancelAnimationFrame(N),H=!1,T=!1,X=null,Y=null,f.removeEventListener("mousemove",J),f.removeEventListener("mouseup",F),f.removeEventListener("touchmove",J),f.removeEventListener("touchend",F)}f.addEventListener("mousemove",J),f.addEventListener("mouseup",F),f.addEventListener("touchmove",J),f.addEventListener("touchend",F)}const Lw=()=>!0,kI=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),EI=(e,n,r)=>s=>{const{connectionStartHandle:o,connectionEndHandle:l,connectionClickStartHandle:u}=s;return{connecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===n&&(o==null?void 0:o.type)===r||(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.handleId)===n&&(l==null?void 0:l.type)===r,clickConnecting:(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.handleId)===n&&(u==null?void 0:u.type)===r}},FE=A.forwardRef(({type:e="source",position:n=je.Top,isValidConnection:r,isConnectable:s=!0,isConnectableStart:o=!0,isConnectableEnd:l=!0,id:u,onConnect:c,children:p,className:h,onMouseDown:f,onTouchStart:m,...y},x)=>{var L,q;const C=u||null,_=e==="target",S=Ct(),b=mI(),{connectOnClick:E,noPanClassName:N}=Xe(kI,Nt),{connecting:j,clickConnecting:M}=Xe(EI(b,C,e),Nt);b||(q=(L=S.getState()).onError)==null||q.call(L,"010",Or.error010());const P=I=>{const{defaultEdgeOptions:H,onConnect:X,hasDefaultEdges:T}=S.getState(),Y={...H,...I};if(T){const{edges:U,setEdges:ee}=S.getState();ee(wI(Y,U))}X==null||X(Y),c==null||c(Y)},O=I=>{if(!b)return;const H=jE(I);o&&(H&&I.button===0||!H)&&DE({event:I,handleId:C,nodeId:b,onConnect:P,isTarget:_,getState:S.getState,setState:S.setState,isValidConnection:r||S.getState().isValidConnection||Lw}),H?f==null||f(I):m==null||m(I)},B=I=>{const{onClickConnectStart:H,onClickConnectEnd:X,connectionClickStartHandle:T,connectionMode:Y,isValidConnection:U}=S.getState();if(!b||!T&&!o)return;if(!T){H==null||H(I,{nodeId:b,handleId:C,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:b,type:e,handleId:C}});return}const ee=kE(I.target),J=r||U||Lw,{connection:F,isValid:G}=$E({nodeId:b,id:C,type:e},Y,T.nodeId,T.handleId||null,T.type,J,ee);G&&P(F),X==null||X(I),S.setState({connectionClickStartHandle:null})};return ae.createElement("div",{"data-handleid":C,"data-nodeid":b,"data-handlepos":n,"data-id":`${b}-${C}-${e}`,className:Lt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",N,h,{source:!_,target:_,connectable:s,connectablestart:o,connectableend:l,connecting:M,connectionindicator:s&&(o&&!j||l&&j)}]),onMouseDown:O,onTouchStart:O,onClick:E?B:void 0,ref:x,...y},p)});FE.displayName="Handle";var Ks=A.memo(FE);const zE=({data:e,isConnectable:n,targetPosition:r=je.Top,sourcePosition:s=je.Bottom})=>ae.createElement(ae.Fragment,null,ae.createElement(Ks,{type:"target",position:r,isConnectable:n}),e==null?void 0:e.label,ae.createElement(Ks,{type:"source",position:s,isConnectable:n}));zE.displayName="DefaultNode";var Hg=A.memo(zE);const BE=({data:e,isConnectable:n,sourcePosition:r=je.Bottom})=>ae.createElement(ae.Fragment,null,e==null?void 0:e.label,ae.createElement(Ks,{type:"source",position:r,isConnectable:n}));BE.displayName="InputNode";var UE=A.memo(BE);const HE=({data:e,isConnectable:n,targetPosition:r=je.Top})=>ae.createElement(ae.Fragment,null,ae.createElement(Ks,{type:"target",position:r,isConnectable:n}),e==null?void 0:e.label);HE.displayName="OutputNode";var VE=A.memo(HE);const mv=()=>null;mv.displayName="GroupNode";const NI=e=>({selectedNodes:e.getNodes().filter(n=>n.selected),selectedEdges:e.edges.filter(n=>n.selected).map(n=>({...n}))}),Sl=e=>e.id;function CI(e,n){return Nt(e.selectedNodes.map(Sl),n.selectedNodes.map(Sl))&&Nt(e.selectedEdges.map(Sl),n.selectedEdges.map(Sl))}const WE=A.memo(({onSelectionChange:e})=>{const n=Ct(),{selectedNodes:r,selectedEdges:s}=Xe(NI,CI);return A.useEffect(()=>{const o={nodes:r,edges:s};e==null||e(o),n.getState().onSelectionChange.forEach(l=>l(o))},[r,s,e]),null});WE.displayName="SelectionListener";const jI=e=>!!e.onSelectionChange;function RI({onSelectionChange:e}){const n=Xe(jI);return e||n?ae.createElement(WE,{onSelectionChange:e}):null}const TI=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function Ms(e,n){A.useEffect(()=>{typeof e<"u"&&n(e)},[e])}function De(e,n,r){A.useEffect(()=>{typeof n<"u"&&r({[e]:n})},[n])}const AI=({nodes:e,edges:n,defaultNodes:r,defaultEdges:s,onConnect:o,onConnectStart:l,onConnectEnd:u,onClickConnectStart:c,onClickConnectEnd:p,nodesDraggable:h,nodesConnectable:f,nodesFocusable:m,edgesFocusable:y,edgesUpdatable:x,elevateNodesOnSelect:C,minZoom:_,maxZoom:S,nodeExtent:b,onNodesChange:E,onEdgesChange:N,elementsSelectable:j,connectionMode:M,snapGrid:P,snapToGrid:O,translateExtent:B,connectOnClick:L,defaultEdgeOptions:q,fitView:I,fitViewOptions:H,onNodesDelete:X,onEdgesDelete:T,onNodeDrag:Y,onNodeDragStart:U,onNodeDragStop:ee,onSelectionDrag:J,onSelectionDragStart:F,onSelectionDragStop:G,noPanClassName:k,nodeOrigin:$,rfId:se,autoPanOnConnect:D,autoPanOnNodeDrag:Q,onError:te,connectionRadius:oe,isValidConnection:ue,nodeDragThreshold:me})=>{const{setNodes:ge,setEdges:Pe,setDefaultNodesAndEdges:be,setMinZoom:Oe,setMaxZoom:Me,setTranslateExtent:ke,setNodeExtent:Fe,reset:ye}=Xe(TI,Nt),we=Ct();return A.useEffect(()=>{const Be=s==null?void 0:s.map(ct=>({...ct,...q}));return be(r,Be),()=>{ye()}},[]),De("defaultEdgeOptions",q,we.setState),De("connectionMode",M,we.setState),De("onConnect",o,we.setState),De("onConnectStart",l,we.setState),De("onConnectEnd",u,we.setState),De("onClickConnectStart",c,we.setState),De("onClickConnectEnd",p,we.setState),De("nodesDraggable",h,we.setState),De("nodesConnectable",f,we.setState),De("nodesFocusable",m,we.setState),De("edgesFocusable",y,we.setState),De("edgesUpdatable",x,we.setState),De("elementsSelectable",j,we.setState),De("elevateNodesOnSelect",C,we.setState),De("snapToGrid",O,we.setState),De("snapGrid",P,we.setState),De("onNodesChange",E,we.setState),De("onEdgesChange",N,we.setState),De("connectOnClick",L,we.setState),De("fitViewOnInit",I,we.setState),De("fitViewOnInitOptions",H,we.setState),De("onNodesDelete",X,we.setState),De("onEdgesDelete",T,we.setState),De("onNodeDrag",Y,we.setState),De("onNodeDragStart",U,we.setState),De("onNodeDragStop",ee,we.setState),De("onSelectionDrag",J,we.setState),De("onSelectionDragStart",F,we.setState),De("onSelectionDragStop",G,we.setState),De("noPanClassName",k,we.setState),De("nodeOrigin",$,we.setState),De("rfId",se,we.setState),De("autoPanOnConnect",D,we.setState),De("autoPanOnNodeDrag",Q,we.setState),De("onError",te,we.setState),De("connectionRadius",oe,we.setState),De("isValidConnection",ue,we.setState),De("nodeDragThreshold",me,we.setState),Ms(e,ge),Ms(n,Pe),Ms(_,Oe),Ms(S,Me),Ms(B,ke),Ms(b,Fe),null},$w={display:"none"},II={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},GE="react-flow__node-desc",YE="react-flow__edge-desc",MI="react-flow__aria-live",PI=e=>e.ariaLiveMessage;function OI({rfId:e}){const n=Xe(PI);return ae.createElement("div",{id:`${MI}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:II},n)}function qI({rfId:e,disableKeyboardA11y:n}){return ae.createElement(ae.Fragment,null,ae.createElement("div",{id:`${GE}-${e}`,style:$w},"Press enter or space to select a node.",!n&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),ae.createElement("div",{id:`${YE}-${e}`,style:$w},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!n&&ae.createElement(OI,{rfId:e}))}var ea=(e=null,n={actInsideInputWithModifier:!0})=>{const[r,s]=A.useState(!1),o=A.useRef(!1),l=A.useRef(new Set([])),[u,c]=A.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(m=>typeof m=="string").map(m=>m.split("+")),f=h.reduce((m,y)=>m.concat(...y),[]);return[h,f]}return[[],[]]},[e]);return A.useEffect(()=>{const p=typeof document<"u"?document:null,h=(n==null?void 0:n.target)||p;if(e!==null){const f=x=>{if(o.current=x.ctrlKey||x.metaKey||x.shiftKey,(!o.current||o.current&&!n.actInsideInputWithModifier)&&Fg(x))return!1;const _=Fw(x.code,c);l.current.add(x[_]),Dw(u,l.current,!1)&&(x.preventDefault(),s(!0))},m=x=>{if((!o.current||o.current&&!n.actInsideInputWithModifier)&&Fg(x))return!1;const _=Fw(x.code,c);Dw(u,l.current,!0)?(s(!1),l.current.clear()):l.current.delete(x[_]),x.key==="Meta"&&l.current.clear(),o.current=!1},y=()=>{l.current.clear(),s(!1)};return h==null||h.addEventListener("keydown",f),h==null||h.addEventListener("keyup",m),window.addEventListener("blur",y),()=>{h==null||h.removeEventListener("keydown",f),h==null||h.removeEventListener("keyup",m),window.removeEventListener("blur",y)}}},[e,s]),r};function Dw(e,n,r){return e.filter(s=>r||s.length===n.size).some(s=>s.every(o=>n.has(o)))}function Fw(e,n){return n.includes(e)?"code":"key"}function KE(e,n,r,s){var c,p;const o=e.parentNode||e.parentId;if(!o)return r;const l=n.get(o),u=Xi(l,s);return KE(l,n,{x:(r.x??0)+u.x,y:(r.y??0)+u.y,z:(((c=l[mt])==null?void 0:c.z)??0)>(r.z??0)?((p=l[mt])==null?void 0:p.z)??0:r.z??0},s)}function XE(e,n,r){e.forEach(s=>{var l;const o=s.parentNode||s.parentId;if(o&&!e.has(o))throw new Error(`Parent node ${o} not found`);if(o||r!=null&&r[s.id]){const{x:u,y:c,z:p}=KE(s,e,{...s.position,z:((l=s[mt])==null?void 0:l.z)??0},n);s.positionAbsolute={x:u,y:c},s[mt].z=p,r!=null&&r[s.id]&&(s[mt].isParent=!0)}})}function sd(e,n,r,s){const o=new Map,l={},u=s?1e3:0;return e.forEach(c=>{var x;const p=(jn(c.zIndex)?c.zIndex:0)+(c.selected?u:0),h=n.get(c.id),f={...c,positionAbsolute:{x:c.position.x,y:c.position.y}},m=c.parentNode||c.parentId;m&&(l[m]=!0);const y=(h==null?void 0:h.type)&&(h==null?void 0:h.type)!==c.type;Object.defineProperty(f,mt,{enumerable:!1,value:{handleBounds:y||(x=h==null?void 0:h[mt])==null?void 0:x.handleBounds,z:p}}),o.set(c.id,f)}),XE(o,r,l),o}function QE(e,n={}){const{getNodes:r,width:s,height:o,minZoom:l,maxZoom:u,d3Zoom:c,d3Selection:p,fitViewOnInitDone:h,fitViewOnInit:f,nodeOrigin:m}=e(),y=n.initial&&!h&&f;if(c&&p&&(y||!n.initial)){const C=r().filter(S=>{var E;const b=n.includeHiddenNodes?S.width&&S.height:!S.hidden;return(E=n.nodes)!=null&&E.length?b&&n.nodes.some(N=>N.id===S.id):b}),_=C.every(S=>S.width&&S.height);if(C.length>0&&_){const S=tu(C,m),{x:b,y:E,zoom:N}=qE(S,s,o,n.minZoom??l,n.maxZoom??u,n.padding??.1),j=Mr.translate(b,E).scale(N);return typeof n.duration=="number"&&n.duration>0?c.transform(Wi(p,n.duration),j):c.transform(p,j),!0}}return!1}function LI(e,n){return e.forEach(r=>{const s=n.get(r.id);s&&n.set(s.id,{...s,[mt]:s[mt],selected:r.selected})}),new Map(n)}function $I(e,n){return n.map(r=>{const s=e.find(o=>o.id===r.id);return s&&(r.selected=s.selected),r})}function bl({changedNodes:e,changedEdges:n,get:r,set:s}){const{nodeInternals:o,edges:l,onNodesChange:u,onEdgesChange:c,hasDefaultNodes:p,hasDefaultEdges:h}=r();e!=null&&e.length&&(p&&s({nodeInternals:LI(e,o)}),u==null||u(e)),n!=null&&n.length&&(h&&s({edges:$I(n,l)}),c==null||c(n))}const Ps=()=>{},DI={zoomIn:Ps,zoomOut:Ps,zoomTo:Ps,getZoom:()=>1,setViewport:Ps,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:Ps,fitBounds:Ps,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},FI=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),zI=()=>{const e=Ct(),{d3Zoom:n,d3Selection:r}=Xe(FI,Nt);return A.useMemo(()=>r&&n?{zoomIn:o=>n.scaleBy(Wi(r,o==null?void 0:o.duration),1.2),zoomOut:o=>n.scaleBy(Wi(r,o==null?void 0:o.duration),1/1.2),zoomTo:(o,l)=>n.scaleTo(Wi(r,l==null?void 0:l.duration),o),getZoom:()=>e.getState().transform[2],setViewport:(o,l)=>{const[u,c,p]=e.getState().transform,h=Mr.translate(o.x??u,o.y??c).scale(o.zoom??p);n.transform(Wi(r,l==null?void 0:l.duration),h)},getViewport:()=>{const[o,l,u]=e.getState().transform;return{x:o,y:l,zoom:u}},fitView:o=>QE(e.getState,o),setCenter:(o,l,u)=>{const{width:c,height:p,maxZoom:h}=e.getState(),f=typeof(u==null?void 0:u.zoom)<"u"?u.zoom:h,m=c/2-o*f,y=p/2-l*f,x=Mr.translate(m,y).scale(f);n.transform(Wi(r,u==null?void 0:u.duration),x)},fitBounds:(o,l)=>{const{width:u,height:c,minZoom:p,maxZoom:h}=e.getState(),{x:f,y:m,zoom:y}=qE(o,u,c,p,h,(l==null?void 0:l.padding)??.1),x=Mr.translate(f,m).scale(y);n.transform(Wi(r,l==null?void 0:l.duration),x)},project:o=>{const{transform:l,snapToGrid:u,snapGrid:c}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),Ug(o,l,u,c)},screenToFlowPosition:o=>{const{transform:l,snapToGrid:u,snapGrid:c,domNode:p}=e.getState();if(!p)return o;const{x:h,y:f}=p.getBoundingClientRect(),m={x:o.x-h,y:o.y-f};return Ug(m,l,u,c)},flowToScreenPosition:o=>{const{transform:l,domNode:u}=e.getState();if(!u)return o;const{x:c,y:p}=u.getBoundingClientRect(),h=ME(o,l);return{x:h.x+c,y:h.y+p}},viewportInitialized:!0}:DI,[n,r])};function aa(){const e=zI(),n=Ct(),r=A.useCallback(()=>n.getState().getNodes().map(_=>({..._})),[]),s=A.useCallback(_=>n.getState().nodeInternals.get(_),[]),o=A.useCallback(()=>{const{edges:_=[]}=n.getState();return _.map(S=>({...S}))},[]),l=A.useCallback(_=>{const{edges:S=[]}=n.getState();return S.find(b=>b.id===_)},[]),u=A.useCallback(_=>{const{getNodes:S,setNodes:b,hasDefaultNodes:E,onNodesChange:N}=n.getState(),j=S(),M=typeof _=="function"?_(j):_;if(E)b(M);else if(N){const P=M.length===0?j.map(O=>({type:"remove",id:O.id})):M.map(O=>({item:O,type:"reset"}));N(P)}},[]),c=A.useCallback(_=>{const{edges:S=[],setEdges:b,hasDefaultEdges:E,onEdgesChange:N}=n.getState(),j=typeof _=="function"?_(S):_;if(E)b(j);else if(N){const M=j.length===0?S.map(P=>({type:"remove",id:P.id})):j.map(P=>({item:P,type:"reset"}));N(M)}},[]),p=A.useCallback(_=>{const S=Array.isArray(_)?_:[_],{getNodes:b,setNodes:E,hasDefaultNodes:N,onNodesChange:j}=n.getState();if(N){const P=[...b(),...S];E(P)}else if(j){const M=S.map(P=>({item:P,type:"add"}));j(M)}},[]),h=A.useCallback(_=>{const S=Array.isArray(_)?_:[_],{edges:b=[],setEdges:E,hasDefaultEdges:N,onEdgesChange:j}=n.getState();if(N)E([...b,...S]);else if(j){const M=S.map(P=>({item:P,type:"add"}));j(M)}},[]),f=A.useCallback(()=>{const{getNodes:_,edges:S=[],transform:b}=n.getState(),[E,N,j]=b;return{nodes:_().map(M=>({...M})),edges:S.map(M=>({...M})),viewport:{x:E,y:N,zoom:j}}},[]),m=A.useCallback(({nodes:_,edges:S})=>{const{nodeInternals:b,getNodes:E,edges:N,hasDefaultNodes:j,hasDefaultEdges:M,onNodesDelete:P,onEdgesDelete:O,onNodesChange:B,onEdgesChange:L}=n.getState(),q=(_||[]).map(Y=>Y.id),I=(S||[]).map(Y=>Y.id),H=E().reduce((Y,U)=>{const ee=U.parentNode||U.parentId,J=!q.includes(U.id)&&ee&&Y.find(G=>G.id===ee);return(typeof U.deletable=="boolean"?U.deletable:!0)&&(q.includes(U.id)||J)&&Y.push(U),Y},[]),X=N.filter(Y=>typeof Y.deletable=="boolean"?Y.deletable:!0),T=X.filter(Y=>I.includes(Y.id));if(H||T){const Y=OE(H,X),U=[...T,...Y],ee=U.reduce((J,F)=>(J.includes(F.id)||J.push(F.id),J),[]);if((M||j)&&(M&&n.setState({edges:N.filter(J=>!ee.includes(J.id))}),j&&(H.forEach(J=>{b.delete(J.id)}),n.setState({nodeInternals:new Map(b)}))),ee.length>0&&(O==null||O(U),L&&L(ee.map(J=>({id:J,type:"remove"})))),H.length>0&&(P==null||P(H),B)){const J=H.map(F=>({id:F.id,type:"remove"}));B(J)}}},[]),y=A.useCallback(_=>{const S=aI(_),b=S?null:n.getState().nodeInternals.get(_.id);return!S&&!b?[null,null,S]:[S?_:Aw(b),b,S]},[]),x=A.useCallback((_,S=!0,b)=>{const[E,N,j]=y(_);return E?(b||n.getState().getNodes()).filter(M=>{if(!j&&(M.id===N.id||!M.positionAbsolute))return!1;const P=Aw(M),O=Dg(P,E);return S&&O>0||O>=E.width*E.height}):[]},[]),C=A.useCallback((_,S,b=!0)=>{const[E]=y(_);if(!E)return!1;const N=Dg(E,S);return b&&N>0||N>=E.width*E.height},[]);return A.useMemo(()=>({...e,getNodes:r,getNode:s,getEdges:o,getEdge:l,setNodes:u,setEdges:c,addNodes:p,addEdges:h,toObject:f,deleteElements:m,getIntersectingNodes:x,isNodeIntersecting:C}),[e,r,s,o,l,u,c,p,h,f,m,x,C])}const BI={actInsideInputWithModifier:!1};var UI=({deleteKeyCode:e,multiSelectionKeyCode:n})=>{const r=Ct(),{deleteElements:s}=aa(),o=ea(e,BI),l=ea(n);A.useEffect(()=>{if(o){const{edges:u,getNodes:c}=r.getState(),p=c().filter(f=>f.selected),h=u.filter(f=>f.selected);s({nodes:p,edges:h}),r.setState({nodesSelectionActive:!1})}},[o]),A.useEffect(()=>{r.setState({multiSelectionActive:l})},[l])};function HI(e){const n=Ct();A.useEffect(()=>{let r;const s=()=>{var l,u;if(!e.current)return;const o=lv(e.current);(o.height===0||o.width===0)&&((u=(l=n.getState()).onError)==null||u.call(l,"004",Or.error004())),n.setState({width:o.width||500,height:o.height||500})};return s(),window.addEventListener("resize",s),e.current&&(r=new ResizeObserver(()=>s()),r.observe(e.current)),()=>{window.removeEventListener("resize",s),r&&e.current&&r.unobserve(e.current)}},[])}const gv={position:"absolute",width:"100%",height:"100%",top:0,left:0},VI=(e,n)=>e.x!==n.x||e.y!==n.y||e.zoom!==n.k,kl=e=>({x:e.x,y:e.y,zoom:e.k}),Os=(e,n)=>e.target.closest(`.${n}`),zw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),Bw=e=>{const n=e.ctrlKey&&Bl()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n},WI=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),GI=({onMove:e,onMoveStart:n,onMoveEnd:r,onPaneContextMenu:s,zoomOnScroll:o=!0,zoomOnPinch:l=!0,panOnScroll:u=!1,panOnScrollSpeed:c=.5,panOnScrollMode:p=Yi.Free,zoomOnDoubleClick:h=!0,elementsSelectable:f,panOnDrag:m=!0,defaultViewport:y,translateExtent:x,minZoom:C,maxZoom:_,zoomActivationKeyCode:S,preventScrolling:b=!0,children:E,noWheelClassName:N,noPanClassName:j})=>{const M=A.useRef(),P=Ct(),O=A.useRef(!1),B=A.useRef(!1),L=A.useRef(null),q=A.useRef({x:0,y:0,zoom:0}),{d3Zoom:I,d3Selection:H,d3ZoomHandler:X,userSelectionActive:T}=Xe(WI,Nt),Y=ea(S),U=A.useRef(0),ee=A.useRef(!1),J=A.useRef();return HI(L),A.useEffect(()=>{if(L.current){const F=L.current.getBoundingClientRect(),G=_E().scaleExtent([C,_]).translateExtent(x),k=Cn(L.current).call(G),$=Mr.translate(y.x,y.y).scale(Ys(y.zoom,C,_)),se=[[0,0],[F.width,F.height]],D=G.constrain()($,se,x);G.transform(k,D),G.wheelDelta(Bw),P.setState({d3Zoom:G,d3Selection:k,d3ZoomHandler:k.on("wheel.zoom"),transform:[D.x,D.y,D.k],domNode:L.current.closest(".react-flow")})}},[]),A.useEffect(()=>{H&&I&&(u&&!Y&&!T?H.on("wheel.zoom",F=>{if(Os(F,N))return!1;F.preventDefault(),F.stopImmediatePropagation();const G=H.property("__zoom").k||1;if(F.ctrlKey&&l){const ue=Yn(F),me=Bw(F),ge=G*Math.pow(2,me);I.scaleTo(H,ge,ue,F);return}const k=F.deltaMode===1?20:1;let $=p===Yi.Vertical?0:F.deltaX*k,se=p===Yi.Horizontal?0:F.deltaY*k;!Bl()&&F.shiftKey&&p!==Yi.Vertical&&($=F.deltaY*k,se=0),I.translateBy(H,-($/G)*c,-(se/G)*c,{internal:!0});const D=kl(H.property("__zoom")),{onViewportChangeStart:Q,onViewportChange:te,onViewportChangeEnd:oe}=P.getState();clearTimeout(J.current),ee.current||(ee.current=!0,n==null||n(F,D),Q==null||Q(D)),ee.current&&(e==null||e(F,D),te==null||te(D),J.current=setTimeout(()=>{r==null||r(F,D),oe==null||oe(D),ee.current=!1},150))},{passive:!1}):typeof X<"u"&&H.on("wheel.zoom",function(F,G){if(!b&&F.type==="wheel"&&!F.ctrlKey||Os(F,N))return null;F.preventDefault(),X.call(this,F,G)},{passive:!1}))},[T,u,p,H,I,X,Y,l,b,N,n,e,r]),A.useEffect(()=>{I&&I.on("start",F=>{var $,se;if(!F.sourceEvent||F.sourceEvent.internal)return null;U.current=($=F.sourceEvent)==null?void 0:$.button;const{onViewportChangeStart:G}=P.getState(),k=kl(F.transform);O.current=!0,q.current=k,((se=F.sourceEvent)==null?void 0:se.type)==="mousedown"&&P.setState({paneDragging:!0}),G==null||G(k),n==null||n(F.sourceEvent,k)})},[I,n]),A.useEffect(()=>{I&&(T&&!O.current?I.on("zoom",null):T||I.on("zoom",F=>{var k;const{onViewportChange:G}=P.getState();if(P.setState({transform:[F.transform.x,F.transform.y,F.transform.k]}),B.current=!!(s&&zw(m,U.current??0)),(e||G)&&!((k=F.sourceEvent)!=null&&k.internal)){const $=kl(F.transform);G==null||G($),e==null||e(F.sourceEvent,$)}}))},[T,I,e,m,s]),A.useEffect(()=>{I&&I.on("end",F=>{if(!F.sourceEvent||F.sourceEvent.internal)return null;const{onViewportChangeEnd:G}=P.getState();if(O.current=!1,P.setState({paneDragging:!1}),s&&zw(m,U.current??0)&&!B.current&&s(F.sourceEvent),B.current=!1,(r||G)&&VI(q.current,F.transform)){const k=kl(F.transform);q.current=k,clearTimeout(M.current),M.current=setTimeout(()=>{G==null||G(k),r==null||r(F.sourceEvent,k)},u?150:0)}})},[I,u,m,r,s]),A.useEffect(()=>{I&&I.filter(F=>{const G=Y||o,k=l&&F.ctrlKey;if((m===!0||Array.isArray(m)&&m.includes(1))&&F.button===1&&F.type==="mousedown"&&(Os(F,"react-flow__node")||Os(F,"react-flow__edge")))return!0;if(!m&&!G&&!u&&!h&&!l||T||!h&&F.type==="dblclick"||Os(F,N)&&F.type==="wheel"||Os(F,j)&&(F.type!=="wheel"||u&&F.type==="wheel"&&!Y)||!l&&F.ctrlKey&&F.type==="wheel"||!G&&!u&&!k&&F.type==="wheel"||!m&&(F.type==="mousedown"||F.type==="touchstart")||Array.isArray(m)&&!m.includes(F.button)&&F.type==="mousedown")return!1;const $=Array.isArray(m)&&m.includes(F.button)||!F.button||F.button<=1;return(!F.ctrlKey||F.type==="wheel")&&$})},[T,I,o,l,u,h,m,f,Y]),ae.createElement("div",{className:"react-flow__renderer",ref:L,style:gv},E)},YI=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function KI(){const{userSelectionActive:e,userSelectionRect:n}=Xe(YI,Nt);return e&&n?ae.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}function Uw(e,n){const r=n.parentNode||n.parentId,s=e.find(o=>o.id===r);if(s){const o=n.position.x+n.width-s.width,l=n.position.y+n.height-s.height;if(o>0||l>0||n.position.x<0||n.position.y<0){if(s.style={...s.style},s.style.width=s.style.width??s.width,s.style.height=s.style.height??s.height,o>0&&(s.style.width+=o),l>0&&(s.style.height+=l),n.position.x<0){const u=Math.abs(n.position.x);s.position.x=s.position.x-u,s.style.width+=u,n.position.x=0}if(n.position.y<0){const u=Math.abs(n.position.y);s.position.y=s.position.y-u,s.style.height+=u,n.position.y=0}s.width=s.style.width,s.height=s.style.height}}}function XI(e,n){if(e.some(s=>s.type==="reset"))return e.filter(s=>s.type==="reset").map(s=>s.item);const r=e.filter(s=>s.type==="add").map(s=>s.item);return n.reduce((s,o)=>{const l=e.filter(c=>c.id===o.id);if(l.length===0)return s.push(o),s;const u={...o};for(const c of l)if(c)switch(c.type){case"select":{u.selected=c.selected;break}case"position":{typeof c.position<"u"&&(u.position=c.position),typeof c.positionAbsolute<"u"&&(u.positionAbsolute=c.positionAbsolute),typeof c.dragging<"u"&&(u.dragging=c.dragging),u.expandParent&&Uw(s,u);break}case"dimensions":{typeof c.dimensions<"u"&&(u.width=c.dimensions.width,u.height=c.dimensions.height),typeof c.updateStyle<"u"&&(u.style={...u.style||{},...c.dimensions}),typeof c.resizing=="boolean"&&(u.resizing=c.resizing),u.expandParent&&Uw(s,u);break}case"remove":return s}return s.push(u),s},r)}function QI(e,n){return XI(e,n)}const gi=(e,n)=>({id:e,type:"select",selected:n});function Ds(e,n){return e.reduce((r,s)=>{const o=n.includes(s.id);return!s.selected&&o?(s.selected=!0,r.push(gi(s.id,!0))):s.selected&&!o&&(s.selected=!1,r.push(gi(s.id,!1))),r},[])}const od=(e,n)=>r=>{r.target===n.current&&(e==null||e(r))},ZI=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),ZE=A.memo(({isSelecting:e,selectionMode:n=Jo.Full,panOnDrag:r,onSelectionStart:s,onSelectionEnd:o,onPaneClick:l,onPaneContextMenu:u,onPaneScroll:c,onPaneMouseEnter:p,onPaneMouseMove:h,onPaneMouseLeave:f,children:m})=>{const y=A.useRef(null),x=Ct(),C=A.useRef(0),_=A.useRef(0),S=A.useRef(),{userSelectionActive:b,elementsSelectable:E,dragging:N}=Xe(ZI,Nt),j=()=>{x.setState({userSelectionActive:!1,userSelectionRect:null}),C.current=0,_.current=0},M=X=>{l==null||l(X),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},P=X=>{if(Array.isArray(r)&&(r!=null&&r.includes(2))){X.preventDefault();return}u==null||u(X)},O=c?X=>c(X):void 0,B=X=>{const{resetSelectedElements:T,domNode:Y}=x.getState();if(S.current=Y==null?void 0:Y.getBoundingClientRect(),!E||!e||X.button!==0||X.target!==y.current||!S.current)return;const{x:U,y:ee}=yi(X,S.current);T(),x.setState({userSelectionRect:{width:0,height:0,startX:U,startY:ee,x:U,y:ee}}),s==null||s(X)},L=X=>{const{userSelectionRect:T,nodeInternals:Y,edges:U,transform:ee,onNodesChange:J,onEdgesChange:F,nodeOrigin:G,getNodes:k}=x.getState();if(!e||!S.current||!T)return;x.setState({userSelectionActive:!0,nodesSelectionActive:!1});const $=yi(X,S.current),se=T.startX??0,D=T.startY??0,Q={...T,x:$.x<se?$.x:se,y:$.y<D?$.y:D,width:Math.abs($.x-se),height:Math.abs($.y-D)},te=k(),oe=PE(Y,Q,ee,n===Jo.Partial,!0,G),ue=OE(oe,U).map(ge=>ge.id),me=oe.map(ge=>ge.id);if(C.current!==me.length){C.current=me.length;const ge=Ds(te,me);ge.length&&(J==null||J(ge))}if(_.current!==ue.length){_.current=ue.length;const ge=Ds(U,ue);ge.length&&(F==null||F(ge))}x.setState({userSelectionRect:Q})},q=X=>{if(X.button!==0)return;const{userSelectionRect:T}=x.getState();!b&&T&&X.target===y.current&&(M==null||M(X)),x.setState({nodesSelectionActive:C.current>0}),j(),o==null||o(X)},I=X=>{b&&(x.setState({nodesSelectionActive:C.current>0}),o==null||o(X)),j()},H=E&&(e||b);return ae.createElement("div",{className:Lt(["react-flow__pane",{dragging:N,selection:e}]),onClick:H?void 0:od(M,y),onContextMenu:od(P,y),onWheel:od(O,y),onMouseEnter:H?void 0:p,onMouseDown:H?B:void 0,onMouseMove:H?L:h,onMouseUp:H?q:void 0,onMouseLeave:H?I:f,ref:y,style:gv},m,ae.createElement(KI,null))});ZE.displayName="Pane";function JE(e,n){const r=e.parentNode||e.parentId;if(!r)return!1;const s=n.get(r);return s?s.selected?!0:JE(s,n):!1}function Hw(e,n,r){let s=e;do{if(s!=null&&s.matches(n))return!0;if(s===r.current)return!1;s=s.parentElement}while(s);return!1}function JI(e,n,r,s){return Array.from(e.values()).filter(o=>(o.selected||o.id===s)&&(!o.parentNode||o.parentId||!JE(o,e))&&(o.draggable||n&&typeof o.draggable>"u")).map(o=>{var l,u;return{id:o.id,position:o.position||{x:0,y:0},positionAbsolute:o.positionAbsolute||{x:0,y:0},distance:{x:r.x-(((l=o.positionAbsolute)==null?void 0:l.x)??0),y:r.y-(((u=o.positionAbsolute)==null?void 0:u.y)??0)},delta:{x:0,y:0},extent:o.extent,parentNode:o.parentNode||o.parentId,parentId:o.parentNode||o.parentId,width:o.width,height:o.height,expandParent:o.expandParent}})}function eM(e,n){return!n||n==="parent"?n:[n[0],[n[1][0]-(e.width||0),n[1][1]-(e.height||0)]]}function eN(e,n,r,s,o=[0,0],l){const u=eM(e,e.extent||s);let c=u;const p=e.parentNode||e.parentId;if(e.extent==="parent"&&!e.expandParent)if(p&&e.width&&e.height){const m=r.get(p),{x:y,y:x}=Xi(m,o).positionAbsolute;c=m&&jn(y)&&jn(x)&&jn(m.width)&&jn(m.height)?[[y+e.width*o[0],x+e.height*o[1]],[y+m.width-e.width+e.width*o[0],x+m.height-e.height+e.height*o[1]]]:c}else l==null||l("005",Or.error005()),c=u;else if(e.extent&&p&&e.extent!=="parent"){const m=r.get(p),{x:y,y:x}=Xi(m,o).positionAbsolute;c=[[e.extent[0][0]+y,e.extent[0][1]+x],[e.extent[1][0]+y,e.extent[1][1]+x]]}let h={x:0,y:0};if(p){const m=r.get(p);h=Xi(m,o).positionAbsolute}const f=c&&c!=="parent"?uv(n,c):n;return{position:{x:f.x-h.x,y:f.y-h.y},positionAbsolute:f}}function ad({nodeId:e,dragItems:n,nodeInternals:r}){const s=n.map(o=>({...r.get(o.id),position:o.position,positionAbsolute:o.positionAbsolute}));return[e?s.find(o=>o.id===e):s[0],s]}const Vw=(e,n,r,s)=>{const o=n.querySelectorAll(e);if(!o||!o.length)return null;const l=Array.from(o),u=n.getBoundingClientRect(),c={x:u.width*s[0],y:u.height*s[1]};return l.map(p=>{const h=p.getBoundingClientRect();return{id:p.getAttribute("data-handleid"),position:p.getAttribute("data-handlepos"),x:(h.left-u.left-c.x)/r,y:(h.top-u.top-c.y)/r,...lv(p)}})};function Do(e,n,r){return r===void 0?r:s=>{const o=n().nodeInternals.get(e);o&&r(s,{...o})}}function Vg({id:e,store:n,unselect:r=!1,nodeRef:s}){const{addSelectedNodes:o,unselectNodesAndEdges:l,multiSelectionActive:u,nodeInternals:c,onError:p}=n.getState(),h=c.get(e);if(!h){p==null||p("012",Or.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(r||h.selected&&u)&&(l({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var f;return(f=s==null?void 0:s.current)==null?void 0:f.blur()})):o([e])}function tM(){const e=Ct();return A.useCallback(({sourceEvent:r})=>{const{transform:s,snapGrid:o,snapToGrid:l}=e.getState(),u=r.touches?r.touches[0].clientX:r.clientX,c=r.touches?r.touches[0].clientY:r.clientY,p={x:(u-s[0])/s[2],y:(c-s[1])/s[2]};return{xSnapped:l?o[0]*Math.round(p.x/o[0]):p.x,ySnapped:l?o[1]*Math.round(p.y/o[1]):p.y,...p}},[])}function ld(e){return(n,r,s)=>e==null?void 0:e(n,s)}function tN({nodeRef:e,disabled:n=!1,noDragClassName:r,handleSelector:s,nodeId:o,isSelectable:l,selectNodesOnDrag:u}){const c=Ct(),[p,h]=A.useState(!1),f=A.useRef([]),m=A.useRef({x:null,y:null}),y=A.useRef(0),x=A.useRef(null),C=A.useRef({x:0,y:0}),_=A.useRef(null),S=A.useRef(!1),b=A.useRef(!1),E=A.useRef(!1),N=tM();return A.useEffect(()=>{if(e!=null&&e.current){const j=Cn(e.current),M=({x:B,y:L})=>{const{nodeInternals:q,onNodeDrag:I,onSelectionDrag:H,updateNodePositions:X,nodeExtent:T,snapGrid:Y,snapToGrid:U,nodeOrigin:ee,onError:J}=c.getState();m.current={x:B,y:L};let F=!1,G={x:0,y:0,x2:0,y2:0};if(f.current.length>1&&T){const $=tu(f.current,ee);G=Zo($)}if(f.current=f.current.map($=>{const se={x:B-$.distance.x,y:L-$.distance.y};U&&(se.x=Y[0]*Math.round(se.x/Y[0]),se.y=Y[1]*Math.round(se.y/Y[1]));const D=[[T[0][0],T[0][1]],[T[1][0],T[1][1]]];f.current.length>1&&T&&!$.extent&&(D[0][0]=$.positionAbsolute.x-G.x+T[0][0],D[1][0]=$.positionAbsolute.x+($.width??0)-G.x2+T[1][0],D[0][1]=$.positionAbsolute.y-G.y+T[0][1],D[1][1]=$.positionAbsolute.y+($.height??0)-G.y2+T[1][1]);const Q=eN($,se,q,D,ee,J);return F=F||$.position.x!==Q.position.x||$.position.y!==Q.position.y,$.position=Q.position,$.positionAbsolute=Q.positionAbsolute,$}),!F)return;X(f.current,!0,!0),h(!0);const k=o?I:ld(H);if(k&&_.current){const[$,se]=ad({nodeId:o,dragItems:f.current,nodeInternals:q});k(_.current,$,se)}},P=()=>{if(!x.current)return;const[B,L]=bE(C.current,x.current);if(B!==0||L!==0){const{transform:q,panBy:I}=c.getState();m.current.x=(m.current.x??0)-B/q[2],m.current.y=(m.current.y??0)-L/q[2],I({x:B,y:L})&&M(m.current)}y.current=requestAnimationFrame(P)},O=B=>{var ee;const{nodeInternals:L,multiSelectionActive:q,nodesDraggable:I,unselectNodesAndEdges:H,onNodeDragStart:X,onSelectionDragStart:T}=c.getState();b.current=!0;const Y=o?X:ld(T);(!u||!l)&&!q&&o&&((ee=L.get(o))!=null&&ee.selected||H()),o&&l&&u&&Vg({id:o,store:c,nodeRef:e});const U=N(B);if(m.current=U,f.current=JI(L,I,U,o),Y&&f.current){const[J,F]=ad({nodeId:o,dragItems:f.current,nodeInternals:L});Y(B.sourceEvent,J,F)}};if(n)j.on(".drag",null);else{const B=c2().on("start",L=>{const{domNode:q,nodeDragThreshold:I}=c.getState();I===0&&O(L),E.current=!1;const H=N(L);m.current=H,x.current=(q==null?void 0:q.getBoundingClientRect())||null,C.current=yi(L.sourceEvent,x.current)}).on("drag",L=>{var X,T;const q=N(L),{autoPanOnNodeDrag:I,nodeDragThreshold:H}=c.getState();if(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1&&(E.current=!0),!E.current){if(!S.current&&b.current&&I&&(S.current=!0,P()),!b.current){const Y=q.xSnapped-(((X=m==null?void 0:m.current)==null?void 0:X.x)??0),U=q.ySnapped-(((T=m==null?void 0:m.current)==null?void 0:T.y)??0);Math.sqrt(Y*Y+U*U)>H&&O(L)}(m.current.x!==q.xSnapped||m.current.y!==q.ySnapped)&&f.current&&b.current&&(_.current=L.sourceEvent,C.current=yi(L.sourceEvent,x.current),M(q))}}).on("end",L=>{if(!(!b.current||E.current)&&(h(!1),S.current=!1,b.current=!1,cancelAnimationFrame(y.current),f.current)){const{updateNodePositions:q,nodeInternals:I,onNodeDragStop:H,onSelectionDragStop:X}=c.getState(),T=o?H:ld(X);if(q(f.current,!1,!1),T){const[Y,U]=ad({nodeId:o,dragItems:f.current,nodeInternals:I});T(L.sourceEvent,Y,U)}}}).filter(L=>{const q=L.target;return!L.button&&(!r||!Hw(q,`.${r}`,e))&&(!s||Hw(q,s,e))});return j.call(B),()=>{j.on(".drag",null)}}}},[e,n,r,s,l,c,o,u,N]),p}function nN(){const e=Ct();return A.useCallback(r=>{const{nodeInternals:s,nodeExtent:o,updateNodePositions:l,getNodes:u,snapToGrid:c,snapGrid:p,onError:h,nodesDraggable:f}=e.getState(),m=u().filter(E=>E.selected&&(E.draggable||f&&typeof E.draggable>"u")),y=c?p[0]:5,x=c?p[1]:5,C=r.isShiftPressed?4:1,_=r.x*y*C,S=r.y*x*C,b=m.map(E=>{if(E.positionAbsolute){const N={x:E.positionAbsolute.x+_,y:E.positionAbsolute.y+S};c&&(N.x=p[0]*Math.round(N.x/p[0]),N.y=p[1]*Math.round(N.y/p[1]));const{positionAbsolute:j,position:M}=eN(E,N,s,o,void 0,h);E.position=M,E.positionAbsolute=j}return E});l(b,!0,!1)},[])}const Hs={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Fo=e=>{const n=({id:r,type:s,data:o,xPos:l,yPos:u,xPosOrigin:c,yPosOrigin:p,selected:h,onClick:f,onMouseEnter:m,onMouseMove:y,onMouseLeave:x,onContextMenu:C,onDoubleClick:_,style:S,className:b,isDraggable:E,isSelectable:N,isConnectable:j,isFocusable:M,selectNodesOnDrag:P,sourcePosition:O,targetPosition:B,hidden:L,resizeObserver:q,dragHandle:I,zIndex:H,isParent:X,noDragClassName:T,noPanClassName:Y,initialized:U,disableKeyboardA11y:ee,ariaLabel:J,rfId:F,hasHandleBounds:G})=>{const k=Ct(),$=A.useRef(null),se=A.useRef(null),D=A.useRef(O),Q=A.useRef(B),te=A.useRef(s),oe=N||E||f||m||y||x,ue=nN(),me=Do(r,k.getState,m),ge=Do(r,k.getState,y),Pe=Do(r,k.getState,x),be=Do(r,k.getState,C),Oe=Do(r,k.getState,_),Me=ye=>{const{nodeDragThreshold:we}=k.getState();if(N&&(!P||!E||we>0)&&Vg({id:r,store:k,nodeRef:$}),f){const Be=k.getState().nodeInternals.get(r);Be&&f(ye,{...Be})}},ke=ye=>{if(!Fg(ye)&&!ee)if(CE.includes(ye.key)&&N){const we=ye.key==="Escape";Vg({id:r,store:k,unselect:we,nodeRef:$})}else E&&h&&Object.prototype.hasOwnProperty.call(Hs,ye.key)&&(k.setState({ariaLiveMessage:`Moved selected node ${ye.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~l}, y: ${~~u}`}),ue({x:Hs[ye.key].x,y:Hs[ye.key].y,isShiftPressed:ye.shiftKey}))};A.useEffect(()=>()=>{se.current&&(q==null||q.unobserve(se.current),se.current=null)},[]),A.useEffect(()=>{if($.current&&!L){const ye=$.current;(!U||!G||se.current!==ye)&&(se.current&&(q==null||q.unobserve(se.current)),q==null||q.observe(ye),se.current=ye)}},[L,U,G]),A.useEffect(()=>{const ye=te.current!==s,we=D.current!==O,Be=Q.current!==B;$.current&&(ye||we||Be)&&(ye&&(te.current=s),we&&(D.current=O),Be&&(Q.current=B),k.getState().updateNodeDimensions([{id:r,nodeElement:$.current,forceUpdate:!0}]))},[r,s,O,B]);const Fe=tN({nodeRef:$,disabled:L||!E,noDragClassName:T,handleSelector:I,nodeId:r,isSelectable:N,selectNodesOnDrag:P});return L?null:ae.createElement("div",{className:Lt(["react-flow__node",`react-flow__node-${s}`,{[Y]:E},b,{selected:h,selectable:N,parent:X,dragging:Fe}]),ref:$,style:{zIndex:H,transform:`translate(${c}px,${p}px)`,pointerEvents:oe?"all":"none",visibility:U?"visible":"hidden",...S},"data-id":r,"data-testid":`rf__node-${r}`,onMouseEnter:me,onMouseMove:ge,onMouseLeave:Pe,onContextMenu:be,onClick:Me,onDoubleClick:Oe,onKeyDown:M?ke:void 0,tabIndex:M?0:void 0,role:M?"button":void 0,"aria-describedby":ee?void 0:`${GE}-${F}`,"aria-label":J},ae.createElement(pI,{value:r},ae.createElement(e,{id:r,data:o,type:s,xPos:l,yPos:u,selected:h,isConnectable:j,sourcePosition:O,targetPosition:B,dragging:Fe,dragHandle:I,zIndex:H})))};return n.displayName="NodeWrapper",A.memo(n)};const nM=e=>{const n=e.getNodes().filter(r=>r.selected);return{...tu(n,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function rM({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:r}){const s=Ct(),{width:o,height:l,x:u,y:c,transformString:p,userSelectionActive:h}=Xe(nM,Nt),f=nN(),m=A.useRef(null);if(A.useEffect(()=>{var C;r||(C=m.current)==null||C.focus({preventScroll:!0})},[r]),tN({nodeRef:m}),h||!o||!l)return null;const y=e?C=>{const _=s.getState().getNodes().filter(S=>S.selected);e(C,_)}:void 0,x=C=>{Object.prototype.hasOwnProperty.call(Hs,C.key)&&f({x:Hs[C.key].x,y:Hs[C.key].y,isShiftPressed:C.shiftKey})};return ae.createElement("div",{className:Lt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:p}},ae.createElement("div",{ref:m,className:"react-flow__nodesselection-rect",onContextMenu:y,tabIndex:r?void 0:-1,onKeyDown:r?void 0:x,style:{width:o,height:l,top:c,left:u}}))}var iM=A.memo(rM);const sM=e=>e.nodesSelectionActive,rN=({children:e,onPaneClick:n,onPaneMouseEnter:r,onPaneMouseMove:s,onPaneMouseLeave:o,onPaneContextMenu:l,onPaneScroll:u,deleteKeyCode:c,onMove:p,onMoveStart:h,onMoveEnd:f,selectionKeyCode:m,selectionOnDrag:y,selectionMode:x,onSelectionStart:C,onSelectionEnd:_,multiSelectionKeyCode:S,panActivationKeyCode:b,zoomActivationKeyCode:E,elementsSelectable:N,zoomOnScroll:j,zoomOnPinch:M,panOnScroll:P,panOnScrollSpeed:O,panOnScrollMode:B,zoomOnDoubleClick:L,panOnDrag:q,defaultViewport:I,translateExtent:H,minZoom:X,maxZoom:T,preventScrolling:Y,onSelectionContextMenu:U,noWheelClassName:ee,noPanClassName:J,disableKeyboardA11y:F})=>{const G=Xe(sM),k=ea(m),$=ea(b),se=$||q,D=$||P,Q=k||y&&se!==!0;return UI({deleteKeyCode:c,multiSelectionKeyCode:S}),ae.createElement(GI,{onMove:p,onMoveStart:h,onMoveEnd:f,onPaneContextMenu:l,elementsSelectable:N,zoomOnScroll:j,zoomOnPinch:M,panOnScroll:D,panOnScrollSpeed:O,panOnScrollMode:B,zoomOnDoubleClick:L,panOnDrag:!k&&se,defaultViewport:I,translateExtent:H,minZoom:X,maxZoom:T,zoomActivationKeyCode:E,preventScrolling:Y,noWheelClassName:ee,noPanClassName:J},ae.createElement(ZE,{onSelectionStart:C,onSelectionEnd:_,onPaneClick:n,onPaneMouseEnter:r,onPaneMouseMove:s,onPaneMouseLeave:o,onPaneContextMenu:l,onPaneScroll:u,panOnDrag:se,isSelecting:!!Q,selectionMode:x},e,G&&ae.createElement(iM,{onSelectionContextMenu:U,noPanClassName:J,disableKeyboardA11y:F})))};rN.displayName="FlowRenderer";var oM=A.memo(rN);function aM(e){return Xe(A.useCallback(r=>e?PE(r.nodeInternals,{x:0,y:0,width:r.width,height:r.height},r.transform,!0):r.getNodes(),[e]))}function lM(e){const n={input:Fo(e.input||UE),default:Fo(e.default||Hg),output:Fo(e.output||VE),group:Fo(e.group||mv)},r={},s=Object.keys(e).filter(o=>!["input","default","output","group"].includes(o)).reduce((o,l)=>(o[l]=Fo(e[l]||Hg),o),r);return{...n,...s}}const uM=({x:e,y:n,width:r,height:s,origin:o})=>!r||!s?{x:e,y:n}:o[0]<0||o[1]<0||o[0]>1||o[1]>1?{x:e,y:n}:{x:e-r*o[0],y:n-s*o[1]},cM=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),iN=e=>{const{nodesDraggable:n,nodesConnectable:r,nodesFocusable:s,elementsSelectable:o,updateNodeDimensions:l,onError:u}=Xe(cM,Nt),c=aM(e.onlyRenderVisibleElements),p=A.useRef(),h=A.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const f=new ResizeObserver(m=>{const y=m.map(x=>({id:x.target.getAttribute("data-id"),nodeElement:x.target,forceUpdate:!0}));l(y)});return p.current=f,f},[]);return A.useEffect(()=>()=>{var f;(f=p==null?void 0:p.current)==null||f.disconnect()},[]),ae.createElement("div",{className:"react-flow__nodes",style:gv},c.map(f=>{var M,P,O;let m=f.type||"default";e.nodeTypes[m]||(u==null||u("003",Or.error003(m)),m="default");const y=e.nodeTypes[m]||e.nodeTypes.default,x=!!(f.draggable||n&&typeof f.draggable>"u"),C=!!(f.selectable||o&&typeof f.selectable>"u"),_=!!(f.connectable||r&&typeof f.connectable>"u"),S=!!(f.focusable||s&&typeof f.focusable>"u"),b=e.nodeExtent?uv(f.positionAbsolute,e.nodeExtent):f.positionAbsolute,E=(b==null?void 0:b.x)??0,N=(b==null?void 0:b.y)??0,j=uM({x:E,y:N,width:f.width??0,height:f.height??0,origin:e.nodeOrigin});return ae.createElement(y,{key:f.id,id:f.id,className:f.className,style:f.style,type:m,data:f.data,sourcePosition:f.sourcePosition||je.Bottom,targetPosition:f.targetPosition||je.Top,hidden:f.hidden,xPos:E,yPos:N,xPosOrigin:j.x,yPosOrigin:j.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!f.selected,isDraggable:x,isSelectable:C,isConnectable:_,isFocusable:S,resizeObserver:h,dragHandle:f.dragHandle,zIndex:((M=f[mt])==null?void 0:M.z)??0,isParent:!!((P=f[mt])!=null&&P.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!f.width&&!!f.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:f.ariaLabel,hasHandleBounds:!!((O=f[mt])!=null&&O.handleBounds)})}))};iN.displayName="NodeRenderer";var dM=A.memo(iN);const fM=(e,n,r)=>r===je.Left?e-n:r===je.Right?e+n:e,hM=(e,n,r)=>r===je.Top?e-n:r===je.Bottom?e+n:e,Ww="react-flow__edgeupdater",Gw=({position:e,centerX:n,centerY:r,radius:s=10,onMouseDown:o,onMouseEnter:l,onMouseOut:u,type:c})=>ae.createElement("circle",{onMouseDown:o,onMouseEnter:l,onMouseOut:u,className:Lt([Ww,`${Ww}-${c}`]),cx:fM(n,s,e),cy:hM(r,s,e),r:s,stroke:"transparent",fill:"transparent"}),pM=()=>!0;var qs=e=>{const n=({id:r,className:s,type:o,data:l,onClick:u,onEdgeDoubleClick:c,selected:p,animated:h,label:f,labelStyle:m,labelShowBg:y,labelBgStyle:x,labelBgPadding:C,labelBgBorderRadius:_,style:S,source:b,target:E,sourceX:N,sourceY:j,targetX:M,targetY:P,sourcePosition:O,targetPosition:B,elementsSelectable:L,hidden:q,sourceHandleId:I,targetHandleId:H,onContextMenu:X,onMouseEnter:T,onMouseMove:Y,onMouseLeave:U,reconnectRadius:ee,onReconnect:J,onReconnectStart:F,onReconnectEnd:G,markerEnd:k,markerStart:$,rfId:se,ariaLabel:D,isFocusable:Q,isReconnectable:te,pathOptions:oe,interactionWidth:ue,disableKeyboardA11y:me})=>{const ge=A.useRef(null),[Pe,be]=A.useState(!1),[Oe,Me]=A.useState(!1),ke=Ct(),Fe=A.useMemo(()=>`url('#${Bg($,se)}')`,[$,se]),ye=A.useMemo(()=>`url('#${Bg(k,se)}')`,[k,se]);if(q)return null;const we=Ye=>{var wt;const{edges:bt,addSelectedEdges:gt,unselectNodesAndEdges:ht,multiSelectionActive:et}=ke.getState(),Bt=bt.find(An=>An.id===r);Bt&&(L&&(ke.setState({nodesSelectionActive:!1}),Bt.selected&&et?(ht({nodes:[],edges:[Bt]}),(wt=ge.current)==null||wt.blur()):gt([r])),u&&u(Ye,Bt))},Be=$o(r,ke.getState,c),ct=$o(r,ke.getState,X),dt=$o(r,ke.getState,T),Qe=$o(r,ke.getState,Y),ze=$o(r,ke.getState,U),Ze=(Ye,bt)=>{if(Ye.button!==0)return;const{edges:gt,isValidConnection:ht}=ke.getState(),et=bt?E:b,Bt=(bt?H:I)||null,wt=bt?"target":"source",An=ht||pM,pr=bt,Ut=gt.find(gn=>gn.id===r);Me(!0),F==null||F(Ye,Ut,wt);const Kt=gn=>{Me(!1),G==null||G(gn,Ut,wt)};DE({event:Ye,handleId:Bt,nodeId:et,onConnect:gn=>J==null?void 0:J(Ut,gn),isTarget:pr,getState:ke.getState,setState:ke.setState,isValidConnection:An,edgeUpdaterType:wt,onReconnectEnd:Kt})},ft=Ye=>Ze(Ye,!0),At=Ye=>Ze(Ye,!1),it=()=>be(!0),st=()=>be(!1),Yt=!L&&!u,It=Ye=>{var bt;if(!me&&CE.includes(Ye.key)&&L){const{unselectNodesAndEdges:gt,addSelectedEdges:ht,edges:et}=ke.getState();Ye.key==="Escape"?((bt=ge.current)==null||bt.blur(),gt({edges:[et.find(wt=>wt.id===r)]})):ht([r])}};return ae.createElement("g",{className:Lt(["react-flow__edge",`react-flow__edge-${o}`,s,{selected:p,animated:h,inactive:Yt,updating:Pe}]),onClick:we,onDoubleClick:Be,onContextMenu:ct,onMouseEnter:dt,onMouseMove:Qe,onMouseLeave:ze,onKeyDown:Q?It:void 0,tabIndex:Q?0:void 0,role:Q?"button":"img","data-testid":`rf__edge-${r}`,"aria-label":D===null?void 0:D||`Edge from ${b} to ${E}`,"aria-describedby":Q?`${YE}-${se}`:void 0,ref:ge},!Oe&&ae.createElement(e,{id:r,source:b,target:E,selected:p,animated:h,label:f,labelStyle:m,labelShowBg:y,labelBgStyle:x,labelBgPadding:C,labelBgBorderRadius:_,data:l,style:S,sourceX:N,sourceY:j,targetX:M,targetY:P,sourcePosition:O,targetPosition:B,sourceHandleId:I,targetHandleId:H,markerStart:Fe,markerEnd:ye,pathOptions:oe,interactionWidth:ue}),te&&ae.createElement(ae.Fragment,null,(te==="source"||te===!0)&&ae.createElement(Gw,{position:O,centerX:N,centerY:j,radius:ee,onMouseDown:ft,onMouseEnter:it,onMouseOut:st,type:"source"}),(te==="target"||te===!0)&&ae.createElement(Gw,{position:B,centerX:M,centerY:P,radius:ee,onMouseDown:At,onMouseEnter:it,onMouseOut:st,type:"target"})))};return n.displayName="EdgeWrapper",A.memo(n)};function mM(e){const n={default:qs(e.default||Hl),straight:qs(e.bezier||fv),step:qs(e.step||dv),smoothstep:qs(e.step||eu),simplebezier:qs(e.simplebezier||cv)},r={},s=Object.keys(e).filter(o=>!["default","bezier"].includes(o)).reduce((o,l)=>(o[l]=qs(e[l]||Hl),o),r);return{...n,...s}}function Yw(e,n,r=null){const s=((r==null?void 0:r.x)||0)+n.x,o=((r==null?void 0:r.y)||0)+n.y,l=(r==null?void 0:r.width)||n.width,u=(r==null?void 0:r.height)||n.height;switch(e){case je.Top:return{x:s+l/2,y:o};case je.Right:return{x:s+l,y:o+u/2};case je.Bottom:return{x:s+l/2,y:o+u};case je.Left:return{x:s,y:o+u/2}}}function Kw(e,n){return e?e.length===1||!n?e[0]:n&&e.find(r=>r.id===n)||null:null}const gM=(e,n,r,s,o,l)=>{const u=Yw(r,e,n),c=Yw(l,s,o);return{sourceX:u.x,sourceY:u.y,targetX:c.x,targetY:c.y}};function vM({sourcePos:e,targetPos:n,sourceWidth:r,sourceHeight:s,targetWidth:o,targetHeight:l,width:u,height:c,transform:p}){const h={x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x+r,n.x+o),y2:Math.max(e.y+s,n.y+l)};h.x===h.x2&&(h.x2+=1),h.y===h.y2&&(h.y2+=1);const f=Zo({x:(0-p[0])/p[2],y:(0-p[1])/p[2],width:u/p[2],height:c/p[2]}),m=Math.max(0,Math.min(f.x2,h.x2)-Math.max(f.x,h.x)),y=Math.max(0,Math.min(f.y2,h.y2)-Math.max(f.y,h.y));return Math.ceil(m*y)>0}function Xw(e){var s,o,l,u,c;const n=((s=e==null?void 0:e[mt])==null?void 0:s.handleBounds)||null,r=n&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.x)<"u"&&typeof((l=e==null?void 0:e.positionAbsolute)==null?void 0:l.y)<"u";return[{x:((u=e==null?void 0:e.positionAbsolute)==null?void 0:u.x)||0,y:((c=e==null?void 0:e.positionAbsolute)==null?void 0:c.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},n,!!r]}const yM=[{level:0,isMaxLevel:!0,edges:[]}];function wM(e,n,r=!1){let s=-1;const o=e.reduce((u,c)=>{var f,m;const p=jn(c.zIndex);let h=p?c.zIndex:0;if(r){const y=n.get(c.target),x=n.get(c.source),C=c.selected||(y==null?void 0:y.selected)||(x==null?void 0:x.selected),_=Math.max(((f=x==null?void 0:x[mt])==null?void 0:f.z)||0,((m=y==null?void 0:y[mt])==null?void 0:m.z)||0,1e3);h=(p?c.zIndex:0)+(C?_:0)}return u[h]?u[h].push(c):u[h]=[c],s=h>s?h:s,u},{}),l=Object.entries(o).map(([u,c])=>{const p=+u;return{edges:c,level:p,isMaxLevel:p===s}});return l.length===0?yM:l}function xM(e,n,r){const s=Xe(A.useCallback(o=>e?o.edges.filter(l=>{const u=n.get(l.source),c=n.get(l.target);return(u==null?void 0:u.width)&&(u==null?void 0:u.height)&&(c==null?void 0:c.width)&&(c==null?void 0:c.height)&&vM({sourcePos:u.positionAbsolute||{x:0,y:0},targetPos:c.positionAbsolute||{x:0,y:0},sourceWidth:u.width,sourceHeight:u.height,targetWidth:c.width,targetHeight:c.height,width:o.width,height:o.height,transform:o.transform})}):o.edges,[e,n]));return wM(s,n,r)}const _M=({color:e="none",strokeWidth:n=1})=>ae.createElement("polyline",{style:{stroke:e,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),SM=({color:e="none",strokeWidth:n=1})=>ae.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),Qw={[Ul.Arrow]:_M,[Ul.ArrowClosed]:SM};function bM(e){const n=Ct();return A.useMemo(()=>{var o,l;return Object.prototype.hasOwnProperty.call(Qw,e)?Qw[e]:((l=(o=n.getState()).onError)==null||l.call(o,"009",Or.error009(e)),null)},[e])}const kM=({id:e,type:n,color:r,width:s=12.5,height:o=12.5,markerUnits:l="strokeWidth",strokeWidth:u,orient:c="auto-start-reverse"})=>{const p=bM(n);return p?ae.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${s}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:c,refX:"0",refY:"0"},ae.createElement(p,{color:r,strokeWidth:u})):null},EM=({defaultColor:e,rfId:n})=>r=>{const s=[];return r.edges.reduce((o,l)=>([l.markerStart,l.markerEnd].forEach(u=>{if(u&&typeof u=="object"){const c=Bg(u,n);s.includes(c)||(o.push({id:c,color:u.color||e,...u}),s.push(c))}}),o),[]).sort((o,l)=>o.id.localeCompare(l.id))},sN=({defaultColor:e,rfId:n})=>{const r=Xe(A.useCallback(EM({defaultColor:e,rfId:n}),[e,n]),(s,o)=>!(s.length!==o.length||s.some((l,u)=>l.id!==o[u].id)));return ae.createElement("defs",null,r.map(s=>ae.createElement(kM,{id:s.id,key:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient})))};sN.displayName="MarkerDefinitions";var NM=A.memo(sN);const CM=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),oN=({defaultMarkerColor:e,onlyRenderVisibleElements:n,elevateEdgesOnSelect:r,rfId:s,edgeTypes:o,noPanClassName:l,onEdgeContextMenu:u,onEdgeMouseEnter:c,onEdgeMouseMove:p,onEdgeMouseLeave:h,onEdgeClick:f,onEdgeDoubleClick:m,onReconnect:y,onReconnectStart:x,onReconnectEnd:C,reconnectRadius:_,children:S,disableKeyboardA11y:b})=>{const{edgesFocusable:E,edgesUpdatable:N,elementsSelectable:j,width:M,height:P,connectionMode:O,nodeInternals:B,onError:L}=Xe(CM,Nt),q=xM(n,B,r);return M?ae.createElement(ae.Fragment,null,q.map(({level:I,edges:H,isMaxLevel:X})=>ae.createElement("svg",{key:I,style:{zIndex:I},width:M,height:P,className:"react-flow__edges react-flow__container"},X&&ae.createElement(NM,{defaultColor:e,rfId:s}),ae.createElement("g",null,H.map(T=>{const[Y,U,ee]=Xw(B.get(T.source)),[J,F,G]=Xw(B.get(T.target));if(!ee||!G)return null;let k=T.type||"default";o[k]||(L==null||L("011",Or.error011(k)),k="default");const $=o[k]||o.default,se=O===Zi.Strict?F.target:(F.target??[]).concat(F.source??[]),D=Kw(U.source,T.sourceHandle),Q=Kw(se,T.targetHandle),te=(D==null?void 0:D.position)||je.Bottom,oe=(Q==null?void 0:Q.position)||je.Top,ue=!!(T.focusable||E&&typeof T.focusable>"u"),me=T.reconnectable||T.updatable,ge=typeof y<"u"&&(me||N&&typeof me>"u");if(!D||!Q)return L==null||L("008",Or.error008(D,T)),null;const{sourceX:Pe,sourceY:be,targetX:Oe,targetY:Me}=gM(Y,D,te,J,Q,oe);return ae.createElement($,{key:T.id,id:T.id,className:Lt([T.className,l]),type:k,data:T.data,selected:!!T.selected,animated:!!T.animated,hidden:!!T.hidden,label:T.label,labelStyle:T.labelStyle,labelShowBg:T.labelShowBg,labelBgStyle:T.labelBgStyle,labelBgPadding:T.labelBgPadding,labelBgBorderRadius:T.labelBgBorderRadius,style:T.style,source:T.source,target:T.target,sourceHandleId:T.sourceHandle,targetHandleId:T.targetHandle,markerEnd:T.markerEnd,markerStart:T.markerStart,sourceX:Pe,sourceY:be,targetX:Oe,targetY:Me,sourcePosition:te,targetPosition:oe,elementsSelectable:j,onContextMenu:u,onMouseEnter:c,onMouseMove:p,onMouseLeave:h,onClick:f,onEdgeDoubleClick:m,onReconnect:y,onReconnectStart:x,onReconnectEnd:C,reconnectRadius:_,rfId:s,ariaLabel:T.ariaLabel,isFocusable:ue,isReconnectable:ge,pathOptions:"pathOptions"in T?T.pathOptions:void 0,interactionWidth:T.interactionWidth,disableKeyboardA11y:b})})))),S):null};oN.displayName="EdgeRenderer";var jM=A.memo(oN);const RM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function TM({children:e}){const n=Xe(RM);return ae.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:n}},e)}function AM(e){const n=aa(),r=A.useRef(!1);A.useEffect(()=>{!r.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),r.current=!0)},[e,n.viewportInitialized])}const IM={[je.Left]:je.Right,[je.Right]:je.Left,[je.Top]:je.Bottom,[je.Bottom]:je.Top},aN=({nodeId:e,handleType:n,style:r,type:s=vi.Bezier,CustomComponent:o,connectionStatus:l})=>{var P,O,B;const{fromNode:u,handleId:c,toX:p,toY:h,connectionMode:f}=Xe(A.useCallback(L=>({fromNode:L.nodeInternals.get(e),handleId:L.connectionHandleId,toX:(L.connectionPosition.x-L.transform[0])/L.transform[2],toY:(L.connectionPosition.y-L.transform[1])/L.transform[2],connectionMode:L.connectionMode}),[e]),Nt),m=(P=u==null?void 0:u[mt])==null?void 0:P.handleBounds;let y=m==null?void 0:m[n];if(f===Zi.Loose&&(y=y||(m==null?void 0:m[n==="source"?"target":"source"])),!u||!y)return null;const x=c?y.find(L=>L.id===c):y[0],C=x?x.x+x.width/2:(u.width??0)/2,_=x?x.y+x.height/2:u.height??0,S=(((O=u.positionAbsolute)==null?void 0:O.x)??0)+C,b=(((B=u.positionAbsolute)==null?void 0:B.y)??0)+_,E=x==null?void 0:x.position,N=E?IM[E]:null;if(!E||!N)return null;if(o)return ae.createElement(o,{connectionLineType:s,connectionLineStyle:r,fromNode:u,fromHandle:x,fromX:S,fromY:b,toX:p,toY:h,fromPosition:E,toPosition:N,connectionStatus:l});let j="";const M={sourceX:S,sourceY:b,sourcePosition:E,targetX:p,targetY:h,targetPosition:N};return s===vi.Bezier?[j]=IE(M):s===vi.Step?[j]=zg({...M,borderRadius:0}):s===vi.SmoothStep?[j]=zg(M):s===vi.SimpleBezier?[j]=AE(M):j=`M${S},${b} ${p},${h}`,ae.createElement("path",{d:j,fill:"none",className:"react-flow__connection-path",style:r})};aN.displayName="ConnectionLine";const MM=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function PM({containerStyle:e,style:n,type:r,component:s}){const{nodeId:o,handleType:l,nodesConnectable:u,width:c,height:p,connectionStatus:h}=Xe(MM,Nt);return!(o&&l&&c&&u)?null:ae.createElement("svg",{style:e,width:c,height:p,className:"react-flow__edges react-flow__connectionline react-flow__container"},ae.createElement("g",{className:Lt(["react-flow__connection",h])},ae.createElement(aN,{nodeId:o,handleType:l,style:n,type:r,CustomComponent:s,connectionStatus:h})))}function Zw(e,n){return A.useRef(null),Ct(),A.useMemo(()=>n(e),[e])}const lN=({nodeTypes:e,edgeTypes:n,onMove:r,onMoveStart:s,onMoveEnd:o,onInit:l,onNodeClick:u,onEdgeClick:c,onNodeDoubleClick:p,onEdgeDoubleClick:h,onNodeMouseEnter:f,onNodeMouseMove:m,onNodeMouseLeave:y,onNodeContextMenu:x,onSelectionContextMenu:C,onSelectionStart:_,onSelectionEnd:S,connectionLineType:b,connectionLineStyle:E,connectionLineComponent:N,connectionLineContainerStyle:j,selectionKeyCode:M,selectionOnDrag:P,selectionMode:O,multiSelectionKeyCode:B,panActivationKeyCode:L,zoomActivationKeyCode:q,deleteKeyCode:I,onlyRenderVisibleElements:H,elementsSelectable:X,selectNodesOnDrag:T,defaultViewport:Y,translateExtent:U,minZoom:ee,maxZoom:J,preventScrolling:F,defaultMarkerColor:G,zoomOnScroll:k,zoomOnPinch:$,panOnScroll:se,panOnScrollSpeed:D,panOnScrollMode:Q,zoomOnDoubleClick:te,panOnDrag:oe,onPaneClick:ue,onPaneMouseEnter:me,onPaneMouseMove:ge,onPaneMouseLeave:Pe,onPaneScroll:be,onPaneContextMenu:Oe,onEdgeContextMenu:Me,onEdgeMouseEnter:ke,onEdgeMouseMove:Fe,onEdgeMouseLeave:ye,onReconnect:we,onReconnectStart:Be,onReconnectEnd:ct,reconnectRadius:dt,noDragClassName:Qe,noWheelClassName:ze,noPanClassName:Ze,elevateEdgesOnSelect:ft,disableKeyboardA11y:At,nodeOrigin:it,nodeExtent:st,rfId:Yt})=>{const It=Zw(e,lM),Ye=Zw(n,mM);return AM(l),ae.createElement(oM,{onPaneClick:ue,onPaneMouseEnter:me,onPaneMouseMove:ge,onPaneMouseLeave:Pe,onPaneContextMenu:Oe,onPaneScroll:be,deleteKeyCode:I,selectionKeyCode:M,selectionOnDrag:P,selectionMode:O,onSelectionStart:_,onSelectionEnd:S,multiSelectionKeyCode:B,panActivationKeyCode:L,zoomActivationKeyCode:q,elementsSelectable:X,onMove:r,onMoveStart:s,onMoveEnd:o,zoomOnScroll:k,zoomOnPinch:$,zoomOnDoubleClick:te,panOnScroll:se,panOnScrollSpeed:D,panOnScrollMode:Q,panOnDrag:oe,defaultViewport:Y,translateExtent:U,minZoom:ee,maxZoom:J,onSelectionContextMenu:C,preventScrolling:F,noDragClassName:Qe,noWheelClassName:ze,noPanClassName:Ze,disableKeyboardA11y:At},ae.createElement(TM,null,ae.createElement(jM,{edgeTypes:Ye,onEdgeClick:c,onEdgeDoubleClick:h,onlyRenderVisibleElements:H,onEdgeContextMenu:Me,onEdgeMouseEnter:ke,onEdgeMouseMove:Fe,onEdgeMouseLeave:ye,onReconnect:we,onReconnectStart:Be,onReconnectEnd:ct,reconnectRadius:dt,defaultMarkerColor:G,noPanClassName:Ze,elevateEdgesOnSelect:!!ft,disableKeyboardA11y:At,rfId:Yt},ae.createElement(PM,{style:E,type:b,component:N,containerStyle:j})),ae.createElement("div",{className:"react-flow__edgelabel-renderer"}),ae.createElement(dM,{nodeTypes:It,onNodeClick:u,onNodeDoubleClick:p,onNodeMouseEnter:f,onNodeMouseMove:m,onNodeMouseLeave:y,onNodeContextMenu:x,selectNodesOnDrag:T,onlyRenderVisibleElements:H,noPanClassName:Ze,noDragClassName:Qe,disableKeyboardA11y:At,nodeOrigin:it,nodeExtent:st,rfId:Yt})))};lN.displayName="GraphView";var OM=A.memo(lN);const Wg=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],pi={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:Wg,nodeExtent:Wg,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:Zi.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:lI,isValidConnection:void 0},qM=()=>SR((e,n)=>({...pi,setNodes:r=>{const{nodeInternals:s,nodeOrigin:o,elevateNodesOnSelect:l}=n();e({nodeInternals:sd(r,s,o,l)})},getNodes:()=>Array.from(n().nodeInternals.values()),setEdges:r=>{const{defaultEdgeOptions:s={}}=n();e({edges:r.map(o=>({...s,...o}))})},setDefaultNodesAndEdges:(r,s)=>{const o=typeof r<"u",l=typeof s<"u",u=o?sd(r,new Map,n().nodeOrigin,n().elevateNodesOnSelect):new Map;e({nodeInternals:u,edges:l?s:[],hasDefaultNodes:o,hasDefaultEdges:l})},updateNodeDimensions:r=>{const{onNodesChange:s,nodeInternals:o,fitViewOnInit:l,fitViewOnInitDone:u,fitViewOnInitOptions:c,domNode:p,nodeOrigin:h}=n(),f=p==null?void 0:p.querySelector(".react-flow__viewport");if(!f)return;const m=window.getComputedStyle(f),{m22:y}=new window.DOMMatrixReadOnly(m.transform),x=r.reduce((_,S)=>{const b=o.get(S.id);if(b!=null&&b.hidden)o.set(b.id,{...b,[mt]:{...b[mt],handleBounds:void 0}});else if(b){const E=lv(S.nodeElement);!!(E.width&&E.height&&(b.width!==E.width||b.height!==E.height||S.forceUpdate))&&(o.set(b.id,{...b,[mt]:{...b[mt],handleBounds:{source:Vw(".source",S.nodeElement,y,h),target:Vw(".target",S.nodeElement,y,h)}},...E}),_.push({id:b.id,type:"dimensions",dimensions:E}))}return _},[]);XE(o,h);const C=u||l&&!u&&QE(n,{initial:!0,...c});e({nodeInternals:new Map(o),fitViewOnInitDone:C}),(x==null?void 0:x.length)>0&&(s==null||s(x))},updateNodePositions:(r,s=!0,o=!1)=>{const{triggerNodeChanges:l}=n(),u=r.map(c=>{const p={id:c.id,type:"position",dragging:o};return s&&(p.positionAbsolute=c.positionAbsolute,p.position=c.position),p});l(u)},triggerNodeChanges:r=>{const{onNodesChange:s,nodeInternals:o,hasDefaultNodes:l,nodeOrigin:u,getNodes:c,elevateNodesOnSelect:p}=n();if(r!=null&&r.length){if(l){const h=QI(r,c()),f=sd(h,o,u,p);e({nodeInternals:f})}s==null||s(r)}},addSelectedNodes:r=>{const{multiSelectionActive:s,edges:o,getNodes:l}=n();let u,c=null;s?u=r.map(p=>gi(p,!0)):(u=Ds(l(),r),c=Ds(o,[])),bl({changedNodes:u,changedEdges:c,get:n,set:e})},addSelectedEdges:r=>{const{multiSelectionActive:s,edges:o,getNodes:l}=n();let u,c=null;s?u=r.map(p=>gi(p,!0)):(u=Ds(o,r),c=Ds(l(),[])),bl({changedNodes:c,changedEdges:u,get:n,set:e})},unselectNodesAndEdges:({nodes:r,edges:s}={})=>{const{edges:o,getNodes:l}=n(),u=r||l(),c=s||o,p=u.map(f=>(f.selected=!1,gi(f.id,!1))),h=c.map(f=>gi(f.id,!1));bl({changedNodes:p,changedEdges:h,get:n,set:e})},setMinZoom:r=>{const{d3Zoom:s,maxZoom:o}=n();s==null||s.scaleExtent([r,o]),e({minZoom:r})},setMaxZoom:r=>{const{d3Zoom:s,minZoom:o}=n();s==null||s.scaleExtent([o,r]),e({maxZoom:r})},setTranslateExtent:r=>{var s;(s=n().d3Zoom)==null||s.translateExtent(r),e({translateExtent:r})},resetSelectedElements:()=>{const{edges:r,getNodes:s}=n(),l=s().filter(c=>c.selected).map(c=>gi(c.id,!1)),u=r.filter(c=>c.selected).map(c=>gi(c.id,!1));bl({changedNodes:l,changedEdges:u,get:n,set:e})},setNodeExtent:r=>{const{nodeInternals:s}=n();s.forEach(o=>{o.positionAbsolute=uv(o.position,r)}),e({nodeExtent:r,nodeInternals:new Map(s)})},panBy:r=>{const{transform:s,width:o,height:l,d3Zoom:u,d3Selection:c,translateExtent:p}=n();if(!u||!c||!r.x&&!r.y)return!1;const h=Mr.translate(s[0]+r.x,s[1]+r.y).scale(s[2]),f=[[0,0],[o,l]],m=u==null?void 0:u.constrain()(h,f,p);return u.transform(c,m),s[0]!==m.x||s[1]!==m.y||s[2]!==m.k},cancelConnection:()=>e({connectionNodeId:pi.connectionNodeId,connectionHandleId:pi.connectionHandleId,connectionHandleType:pi.connectionHandleType,connectionStatus:pi.connectionStatus,connectionStartHandle:pi.connectionStartHandle,connectionEndHandle:pi.connectionEndHandle}),reset:()=>e({...pi})}),Object.is),vv=({children:e})=>{const n=A.useRef(null);return n.current||(n.current=qM()),ae.createElement(tI,{value:n.current},e)};vv.displayName="ReactFlowProvider";const uN=({children:e})=>A.useContext(Jl)?ae.createElement(ae.Fragment,null,e):ae.createElement(vv,null,e);uN.displayName="ReactFlowWrapper";const LM={input:UE,default:Hg,output:VE,group:mv},$M={default:Hl,straight:fv,step:dv,smoothstep:eu,simplebezier:cv},DM=[0,0],FM=[15,15],zM={x:0,y:0,zoom:1},BM={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},cN=A.forwardRef(({nodes:e,edges:n,defaultNodes:r,defaultEdges:s,className:o,nodeTypes:l=LM,edgeTypes:u=$M,onNodeClick:c,onEdgeClick:p,onInit:h,onMove:f,onMoveStart:m,onMoveEnd:y,onConnect:x,onConnectStart:C,onConnectEnd:_,onClickConnectStart:S,onClickConnectEnd:b,onNodeMouseEnter:E,onNodeMouseMove:N,onNodeMouseLeave:j,onNodeContextMenu:M,onNodeDoubleClick:P,onNodeDragStart:O,onNodeDrag:B,onNodeDragStop:L,onNodesDelete:q,onEdgesDelete:I,onSelectionChange:H,onSelectionDragStart:X,onSelectionDrag:T,onSelectionDragStop:Y,onSelectionContextMenu:U,onSelectionStart:ee,onSelectionEnd:J,connectionMode:F=Zi.Strict,connectionLineType:G=vi.Bezier,connectionLineStyle:k,connectionLineComponent:$,connectionLineContainerStyle:se,deleteKeyCode:D="Backspace",selectionKeyCode:Q="Shift",selectionOnDrag:te=!1,selectionMode:oe=Jo.Full,panActivationKeyCode:ue="Space",multiSelectionKeyCode:me=Bl()?"Meta":"Control",zoomActivationKeyCode:ge=Bl()?"Meta":"Control",snapToGrid:Pe=!1,snapGrid:be=FM,onlyRenderVisibleElements:Oe=!1,selectNodesOnDrag:Me=!0,nodesDraggable:ke,nodesConnectable:Fe,nodesFocusable:ye,nodeOrigin:we=DM,edgesFocusable:Be,edgesUpdatable:ct,elementsSelectable:dt,defaultViewport:Qe=zM,minZoom:ze=.5,maxZoom:Ze=2,translateExtent:ft=Wg,preventScrolling:At=!0,nodeExtent:it,defaultMarkerColor:st="#b1b1b7",zoomOnScroll:Yt=!0,zoomOnPinch:It=!0,panOnScroll:Ye=!1,panOnScrollSpeed:bt=.5,panOnScrollMode:gt=Yi.Free,zoomOnDoubleClick:ht=!0,panOnDrag:et=!0,onPaneClick:Bt,onPaneMouseEnter:wt,onPaneMouseMove:An,onPaneMouseLeave:pr,onPaneScroll:Ut,onPaneContextMenu:Kt,children:In,onEdgeContextMenu:gn,onEdgeDoubleClick:_i,onEdgeMouseEnter:Si,onEdgeMouseMove:er,onEdgeMouseLeave:mr,onEdgeUpdate:$r,onEdgeUpdateStart:Dr,onEdgeUpdateEnd:vt,onReconnect:tr,onReconnectStart:vn,onReconnectEnd:Mn,reconnectRadius:nr=10,edgeUpdaterRadius:gr=10,onNodesChange:Fr,onEdgesChange:Pn,noDragClassName:rs="nodrag",noWheelClassName:is="nowheel",noPanClassName:ss="nopan",fitView:yn=!1,fitViewOptions:bi,connectOnClick:zr=!0,attributionPosition:rr,proOptions:os,defaultEdgeOptions:Ht,elevateNodesOnSelect:Br=!0,elevateEdgesOnSelect:Ur=!1,disableKeyboardA11y:ki=!1,autoPanOnConnect:Hr=!0,autoPanOnNodeDrag:Je=!0,connectionRadius:On=20,isValidConnection:Vr,onError:Ei,style:vr,id:as,nodeDragThreshold:Wr,...dn},Vt)=>{const Ni=as||"1";return ae.createElement("div",{...dn,style:{...vr,...BM},ref:Vt,className:Lt(["react-flow",o]),"data-testid":"rf__wrapper",id:as},ae.createElement(uN,null,ae.createElement(OM,{onInit:h,onMove:f,onMoveStart:m,onMoveEnd:y,onNodeClick:c,onEdgeClick:p,onNodeMouseEnter:E,onNodeMouseMove:N,onNodeMouseLeave:j,onNodeContextMenu:M,onNodeDoubleClick:P,nodeTypes:l,edgeTypes:u,connectionLineType:G,connectionLineStyle:k,connectionLineComponent:$,connectionLineContainerStyle:se,selectionKeyCode:Q,selectionOnDrag:te,selectionMode:oe,deleteKeyCode:D,multiSelectionKeyCode:me,panActivationKeyCode:ue,zoomActivationKeyCode:ge,onlyRenderVisibleElements:Oe,selectNodesOnDrag:Me,defaultViewport:Qe,translateExtent:ft,minZoom:ze,maxZoom:Ze,preventScrolling:At,zoomOnScroll:Yt,zoomOnPinch:It,zoomOnDoubleClick:ht,panOnScroll:Ye,panOnScrollSpeed:bt,panOnScrollMode:gt,panOnDrag:et,onPaneClick:Bt,onPaneMouseEnter:wt,onPaneMouseMove:An,onPaneMouseLeave:pr,onPaneScroll:Ut,onPaneContextMenu:Kt,onSelectionContextMenu:U,onSelectionStart:ee,onSelectionEnd:J,onEdgeContextMenu:gn,onEdgeDoubleClick:_i,onEdgeMouseEnter:Si,onEdgeMouseMove:er,onEdgeMouseLeave:mr,onReconnect:tr??$r,onReconnectStart:vn??Dr,onReconnectEnd:Mn??vt,reconnectRadius:nr??gr,defaultMarkerColor:st,noDragClassName:rs,noWheelClassName:is,noPanClassName:ss,elevateEdgesOnSelect:Ur,rfId:Ni,disableKeyboardA11y:ki,nodeOrigin:we,nodeExtent:it}),ae.createElement(AI,{nodes:e,edges:n,defaultNodes:r,defaultEdges:s,onConnect:x,onConnectStart:C,onConnectEnd:_,onClickConnectStart:S,onClickConnectEnd:b,nodesDraggable:ke,nodesConnectable:Fe,nodesFocusable:ye,edgesFocusable:Be,edgesUpdatable:ct,elementsSelectable:dt,elevateNodesOnSelect:Br,minZoom:ze,maxZoom:Ze,nodeExtent:it,onNodesChange:Fr,onEdgesChange:Pn,snapToGrid:Pe,snapGrid:be,connectionMode:F,translateExtent:ft,connectOnClick:zr,defaultEdgeOptions:Ht,fitView:yn,fitViewOptions:bi,onNodesDelete:q,onEdgesDelete:I,onNodeDragStart:O,onNodeDrag:B,onNodeDragStop:L,onSelectionDrag:T,onSelectionDragStart:X,onSelectionDragStop:Y,noPanClassName:ss,nodeOrigin:we,rfId:Ni,autoPanOnConnect:Hr,autoPanOnNodeDrag:Je,onError:Ei,connectionRadius:On,isValidConnection:Vr,nodeDragThreshold:Wr}),ae.createElement(RI,{onSelectionChange:H}),In,ae.createElement(rI,{proOptions:os,position:rr}),ae.createElement(qI,{rfId:Ni,disableKeyboardA11y:ki})))});cN.displayName="ReactFlow";const UM=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2]});function dN(){return Xe(UM,Nt)}const fN=({id:e,x:n,y:r,width:s,height:o,style:l,color:u,strokeColor:c,strokeWidth:p,className:h,borderRadius:f,shapeRendering:m,onClick:y,selected:x})=>{const{background:C,backgroundColor:_}=l||{},S=u||C||_;return ae.createElement("rect",{className:Lt(["react-flow__minimap-node",{selected:x},h]),x:n,y:r,rx:f,ry:f,width:s,height:o,fill:S,stroke:c,strokeWidth:p,shapeRendering:m,onClick:y?b=>y(b,e):void 0})};fN.displayName="MiniMapNode";var HM=A.memo(fN);const VM=e=>e.nodeOrigin,WM=e=>e.getNodes().filter(n=>!n.hidden&&n.width&&n.height),ud=e=>e instanceof Function?e:()=>e;function GM({nodeStrokeColor:e="transparent",nodeColor:n="#e2e2e2",nodeClassName:r="",nodeBorderRadius:s=5,nodeStrokeWidth:o=2,nodeComponent:l=HM,onClick:u}){const c=Xe(WM,Nt),p=Xe(VM),h=ud(n),f=ud(e),m=ud(r),y=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return ae.createElement(ae.Fragment,null,c.map(x=>{const{x:C,y:_}=Xi(x,p).positionAbsolute;return ae.createElement(l,{key:x.id,x:C,y:_,width:x.width,height:x.height,style:x.style,selected:x.selected,className:m(x),color:h(x),borderRadius:s,strokeColor:f(x),strokeWidth:o,shapeRendering:y,onClick:u,id:x.id})}))}var YM=A.memo(GM);const KM=200,XM=150,QM=e=>{const n=e.getNodes(),r={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:r,boundingRect:n.length>0?oI(tu(n,e.nodeOrigin),r):r,rfId:e.rfId}},ZM="react-flow__minimap-desc";function hN({style:e,className:n,nodeStrokeColor:r="transparent",nodeColor:s="#e2e2e2",nodeClassName:o="",nodeBorderRadius:l=5,nodeStrokeWidth:u=2,nodeComponent:c,maskColor:p="rgb(240, 240, 240, 0.6)",maskStrokeColor:h="none",maskStrokeWidth:f=1,position:m="bottom-right",onClick:y,onNodeClick:x,pannable:C=!1,zoomable:_=!1,ariaLabel:S="React Flow mini map",inversePan:b=!1,zoomStep:E=10,offsetScale:N=5}){const j=Ct(),M=A.useRef(null),{boundingRect:P,viewBB:O,rfId:B}=Xe(QM,Nt),L=(e==null?void 0:e.width)??KM,q=(e==null?void 0:e.height)??XM,I=P.width/L,H=P.height/q,X=Math.max(I,H),T=X*L,Y=X*q,U=N*X,ee=P.x-(T-P.width)/2-U,J=P.y-(Y-P.height)/2-U,F=T+U*2,G=Y+U*2,k=`${ZM}-${B}`,$=A.useRef(0);$.current=X,A.useEffect(()=>{if(M.current){const Q=Cn(M.current),te=me=>{const{transform:ge,d3Selection:Pe,d3Zoom:be}=j.getState();if(me.sourceEvent.type!=="wheel"||!Pe||!be)return;const Oe=-me.sourceEvent.deltaY*(me.sourceEvent.deltaMode===1?.05:me.sourceEvent.deltaMode?1:.002)*E,Me=ge[2]*Math.pow(2,Oe);be.scaleTo(Pe,Me)},oe=me=>{const{transform:ge,d3Selection:Pe,d3Zoom:be,translateExtent:Oe,width:Me,height:ke}=j.getState();if(me.sourceEvent.type!=="mousemove"||!Pe||!be)return;const Fe=$.current*Math.max(1,ge[2])*(b?-1:1),ye={x:ge[0]-me.sourceEvent.movementX*Fe,y:ge[1]-me.sourceEvent.movementY*Fe},we=[[0,0],[Me,ke]],Be=Mr.translate(ye.x,ye.y).scale(ge[2]),ct=be.constrain()(Be,we,Oe);be.transform(Pe,ct)},ue=_E().on("zoom",C?oe:null).on("zoom.wheel",_?te:null);return Q.call(ue),()=>{Q.on("zoom",null)}}},[C,_,b,E]);const se=y?Q=>{const te=Yn(Q);y(Q,{x:te[0],y:te[1]})}:void 0,D=x?(Q,te)=>{const oe=j.getState().nodeInternals.get(te);x(Q,oe)}:void 0;return ae.createElement(av,{position:m,style:e,className:Lt(["react-flow__minimap",n]),"data-testid":"rf__minimap"},ae.createElement("svg",{width:L,height:q,viewBox:`${ee} ${J} ${F} ${G}`,role:"img","aria-labelledby":k,ref:M,onClick:se},S&&ae.createElement("title",{id:k},S),ae.createElement(YM,{onClick:D,nodeColor:s,nodeStrokeColor:r,nodeBorderRadius:l,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:c}),ae.createElement("path",{className:"react-flow__minimap-mask",d:`M${ee-U},${J-U}h${F+U*2}v${G+U*2}h${-F-U*2}z
|
|
57
57
|
M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:p,fillRule:"evenodd",stroke:h,strokeWidth:f,pointerEvents:"none"})))}hN.displayName="MiniMap";var JM=A.memo(hN);function eP(){return ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},ae.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function tP(){return ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},ae.createElement("path",{d:"M0 0h32v4.2H0z"}))}function nP(){return ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},ae.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function rP(){return ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},ae.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function iP(){return ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},ae.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const Fs=({children:e,className:n,...r})=>ae.createElement("button",{type:"button",className:Lt(["react-flow__controls-button",n]),...r},e);Fs.displayName="ControlButton";const sP=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),pN=({style:e,showZoom:n=!0,showFitView:r=!0,showInteractive:s=!0,fitViewOptions:o,onZoomIn:l,onZoomOut:u,onFitView:c,onInteractiveChange:p,className:h,children:f,position:m="bottom-left"})=>{const y=Ct(),[x,C]=A.useState(!1),{isInteractive:_,minZoomReached:S,maxZoomReached:b}=Xe(sP,Nt),{zoomIn:E,zoomOut:N,fitView:j}=aa();if(A.useEffect(()=>{C(!0)},[]),!x)return null;const M=()=>{E(),l==null||l()},P=()=>{N(),u==null||u()},O=()=>{j(o),c==null||c()},B=()=>{y.setState({nodesDraggable:!_,nodesConnectable:!_,elementsSelectable:!_}),p==null||p(!_)};return ae.createElement(av,{className:Lt(["react-flow__controls",h]),position:m,style:e,"data-testid":"rf__controls"},n&&ae.createElement(ae.Fragment,null,ae.createElement(Fs,{onClick:M,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:b},ae.createElement(eP,null)),ae.createElement(Fs,{onClick:P,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:S},ae.createElement(tP,null))),r&&ae.createElement(Fs,{className:"react-flow__controls-fitview",onClick:O,title:"fit view","aria-label":"fit view"},ae.createElement(nP,null)),s&&ae.createElement(Fs,{className:"react-flow__controls-interactive",onClick:B,title:"toggle interactivity","aria-label":"toggle interactivity"},_?ae.createElement(iP,null):ae.createElement(rP,null)),f)};pN.displayName="Controls";var oP=A.memo(pN),Xn;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Xn||(Xn={}));function aP({color:e,dimensions:n,lineWidth:r}){return ae.createElement("path",{stroke:e,strokeWidth:r,d:`M${n[0]/2} 0 V${n[1]} M0 ${n[1]/2} H${n[0]}`})}function lP({color:e,radius:n}){return ae.createElement("circle",{cx:n,cy:n,r:n,fill:e})}const uP={[Xn.Dots]:"#91919a",[Xn.Lines]:"#eee",[Xn.Cross]:"#e2e2e2"},cP={[Xn.Dots]:1,[Xn.Lines]:1,[Xn.Cross]:6},dP=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function mN({id:e,variant:n=Xn.Dots,gap:r=20,size:s,lineWidth:o=1,offset:l=2,color:u,style:c,className:p}){const h=A.useRef(null),{transform:f,patternId:m}=Xe(dP,Nt),y=u||uP[n],x=s||cP[n],C=n===Xn.Dots,_=n===Xn.Cross,S=Array.isArray(r)?r:[r,r],b=[S[0]*f[2]||1,S[1]*f[2]||1],E=x*f[2],N=_?[E,E]:b,j=C?[E/l,E/l]:[N[0]/l,N[1]/l];return ae.createElement("svg",{className:Lt(["react-flow__background",p]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:h,"data-testid":"rf__background"},ae.createElement("pattern",{id:m+e,x:f[0]%b[0],y:f[1]%b[1],width:b[0],height:b[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${j[0]},-${j[1]})`},C?ae.createElement(lP,{color:y,radius:E/l}):ae.createElement(aP,{dimensions:N,color:y,lineWidth:o})),ae.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${m+e})`}))}mN.displayName="Background";var fP=A.memo(mN);function gN(){return{inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreateTokens:0}}function vN(e,n=0){if(!e||typeof e!="object"||n>6)return null;const r=e;if(typeof r.input_tokens=="number"||typeof r.output_tokens=="number"||typeof r.cache_read_input_tokens=="number"||typeof r.cache_creation_input_tokens=="number")return{inputTokens:Number(r.input_tokens??0),outputTokens:Number(r.output_tokens??0),cacheReadTokens:Number(r.cache_read_input_tokens??0),cacheCreateTokens:Number(r.cache_creation_input_tokens??0)};for(const s of Object.values(r)){const o=vN(s,n+1);if(o)return o}return null}function hP(e,n){e.inputTokens+=n.inputTokens,e.outputTokens+=n.outputTokens,e.cacheReadTokens+=n.cacheReadTokens,e.cacheCreateTokens+=n.cacheCreateTokens}const pP=/^(?:claude[-_]|gpt[-_]|o\d|codex[-_])/i;function yN(e,n=0){if(!e||typeof e!="object"||n>6)return null;const r=e;if(typeof r.model=="string"&&pP.test(r.model))return r.model;for(const s of Object.values(r)){const o=yN(s,n+1);if(o)return o}return null}function Gg(){return{agents:new Map,toolIndex:new Map,toolOwner:new Map,activeSubagentStack:new Map,lastSeq:0,seqEpoch:null,totalEvents:0}}function wi(e){if(!e)return;const n=e.replace(/\\/g,"/").split("/").filter(Boolean);return n[n.length-1]}function yv(e,n){return`${e}::${n}`}function Vl(e){return e.agent_type??e.subagent_type??"subagent"}function Yg(e){return e.agent_id?e.agent_id:e.parent_tool_use_id?e.parent_tool_use_id:null}function Wo(e,n,r,s){const o=n;let l=e.agents.get(o);return l||(l={id:o,sessionId:n,label:"session",kind:"root",state:"active",startedAt:r,tools:[],prompts:[],toolCount:0,childCount:0,synthetic:s,inFlightTool:null,usage:gN()},e.agents.set(o,l),l)}function wN(e,n,r,s){const o=yv(n,r),l=e.agents.get(o);if(!l)return null;!l.cwd&&s.cwd&&(l.cwd=s.cwd,l.cwdBasename=wi(s.cwd));const u=Vl(s);return u&&(l.label==="subagent"||!l.label)&&(l.label=u),l}function Jw(e,n,r){const s=n.session_id??"unknown",o=Yg(n);if(o){const p=wN(e,s,o,n);if(p)return p}const l=e.activeSubagentStack.get(s),u=l&&l.length>0?l[l.length-1]:null;if(u){const p=e.agents.get(yv(s,u));if(p)return!p.cwd&&n.cwd&&(p.cwd=n.cwd,p.cwdBasename=wi(n.cwd)),p}const c=Wo(e,s,r,!1);return c.synthetic&&(c.synthetic=!1,c.startedAt=r),!c.cwd&&n.cwd&&(c.cwd=n.cwd,c.cwdBasename=wi(n.cwd)),c.label==="session"&&n.cwd&&(c.label=wi(n.cwd)??"session"),c}function mP(e,n,r,s,o){const l=yv(n,r),u=Wo(e,n,o,!0);let c=e.agents.get(l);if(c){!c.cwd&&s.cwd&&(c.cwd=s.cwd,c.cwdBasename=wi(s.cwd));const p=Vl(s);return p&&(c.label==="subagent"||!c.label)&&(c.label=p),c}return c={id:l,sessionId:n,label:Vl(s),kind:"subagent",parentId:u.id,state:"active",startedAt:o,tools:[],prompts:[],cwd:s.cwd,cwdBasename:wi(s.cwd),toolCount:0,childCount:0,inFlightTool:null,usage:gN()},e.agents.set(l,c),u.childCount+=1,c}function gP(e,n,r){const s=e.activeSubagentStack.get(n)??[];s.includes(r)||(s.push(r),e.activeSubagentStack.set(n,s))}function vP(e,n,r){const s=e.activeSubagentStack.get(n);if(s){for(let o=s.length-1;o>=0;o--)if(s[o]===r){s.splice(o,1);break}s.length===0&&e.activeSubagentStack.delete(n)}}function El(e,n=80){if(e==null)return"";if(typeof e=="string")return e.length>n?e.slice(0,n-1)+"…":e;try{const r=JSON.stringify(e);return r.length>n?r.slice(0,n-1)+"…":r}catch{return String(e)}}function zs(e){let n=null;for(let r=e.tools.length-1;r>=0;r--){const s=e.tools[r];if(s.endedAt==null){n=s;break}}e.inFlightTool=n}const ex=200,yP=25;function wP(e,n){const r=n.tools;if(r.length>ex){const s=r.splice(0,r.length-ex);let o=!1;for(const l of s)e.toolIndex.delete(l.id)&&(o=!0),e.toolOwner.delete(l.id);o&&zs(n)}for(let s=r.length-yP-1;s>=0;s--){const o=r[s];if(o.trimmed)break;o.input=void 0,o.response=void 0,o.trimmed=!0}}function xP(e,n,r){const s=e.toolIndex.get(r);if(s)return s;for(let o=n.tools.length-1;o>=0;o--)if(n.tools[o].id===r)return n.tools[o];return null}function _P(e,n,r,s){if(e.agents.size<=r)return!1;const o=[];for(const[u,c]of e.agents)c.state==="done"&&c.endedAt!=null&&n-c.endedAt>s&&o.push({id:u,endedAt:c.endedAt});if(o.length===0)return!1;o.sort((u,c)=>u.endedAt-c.endedAt);let l=0;for(const u of o){if(e.agents.size<=r)break;e.agents.delete(u.id),l++}return l>0}function SP(e,n,r,s){const o=new Map;for(const[h,f]of e.agents){let m=o.get(f.sessionId);m||(m={ids:[],endedAt:0,live:!1},o.set(f.sessionId,m)),m.ids.push(h),f.state==="done"&&f.endedAt!=null?m.endedAt=Math.max(m.endedAt,f.endedAt):m.live=!0}const l=[...o.values()].filter(h=>!h.live&&h.endedAt>0&&n-h.endedAt>s).sort((h,f)=>h.endedAt-f.endedAt);let c=[...o.values()].filter(h=>!h.live).length-r;if(c<=0)return!1;let p=!1;for(const h of l){if(c<=0)break;for(const f of h.ids)e.agents.delete(f);c--,p=!0}return p}function bP(e,n,r){let s=!1;for(const o of e.agents.values()){let l=!1;for(const u of o.tools)u.endedAt==null&&n-u.startedAt>r&&(u.endedAt=u.startedAt+r,u.ok=!1,u.errorPreview="stale (no PostToolUse received)",e.toolIndex.delete(u.id),e.toolOwner.delete(u.id),l=!0,s=!0);l&&zs(o)}return s}function tx(e,n){const r=n.epoch??null;if(r!==null&&r!==e.seqEpoch)e.seqEpoch=r,e.lastSeq=0;else if(n.seq<=e.lastSeq)return e;const s=n.payload??{},o=n.receivedAt,l=s.hook_event_name??"Unknown";if(l==="__clear")return{...Gg(),lastSeq:n.seq,seqEpoch:e.seqEpoch};e.totalEvents+=1,e.lastSeq=n.seq;const u=s.session_id??"unknown";if(typeof s.model_context_window=="number"&&s.model_context_window>0){const h=e.agents.get(u);h&&(h.contextWindow=s.model_context_window)}if(l==="ModelObserved"){const h=typeof s.model=="string"?s.model:null;if(h){const m=e.agents.get(u);m&&(m.model=h)}const f=s.subagentModels;if(f&&typeof f=="object")for(const[m,y]of Object.entries(f)){if(typeof y!="string")continue;const x=`${u}::${m}`,C=e.agents.get(x);C&&(C.model=y)}return e}if(l==="ContextObserved"){const h=s.context??null;if(h){const f=e.agents.get(u);f&&(f.context={msgsUser:Number(h.msgsUser??0),msgsAssistant:Number(h.msgsAssistant??0),toolUses:Number(h.toolUses??0),toolResults:Number(h.toolResults??0),systemReminders:Number(h.systemReminders??0),currentContextTokens:Number(h.currentContextTokens??0),claudeMdFiles:Array.isArray(h.claudeMdFiles)?h.claudeMdFiles:[]})}return e}if(l==="UsageObserved"){const h=s.usage??null;if(h){const f=e.agents.get(u);f&&(f.usage.inputTokens=Number(h.input_tokens??0),f.usage.outputTokens=Number(h.output_tokens??0),f.usage.cacheReadTokens=Number(h.cache_read_input_tokens??h.cached_input_tokens??0),f.usage.cacheCreateTokens=Number(h.cache_creation_input_tokens??0),typeof h.reasoning_output_tokens=="number"&&(f.usage.reasoningOutputTokens=Number(h.reasoning_output_tokens)))}return e}const c=Jw(e,s,o);c.provider||(c.provider=s.provider==="codex"?"codex":"claude");const p=yN(s);switch(p&&(c.model=p),l){case"SessionStart":{const h=Wo(e,u,o,!1);h.synthetic=!1,h.state="active",h.startedAt=h.startedAt||o,!h.cwd&&s.cwd&&(h.cwd=s.cwd,h.cwdBasename=wi(s.cwd)),h.label==="session"&&s.cwd&&(h.label=wi(s.cwd)??"session");break}case"UserPromptSubmit":{for(const y of e.agents.values())y.sessionId===u&&y.kind==="subagent"&&y.state==="done"&&y.exitAt==null&&y.endedAt!=null&&y.endedAt<o&&(y.exitAt=o);const h=Wo(e,u,o,!1);h.state="active",h.endedAt=void 0,h.exitAt=void 0;const f=Jw(e,s,o);f.state="active",f.exitAt=void 0,f.endedAt=void 0;const m=(typeof s.prompt=="string"?s.prompt:typeof s.message=="string"?s.message:"")??"";m&&(f.prompts.push({at:o,text:m}),f.firstPrompt||(f.firstPrompt=El(m,120)));break}case"PreToolUse":{const h=s.tool_use_id?xP(e,c,s.tool_use_id):null;if(h){s.tool_name&&h.name==="?"&&(h.name=s.tool_name),h.endedAt==null&&!h.trimmed&&s.tool_input!==void 0&&(h.input=s.tool_input,h.inputPreview=El(s.tool_input));break}const f=s.tool_use_id??`${c.id}:${c.toolCount}`,m={id:f,name:s.tool_name??"?",input:s.tool_input,inputPreview:El(s.tool_input),agentId:c.id,startedAt:o};c.tools.push(m),c.toolCount+=1,c.state="active",e.toolIndex.set(f,m),e.toolOwner.set(f,c.id),zs(c),wP(e,c);break}case"PostToolUse":case"PostToolUseFailure":{const h=s.tool_use_id;if(!h)break;let f=e.toolIndex.get(h),m=!1;if(!f)for(const C of e.agents.values()){const _=C.tools.find(S=>S.id===h);if(_){f=_,m=!0;break}}if(!f)break;f.endedAt=o,f.ok=l==="PostToolUse",f.trimmed||(f.response=s.tool_response),l==="PostToolUseFailure"?f.errorPreview=El(s.tool_response):m&&(f.errorPreview=void 0);const y=vN(s.tool_response);y&&(f.usage=y),e.toolIndex.delete(h);const x=e.toolOwner.get(h)??f.agentId;if(e.toolOwner.delete(h),x){const C=e.agents.get(x);C&&(y&&hP(C.usage,y),zs(C))}break}case"SubagentStart":{const h=Yg(s);if(!h)break;const f=mP(e,u,h,s,o);f.state="active",f.startedAt=f.startedAt||o,f.exitAt=void 0,f.endedAt=void 0;const m=Vl(s);m&&(f.label=m),gP(e,u,h);break}case"SubagentStop":{const h=Yg(s);if(!h)break;const f=wN(e,u,h,s);if(!f)break;f.state="done",f.endedAt=o,zs(f),vP(e,u,h);break}case"Stop":case"SessionEnd":{const h=Wo(e,u,o,!1);h.state="done",h.endedAt=o,zs(h),e.activeSubagentStack.delete(u);break}}return e}function wv(e){let n=5381;for(let r=0;r<e.length;r++)n=(n<<5)+n^e.charCodeAt(r);return Math.abs(n)%360}const kP=Date.UTC(2026,8,1);function EP(e){return e<kP?{input:2,output:10,cacheRead:.2,cacheWrite:2.5}:{input:3,output:15,cacheRead:.3,cacheWrite:3.75}}const NP=[{match:/^claude[-_](fable|mythos)[-_]5\b/i,rates:{input:10,output:50,cacheRead:1,cacheWrite:12.5}},{match:/^claude[-_]opus[-_]5\b/i,rates:{input:5,output:25,cacheRead:.5,cacheWrite:6.25}},{match:/^claude[-_]sonnet[-_]5\b/i,rates:EP},{match:/^claude[-_]opus[-_]4[-_.](?:5|6|7|8)\b/i,rates:{input:5,output:25,cacheRead:.5,cacheWrite:6.25}},{match:/^claude[-_]opus[-_]4(?:[-_.]1)?\b/i,rates:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75}},{match:/^claude[-_]sonnet[-_]4[-_.](?:5|6)\b/i,rates:{input:3,output:15,cacheRead:.3,cacheWrite:3.75}},{match:/^claude[-_]sonnet[-_]4\b/i,rates:{input:3,output:15,cacheRead:.3,cacheWrite:3.75}},{match:/^claude[-_]haiku[-_]4[-_.]5\b/i,rates:{input:1,output:5,cacheRead:.1,cacheWrite:1.25}},{match:/^claude[-_]haiku[-_]3[-_.]5\b/i,rates:{input:.8,output:4,cacheRead:.08,cacheWrite:1}},{match:/^gpt[-_]5[-_.]6[-_]cyber/i,rates:{input:12.5,output:75,cacheRead:1.25,cacheWrite:0}},{match:/^gpt[-_]5[-_.]6[-_]luna/i,rates:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25}},{match:/^gpt[-_]5[-_.]6[-_]terra/i,rates:{input:2,output:12,cacheRead:.2,cacheWrite:2.5}},{match:/^gpt[-_]5[-_.]6(?:[-_]sol)?\b/i,rates:{input:5,output:30,cacheRead:.5,cacheWrite:6.25}},{match:/^gpt[-_]5[-_.]5[-_]pro/i,rates:{input:30,output:180,cacheRead:30,cacheWrite:0}},{match:/^gpt[-_]5[-_.]5\b/i,rates:{input:5,output:30,cacheRead:.5,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4[-_]pro/i,rates:{input:30,output:180,cacheRead:3,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4[-_]mini/i,rates:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4[-_]nano/i,rates:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4\b/i,rates:{input:2.5,output:15,cacheRead:.25,cacheWrite:0}},{match:/^gpt[-_]5[-_.]3[-_]codex/i,rates:{input:1.75,output:14,cacheRead:.175,cacheWrite:0}},{match:/^gpt[-_]5[-_.]2[-_]pro/i,rates:{input:21,output:168,cacheRead:21,cacheWrite:0}},{match:/^gpt[-_]5[-_.]2\b/i,rates:{input:1.75,output:14,cacheRead:.175,cacheWrite:0}},{match:/^codex[-_]mini/i,rates:{input:1.5,output:6,cacheRead:.375,cacheWrite:0}},{match:/^o1[-_]pro/i,rates:{input:150,output:600,cacheRead:150,cacheWrite:0}},{match:/^o1\b/i,rates:{input:15,output:60,cacheRead:7.5,cacheWrite:0}},{match:/^o3[-_]mini/i,rates:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0}},{match:/^o3[-_]pro/i,rates:{input:20,output:80,cacheRead:20,cacheWrite:0}},{match:/^o4[-_]mini/i,rates:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0}},{match:/^o3\b/i,rates:{input:2,output:8,cacheRead:.5,cacheWrite:0}}];function CP(e){return e?/^(?:gpt[-_]|codex[-_]|o\d)/i.test(e):!1}function xv(e,n=Date.now()){if(!e)return null;for(const r of NP)if(r.match.test(e))return typeof r.rates=="function"?r.rates(n):r.rates;return null}function un(e,n,r=Date.now()){const s=xv(n,r);if(!s)return{input:0,output:0,cacheRead:0,cacheWrite:0,total:0};const u=(CP(n)?Math.max(0,e.inputTokens-e.cacheReadTokens):e.inputTokens)*s.input/1e6,c=e.outputTokens*s.output/1e6,p=e.cacheReadTokens*s.cacheRead/1e6,h=e.cacheCreateTokens*s.cacheWrite/1e6;return{input:u,output:c,cacheRead:p,cacheWrite:h,total:u+c+p+h}}const nx=2e5,jP=1e6,RP=[/\[1m\]/i,/^claude[-_]opus[-_]5\b/i,/^claude[-_]sonnet[-_]5\b/i,/^claude[-_]opus[-_]4[-_.](?:5|6|7|8)\b/i,/^claude[-_]sonnet[-_]4[-_.]6\b/i,/^claude[-_](fable|mythos)[-_]5\b/i],TP=[{match:/^gpt[-_]5[-_.]6[-_]cyber/i,window:4e5},{match:/^gpt[-_]5[-_.]6/i,window:105e4},{match:/^gpt[-_]5[-_.]5/i,window:105e4},{match:/^gpt[-_]5[-_.]4[-_](?:mini|nano)/i,window:4e5},{match:/^gpt[-_]5[-_.]4/i,window:105e4},{match:/^gpt[-_]5[-_.]3[-_]codex[-_]spark/i,window:128e3},{match:/^gpt[-_]5[-_.]3[-_]codex/i,window:4e5},{match:/^gpt[-_]5[-_.]2/i,window:4e5},{match:/^gpt[-_]5/i,window:4e5},{match:/^codex[-_]mini/i,window:2e5},{match:/^o\d/i,window:2e5}];function AP(e){if(!e)return nx;for(const n of RP)if(n.test(e))return jP;for(const n of TP)if(n.match.test(e))return n.window;return nx}function xN(e,n){return typeof e=="number"&&e>0?e:AP(n)}function Ve(e){if(e<=0)return"—";if(e<.005)return"<1¢";if(e<1){const n=(e*100).toFixed(e<.1?1:0);if(Number(n)<100)return`${n}¢`}return e<100?`$${e.toFixed(2)}`:e<1e4?`$${e.toFixed(0)}`:`$${(e/1e3).toFixed(1)}k`}function Wl(e,n){if(e<=0||n<10)return null;const r=e/n,s=r*60;return s>=.01?`${Ve(s)}/min`:`${Ve(r*3600)}/hr`}function Nn(e){return e.toLocaleString()}function IP(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`}function MP({agent:e,onClose:n}){var h;const r=e.context,s=e.usage,o=(r==null?void 0:r.currentContextTokens)??0,l=xN(e.contextWindow,e.model),u=Math.min(100,o/l*100),c=un(s,e.model),p=s.inputTokens+s.cacheReadTokens+s.cacheCreateTokens;return g.jsx("div",{className:"ctx-modal-backdrop",onClick:n,role:"presentation",children:g.jsxs("div",{className:"ctx-modal",onClick:f=>f.stopPropagation(),role:"dialog","aria-label":"Context breakdown",children:[g.jsxs("header",{className:"ctx-modal-head",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"ctx-modal-title",children:["Context · ",e.label]}),g.jsx("div",{className:"ctx-modal-sub",children:"approximation — CC's /context isn't hook-exposed"})]}),g.jsx("button",{className:"ctx-modal-close",onClick:n,"aria-label":"Close",children:"×"})]}),g.jsxs("section",{className:"ctx-window-row",children:[g.jsx("div",{className:"ctx-window-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(u),children:g.jsx("div",{className:"ctx-window-fill",style:{width:`${u}%`}})}),g.jsxs("div",{className:"ctx-window-meta",children:[g.jsxs("span",{className:"ctx-window-pct",children:[u.toFixed(1),"%"]}),g.jsxs("span",{className:"ctx-window-num",children:[Nn(o)," / ",Nn(l)," tok (current turn)"]})]})]}),g.jsx("h3",{className:"ctx-section-title",children:"Cumulative usage · whole session"}),g.jsxs("div",{className:"ctx-grid",children:[g.jsx(Gn,{label:"input tokens",val:Nn(s.inputTokens)}),g.jsx(Gn,{label:"output tokens",val:Nn(s.outputTokens)}),g.jsx(Gn,{label:"cache reads",val:Nn(s.cacheReadTokens)}),g.jsx(Gn,{label:"cache writes",val:Nn(s.cacheCreateTokens)}),g.jsx(Gn,{label:"cumulative total",val:Nn(p)}),g.jsx(Gn,{label:"estimated cost",val:Ve(c.total),accent:!0})]}),g.jsx("h3",{className:"ctx-section-title",children:"Transcript composition"}),g.jsxs("div",{className:"ctx-grid",children:[g.jsx(Gn,{label:"user messages",val:Nn((r==null?void 0:r.msgsUser)??0)}),g.jsx(Gn,{label:"assistant messages",val:Nn((r==null?void 0:r.msgsAssistant)??0)}),g.jsx(Gn,{label:"tool uses",val:Nn((r==null?void 0:r.toolUses)??0)}),g.jsx(Gn,{label:"tool results",val:Nn((r==null?void 0:r.toolResults)??0)}),g.jsx(Gn,{label:"system-reminders",val:Nn((r==null?void 0:r.systemReminders)??0)})]}),g.jsx("h3",{className:"ctx-section-title",children:"CLAUDE.md files in scope"}),(((h=r==null?void 0:r.claudeMdFiles)==null?void 0:h.length)??0)===0?g.jsx("div",{className:"ctx-empty",children:"No CLAUDE.md files found on the path from cwd to ~/.claude."}):g.jsx("ul",{className:"ctx-md-list",children:r.claudeMdFiles.map(f=>g.jsxs("li",{children:[g.jsx("span",{className:"ctx-md-path",title:f.path,children:f.path}),g.jsx("span",{className:"ctx-md-size",children:IP(f.bytes)})]},f.path))})]})})}function Gn({label:e,val:n,accent:r}){return g.jsxs("div",{className:`ctx-row${r?" accent":""}`,children:[g.jsx("span",{className:"ctx-row-label",children:e}),g.jsx("span",{className:"ctx-row-val",children:n})]})}function PP({currentContextTokens:e,modelId:n,contextWindow:r,size:s=26,onClick:o,title:l}){const u=xN(r,n),c=Math.min(1,e/u),p=s/2-3,h=s/2,f=2*Math.PI*p,m=f*c,y=c>.9?"var(--err)":c>.7?"var(--inflight)":"var(--accent)";return g.jsx("button",{type:"button",className:"ctx-donut",onClick:o,title:l??`context: ${e.toLocaleString()} / ${u.toLocaleString()} (${(c*100).toFixed(1)}%)`,"aria-label":"Show context breakdown",children:g.jsxs("svg",{width:s,height:s,viewBox:`0 0 ${s} ${s}`,children:[g.jsx("circle",{cx:h,cy:h,r:p,stroke:"var(--line)",strokeWidth:"2.5",fill:"none"}),g.jsx("circle",{cx:h,cy:h,r:p,stroke:y,strokeWidth:"2.5",fill:"none",strokeDasharray:`${m} ${f-m}`,strokeDashoffset:f/4,strokeLinecap:"round",style:{transition:"stroke-dasharray 400ms ease"}}),g.jsx("text",{x:h,y:h+3,textAnchor:"middle",fontSize:"8",fill:"var(--text)",fontWeight:"600",children:Math.round(c*100)})]})})}function OP(e,n){const r=xv(n);if(!r)return"no rates for this model";const s=u=>u.toLocaleString(),o=u=>`$${u}/MTok`,l=un(e,n);return[`model: ${n}`,`input ${s(e.inputTokens).padStart(14)} × ${o(r.input).padEnd(11)} = ${Ve(l.input)}`,`output ${s(e.outputTokens).padStart(14)} × ${o(r.output).padEnd(11)} = ${Ve(l.output)}`,`cache r ${s(e.cacheReadTokens).padStart(14)} × ${o(r.cacheRead).padEnd(11)} = ${Ve(l.cacheRead)}`,`cache w ${s(e.cacheCreateTokens).padStart(14)} × ${o(r.cacheWrite).padEnd(11)} = ${Ve(l.cacheWrite)}`,"─────────────────────────────────────────",`total = ${Ve(l.total)}`].join(`
|
|
58
58
|
`)}function qP(e,n,r){const s=(n??r)-e;if(s<1e3)return`${Math.max(0,s)}ms`;const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const l=Math.floor(o/60),u=o%60;return`${l}m ${String(u).padStart(2,"0")}s`}function LP({data:e,selected:n}){var h;const r=e.now??Date.now(),s=["agent-node",`state-${e.state}`,e.synthetic?"synthetic":"",n?"selected":""].filter(Boolean).join(" "),o=e.tools.filter(f=>!f.endedAt).length,u=`hsl(${wv(e.sessionId)} 70% 60%)`,c=((h=e.context)==null?void 0:h.currentContextTokens)??0,p=e.kind==="root"&&c>0;return g.jsxs("div",{className:s,style:{"--accent":u},children:[g.jsx("span",{className:"accent-stripe"}),g.jsx(Ks,{type:"target",position:je.Left,style:{background:"transparent",border:"none"}}),g.jsxs("div",{className:"head",children:[g.jsxs("div",{className:"title",children:[g.jsx($P,{state:e.state}),g.jsx("span",{className:"label",title:e.cwd,children:e.label}),e.synthetic&&g.jsx("span",{className:"synth-tag",title:"No SessionStart captured — synthesised",children:"?"})]}),g.jsxs("div",{className:"head-right",children:[p&&e.onOpenContext&&g.jsx(PP,{currentContextTokens:c,modelId:e.model,contextWindow:e.contextWindow,onClick:()=>e.onOpenContext(e.sessionId)}),g.jsx("div",{className:"time",title:`Started ${new Date(e.startedAt).toLocaleTimeString()}`,children:qP(e.startedAt,e.endedAt,r)})]})]}),g.jsxs("div",{className:"sub",children:[e.kind==="root"?"session":"subagent",e.childCount>0&&g.jsxs("span",{className:"spawn-badge",title:`${e.childCount} subagents spawned`,children:["→ ",e.childCount]}),e.cwdBasename&&e.kind==="subagent"?` · ${e.cwdBasename}`:"",e.model&&g.jsx("span",{className:"model-chip",title:e.model,children:la(e.model)})]}),e.tools.length>0&&g.jsx(FP,{tools:e.tools,now:r}),g.jsxs("div",{className:"meta",children:[g.jsxs("span",{children:[g.jsx("b",{children:e.toolCount})," tools"]}),o>0&&g.jsxs("span",{className:"inflight-meta",children:[g.jsx("b",{children:o})," in-flight"]}),e.usage.inputTokens+e.usage.outputTokens>0&&g.jsxs("span",{className:"tokens-meta",title:`in:${e.usage.inputTokens} out:${e.usage.outputTokens} cache-r:${e.usage.cacheReadTokens} cache-c:${e.usage.cacheCreateTokens}${(e.usage.reasoningOutputTokens??0)>0?` reasoning:${e.usage.reasoningOutputTokens}`:""}`,children:[g.jsx("b",{children:DP(e.usage.inputTokens+e.usage.outputTokens)})," tok"]}),e.model&&xv(e.model)&&(()=>{const f=un(e.usage,e.model);if(f.total<=0)return null;const m=Math.max(0,((e.endedAt??r)-e.startedAt)/1e3),y=e.state==="active"?Wl(f.total,m):null,x=OP(e.usage,e.model)+(y?`
|
|
59
|
-
burn: ${y}`:"");return g.jsxs("span",{className:"cost-meta",title:x,children:[g.jsx("b",{children:Ve(f.total)}),y&&g.jsx("span",{className:"cost-rate",children:y})]})})()]}),g.jsx(Ks,{type:"source",position:je.Right,style:{background:"transparent",border:"none"}})]})}function $P({state:e}){const n=e==="active"?"live":e==="done"?"done":"err";return g.jsx("span",{className:`state-pill state-${e}`,children:n})}function DP(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function FP({tools:e,now:n}){const l=new Array(24).fill(0);let u=0;for(const y of e){const x=n-y.startedAt;if(x<0||x>=6e4)continue;const C=23-Math.floor(x/2500);C>=0&&C<24&&(l[C]+=1,u+=1)}const c=Math.max(1,...l),p=132,h=14,f=p/24,m=c/(2500/1e3);return g.jsxs("div",{className:"tool-spark-row",title:`${u} tool calls in last 60s · peak ${m.toFixed(1)}/s`,children:[g.jsx("svg",{className:"tool-spark",width:p,height:h,viewBox:`0 0 ${p} ${h}`,"aria-hidden":!0,children:l.map((y,x)=>{const C=y===0?1.5:Math.max(1.5,y/c*h),_=x===23&&y>0,b=`tool-spark-bar${y>0?" active":""}${_?" latest":""}`;return g.jsx("rect",{x:x*f+.4,y:h-C,width:Math.max(.5,f-1),height:C,rx:.8,className:b},x)})}),g.jsx("span",{className:"tool-spark-label",children:"60s"})]})}function la(e){const n=e.match(/^claude[-_](opus|sonnet|haiku|fable|mythos)[-_](\d+(?:[-_.]\d+)*)/i);if(n){const o=n[1][0].toUpperCase()+n[1].slice(1).toLowerCase(),l=n[2].replace(/[-_]/g,".");return`${o} ${l}`}const r=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)[-_]codex\b/i);if(r)return`GPT-${r[1].replace(/[-_]/g,".")} Codex`;const s=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)/i);return s?`GPT-${s[1].replace(/[-_]/g,".")}`:e}function rx(e){if(e==null)return"(none)";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function zP(e){if(e.endedAt==null)return"in-flight…";const n=e.endedAt-e.startedAt;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(2)}s`}function BP({tool:e,onClose:n}){A.useEffect(()=>{const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]);const r=e.endedAt==null?"inflight":e.ok===!1?"err":"done";return g.jsx("div",{className:"modal-backdrop",onClick:n,role:"dialog","aria-modal":"true",children:g.jsxs("div",{className:"modal",onClick:s=>s.stopPropagation(),children:[g.jsxs("header",{className:"modal-head",children:[g.jsxs("div",{className:"modal-title",children:[g.jsx("span",{className:`status-dot ${r}`}),g.jsx("span",{className:"modal-tool-name",children:e.name}),g.jsxs("span",{className:"modal-tool-id",title:e.id,children:[e.id.slice(0,12),"…"]})]}),g.jsxs("div",{className:"modal-actions",children:[g.jsx("span",{className:"modal-dur",children:zP(e)}),g.jsx("button",{className:"btn icon-btn",onClick:n,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),g.jsxs("section",{className:"modal-body",children:[e.trimmed&&g.jsx("div",{className:"modal-section",children:g.jsx("p",{className:"modal-note",children:"Full payloads for this call were released to keep memory bounded — only the previews below are still held."})}),g.jsxs("div",{className:"modal-section",children:[g.jsx("h4",{children:"Input"}),g.jsx("pre",{children:rx(e.input??e.inputPreview)})]}),g.jsxs("div",{className:"modal-section",children:[g.jsxs("h4",{children:["Response ",r==="err"&&g.jsx("span",{className:"err-tag",children:"error"})]}),g.jsx("pre",{children:e.endedAt==null?"(waiting…)":rx(e.response??e.errorPreview)})]})]})]})})}const Nl=18,ix=26,UP=12;function HP(e){const n=new Map;for(const o of e.nodeInternals.values()){const l=o.data;if(!(l!=null&&l.sessionId)||l.exitAt!=null||o.width==null||o.height==null)continue;const u=o.position.x,c=o.position.y,p=u+o.width,h=c+o.height,f=n.get(l.sessionId);f?(f.minX=Math.min(f.minX,u),f.minY=Math.min(f.minY,c),f.maxX=Math.max(f.maxX,p),f.maxY=Math.max(f.maxY,h),l.kind==="root"&&(f.label=sx(l)??f.label)):n.set(l.sessionId,{minX:u,minY:c,maxX:p,maxY:h,label:sx(l)??l.sessionId})}const r=new Map;for(const o of n.values())r.set(o.label,(r.get(o.label)??0)+1);const s=[];for(const[o,l]of n){const c=(r.get(l.label)??0)>1?`${l.label} · ${VP(o)}`:l.label;s.push({sessionId:o,label:c,x:l.minX-Nl,y:l.minY-Nl-ix,w:l.maxX-l.minX+Nl*2,h:l.maxY-l.minY+Nl*2+ix})}return s}function VP(e){const n=e.match(/[a-zA-Z0-9]{4}/);return n?n[0]:e.slice(0,4)}function sx(e){if(e.kind==="root")return e.label}function WP(){const{x:e,y:n,zoom:r}=dN(),s=aa(),o=Xe(HP,GP);if(o.length<=1)return null;const l=u=>{try{const c=s.getNodes().filter(p=>{const h=p.data;return(h==null?void 0:h.sessionId)===u});if(c.length===0)return;s.fitView({padding:.3,duration:500,nodes:c})}catch{}};return g.jsx("div",{className:"session-clusters",children:o.map(u=>{const c=wv(u.sessionId),p={position:"absolute",left:u.x*r+e,top:u.y*r+n,width:u.w*r,height:u.h*r,borderColor:`hsl(${c} 65% 55% / 0.32)`,background:`hsl(${c} 70% 50% / 0.04)`},h={position:"absolute",left:u.x*r+e+16*r,top:(u.y-UP)*r+n,color:`hsl(${c} 70% 78%)`,borderColor:`hsl(${c} 65% 55% / 0.5)`,transform:`scale(${Math.min(1,r)})`,transformOrigin:"left top"};return g.jsxs(ae.Fragment,{children:[g.jsx("div",{className:"cluster-card",style:p,"aria-hidden":!0}),g.jsx("button",{type:"button",className:"cluster-label",style:h,title:`Fit view to ${u.label} · drag the wrapper to move the whole session`,onClick:()=>l(u.sessionId),children:u.label})]},u.sessionId)})})}function GP(e,n){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++){const s=e[r],o=n[r];if(s.sessionId!==o.sessionId||s.label!==o.label||s.x!==o.x||s.y!==o.y||s.w!==o.w||s.h!==o.h)return!1}return!0}function YP({data:e}){return g.jsx("div",{className:"session-group-handle",style:{width:(e==null?void 0:e.w)??0,height:(e==null?void 0:e.h)??0}})}const _N=600,KP=4,XP=36,Kg=16,QP=60,ZP=6,ox=220,ax=96,JP=28,e3={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan",ScheduleWakeup:"other",CronCreate:"other",CronList:"other",CronDelete:"other",Monitor:"other",PushNotification:"other",RemoteTrigger:"other",ToolSearch:"other"};function t3(e){return e.startsWith("mcp__")?"mcp":e3[e]??"other"}const n3={Read:"📖",Write:"💾",Edit:"✏️",MultiEdit:"🔧",Glob:"🗺️",Grep:"🔎",Bash:"⚡",PowerShell:"💻",shell:"⚡",exec_command:"⚡",shell_command:"⚡",write_stdin:"💻",wait:"⏳",apply_patch:"🩹",update_plan:"📋",LS:"📂",Task:"🤖",Agent:"🤖",TodoWrite:"📋",TaskCreate:"📋",TaskUpdate:"📝",TaskList:"🗂️",TaskGet:"🗂️",TaskOutput:"📤",TaskStop:"🛑",WebFetch:"🌐",WebSearch:"🔭",ToolSearch:"🧰",NotebookEdit:"📓",EnterPlanMode:"🧭",ExitPlanMode:"🏁",AskUserQuestion:"❓",ScheduleWakeup:"⏰",CronCreate:"⏰",CronList:"📅",CronDelete:"🗑️",Skill:"🎯",Workflow:"🎬",Monitor:"📡",PushNotification:"🔔",RemoteTrigger:"📡"};function lx(e){return e.startsWith("mcp__")?"🔌":n3[e]??"✨"}const r3={git:"🐙",gh:"🐙",glab:"🐙",npm:"📦",pnpm:"📦",yarn:"📦",bun:"📦",brew:"🍺",node:"🟢",deno:"🟢",python:"🐍",python3:"🐍",py:"🐍",pip:"🐍",pip3:"🐍",uv:"🐍",ruby:"💎",bundle:"💎",gem:"💎",cargo:"🦀",rustc:"🦀",rustup:"🦀",go:"🐹",docker:"🐳","docker-compose":"🐳",podman:"🐳",kubectl:"☸️",helm:"☸️",k9s:"☸️",grep:"🔎",rg:"🔎",ag:"🔎",ack:"🔎",find:"🔍",fd:"🔍",locate:"🔍",which:"🔍",ls:"📂",dir:"📂",tree:"📂",cat:"📄",head:"📄",tail:"📄",less:"📄",more:"📄",bat:"📄",cp:"📋",mv:"✂️",rm:"🗑️",rmdir:"🗑️",mkdir:"📁",touch:"📁",sed:"✏️",awk:"✏️",tr:"✏️",curl:"🌐",wget:"🌐",http:"🌐",httpie:"🌐",ssh:"🔐",scp:"🔐",rsync:"🔐",ping:"📡",make:"🔨",cmake:"🔨",ninja:"🔨",bazel:"🔨",just:"🔨",terraform:"🏗️",ansible:"📕",pulumi:"🏗️",ps:"📊",top:"📊",htop:"📊",btm:"📊",kill:"💀",pkill:"💀",systemctl:"⚙️",service:"⚙️",tar:"🗜️",zip:"🗜️",unzip:"🗜️",gzip:"🗜️","7z":"🗜️",vim:"📝",nvim:"📝",nano:"📝",emacs:"📝",code:"📝",jq:"🪺",yq:"🪺",echo:"💬",printf:"💬",ffmpeg:"🎞️",ffprobe:"🎞️",imagemagick:"🖼️",convert:"🖼️","Get-ChildItem":"📂","Get-Content":"📄","Set-Content":"💾","Out-File":"💾","Add-Content":"💾","Set-Location":"📍","Get-Location":"📍","Get-Process":"📊","Start-Process":"▶️","Stop-Process":"💀","Invoke-WebRequest":"🌐","Invoke-RestMethod":"🌐","New-Item":"📁","Remove-Item":"🗑️","Copy-Item":"📋","Move-Item":"✂️","Test-Path":"🔍","Where-Object":"🔎","ForEach-Object":"🔁","Select-Object":"🎯","Measure-Object":"📊","Get-Service":"⚙️","Restart-Service":"⚙️","ConvertTo-Json":"🪺","ConvertFrom-Json":"🪺"};function SN(e){if(!e)return null;let n=e.trim();if(!n)return null;const r=n.match(/^(?:bash|sh|zsh|fish|powershell|pwsh)(?:\.exe)?\s+(?:-c|-Command|-NoProfile|-NonInteractive|\s)+["']([^"']+)["']/i);if(r)return SN(r[1]);for(;;){const l=n.match(/^([A-Z_][A-Z0-9_]*=\S*)\s+/);if(!l)break;n=n.slice(l[0].length)}n=n.replace(/^sudo(?:\s+-\S+)*\s+/,""),n=n.replace(/^(?:time|nohup|xargs)\s+/,"");const s=n.match(/^([^\s|;&<>(]+)/);if(!s)return null;let o=s[1];return o=o.replace(/^.*[/\\]/,""),o=o.replace(/\.(exe|cmd|bat|ps1)$/i,""),o||null}function i3(e){if(typeof e=="string")return e;if(!e||typeof e!="object")return null;const n=e;if(typeof n.cmd=="string")return n.cmd;if(typeof n.command=="string")return n.command;if(Array.isArray(n.command)&&n.command.every(r=>typeof r=="string")){const r=n.command;if(/powershell|cmd|bash|sh(\.exe)?$/i.test(r[0]??"")){const s=r.findIndex(o=>/^(-Command|-c)$/i.test(o));if(s>=0&&s+1<r.length)return r[s+1]}return r.join(" ")}return typeof n.script=="string"?n.script:null}const s3=new Set(["Bash","PowerShell","shell","exec_command","shell_command","write_stdin","wait"]),o3=new Set(["shell","exec_command","shell_command","write_stdin","wait","apply_patch","update_plan"]);function a3(e,n){return o3.has(e)||e.startsWith("mcp__")?Math.max(ax,34+n.length*7.5):ax}function l3(e,n){if(!s3.has(e))return null;const r=i3(n);if(!r)return null;const s=SN(r);return s?{emoji:r3[s]??"⚙️",label:s,category:"shell",detail:r}:null}const u3=new Set(["Read","Write","Edit","MultiEdit","NotebookEdit","LS","Glob","apply_patch"]),ux={ts:"🟦",tsx:"🟦",d:"🟦",js:"🟨",jsx:"🟨",mjs:"🟨",cjs:"🟨",py:"🐍",pyi:"🐍",ipynb:"📓",rs:"🦀",go:"🐹",rb:"💎",erb:"💎",java:"☕",kt:"☕",scala:"☕",gradle:"☕",cs:"🔷",fs:"🔷",php:"🐘",swift:"🦅",c:"🇨",cpp:"🇨",cc:"🇨",h:"🇨",hpp:"🇨",md:"📝",mdx:"📝",rst:"📝",json:"🪺",json5:"🪺",jsonl:"🪺",yaml:"⚙️",yml:"⚙️",toml:"⚙️",ini:"⚙️",conf:"⚙️",cfg:"⚙️",xml:"📰",html:"🌐",htm:"🌐",vue:"🌐",svelte:"🌐",css:"🎨",scss:"🎨",sass:"🎨",less:"🎨",sh:"⚡",bash:"⚡",zsh:"⚡",fish:"⚡",ps1:"⚡",txt:"📄",log:"📄",out:"📄",csv:"📊",tsv:"📊",xlsx:"📊",xls:"📊",pdf:"📕",png:"🖼️",jpg:"🖼️",jpeg:"🖼️",gif:"🖼️",webp:"🖼️",svg:"🖼️",ico:"🖼️",mp4:"🎬",mov:"🎬",avi:"🎬",mkv:"🎬",webm:"🎬",mp3:"🎵",wav:"🎵",ogg:"🎵",flac:"🎵",zip:"🗜️",tar:"🗜️",gz:"🗜️",bz2:"🗜️","7z":"🗜️",xz:"🗜️",rar:"🗜️",env:"🔐",lock:"🔐",pem:"🔐",key:"🔐",crt:"🔐",sql:"🗄️",db:"🗄️",sqlite:"🗄️",parquet:"🗄️"},cx={dockerfile:"🐳",makefile:"🔨",rakefile:"💎","package.json":"📦","pnpm-lock.yaml":"📦","yarn.lock":"📦","cargo.toml":"🦀","cargo.lock":"🦀","go.mod":"🐹","go.sum":"🐹","pyproject.toml":"🐍","requirements.txt":"🐍","readme.md":"📖",readme:"📖",license:"📜",".gitignore":"🐙",".gitattributes":"🐙",".env":"🔐",".dockerignore":"🐳"};function c3(e){const r=e.replace(/\\/g,"/").replace(/\/+$/,""),s=r.lastIndexOf("/");return s>=0?r.slice(s+1):r}function d3(e){const n=e.toLowerCase();if(cx[n])return cx[n];if(n.startsWith("dockerfile."))return"🐳";if(/\.(test|spec)\.[a-z]+$/.test(n))return"🧪";const r=n.lastIndexOf(".");if(r>0&&r<n.length-1){const s=n.slice(r+1);if(ux[s])return ux[s]}return"📄"}function f3(e,n){if(!n||typeof n!="object")return null;const r=n;if(e==="apply_patch"&&typeof r.patch=="string"){const s=r.patch.match(/^\*\*\* (?:Update|Add|Delete) File: (.+)$/m);return s?s[1].trim():null}return typeof r.file_path=="string"?r.file_path:typeof r.notebook_path=="string"?r.notebook_path:typeof r.path=="string"?r.path:e==="Glob"&&typeof r.pattern=="string"?r.pattern:null}function h3(e,n){if(!u3.has(e))return null;const r=f3(e,n);if(!r)return null;const s=c3(r);return s?{emoji:e==="LS"?"📂":d3(s),label:s,category:"file",detail:r}:null}const bN={github:{emoji:"🐙",name:"GitHub"},git:{emoji:"🐙",name:"Git"},gitlab:{emoji:"🦊",name:"GitLab"},slack:{emoji:"💬",name:"Slack"},discord:{emoji:"💬",name:"Discord"},linear:{emoji:"📐",name:"Linear"},jira:{emoji:"🅹",name:"Jira"},atlassian:{emoji:"🅰️",name:"Atlassian"},notion:{emoji:"📓",name:"Notion"},asana:{emoji:"📋",name:"Asana"},intercom:{emoji:"💬",name:"Intercom"},figma:{emoji:"🎨",name:"Figma"},gmail:{emoji:"📧",name:"Gmail"},calendar:{emoji:"📅",name:"Calendar"},drive:{emoji:"☁️",name:"Drive"},zoom:{emoji:"📹",name:"Zoom"},spotify:{emoji:"🎵",name:"Spotify"},youtube:{emoji:"📺",name:"YouTube"},ccd_session:{emoji:"📡",name:"Session"},ccd_directory:{emoji:"📂",name:"Directory"},ccd_session_mgmt:{emoji:"📡",name:"Sessions"},mcp_registry:{emoji:"🧰",name:"Registry"},"computer-use":{emoji:"🖱️",name:"Computer"},"claude-in-chrome":{emoji:"🌐",name:"Chrome"},"claude-preview":{emoji:"👀",name:"Preview"},"scheduled-tasks":{emoji:"⏰",name:"Scheduler"},visualize:{emoji:"🎨",name:"Visualize"},"plugin-design-asana":{emoji:"📋",name:"Asana"},"plugin-design-atlassian":{emoji:"🅰️",name:"Atlassian"},"plugin-design-figma":{emoji:"🎨",name:"Figma"},"plugin-design-intercom":{emoji:"💬",name:"Intercom"},"plugin-design-linear":{emoji:"📐",name:"Linear"},"plugin-design-notion":{emoji:"📓",name:"Notion"},"plugin-design-slack":{emoji:"💬",name:"Slack"}};function kN(e){if(!e.startsWith("mcp__"))return null;const n=e.slice(5),r=n.indexOf("__");return r<=0?{server:n,method:""}:{server:n.slice(0,r),method:n.slice(r+2)}}function p3(e){let n=5381;for(let r=0;r<e.length;r++)n=(n<<5)+n^e.charCodeAt(r);return Math.abs(n)%360}function m3(e,n){const r=kN(e);if(!r)return null;const{server:s,method:o}=r;if(!o)return null;const l=bN[s.toLowerCase()];return{emoji:(l==null?void 0:l.emoji)??"🔌",label:o,category:"mcp",detail:l?`${l.name} · ${o}`:`${s} · ${o}`}}function g3(e,n){return l3(e,n)??h3(e,n)??m3(e)}const v3={shell:"Shell",exec_command:"Shell",shell_command:"Shell",write_stdin:"stdin",wait:"wait",apply_patch:"Edit",update_plan:"Plan"};function y3(e){const n=kN(e);if(n){const s=bN[n.server.toLowerCase()];return s?{emoji:s.emoji,label:s.name}:{emoji:"🔌",label:n.server,hue:p3(n.server)}}const r=v3[e];return r?{emoji:lx(e),label:r}:{emoji:lx(e),label:e}}function w3(e){return e.endedAt==null?"inflight":e.ok===!1?"err":"done"}function x3(e,n,r){if(r==null)return 1;const s=n-r;return s<0?1:Math.max(0,1-s/_N)}function _3(e,n){const r=[],s=new Set;for(let o=e.length-1;o>=0&&r.length<n;o--){const l=e[o];s.has(l.id)||(s.add(l.id),r.push(l))}return r.reverse()}function S3(e,n,r,s,o,l){const u=[];for(const c of e.values()){if(!n.has(c.id)||c.exitAt!=null&&l-c.exitAt>_N)continue;const p=s.get(c.id)??r.get(c.id);if(!p)continue;const h=_3(c.tools,KP);if(h.length===0)continue;const f=c.exitAt??null,m=o.get(c.id),y=Math.max((m==null?void 0:m.width)??ox,ox),x=(m==null?void 0:m.height)??130,C=p.x,_=p.y,S=C+y,b=_+x/2;h.forEach((E,N)=>{const j=N*XP,M=C+y+QP,P=_+ZP+j,O=x3(E,l,f),B=E.inputPreview??"",L=w3(E),q=O<.999,I=y3(E.name);u.push({id:`${c.id}::${E.id}`,toolId:E.id,agentId:c.id,toolName:E.name,name:I.label,emoji:I.emoji,status:L,category:t3(E.name),mcpHue:I.hue,inputPreview:B,fade:O,fading:q,worldX:M,worldY:P,anchorX:S,anchorY:b,spawnDx:S-M,spawnDy:b-(P+Kg)});const H=g3(E.name,E.input);if(H){const X=a3(E.name,I.label),T=M+X+JP,Y=P,U=M+X,ee=P+Kg;u.push({id:`sub:${c.id}::${E.id}`,toolId:E.id,agentId:c.id,toolName:E.name,name:H.label,emoji:H.emoji,isSub:!0,status:L,category:H.category,inputPreview:H.detail??B,fade:O,fading:q,worldX:T,worldY:Y,anchorX:U,anchorY:ee,spawnDx:U-T,spawnDy:0})}})}return u}function b3({agents:e,visibleAgentIds:n,positions:r,pinned:s,measured:o,dimUnmatched:l,spotlight:u,hiddenCategories:c,now:p,onOpenTool:h}){const f=S3(e,n,r,s,o,p),m=c&&c.size>0?f.filter(y=>!c.has(y.category)):f;return g.jsx(k3,{bursts:m,dimUnmatched:l,spotlight:u,onOpenTool:h})}function k3({bursts:e,dimUnmatched:n,spotlight:r,onOpenTool:s}){const{x:o,y:l,zoom:u}=dN();return g.jsxs("div",{className:"tool-bursts-layer","aria-hidden":!0,children:[g.jsx("svg",{className:"tool-bursts-svg",children:e.map(c=>{const p=c.anchorX*u+o,h=c.anchorY*u+l,f=(c.worldX+6)*u+o,m=(c.worldY+Kg)*u+l,y=p+(f-p)*.55,x=n!=null&&!n.has(c.agentId),C=r!=null&&!r.has(c.agentId),_=c.fade*(x||C?.14:1);return g.jsx("path",{d:`M ${p} ${h} Q ${y} ${h}, ${f} ${m}`,className:`tool-conn status-${c.status}${c.fading?" fading":""}`,opacity:_},`l:${c.id}`)})}),e.map(c=>{const p=c.worldX*u+o,h=c.worldY*u+l,f={left:`${p}px`,top:`${h}px`,transform:`scale(${u})`,transformOrigin:"left top","--spawn-dx":`${c.spawnDx}px`,"--spawn-dy":`${c.spawnDy}px`},m=c.isSub?`${c.toolName} · ${c.name}`:c.toolName,y=c.inputPreview?`${m} · ${c.inputPreview}`:m,x=s!=null,C=c.mcpHue!=null?{"--cat-accent":`hsl(${c.mcpHue} 65% 65%)`}:{},_=n!=null&&!n.has(c.agentId),S=r!=null&&!r.has(c.agentId),b=_||S?" dim":"";return g.jsx("div",{className:"tool-burst-wrap",style:f,children:g.jsxs("div",{className:`tool-burst cat-${c.category} status-${c.status}${c.fading?" fading":""}${x?" clickable":""}${c.isSub?" sub":""}${b}`,style:C,title:y,role:x?"button":void 0,tabIndex:x?0:void 0,"aria-label":x?`Open ${c.toolName} ${c.status==="inflight"?"in flight":c.status} — click for details`:void 0,onClick:x?()=>s(c.toolId):void 0,onKeyDown:x?E=>{(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),s(c.toolId))}:void 0,children:[g.jsx("span",{className:"tb-emoji",children:c.emoji}),g.jsx("span",{className:"tb-name",children:c.name}),c.status==="inflight"&&g.jsx("span",{className:"tb-spin"}),c.status==="done"&&g.jsx("span",{className:"tb-mark done",children:"✓"}),c.status==="err"&&g.jsx("span",{className:"tb-mark err",children:"×"})]})},c.id)})]})}function E3({state:e,sessionId:n,onClose:r}){const s=A.useMemo(()=>C3(e,n),[e,n]);return s?g.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:g.jsxs("div",{className:"modal session-summary",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"ss-title",children:[g.jsxs("div",{className:"modal-head",children:[g.jsxs("div",{className:"modal-title",children:[g.jsx("span",{className:"state-pill state-done","aria-hidden":!0,children:"done"}),g.jsx("span",{id:"ss-title",className:"modal-tool-name",title:s.cwd??s.sessionId,children:s.label}),g.jsxs("span",{className:"modal-tool-id",children:["· ",s.sessionId.slice(0,8)]})]}),g.jsxs("div",{className:"modal-actions",children:[g.jsx("span",{className:"modal-dur",title:"Total wall time",children:s.durationLabel}),g.jsx("button",{className:"btn",onClick:r,"aria-label":"Close",children:"×"})]})]}),g.jsxs("div",{className:"modal-body",children:[g.jsxs("section",{className:"ss-hero",children:[g.jsxs("div",{className:"ss-hero-left",children:[g.jsx("div",{className:"ss-cost-label",children:"total spend"}),g.jsx("div",{className:"ss-cost",children:Ve(s.cost.total)}),s.modelChips.length>0&&g.jsx("div",{className:"ss-models",children:s.modelChips.map(o=>g.jsx("span",{className:"model-chip",title:o,children:la(o)},o))})]}),g.jsx("div",{className:"ss-hero-right",children:s.cost.total>0&&g.jsxs(g.Fragment,{children:[g.jsx(N3,{cost:s.cost}),g.jsxs("div",{className:"ss-cost-legend",children:[g.jsxs("span",{className:"ssl ssl-in",children:["input ",g.jsx("b",{children:Ve(s.cost.input)})]}),g.jsxs("span",{className:"ssl ssl-out",children:["output ",g.jsx("b",{children:Ve(s.cost.output)})]}),g.jsxs("span",{className:"ssl ssl-cr",children:["cache r ",g.jsx("b",{children:Ve(s.cost.cacheRead)})]}),g.jsxs("span",{className:"ssl ssl-cw",children:["cache w ",g.jsx("b",{children:Ve(s.cost.cacheWrite)})]})]})]})})]}),g.jsxs("section",{className:"ss-stats",children:[g.jsx(Ls,{label:"agents",value:s.agentCount}),g.jsx(Ls,{label:"subagents",value:s.subagentCount}),g.jsx(Ls,{label:"tool calls",value:s.toolCount}),g.jsx(Ls,{label:"prompts",value:s.promptCount}),g.jsx(Ls,{label:"tokens",value:s.tokensSum.toLocaleString()}),s.errCount>0&&g.jsx(Ls,{label:"errors",value:s.errCount,tone:"err"})]}),s.topTools.length>0&&g.jsxs("section",{className:"modal-section",children:[g.jsx("h4",{children:"Most-used tools"}),g.jsx("div",{className:"ss-top-tools",children:s.topTools.map(([o,l])=>g.jsxs("div",{className:"ss-tt",children:[g.jsx("span",{className:"ss-tt-name",children:o}),g.jsx("span",{className:"ss-tt-bar",children:g.jsx("span",{className:"ss-tt-bar-fill",style:{width:`${l/s.topTools[0][1]*100}%`}})}),g.jsx("span",{className:"ss-tt-count",children:l})]},o))})]}),s.firstPrompt&&g.jsxs("section",{className:"modal-section",children:[g.jsx("h4",{children:"Opening prompt"}),g.jsx("div",{className:"ss-prompt",children:s.firstPrompt})]})]})]})}):null}function Ls({label:e,value:n,tone:r}){return g.jsxs("div",{className:`ss-stat${r?` tone-${r}`:""}`,children:[g.jsx("div",{className:"ss-stat-value",children:n}),g.jsx("div",{className:"ss-stat-label",children:e})]})}function N3({cost:e}){const n=e.total;if(n<=0)return null;const r=(s,o,l)=>{if(s<=0)return null;const u=s/n*100;return g.jsx("span",{className:`cb-seg ${o}`,style:{width:`${u}%`},title:`${l}: ${Ve(s)} (${u.toFixed(0)}%)`},o)};return g.jsxs("div",{className:"cost-bar cost-bar-lg","aria-label":"Cost breakdown",children:[r(e.input,"cb-input","input"),r(e.output,"cb-output","output"),r(e.cacheRead,"cb-cache-r","cache read"),r(e.cacheWrite,"cb-cache-w","cache write")]})}function C3(e,n){const r=e.agents.get(n);if(!r)return null;const s=[];for(const N of e.agents.values())N.sessionId===n&&s.push(N);if(s.length===0)return null;const o={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},l=new Set,u=new Map;let c=0,p=0,h=0,f=0,m=0,y,x=1/0,C=0;for(const N of s){const j=un(N.usage,N.model);o.input+=j.input,o.output+=j.output,o.cacheRead+=j.cacheRead,o.cacheWrite+=j.cacheWrite,o.total+=j.total,N.model&&l.add(N.model),N.kind==="subagent"&&m++,p+=N.prompts.length,!y&&N.prompts.length>0&&(y=N.prompts[0].text),h+=N.usage.inputTokens+N.usage.outputTokens,c+=N.toolCount,x=Math.min(x,N.startedAt),C=Math.max(C,N.endedAt??Date.now());for(const M of N.tools)u.set(M.name,(u.get(M.name)??0)+1),M.ok===!1&&f++}const _=Math.max(0,C-x),S=Math.floor(_/1e3),b=S<60?`${S}s`:S<3600?`${Math.floor(S/60)}m ${String(S%60).padStart(2,"0")}s`:`${Math.floor(S/3600)}h ${Math.floor(S%3600/60)}m`,E=Array.from(u.entries()).sort((N,j)=>j[1]-N[1]).slice(0,5);return{sessionId:n,label:r.label||r.cwdBasename||"session",cwd:r.cwd,durationLabel:b,cost:o,modelChips:Array.from(l),agentCount:s.length,subagentCount:m,toolCount:c,promptCount:p,tokensSum:h,errCount:f,topTools:E,firstPrompt:y}}function j3(e,n){const r=[];for(const s of e.agents.values()){if(s.kind!=="root")continue;let o=s.toolCount,l=un(s.usage,s.model).total,u=s.endedAt??s.startedAt;for(const c of e.agents.values()){if(c.sessionId!==s.sessionId||c.kind==="root")continue;o+=c.toolCount,l+=un(c.usage,c.model).total;const p=c.endedAt??c.startedAt;p>u&&(u=p)}r.push({sessionId:s.sessionId,label:s.label||s.cwdBasename||"session",cwdBasename:s.cwdBasename,state:s.state,modelId:s.model,toolCount:o,cost:l,startedAt:s.startedAt,lastActivity:u})}return r.sort((s,o)=>{if(s.state!==o.state){if(s.state==="active")return-1;if(o.state==="active")return 1}return o.lastActivity-s.lastActivity}),r}function R3(e,n,r){const s=(n??r)-e;if(s<1e3)return"<1s";const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const l=Math.floor(o/60);return l<60?`${l}m`:`${Math.floor(l/60)}h ${l%60}m`}function T3({state:e,now:n,selectedIds:r,onSelect:s,onClose:o}){const l=A.useMemo(()=>j3(e),[e,e.lastSeq,n]),u=l.filter(c=>c.state==="active").length;return g.jsxs("aside",{className:"session-list","aria-label":"Sessions",children:[g.jsxs("div",{className:"sl-header",children:[g.jsxs("h3",{children:["Sessions ",g.jsx("span",{className:"sl-count",children:l.length})]}),u>0&&g.jsxs("span",{className:"sl-live-count",children:[u," live"]}),g.jsx("button",{className:"btn icon-btn sl-close",onClick:o,title:"Hide sidebar (L)","aria-label":"Hide session list",children:"‹"})]}),g.jsxs("div",{className:"sl-rows",children:[l.length===0&&g.jsx("div",{className:"sl-empty",children:"No sessions yet."}),l.map(c=>{const p=r.has(c.sessionId);return g.jsxs("button",{type:"button",className:`sl-row state-${c.state}${p?" selected":""}`,onClick:()=>s(c.sessionId),title:`Focus ${c.label}`,children:[g.jsx("span",{className:`sl-dot state-${c.state}`,"aria-hidden":!0}),g.jsxs("div",{className:"sl-row-body",children:[g.jsxs("div",{className:"sl-row-head",children:[g.jsx("span",{className:"sl-label",children:c.label}),c.modelId&&g.jsx("span",{className:"model-chip",title:c.modelId,children:la(c.modelId)})]}),g.jsxs("div",{className:"sl-row-meta",children:[g.jsxs("span",{title:"tool calls",children:[g.jsx("b",{children:c.toolCount})," tools"]}),c.cost>0&&g.jsx("span",{className:"sl-cost",title:"total spend",children:g.jsx("b",{children:Ve(c.cost)})}),g.jsx("span",{className:"sl-elapsed",title:`Started ${new Date(c.startedAt).toLocaleString()}`,children:R3(c.startedAt,c.state==="active"?void 0:c.lastActivity,n)})]})]})]},c.sessionId)})]})]})}function dx(e,n){if(!e)return null;const r=n-Math.floor(e/1e3);return r<10?"just now":r<60?`${r}s ago`:r<3600?`${Math.floor(r/60)}m ago`:`${Math.floor(r/3600)}h ago`}function A3(e){return e==="claude-swap"?"Read from claude-swap's last collection — costs no request against your usage-endpoint budget":e==="api"?"Fetched from Anthropic's usage endpoint, at most once every 5 minutes":e==="cli"?"Parsed from `claude /usage`, at most once every 5 minutes":"Last update"}function Ar(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function I3({cost:e}){const n=e.total;if(n<=0)return null;const r=(s,o,l)=>{if(s<=0)return null;const u=s/n*100;return g.jsx("span",{className:`cb-seg ${o}`,style:{width:`${u}%`},title:`${l}: ${Ve(s)} (${u.toFixed(0)}%)`},o)};return g.jsxs("div",{className:"cost-bar","aria-label":"Cost breakdown",children:[r(e.input,"cb-input","input"),r(e.output,"cb-output","output"),r(e.cacheRead,"cb-cache-r","cache read"),r(e.cacheWrite,"cb-cache-w","cache write")]})}function M3(e,n){const r=e-n;if(r<=0)return null;const s=Math.floor(r/3600),o=Math.floor(r%3600/60);if(s>23){const l=Math.floor(r/86400),u=Math.floor(r%86400/3600);return`${l}d ${u}h`}return s>0?`${s}h ${o}m`:`${o}m`}function P3(e,n,r,s){const o=Math.max(0,n-s),l=Math.max(0,r-o);if(l<120)return null;const u=Math.min(100,l/r*100),c=e-u;if(Math.abs(c)<3)return{label:"on pace",color:"var(--ok)",expectedPct:u,isDeficit:!1};if(c>0){const p=100-e,h=l>0?e/l:0,f=h>0?p/h:1/0,m={label:`${Math.round(c)}% ahead`,color:"var(--warn)",expectedPct:u,isDeficit:!0};if(f<o&&f<86400){const y=Math.floor(f/3600),x=Math.floor(f%3600/60);m.runsOutIn=y>0?`${y}h ${x}m`:`${x}m`}return m}return{label:`${Math.round(-c)}% reserve`,color:"var(--ok)",expectedPct:u,isDeficit:!1}}function Ui({pct:e,label:n,reset:r,resetAt:s,windowSec:o,limitReached:l,nowSec:u}){const c=Math.min(100,Math.max(0,e)),h=l||c>=90?"var(--err)":c>=70?"var(--warn)":"var(--accent)",f=c===0?"< 1%":`${c}%`,m=c===0?2:c,y=s?M3(s,u):null,x=s&&o?P3(c,s,o,u):null;return g.jsxs("div",{className:"qb-row",children:[g.jsxs("div",{className:"qb-meta",children:[g.jsxs("span",{className:"qb-label",children:[n,l&&g.jsx("span",{className:"qb-limit-badge",title:"Rate limit reached",children:"⛔"})]}),g.jsx("span",{className:"qb-pct",style:{color:h},children:f})]}),g.jsxs("div",{className:"qb-track",children:[g.jsx("div",{className:"qb-fill",style:{width:`${m}%`,background:h,opacity:c===0?.4:1}}),x&&g.jsx("div",{className:"qb-pace-marker",style:{left:`${x.expectedPct}%`,background:x.isDeficit?"var(--err)":"var(--ok)"},title:`To last until reset, stay near ${Math.round(x.expectedPct)}% by now`})]}),g.jsxs("div",{className:"qb-reset-row",children:[y?g.jsxs("span",{className:"qb-reset",children:["resets in ",y]}):r?g.jsxs("span",{className:"qb-reset",children:["resets ",r]}):null,x&&g.jsx("span",{className:"qb-pace",style:{color:x.color},children:x.runsOutIn?`runs out in ${x.runsOutIn}`:x.label})]})]})}const O3=6e4;function q3(){const[e,n]=A.useState(null),[r,s]=A.useState(!1),o=A.useRef(null),l=async(c=!1)=>{c&&s(!0);try{const h=await fetch(c?"/api/quota?refresh=1":"/api/quota");h.ok&&n(await h.json())}catch{}finally{c&&s(!1)}};return A.useEffect(()=>(l(!0),o.current=window.setInterval(()=>l(!1),O3),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{quota:e,loading:r,refresh:()=>l(!0)}}function L3(e){switch(e){case"no_token":return"Run codex login to authenticate.";case"api_key_mode":return"API-key login — ChatGPT quota is only available for codex login.";case"refresh_rejected":return"Codex session expired — run codex login.";case"refresh_failed":return"Couldn't refresh the Codex token — click ↻ to retry.";default:return"ChatGPT API unreachable — click ↻ to retry."}}const EN=6e4;function $3(){const[e,n]=A.useState(null),[r,s]=A.useState(!1),o=A.useRef(null),l=async(c=!1)=>{c&&s(!0);try{const h=await fetch(c?"/api/codex-quota?refresh=1":"/api/codex-quota");h.ok&&n(await h.json())}catch{}finally{c&&s(!1)}};return A.useEffect(()=>(l(!0),o.current=window.setInterval(()=>l(!1),EN),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{data:e,loading:r,refresh:()=>l(!0)}}function D3(){const[e,n]=A.useState(null),r=A.useRef(null),s=async()=>{try{const o=await fetch("/api/codex-usage");o.ok&&n(await o.json())}catch{}};return A.useEffect(()=>(s(),r.current=window.setInterval(s,EN),()=>{r.current!=null&&window.clearInterval(r.current)}),[]),{data:e}}function F3({state:e,now:n,onClose:r}){var O,B;const{quota:s,loading:o,refresh:l}=q3(),{data:u,loading:c,refresh:p}=$3(),{data:h}=D3(),[f,m]=A.useState(()=>Math.floor(Date.now()/1e3));A.useEffect(()=>{const L=window.setInterval(()=>m(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(L)},[]);const{byModel:y,totalCost:x,totalTokens:C,burnRate:_}=A.useMemo(()=>{const L=new Map,q={total:0,input:0,output:0,cacheRead:0,cacheWrite:0};let I=0,H=0,X=0,T=0;for(const F of e.agents.values()){const G=F.model??"__unknown__",k=un(F.usage,F.model),$=L.get(G);$?($.inputTokens+=F.usage.inputTokens,$.outputTokens+=F.usage.outputTokens,$.cacheReadTokens+=F.usage.cacheReadTokens,$.cacheCreateTokens+=F.usage.cacheCreateTokens,$.cost.total+=k.total,$.cost.input+=k.input,$.cost.output+=k.output,$.cost.cacheRead+=k.cacheRead,$.cost.cacheWrite+=k.cacheWrite,$.agentCount++):L.set(G,{model:G,inputTokens:F.usage.inputTokens,outputTokens:F.usage.outputTokens,cacheReadTokens:F.usage.cacheReadTokens,cacheCreateTokens:F.usage.cacheCreateTokens,cost:{...k},agentCount:1}),q.total+=k.total,q.input+=k.input,q.output+=k.output,q.cacheRead+=k.cacheRead,q.cacheWrite+=k.cacheWrite,I+=F.usage.inputTokens,H+=F.usage.outputTokens,X+=F.usage.cacheReadTokens,T+=F.usage.cacheCreateTokens}const Y=Array.from(L.values()).sort((F,G)=>G.cost.total-F.cost.total);let U=0,ee=0;for(const F of e.agents.values()){if(F.state!=="active")continue;const G=un(F.usage,F.model);U+=G.total,ee=Math.max(ee,((F.endedAt??n)-F.startedAt)/1e3)}const J=ee>0?Wl(U,ee):null;return{byModel:Y,totalCost:q,totalTokens:{in:I,out:H,cacheR:X,cacheC:T},burnRate:J}},[e,e.lastSeq,n]),S=A.useMemo(()=>{const L=[];for(const q of e.agents.values()){if(q.kind!=="root")continue;let I=un(q.usage,q.model).total,H=q.usage.inputTokens,X=q.usage.outputTokens;for(const T of e.agents.values())T.sessionId!==q.sessionId||T.kind==="root"||(I+=un(T.usage,T.model).total,H+=T.usage.inputTokens,X+=T.usage.outputTokens);L.push({sessionId:q.sessionId,label:q.label||q.cwdBasename||"session",state:q.state,cost:I,inputTokens:H,outputTokens:X})}return L.sort((q,I)=>I.cost-q.cost).slice(0,12)},[e,e.lastSeq]),b=x.total>0,E=C.in+C.out,N=o||c,j=dx(s==null?void 0:s.fetchedAt,f),M=dx(u==null?void 0:u.fetchedAt,f),P=()=>{l(),p()};return g.jsxs("div",{className:"usage-panel","aria-label":"Usage",children:[g.jsxs("div",{className:"up-header",children:[g.jsx("h3",{children:"Usage"}),_&&g.jsx("span",{className:"up-rate",children:_}),g.jsxs("div",{className:"up-header-right",children:[g.jsx("button",{type:"button",className:"btn up-refresh-btn",onClick:P,disabled:N,title:"Refresh Claude + Codex quota",children:N?"…":"↻"}),g.jsx("button",{type:"button",className:"btn icon-btn up-close",onClick:r,"aria-label":"Close usage panel",title:"Close (U)",children:"×"})]})]}),g.jsxs("section",{className:"up-section up-quota-section",children:[g.jsxs("h4",{className:"up-section-title",children:["Claude quota",j&&!o&&g.jsx("span",{className:"up-section-age",title:A3(s==null?void 0:s.source),children:j})]}),s!=null&&s.ok?g.jsxs("div",{className:"up-quota-bars",children:[s.session5hPct!=null&&g.jsx(Ui,{label:"5-hour window",pct:s.session5hPct,reset:s.session5hReset,resetAt:s.session5hResetAt,windowSec:s.session5hWindowSec,nowSec:f}),s.week7dPct!=null&&g.jsx(Ui,{label:"7-day window",pct:s.week7dPct,reset:s.week7dReset,resetAt:s.week7dResetAt,windowSec:s.week7dWindowSec,nowSec:f}),s.weekSonnetPct!=null&&g.jsx(Ui,{label:"Sonnet (7d)",pct:s.weekSonnetPct,nowSec:f}),s.weekOpusPct!=null&&g.jsx(Ui,{label:"Opus (7d)",pct:s.weekOpusPct,nowSec:f})]}):(s==null?void 0:s.ok)===!1?g.jsxs("div",{className:"up-quota-na",children:[g.jsx("span",{children:"Quota unavailable."}),g.jsxs("span",{className:"up-quota-hint",children:["Run ",g.jsx("code",{children:"/usage"})," in a claude session, then click ↻"]})]}):g.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),g.jsxs("section",{className:"up-section up-quota-section",children:[g.jsxs("h4",{className:"up-section-title",children:["Codex quota",(u==null?void 0:u.ok)&&u.planLabel&&g.jsx("span",{className:"up-plan-badge",children:u.planLabel}),M&&!c&&g.jsx("span",{className:"up-section-age",title:"Fetched from the Codex usage endpoint",children:M})]}),u!=null&&u.ok?g.jsxs("div",{className:"up-quota-bars",children:[(O=u.windows)==null?void 0:O.map(L=>g.jsx(Ui,{label:L.label,pct:L.pct,reset:L.reset??void 0,resetAt:L.resetAt??void 0,windowSec:L.windowSec??void 0,limitReached:u.limitReached&&L.pct>=100,nowSec:f},L.id)),(B=u.extraWindows)==null?void 0:B.map(L=>g.jsx(Ui,{label:L.label,pct:L.pct,reset:L.reset??void 0,resetAt:L.resetAt??void 0,windowSec:L.windowSec??void 0,nowSec:f},L.id)),u.creditLimit&&g.jsx(Ui,{label:`spend cap · $${Math.round(u.creditLimit.used)} of $${Math.round(u.creditLimit.limit)}`,pct:u.creditLimit.usedPct,reset:u.creditLimit.reset??void 0,resetAt:u.creditLimit.resetAt??void 0,limitReached:u.spendControlReached,nowSec:f}),(h==null?void 0:h.ok)&&h.window7d&&h.window7d.sessionCount>0&&g.jsxs("div",{className:"up-quota-sub",children:[Ar(h.window7d.totalTokens)," tokens · ",h.window7d.sessionCount," session",h.window7d.sessionCount!==1?"s":""," (7d)"]}),u.creditsBalance&&!u.creditsUnlimited&&g.jsxs("div",{className:"up-quota-sub up-credits",children:["credits: $",u.creditsBalance,u.overageReached&&" · overage limit reached"]}),u.creditsUnlimited&&g.jsx("div",{className:"up-quota-sub up-credits",children:"credits: unlimited"}),u.resetCredits&&u.resetCredits.availableCount>0&&g.jsxs("div",{className:"up-quota-sub up-reset-credits",title:"Redeem in the Codex CLI or ChatGPT — agents-deck only reports them",children:[u.resetCredits.availableCount," rate-limit reset",u.resetCredits.availableCount!==1?"s":""," available",u.resetCredits.nextExpiryAt&&` · expires ${new Date(u.resetCredits.nextExpiryAt).toLocaleDateString("en-US",{month:"short",day:"numeric"})}`]}),u.promo&&g.jsx("div",{className:"up-quota-sub",children:u.promo}),u.partial&&g.jsx("div",{className:"up-quota-sub up-quota-hint",children:"Partial data — OpenAI returned limits this build doesn't recognise."})]}):(u==null?void 0:u.ok)===!1?g.jsxs("div",{className:"up-quota-na",children:[g.jsx("span",{children:"Quota unavailable."}),g.jsx("span",{className:"up-quota-hint",children:L3(u.reason)})]}):g.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),b?g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"up-total",children:[g.jsx("span",{className:"up-total-value",children:Ve(x.total)}),g.jsx("span",{className:"up-total-label",children:"total spend"})]}),g.jsx(I3,{cost:x}),E>0&&g.jsxs("div",{className:"up-tokens-row",children:[g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"in"}),Ar(C.in)]}),g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"out"}),Ar(C.out)]}),C.cacheR>0&&g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"cache r"}),Ar(C.cacheR)]}),C.cacheC>0&&g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"cache c"}),Ar(C.cacheC)]})]}),y.filter(L=>L.cost.total>0).length>0&&g.jsxs("section",{className:"up-section",children:[g.jsx("h4",{className:"up-section-title",children:"By model"}),g.jsxs("table",{className:"up-table",children:[g.jsx("thead",{children:g.jsxs("tr",{children:[g.jsx("th",{children:"Model"}),g.jsx("th",{children:"Tokens"}),g.jsx("th",{children:"Cost"})]})}),g.jsx("tbody",{children:y.filter(L=>L.cost.total>0).map(L=>g.jsxs("tr",{children:[g.jsx("td",{className:"up-model-name",title:L.model,children:la(L.model)}),g.jsx("td",{className:"up-num",children:Ar(L.inputTokens+L.outputTokens)}),g.jsx("td",{className:"up-num up-cost-val",children:Ve(L.cost.total)})]},L.model))})]})]}),S.filter(L=>L.cost>0).length>0&&g.jsxs("section",{className:"up-section",children:[g.jsx("h4",{className:"up-section-title",children:"By session"}),g.jsx("div",{className:"up-sessions",children:S.filter(L=>L.cost>0).map(L=>g.jsxs("div",{className:"up-session-row",children:[g.jsx("span",{className:`sl-dot state-${L.state}`,"aria-hidden":!0}),g.jsx("span",{className:"up-session-label",children:L.label}),g.jsx("span",{className:"up-session-tokens",children:Ar(L.inputTokens+L.outputTokens)}),g.jsx("span",{className:"up-session-cost",children:Ve(L.cost)})]},L.sessionId))})]})]}):E>0?g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"up-tokens-row",children:[g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"in"}),Ar(C.in)]}),g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"out"}),Ar(C.out)]})]}),g.jsx("div",{className:"up-hint",children:"Cost appears once a known model is detected."})]}):g.jsxs("div",{className:"up-empty",children:["No usage data yet.",g.jsx("br",{}),"Start a Claude Code or Codex session."]})]})}const fx=18,z3=1100,$s=(e,n)=>{const r=Math.sin(e*12.9898+n*78.233)*43758.5453;return r-Math.floor(r)},B3=Array.from({length:fx},(e,n)=>{const r=-72+144*n/(fx-1)+($s(n,1)-.5)*9,s=(r-90)*(Math.PI/180),o=(54+32*Math.cos(r*Math.PI/180))*(.74+$s(n,2)*.52);return{dx:Math.cos(s)*o,dy:Math.sin(s)*o,rot:(n%2?1:-1)*(100+$s(n,3)*260),delay:Math.round($s(n,4)*90),dur:760+Math.round($s(n,5)*260),scale:.8+$s(n,6)*.45,hue:n%4,round:n%3===0}});function hx({anchor:e,lifetimeMs:n=z3}){var l;const[r,s]=A.useState(null),o=typeof window<"u"&&((l=window.matchMedia)==null?void 0:l.call(window,"(prefers-reduced-motion: reduce)").matches);return A.useEffect(()=>{if(o)return;const u=e.current;if(!u)return;const c=u.getBoundingClientRect();s({x:c.left+c.width/2,y:c.top+c.height/2});const p=window.setTimeout(()=>s(null),n);return()=>window.clearTimeout(p)},[e,n,o]),o||!r?null:eI.createPortal(g.jsx("div",{className:"confetti",style:{left:`${r.x}px`,top:`${r.y}px`},"aria-hidden":!0,children:B3.map((u,c)=>g.jsx("span",{className:`confetti-bit${u.round?" round":""}`,"data-hue":u.hue,style:{"--dx":`${u.dx.toFixed(1)}px`,"--dy":`${u.dy.toFixed(1)}px`,"--rot":`${u.rot}deg`,"--s":u.scale.toFixed(2),animationDelay:`${u.delay}ms`,animationDuration:`${u.dur}ms, ${u.dur}ms`}},c))}),document.body)}const NN=new Set(["awaiting_url","awaiting_code","registering"]);function U3(e){return e!=null&&NN.has(e)}function H3(e){return e!=null&&e!=="done"&&!NN.has(e)}const V3="the sign-in ended before it finished — the deck restarted, or it was cancelled in another tab",W3="the sign-in did not complete";function G3({state:e,serverError:n,localError:r}){const s=e==="idle";return{title:s?"Sign-in ended":"Sign-in failed",message:r||n||(s?V3:W3)}}const Y3=1500;async function Cl(e){return(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json().catch(()=>null)}const K3={already_running:"a sign-in is already in progress",no_url:"the claude CLI did not offer a sign-in link — is it installed?",not_waiting:"that sign-in is no longer waiting for a code",not_prompted:"the CLI has not asked for a code yet",code_rejected:"that code was not accepted — copy it again from the browser",no_verdict:"the claude CLI has not answered — try the code again",empty_code:"paste the code from the browser first",login_failed:"the code was not accepted",no_identity:"signed in, but the CLI still reports nobody logged in",add_failed:"signed in, but claude-swap could not record the account",not_a_share:"that does not look like a shared account — it should start with ccdeck1:",corrupt:"that share is incomplete — copy the whole thing",wrong_version:"that share was made by a newer agents-deck",expired:"that share has expired — make a new one",import_failed:"claude-swap refused the import"},cd=(e,n)=>(e==null?void 0:e.detail)||(e!=null&&e.reason?K3[e.reason]??e.reason:null)||(e==null?void 0:e.error)||n,Xg=ae.forwardRef((e,n)=>g.jsxs("svg",{className:"aa-mark",viewBox:"0 0 44 44","aria-hidden":!0,ref:n,children:[g.jsx("circle",{className:"aa-mark-ring",cx:"22",cy:"22",r:"20"}),g.jsx("path",{className:"aa-mark-tick",d:"M13.5 22.5 L19.5 28.5 L31 17"})]}));Xg.displayName="SuccessMark";function X3({onClose:e,onChanged:n}){const[r,s]=A.useState("login"),[o,l]=A.useState(null),[u,c]=A.useState(""),[p,h]=A.useState(""),[f,m]=A.useState(!1),[y,x]=A.useState(null),[C,_]=A.useState(null),S=A.useRef(!1),b=A.useRef(null),E=A.useRef(null),N=A.useRef(null),j=A.useCallback(()=>{S.current&&Cl({action:"login-cancel"}).catch(()=>{}),e()},[e]);A.useEffect(()=>{const I=H=>{H.key==="Escape"&&j()};return window.addEventListener("keydown",I),()=>window.removeEventListener("keydown",I)},[j]);const M=A.useCallback(async()=>{m(!0),x(null),S.current=!0;const I=await Cl({action:"login"}).catch(()=>null);if(m(!1),!(I!=null&&I.ok)){x(cd(I,"could not start the sign-in"));return}l(I)},[]);A.useEffect(()=>{if(!U3(o==null?void 0:o.state))return;const I=window.setInterval(async()=>{try{const H=await fetch("/api/claude-accounts/login");H.ok&&l(await H.json())}catch{}},Y3);return()=>window.clearInterval(I)},[o]),A.useEffect(()=>{var I;(o==null?void 0:o.state)==="awaiting_code"&&((I=b.current)==null||I.focus()),(o==null?void 0:o.state)==="done"&&n()},[o==null?void 0:o.state,n]),A.useEffect(()=>{var I;r==="paste"&&((I=E.current)==null||I.focus())},[r]);const P=A.useCallback(async()=>{var H;m(!0),x(null);const I=await Cl({action:"login-code",code:u}).catch(()=>null);if(m(!1),!(I!=null&&I.ok)){x(cd(I,"the code was not accepted")),I!=null&&I.state&&l(I),(H=b.current)==null||H.select();return}c(""),l(I)},[u,o]),O=A.useCallback(async()=>{m(!0),x(null);const I=await Cl({action:"import",blob:p}).catch(()=>null);if(m(!1),!(I!=null&&I.ok)){x(cd(I,"the import failed"));return}h(""),_({added:I.added===!0,num:I.num??null,email:I.email??null}),n()},[p,n]),B=(o==null?void 0:o.state)==="done"?o.account:null,L=H3(o==null?void 0:o.state)||!!(y&&S.current&&!f),q=G3({state:o==null?void 0:o.state,serverError:o==null?void 0:o.error,localError:y});return g.jsx("div",{className:"modal-backdrop",onClick:j,role:"presentation",children:g.jsxs("div",{className:"modal aa-modal",onClick:I=>I.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":"Add a Claude account",children:[g.jsxs("header",{className:"modal-head",children:[g.jsx("div",{className:"modal-title",children:g.jsxs("span",{className:"aa-tabs",role:"tablist",children:[g.jsx("button",{type:"button",role:"tab","aria-selected":r==="login",className:`aa-tab${r==="login"?" on":""}`,onClick:()=>s("login"),children:"Sign in"}),g.jsx("button",{type:"button",role:"tab","aria-selected":r==="paste",className:`aa-tab${r==="paste"?" on":""}`,onClick:()=>s("paste"),children:"Paste a share"})]})}),g.jsx("div",{className:"modal-actions",children:g.jsx("button",{type:"button",className:"btn icon-btn",onClick:j,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})})]}),g.jsx("section",{className:"modal-body aa-body",children:r==="login"?B?g.jsxs("div",{className:"aa-done",children:[g.jsx(Xg,{ref:N}),g.jsx(hx,{anchor:N}),g.jsx("h4",{children:B.added?`Account ${B.num} added`:"Credentials refreshed"}),g.jsxs("p",{className:"aa-note",children:[g.jsx("strong",{children:B.email}),B.added?" is in the rotation. The account you were using is still active.":" was already managed, so its stored credentials were replaced."]}),g.jsx("button",{type:"button",className:"btn primary",onClick:e,children:"Done"})]}):(o==null?void 0:o.state)==="awaiting_code"||(o==null?void 0:o.state)==="registering"?g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"aa-step",children:[g.jsx("h4",{children:"1 · Approve in the browser"}),g.jsx("p",{className:"aa-note",children:"A tab should have opened. If not, use this link:"}),g.jsx("a",{className:"aa-link",href:o.url??"#",target:"_blank",rel:"noreferrer noopener",children:o.url})]}),g.jsxs("div",{className:"aa-step",children:[g.jsx("h4",{children:"2 · Paste the code it gives you"}),g.jsxs("div",{className:"aa-field",children:[g.jsx("input",{ref:b,type:"text",value:u,onChange:I=>c(I.target.value),onKeyDown:I=>{I.key==="Enter"&&u.trim()&&!f&&P()},placeholder:"paste the code here",spellCheck:!1,autoComplete:"off","aria-label":"Sign-in code",disabled:o.state==="registering"}),g.jsx("button",{type:"button",className:"btn primary",disabled:f||!u.trim()||o.state==="registering",onClick:P,children:o.state==="registering"?"registering…":"Continue"})]}),(y||o.error)&&g.jsx("p",{className:"aa-err",children:y??o.error}),g.jsx("p",{className:"aa-note",children:"The code goes straight to the claude CLI on this machine. It is never stored or sent anywhere else."})]})]}):L?g.jsxs("div",{className:"aa-step",children:[g.jsx("h4",{children:q.title}),g.jsx("p",{className:"aa-err",children:q.message}),g.jsx("button",{type:"button",className:"btn",onClick:()=>{S.current=!1,l(null),x(null),M()},children:"Try again"})]}):f||S.current?g.jsx("div",{className:"aa-step",children:g.jsx("p",{className:"aa-note",children:"Asking the claude CLI for a sign-in link…"})}):g.jsxs("div",{className:"aa-step aa-primer",children:[g.jsx("h4",{children:"Sign in to Anthropic"}),g.jsx("p",{className:"aa-note",children:"Opens a browser tab where you approve the sign-in, then asks for the code it shows you. claude-swap records the account when it completes, and the account you are using now stays active."}),g.jsx("div",{className:"aa-actions",children:g.jsx("button",{type:"button",className:"btn primary",onClick:M,disabled:f,children:"Open the sign-in page"})})]}):C?g.jsxs("div",{className:"aa-done",children:[g.jsx(Xg,{ref:N}),C.added&&g.jsx(hx,{anchor:N}),g.jsx("h4",{children:C.added?`Account ${C.num} imported`:"Already here"}),g.jsx("p",{className:"aa-note",children:C.added?g.jsxs(g.Fragment,{children:[C.email?g.jsx("strong",{children:C.email}):"That account"," is in the rotation now. Nothing changed on the deck you copied it from."]}):"This deck already holds that account, so nothing changed."}),g.jsxs("div",{className:"aa-actions",children:[g.jsx("button",{type:"button",className:"btn primary",onClick:e,children:"Done"}),g.jsx("button",{type:"button",className:"btn",onClick:()=>_(null),children:"Import another"})]})]}):g.jsxs("div",{className:"aa-step",children:[g.jsx("h4",{children:"Paste an account shared from another deck"}),g.jsxs("div",{className:"aa-field",children:[g.jsx("input",{ref:E,type:"text",value:p,onChange:I=>h(I.target.value),onKeyDown:I=>{I.key==="Enter"&&p.trim()&&!f&&O()},placeholder:"ccdeck1:…",spellCheck:!1,autoComplete:"off","aria-label":"Shared account"}),g.jsx("button",{type:"button",className:"btn primary",disabled:f||!p.trim(),onClick:O,children:f?"importing…":"Import"})]}),y&&g.jsx("p",{className:"aa-err",children:y}),g.jsxs("p",{className:"aa-note",children:["Use ",g.jsx("strong",{children:"share"})," on an account in the other deck. A share carries a live login and expires ten minutes after it is made."]})]})})]})})}const Q3=15e3,Z3=[70,80,85,90,95];function J3(e,n){const r=e-n;if(r<=0)return null;const s=Math.floor(r/86400),o=Math.floor(r%86400/3600),l=Math.floor(r%3600/60);return s>0?`${s}d ${o}h`:o>0?`${o}h ${l}m`:`${l}m`}function px(e,n){const r=n-Math.floor(e/1e3);return r<60?"just now":r<3600?`${Math.floor(r/60)}m ago`:r<86400?`${Math.floor(r/3600)}h ago`:`${Math.floor(r/86400)}d ago`}function eO(e,n){if(!e)return"";const r=Math.floor(e/1e3)-n;return r<=0?" · due":r<60?` · next in ${r}s`:` · next in ${Math.round(r/60)}m`}function tO(e){switch(e){case"invalid_grant":case"no_refresh_token":return{text:"login expired",hint:"claude-swap's stored login for this account was rejected and cannot be refreshed. Signing in again replaces it — the account keeps its slot, its alias and its history.",fixable:!0};case"http-401":return{text:"re-login needed",hint:"Anthropic refused this account's token.",fixable:!0};case"http-429":return{text:"rate limited",hint:"Anthropic is throttling requests for this account. It clears on its own.",fixable:!1};case"transient":return{text:"temporary error",hint:"A network or server hiccup while reading usage. The next collection retries.",fixable:!1};case"timeout":return{text:"timed out",hint:"Reading this account's usage took too long. The next collection retries.",fixable:!1};case"network":return{text:"unreachable",hint:"Could not reach Anthropic to read this account's usage.",fixable:!1};default:return{text:e,hint:`claude-swap reported "${e}" for this account.`,fixable:!1}}}function nO({lane:e,nowSec:n}){const r=Math.min(100,Math.max(0,e.pct)),s=r>=90?"var(--err)":r>=70?"var(--warn)":"var(--accent)",o=e.resetAt?J3(e.resetAt,n):null;return g.jsxs("div",{className:"ap-lane",children:[g.jsx("span",{className:"ap-lane-label",children:e.label}),g.jsx("div",{className:"ap-lane-track",children:g.jsx("div",{className:"ap-lane-fill",style:{width:`${r===0?1.5:r}%`,background:s,opacity:r===0?.4:1}})}),g.jsxs("span",{className:"ap-lane-pct",style:{color:s},children:[r,"%"]}),g.jsx("span",{className:"ap-lane-reset",children:o?`resets ${o}`:""})]})}function rO(e){const n=e.map(s=>s.num),r=n.length?Math.max(...n):0;return[...new Set([...n,r+1])].sort((s,o)=>s-o)}async function iO(e){var r;let n=!1;try{n=await Promise.race([((r=navigator.clipboard)==null?void 0:r.writeText(e).then(()=>!0))??Promise.resolve(!1),new Promise(s=>window.setTimeout(()=>s(!1),500))])}catch{n=!1}if(n)return!0;try{const s=document.createElement("textarea");s.value=e,s.setAttribute("readonly",""),s.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(s),s.select(),n=document.execCommand("copy"),s.remove()}catch{n=!1}return n}function sO(e,n){const r=Math.round(e/1e3)-n;return r<=0?{text:"expired",tone:"gone"}:r<60?{text:`expires in ${r}s`,tone:"soon"}:{text:`expires in ${Math.round(r/60)}m`,tone:"ok"}}function oO({onClose:e}){var J,F,G;const[n,r]=A.useState(null),[s,o]=A.useState(null),[l,u]=A.useState(null),[c,p]=A.useState(null),[h,f]=A.useState(null),[m,y]=A.useState(()=>Math.floor(Date.now()/1e3)),x=A.useRef(null),[C,_]=A.useState(null),[S,b]=A.useState(!1),[E,N]=A.useState(""),[j,M]=A.useState(null),[P,O]=A.useState(null),[B,L]=A.useState(!1),q=A.useCallback(async(k=!1)=>{try{const[$,se]=await Promise.all([fetch(`/api/claude-accounts${k?"?refresh=1":""}`),fetch("/api/cswap-auto")]);$.ok&&r(await $.json()),se.ok&&o(await se.json())}catch{}},[]),I=A.useCallback(async(k,$)=>{u($),f(null);try{const D=await(await fetch("/api/cswap-auto",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(k)})).json().catch(()=>null);return D!=null&&D.ok||f((D==null?void 0:D.detail)||(D==null?void 0:D.reason)||"command failed"),D}catch{return f("server unreachable"),null}finally{u(null)}},[]),H=A.useCallback(async(k,$)=>{u($),f(null);try{const D=await(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(k)})).json().catch(()=>null);return D!=null&&D.ok||f((D==null?void 0:D.detail)||(D==null?void 0:D.reason)||"command failed"),D}catch{return f("server unreachable"),null}finally{u(null)}},[]);A.useEffect(()=>(q(!0),x.current=window.setInterval(()=>q(!1),Q3),()=>{x.current!=null&&window.clearInterval(x.current)}),[q]),A.useEffect(()=>{const k=window.setInterval(()=>y(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(k)},[]);const X=((J=s==null?void 0:s.settings["autoswitch.threshold"])==null?void 0:J.value)??"90",T=(F=n==null?void 0:n.accounts)==null?void 0:F.find(k=>k.active),Y=T!=null&&T.lanes.length?Math.max(...T.lanes.map(k=>k.pct)):null,U=Y!=null&&Y>=Number(X)-15,ee=async k=>{p(k),f(null);try{const se=await(await fetch("/api/claude-accounts/switch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({account:k})})).json().catch(()=>null);se!=null&&se.ok||f((se==null?void 0:se.output)||(se==null?void 0:se.reason)||"switch failed"),await q(!0)}catch{f("server unreachable")}finally{p(null)}};return g.jsxs("div",{className:"accounts-panel","aria-label":"Claude accounts",children:[g.jsxs("div",{className:"ap-header",children:[g.jsx("h3",{children:"Accounts"}),g.jsxs("div",{className:"ap-header-right",children:[g.jsx("button",{type:"button",className:"btn ap-add",onClick:()=>b(!0),title:"Sign in to another Claude account, or paste one shared from another deck",children:"+"}),g.jsx("button",{type:"button",className:"btn ap-refresh",onClick:()=>q(!0),title:"Reload from claude-swap",children:"↻"}),g.jsx("button",{type:"button",className:"btn icon-btn",onClick:e,"aria-label":"Close accounts panel",title:"Close (A)",children:"×"})]})]}),n==null?g.jsx("div",{className:"ap-empty",children:"Checking…"}):n.ok?g.jsxs(g.Fragment,{children:[(G=n.accounts)==null?void 0:G.map(k=>g.jsxs("div",{className:`ap-account${k.active?" active":""}${k.disabled?" disabled":""}`,children:[g.jsxs("div",{className:"ap-account-head",children:[g.jsx("span",{className:"ap-num",children:k.num}),k.alias&&g.jsx("span",{className:"ap-alias",children:k.alias}),g.jsx("span",{className:"ap-email",title:k.org??void 0,children:k.email}),g.jsx("button",{type:"button",className:`ap-more${C===k.num?" on":""}`,"aria-label":`Manage account ${k.num}`,"aria-expanded":C===k.num,title:"Share, rename, move, remove",onClick:()=>{_(C===k.num?null:k.num),N(k.alias??""),M(null),O(null),L(!1)},children:"⋯"}),k.active?g.jsx("span",{className:"ap-badge-active",children:"● active"}):g.jsx("button",{type:"button",className:"btn ap-switch",disabled:c!=null||k.disabled,onClick:()=>ee(k.num),title:k.disabled?"Held out of rotation":`Switch to ${k.alias??k.email}`,children:c===k.num?"…":"switch"})]}),k.lanes.length>0?k.lanes.map($=>g.jsx(nO,{lane:$,nowSec:m},$.id)):g.jsx("div",{className:"ap-hint",children:"No usage recorded yet."}),g.jsxs("div",{className:"ap-meta",children:[k.error&&(()=>{const $=tO(k.error);return g.jsxs(g.Fragment,{children:[g.jsx("span",{className:"ap-err",title:$.hint,children:$.text}),$.fixable&&g.jsx("button",{type:"button",className:"ap-fix",onClick:()=>b(!0),title:"Open the sign-in dialog. Signing in as this account replaces its stored login in place.",children:"sign in again"})]})})(),((s==null?void 0:s.enabled)||(s==null?void 0:s.external))&&!k.active&&g.jsx("button",{type:"button",className:"ap-rotate",disabled:l!=null,onClick:()=>I({action:"account",account:k.num,enabled:k.disabled},`rot-${k.num}`).then(()=>q(!0)),title:k.disabled?"Return this account to auto-rotation":"Hold this account out of auto-rotation",children:k.disabled?"held out":"in rotation"}),k.fetchedAt?g.jsxs("span",{className:`ap-age${k.stale?" ap-stale":""}`,title:"When claude-swap last read this account's usage, and when it plans to read it again. It sets that interval itself — 3 minutes at the fastest, wider while an account is recovering from a rate limit — and every surface, including `cswap watch`, follows the same plan.",children:["collected ",px(k.fetchedAt,m),eO(k.nextAt,m)]}):g.jsx("span",{className:"ap-age ap-stale",title:"claude-swap has not read this account yet",children:"never collected"})]}),C===k.num&&g.jsxs("div",{className:"ap-manage",children:[g.jsxs("div",{className:"ap-manage-row",children:[g.jsx("span",{className:"ap-manage-label",children:"name"}),g.jsx("input",{className:"ap-manage-input",type:"text",value:E,onChange:$=>N($.target.value),onKeyDown:$=>{$.key==="Enter"&&H({action:"alias",account:k.num,alias:E},`alias-${k.num}`).then(()=>q(!0))},placeholder:"no alias",spellCheck:!1,"aria-label":`Alias for account ${k.num}`}),g.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null||E.trim()===(k.alias??""),onClick:()=>H({action:"alias",account:k.num,alias:E},`alias-${k.num}`).then(()=>q(!0)),title:"A short name to show instead of the email",children:"save"})]}),g.jsxs("div",{className:"ap-manage-row",children:[g.jsx("span",{className:"ap-manage-label",children:"slot"}),g.jsx("span",{className:"ap-field",children:g.jsx("select",{"aria-label":`Slot for account ${k.num}`,value:String(k.num),disabled:l!=null,onChange:$=>H({action:"move",account:k.num,slot:Number($.target.value)},`move-${k.num}`).then(()=>q(!0)),children:rO(n.accounts??[]).map($=>g.jsx("option",{value:$,children:$},$))})}),g.jsx("span",{className:"ap-manage-hint",children:"rotation order"})]}),g.jsxs("div",{className:"ap-manage-row",children:[g.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null,title:"Copy this account to another agents-deck. The share carries a live login and expires in 10 minutes.",onClick:async()=>{L(!1);const $=await H({action:"share",account:k.num},`share-${k.num}`);$!=null&&$.ok&&O({num:k.num,blob:$.blob,expiresAt:$.expiresAt})},children:"share…"}),g.jsx("button",{type:"button",className:`ap-manage-btn danger${j===k.num?" armed":""}`,disabled:l!=null,title:j===k.num?"This deletes the stored credentials for this account":"Remove this account from claude-swap",onClick:()=>{if(j!==k.num){M(k.num),window.setTimeout(()=>M($=>$===k.num?null:$),4e3);return}M(null),H({action:"remove",account:k.num},`rm-${k.num}`).then(()=>{_(null),q(!0)})},children:j===k.num?"confirm remove":"remove"})]}),(P==null?void 0:P.num)===k.num&&(()=>{const $=sO(P.expiresAt,m),se=$.tone==="gone";return g.jsxs("div",{className:`ap-share${se?" expired":""}`,children:[g.jsx("code",{className:"ap-share-blob",children:P.blob}),g.jsxs("div",{className:"ap-share-foot",children:[g.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null,onClick:async()=>{if(se){L(!1);const D=await H({action:"share",account:k.num},`share-${k.num}`);D!=null&&D.ok&&O({num:k.num,blob:D.blob,expiresAt:D.expiresAt});return}await iO(P.blob)&&(L(!0),window.setTimeout(()=>L(!1),1800))},children:se?"make a new share":B?"copied":"copy"}),g.jsxs("span",{className:"ap-manage-hint",children:["carries a live login · ",g.jsx("span",{className:`ap-share-expiry ${$.tone}`,children:$.text})]})]})]})})()]})]},k.num)),(s==null?void 0:s.ok)&&g.jsxs("div",{className:"ap-auto",children:[g.jsxs("div",{className:"ap-auto-head",children:[g.jsx("span",{className:"ap-auto-title",children:"Auto-switch"}),g.jsxs("span",{className:"ap-auto-ctl",children:[Y!=null&&g.jsxs("span",{className:`ap-auto-now${U?" near":""}`,children:[Math.round(Y),"%"]}),g.jsx("span",{className:"ap-field",title:"Switch once the active account passes this much of its limit",children:g.jsx("select",{"aria-label":"Switch threshold",value:X,disabled:l!=null,onChange:k=>I({action:"setting",key:"autoswitch.threshold",value:k.target.value},"threshold").then(()=>q(!0)),children:Z3.map(k=>g.jsxs("option",{value:k,children:[k,"%"]},k))})}),g.jsxs("button",{type:"button",className:`ap-auto-state toggle${s.enabled?" live":""}`,role:"switch","aria-checked":s.enabled,disabled:l!=null,onClick:()=>I({action:"enable",enabled:!s.enabled},"enable").then(()=>q(!0)),title:s.enabled?"Stop switching accounts automatically":"Switch accounts automatically when the active one nears its limit",children:[g.jsx("i",{className:s.enabled?"ap-pulse":"ap-dot","aria-hidden":!0}),s.enabled?"on":"off"]})]})]}),s.external&&g.jsxs("p",{className:"ap-auto-note",children:[g.jsx("i",{className:"ap-pulse","aria-hidden":!0})," A ",g.jsx("code",{children:"cswap auto"})," loop in your terminal is doing the switching. The deck stands down while it runs",s.enabled?" — this toggle takes over when you stop it.":"."]}),s.lastTick&&g.jsx("div",{className:"ap-auto-foot",children:g.jsxs("span",{className:"ap-auto-result",children:["checked ",px(s.lastTick.at,m)]})})]}),h&&g.jsx("div",{className:"ap-failure",children:h}),g.jsx("p",{className:"ap-footnote",title:"Anthropic's usage endpoint allows roughly 28–30 requests per hour per account, shared by every tool on this machine — polling it from here would rate-limit your account. So the deck never fetches: it asks claude-swap to collect while this panel is open, at most once every three minutes, and claude-swap decides whether that touches the network at all.",children:"Collected by claude-swap while this panel is open."})]}):g.jsx("div",{className:"ap-empty",children:n.reason==="no_cswap"?g.jsxs(g.Fragment,{children:[g.jsx("span",{children:"claude-swap isn't installed."}),g.jsx("span",{className:"ap-hint",children:"This panel reads the account store claude-swap keeps — without it there is nothing to show. It is a separate tool, published on PyPI, so it does not come with this package."}),n.hint&&g.jsx("code",{className:"ap-cmd",children:n.hint}),g.jsxs("span",{className:"ap-hint",children:["Then add an account with the ",g.jsx("strong",{children:"+"})," button above."]})]}):n.reason==="no_accounts"?g.jsxs(g.Fragment,{children:[g.jsx("span",{children:"No accounts added yet."}),g.jsxs("span",{className:"ap-hint",children:["claude-swap is installed but has nothing in its store. Use the ",g.jsx("strong",{children:"+"})," above to sign one in, or to paste one shared from another deck."]})]}):g.jsxs(g.Fragment,{children:[g.jsx("span",{children:"Couldn't read the account store."}),g.jsxs("span",{className:"ap-hint",children:["claude-swap is installed, but its store could not be read",n.reason?` (${n.reason})`:"","."]})]})}),S&&g.jsx(X3,{onClose:()=>b(!1),onChanged:()=>q(!0)})]})}const aO=3e4;function lO({bundle:e,running:n,lastTried:r}){return!n||e===n?!1:r!==n}function uO(e){const n=e.thresholdMs??aO;return!e.enabled||e.kind!=="restart"||!e.canRestart?{idleSince:null,restart:!1}:e.busy?{idleSince:null,restart:!1}:e.idleSince==null?{idleSince:e.now,restart:!1}:e.now<e.idleSince?{idleSince:e.now,restart:!1}:{idleSince:e.idleSince,restart:e.now-e.idleSince>=n}}function cO(e){return e.ctrlKey||e.metaKey||e.altKey}function dd(e,n){if(n.size!==0)for(const r of Array.from(e.keys()))n.has(r)||e.delete(r)}function dO(e){const n=new Set;for(const r of e)n.add(r.id),n.add(`group:${r.sessionId}`);return n}const fO=40,hO=120;function pO(e,n){let r=null,s=0,o=Number.NEGATIVE_INFINITY;const l=()=>{r=null,o=n.now(),e()},u=()=>{r!=null&&(n.clearTimeout(r),r=null)},c=(p,h,f)=>{if(r!=null){if(s<=p)return;u()}const m=Math.min(f,Math.max(0,p-h));s=p,r=n.setTimeout(l,m)};return{live(p=fO){const h=n.now(),f=Math.max(o+p,h);if(f<=h){u(),l();return}c(f,h,p)},replay(p=hO){u(),s=n.now()+p,r=n.setTimeout(l,p)},flush(){u(),l()},cancel(){u()}}}function mO(){let e=!1,n=[];return{get paused(){return e},get size(){return n.length},accept(r){return e?(n.push(r),!1):!0},setPaused(r){if(e=r,r||n.length===0)return[];const s=n;return n=[],s}}}function gO(){let e=0;return{begin(){const n=++e;return()=>n===e},cancel(){e++}}}function vO(e,n=new Date){return new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate()-(e-1))).toISOString().slice(0,10).replace(/-/g,"")}function Hi(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:e<1e9?`${(e/1e6).toFixed(2)}M`:`${(e/1e9).toFixed(2)}B`}function mx(e){return e.replace(/^anthropic\./,"").replace(/^claude-/,"").replace(/-\d{8}$/,"")}function jl(e){const n=e.toLowerCase();return n.includes("opus")?"#c4b5fd":n.includes("sonnet")?"#7dd3fc":n.includes("haiku")?"#86efac":n.includes("gpt-5")||n.includes("gpt5")?"#fcd34d":n.includes("gpt")?"#fca5a5":n.includes("gemini")?"#a5b4fc":n.includes("codex")?"#fdba74":"#94a3b8"}const yO=[7,14,30,90];function wO(e){const[n,r]=A.useState(null),[s,o]=A.useState(!1),l=A.useRef(gO()).current,u=(c=!1)=>{const p=l.begin();o(!0);const f=`/api/ccusage?since=${vO(e)}${c?"&refresh=1":""}`;fetch(f).then(m=>m.json()).then(m=>{p()&&r(m)}).catch(()=>{p()&&r({ok:!1,error:"request failed"})}).finally(()=>{p()&&o(!1)})};return A.useEffect(()=>(u(!1),()=>l.cancel()),[e]),{data:n,loading:s,reload:()=>u(!0)}}function xO({onClose:e}){var b,E;const[n,r]=A.useState(30),[s,o]=A.useState(null),{data:l,loading:u,reload:c}=wO(n);A.useEffect(()=>{const N=j=>{j.key==="Escape"&&e()};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[e]);const p=l!=null&&l.ok?l.days??[]:[],h=A.useMemo(()=>p.reduce((N,j)=>Math.max(N,j.totalCost),0),[p]),{totalCost:f,totalTok:m,inOut:y,cacheRead:x,modelCosts:C}=A.useMemo(()=>{let N=0,j=0,M=0,P=0;const O=new Map;for(const B of p){N+=B.totalCost,j+=B.totalTokens,M+=B.inputTokens+B.outputTokens,P+=B.cacheReadTokens;for(const L of B.modelBreakdowns)O.set(L.modelName,(O.get(L.modelName)??0)+L.cost)}return{totalCost:N,totalTok:j,inOut:M,cacheRead:P,modelCosts:O}},[p]),_=A.useMemo(()=>Array.from(C.entries()).sort((N,j)=>j[1]-N[1]),[C]),S=s?p.find(N=>N.period===s)??null:null;return g.jsx("div",{className:"uh-backdrop",onClick:e,role:"presentation",children:g.jsxs("div",{className:"uh-modal",onClick:N=>N.stopPropagation(),role:"dialog","aria-label":"Usage history",children:[g.jsxs("header",{className:"uh-head",children:[g.jsxs("div",{className:"uh-titlewrap",children:[g.jsx("div",{className:"uh-title",children:"Usage history"}),g.jsx("div",{className:"uh-sub",children:"via ccusage · local Claude / Codex logs"})]}),g.jsx("div",{className:"uh-range",role:"tablist","aria-label":"Range",children:yO.map(N=>g.jsxs("button",{role:"tab","aria-selected":n===N,className:`uh-range-btn${n===N?" on":""}`,onClick:()=>{r(N),o(null)},children:[N,"d"]},N))}),g.jsx("button",{className:"btn icon-btn uh-reload",onClick:c,title:"Re-run ccusage","aria-label":"Reload",children:"↻"}),g.jsx("button",{className:"uh-close",onClick:e,"aria-label":"Close",children:"×"})]}),u&&p.length===0?g.jsx("div",{className:"uh-status",children:"running ccusage… (first run downloads the package)"}):l&&!l.ok?g.jsxs("div",{className:"uh-status uh-err",children:["ccusage failed: ",l.error]}):p.length===0?g.jsx("div",{className:"uh-status",children:"no usage in this range"}):g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"uh-totals",children:[g.jsx(Rl,{label:"total cost",val:Ve(f),accent:!0}),g.jsx(Rl,{label:"tokens",val:Hi(m)}),g.jsx(Rl,{label:"input+output",val:Hi(y)}),g.jsx(Rl,{label:"cache reads",val:Hi(x)})]}),g.jsx("div",{className:"uh-chart",role:"img","aria-label":"Daily cost by model",children:p.map(N=>{const j=h>0?N.totalCost/h*100:0,M=N.period===s;return g.jsxs("button",{className:`uh-bar-col${M?" sel":""}`,onClick:()=>o(M?null:N.period),title:`${N.period} · ${Ve(N.totalCost)}`,style:{flexBasis:`${100/p.length}%`},children:[g.jsx("div",{className:"uh-bar",style:{height:`${Math.max(j,N.totalCost>0?2:0)}%`},children:N.modelBreakdowns.slice().sort((P,O)=>O.cost-P.cost).map(P=>{const O=N.totalCost>0?P.cost/N.totalCost*100:0;return g.jsx("div",{className:"uh-bar-seg",style:{height:`${O}%`,background:jl(P.modelName)}},P.modelName)})}),g.jsx("span",{className:"uh-bar-label",children:N.period.slice(5)})]},N.period)})}),g.jsx("div",{className:"uh-legend",children:_.map(([N,j])=>g.jsxs("span",{className:"uh-legend-item",children:[g.jsx("span",{className:"uh-legend-dot",style:{background:jl(N)}}),mx(N)," ",g.jsx("span",{className:"uh-legend-cost",children:Ve(j)})]},N))}),S&&g.jsxs("div",{className:"uh-detail",children:[g.jsxs("div",{className:"uh-detail-head",children:[g.jsx("span",{className:"uh-detail-date",children:S.period}),g.jsx("span",{className:"uh-detail-cost",children:Ve(S.totalCost)}),(E=(b=S.metadata)==null?void 0:b.agents)!=null&&E.length?g.jsx("span",{className:"uh-detail-agents",children:S.metadata.agents.join(" · ")}):null]}),g.jsxs("div",{className:"uh-detail-mini",children:[g.jsx(Tl,{label:"input",val:Hi(S.inputTokens)}),g.jsx(Tl,{label:"output",val:Hi(S.outputTokens)}),g.jsx(Tl,{label:"cache write",val:Hi(S.cacheCreationTokens)}),g.jsx(Tl,{label:"cache read",val:Hi(S.cacheReadTokens)})]}),g.jsx("div",{className:"uh-detail-models",children:S.modelBreakdowns.slice().sort((N,j)=>j.cost-N.cost).map(N=>{const j=S.totalCost>0?N.cost/S.totalCost*100:0;return g.jsxs("div",{className:"uh-model-row",children:[g.jsxs("span",{className:"uh-model-name",children:[g.jsx("span",{className:"uh-legend-dot",style:{background:jl(N.modelName)}}),mx(N.modelName)]}),g.jsx("span",{className:"uh-model-bar",children:g.jsx("span",{className:"uh-model-bar-fill",style:{width:`${j}%`,background:jl(N.modelName)}})}),g.jsx("span",{className:"uh-model-cost",children:Ve(N.cost)})]},N.modelName)})})]})]})]})})}function Rl({label:e,val:n,accent:r}){return g.jsxs("div",{className:"uh-stat",children:[g.jsx("span",{className:`uh-stat-val${r?" accent":""}`,children:n}),g.jsx("span",{className:"uh-stat-label",children:e})]})}function Tl({label:e,val:n}){return g.jsxs("div",{className:"uh-ministat",children:[g.jsx("span",{className:"uh-ministat-val",children:n}),g.jsx("span",{className:"uh-ministat-label",children:e})]})}function _v(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var fd,gx;function _O(){if(gx)return fd;gx=1;function e(){this.__data__=[],this.size=0}return fd=e,fd}var hd,vx;function Qs(){if(vx)return hd;vx=1;function e(n,r){return n===r||n!==n&&r!==r}return hd=e,hd}var pd,yx;function nu(){if(yx)return pd;yx=1;var e=Qs();function n(r,s){for(var o=r.length;o--;)if(e(r[o][0],s))return o;return-1}return pd=n,pd}var md,wx;function SO(){if(wx)return md;wx=1;var e=nu(),n=Array.prototype,r=n.splice;function s(o){var l=this.__data__,u=e(l,o);if(u<0)return!1;var c=l.length-1;return u==c?l.pop():r.call(l,u,1),--this.size,!0}return md=s,md}var gd,xx;function bO(){if(xx)return gd;xx=1;var e=nu();function n(r){var s=this.__data__,o=e(s,r);return o<0?void 0:s[o][1]}return gd=n,gd}var vd,_x;function kO(){if(_x)return vd;_x=1;var e=nu();function n(r){return e(this.__data__,r)>-1}return vd=n,vd}var yd,Sx;function EO(){if(Sx)return yd;Sx=1;var e=nu();function n(r,s){var o=this.__data__,l=e(o,r);return l<0?(++this.size,o.push([r,s])):o[l][1]=s,this}return yd=n,yd}var wd,bx;function ru(){if(bx)return wd;bx=1;var e=_O(),n=SO(),r=bO(),s=kO(),o=EO();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,wd=l,wd}var xd,kx;function NO(){if(kx)return xd;kx=1;var e=ru();function n(){this.__data__=new e,this.size=0}return xd=n,xd}var _d,Ex;function CO(){if(Ex)return _d;Ex=1;function e(n){var r=this.__data__,s=r.delete(n);return this.size=r.size,s}return _d=e,_d}var Sd,Nx;function jO(){if(Nx)return Sd;Nx=1;function e(n){return this.__data__.get(n)}return Sd=e,Sd}var bd,Cx;function RO(){if(Cx)return bd;Cx=1;function e(n){return this.__data__.has(n)}return bd=e,bd}var kd,jx;function CN(){if(jx)return kd;jx=1;var e=typeof pl=="object"&&pl&&pl.Object===Object&&pl;return kd=e,kd}var Ed,Rx;function Jn(){if(Rx)return Ed;Rx=1;var e=CN(),n=typeof self=="object"&&self&&self.Object===Object&&self,r=e||n||Function("return this")();return Ed=r,Ed}var Nd,Tx;function Zs(){if(Tx)return Nd;Tx=1;var e=Jn(),n=e.Symbol;return Nd=n,Nd}var Cd,Ax;function TO(){if(Ax)return Cd;Ax=1;var e=Zs(),n=Object.prototype,r=n.hasOwnProperty,s=n.toString,o=e?e.toStringTag:void 0;function l(u){var c=r.call(u,o),p=u[o];try{u[o]=void 0;var h=!0}catch{}var f=s.call(u);return h&&(c?u[o]=p:delete u[o]),f}return Cd=l,Cd}var jd,Ix;function AO(){if(Ix)return jd;Ix=1;var e=Object.prototype,n=e.toString;function r(s){return n.call(s)}return jd=r,jd}var Rd,Mx;function Ji(){if(Mx)return Rd;Mx=1;var e=Zs(),n=TO(),r=AO(),s="[object Null]",o="[object Undefined]",l=e?e.toStringTag:void 0;function u(c){return c==null?c===void 0?o:s:l&&l in Object(c)?n(c):r(c)}return Rd=u,Rd}var Td,Px;function Rn(){if(Px)return Td;Px=1;function e(n){var r=typeof n;return n!=null&&(r=="object"||r=="function")}return Td=e,Td}var Ad,Ox;function ua(){if(Ox)return Ad;Ox=1;var e=Ji(),n=Rn(),r="[object AsyncFunction]",s="[object Function]",o="[object GeneratorFunction]",l="[object Proxy]";function u(c){if(!n(c))return!1;var p=e(c);return p==s||p==o||p==r||p==l}return Ad=u,Ad}var Id,qx;function IO(){if(qx)return Id;qx=1;var e=Jn(),n=e["__core-js_shared__"];return Id=n,Id}var Md,Lx;function MO(){if(Lx)return Md;Lx=1;var e=IO(),n=(function(){var s=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""})();function r(s){return!!n&&n in s}return Md=r,Md}var Pd,$x;function jN(){if($x)return Pd;$x=1;var e=Function.prototype,n=e.toString;function r(s){if(s!=null){try{return n.call(s)}catch{}try{return s+""}catch{}}return""}return Pd=r,Pd}var Od,Dx;function PO(){if(Dx)return Od;Dx=1;var e=ua(),n=MO(),r=Rn(),s=jN(),o=/[\\^$.*+?()[\]{}|]/g,l=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,p=u.toString,h=c.hasOwnProperty,f=RegExp("^"+p.call(h).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function m(y){if(!r(y)||n(y))return!1;var x=e(y)?f:l;return x.test(s(y))}return Od=m,Od}var qd,Fx;function OO(){if(Fx)return qd;Fx=1;function e(n,r){return n==null?void 0:n[r]}return qd=e,qd}var Ld,zx;function es(){if(zx)return Ld;zx=1;var e=PO(),n=OO();function r(s,o){var l=n(s,o);return e(l)?l:void 0}return Ld=r,Ld}var $d,Bx;function Sv(){if(Bx)return $d;Bx=1;var e=es(),n=Jn(),r=e(n,"Map");return $d=r,$d}var Dd,Ux;function iu(){if(Ux)return Dd;Ux=1;var e=es(),n=e(Object,"create");return Dd=n,Dd}var Fd,Hx;function qO(){if(Hx)return Fd;Hx=1;var e=iu();function n(){this.__data__=e?e(null):{},this.size=0}return Fd=n,Fd}var zd,Vx;function LO(){if(Vx)return zd;Vx=1;function e(n){var r=this.has(n)&&delete this.__data__[n];return this.size-=r?1:0,r}return zd=e,zd}var Bd,Wx;function $O(){if(Wx)return Bd;Wx=1;var e=iu(),n="__lodash_hash_undefined__",r=Object.prototype,s=r.hasOwnProperty;function o(l){var u=this.__data__;if(e){var c=u[l];return c===n?void 0:c}return s.call(u,l)?u[l]:void 0}return Bd=o,Bd}var Ud,Gx;function DO(){if(Gx)return Ud;Gx=1;var e=iu(),n=Object.prototype,r=n.hasOwnProperty;function s(o){var l=this.__data__;return e?l[o]!==void 0:r.call(l,o)}return Ud=s,Ud}var Hd,Yx;function FO(){if(Yx)return Hd;Yx=1;var e=iu(),n="__lodash_hash_undefined__";function r(s,o){var l=this.__data__;return this.size+=this.has(s)?0:1,l[s]=e&&o===void 0?n:o,this}return Hd=r,Hd}var Vd,Kx;function zO(){if(Kx)return Vd;Kx=1;var e=qO(),n=LO(),r=$O(),s=DO(),o=FO();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,Vd=l,Vd}var Wd,Xx;function BO(){if(Xx)return Wd;Xx=1;var e=zO(),n=ru(),r=Sv();function s(){this.size=0,this.__data__={hash:new e,map:new(r||n),string:new e}}return Wd=s,Wd}var Gd,Qx;function UO(){if(Qx)return Gd;Qx=1;function e(n){var r=typeof n;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?n!=="__proto__":n===null}return Gd=e,Gd}var Yd,Zx;function su(){if(Zx)return Yd;Zx=1;var e=UO();function n(r,s){var o=r.__data__;return e(s)?o[typeof s=="string"?"string":"hash"]:o.map}return Yd=n,Yd}var Kd,Jx;function HO(){if(Jx)return Kd;Jx=1;var e=su();function n(r){var s=e(this,r).delete(r);return this.size-=s?1:0,s}return Kd=n,Kd}var Xd,e_;function VO(){if(e_)return Xd;e_=1;var e=su();function n(r){return e(this,r).get(r)}return Xd=n,Xd}var Qd,t_;function WO(){if(t_)return Qd;t_=1;var e=su();function n(r){return e(this,r).has(r)}return Qd=n,Qd}var Zd,n_;function GO(){if(n_)return Zd;n_=1;var e=su();function n(r,s){var o=e(this,r),l=o.size;return o.set(r,s),this.size+=o.size==l?0:1,this}return Zd=n,Zd}var Jd,r_;function bv(){if(r_)return Jd;r_=1;var e=BO(),n=HO(),r=VO(),s=WO(),o=GO();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,Jd=l,Jd}var ef,i_;function YO(){if(i_)return ef;i_=1;var e=ru(),n=Sv(),r=bv(),s=200;function o(l,u){var c=this.__data__;if(c instanceof e){var p=c.__data__;if(!n||p.length<s-1)return p.push([l,u]),this.size=++c.size,this;c=this.__data__=new r(p)}return c.set(l,u),this.size=c.size,this}return ef=o,ef}var tf,s_;function ou(){if(s_)return tf;s_=1;var e=ru(),n=NO(),r=CO(),s=jO(),o=RO(),l=YO();function u(c){var p=this.__data__=new e(c);this.size=p.size}return u.prototype.clear=n,u.prototype.delete=r,u.prototype.get=s,u.prototype.has=o,u.prototype.set=l,tf=u,tf}var nf,o_;function kv(){if(o_)return nf;o_=1;function e(n,r){for(var s=-1,o=n==null?0:n.length;++s<o&&r(n[s],s,n)!==!1;);return n}return nf=e,nf}var rf,a_;function RN(){if(a_)return rf;a_=1;var e=es(),n=(function(){try{var r=e(Object,"defineProperty");return r({},"",{}),r}catch{}})();return rf=n,rf}var sf,l_;function au(){if(l_)return sf;l_=1;var e=RN();function n(r,s,o){s=="__proto__"&&e?e(r,s,{configurable:!0,enumerable:!0,value:o,writable:!0}):r[s]=o}return sf=n,sf}var of,u_;function lu(){if(u_)return of;u_=1;var e=au(),n=Qs(),r=Object.prototype,s=r.hasOwnProperty;function o(l,u,c){var p=l[u];(!(s.call(l,u)&&n(p,c))||c===void 0&&!(u in l))&&e(l,u,c)}return of=o,of}var af,c_;function ca(){if(c_)return af;c_=1;var e=lu(),n=au();function r(s,o,l,u){var c=!l;l||(l={});for(var p=-1,h=o.length;++p<h;){var f=o[p],m=u?u(l[f],s[f],f,l,s):void 0;m===void 0&&(m=s[f]),c?n(l,f,m):e(l,f,m)}return l}return af=r,af}var lf,d_;function KO(){if(d_)return lf;d_=1;function e(n,r){for(var s=-1,o=Array(n);++s<n;)o[s]=r(s);return o}return lf=e,lf}var uf,f_;function hr(){if(f_)return uf;f_=1;function e(n){return n!=null&&typeof n=="object"}return uf=e,uf}var cf,h_;function XO(){if(h_)return cf;h_=1;var e=Ji(),n=hr(),r="[object Arguments]";function s(o){return n(o)&&e(o)==r}return cf=s,cf}var df,p_;function da(){if(p_)return df;p_=1;var e=XO(),n=hr(),r=Object.prototype,s=r.hasOwnProperty,o=r.propertyIsEnumerable,l=e((function(){return arguments})())?e:function(u){return n(u)&&s.call(u,"callee")&&!o.call(u,"callee")};return df=l,df}var ff,m_;function St(){if(m_)return ff;m_=1;var e=Array.isArray;return ff=e,ff}var Uo={exports:{}},hf,g_;function QO(){if(g_)return hf;g_=1;function e(){return!1}return hf=e,hf}Uo.exports;var v_;function Js(){return v_||(v_=1,(function(e,n){var r=Jn(),s=QO(),o=n&&!n.nodeType&&n,l=o&&!0&&e&&!e.nodeType&&e,u=l&&l.exports===o,c=u?r.Buffer:void 0,p=c?c.isBuffer:void 0,h=p||s;e.exports=h})(Uo,Uo.exports)),Uo.exports}var pf,y_;function uu(){if(y_)return pf;y_=1;var e=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function r(s,o){var l=typeof s;return o=o??e,!!o&&(l=="number"||l!="symbol"&&n.test(s))&&s>-1&&s%1==0&&s<o}return pf=r,pf}var mf,w_;function Ev(){if(w_)return mf;w_=1;var e=9007199254740991;function n(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=e}return mf=n,mf}var gf,x_;function ZO(){if(x_)return gf;x_=1;var e=Ji(),n=Ev(),r=hr(),s="[object Arguments]",o="[object Array]",l="[object Boolean]",u="[object Date]",c="[object Error]",p="[object Function]",h="[object Map]",f="[object Number]",m="[object Object]",y="[object RegExp]",x="[object Set]",C="[object String]",_="[object WeakMap]",S="[object ArrayBuffer]",b="[object DataView]",E="[object Float32Array]",N="[object Float64Array]",j="[object Int8Array]",M="[object Int16Array]",P="[object Int32Array]",O="[object Uint8Array]",B="[object Uint8ClampedArray]",L="[object Uint16Array]",q="[object Uint32Array]",I={};I[E]=I[N]=I[j]=I[M]=I[P]=I[O]=I[B]=I[L]=I[q]=!0,I[s]=I[o]=I[S]=I[l]=I[b]=I[u]=I[c]=I[p]=I[h]=I[f]=I[m]=I[y]=I[x]=I[C]=I[_]=!1;function H(X){return r(X)&&n(X.length)&&!!I[e(X)]}return gf=H,gf}var vf,__;function cu(){if(__)return vf;__=1;function e(n){return function(r){return n(r)}}return vf=e,vf}var Ho={exports:{}};Ho.exports;var S_;function Nv(){return S_||(S_=1,(function(e,n){var r=CN(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,l=o&&o.exports===s,u=l&&r.process,c=(function(){try{var p=o&&o.require&&o.require("util").types;return p||u&&u.binding&&u.binding("util")}catch{}})();e.exports=c})(Ho,Ho.exports)),Ho.exports}var yf,b_;function fa(){if(b_)return yf;b_=1;var e=ZO(),n=cu(),r=Nv(),s=r&&r.isTypedArray,o=s?n(s):e;return yf=o,yf}var wf,k_;function TN(){if(k_)return wf;k_=1;var e=KO(),n=da(),r=St(),s=Js(),o=uu(),l=fa(),u=Object.prototype,c=u.hasOwnProperty;function p(h,f){var m=r(h),y=!m&&n(h),x=!m&&!y&&s(h),C=!m&&!y&&!x&&l(h),_=m||y||x||C,S=_?e(h.length,String):[],b=S.length;for(var E in h)(f||c.call(h,E))&&!(_&&(E=="length"||x&&(E=="offset"||E=="parent")||C&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||o(E,b)))&&S.push(E);return S}return wf=p,wf}var xf,E_;function du(){if(E_)return xf;E_=1;var e=Object.prototype;function n(r){var s=r&&r.constructor,o=typeof s=="function"&&s.prototype||e;return r===o}return xf=n,xf}var _f,N_;function AN(){if(N_)return _f;N_=1;function e(n,r){return function(s){return n(r(s))}}return _f=e,_f}var Sf,C_;function JO(){if(C_)return Sf;C_=1;var e=AN(),n=e(Object.keys,Object);return Sf=n,Sf}var bf,j_;function Cv(){if(j_)return bf;j_=1;var e=du(),n=JO(),r=Object.prototype,s=r.hasOwnProperty;function o(l){if(!e(l))return n(l);var u=[];for(var c in Object(l))s.call(l,c)&&c!="constructor"&&u.push(c);return u}return bf=o,bf}var kf,R_;function qr(){if(R_)return kf;R_=1;var e=ua(),n=Ev();function r(s){return s!=null&&n(s.length)&&!e(s)}return kf=r,kf}var Ef,T_;function xi(){if(T_)return Ef;T_=1;var e=TN(),n=Cv(),r=qr();function s(o){return r(o)?e(o):n(o)}return Ef=s,Ef}var Nf,A_;function eq(){if(A_)return Nf;A_=1;var e=ca(),n=xi();function r(s,o){return s&&e(o,n(o),s)}return Nf=r,Nf}var Cf,I_;function tq(){if(I_)return Cf;I_=1;function e(n){var r=[];if(n!=null)for(var s in Object(n))r.push(s);return r}return Cf=e,Cf}var jf,M_;function nq(){if(M_)return jf;M_=1;var e=Rn(),n=du(),r=tq(),s=Object.prototype,o=s.hasOwnProperty;function l(u){if(!e(u))return r(u);var c=n(u),p=[];for(var h in u)h=="constructor"&&(c||!o.call(u,h))||p.push(h);return p}return jf=l,jf}var Rf,P_;function ts(){if(P_)return Rf;P_=1;var e=TN(),n=nq(),r=qr();function s(o){return r(o)?e(o,!0):n(o)}return Rf=s,Rf}var Tf,O_;function rq(){if(O_)return Tf;O_=1;var e=ca(),n=ts();function r(s,o){return s&&e(o,n(o),s)}return Tf=r,Tf}var Vo={exports:{}};Vo.exports;var q_;function IN(){return q_||(q_=1,(function(e,n){var r=Jn(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,l=o&&o.exports===s,u=l?r.Buffer:void 0,c=u?u.allocUnsafe:void 0;function p(h,f){if(f)return h.slice();var m=h.length,y=c?c(m):new h.constructor(m);return h.copy(y),y}e.exports=p})(Vo,Vo.exports)),Vo.exports}var Af,L_;function MN(){if(L_)return Af;L_=1;function e(n,r){var s=-1,o=n.length;for(r||(r=Array(o));++s<o;)r[s]=n[s];return r}return Af=e,Af}var If,$_;function PN(){if($_)return If;$_=1;function e(n,r){for(var s=-1,o=n==null?0:n.length,l=0,u=[];++s<o;){var c=n[s];r(c,s,n)&&(u[l++]=c)}return u}return If=e,If}var Mf,D_;function ON(){if(D_)return Mf;D_=1;function e(){return[]}return Mf=e,Mf}var Pf,F_;function jv(){if(F_)return Pf;F_=1;var e=PN(),n=ON(),r=Object.prototype,s=r.propertyIsEnumerable,o=Object.getOwnPropertySymbols,l=o?function(u){return u==null?[]:(u=Object(u),e(o(u),function(c){return s.call(u,c)}))}:n;return Pf=l,Pf}var Of,z_;function iq(){if(z_)return Of;z_=1;var e=ca(),n=jv();function r(s,o){return e(s,n(s),o)}return Of=r,Of}var qf,B_;function Rv(){if(B_)return qf;B_=1;function e(n,r){for(var s=-1,o=r.length,l=n.length;++s<o;)n[l+s]=r[s];return n}return qf=e,qf}var Lf,U_;function fu(){if(U_)return Lf;U_=1;var e=AN(),n=e(Object.getPrototypeOf,Object);return Lf=n,Lf}var $f,H_;function qN(){if(H_)return $f;H_=1;var e=Rv(),n=fu(),r=jv(),s=ON(),o=Object.getOwnPropertySymbols,l=o?function(u){for(var c=[];u;)e(c,r(u)),u=n(u);return c}:s;return $f=l,$f}var Df,V_;function sq(){if(V_)return Df;V_=1;var e=ca(),n=qN();function r(s,o){return e(s,n(s),o)}return Df=r,Df}var Ff,W_;function LN(){if(W_)return Ff;W_=1;var e=Rv(),n=St();function r(s,o,l){var u=o(s);return n(s)?u:e(u,l(s))}return Ff=r,Ff}var zf,G_;function $N(){if(G_)return zf;G_=1;var e=LN(),n=jv(),r=xi();function s(o){return e(o,r,n)}return zf=s,zf}var Bf,Y_;function oq(){if(Y_)return Bf;Y_=1;var e=LN(),n=qN(),r=ts();function s(o){return e(o,r,n)}return Bf=s,Bf}var Uf,K_;function aq(){if(K_)return Uf;K_=1;var e=es(),n=Jn(),r=e(n,"DataView");return Uf=r,Uf}var Hf,X_;function lq(){if(X_)return Hf;X_=1;var e=es(),n=Jn(),r=e(n,"Promise");return Hf=r,Hf}var Vf,Q_;function DN(){if(Q_)return Vf;Q_=1;var e=es(),n=Jn(),r=e(n,"Set");return Vf=r,Vf}var Wf,Z_;function uq(){if(Z_)return Wf;Z_=1;var e=es(),n=Jn(),r=e(n,"WeakMap");return Wf=r,Wf}var Gf,J_;function eo(){if(J_)return Gf;J_=1;var e=aq(),n=Sv(),r=lq(),s=DN(),o=uq(),l=Ji(),u=jN(),c="[object Map]",p="[object Object]",h="[object Promise]",f="[object Set]",m="[object WeakMap]",y="[object DataView]",x=u(e),C=u(n),_=u(r),S=u(s),b=u(o),E=l;return(e&&E(new e(new ArrayBuffer(1)))!=y||n&&E(new n)!=c||r&&E(r.resolve())!=h||s&&E(new s)!=f||o&&E(new o)!=m)&&(E=function(N){var j=l(N),M=j==p?N.constructor:void 0,P=M?u(M):"";if(P)switch(P){case x:return y;case C:return c;case _:return h;case S:return f;case b:return m}return j}),Gf=E,Gf}var Yf,e1;function cq(){if(e1)return Yf;e1=1;var e=Object.prototype,n=e.hasOwnProperty;function r(s){var o=s.length,l=new s.constructor(o);return o&&typeof s[0]=="string"&&n.call(s,"index")&&(l.index=s.index,l.input=s.input),l}return Yf=r,Yf}var Kf,t1;function FN(){if(t1)return Kf;t1=1;var e=Jn(),n=e.Uint8Array;return Kf=n,Kf}var Xf,n1;function Tv(){if(n1)return Xf;n1=1;var e=FN();function n(r){var s=new r.constructor(r.byteLength);return new e(s).set(new e(r)),s}return Xf=n,Xf}var Qf,r1;function dq(){if(r1)return Qf;r1=1;var e=Tv();function n(r,s){var o=s?e(r.buffer):r.buffer;return new r.constructor(o,r.byteOffset,r.byteLength)}return Qf=n,Qf}var Zf,i1;function fq(){if(i1)return Zf;i1=1;var e=/\w*$/;function n(r){var s=new r.constructor(r.source,e.exec(r));return s.lastIndex=r.lastIndex,s}return Zf=n,Zf}var Jf,s1;function hq(){if(s1)return Jf;s1=1;var e=Zs(),n=e?e.prototype:void 0,r=n?n.valueOf:void 0;function s(o){return r?Object(r.call(o)):{}}return Jf=s,Jf}var eh,o1;function zN(){if(o1)return eh;o1=1;var e=Tv();function n(r,s){var o=s?e(r.buffer):r.buffer;return new r.constructor(o,r.byteOffset,r.length)}return eh=n,eh}var th,a1;function pq(){if(a1)return th;a1=1;var e=Tv(),n=dq(),r=fq(),s=hq(),o=zN(),l="[object Boolean]",u="[object Date]",c="[object Map]",p="[object Number]",h="[object RegExp]",f="[object Set]",m="[object String]",y="[object Symbol]",x="[object ArrayBuffer]",C="[object DataView]",_="[object Float32Array]",S="[object Float64Array]",b="[object Int8Array]",E="[object Int16Array]",N="[object Int32Array]",j="[object Uint8Array]",M="[object Uint8ClampedArray]",P="[object Uint16Array]",O="[object Uint32Array]";function B(L,q,I){var H=L.constructor;switch(q){case x:return e(L);case l:case u:return new H(+L);case C:return n(L,I);case _:case S:case b:case E:case N:case j:case M:case P:case O:return o(L,I);case c:return new H;case p:case m:return new H(L);case h:return r(L);case f:return new H;case y:return s(L)}}return th=B,th}var nh,l1;function BN(){if(l1)return nh;l1=1;var e=Rn(),n=Object.create,r=(function(){function s(){}return function(o){if(!e(o))return{};if(n)return n(o);s.prototype=o;var l=new s;return s.prototype=void 0,l}})();return nh=r,nh}var rh,u1;function UN(){if(u1)return rh;u1=1;var e=BN(),n=fu(),r=du();function s(o){return typeof o.constructor=="function"&&!r(o)?e(n(o)):{}}return rh=s,rh}var ih,c1;function mq(){if(c1)return ih;c1=1;var e=eo(),n=hr(),r="[object Map]";function s(o){return n(o)&&e(o)==r}return ih=s,ih}var sh,d1;function gq(){if(d1)return sh;d1=1;var e=mq(),n=cu(),r=Nv(),s=r&&r.isMap,o=s?n(s):e;return sh=o,sh}var oh,f1;function vq(){if(f1)return oh;f1=1;var e=eo(),n=hr(),r="[object Set]";function s(o){return n(o)&&e(o)==r}return oh=s,oh}var ah,h1;function yq(){if(h1)return ah;h1=1;var e=vq(),n=cu(),r=Nv(),s=r&&r.isSet,o=s?n(s):e;return ah=o,ah}var lh,p1;function HN(){if(p1)return lh;p1=1;var e=ou(),n=kv(),r=lu(),s=eq(),o=rq(),l=IN(),u=MN(),c=iq(),p=sq(),h=$N(),f=oq(),m=eo(),y=cq(),x=pq(),C=UN(),_=St(),S=Js(),b=gq(),E=Rn(),N=yq(),j=xi(),M=ts(),P=1,O=2,B=4,L="[object Arguments]",q="[object Array]",I="[object Boolean]",H="[object Date]",X="[object Error]",T="[object Function]",Y="[object GeneratorFunction]",U="[object Map]",ee="[object Number]",J="[object Object]",F="[object RegExp]",G="[object Set]",k="[object String]",$="[object Symbol]",se="[object WeakMap]",D="[object ArrayBuffer]",Q="[object DataView]",te="[object Float32Array]",oe="[object Float64Array]",ue="[object Int8Array]",me="[object Int16Array]",ge="[object Int32Array]",Pe="[object Uint8Array]",be="[object Uint8ClampedArray]",Oe="[object Uint16Array]",Me="[object Uint32Array]",ke={};ke[L]=ke[q]=ke[D]=ke[Q]=ke[I]=ke[H]=ke[te]=ke[oe]=ke[ue]=ke[me]=ke[ge]=ke[U]=ke[ee]=ke[J]=ke[F]=ke[G]=ke[k]=ke[$]=ke[Pe]=ke[be]=ke[Oe]=ke[Me]=!0,ke[X]=ke[T]=ke[se]=!1;function Fe(ye,we,Be,ct,dt,Qe){var ze,Ze=we&P,ft=we&O,At=we&B;if(Be&&(ze=dt?Be(ye,ct,dt,Qe):Be(ye)),ze!==void 0)return ze;if(!E(ye))return ye;var it=_(ye);if(it){if(ze=y(ye),!Ze)return u(ye,ze)}else{var st=m(ye),Yt=st==T||st==Y;if(S(ye))return l(ye,Ze);if(st==J||st==L||Yt&&!dt){if(ze=ft||Yt?{}:C(ye),!Ze)return ft?p(ye,o(ze,ye)):c(ye,s(ze,ye))}else{if(!ke[st])return dt?ye:{};ze=x(ye,st,Ze)}}Qe||(Qe=new e);var It=Qe.get(ye);if(It)return It;Qe.set(ye,ze),N(ye)?ye.forEach(function(gt){ze.add(Fe(gt,we,Be,gt,ye,Qe))}):b(ye)&&ye.forEach(function(gt,ht){ze.set(ht,Fe(gt,we,Be,ht,ye,Qe))});var Ye=At?ft?f:h:ft?M:j,bt=it?void 0:Ye(ye);return n(bt||ye,function(gt,ht){bt&&(ht=gt,gt=ye[ht]),r(ze,ht,Fe(gt,we,Be,ht,ye,Qe))}),ze}return lh=Fe,lh}var uh,m1;function wq(){if(m1)return uh;m1=1;var e=HN(),n=4;function r(s){return e(s,n)}return uh=r,uh}var ch,g1;function Av(){if(g1)return ch;g1=1;function e(n){return function(){return n}}return ch=e,ch}var dh,v1;function xq(){if(v1)return dh;v1=1;function e(n){return function(r,s,o){for(var l=-1,u=Object(r),c=o(r),p=c.length;p--;){var h=c[n?p:++l];if(s(u[h],h,u)===!1)break}return r}}return dh=e,dh}var fh,y1;function Iv(){if(y1)return fh;y1=1;var e=xq(),n=e();return fh=n,fh}var hh,w1;function Mv(){if(w1)return hh;w1=1;var e=Iv(),n=xi();function r(s,o){return s&&e(s,o,n)}return hh=r,hh}var ph,x1;function _q(){if(x1)return ph;x1=1;var e=qr();function n(r,s){return function(o,l){if(o==null)return o;if(!e(o))return r(o,l);for(var u=o.length,c=s?u:-1,p=Object(o);(s?c--:++c<u)&&l(p[c],c,p)!==!1;);return o}}return ph=n,ph}var mh,_1;function hu(){if(_1)return mh;_1=1;var e=Mv(),n=_q(),r=n(e);return mh=r,mh}var gh,S1;function ns(){if(S1)return gh;S1=1;function e(n){return n}return gh=e,gh}var vh,b1;function VN(){if(b1)return vh;b1=1;var e=ns();function n(r){return typeof r=="function"?r:e}return vh=n,vh}var yh,k1;function WN(){if(k1)return yh;k1=1;var e=kv(),n=hu(),r=VN(),s=St();function o(l,u){var c=s(l)?e:n;return c(l,r(u))}return yh=o,yh}var wh,E1;function GN(){return E1||(E1=1,wh=WN()),wh}var xh,N1;function Sq(){if(N1)return xh;N1=1;var e=hu();function n(r,s){var o=[];return e(r,function(l,u,c){s(l,u,c)&&o.push(l)}),o}return xh=n,xh}var _h,C1;function bq(){if(C1)return _h;C1=1;var e="__lodash_hash_undefined__";function n(r){return this.__data__.set(r,e),this}return _h=n,_h}var Sh,j1;function kq(){if(j1)return Sh;j1=1;function e(n){return this.__data__.has(n)}return Sh=e,Sh}var bh,R1;function YN(){if(R1)return bh;R1=1;var e=bv(),n=bq(),r=kq();function s(o){var l=-1,u=o==null?0:o.length;for(this.__data__=new e;++l<u;)this.add(o[l])}return s.prototype.add=s.prototype.push=n,s.prototype.has=r,bh=s,bh}var kh,T1;function Eq(){if(T1)return kh;T1=1;function e(n,r){for(var s=-1,o=n==null?0:n.length;++s<o;)if(r(n[s],s,n))return!0;return!1}return kh=e,kh}var Eh,A1;function KN(){if(A1)return Eh;A1=1;function e(n,r){return n.has(r)}return Eh=e,Eh}var Nh,I1;function XN(){if(I1)return Nh;I1=1;var e=YN(),n=Eq(),r=KN(),s=1,o=2;function l(u,c,p,h,f,m){var y=p&s,x=u.length,C=c.length;if(x!=C&&!(y&&C>x))return!1;var _=m.get(u),S=m.get(c);if(_&&S)return _==c&&S==u;var b=-1,E=!0,N=p&o?new e:void 0;for(m.set(u,c),m.set(c,u);++b<x;){var j=u[b],M=c[b];if(h)var P=y?h(M,j,b,c,u,m):h(j,M,b,u,c,m);if(P!==void 0){if(P)continue;E=!1;break}if(N){if(!n(c,function(O,B){if(!r(N,B)&&(j===O||f(j,O,p,h,m)))return N.push(B)})){E=!1;break}}else if(!(j===M||f(j,M,p,h,m))){E=!1;break}}return m.delete(u),m.delete(c),E}return Nh=l,Nh}var Ch,M1;function Nq(){if(M1)return Ch;M1=1;function e(n){var r=-1,s=Array(n.size);return n.forEach(function(o,l){s[++r]=[l,o]}),s}return Ch=e,Ch}var jh,P1;function Pv(){if(P1)return jh;P1=1;function e(n){var r=-1,s=Array(n.size);return n.forEach(function(o){s[++r]=o}),s}return jh=e,jh}var Rh,O1;function Cq(){if(O1)return Rh;O1=1;var e=Zs(),n=FN(),r=Qs(),s=XN(),o=Nq(),l=Pv(),u=1,c=2,p="[object Boolean]",h="[object Date]",f="[object Error]",m="[object Map]",y="[object Number]",x="[object RegExp]",C="[object Set]",_="[object String]",S="[object Symbol]",b="[object ArrayBuffer]",E="[object DataView]",N=e?e.prototype:void 0,j=N?N.valueOf:void 0;function M(P,O,B,L,q,I,H){switch(B){case E:if(P.byteLength!=O.byteLength||P.byteOffset!=O.byteOffset)return!1;P=P.buffer,O=O.buffer;case b:return!(P.byteLength!=O.byteLength||!I(new n(P),new n(O)));case p:case h:case y:return r(+P,+O);case f:return P.name==O.name&&P.message==O.message;case x:case _:return P==O+"";case m:var X=o;case C:var T=L&u;if(X||(X=l),P.size!=O.size&&!T)return!1;var Y=H.get(P);if(Y)return Y==O;L|=c,H.set(P,O);var U=s(X(P),X(O),L,q,I,H);return H.delete(P),U;case S:if(j)return j.call(P)==j.call(O)}return!1}return Rh=M,Rh}var Th,q1;function jq(){if(q1)return Th;q1=1;var e=$N(),n=1,r=Object.prototype,s=r.hasOwnProperty;function o(l,u,c,p,h,f){var m=c&n,y=e(l),x=y.length,C=e(u),_=C.length;if(x!=_&&!m)return!1;for(var S=x;S--;){var b=y[S];if(!(m?b in u:s.call(u,b)))return!1}var E=f.get(l),N=f.get(u);if(E&&N)return E==u&&N==l;var j=!0;f.set(l,u),f.set(u,l);for(var M=m;++S<x;){b=y[S];var P=l[b],O=u[b];if(p)var B=m?p(O,P,b,u,l,f):p(P,O,b,l,u,f);if(!(B===void 0?P===O||h(P,O,c,p,f):B)){j=!1;break}M||(M=b=="constructor")}if(j&&!M){var L=l.constructor,q=u.constructor;L!=q&&"constructor"in l&&"constructor"in u&&!(typeof L=="function"&&L instanceof L&&typeof q=="function"&&q instanceof q)&&(j=!1)}return f.delete(l),f.delete(u),j}return Th=o,Th}var Ah,L1;function Rq(){if(L1)return Ah;L1=1;var e=ou(),n=XN(),r=Cq(),s=jq(),o=eo(),l=St(),u=Js(),c=fa(),p=1,h="[object Arguments]",f="[object Array]",m="[object Object]",y=Object.prototype,x=y.hasOwnProperty;function C(_,S,b,E,N,j){var M=l(_),P=l(S),O=M?f:o(_),B=P?f:o(S);O=O==h?m:O,B=B==h?m:B;var L=O==m,q=B==m,I=O==B;if(I&&u(_)){if(!u(S))return!1;M=!0,L=!1}if(I&&!L)return j||(j=new e),M||c(_)?n(_,S,b,E,N,j):r(_,S,O,b,E,N,j);if(!(b&p)){var H=L&&x.call(_,"__wrapped__"),X=q&&x.call(S,"__wrapped__");if(H||X){var T=H?_.value():_,Y=X?S.value():S;return j||(j=new e),N(T,Y,b,E,j)}}return I?(j||(j=new e),s(_,S,b,E,N,j)):!1}return Ah=C,Ah}var Ih,$1;function QN(){if($1)return Ih;$1=1;var e=Rq(),n=hr();function r(s,o,l,u,c){return s===o?!0:s==null||o==null||!n(s)&&!n(o)?s!==s&&o!==o:e(s,o,l,u,r,c)}return Ih=r,Ih}var Mh,D1;function Tq(){if(D1)return Mh;D1=1;var e=ou(),n=QN(),r=1,s=2;function o(l,u,c,p){var h=c.length,f=h,m=!p;if(l==null)return!f;for(l=Object(l);h--;){var y=c[h];if(m&&y[2]?y[1]!==l[y[0]]:!(y[0]in l))return!1}for(;++h<f;){y=c[h];var x=y[0],C=l[x],_=y[1];if(m&&y[2]){if(C===void 0&&!(x in l))return!1}else{var S=new e;if(p)var b=p(C,_,x,l,u,S);if(!(b===void 0?n(_,C,r|s,p,S):b))return!1}}return!0}return Mh=o,Mh}var Ph,F1;function ZN(){if(F1)return Ph;F1=1;var e=Rn();function n(r){return r===r&&!e(r)}return Ph=n,Ph}var Oh,z1;function Aq(){if(z1)return Oh;z1=1;var e=ZN(),n=xi();function r(s){for(var o=n(s),l=o.length;l--;){var u=o[l],c=s[u];o[l]=[u,c,e(c)]}return o}return Oh=r,Oh}var qh,B1;function JN(){if(B1)return qh;B1=1;function e(n,r){return function(s){return s==null?!1:s[n]===r&&(r!==void 0||n in Object(s))}}return qh=e,qh}var Lh,U1;function Iq(){if(U1)return Lh;U1=1;var e=Tq(),n=Aq(),r=JN();function s(o){var l=n(o);return l.length==1&&l[0][2]?r(l[0][0],l[0][1]):function(u){return u===o||e(u,o,l)}}return Lh=s,Lh}var $h,H1;function to(){if(H1)return $h;H1=1;var e=Ji(),n=hr(),r="[object Symbol]";function s(o){return typeof o=="symbol"||n(o)&&e(o)==r}return $h=s,$h}var Dh,V1;function Ov(){if(V1)return Dh;V1=1;var e=St(),n=to(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;function o(l,u){if(e(l))return!1;var c=typeof l;return c=="number"||c=="symbol"||c=="boolean"||l==null||n(l)?!0:s.test(l)||!r.test(l)||u!=null&&l in Object(u)}return Dh=o,Dh}var Fh,W1;function Mq(){if(W1)return Fh;W1=1;var e=bv(),n="Expected a function";function r(s,o){if(typeof s!="function"||o!=null&&typeof o!="function")throw new TypeError(n);var l=function(){var u=arguments,c=o?o.apply(this,u):u[0],p=l.cache;if(p.has(c))return p.get(c);var h=s.apply(this,u);return l.cache=p.set(c,h)||p,h};return l.cache=new(r.Cache||e),l}return r.Cache=e,Fh=r,Fh}var zh,G1;function Pq(){if(G1)return zh;G1=1;var e=Mq(),n=500;function r(s){var o=e(s,function(u){return l.size===n&&l.clear(),u}),l=o.cache;return o}return zh=r,zh}var Bh,Y1;function Oq(){if(Y1)return Bh;Y1=1;var e=Pq(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,s=e(function(o){var l=[];return o.charCodeAt(0)===46&&l.push(""),o.replace(n,function(u,c,p,h){l.push(p?h.replace(r,"$1"):c||u)}),l});return Bh=s,Bh}var Uh,K1;function pu(){if(K1)return Uh;K1=1;function e(n,r){for(var s=-1,o=n==null?0:n.length,l=Array(o);++s<o;)l[s]=r(n[s],s,n);return l}return Uh=e,Uh}var Hh,X1;function qq(){if(X1)return Hh;X1=1;var e=Zs(),n=pu(),r=St(),s=to(),o=e?e.prototype:void 0,l=o?o.toString:void 0;function u(c){if(typeof c=="string")return c;if(r(c))return n(c,u)+"";if(s(c))return l?l.call(c):"";var p=c+"";return p=="0"&&1/c==-1/0?"-0":p}return Hh=u,Hh}var Vh,Q1;function eC(){if(Q1)return Vh;Q1=1;var e=qq();function n(r){return r==null?"":e(r)}return Vh=n,Vh}var Wh,Z1;function mu(){if(Z1)return Wh;Z1=1;var e=St(),n=Ov(),r=Oq(),s=eC();function o(l,u){return e(l)?l:n(l,u)?[l]:r(s(l))}return Wh=o,Wh}var Gh,J1;function ha(){if(J1)return Gh;J1=1;var e=to();function n(r){if(typeof r=="string"||e(r))return r;var s=r+"";return s=="0"&&1/r==-1/0?"-0":s}return Gh=n,Gh}var Yh,eS;function gu(){if(eS)return Yh;eS=1;var e=mu(),n=ha();function r(s,o){o=e(o,s);for(var l=0,u=o.length;s!=null&&l<u;)s=s[n(o[l++])];return l&&l==u?s:void 0}return Yh=r,Yh}var Kh,tS;function Lq(){if(tS)return Kh;tS=1;var e=gu();function n(r,s,o){var l=r==null?void 0:e(r,s);return l===void 0?o:l}return Kh=n,Kh}var Xh,nS;function $q(){if(nS)return Xh;nS=1;function e(n,r){return n!=null&&r in Object(n)}return Xh=e,Xh}var Qh,rS;function tC(){if(rS)return Qh;rS=1;var e=mu(),n=da(),r=St(),s=uu(),o=Ev(),l=ha();function u(c,p,h){p=e(p,c);for(var f=-1,m=p.length,y=!1;++f<m;){var x=l(p[f]);if(!(y=c!=null&&h(c,x)))break;c=c[x]}return y||++f!=m?y:(m=c==null?0:c.length,!!m&&o(m)&&s(x,m)&&(r(c)||n(c)))}return Qh=u,Qh}var Zh,iS;function nC(){if(iS)return Zh;iS=1;var e=$q(),n=tC();function r(s,o){return s!=null&&n(s,o,e)}return Zh=r,Zh}var Jh,sS;function Dq(){if(sS)return Jh;sS=1;var e=QN(),n=Lq(),r=nC(),s=Ov(),o=ZN(),l=JN(),u=ha(),c=1,p=2;function h(f,m){return s(f)&&o(m)?l(u(f),m):function(y){var x=n(y,f);return x===void 0&&x===m?r(y,f):e(m,x,c|p)}}return Jh=h,Jh}var ep,oS;function rC(){if(oS)return ep;oS=1;function e(n){return function(r){return r==null?void 0:r[n]}}return ep=e,ep}var tp,aS;function Fq(){if(aS)return tp;aS=1;var e=gu();function n(r){return function(s){return e(s,r)}}return tp=n,tp}var np,lS;function zq(){if(lS)return np;lS=1;var e=rC(),n=Fq(),r=Ov(),s=ha();function o(l){return r(l)?e(s(l)):n(l)}return np=o,np}var rp,uS;function Lr(){if(uS)return rp;uS=1;var e=Iq(),n=Dq(),r=ns(),s=St(),o=zq();function l(u){return typeof u=="function"?u:u==null?r:typeof u=="object"?s(u)?n(u[0],u[1]):e(u):o(u)}return rp=l,rp}var ip,cS;function iC(){if(cS)return ip;cS=1;var e=PN(),n=Sq(),r=Lr(),s=St();function o(l,u){var c=s(l)?e:n;return c(l,r(u,3))}return ip=o,ip}var sp,dS;function Bq(){if(dS)return sp;dS=1;var e=Object.prototype,n=e.hasOwnProperty;function r(s,o){return s!=null&&n.call(s,o)}return sp=r,sp}var op,fS;function sC(){if(fS)return op;fS=1;var e=Bq(),n=tC();function r(s,o){return s!=null&&n(s,o,e)}return op=r,op}var ap,hS;function Uq(){if(hS)return ap;hS=1;var e=Cv(),n=eo(),r=da(),s=St(),o=qr(),l=Js(),u=du(),c=fa(),p="[object Map]",h="[object Set]",f=Object.prototype,m=f.hasOwnProperty;function y(x){if(x==null)return!0;if(o(x)&&(s(x)||typeof x=="string"||typeof x.splice=="function"||l(x)||c(x)||r(x)))return!x.length;var C=n(x);if(C==p||C==h)return!x.size;if(u(x))return!e(x).length;for(var _ in x)if(m.call(x,_))return!1;return!0}return ap=y,ap}var lp,pS;function oC(){if(pS)return lp;pS=1;function e(n){return n===void 0}return lp=e,lp}var up,mS;function aC(){if(mS)return up;mS=1;var e=hu(),n=qr();function r(s,o){var l=-1,u=n(s)?Array(s.length):[];return e(s,function(c,p,h){u[++l]=o(c,p,h)}),u}return up=r,up}var cp,gS;function lC(){if(gS)return cp;gS=1;var e=pu(),n=Lr(),r=aC(),s=St();function o(l,u){var c=s(l)?e:r;return c(l,n(u,3))}return cp=o,cp}var dp,vS;function Hq(){if(vS)return dp;vS=1;function e(n,r,s,o){var l=-1,u=n==null?0:n.length;for(o&&u&&(s=n[++l]);++l<u;)s=r(s,n[l],l,n);return s}return dp=e,dp}var fp,yS;function Vq(){if(yS)return fp;yS=1;function e(n,r,s,o,l){return l(n,function(u,c,p){s=o?(o=!1,u):r(s,u,c,p)}),s}return fp=e,fp}var hp,wS;function uC(){if(wS)return hp;wS=1;var e=Hq(),n=hu(),r=Lr(),s=Vq(),o=St();function l(u,c,p){var h=o(u)?e:s,f=arguments.length<3;return h(u,r(c,4),p,f,n)}return hp=l,hp}var pp,xS;function Wq(){if(xS)return pp;xS=1;var e=Ji(),n=St(),r=hr(),s="[object String]";function o(l){return typeof l=="string"||!n(l)&&r(l)&&e(l)==s}return pp=o,pp}var mp,_S;function Gq(){if(_S)return mp;_S=1;var e=rC(),n=e("length");return mp=n,mp}var gp,SS;function Yq(){if(SS)return gp;SS=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+r+s,l="\\ufe0e\\ufe0f",u="\\u200d",c=RegExp("["+u+e+o+l+"]");function p(h){return c.test(h)}return gp=p,gp}var vp,bS;function Kq(){if(bS)return vp;bS=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+r+s,l="\\ufe0e\\ufe0f",u="["+e+"]",c="["+o+"]",p="\\ud83c[\\udffb-\\udfff]",h="(?:"+c+"|"+p+")",f="[^"+e+"]",m="(?:\\ud83c[\\udde6-\\uddff]){2}",y="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",C=h+"?",_="["+l+"]?",S="(?:"+x+"(?:"+[f,m,y].join("|")+")"+_+C+")*",b=_+C+S,E="(?:"+[f+c+"?",c,m,y,u].join("|")+")",N=RegExp(p+"(?="+p+")|"+E+b,"g");function j(M){for(var P=N.lastIndex=0;N.test(M);)++P;return P}return vp=j,vp}var yp,kS;function Xq(){if(kS)return yp;kS=1;var e=Gq(),n=Yq(),r=Kq();function s(o){return n(o)?r(o):e(o)}return yp=s,yp}var wp,ES;function Qq(){if(ES)return wp;ES=1;var e=Cv(),n=eo(),r=qr(),s=Wq(),o=Xq(),l="[object Map]",u="[object Set]";function c(p){if(p==null)return 0;if(r(p))return s(p)?o(p):p.length;var h=n(p);return h==l||h==u?p.size:e(p).length}return wp=c,wp}var xp,NS;function Zq(){if(NS)return xp;NS=1;var e=kv(),n=BN(),r=Mv(),s=Lr(),o=fu(),l=St(),u=Js(),c=ua(),p=Rn(),h=fa();function f(m,y,x){var C=l(m),_=C||u(m)||h(m);if(y=s(y,4),x==null){var S=m&&m.constructor;_?x=C?new S:[]:p(m)?x=c(S)?n(o(m)):{}:x={}}return(_?e:r)(m,function(b,E,N){return y(x,b,E,N)}),x}return xp=f,xp}var _p,CS;function Jq(){if(CS)return _p;CS=1;var e=Zs(),n=da(),r=St(),s=e?e.isConcatSpreadable:void 0;function o(l){return r(l)||n(l)||!!(s&&l&&l[s])}return _p=o,_p}var Sp,jS;function qv(){if(jS)return Sp;jS=1;var e=Rv(),n=Jq();function r(s,o,l,u,c){var p=-1,h=s.length;for(l||(l=n),c||(c=[]);++p<h;){var f=s[p];o>0&&l(f)?o>1?r(f,o-1,l,u,c):e(c,f):u||(c[c.length]=f)}return c}return Sp=r,Sp}var bp,RS;function eL(){if(RS)return bp;RS=1;function e(n,r,s){switch(s.length){case 0:return n.call(r);case 1:return n.call(r,s[0]);case 2:return n.call(r,s[0],s[1]);case 3:return n.call(r,s[0],s[1],s[2])}return n.apply(r,s)}return bp=e,bp}var kp,TS;function cC(){if(TS)return kp;TS=1;var e=eL(),n=Math.max;function r(s,o,l){return o=n(o===void 0?s.length-1:o,0),function(){for(var u=arguments,c=-1,p=n(u.length-o,0),h=Array(p);++c<p;)h[c]=u[o+c];c=-1;for(var f=Array(o+1);++c<o;)f[c]=u[c];return f[o]=l(h),e(s,this,f)}}return kp=r,kp}var Ep,AS;function tL(){if(AS)return Ep;AS=1;var e=Av(),n=RN(),r=ns(),s=n?function(o,l){return n(o,"toString",{configurable:!0,enumerable:!1,value:e(l),writable:!0})}:r;return Ep=s,Ep}var Np,IS;function nL(){if(IS)return Np;IS=1;var e=800,n=16,r=Date.now;function s(o){var l=0,u=0;return function(){var c=r(),p=n-(c-u);if(u=c,p>0){if(++l>=e)return arguments[0]}else l=0;return o.apply(void 0,arguments)}}return Np=s,Np}var Cp,MS;function dC(){if(MS)return Cp;MS=1;var e=tL(),n=nL(),r=n(e);return Cp=r,Cp}var jp,PS;function vu(){if(PS)return jp;PS=1;var e=ns(),n=cC(),r=dC();function s(o,l){return r(n(o,l,e),o+"")}return jp=s,jp}var Rp,OS;function fC(){if(OS)return Rp;OS=1;function e(n,r,s,o){for(var l=n.length,u=s+(o?1:-1);o?u--:++u<l;)if(r(n[u],u,n))return u;return-1}return Rp=e,Rp}var Tp,qS;function rL(){if(qS)return Tp;qS=1;function e(n){return n!==n}return Tp=e,Tp}var Ap,LS;function iL(){if(LS)return Ap;LS=1;function e(n,r,s){for(var o=s-1,l=n.length;++o<l;)if(n[o]===r)return o;return-1}return Ap=e,Ap}var Ip,$S;function sL(){if($S)return Ip;$S=1;var e=fC(),n=rL(),r=iL();function s(o,l,u){return l===l?r(o,l,u):e(o,n,u)}return Ip=s,Ip}var Mp,DS;function oL(){if(DS)return Mp;DS=1;var e=sL();function n(r,s){var o=r==null?0:r.length;return!!o&&e(r,s,0)>-1}return Mp=n,Mp}var Pp,FS;function aL(){if(FS)return Pp;FS=1;function e(n,r,s){for(var o=-1,l=n==null?0:n.length;++o<l;)if(s(r,n[o]))return!0;return!1}return Pp=e,Pp}var Op,zS;function lL(){if(zS)return Op;zS=1;function e(){}return Op=e,Op}var qp,BS;function uL(){if(BS)return qp;BS=1;var e=DN(),n=lL(),r=Pv(),s=1/0,o=e&&1/r(new e([,-0]))[1]==s?function(l){return new e(l)}:n;return qp=o,qp}var Lp,US;function cL(){if(US)return Lp;US=1;var e=YN(),n=oL(),r=aL(),s=KN(),o=uL(),l=Pv(),u=200;function c(p,h,f){var m=-1,y=n,x=p.length,C=!0,_=[],S=_;if(f)C=!1,y=r;else if(x>=u){var b=h?null:o(p);if(b)return l(b);C=!1,y=s,S=new e}else S=h?[]:_;e:for(;++m<x;){var E=p[m],N=h?h(E):E;if(E=f||E!==0?E:0,C&&N===N){for(var j=S.length;j--;)if(S[j]===N)continue e;h&&S.push(N),_.push(E)}else y(S,N,f)||(S!==_&&S.push(N),_.push(E))}return _}return Lp=c,Lp}var $p,HS;function hC(){if(HS)return $p;HS=1;var e=qr(),n=hr();function r(s){return n(s)&&e(s)}return $p=r,$p}var Dp,VS;function dL(){if(VS)return Dp;VS=1;var e=qv(),n=vu(),r=cL(),s=hC(),o=n(function(l){return r(e(l,1,s,!0))});return Dp=o,Dp}var Fp,WS;function fL(){if(WS)return Fp;WS=1;var e=pu();function n(r,s){return e(s,function(o){return r[o]})}return Fp=n,Fp}var zp,GS;function pC(){if(GS)return zp;GS=1;var e=fL(),n=xi();function r(s){return s==null?[]:e(s,n(s))}return zp=r,zp}var Bp,YS;function Tn(){if(YS)return Bp;YS=1;var e;if(typeof _v=="function")try{e={clone:wq(),constant:Av(),each:GN(),filter:iC(),has:sC(),isArray:St(),isEmpty:Uq(),isFunction:ua(),isUndefined:oC(),keys:xi(),map:lC(),reduce:uC(),size:Qq(),transform:Zq(),union:dL(),values:pC()}}catch{}return e||(e=window._),Bp=e,Bp}var Up,KS;function Lv(){if(KS)return Up;KS=1;var e=Tn();Up=o;var n="\0",r="\0",s="";function o(f){this._isDirected=e.has(f,"directed")?f.directed:!0,this._isMultigraph=e.has(f,"multigraph")?f.multigraph:!1,this._isCompound=e.has(f,"compound")?f.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[r]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}o.prototype._nodeCount=0,o.prototype._edgeCount=0,o.prototype.isDirected=function(){return this._isDirected},o.prototype.isMultigraph=function(){return this._isMultigraph},o.prototype.isCompound=function(){return this._isCompound},o.prototype.setGraph=function(f){return this._label=f,this},o.prototype.graph=function(){return this._label},o.prototype.setDefaultNodeLabel=function(f){return e.isFunction(f)||(f=e.constant(f)),this._defaultNodeLabelFn=f,this},o.prototype.nodeCount=function(){return this._nodeCount},o.prototype.nodes=function(){return e.keys(this._nodes)},o.prototype.sources=function(){var f=this;return e.filter(this.nodes(),function(m){return e.isEmpty(f._in[m])})},o.prototype.sinks=function(){var f=this;return e.filter(this.nodes(),function(m){return e.isEmpty(f._out[m])})},o.prototype.setNodes=function(f,m){var y=arguments,x=this;return e.each(f,function(C){y.length>1?x.setNode(C,m):x.setNode(C)}),this},o.prototype.setNode=function(f,m){return e.has(this._nodes,f)?(arguments.length>1&&(this._nodes[f]=m),this):(this._nodes[f]=arguments.length>1?m:this._defaultNodeLabelFn(f),this._isCompound&&(this._parent[f]=r,this._children[f]={},this._children[r][f]=!0),this._in[f]={},this._preds[f]={},this._out[f]={},this._sucs[f]={},++this._nodeCount,this)},o.prototype.node=function(f){return this._nodes[f]},o.prototype.hasNode=function(f){return e.has(this._nodes,f)},o.prototype.removeNode=function(f){var m=this;if(e.has(this._nodes,f)){var y=function(x){m.removeEdge(m._edgeObjs[x])};delete this._nodes[f],this._isCompound&&(this._removeFromParentsChildList(f),delete this._parent[f],e.each(this.children(f),function(x){m.setParent(x)}),delete this._children[f]),e.each(e.keys(this._in[f]),y),delete this._in[f],delete this._preds[f],e.each(e.keys(this._out[f]),y),delete this._out[f],delete this._sucs[f],--this._nodeCount}return this},o.prototype.setParent=function(f,m){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(m))m=r;else{m+="";for(var y=m;!e.isUndefined(y);y=this.parent(y))if(y===f)throw new Error("Setting "+m+" as parent of "+f+" would create a cycle");this.setNode(m)}return this.setNode(f),this._removeFromParentsChildList(f),this._parent[f]=m,this._children[m][f]=!0,this},o.prototype._removeFromParentsChildList=function(f){delete this._children[this._parent[f]][f]},o.prototype.parent=function(f){if(this._isCompound){var m=this._parent[f];if(m!==r)return m}},o.prototype.children=function(f){if(e.isUndefined(f)&&(f=r),this._isCompound){var m=this._children[f];if(m)return e.keys(m)}else{if(f===r)return this.nodes();if(this.hasNode(f))return[]}},o.prototype.predecessors=function(f){var m=this._preds[f];if(m)return e.keys(m)},o.prototype.successors=function(f){var m=this._sucs[f];if(m)return e.keys(m)},o.prototype.neighbors=function(f){var m=this.predecessors(f);if(m)return e.union(m,this.successors(f))},o.prototype.isLeaf=function(f){var m;return this.isDirected()?m=this.successors(f):m=this.neighbors(f),m.length===0},o.prototype.filterNodes=function(f){var m=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});m.setGraph(this.graph());var y=this;e.each(this._nodes,function(_,S){f(S)&&m.setNode(S,_)}),e.each(this._edgeObjs,function(_){m.hasNode(_.v)&&m.hasNode(_.w)&&m.setEdge(_,y.edge(_))});var x={};function C(_){var S=y.parent(_);return S===void 0||m.hasNode(S)?(x[_]=S,S):S in x?x[S]:C(S)}return this._isCompound&&e.each(m.nodes(),function(_){m.setParent(_,C(_))}),m},o.prototype.setDefaultEdgeLabel=function(f){return e.isFunction(f)||(f=e.constant(f)),this._defaultEdgeLabelFn=f,this},o.prototype.edgeCount=function(){return this._edgeCount},o.prototype.edges=function(){return e.values(this._edgeObjs)},o.prototype.setPath=function(f,m){var y=this,x=arguments;return e.reduce(f,function(C,_){return x.length>1?y.setEdge(C,_,m):y.setEdge(C,_),_}),this},o.prototype.setEdge=function(){var f,m,y,x,C=!1,_=arguments[0];typeof _=="object"&&_!==null&&"v"in _?(f=_.v,m=_.w,y=_.name,arguments.length===2&&(x=arguments[1],C=!0)):(f=_,m=arguments[1],y=arguments[3],arguments.length>2&&(x=arguments[2],C=!0)),f=""+f,m=""+m,e.isUndefined(y)||(y=""+y);var S=c(this._isDirected,f,m,y);if(e.has(this._edgeLabels,S))return C&&(this._edgeLabels[S]=x),this;if(!e.isUndefined(y)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(f),this.setNode(m),this._edgeLabels[S]=C?x:this._defaultEdgeLabelFn(f,m,y);var b=p(this._isDirected,f,m,y);return f=b.v,m=b.w,Object.freeze(b),this._edgeObjs[S]=b,l(this._preds[m],f),l(this._sucs[f],m),this._in[m][S]=b,this._out[f][S]=b,this._edgeCount++,this},o.prototype.edge=function(f,m,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,m,y);return this._edgeLabels[x]},o.prototype.hasEdge=function(f,m,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,m,y);return e.has(this._edgeLabels,x)},o.prototype.removeEdge=function(f,m,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,m,y),C=this._edgeObjs[x];return C&&(f=C.v,m=C.w,delete this._edgeLabels[x],delete this._edgeObjs[x],u(this._preds[m],f),u(this._sucs[f],m),delete this._in[m][x],delete this._out[f][x],this._edgeCount--),this},o.prototype.inEdges=function(f,m){var y=this._in[f];if(y){var x=e.values(y);return m?e.filter(x,function(C){return C.v===m}):x}},o.prototype.outEdges=function(f,m){var y=this._out[f];if(y){var x=e.values(y);return m?e.filter(x,function(C){return C.w===m}):x}},o.prototype.nodeEdges=function(f,m){var y=this.inEdges(f,m);if(y)return y.concat(this.outEdges(f,m))};function l(f,m){f[m]?f[m]++:f[m]=1}function u(f,m){--f[m]||delete f[m]}function c(f,m,y,x){var C=""+m,_=""+y;if(!f&&C>_){var S=C;C=_,_=S}return C+s+_+s+(e.isUndefined(x)?n:x)}function p(f,m,y,x){var C=""+m,_=""+y;if(!f&&C>_){var S=C;C=_,_=S}var b={v:C,w:_};return x&&(b.name=x),b}function h(f,m){return c(f,m.v,m.w,m.name)}return Up}var Hp,XS;function hL(){return XS||(XS=1,Hp="2.1.8"),Hp}var Vp,QS;function pL(){return QS||(QS=1,Vp={Graph:Lv(),version:hL()}),Vp}var Wp,ZS;function mL(){if(ZS)return Wp;ZS=1;var e=Tn(),n=Lv();Wp={write:r,read:l};function r(u){var c={options:{directed:u.isDirected(),multigraph:u.isMultigraph(),compound:u.isCompound()},nodes:s(u),edges:o(u)};return e.isUndefined(u.graph())||(c.value=e.clone(u.graph())),c}function s(u){return e.map(u.nodes(),function(c){var p=u.node(c),h=u.parent(c),f={v:c};return e.isUndefined(p)||(f.value=p),e.isUndefined(h)||(f.parent=h),f})}function o(u){return e.map(u.edges(),function(c){var p=u.edge(c),h={v:c.v,w:c.w};return e.isUndefined(c.name)||(h.name=c.name),e.isUndefined(p)||(h.value=p),h})}function l(u){var c=new n(u.options).setGraph(u.value);return e.each(u.nodes,function(p){c.setNode(p.v,p.value),p.parent&&c.setParent(p.v,p.parent)}),e.each(u.edges,function(p){c.setEdge({v:p.v,w:p.w,name:p.name},p.value)}),c}return Wp}var Gp,JS;function gL(){if(JS)return Gp;JS=1;var e=Tn();Gp=n;function n(r){var s={},o=[],l;function u(c){e.has(s,c)||(s[c]=!0,l.push(c),e.each(r.successors(c),u),e.each(r.predecessors(c),u))}return e.each(r.nodes(),function(c){l=[],u(c),l.length&&o.push(l)}),o}return Gp}var Yp,eb;function mC(){if(eb)return Yp;eb=1;var e=Tn();Yp=n;function n(){this._arr=[],this._keyIndices={}}return n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(r){return r.key})},n.prototype.has=function(r){return e.has(this._keyIndices,r)},n.prototype.priority=function(r){var s=this._keyIndices[r];if(s!==void 0)return this._arr[s].priority},n.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},n.prototype.add=function(r,s){var o=this._keyIndices;if(r=String(r),!e.has(o,r)){var l=this._arr,u=l.length;return o[r]=u,l.push({key:r,priority:s}),this._decrease(u),!0}return!1},n.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},n.prototype.decrease=function(r,s){var o=this._keyIndices[r];if(s>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[o].priority+" New: "+s);this._arr[o].priority=s,this._decrease(o)},n.prototype._heapify=function(r){var s=this._arr,o=2*r,l=o+1,u=r;o<s.length&&(u=s[o].priority<s[u].priority?o:u,l<s.length&&(u=s[l].priority<s[u].priority?l:u),u!==r&&(this._swap(r,u),this._heapify(u)))},n.prototype._decrease=function(r){for(var s=this._arr,o=s[r].priority,l;r!==0&&(l=r>>1,!(s[l].priority<o));)this._swap(r,l),r=l},n.prototype._swap=function(r,s){var o=this._arr,l=this._keyIndices,u=o[r],c=o[s];o[r]=c,o[s]=u,l[c.key]=r,l[u.key]=s},Yp}var Kp,tb;function gC(){if(tb)return Kp;tb=1;var e=Tn(),n=mC();Kp=s;var r=e.constant(1);function s(l,u,c,p){return o(l,String(u),c||r,p||function(h){return l.outEdges(h)})}function o(l,u,c,p){var h={},f=new n,m,y,x=function(C){var _=C.v!==m?C.v:C.w,S=h[_],b=c(C),E=y.distance+b;if(b<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+C+" Weight: "+b);E<S.distance&&(S.distance=E,S.predecessor=m,f.decrease(_,E))};for(l.nodes().forEach(function(C){var _=C===u?0:Number.POSITIVE_INFINITY;h[C]={distance:_},f.add(C,_)});f.size()>0&&(m=f.removeMin(),y=h[m],y.distance!==Number.POSITIVE_INFINITY);)p(m).forEach(x);return h}return Kp}var Xp,nb;function vL(){if(nb)return Xp;nb=1;var e=gC(),n=Tn();Xp=r;function r(s,o,l){return n.transform(s.nodes(),function(u,c){u[c]=e(s,c,o,l)},{})}return Xp}var Qp,rb;function vC(){if(rb)return Qp;rb=1;var e=Tn();Qp=n;function n(r){var s=0,o=[],l={},u=[];function c(p){var h=l[p]={onStack:!0,lowlink:s,index:s++};if(o.push(p),r.successors(p).forEach(function(y){e.has(l,y)?l[y].onStack&&(h.lowlink=Math.min(h.lowlink,l[y].index)):(c(y),h.lowlink=Math.min(h.lowlink,l[y].lowlink))}),h.lowlink===h.index){var f=[],m;do m=o.pop(),l[m].onStack=!1,f.push(m);while(p!==m);u.push(f)}}return r.nodes().forEach(function(p){e.has(l,p)||c(p)}),u}return Qp}var Zp,ib;function yL(){if(ib)return Zp;ib=1;var e=Tn(),n=vC();Zp=r;function r(s){return e.filter(n(s),function(o){return o.length>1||o.length===1&&s.hasEdge(o[0],o[0])})}return Zp}var Jp,sb;function wL(){if(sb)return Jp;sb=1;var e=Tn();Jp=r;var n=e.constant(1);function r(o,l,u){return s(o,l||n,u||function(c){return o.outEdges(c)})}function s(o,l,u){var c={},p=o.nodes();return p.forEach(function(h){c[h]={},c[h][h]={distance:0},p.forEach(function(f){h!==f&&(c[h][f]={distance:Number.POSITIVE_INFINITY})}),u(h).forEach(function(f){var m=f.v===h?f.w:f.v,y=l(f);c[h][m]={distance:y,predecessor:h}})}),p.forEach(function(h){var f=c[h];p.forEach(function(m){var y=c[m];p.forEach(function(x){var C=y[h],_=f[x],S=y[x],b=C.distance+_.distance;b<S.distance&&(S.distance=b,S.predecessor=_.predecessor)})})}),c}return Jp}var em,ob;function yC(){if(ob)return em;ob=1;var e=Tn();em=n,n.CycleException=r;function n(s){var o={},l={},u=[];function c(p){if(e.has(l,p))throw new r;e.has(o,p)||(l[p]=!0,o[p]=!0,e.each(s.predecessors(p),c),delete l[p],u.push(p))}if(e.each(s.sinks(),c),e.size(o)!==s.nodeCount())throw new r;return u}function r(){}return r.prototype=new Error,em}var tm,ab;function xL(){if(ab)return tm;ab=1;var e=yC();tm=n;function n(r){try{e(r)}catch(s){if(s instanceof e.CycleException)return!1;throw s}return!0}return tm}var nm,lb;function wC(){if(lb)return nm;lb=1;var e=Tn();nm=n;function n(s,o,l){e.isArray(o)||(o=[o]);var u=(s.isDirected()?s.successors:s.neighbors).bind(s),c=[],p={};return e.each(o,function(h){if(!s.hasNode(h))throw new Error("Graph does not have node: "+h);r(s,h,l==="post",p,u,c)}),c}function r(s,o,l,u,c,p){e.has(u,o)||(u[o]=!0,l||p.push(o),e.each(c(o),function(h){r(s,h,l,u,c,p)}),l&&p.push(o))}return nm}var rm,ub;function _L(){if(ub)return rm;ub=1;var e=wC();rm=n;function n(r,s){return e(r,s,"post")}return rm}var im,cb;function SL(){if(cb)return im;cb=1;var e=wC();im=n;function n(r,s){return e(r,s,"pre")}return im}var sm,db;function bL(){if(db)return sm;db=1;var e=Tn(),n=Lv(),r=mC();sm=s;function s(o,l){var u=new n,c={},p=new r,h;function f(y){var x=y.v===h?y.w:y.v,C=p.priority(x);if(C!==void 0){var _=l(y);_<C&&(c[x]=h,p.decrease(x,_))}}if(o.nodeCount()===0)return u;e.each(o.nodes(),function(y){p.add(y,Number.POSITIVE_INFINITY),u.setNode(y)}),p.decrease(o.nodes()[0],0);for(var m=!1;p.size()>0;){if(h=p.removeMin(),e.has(c,h))u.setEdge(h,c[h]);else{if(m)throw new Error("Input graph is not connected: "+o);m=!0}o.nodeEdges(h).forEach(f)}return u}return sm}var om,fb;function kL(){return fb||(fb=1,om={components:gL(),dijkstra:gC(),dijkstraAll:vL(),findCycles:yL(),floydWarshall:wL(),isAcyclic:xL(),postorder:_L(),preorder:SL(),prim:bL(),tarjan:vC(),topsort:yC()}),om}var am,hb;function EL(){if(hb)return am;hb=1;var e=pL();return am={Graph:e.Graph,json:mL(),alg:kL(),version:e.version},am}var lm,pb;function Qn(){if(pb)return lm;pb=1;var e;if(typeof _v=="function")try{e=EL()}catch{}return e||(e=window.graphlib),lm=e,lm}var um,mb;function NL(){if(mb)return um;mb=1;var e=HN(),n=1,r=4;function s(o){return e(o,n|r)}return um=s,um}var cm,gb;function yu(){if(gb)return cm;gb=1;var e=Qs(),n=qr(),r=uu(),s=Rn();function o(l,u,c){if(!s(c))return!1;var p=typeof u;return(p=="number"?n(c)&&r(u,c.length):p=="string"&&u in c)?e(c[u],l):!1}return cm=o,cm}var dm,vb;function CL(){if(vb)return dm;vb=1;var e=vu(),n=Qs(),r=yu(),s=ts(),o=Object.prototype,l=o.hasOwnProperty,u=e(function(c,p){c=Object(c);var h=-1,f=p.length,m=f>2?p[2]:void 0;for(m&&r(p[0],p[1],m)&&(f=1);++h<f;)for(var y=p[h],x=s(y),C=-1,_=x.length;++C<_;){var S=x[C],b=c[S];(b===void 0||n(b,o[S])&&!l.call(c,S))&&(c[S]=y[S])}return c});return dm=u,dm}var fm,yb;function jL(){if(yb)return fm;yb=1;var e=Lr(),n=qr(),r=xi();function s(o){return function(l,u,c){var p=Object(l);if(!n(l)){var h=e(u,3);l=r(l),u=function(m){return h(p[m],m,p)}}var f=o(l,u,c);return f>-1?p[h?l[f]:f]:void 0}}return fm=s,fm}var hm,wb;function RL(){if(wb)return hm;wb=1;var e=/\s/;function n(r){for(var s=r.length;s--&&e.test(r.charAt(s)););return s}return hm=n,hm}var pm,xb;function TL(){if(xb)return pm;xb=1;var e=RL(),n=/^\s+/;function r(s){return s&&s.slice(0,e(s)+1).replace(n,"")}return pm=r,pm}var mm,_b;function AL(){if(_b)return mm;_b=1;var e=TL(),n=Rn(),r=to(),s=NaN,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt;function p(h){if(typeof h=="number")return h;if(r(h))return s;if(n(h)){var f=typeof h.valueOf=="function"?h.valueOf():h;h=n(f)?f+"":f}if(typeof h!="string")return h===0?h:+h;h=e(h);var m=l.test(h);return m||u.test(h)?c(h.slice(2),m?2:8):o.test(h)?s:+h}return mm=p,mm}var gm,Sb;function xC(){if(Sb)return gm;Sb=1;var e=AL(),n=1/0,r=17976931348623157e292;function s(o){if(!o)return o===0?o:0;if(o=e(o),o===n||o===-n){var l=o<0?-1:1;return l*r}return o===o?o:0}return gm=s,gm}var vm,bb;function IL(){if(bb)return vm;bb=1;var e=xC();function n(r){var s=e(r),o=s%1;return s===s?o?s-o:s:0}return vm=n,vm}var ym,kb;function ML(){if(kb)return ym;kb=1;var e=fC(),n=Lr(),r=IL(),s=Math.max;function o(l,u,c){var p=l==null?0:l.length;if(!p)return-1;var h=c==null?0:r(c);return h<0&&(h=s(p+h,0)),e(l,n(u,3),h)}return ym=o,ym}var wm,Eb;function PL(){if(Eb)return wm;Eb=1;var e=jL(),n=ML(),r=e(n);return wm=r,wm}var xm,Nb;function _C(){if(Nb)return xm;Nb=1;var e=qv();function n(r){var s=r==null?0:r.length;return s?e(r,1):[]}return xm=n,xm}var _m,Cb;function OL(){if(Cb)return _m;Cb=1;var e=Iv(),n=VN(),r=ts();function s(o,l){return o==null?o:e(o,n(l),r)}return _m=s,_m}var Sm,jb;function qL(){if(jb)return Sm;jb=1;function e(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}return Sm=e,Sm}var bm,Rb;function LL(){if(Rb)return bm;Rb=1;var e=au(),n=Mv(),r=Lr();function s(o,l){var u={};return l=r(l,3),n(o,function(c,p,h){e(u,p,l(c,p,h))}),u}return bm=s,bm}var km,Tb;function $v(){if(Tb)return km;Tb=1;var e=to();function n(r,s,o){for(var l=-1,u=r.length;++l<u;){var c=r[l],p=s(c);if(p!=null&&(h===void 0?p===p&&!e(p):o(p,h)))var h=p,f=c}return f}return km=n,km}var Em,Ab;function $L(){if(Ab)return Em;Ab=1;function e(n,r){return n>r}return Em=e,Em}var Nm,Ib;function DL(){if(Ib)return Nm;Ib=1;var e=$v(),n=$L(),r=ns();function s(o){return o&&o.length?e(o,r,n):void 0}return Nm=s,Nm}var Cm,Mb;function SC(){if(Mb)return Cm;Mb=1;var e=au(),n=Qs();function r(s,o,l){(l!==void 0&&!n(s[o],l)||l===void 0&&!(o in s))&&e(s,o,l)}return Cm=r,Cm}var jm,Pb;function FL(){if(Pb)return jm;Pb=1;var e=Ji(),n=fu(),r=hr(),s="[object Object]",o=Function.prototype,l=Object.prototype,u=o.toString,c=l.hasOwnProperty,p=u.call(Object);function h(f){if(!r(f)||e(f)!=s)return!1;var m=n(f);if(m===null)return!0;var y=c.call(m,"constructor")&&m.constructor;return typeof y=="function"&&y instanceof y&&u.call(y)==p}return jm=h,jm}var Rm,Ob;function bC(){if(Ob)return Rm;Ob=1;function e(n,r){if(!(r==="constructor"&&typeof n[r]=="function")&&r!="__proto__")return n[r]}return Rm=e,Rm}var Tm,qb;function zL(){if(qb)return Tm;qb=1;var e=ca(),n=ts();function r(s){return e(s,n(s))}return Tm=r,Tm}var Am,Lb;function BL(){if(Lb)return Am;Lb=1;var e=SC(),n=IN(),r=zN(),s=MN(),o=UN(),l=da(),u=St(),c=hC(),p=Js(),h=ua(),f=Rn(),m=FL(),y=fa(),x=bC(),C=zL();function _(S,b,E,N,j,M,P){var O=x(S,E),B=x(b,E),L=P.get(B);if(L){e(S,E,L);return}var q=M?M(O,B,E+"",S,b,P):void 0,I=q===void 0;if(I){var H=u(B),X=!H&&p(B),T=!H&&!X&&y(B);q=B,H||X||T?u(O)?q=O:c(O)?q=s(O):X?(I=!1,q=n(B,!0)):T?(I=!1,q=r(B,!0)):q=[]:m(B)||l(B)?(q=O,l(O)?q=C(O):(!f(O)||h(O))&&(q=o(B))):I=!1}I&&(P.set(B,q),j(q,B,N,M,P),P.delete(B)),e(S,E,q)}return Am=_,Am}var Im,$b;function UL(){if($b)return Im;$b=1;var e=ou(),n=SC(),r=Iv(),s=BL(),o=Rn(),l=ts(),u=bC();function c(p,h,f,m,y){p!==h&&r(h,function(x,C){if(y||(y=new e),o(x))s(p,h,C,f,c,m,y);else{var _=m?m(u(p,C),x,C+"",p,h,y):void 0;_===void 0&&(_=x),n(p,C,_)}},l)}return Im=c,Im}var Mm,Db;function HL(){if(Db)return Mm;Db=1;var e=vu(),n=yu();function r(s){return e(function(o,l){var u=-1,c=l.length,p=c>1?l[c-1]:void 0,h=c>2?l[2]:void 0;for(p=s.length>3&&typeof p=="function"?(c--,p):void 0,h&&n(l[0],l[1],h)&&(p=c<3?void 0:p,c=1),o=Object(o);++u<c;){var f=l[u];f&&s(o,f,u,p)}return o})}return Mm=r,Mm}var Pm,Fb;function VL(){if(Fb)return Pm;Fb=1;var e=UL(),n=HL(),r=n(function(s,o,l){e(s,o,l)});return Pm=r,Pm}var Om,zb;function kC(){if(zb)return Om;zb=1;function e(n,r){return n<r}return Om=e,Om}var qm,Bb;function WL(){if(Bb)return qm;Bb=1;var e=$v(),n=kC(),r=ns();function s(o){return o&&o.length?e(o,r,n):void 0}return qm=s,qm}var Lm,Ub;function GL(){if(Ub)return Lm;Ub=1;var e=$v(),n=Lr(),r=kC();function s(o,l){return o&&o.length?e(o,n(l,2),r):void 0}return Lm=s,Lm}var $m,Hb;function YL(){if(Hb)return $m;Hb=1;var e=Jn(),n=function(){return e.Date.now()};return $m=n,$m}var Dm,Vb;function KL(){if(Vb)return Dm;Vb=1;var e=lu(),n=mu(),r=uu(),s=Rn(),o=ha();function l(u,c,p,h){if(!s(u))return u;c=n(c,u);for(var f=-1,m=c.length,y=m-1,x=u;x!=null&&++f<m;){var C=o(c[f]),_=p;if(C==="__proto__"||C==="constructor"||C==="prototype")return u;if(f!=y){var S=x[C];_=h?h(S,C,x):void 0,_===void 0&&(_=s(S)?S:r(c[f+1])?[]:{})}e(x,C,_),x=x[C]}return u}return Dm=l,Dm}var Fm,Wb;function XL(){if(Wb)return Fm;Wb=1;var e=gu(),n=KL(),r=mu();function s(o,l,u){for(var c=-1,p=l.length,h={};++c<p;){var f=l[c],m=e(o,f);u(m,f)&&n(h,r(f,o),m)}return h}return Fm=s,Fm}var zm,Gb;function QL(){if(Gb)return zm;Gb=1;var e=XL(),n=nC();function r(s,o){return e(s,o,function(l,u){return n(s,u)})}return zm=r,zm}var Bm,Yb;function ZL(){if(Yb)return Bm;Yb=1;var e=_C(),n=cC(),r=dC();function s(o){return r(n(o,void 0,e),o+"")}return Bm=s,Bm}var Um,Kb;function JL(){if(Kb)return Um;Kb=1;var e=QL(),n=ZL(),r=n(function(s,o){return s==null?{}:e(s,o)});return Um=r,Um}var Hm,Xb;function e$(){if(Xb)return Hm;Xb=1;var e=Math.ceil,n=Math.max;function r(s,o,l,u){for(var c=-1,p=n(e((o-s)/(l||1)),0),h=Array(p);p--;)h[u?p:++c]=s,s+=l;return h}return Hm=r,Hm}var Vm,Qb;function t$(){if(Qb)return Vm;Qb=1;var e=e$(),n=yu(),r=xC();function s(o){return function(l,u,c){return c&&typeof c!="number"&&n(l,u,c)&&(u=c=void 0),l=r(l),u===void 0?(u=l,l=0):u=r(u),c=c===void 0?l<u?1:-1:r(c),e(l,u,c,o)}}return Vm=s,Vm}var Wm,Zb;function n$(){if(Zb)return Wm;Zb=1;var e=t$(),n=e();return Wm=n,Wm}var Gm,Jb;function r$(){if(Jb)return Gm;Jb=1;function e(n,r){var s=n.length;for(n.sort(r);s--;)n[s]=n[s].value;return n}return Gm=e,Gm}var Ym,ek;function i$(){if(ek)return Ym;ek=1;var e=to();function n(r,s){if(r!==s){var o=r!==void 0,l=r===null,u=r===r,c=e(r),p=s!==void 0,h=s===null,f=s===s,m=e(s);if(!h&&!m&&!c&&r>s||c&&p&&f&&!h&&!m||l&&p&&f||!o&&f||!u)return 1;if(!l&&!c&&!m&&r<s||m&&o&&u&&!l&&!c||h&&o&&u||!p&&u||!f)return-1}return 0}return Ym=n,Ym}var Km,tk;function s$(){if(tk)return Km;tk=1;var e=i$();function n(r,s,o){for(var l=-1,u=r.criteria,c=s.criteria,p=u.length,h=o.length;++l<p;){var f=e(u[l],c[l]);if(f){if(l>=h)return f;var m=o[l];return f*(m=="desc"?-1:1)}}return r.index-s.index}return Km=n,Km}var Xm,nk;function o$(){if(nk)return Xm;nk=1;var e=pu(),n=gu(),r=Lr(),s=aC(),o=r$(),l=cu(),u=s$(),c=ns(),p=St();function h(f,m,y){m.length?m=e(m,function(_){return p(_)?function(S){return n(S,_.length===1?_[0]:_)}:_}):m=[c];var x=-1;m=e(m,l(r));var C=s(f,function(_,S,b){var E=e(m,function(N){return N(_)});return{criteria:E,index:++x,value:_}});return o(C,function(_,S){return u(_,S,y)})}return Xm=h,Xm}var Qm,rk;function a$(){if(rk)return Qm;rk=1;var e=qv(),n=o$(),r=vu(),s=yu(),o=r(function(l,u){if(l==null)return[];var c=u.length;return c>1&&s(l,u[0],u[1])?u=[]:c>2&&s(u[0],u[1],u[2])&&(u=[u[0]]),n(l,e(u,1),[])});return Qm=o,Qm}var Zm,ik;function l$(){if(ik)return Zm;ik=1;var e=eC(),n=0;function r(s){var o=++n;return e(s)+o}return Zm=r,Zm}var Jm,sk;function u$(){if(sk)return Jm;sk=1;function e(n,r,s){for(var o=-1,l=n.length,u=r.length,c={};++o<l;){var p=o<u?r[o]:void 0;s(c,n[o],p)}return c}return Jm=e,Jm}var eg,ok;function c$(){if(ok)return eg;ok=1;var e=lu(),n=u$();function r(s,o){return n(s||[],o||[],e)}return eg=r,eg}var tg,ak;function at(){if(ak)return tg;ak=1;var e;if(typeof _v=="function")try{e={cloneDeep:NL(),constant:Av(),defaults:CL(),each:GN(),filter:iC(),find:PL(),flatten:_C(),forEach:WN(),forIn:OL(),has:sC(),isUndefined:oC(),last:qL(),map:lC(),mapValues:LL(),max:DL(),merge:VL(),min:WL(),minBy:GL(),now:YL(),pick:JL(),range:n$(),reduce:uC(),sortBy:a$(),uniqueId:l$(),values:pC(),zipObject:c$()}}catch{}return e||(e=window._),tg=e,tg}var ng,lk;function d$(){if(lk)return ng;lk=1,ng=e;function e(){var s={};s._next=s._prev=s,this._sentinel=s}e.prototype.dequeue=function(){var s=this._sentinel,o=s._prev;if(o!==s)return n(o),o},e.prototype.enqueue=function(s){var o=this._sentinel;s._prev&&s._next&&n(s),s._next=o._next,o._next._prev=s,o._next=s,s._prev=o},e.prototype.toString=function(){for(var s=[],o=this._sentinel,l=o._prev;l!==o;)s.push(JSON.stringify(l,r)),l=l._prev;return"["+s.join(", ")+"]"};function n(s){s._prev._next=s._next,s._next._prev=s._prev,delete s._next,delete s._prev}function r(s,o){if(s!=="_next"&&s!=="_prev")return o}return ng}var rg,uk;function f$(){if(uk)return rg;uk=1;var e=at(),n=Qn().Graph,r=d$();rg=o;var s=e.constant(1);function o(h,f){if(h.nodeCount()<=1)return[];var m=c(h,f||s),y=l(m.graph,m.buckets,m.zeroIdx);return e.flatten(e.map(y,function(x){return h.outEdges(x.v,x.w)}),!0)}function l(h,f,m){for(var y=[],x=f[f.length-1],C=f[0],_;h.nodeCount();){for(;_=C.dequeue();)u(h,f,m,_);for(;_=x.dequeue();)u(h,f,m,_);if(h.nodeCount()){for(var S=f.length-2;S>0;--S)if(_=f[S].dequeue(),_){y=y.concat(u(h,f,m,_,!0));break}}}return y}function u(h,f,m,y,x){var C=x?[]:void 0;return e.forEach(h.inEdges(y.v),function(_){var S=h.edge(_),b=h.node(_.v);x&&C.push({v:_.v,w:_.w}),b.out-=S,p(f,m,b)}),e.forEach(h.outEdges(y.v),function(_){var S=h.edge(_),b=_.w,E=h.node(b);E.in-=S,p(f,m,E)}),h.removeNode(y.v),C}function c(h,f){var m=new n,y=0,x=0;e.forEach(h.nodes(),function(S){m.setNode(S,{v:S,in:0,out:0})}),e.forEach(h.edges(),function(S){var b=m.edge(S.v,S.w)||0,E=f(S),N=b+E;m.setEdge(S.v,S.w,N),x=Math.max(x,m.node(S.v).out+=E),y=Math.max(y,m.node(S.w).in+=E)});var C=e.range(x+y+3).map(function(){return new r}),_=y+1;return e.forEach(m.nodes(),function(S){p(C,_,m.node(S))}),{graph:m,buckets:C,zeroIdx:_}}function p(h,f,m){m.out?m.in?h[m.out-m.in+f].enqueue(m):h[h.length-1].enqueue(m):h[0].enqueue(m)}return rg}var ig,ck;function h$(){if(ck)return ig;ck=1;var e=at(),n=f$();ig={run:r,undo:o};function r(l){var u=l.graph().acyclicer==="greedy"?n(l,c(l)):s(l);e.forEach(u,function(p){var h=l.edge(p);l.removeEdge(p),h.forwardName=p.name,h.reversed=!0,l.setEdge(p.w,p.v,h,e.uniqueId("rev"))});function c(p){return function(h){return p.edge(h).weight}}}function s(l){var u=[],c={},p={};function h(f){e.has(p,f)||(p[f]=!0,c[f]=!0,e.forEach(l.outEdges(f),function(m){e.has(c,m.w)?u.push(m):h(m.w)}),delete c[f])}return e.forEach(l.nodes(),h),u}function o(l){e.forEach(l.edges(),function(u){var c=l.edge(u);if(c.reversed){l.removeEdge(u);var p=c.forwardName;delete c.reversed,delete c.forwardName,l.setEdge(u.w,u.v,c,p)}})}return ig}var sg,dk;function cn(){if(dk)return sg;dk=1;var e=at(),n=Qn().Graph;sg={addDummyNode:r,simplify:s,asNonCompoundGraph:o,successorWeights:l,predecessorWeights:u,intersectRect:c,buildLayerMatrix:p,normalizeRanks:h,removeEmptyRanks:f,addBorderNode:m,maxRank:y,partition:x,time:C,notime:_};function r(S,b,E,N){var j;do j=e.uniqueId(N);while(S.hasNode(j));return E.dummy=b,S.setNode(j,E),j}function s(S){var b=new n().setGraph(S.graph());return e.forEach(S.nodes(),function(E){b.setNode(E,S.node(E))}),e.forEach(S.edges(),function(E){var N=b.edge(E.v,E.w)||{weight:0,minlen:1},j=S.edge(E);b.setEdge(E.v,E.w,{weight:N.weight+j.weight,minlen:Math.max(N.minlen,j.minlen)})}),b}function o(S){var b=new n({multigraph:S.isMultigraph()}).setGraph(S.graph());return e.forEach(S.nodes(),function(E){S.children(E).length||b.setNode(E,S.node(E))}),e.forEach(S.edges(),function(E){b.setEdge(E,S.edge(E))}),b}function l(S){var b=e.map(S.nodes(),function(E){var N={};return e.forEach(S.outEdges(E),function(j){N[j.w]=(N[j.w]||0)+S.edge(j).weight}),N});return e.zipObject(S.nodes(),b)}function u(S){var b=e.map(S.nodes(),function(E){var N={};return e.forEach(S.inEdges(E),function(j){N[j.v]=(N[j.v]||0)+S.edge(j).weight}),N});return e.zipObject(S.nodes(),b)}function c(S,b){var E=S.x,N=S.y,j=b.x-E,M=b.y-N,P=S.width/2,O=S.height/2;if(!j&&!M)throw new Error("Not possible to find intersection inside of the rectangle");var B,L;return Math.abs(M)*P>Math.abs(j)*O?(M<0&&(O=-O),B=O*j/M,L=O):(j<0&&(P=-P),B=P,L=P*M/j),{x:E+B,y:N+L}}function p(S){var b=e.map(e.range(y(S)+1),function(){return[]});return e.forEach(S.nodes(),function(E){var N=S.node(E),j=N.rank;e.isUndefined(j)||(b[j][N.order]=E)}),b}function h(S){var b=e.min(e.map(S.nodes(),function(E){return S.node(E).rank}));e.forEach(S.nodes(),function(E){var N=S.node(E);e.has(N,"rank")&&(N.rank-=b)})}function f(S){var b=e.min(e.map(S.nodes(),function(M){return S.node(M).rank})),E=[];e.forEach(S.nodes(),function(M){var P=S.node(M).rank-b;E[P]||(E[P]=[]),E[P].push(M)});var N=0,j=S.graph().nodeRankFactor;e.forEach(E,function(M,P){e.isUndefined(M)&&P%j!==0?--N:N&&e.forEach(M,function(O){S.node(O).rank+=N})})}function m(S,b,E,N){var j={width:0,height:0};return arguments.length>=4&&(j.rank=E,j.order=N),r(S,"border",j,b)}function y(S){return e.max(e.map(S.nodes(),function(b){var E=S.node(b).rank;if(!e.isUndefined(E))return E}))}function x(S,b){var E={lhs:[],rhs:[]};return e.forEach(S,function(N){b(N)?E.lhs.push(N):E.rhs.push(N)}),E}function C(S,b){var E=e.now();try{return b()}finally{console.log(S+" time: "+(e.now()-E)+"ms")}}function _(S,b){return b()}return sg}var og,fk;function p$(){if(fk)return og;fk=1;var e=at(),n=cn();og={run:r,undo:o};function r(l){l.graph().dummyChains=[],e.forEach(l.edges(),function(u){s(l,u)})}function s(l,u){var c=u.v,p=l.node(c).rank,h=u.w,f=l.node(h).rank,m=u.name,y=l.edge(u),x=y.labelRank;if(f!==p+1){l.removeEdge(u);var C,_,S;for(S=0,++p;p<f;++S,++p)y.points=[],_={width:0,height:0,edgeLabel:y,edgeObj:u,rank:p},C=n.addDummyNode(l,"edge",_,"_d"),p===x&&(_.width=y.width,_.height=y.height,_.dummy="edge-label",_.labelpos=y.labelpos),l.setEdge(c,C,{weight:y.weight},m),S===0&&l.graph().dummyChains.push(C),c=C;l.setEdge(c,h,{weight:y.weight},m)}}function o(l){e.forEach(l.graph().dummyChains,function(u){var c=l.node(u),p=c.edgeLabel,h;for(l.setEdge(c.edgeObj,p);c.dummy;)h=l.successors(u)[0],l.removeNode(u),p.points.push({x:c.x,y:c.y}),c.dummy==="edge-label"&&(p.x=c.x,p.y=c.y,p.width=c.width,p.height=c.height),u=h,c=l.node(u)})}return og}var ag,hk;function Gl(){if(hk)return ag;hk=1;var e=at();ag={longestPath:n,slack:r};function n(s){var o={};function l(u){var c=s.node(u);if(e.has(o,u))return c.rank;o[u]=!0;var p=e.min(e.map(s.outEdges(u),function(h){return l(h.w)-s.edge(h).minlen}));return(p===Number.POSITIVE_INFINITY||p===void 0||p===null)&&(p=0),c.rank=p}e.forEach(s.sources(),l)}function r(s,o){return s.node(o.w).rank-s.node(o.v).rank-s.edge(o).minlen}return ag}var lg,pk;function EC(){if(pk)return lg;pk=1;var e=at(),n=Qn().Graph,r=Gl().slack;lg=s;function s(c){var p=new n({directed:!1}),h=c.nodes()[0],f=c.nodeCount();p.setNode(h,{});for(var m,y;o(p,c)<f;)m=l(p,c),y=p.hasNode(m.v)?r(c,m):-r(c,m),u(p,c,y);return p}function o(c,p){function h(f){e.forEach(p.nodeEdges(f),function(m){var y=m.v,x=f===y?m.w:y;!c.hasNode(x)&&!r(p,m)&&(c.setNode(x,{}),c.setEdge(f,x,{}),h(x))})}return e.forEach(c.nodes(),h),c.nodeCount()}function l(c,p){return e.minBy(p.edges(),function(h){if(c.hasNode(h.v)!==c.hasNode(h.w))return r(p,h)})}function u(c,p,h){e.forEach(c.nodes(),function(f){p.node(f).rank+=h})}return lg}var ug,mk;function m$(){if(mk)return ug;mk=1;var e=at(),n=EC(),r=Gl().slack,s=Gl().longestPath,o=Qn().alg.preorder,l=Qn().alg.postorder,u=cn().simplify;ug=c,c.initLowLimValues=m,c.initCutValues=p,c.calcCutValue=f,c.leaveEdge=x,c.enterEdge=C,c.exchangeEdges=_;function c(N){N=u(N),s(N);var j=n(N);m(j),p(j,N);for(var M,P;M=x(j);)P=C(j,N,M),_(j,N,M,P)}function p(N,j){var M=l(N,N.nodes());M=M.slice(0,M.length-1),e.forEach(M,function(P){h(N,j,P)})}function h(N,j,M){var P=N.node(M),O=P.parent;N.edge(M,O).cutvalue=f(N,j,M)}function f(N,j,M){var P=N.node(M),O=P.parent,B=!0,L=j.edge(M,O),q=0;return L||(B=!1,L=j.edge(O,M)),q=L.weight,e.forEach(j.nodeEdges(M),function(I){var H=I.v===M,X=H?I.w:I.v;if(X!==O){var T=H===B,Y=j.edge(I).weight;if(q+=T?Y:-Y,b(N,M,X)){var U=N.edge(M,X).cutvalue;q+=T?-U:U}}}),q}function m(N,j){arguments.length<2&&(j=N.nodes()[0]),y(N,{},1,j)}function y(N,j,M,P,O){var B=M,L=N.node(P);return j[P]=!0,e.forEach(N.neighbors(P),function(q){e.has(j,q)||(M=y(N,j,M,q,P))}),L.low=B,L.lim=M++,O?L.parent=O:delete L.parent,M}function x(N){return e.find(N.edges(),function(j){return N.edge(j).cutvalue<0})}function C(N,j,M){var P=M.v,O=M.w;j.hasEdge(P,O)||(P=M.w,O=M.v);var B=N.node(P),L=N.node(O),q=B,I=!1;B.lim>L.lim&&(q=L,I=!0);var H=e.filter(j.edges(),function(X){return I===E(N,N.node(X.v),q)&&I!==E(N,N.node(X.w),q)});return e.minBy(H,function(X){return r(j,X)})}function _(N,j,M,P){var O=M.v,B=M.w;N.removeEdge(O,B),N.setEdge(P.v,P.w,{}),m(N),p(N,j),S(N,j)}function S(N,j){var M=e.find(N.nodes(),function(O){return!j.node(O).parent}),P=o(N,M);P=P.slice(1),e.forEach(P,function(O){var B=N.node(O).parent,L=j.edge(O,B),q=!1;L||(L=j.edge(B,O),q=!0),j.node(O).rank=j.node(B).rank+(q?L.minlen:-L.minlen)})}function b(N,j,M){return N.hasEdge(j,M)}function E(N,j,M){return M.low<=j.lim&&j.lim<=M.lim}return ug}var cg,gk;function g$(){if(gk)return cg;gk=1;var e=Gl(),n=e.longestPath,r=EC(),s=m$();cg=o;function o(p){switch(p.graph().ranker){case"network-simplex":c(p);break;case"tight-tree":u(p);break;case"longest-path":l(p);break;default:c(p)}}var l=n;function u(p){n(p),r(p)}function c(p){s(p)}return cg}var dg,vk;function v$(){if(vk)return dg;vk=1;var e=at();dg=n;function n(o){var l=s(o);e.forEach(o.graph().dummyChains,function(u){for(var c=o.node(u),p=c.edgeObj,h=r(o,l,p.v,p.w),f=h.path,m=h.lca,y=0,x=f[y],C=!0;u!==p.w;){if(c=o.node(u),C){for(;(x=f[y])!==m&&o.node(x).maxRank<c.rank;)y++;x===m&&(C=!1)}if(!C){for(;y<f.length-1&&o.node(x=f[y+1]).minRank<=c.rank;)y++;x=f[y]}o.setParent(u,x),u=o.successors(u)[0]}})}function r(o,l,u,c){var p=[],h=[],f=Math.min(l[u].low,l[c].low),m=Math.max(l[u].lim,l[c].lim),y,x;y=u;do y=o.parent(y),p.push(y);while(y&&(l[y].low>f||m>l[y].lim));for(x=y,y=c;(y=o.parent(y))!==x;)h.push(y);return{path:p.concat(h.reverse()),lca:x}}function s(o){var l={},u=0;function c(p){var h=u;e.forEach(o.children(p),c),l[p]={low:h,lim:u++}}return e.forEach(o.children(),c),l}return dg}var fg,yk;function y$(){if(yk)return fg;yk=1;var e=at(),n=cn();fg={run:r,cleanup:u};function r(c){var p=n.addDummyNode(c,"root",{},"_root"),h=o(c),f=e.max(e.values(h))-1,m=2*f+1;c.graph().nestingRoot=p,e.forEach(c.edges(),function(x){c.edge(x).minlen*=m});var y=l(c)+1;e.forEach(c.children(),function(x){s(c,p,m,y,f,h,x)}),c.graph().nodeRankFactor=m}function s(c,p,h,f,m,y,x){var C=c.children(x);if(!C.length){x!==p&&c.setEdge(p,x,{weight:0,minlen:h});return}var _=n.addBorderNode(c,"_bt"),S=n.addBorderNode(c,"_bb"),b=c.node(x);c.setParent(_,x),b.borderTop=_,c.setParent(S,x),b.borderBottom=S,e.forEach(C,function(E){s(c,p,h,f,m,y,E);var N=c.node(E),j=N.borderTop?N.borderTop:E,M=N.borderBottom?N.borderBottom:E,P=N.borderTop?f:2*f,O=j!==M?1:m-y[x]+1;c.setEdge(_,j,{weight:P,minlen:O,nestingEdge:!0}),c.setEdge(M,S,{weight:P,minlen:O,nestingEdge:!0})}),c.parent(x)||c.setEdge(p,_,{weight:0,minlen:m+y[x]})}function o(c){var p={};function h(f,m){var y=c.children(f);y&&y.length&&e.forEach(y,function(x){h(x,m+1)}),p[f]=m}return e.forEach(c.children(),function(f){h(f,1)}),p}function l(c){return e.reduce(c.edges(),function(p,h){return p+c.edge(h).weight},0)}function u(c){var p=c.graph();c.removeNode(p.nestingRoot),delete p.nestingRoot,e.forEach(c.edges(),function(h){var f=c.edge(h);f.nestingEdge&&c.removeEdge(h)})}return fg}var hg,wk;function w$(){if(wk)return hg;wk=1;var e=at(),n=cn();hg=r;function r(o){function l(u){var c=o.children(u),p=o.node(u);if(c.length&&e.forEach(c,l),e.has(p,"minRank")){p.borderLeft=[],p.borderRight=[];for(var h=p.minRank,f=p.maxRank+1;h<f;++h)s(o,"borderLeft","_bl",u,p,h),s(o,"borderRight","_br",u,p,h)}}e.forEach(o.children(),l)}function s(o,l,u,c,p,h){var f={width:0,height:0,rank:h,borderType:l},m=p[l][h-1],y=n.addDummyNode(o,"border",f,u);p[l][h]=y,o.setParent(y,c),m&&o.setEdge(m,y,{weight:1})}return hg}var pg,xk;function x$(){if(xk)return pg;xk=1;var e=at();pg={adjust:n,undo:r};function n(h){var f=h.graph().rankdir.toLowerCase();(f==="lr"||f==="rl")&&s(h)}function r(h){var f=h.graph().rankdir.toLowerCase();(f==="bt"||f==="rl")&&l(h),(f==="lr"||f==="rl")&&(c(h),s(h))}function s(h){e.forEach(h.nodes(),function(f){o(h.node(f))}),e.forEach(h.edges(),function(f){o(h.edge(f))})}function o(h){var f=h.width;h.width=h.height,h.height=f}function l(h){e.forEach(h.nodes(),function(f){u(h.node(f))}),e.forEach(h.edges(),function(f){var m=h.edge(f);e.forEach(m.points,u),e.has(m,"y")&&u(m)})}function u(h){h.y=-h.y}function c(h){e.forEach(h.nodes(),function(f){p(h.node(f))}),e.forEach(h.edges(),function(f){var m=h.edge(f);e.forEach(m.points,p),e.has(m,"x")&&p(m)})}function p(h){var f=h.x;h.x=h.y,h.y=f}return pg}var mg,_k;function _$(){if(_k)return mg;_k=1;var e=at();mg=n;function n(r){var s={},o=e.filter(r.nodes(),function(h){return!r.children(h).length}),l=e.max(e.map(o,function(h){return r.node(h).rank})),u=e.map(e.range(l+1),function(){return[]});function c(h){if(!e.has(s,h)){s[h]=!0;var f=r.node(h);u[f.rank].push(h),e.forEach(r.successors(h),c)}}var p=e.sortBy(o,function(h){return r.node(h).rank});return e.forEach(p,c),u}return mg}var gg,Sk;function S$(){if(Sk)return gg;Sk=1;var e=at();gg=n;function n(s,o){for(var l=0,u=1;u<o.length;++u)l+=r(s,o[u-1],o[u]);return l}function r(s,o,l){for(var u=e.zipObject(l,e.map(l,function(y,x){return x})),c=e.flatten(e.map(o,function(y){return e.sortBy(e.map(s.outEdges(y),function(x){return{pos:u[x.w],weight:s.edge(x).weight}}),"pos")}),!0),p=1;p<l.length;)p<<=1;var h=2*p-1;p-=1;var f=e.map(new Array(h),function(){return 0}),m=0;return e.forEach(c.forEach(function(y){var x=y.pos+p;f[x]+=y.weight;for(var C=0;x>0;)x%2&&(C+=f[x+1]),x=x-1>>1,f[x]+=y.weight;m+=y.weight*C})),m}return gg}var vg,bk;function b$(){if(bk)return vg;bk=1;var e=at();vg=n;function n(r,s){return e.map(s,function(o){var l=r.inEdges(o);if(l.length){var u=e.reduce(l,function(c,p){var h=r.edge(p),f=r.node(p.v);return{sum:c.sum+h.weight*f.order,weight:c.weight+h.weight}},{sum:0,weight:0});return{v:o,barycenter:u.sum/u.weight,weight:u.weight}}else return{v:o}})}return vg}var yg,kk;function k$(){if(kk)return yg;kk=1;var e=at();yg=n;function n(o,l){var u={};e.forEach(o,function(p,h){var f=u[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:h};e.isUndefined(p.barycenter)||(f.barycenter=p.barycenter,f.weight=p.weight)}),e.forEach(l.edges(),function(p){var h=u[p.v],f=u[p.w];!e.isUndefined(h)&&!e.isUndefined(f)&&(f.indegree++,h.out.push(u[p.w]))});var c=e.filter(u,function(p){return!p.indegree});return r(c)}function r(o){var l=[];function u(h){return function(f){f.merged||(e.isUndefined(f.barycenter)||e.isUndefined(h.barycenter)||f.barycenter>=h.barycenter)&&s(h,f)}}function c(h){return function(f){f.in.push(h),--f.indegree===0&&o.push(f)}}for(;o.length;){var p=o.pop();l.push(p),e.forEach(p.in.reverse(),u(p)),e.forEach(p.out,c(p))}return e.map(e.filter(l,function(h){return!h.merged}),function(h){return e.pick(h,["vs","i","barycenter","weight"])})}function s(o,l){var u=0,c=0;o.weight&&(u+=o.barycenter*o.weight,c+=o.weight),l.weight&&(u+=l.barycenter*l.weight,c+=l.weight),o.vs=l.vs.concat(o.vs),o.barycenter=u/c,o.weight=c,o.i=Math.min(l.i,o.i),l.merged=!0}return yg}var wg,Ek;function E$(){if(Ek)return wg;Ek=1;var e=at(),n=cn();wg=r;function r(l,u){var c=n.partition(l,function(_){return e.has(_,"barycenter")}),p=c.lhs,h=e.sortBy(c.rhs,function(_){return-_.i}),f=[],m=0,y=0,x=0;p.sort(o(!!u)),x=s(f,h,x),e.forEach(p,function(_){x+=_.vs.length,f.push(_.vs),m+=_.barycenter*_.weight,y+=_.weight,x=s(f,h,x)});var C={vs:e.flatten(f,!0)};return y&&(C.barycenter=m/y,C.weight=y),C}function s(l,u,c){for(var p;u.length&&(p=e.last(u)).i<=c;)u.pop(),l.push(p.vs),c++;return c}function o(l){return function(u,c){return u.barycenter<c.barycenter?-1:u.barycenter>c.barycenter?1:l?c.i-u.i:u.i-c.i}}return wg}var xg,Nk;function N$(){if(Nk)return xg;Nk=1;var e=at(),n=b$(),r=k$(),s=E$();xg=o;function o(c,p,h,f){var m=c.children(p),y=c.node(p),x=y?y.borderLeft:void 0,C=y?y.borderRight:void 0,_={};x&&(m=e.filter(m,function(M){return M!==x&&M!==C}));var S=n(c,m);e.forEach(S,function(M){if(c.children(M.v).length){var P=o(c,M.v,h,f);_[M.v]=P,e.has(P,"barycenter")&&u(M,P)}});var b=r(S,h);l(b,_);var E=s(b,f);if(x&&(E.vs=e.flatten([x,E.vs,C],!0),c.predecessors(x).length)){var N=c.node(c.predecessors(x)[0]),j=c.node(c.predecessors(C)[0]);e.has(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+N.order+j.order)/(E.weight+2),E.weight+=2}return E}function l(c,p){e.forEach(c,function(h){h.vs=e.flatten(h.vs.map(function(f){return p[f]?p[f].vs:f}),!0)})}function u(c,p){e.isUndefined(c.barycenter)?(c.barycenter=p.barycenter,c.weight=p.weight):(c.barycenter=(c.barycenter*c.weight+p.barycenter*p.weight)/(c.weight+p.weight),c.weight+=p.weight)}return xg}var _g,Ck;function C$(){if(Ck)return _g;Ck=1;var e=at(),n=Qn().Graph;_g=r;function r(o,l,u){var c=s(o),p=new n({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(function(h){return o.node(h)});return e.forEach(o.nodes(),function(h){var f=o.node(h),m=o.parent(h);(f.rank===l||f.minRank<=l&&l<=f.maxRank)&&(p.setNode(h),p.setParent(h,m||c),e.forEach(o[u](h),function(y){var x=y.v===h?y.w:y.v,C=p.edge(x,h),_=e.isUndefined(C)?0:C.weight;p.setEdge(x,h,{weight:o.edge(y).weight+_})}),e.has(f,"minRank")&&p.setNode(h,{borderLeft:f.borderLeft[l],borderRight:f.borderRight[l]}))}),p}function s(o){for(var l;o.hasNode(l=e.uniqueId("_root")););return l}return _g}var Sg,jk;function j$(){if(jk)return Sg;jk=1;var e=at();Sg=n;function n(r,s,o){var l={},u;e.forEach(o,function(c){for(var p=r.parent(c),h,f;p;){if(h=r.parent(p),h?(f=l[h],l[h]=p):(f=u,u=p),f&&f!==p){s.setEdge(f,p);return}p=h}})}return Sg}var bg,Rk;function R$(){if(Rk)return bg;Rk=1;var e=at(),n=_$(),r=S$(),s=N$(),o=C$(),l=j$(),u=Qn().Graph,c=cn();bg=p;function p(y){var x=c.maxRank(y),C=h(y,e.range(1,x+1),"inEdges"),_=h(y,e.range(x-1,-1,-1),"outEdges"),S=n(y);m(y,S);for(var b=Number.POSITIVE_INFINITY,E,N=0,j=0;j<4;++N,++j){f(N%2?C:_,N%4>=2),S=c.buildLayerMatrix(y);var M=r(y,S);M<b&&(j=0,E=e.cloneDeep(S),b=M)}m(y,E)}function h(y,x,C){return e.map(x,function(_){return o(y,_,C)})}function f(y,x){var C=new u;e.forEach(y,function(_){var S=_.graph().root,b=s(_,S,C,x);e.forEach(b.vs,function(E,N){_.node(E).order=N}),l(_,C,b.vs)})}function m(y,x){e.forEach(x,function(C){e.forEach(C,function(_,S){y.node(_).order=S})})}return bg}var kg,Tk;function T$(){if(Tk)return kg;Tk=1;var e=at(),n=Qn().Graph,r=cn();kg={positionX:C,findType1Conflicts:s,findType2Conflicts:o,addConflict:u,hasConflict:c,verticalAlignment:p,horizontalCompaction:h,alignCoordinates:y,findSmallestWidthAlignment:m,balance:x};function s(b,E){var N={};function j(M,P){var O=0,B=0,L=M.length,q=e.last(P);return e.forEach(P,function(I,H){var X=l(b,I),T=X?b.node(X).order:L;(X||I===q)&&(e.forEach(P.slice(B,H+1),function(Y){e.forEach(b.predecessors(Y),function(U){var ee=b.node(U),J=ee.order;(J<O||T<J)&&!(ee.dummy&&b.node(Y).dummy)&&u(N,U,Y)})}),B=H+1,O=T)}),P}return e.reduce(E,j),N}function o(b,E){var N={};function j(P,O,B,L,q){var I;e.forEach(e.range(O,B),function(H){I=P[H],b.node(I).dummy&&e.forEach(b.predecessors(I),function(X){var T=b.node(X);T.dummy&&(T.order<L||T.order>q)&&u(N,X,I)})})}function M(P,O){var B=-1,L,q=0;return e.forEach(O,function(I,H){if(b.node(I).dummy==="border"){var X=b.predecessors(I);X.length&&(L=b.node(X[0]).order,j(O,q,H,B,L),q=H,B=L)}j(O,q,O.length,L,P.length)}),O}return e.reduce(E,M),N}function l(b,E){if(b.node(E).dummy)return e.find(b.predecessors(E),function(N){return b.node(N).dummy})}function u(b,E,N){if(E>N){var j=E;E=N,N=j}var M=b[E];M||(b[E]=M={}),M[N]=!0}function c(b,E,N){if(E>N){var j=E;E=N,N=j}return e.has(b[E],N)}function p(b,E,N,j){var M={},P={},O={};return e.forEach(E,function(B){e.forEach(B,function(L,q){M[L]=L,P[L]=L,O[L]=q})}),e.forEach(E,function(B){var L=-1;e.forEach(B,function(q){var I=j(q);if(I.length){I=e.sortBy(I,function(U){return O[U]});for(var H=(I.length-1)/2,X=Math.floor(H),T=Math.ceil(H);X<=T;++X){var Y=I[X];P[q]===q&&L<O[Y]&&!c(N,q,Y)&&(P[Y]=q,P[q]=M[q]=M[Y],L=O[Y])}}})}),{root:M,align:P}}function h(b,E,N,j,M){var P={},O=f(b,E,N,M),B=M?"borderLeft":"borderRight";function L(H,X){for(var T=O.nodes(),Y=T.pop(),U={};Y;)U[Y]?H(Y):(U[Y]=!0,T.push(Y),T=T.concat(X(Y))),Y=T.pop()}function q(H){P[H]=O.inEdges(H).reduce(function(X,T){return Math.max(X,P[T.v]+O.edge(T))},0)}function I(H){var X=O.outEdges(H).reduce(function(Y,U){return Math.min(Y,P[U.w]-O.edge(U))},Number.POSITIVE_INFINITY),T=b.node(H);X!==Number.POSITIVE_INFINITY&&T.borderType!==B&&(P[H]=Math.max(P[H],X))}return L(q,O.predecessors.bind(O)),L(I,O.successors.bind(O)),e.forEach(j,function(H){P[H]=P[N[H]]}),P}function f(b,E,N,j){var M=new n,P=b.graph(),O=_(P.nodesep,P.edgesep,j);return e.forEach(E,function(B){var L;e.forEach(B,function(q){var I=N[q];if(M.setNode(I),L){var H=N[L],X=M.edge(H,I);M.setEdge(H,I,Math.max(O(b,q,L),X||0))}L=q})}),M}function m(b,E){return e.minBy(e.values(E),function(N){var j=Number.NEGATIVE_INFINITY,M=Number.POSITIVE_INFINITY;return e.forIn(N,function(P,O){var B=S(b,O)/2;j=Math.max(P+B,j),M=Math.min(P-B,M)}),j-M})}function y(b,E){var N=e.values(E),j=e.min(N),M=e.max(N);e.forEach(["u","d"],function(P){e.forEach(["l","r"],function(O){var B=P+O,L=b[B],q;if(L!==E){var I=e.values(L);q=O==="l"?j-e.min(I):M-e.max(I),q&&(b[B]=e.mapValues(L,function(H){return H+q}))}})})}function x(b,E){return e.mapValues(b.ul,function(N,j){if(E)return b[E.toLowerCase()][j];var M=e.sortBy(e.map(b,j));return(M[1]+M[2])/2})}function C(b){var E=r.buildLayerMatrix(b),N=e.merge(s(b,E),o(b,E)),j={},M;e.forEach(["u","d"],function(O){M=O==="u"?E:e.values(E).reverse(),e.forEach(["l","r"],function(B){B==="r"&&(M=e.map(M,function(H){return e.values(H).reverse()}));var L=(O==="u"?b.predecessors:b.successors).bind(b),q=p(b,M,N,L),I=h(b,M,q.root,q.align,B==="r");B==="r"&&(I=e.mapValues(I,function(H){return-H})),j[O+B]=I})});var P=m(b,j);return y(j,P),x(j,b.graph().align)}function _(b,E,N){return function(j,M,P){var O=j.node(M),B=j.node(P),L=0,q;if(L+=O.width/2,e.has(O,"labelpos"))switch(O.labelpos.toLowerCase()){case"l":q=-O.width/2;break;case"r":q=O.width/2;break}if(q&&(L+=N?q:-q),q=0,L+=(O.dummy?E:b)/2,L+=(B.dummy?E:b)/2,L+=B.width/2,e.has(B,"labelpos"))switch(B.labelpos.toLowerCase()){case"l":q=B.width/2;break;case"r":q=-B.width/2;break}return q&&(L+=N?q:-q),q=0,L}}function S(b,E){return b.node(E).width}return kg}var Eg,Ak;function A$(){if(Ak)return Eg;Ak=1;var e=at(),n=cn(),r=T$().positionX;Eg=s;function s(l){l=n.asNonCompoundGraph(l),o(l),e.forEach(r(l),function(u,c){l.node(c).x=u})}function o(l){var u=n.buildLayerMatrix(l),c=l.graph().ranksep,p=0;e.forEach(u,function(h){var f=e.max(e.map(h,function(m){return l.node(m).height}));e.forEach(h,function(m){l.node(m).y=p+f/2}),p+=f+c})}return Eg}var Ng,Ik;function I$(){if(Ik)return Ng;Ik=1;var e=at(),n=h$(),r=p$(),s=g$(),o=cn().normalizeRanks,l=v$(),u=cn().removeEmptyRanks,c=y$(),p=w$(),h=x$(),f=R$(),m=A$(),y=cn(),x=Qn().Graph;Ng=C;function C(D,Q){var te=Q&&Q.debugTiming?y.time:y.notime;te("layout",function(){var oe=te(" buildLayoutGraph",function(){return L(D)});te(" runLayout",function(){_(oe,te)}),te(" updateInputGraph",function(){S(D,oe)})})}function _(D,Q){Q(" makeSpaceForEdgeLabels",function(){q(D)}),Q(" removeSelfEdges",function(){F(D)}),Q(" acyclic",function(){n.run(D)}),Q(" nestingGraph.run",function(){c.run(D)}),Q(" rank",function(){s(y.asNonCompoundGraph(D))}),Q(" injectEdgeLabelProxies",function(){I(D)}),Q(" removeEmptyRanks",function(){u(D)}),Q(" nestingGraph.cleanup",function(){c.cleanup(D)}),Q(" normalizeRanks",function(){o(D)}),Q(" assignRankMinMax",function(){H(D)}),Q(" removeEdgeLabelProxies",function(){X(D)}),Q(" normalize.run",function(){r.run(D)}),Q(" parentDummyChains",function(){l(D)}),Q(" addBorderSegments",function(){p(D)}),Q(" order",function(){f(D)}),Q(" insertSelfEdges",function(){G(D)}),Q(" adjustCoordinateSystem",function(){h.adjust(D)}),Q(" position",function(){m(D)}),Q(" positionSelfEdges",function(){k(D)}),Q(" removeBorderNodes",function(){J(D)}),Q(" normalize.undo",function(){r.undo(D)}),Q(" fixupEdgeLabelCoords",function(){U(D)}),Q(" undoCoordinateSystem",function(){h.undo(D)}),Q(" translateGraph",function(){T(D)}),Q(" assignNodeIntersects",function(){Y(D)}),Q(" reversePoints",function(){ee(D)}),Q(" acyclic.undo",function(){n.undo(D)})}function S(D,Q){e.forEach(D.nodes(),function(te){var oe=D.node(te),ue=Q.node(te);oe&&(oe.x=ue.x,oe.y=ue.y,Q.children(te).length&&(oe.width=ue.width,oe.height=ue.height))}),e.forEach(D.edges(),function(te){var oe=D.edge(te),ue=Q.edge(te);oe.points=ue.points,e.has(ue,"x")&&(oe.x=ue.x,oe.y=ue.y)}),D.graph().width=Q.graph().width,D.graph().height=Q.graph().height}var b=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},N=["acyclicer","ranker","rankdir","align"],j=["width","height"],M={width:0,height:0},P=["minlen","weight","width","height","labeloffset"],O={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},B=["labelpos"];function L(D){var Q=new x({multigraph:!0,compound:!0}),te=se(D.graph());return Q.setGraph(e.merge({},E,$(te,b),e.pick(te,N))),e.forEach(D.nodes(),function(oe){var ue=se(D.node(oe));Q.setNode(oe,e.defaults($(ue,j),M)),Q.setParent(oe,D.parent(oe))}),e.forEach(D.edges(),function(oe){var ue=se(D.edge(oe));Q.setEdge(oe,e.merge({},O,$(ue,P),e.pick(ue,B)))}),Q}function q(D){var Q=D.graph();Q.ranksep/=2,e.forEach(D.edges(),function(te){var oe=D.edge(te);oe.minlen*=2,oe.labelpos.toLowerCase()!=="c"&&(Q.rankdir==="TB"||Q.rankdir==="BT"?oe.width+=oe.labeloffset:oe.height+=oe.labeloffset)})}function I(D){e.forEach(D.edges(),function(Q){var te=D.edge(Q);if(te.width&&te.height){var oe=D.node(Q.v),ue=D.node(Q.w),me={rank:(ue.rank-oe.rank)/2+oe.rank,e:Q};y.addDummyNode(D,"edge-proxy",me,"_ep")}})}function H(D){var Q=0;e.forEach(D.nodes(),function(te){var oe=D.node(te);oe.borderTop&&(oe.minRank=D.node(oe.borderTop).rank,oe.maxRank=D.node(oe.borderBottom).rank,Q=e.max(Q,oe.maxRank))}),D.graph().maxRank=Q}function X(D){e.forEach(D.nodes(),function(Q){var te=D.node(Q);te.dummy==="edge-proxy"&&(D.edge(te.e).labelRank=te.rank,D.removeNode(Q))})}function T(D){var Q=Number.POSITIVE_INFINITY,te=0,oe=Number.POSITIVE_INFINITY,ue=0,me=D.graph(),ge=me.marginx||0,Pe=me.marginy||0;function be(Oe){var Me=Oe.x,ke=Oe.y,Fe=Oe.width,ye=Oe.height;Q=Math.min(Q,Me-Fe/2),te=Math.max(te,Me+Fe/2),oe=Math.min(oe,ke-ye/2),ue=Math.max(ue,ke+ye/2)}e.forEach(D.nodes(),function(Oe){be(D.node(Oe))}),e.forEach(D.edges(),function(Oe){var Me=D.edge(Oe);e.has(Me,"x")&&be(Me)}),Q-=ge,oe-=Pe,e.forEach(D.nodes(),function(Oe){var Me=D.node(Oe);Me.x-=Q,Me.y-=oe}),e.forEach(D.edges(),function(Oe){var Me=D.edge(Oe);e.forEach(Me.points,function(ke){ke.x-=Q,ke.y-=oe}),e.has(Me,"x")&&(Me.x-=Q),e.has(Me,"y")&&(Me.y-=oe)}),me.width=te-Q+ge,me.height=ue-oe+Pe}function Y(D){e.forEach(D.edges(),function(Q){var te=D.edge(Q),oe=D.node(Q.v),ue=D.node(Q.w),me,ge;te.points?(me=te.points[0],ge=te.points[te.points.length-1]):(te.points=[],me=ue,ge=oe),te.points.unshift(y.intersectRect(oe,me)),te.points.push(y.intersectRect(ue,ge))})}function U(D){e.forEach(D.edges(),function(Q){var te=D.edge(Q);if(e.has(te,"x"))switch((te.labelpos==="l"||te.labelpos==="r")&&(te.width-=te.labeloffset),te.labelpos){case"l":te.x-=te.width/2+te.labeloffset;break;case"r":te.x+=te.width/2+te.labeloffset;break}})}function ee(D){e.forEach(D.edges(),function(Q){var te=D.edge(Q);te.reversed&&te.points.reverse()})}function J(D){e.forEach(D.nodes(),function(Q){if(D.children(Q).length){var te=D.node(Q),oe=D.node(te.borderTop),ue=D.node(te.borderBottom),me=D.node(e.last(te.borderLeft)),ge=D.node(e.last(te.borderRight));te.width=Math.abs(ge.x-me.x),te.height=Math.abs(ue.y-oe.y),te.x=me.x+te.width/2,te.y=oe.y+te.height/2}}),e.forEach(D.nodes(),function(Q){D.node(Q).dummy==="border"&&D.removeNode(Q)})}function F(D){e.forEach(D.edges(),function(Q){if(Q.v===Q.w){var te=D.node(Q.v);te.selfEdges||(te.selfEdges=[]),te.selfEdges.push({e:Q,label:D.edge(Q)}),D.removeEdge(Q)}})}function G(D){var Q=y.buildLayerMatrix(D);e.forEach(Q,function(te){var oe=0;e.forEach(te,function(ue,me){var ge=D.node(ue);ge.order=me+oe,e.forEach(ge.selfEdges,function(Pe){y.addDummyNode(D,"selfedge",{width:Pe.label.width,height:Pe.label.height,rank:ge.rank,order:me+ ++oe,e:Pe.e,label:Pe.label},"_se")}),delete ge.selfEdges})})}function k(D){e.forEach(D.nodes(),function(Q){var te=D.node(Q);if(te.dummy==="selfedge"){var oe=D.node(te.e.v),ue=oe.x+oe.width/2,me=oe.y,ge=te.x-ue,Pe=oe.height/2;D.setEdge(te.e,te.label),D.removeNode(Q),te.label.points=[{x:ue+2*ge/3,y:me-Pe},{x:ue+5*ge/6,y:me-Pe},{x:ue+ge,y:me},{x:ue+5*ge/6,y:me+Pe},{x:ue+2*ge/3,y:me+Pe}],te.label.x=te.x,te.label.y=te.y}})}function $(D,Q){return e.mapValues(e.pick(D,Q),Number)}function se(D){var Q={};return e.forEach(D,function(te,oe){Q[oe.toLowerCase()]=te}),Q}return Ng}var Cg,Mk;function M$(){if(Mk)return Cg;Mk=1;var e=at(),n=cn(),r=Qn().Graph;Cg={debugOrdering:s};function s(o){var l=n.buildLayerMatrix(o),u=new r({compound:!0,multigraph:!0}).setGraph({});return e.forEach(o.nodes(),function(c){u.setNode(c,{label:c}),u.setParent(c,"layer"+o.node(c).rank)}),e.forEach(o.edges(),function(c){u.setEdge(c.v,c.w,{},c.name)}),e.forEach(l,function(c,p){var h="layer"+p;u.setNode(h,{rank:"same"}),e.reduce(c,function(f,m){return u.setEdge(f,m,{style:"invis"}),m})}),u}return Cg}var jg,Pk;function P$(){return Pk||(Pk=1,jg="0.8.5"),jg}var Rg,Ok;function O$(){return Ok||(Ok=1,Rg={graphlib:Qn(),layout:I$(),debug:M$(),util:{time:cn().time,notime:cn().notime},version:P$()}),Rg}var q$=O$();const qk=ev(q$),Xs=240,Yl=130,Vs=74,wu=72,Lk=Vs+wu;function L$(e,n){var s;let r=Xs;for(const o of e)r=Math.max(r,((s=n.get(o.id))==null?void 0:s.width)??Xs);return r}const NC=420,$$=2;function ta(e){var r;return((r=e.data)==null?void 0:r.sessionId)??"_default"}function D$(e,n){return((n==null?void 0:n.get(e))??0)>0?NC:0}function F$(e,n){const r=(n==null?void 0:n.get(e))??0;return r>0?6+r*36:0}function na(e,n,r){const s=n.get(e);return{w:((s==null?void 0:s.width)??Xs)+D$(e,r),h:Math.max((s==null?void 0:s.height)??Yl,F$(e,r))}}function z$(e){return[...e.keys()].sort().map(n=>`${n}:${e.get(n)}`).join("|")}function B$(e,n,r,s,o,l){const u=new qk.graphlib.Graph;u.setDefaultEdgeLabel(()=>({})),u.setGraph({rankdir:r,marginx:0,marginy:0,nodesep:70,ranksep:160,edgesep:30});const c=e.filter(b=>!o.has(b)),p=new Set(c);for(const b of c){const{w:E,h:N}=na(b,s,l);u.setNode(b,{width:E,height:N})}for(const b of n)p.has(b.source)&&p.has(b.target)&&u.setEdge(b.source,b.target);qk.layout(u);const h=new Map;let f=1/0,m=1/0,y=-1/0,x=-1/0;for(const b of c){const E=u.node(b);if(!E)continue;const N=s.get(b),j=(N==null?void 0:N.width)??Xs,M=(N==null?void 0:N.height)??Yl,P=na(b,s,l),O=E.x-P.w/2,B=E.y-P.h/2;h.set(b,{x:O,y:B}),O<f&&(f=O),B<m&&(m=B),O+j>y&&(y=O+j),B+M>x&&(x=B+M)}if(Number.isFinite(f)&&Number.isFinite(m))for(const[b,E]of h)h.set(b,{x:E.x-f,y:E.y-m});const C=Number.isFinite(y)?y-f:0,_=Number.isFinite(x)?x-m:0;let S=null;for(const b of e){const E=o.get(b);if(!E)continue;const N=s.get(b),j=(N==null?void 0:N.width)??Xs,M=(N==null?void 0:N.height)??Yl;S=S===null?{minX:E.x,minY:E.y,maxX:E.x+j,maxY:E.y+M}:{minX:Math.min(S.minX,E.x),minY:Math.min(S.minY,E.y),maxX:Math.max(S.maxX,E.x+j),maxY:Math.max(S.maxY,E.y+M)}}return{positions:h,width:C,height:_,pinnedBox:S}}function U$(e,n,r={}){const s=r.direction??"LR",o=r.pinned??new Map,l=r.measured??new Map,u=r.lanes,c=new Map;for(const b of e){const E=ta(b),N=c.get(E);N?N.push(b.id):c.set(E,[b.id])}const h=Array.from(c.keys()).sort().map(b=>({sid:b,...B$(c.get(b),n,s,l,o,u)})),f=L$(e,l),m=r.availableHeight&&r.availableHeight>0?r.availableHeight:Number.POSITIVE_INFINITY,y=b=>{const E=[[]];let N=0;for(const j of h)E.length<b&&N>0&&N+j.height>m&&(E.push([]),N=0),E[E.length-1].push(j),N+=j.height+Lk;return E},x=b=>b.reduce((E,N)=>Math.max(E,N.width),0)+NC;let C=y(r.availableWidth?$$:1);C.length>1&&C.reduce((E,N)=>E+x(N),0)+f*(C.length-1)>(r.availableWidth??0)&&(C=y(1));const _=new Map;let S=0;for(const b of C){const E=x(b);let N=0;for(const{positions:j,height:M,pinnedBox:P}of b){for(const[B,L]of j)_.set(B,{x:L.x+S,y:L.y+N});let O=N+M;P&&P.maxY>O&&P.minX<S+E&&S<P.maxX&&(O=P.maxY),N=O+Lk}S+=E+f}return e.map(b=>{const E=o.get(b.id);if(E)return{...b,position:E};const N=_.get(b.id);return N?{...b,position:N}:b})}function H$(e,n,r,s,o){const u=Vs+wu,c=60,p=x=>na(x,s,o),h=new Map(e.map(x=>[x.id,ta(x)])),f=[],m=e.map(x=>({id:x.id,pos:r.get(x.id)??n.get(x.id)})).filter(x=>x.pos!=null).sort((x,C)=>x.pos.y-C.pos.y||x.pos.x-C.pos.x||x.id.localeCompare(C.id)),y=[];for(const{id:x,pos:C}of m){const{w:_,h:S}=p(x),b=h.get(x)??"_default";if(r.has(x)){f.push({x:C.x,y:C.y,w:_,h:S,sid:b});continue}let E=C.y;for(let N=0;N<f.length+1;N++){const j=f.find(M=>{const P=M.sid===b?24:c,O=M.sid===b?24:u;return C.x<M.x+M.w+P&&M.x<C.x+_+P&&E<M.y+M.h+O&&M.y<E+S+O});if(!j)break;E=j.y+j.h+(j.sid===b?24:u)}E!==C.y&&(n.set(x,{x:C.x,y:E}),y.push(x)),f.push({x:C.x,y:E,w:_,h:S,sid:b})}return y}function V$(e,n,r,s,o,l){const u=_=>na(_,s,l),c=_=>r.get(_)??n.get(_),p=new Map;for(const _ of e){if(!c(_.id))continue;const S=ta(_),b=p.get(S);b?b.push(_):p.set(S,[_])}const h=new Set;for(const[_,S]of p)S.every(b=>o.has(b.id)&&!r.has(b.id))&&h.add(_);const f=new Map,m=[];for(const _ of e){const S=c(_.id);if(!S)continue;const{w:b,h:E}=u(_.id),N=ta(_);h.has(N)?(f.get(N)??f.set(N,[]).get(N)).push(_):m.push({x:S.x,y:S.y,w:b,h:E})}if(f.size===0)return[];const y=Vs+wu,x=(_,S,b,E)=>m.some(N=>_<N.x+N.w+Vs&&N.x<_+b+Vs&&S<N.y+N.h+y&&N.y<S+E+y),C=[];for(const _ of[...f.keys()].sort()){const S=f.get(_);let b=1/0,E=1/0,N=-1/0,j=-1/0;for(const I of S){const H=c(I.id),{w:X,h:T}=u(I.id);b=Math.min(b,H.x),E=Math.min(E,H.y),N=Math.max(N,H.x+X),j=Math.max(j,H.y+T)}const M=N-b,P=j-E,O=[...new Set(m.map(I=>Math.round(I.x)))].sort((I,H)=>I-H),B=O.length?O:[b],L=[0,...m.map(I=>I.y+I.h+y)].sort((I,H)=>I-H);let q=null;e:for(const I of B)for(const H of L){if(H>=E)break;if(!x(I,H,M,P)){q={x:I,y:H};break e}}if(q){const I=q.x-b,H=q.y-E;for(const X of S){const T=c(X.id);n.set(X.id,{x:T.x+I,y:T.y+H})}C.push(_)}for(const I of S){const H=c(I.id),{w:X,h:T}=u(I.id);m.push({x:H.x,y:H.y,w:X,h:T})}}return C}function W$(e,n,r,s,o,l=!1,u){const h=Vs+wu+1,f=8,m=1.75,y=200,x=.7,C=.01,_=q=>na(q,s,u),S=q=>r.get(q)??n.get(q),b=new Map;for(const q of e){if(!S(q.id))continue;const I=ta(q),H=b.get(I);H?H.push(q):b.set(I,[q])}const E=[],N=new Set,j=new Set,M=o.size===0;for(const q of[...b.keys()].sort()){const I=b.get(q);let H=1/0,X=1/0,T=-1/0,Y=-1/0,U=!1;for(const G of I){const k=S(G.id),{w:$,h:se}=_(G.id);H=Math.min(H,k.x),X=Math.min(X,k.y),T=Math.max(T,k.x+$),Y=Math.max(Y,k.y+se),r.has(G.id)&&(U=!0)}const ee=T-H,J=Y-X;j.add(q);const F=o.get(q);F&&(ee>F.w+f||J>F.h+f)&&N.add(q),o.set(q,{w:ee,h:J}),E.push({sid:q,members:I.map(G=>G.id),x:H,y:X,w:ee,h:J,anchored:U,mass:1})}for(const q of[...o.keys()])j.has(q)||o.delete(q);if(l||M)return[];let P=!1;for(let q=0;q<E.length&&!P;q++)for(let I=q+1;I<E.length;I++){const H=E[q],X=E[I];if(!(H.anchored&&X.anchored)&&Math.abs(H.x+H.w/2-(X.x+X.w/2))<(H.w+X.w)/2+61&&Math.abs(H.y+H.h/2-(X.y+X.h/2))<(H.h+X.h)/2+h){P=!0;break}}if(N.size===0&&!P)return[];if(N.size>0)for(const q of E)N.has(q.sid)&&(q.mass=8);else for(const q of E)q.mass=Math.max(1,q.w*q.h/(Xs*Yl));const O=new Map(E.map(q=>[q.sid,q.x])),B=new Map(E.map(q=>[q.sid,q.y]));for(let q=0;q<y;q++){const I=new Map,H=new Map;let X=0;for(let T=0;T<E.length;T++)for(let Y=T+1;Y<E.length;Y++){const U=E[T],ee=E[Y];if(U.anchored&&ee.anchored)continue;const J=U.x+U.w/2,F=U.y+U.h/2,G=ee.x+ee.w/2,k=ee.y+ee.h/2,$=(U.w+ee.w)/2+61-Math.abs(J-G),se=(U.h+ee.h)/2+h-Math.abs(F-k);if($<=0||se<=0)continue;const D=(ze,Ze)=>!ze.anchored&&!(Ze<0&&ze.x<=0),Q=(ze,Ze)=>!ze.anchored&&!(Ze<0&&ze.y<=0),te=(ze,Ze,ft)=>{const At=ze===Ze,it=At?U.sid<ee.sid?-1:1:Math.sign(ze-Ze);return ft(U,it)||ft(ee,-it)?it:At&&(ft(U,-it)||ft(ee,it))?-it:0},oe=te(J,G,D),ue=te(F,k,Q),me=oe!==0,ge=ue!==0;if(!me&&!ge)continue;const Pe=me&&(!ge||$*m<se),[be,Oe,Me,ke]=Pe?[oe,$,I,D]:[ue,se,H,Q],Fe=ke(U,be),ye=ke(ee,-be),we=U.mass,Be=ee.mass,ct=Fe?ye?Be/(we+Be):1:0,dt=ye?Fe?we/(we+Be):1:0,Qe=Oe*x;Me.set(U.sid,(Me.get(U.sid)??0)+be*Qe*ct),Me.set(ee.sid,(Me.get(ee.sid)??0)-be*Qe*dt),X+=Qe}for(const T of E)T.anchored||(T.x=Math.max(0,T.x+(I.get(T.sid)??0)),T.y=Math.max(0,T.y+(H.get(T.sid)??0)));if(X<C)break}const L=[];for(const q of E){const I=q.x-O.get(q.sid),H=q.y-B.get(q.sid);if(!(Math.abs(I)<1&&Math.abs(H)<1)){for(const X of q.members){if(r.has(X))continue;const T=n.get(X);T&&n.set(X,{x:T.x+I,y:T.y+H})}L.push(q.sid)}}return L}const G$=600;function Qg(e,n){return!(e.exitAt!=null&&n-e.exitAt>G$||e.kind==="root"&&e.state==="done"&&e.tools.length===0&&e.endedAt!=null&&e.endedAt-e.startedAt<3e3)}function Y$(e,n){const r=new Set;for(const s of e.agents.values())Qg(s,n)&&r.add(s.id);return r}function K$(e,n,r=0){return e.right+r>n.left&&e.left-r<n.right&&e.bottom+r>n.top&&e.top-r<n.bottom}function X$(e,n,r=0){if(!e)return!1;for(const s of n)if(K$(e,s,r))return!0;return!1}const Q$="Update checks are off (AGENTS_DECK_NO_UPDATE_CHECK=1).";function Z$(e){if(e.checkDisabled)return Q$;if(e.checking)return"Asking npm for the newest release…";const n=e.latest?`npm has v${e.latest}`:e.latestPending?`npm's latest tag names v${e.latestPending}, which it cannot serve yet`:"npm not reached yet",r=e.checkedAgo?` · checked ${e.checkedAgo}`:"";return`${n}${r} · re-checked periodically · click to check npm now`}function J$(e){const n=`Version v${e.running}`;return e.checkDisabled?`${n}, update checks are off`:e.checking?`${n}, checking npm for a newer release`:`${n}, check npm for a newer release`}function Vi(e){return typeof window>"u"?"":getComputedStyle(document.documentElement).getPropertyValue(e).trim()||""}function e4(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}const t4={agent:LP,sessionGroup:YP},n4=420,Al=18,r4=9e4,i4=200,s4=5*6e4,o4=6,a4=2*6e4,Dv="agent-dag.layout",Fv="agent-dag.viewport",CC="agent-dag.summariesDismissed",jC="agent-dag.sessionListOpen",RC="agent-dag.detailOpen",TC="agent-dag.usagePanelOpen",$k="agent-dag.accountsPanelOpen",Dk="agent-dag.versionNoticeDismissed",l4=15*6e4,Fk={git_checkout:"this deck runs from a git checkout — pull instead:",npx:"npx runs from a cache that cannot be upgraded in place — run:",not_writable:"the install directory is not writable by this user — run:",opted_out:"installs are off (AGENTS_DECK_NO_INSTALL=1) — run:"};function u4(e){const n=Math.max(0,Math.floor(e/1e3));return n<60?"just now":n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`}const zk="agent-dag.autoRestart",Bk="agent-dag.bundleReloadedFor";function c4(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(jC)==="1"}catch{return!1}}function d4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(jC,e?"1":"0")}catch{}}function f4(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(RC)==="1"}catch{return!1}}function h4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(RC,e?"1":"0")}catch{}}function p4(){if(typeof window>"u")return!0;const e=window.localStorage.getItem(TC);try{return e===null?!0:e==="1"}catch{return!0}}function m4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(TC,e?"1":"0")}catch{}}function g4(){if(typeof window>"u")return new Set;try{const e=window.localStorage.getItem(CC);if(!e)return new Set;const n=JSON.parse(e);return new Set(Array.isArray(n)?n.filter(r=>typeof r=="string"):[])}catch{return new Set}}function Uk(e){if(!(typeof window>"u"))try{const n=Array.from(e),r=n.length>200?n.slice(-200):n;window.localStorage.setItem(CC,JSON.stringify(r))}catch{}}function v4(){const e={positions:[],pins:[]};if(typeof window>"u")return e;try{const n=window.localStorage.getItem(Dv);if(!n)return e;const r=JSON.parse(n);if(!("v"in r)){const o=Object.entries(r).filter(([,l])=>l&&typeof l.x=="number"&&typeof l.y=="number");return{positions:o,pins:o.map(([l])=>l)}}return{positions:Object.entries(r.positions??{}).filter(([,o])=>o&&typeof o.x=="number"&&typeof o.y=="number"),pins:Array.isArray(r.pins)?r.pins:[]}}catch{return e}}function Tg(e,n){if(!(typeof window>"u"))try{const r={};for(const[s,o]of e)r[s]=o;for(const[s,o]of n)r[s]=o;window.localStorage.setItem(Dv,JSON.stringify({v:2,positions:r,pins:Array.from(n.keys())}))}catch{}}function y4(){if(typeof window>"u")return null;try{const e=window.localStorage.getItem(Fv);if(!e)return null;const n=JSON.parse(e);return typeof(n==null?void 0:n.x)!="number"||typeof(n==null?void 0:n.y)!="number"||typeof(n==null?void 0:n.zoom)!="number"?null:n}catch{return null}}function w4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Fv,JSON.stringify(e))}catch{}}function Hk(){if(!(typeof window>"u")){try{window.localStorage.removeItem(Dv)}catch{}try{window.localStorage.removeItem(Fv)}catch{}}}function x4(e,n){const r=e.agents.get(n);if(!r)return;const s=[];for(const f of e.agents.values())f.sessionId===n&&s.push(f);const o={schemaVersion:1,exportedAt:new Date().toISOString(),sessionId:n,label:r.label,cwd:r.cwd,startedAt:r.startedAt,endedAt:r.endedAt,model:r.model,agents:s.map(f=>({id:f.id,kind:f.kind,label:f.label,parentId:f.parentId,state:f.state,startedAt:f.startedAt,endedAt:f.endedAt,model:f.model,cwd:f.cwd,usage:f.usage,prompts:f.prompts,tools:f.tools.map(m=>({id:m.id,name:m.name,inputPreview:m.inputPreview,startedAt:m.startedAt,endedAt:m.endedAt,ok:m.ok,errorPreview:m.errorPreview,usage:m.usage}))}))},l=JSON.stringify(o,null,2),u=new Blob([l],{type:"application/json"}),c=URL.createObjectURL(u),p=document.createElement("a"),h=(r.label||"session").replace(/[^a-z0-9._-]/gi,"_");p.href=c,p.download=`agents-deck-${h}-${n.slice(0,8)}.json`,document.body.appendChild(p),p.click(),document.body.removeChild(p),setTimeout(()=>URL.revokeObjectURL(c),1e3)}const Zg={file:"📁",shell:"⚡",web:"🌐",agent:"🤖",task:"📋",plan:"🧭",mcp:"🔌",other:"✨"},Jg={file:"file",shell:"shell",web:"web",agent:"agent",task:"task",plan:"plan",mcp:"mcp",other:"other"},_4={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan"};function AC(e){return e.startsWith("mcp__")?"mcp":_4[e]??"other"}function IC(e,n){var s,o,l;if(!n)return!0;const r=n.toLowerCase();if(e.label.toLowerCase().includes(r)||(s=e.cwd)!=null&&s.toLowerCase().includes(r)||(o=e.cwdBasename)!=null&&o.toLowerCase().includes(r)||e.sessionId.toLowerCase().includes(r)||(l=e.firstPrompt)!=null&&l.toLowerCase().includes(r))return!0;for(const u of e.tools)if(u.name.toLowerCase().includes(r))return!0;return!1}function S4(e,n){if(!n)return null;const r=new Set([n]);let s=n;for(;s;){const l=e.agents.get(s);if(!(l!=null&&l.parentId)||r.has(l.parentId))break;r.add(l.parentId),s=l.parentId}let o=!0;for(;o;){o=!1;for(const l of e.agents.values())l.parentId&&r.has(l.parentId)&&!r.has(l.id)&&(r.add(l.id),o=!0)}return r}function b4(e,n,r,s,o,l,u,c,p,h,f,m,y,x,C,_,S,b){const E=[],N=[],j=new Set;if(l)for(const I of e.agents.values())IC(I,l)&&j.add(I.id);for(const I of e.agents.values()){if(!S.has(I.id))continue;const H=l?!j.has(I.id):!1,X=I.exitAt!=null,T=_!=null&&!_.has(I.id),Y=[H?"rf-dim":"",X?"rf-exiting":"",T?"rf-spotlit-out":""].filter(Boolean).join(" ")||void 0,U=u.get(I.id);if(E.push({id:I.id,type:"agent",position:{x:0,y:0},data:{...I,now:n,dim:H,onOpenContext:b},className:Y,...U?{width:U.width,height:U.height}:null}),I.parentId&&S.has(I.parentId)){const ee=wv(I.sessionId),J=I.state==="active"?`hsl(${ee} 80% 72%)`:`hsl(${ee} 50% 55%)`,F=l&&!j.has(I.id)&&!j.has(I.parentId),G=X,k=C.size>0&&(C.has(I.id)||C.has(I.parentId)),$=_!=null&&!_.has(I.id)&&!_.has(I.parentId),se=I.state==="active"?2:1.5,D=k?se+1.5:se,Q=F||G?.2:$?.12:1,te=[G?"rf-edge-exiting":"",k?"rf-edge-selected":""].filter(Boolean).join(" ")||void 0;N.push({id:`e:${I.parentId}->${I.id}`,source:I.parentId,target:I.id,animated:(I.state==="active"||k)&&!F&&!G,type:"smoothstep",style:{stroke:J,strokeWidth:D,opacity:Q,transition:"opacity 500ms ease, stroke-width 200ms ease"},className:te})}}const M=new Map;for(const I of e.agents.values())I.tools.length>0&&M.set(I.id,Math.min(4,I.tools.length));const P=`${y}#lanes:${z$(M)}`,O=E.filter(I=>!o.has(I.id)&&!m.has(I.id));if(O.length>0||P!==x.current){if(O.length>0){const I=U$(E,N,{direction:"LR",pinned:o,measured:u,availableWidth:r,availableHeight:s,lanes:M});for(const H of I)m.has(H.id)||m.set(H.id,H.position);V$(E,m,o,u,new Set(O.map(H=>H.id)),M)}H$(E,m,o,u,M),x.current=P}const B=W$(E,m,o,u,c,!h||f,M);B.length>0&&p(B),dd(m,e.agents),dd(o,e.agents),dd(u,dO(e.agents.values()));const L=[];let q=!1;for(const I of E){let H=o.get(I.id)??m.get(I.id);H||(H={x:0,y:0},m.set(I.id,H),q=!0),L.push({...I,position:H})}return q&&(x.current=""),{nodes:L,edges:N}}function k4(){return g.jsx(vv,{children:g.jsx(E4,{})})}function E4(){var wa,xa,fs,Ri;const e=aa(),n=A.useRef(Gg()),[,r]=A.useState(0),s=A.useCallback(()=>r(V=>V+1),[]),[o,l]=A.useState(()=>new Set),[u,c]=A.useState(null),[p,h]=A.useState(null),f=A.useCallback((V,K)=>{l(le=>{if(!K)return new Set([V]);const ce=new Set(le);return ce.has(V)?ce.delete(V):ce.add(V),ce}),c(le=>K&&le===V?le:V)},[]),m=A.useCallback(()=>{l(new Set),c(null)},[]),[y,x]=A.useState(null),[C,_]=A.useState(null),S=A.useCallback(V=>_(V),[]),b=A.useRef(g4()),[E,N]=A.useState(c4);A.useEffect(()=>{d4(E)},[E]);const[j,M]=A.useState(f4);A.useEffect(()=>{h4(j)},[j]);const[P,O]=A.useState(p4);A.useEffect(()=>{m4(P)},[P]);const[B,L]=A.useState(()=>{try{const V=window.localStorage.getItem($k);return V===null?!0:V==="1"}catch{return!0}});A.useEffect(()=>{try{window.localStorage.setItem($k,B?"1":"0")}catch{}},[B]);const[q,I]=A.useState(null),[H,X]=A.useState(!1),[T,Y]=A.useState(0),[U,ee]=A.useState(0);A.useEffect(()=>{fetch("/api/sound-hook").then(V=>V.ok?V.json():null).then(V=>{V!=null&&V.ok&&(I(V.enabled===!0),Y((V.foreign??[]).filter(K=>K.worksHere).length),ee(typeof V.parked=="number"?V.parked:0))}).catch(()=>{})},[]);const J=A.useCallback(async()=>{X(!0);try{const K=await(await fetch("/api/sound-hook",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:!q})})).json().catch(()=>null);K!=null&&K.ok&&I(K.enabled===!0),fetch("/api/sound-hook").then(le=>le.ok?le.json():null).then(le=>{le!=null&&le.ok&&(Y((le.foreign??[]).filter(ce=>ce.worksHere).length),ee(typeof le.parked=="number"?le.parked:0))}).catch(()=>{})}catch{}finally{X(!1)}},[q]),[F,G]=A.useState(!1),[k,$]=A.useState(null),[se,D]=A.useState(()=>{if(typeof window>"u")return"";try{return window.localStorage.getItem(Dk)??""}catch{return""}}),[Q,te]=A.useState(!1),oe=A.useRef(0),[ue,me]=A.useState(!1),ge=A.useCallback((V=!1)=>{V&&(oe.current=Date.now(),me(!0)),fetch(V?"/api/version?refresh=1":"/api/version").then(K=>K.ok?K.json():null).then(K=>{K&&$(K)}).catch(()=>{}).finally(()=>{V&&me(!1)})},[]),Pe=A.useCallback(()=>{ge(Date.now()-oe.current>=l4)},[ge]);A.useEffect(()=>{ge();const V=window.setInterval(Pe,5*6e4),K=()=>{document.visibilityState==="visible"&&Pe()};return document.addEventListener("visibilitychange",K),()=>{window.clearInterval(V),document.removeEventListener("visibilitychange",K)}},[ge,Pe]),A.useEffect(()=>{F&&ge()},[F,ge]);const be=(k==null?void 0:k.notice)??null,Oe=be?`${be.kind}:${be.to}`:"",Me=be!=null&&se!==Oe,ke=A.useCallback(()=>{if(!be)return;const V=se===Oe?"":Oe;D(V);try{window.localStorage.setItem(Dk,V)}catch{}},[be,Oe,se]),Fe=((wa=k==null?void 0:k.upgrade)==null?void 0:wa.state)??"idle",ye=A.useCallback(async()=>{try{await fetch("/api/upgrade",{method:"POST"})}catch{}ge()},[ge]);A.useEffect(()=>{if(Fe!=="running")return;const V=window.setInterval(ge,3e3);return()=>window.clearInterval(V)},[Fe,ge]);const we=A.useCallback(async()=>{var le;const V=k==null?void 0:k.command;if(!V)return;let K=!1;try{K=await Promise.race([((le=navigator.clipboard)==null?void 0:le.writeText(V).then(()=>!0))??Promise.resolve(!1),new Promise(ce=>window.setTimeout(()=>ce(!1),500))])}catch{K=!1}if(!K)try{const ce=document.createElement("textarea");ce.value=V,ce.setAttribute("readonly",""),ce.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(ce),ce.select(),K=document.execCommand("copy"),ce.remove()}catch{K=!1}K&&(te(!0),window.setTimeout(()=>te(!1),1600))},[k==null?void 0:k.command]),Be=A.useCallback(()=>{N(V=>(V||L(!1),!V))},[]),ct=A.useCallback(()=>{L(V=>(V||N(!1),!V))},[]),[dt,Qe]=A.useState(!1),[ze,Ze]=A.useState(0),ft=A.useRef(null),[At,it]=A.useState(!1),st=A.useRef(null),[Yt,It]=A.useState(0),Ye=A.useRef(mO()),[bt,gt]=A.useState(!1),ht=A.useCallback(()=>{const V=Ye.current,K=V.setPaused(!V.paused);for(const le of K)n.current=tx(n.current,le);gt(V.paused)},[]),[et,Bt]=A.useState(Date.now()),[wt,An]=A.useState(()=>{if(typeof window>"u")return!0;try{return window.localStorage.getItem(zk)!=="0"}catch{return!0}}),pr=A.useCallback(()=>{An(V=>{const K=!V;try{window.localStorage.setItem(zk,K?"1":"0")}catch{}return K})},[]),[Ut,Kt]=A.useState(!1),[In,gn]=A.useState("restart"),[_i,Si]=A.useState(null),er=A.useRef(!1),mr=A.useCallback(async V=>{if(er.current)return;const K=(V==null?void 0:V.upgrade)===!0;er.current=!0,gn(K?"npx":"restart"),Kt(!0);try{window.sessionStorage.setItem("agent-dag.restartPending",(be==null?void 0:be.to)??"")}catch{}try{await fetch("/api/restart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({upgrade:K})})}catch{}window.setTimeout(()=>{if(er.current){er.current=!1,Kt(!1);try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}}},K?18e4:3e4)},[be==null?void 0:be.to]),$r=A.useRef(null);A.useEffect(()=>{let V=!1;for(const le of n.current.agents.values())if(le.state==="active"){V=!0;break}const K=uO({enabled:wt,kind:be==null?void 0:be.kind,canRestart:(k==null?void 0:k.canRestart)===!0,busy:V,idleSince:$r.current,now:et});$r.current=K.idleSince,K.restart&&mr()},[wt,be==null?void 0:be.kind,k==null?void 0:k.canRestart,et,mr]),A.useEffect(()=>{let V=null;try{V=window.sessionStorage.getItem(Bk)}catch{return}if(lO({bundle:"1.33.84",running:k==null?void 0:k.running,lastTried:V})){try{window.sessionStorage.setItem(Bk,(k==null?void 0:k.running)??"")}catch{return}window.location.reload()}},[k==null?void 0:k.running]),A.useEffect(()=>{const V=k==null?void 0:k.running;if(!V)return;let K=null;try{K=window.sessionStorage.getItem("agent-dag.restartPending")}catch{return}if(K==null||K&&K!==V)return;try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}er.current=!1,Kt(!1),Si(V);const le=window.setTimeout(()=>Si(null),6e3);return()=>window.clearTimeout(le)},[k==null?void 0:k.running]);const Dr=A.useRef(v4()).current;A.useRef(!1);const vt=A.useRef(new Map(Dr.positions.filter(([V])=>Dr.pins.includes(V)))),tr=A.useRef(null),vn=A.useState(()=>y4())[0],[Mn,nr]=A.useState(""),[gr,Fr]=A.useState(()=>new Set),[Pn,rs]=A.useState(()=>typeof window>"u"?"dark":window.localStorage.getItem("agent-dag.theme")??"dark"),[is,ss]=A.useState(!1),yn=A.useRef(null);A.useEffect(()=>{document.documentElement.dataset.theme=Pn;try{window.localStorage.setItem("agent-dag.theme",Pn)}catch{}},[Pn]),A.useEffect(()=>{if(!vn)return;const V=window.setTimeout(()=>{try{e.setViewport(vn,{duration:0})}catch{}},60);return()=>window.clearTimeout(V)},[e,vn]);const bi=A.useRef(!0);A.useEffect(()=>{const V=new EventSource("/events"),K=pO(s,{now:()=>Date.now(),setTimeout:(le,ce)=>window.setTimeout(le,ce),clearTimeout:le=>window.clearTimeout(le)});return V.addEventListener("open",()=>{G(!0),ss(!0)}),V.addEventListener("error",()=>G(!1)),V.addEventListener("replay-end",()=>{bi.current=!1,K.flush()}),V.addEventListener("hook",le=>{try{const ce=JSON.parse(le.data);if(!Ye.current.accept(ce))return;n.current=tx(n.current,ce),ce.replay===!0||bi.current||Date.now()-ce.receivedAt>3e4?K.replay():K.live()}catch{}}),()=>{V.close(),K.cancel()}},[s]),A.useEffect(()=>{const V=setInterval(()=>{const K=Date.now();Bt(K);let le=bP(n.current,K,r4);_P(n.current,K,i4,s4)&&(le=!0),SP(n.current,K,o4,a4)&&(le=!0),le&&s()},250);return()=>clearInterval(V)},[s]);const zr=A.useRef(null),rr=A.useRef(0),os=420,Ht=A.useCallback((V=500)=>{try{const _e=document.querySelector(".canvas-wrap"),Ae=Array.from(document.querySelectorAll(".react-flow__node")).filter(xt=>xt.offsetWidth>0);if(!_e||Ae.length===0)return;const qe=_e.getBoundingClientRect(),Ge=e.getViewport();if(!Number.isFinite(Ge.zoom)||Ge.zoom<=0)return;const Le=xt=>(xt-qe.left-Ge.x)/Ge.zoom,Ke=xt=>(xt-qe.top-Ge.y)/Ge.zoom,en=Ae.map(xt=>xt.getBoundingClientRect()),Fn=Math.min(...en.map(xt=>Le(xt.left))),uo=Math.max(...en.map(xt=>Le(xt.right))),xr=Math.min(...en.map(xt=>Ke(xt.top))),Ti=Math.max(...en.map(xt=>Ke(xt.bottom))),Jr=uo-Fn,_r=Ti-xr;if(!(Jr>0&&_r>0))return;const wn=Math.max(.2,Math.min(1,(qe.width-160)/(Jr+os)*.86,(qe.height-160)/_r*.86));e.setViewport({x:80-Fn*wn,y:Math.max(80,(qe.height-_r*wn)/2)-xr*wn,zoom:wn},{duration:V}),rr.current=Date.now(),window.setTimeout(()=>{try{const xt={x:80-Fn*wn,y:Math.max(80,(qe.height-_r*wn)/2)-xr*wn,zoom:wn},_a=e.getViewport();(Math.abs(_a.zoom-wn)>.01||Math.abs(_a.x-xt.x)>2)&&e.setViewport(xt,{duration:0})}catch{}},V+60)}catch{}},[e]),Br=A.useRef(""),Ur=A.useRef(null),ki=A.useRef(0),Hr=A.useCallback(()=>{ki.current=Date.now()},[]),Je="agent-dag.autoFitDisabled",On=A.useRef((()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Je)==="1"}catch{return!1}})()),[Vr,Ei]=A.useState(On.current),vr=A.useCallback(()=>{if(!On.current){On.current=!0,Ei(!0);try{window.localStorage.setItem(Je,"1")}catch{}}},[]),as=A.useCallback(()=>{On.current=!1,Ei(!1);try{window.localStorage.removeItem(Je)}catch{}Ht(400)},[e,Ht]);A.useEffect(()=>{const V=setInterval(()=>{if(On.current||Date.now()-ki.current<800)return;const K=n.current,le=Date.now(),ce=[];for(const Le of K.agents.values())Qg(Le,le)&&ce.push({id:Le.id});if(ce.length===0)return;const ve=e.getViewport(),_e=window.innerWidth-360,Ae=window.innerHeight-52;let qe=!1,Ge=!1;for(const{id:Le}of ce){const Ke=dn.current.get(Le),en=vt.current.get(Le)??Qt.current.get(Le);if(!Ke||!en)continue;Ge=!0;const Fn=en.x*ve.zoom+ve.x,uo=en.y*ve.zoom+ve.y,xr=(en.x+Ke.width)*ve.zoom+ve.x,Ti=(en.y+Ke.height)*ve.zoom+ve.y;if(xr>0&&Fn<_e&&Ti>0&&uo<Ae){qe=!0;break}}Ge&&!qe&&Ht(600)},1500);return()=>clearInterval(V)},[e]);const Wr=A.useRef(!1),dn=A.useRef(new Map),Vt=A.useRef(0),Ni=A.useCallback(V=>{const K=dn.current;let le=!1;for(const ce of V.nodeInternals.values()){const ve=ce.width,_e=ce.height;if(ve==null||_e==null)continue;const Ae=K.get(ce.id);Ae?(Math.abs(Ae.height-_e)>4||Math.abs(Ae.width-ve)>4)&&(K.set(ce.id,{width:ve,height:_e}),le=!0):(K.set(ce.id,{width:ve,height:_e}),le=!0)}return le&&(Vt.current+=1),Vt.current},[]),Xt=Xe(Ni),[pa,xu]=A.useState(0);A.useEffect(()=>{let V=0;const K=()=>{const ce=dn.current;let ve=!1;for(const _e of document.querySelectorAll(".react-flow__node[data-id]")){const Ae=_e.getAttribute("data-id");if(!Ae)continue;const qe=_e.offsetWidth,Ge=_e.offsetHeight;if(!qe||!Ge)continue;const Le=ce.get(Ae);(!Le||Math.abs(Le.width-qe)>4||Math.abs(Le.height-Ge)>4)&&(ce.set(Ae,{width:qe,height:Ge}),ve=!0)}ve&&xu(_e=>_e+1)};if(Wr.current)return;let le=0;return document.visibilityState==="hidden"?le=window.setTimeout(K,32):V=requestAnimationFrame(K),()=>{cancelAnimationFrame(V),window.clearTimeout(le)}});const Qt=A.useRef(new Map(Dr.positions)),Gr=A.useRef(""),qn=A.useMemo(()=>{const V=[];for(const K of n.current.agents.values())Qg(K,et)&&V.push(K.id+(K.parentId?`>${K.parentId}`:""));return V.sort(),`${V.join("|")}#sv${Xt}.${pa}`},[n.current,n.current.lastSeq,et,Xt,pa]),Ln=A.useRef(null);A.useEffect(()=>(Ln.current!=null&&window.clearTimeout(Ln.current),Ln.current=window.setTimeout(()=>{Tg(Qt.current,vt.current)},1500),()=>{Ln.current!=null&&window.clearTimeout(Ln.current)}),[qn]),A.useEffect(()=>{if(Br.current===qn)return;const V=Br.current;if(Br.current=qn,!V||On.current)return;Date.now()-rr.current>1200&&Ht(400),zr.current&&window.clearTimeout(zr.current),zr.current=window.setTimeout(()=>{On.current||Ht(500)},280)},[qn,e,Ht]);const Yr=A.useMemo(()=>{if(o.size===0)return null;const V=new Set;for(const K of o){const le=S4(n.current,K);if(le)for(const ce of le)V.add(ce)}return V.size>0?V:null},[n.current,n.current.lastSeq,o]),no=A.useMemo(()=>Y$(n.current,et),[n.current,n.current.lastSeq,et]),ma=A.useRef(null),[Kr,ro]=A.useState({w:0,h:0});A.useEffect(()=>{const V=ma.current;if(!V||typeof ResizeObserver>"u")return;const K=new ResizeObserver(le=>{var ve;const ce=(ve=le[0])==null?void 0:ve.contentRect;ce&&ro(_e=>Math.abs(_e.w-ce.width)>40||Math.abs(_e.h-ce.height)>40?{w:ce.width,h:ce.height}:_e)});return K.observe(V),ro({w:V.clientWidth,h:V.clientHeight}),()=>K.disconnect()},[]);const io=A.useRef(new Map),[Xr,_u]=A.useState(!1);A.useEffect(()=>{const V=window.setTimeout(()=>_u(!0),2500);return()=>window.clearTimeout(V)},[]);const[so,Ue]=A.useState(!1),$n=A.useRef(null),[ls,us]=A.useState(!1),ga=A.useCallback(()=>{$n.current&&(window.clearTimeout($n.current),$n.current=null),Ue(!1)},[]),va=A.useCallback(V=>{V.length!==0&&queueMicrotask(()=>{Ue(!0),$n.current&&window.clearTimeout($n.current),$n.current=window.setTimeout(()=>Ue(!1),n4+80)})},[]);A.useEffect(()=>()=>{$n.current&&window.clearTimeout($n.current)},[]);const oo=Kr.w>0?Kr.w*.92:0,cs=Kr.h>0?Kr.h:0,{nodes:Zt,edges:ir}=A.useMemo(()=>b4(n.current,et,oo,cs,vt.current,Mn,dn.current,io.current,va,Xr,ls,Qt.current,qn,Gr,o,Yr,no,S),[n.current,n.current.lastSeq,et,oo,cs,Xr,ls,Mn,qn,o,Yr,no,S,ze]),Dn=A.useMemo(()=>{const V=new Map;for(const le of Zt){const ce=le.data;if(!(ce!=null&&ce.sessionId)||ce.exitAt!=null)continue;const ve=le.width,_e=le.height;if(ve==null||_e==null)continue;const Ae=le.position.x,qe=le.position.y,Ge=Ae+ve,Le=qe+_e,Ke=V.get(ce.sessionId);Ke?(Ke.minX=Math.min(Ke.minX,Ae),Ke.minY=Math.min(Ke.minY,qe),Ke.maxX=Math.max(Ke.maxX,Ge),Ke.maxY=Math.max(Ke.maxY,Le)):V.set(ce.sessionId,{minX:Ae,minY:qe,maxX:Ge,maxY:Le})}const K=[];for(const[le,ce]of V){const ve=ce.maxX-ce.minX+Al*2,_e=ce.maxY-ce.minY+Al*2;K.push({id:`group:${le}`,type:"sessionGroup",position:{x:ce.minX-Al,y:ce.minY-Al},data:{sessionId:le,w:ve,h:_e},width:ve,height:_e,style:{width:ve,height:_e},zIndex:-1,draggable:!0,selectable:!1,focusable:!1,deletable:!1,connectable:!1})}return K},[Zt,et]),sr=A.useMemo(()=>{const V=[...Dn,...Zt],K=st.current;return!K||K.size===0?V:V.map(le=>{const ce=K.get(le.id);return ce?{...le,position:ce}:le})},[Dn,Zt,Yt]),Ci=A.useMemo(()=>{if(!Mn)return null;const V=new Set;for(const K of n.current.agents.values())IC(K,Mn)&&V.add(K.id);return V},[n.current,n.current.lastSeq,Mn]),or=A.useMemo(()=>{const V=new Set;for(const K of n.current.agents.values())for(const le of K.tools)V.add(AC(le.name));return Object.keys(Zg).filter(K=>V.has(K))},[n.current,n.current.lastSeq]);A.useEffect(()=>{if(or.length<=1){it(!1);return}let V=0;const K=()=>{const le=ft.current;if(le&&!document.hidden){const ce=le.getBoundingClientRect(),ve=Array.from(document.querySelectorAll(".react-flow__node, .tool-burst")).map(Ae=>Ae.getBoundingClientRect()),_e=X$(ce,ve,8);it(Ae=>Ae===_e?Ae:_e)}V=window.setTimeout(K,300)};return K(),()=>window.clearTimeout(V)},[or.length]);const Jt=A.useMemo(()=>{const V=new Map;for(const le of n.current.agents.values())for(const ce of le.tools){if(!ce.name.startsWith("mcp__"))continue;const ve=ce.name.slice(5),_e=ve.indexOf("__"),Ae=_e>0?ve.slice(0,_e):ve;V.set(Ae,(V.get(Ae)??0)+1)}const K=[];for(const[le,ce]of V){let ve=5381;for(let _e=0;_e<le.length;_e++)ve=(ve<<5)+ve^le.charCodeAt(_e);K.push({server:le,count:ce,hue:Math.abs(ve)%360})}return K.sort((le,ce)=>ce.count-le.count),K},[n.current,n.current.lastSeq]),Su=A.useCallback(V=>{Fr(K=>{const le=new Set(K);return le.has(V)?le.delete(V):le.add(V),le})},[]),Mt=u?n.current.agents.get(u):null,Qr=p?Array.from(n.current.agents.values()).flatMap(V=>V.tools).find(V=>V.id===p)??null:null,ao=A.useCallback(async()=>{try{await fetch("/api/clear",{method:"POST"})}catch{}n.current=Gg(),vt.current.clear(),dn.current.clear(),Qt.current.clear(),Gr.current="",Hk(),m(),s()},[s,m]),ds=A.useCallback(()=>{vt.current.clear(),Qt.current.clear(),Gr.current="",Hk(),s(),window.setTimeout(()=>Ht(500),80)},[s,e,Ht]),ji=A.useCallback(()=>Ht(500),[Ht]),lo=A.useRef(Zt);lo.current=Zt;const ya=A.useRef(u);ya.current=u;const yr=A.useCallback(V=>{const K=lo.current;if(K.length===0)return;const le=K.slice().sort((qe,Ge)=>qe.position.y-Ge.position.y||qe.position.x-Ge.position.x),ce=ya.current,ve=ce?le.findIndex(qe=>qe.id===ce):-1;let _e;ve===-1?_e=V===1?0:le.length-1:_e=(ve+V+le.length)%le.length;const Ae=le[_e];Ae&&(f(Ae.id,!1),window.setTimeout(()=>{try{e.fitView({padding:.35,duration:350,nodes:[Ae]})}catch{}rr.current=Date.now()},30))},[f,e]);A.useEffect(()=>{const V=K=>{var ce,ve;const le=((ce=K.target)==null?void 0:ce.tagName)==="INPUT";if(K.key==="Escape"){le?K.target.blur():m();return}if(!le&&!cO(K)){if(K.key==="/"){K.preventDefault(),(ve=yn.current)==null||ve.focus();return}K.key===" "&&(K.preventDefault(),ht()),(K.key==="c"||K.key==="C")&&ao(),(K.key==="r"||K.key==="R")&&ds(),(K.key==="f"||K.key==="F")&&ji(),(K.key==="l"||K.key==="L")&&Be(),(K.key==="h"||K.key==="H")&&Qe(_e=>!_e),(K.key==="u"||K.key==="U")&&O(_e=>!_e),(K.key==="a"||K.key==="A")&&ct(),(K.key==="j"||K.key==="J")&&yr(1),(K.key==="k"||K.key==="K")&&yr(-1),(K.key==="t"||K.key==="T")&&rs(_e=>_e==="dark"?"light":"dark")}};return window.addEventListener("keydown",V),()=>window.removeEventListener("keydown",V)},[ao,ds,ji,m,yr,ht]);const wr=n.current.agents.size,Zr=new Set(Array.from(n.current.agents.values()).map(V=>V.sessionId)).size,Pt=A.useMemo(()=>{let V=0,K=0,le=0,ce=0,ve=0,_e=0,Ae=0,qe=0,Ge=0;for(const Le of n.current.agents.values()){V+=Le.usage.inputTokens,K+=Le.usage.outputTokens,le+=Le.usage.cacheReadTokens,ce+=Le.usage.cacheCreateTokens;const Ke=un(Le.usage,Le.model);ve+=Ke.total,_e+=Ke.input,Ae+=Ke.output,qe+=Ke.cacheRead,Ge+=Ke.cacheWrite}return{inT:V,outT:K,cacheR:le,cacheC:ce,sum:V+K,cost:{total:ve,input:_e,output:Ae,cacheRead:qe,cacheWrite:Ge}}},[n.current,n.current.lastSeq]);return g.jsxs("div",{className:"app",children:[g.jsxs("header",{className:"topbar",children:[g.jsxs("div",{className:"brand",children:[g.jsx("span",{className:"logo"}),"agents-deck",be?g.jsxs("button",{type:"button",className:"v stale",onClick:ke,title:be.kind==="restart"?`Running v${be.from}; v${be.to} is installed on disk. Restart to pick it up.`:`Running v${be.from}; v${be.to} is on npm.`,children:["v",be.from,g.jsx("span",{className:"v-dot","aria-hidden":!0})]}):(()=>{const V={running:(k==null?void 0:k.running)??"1.33.84",latest:k==null?void 0:k.latest,latestPending:k==null?void 0:k.latestPending,checkedAgo:k!=null&&k.checkedAt?u4(et-k.checkedAt):null,checkDisabled:k==null?void 0:k.checkDisabled,checking:ue};return g.jsxs("button",{type:"button",className:ue?"v checking":"v",onClick:()=>ge(!0),"aria-busy":ue||void 0,"aria-label":J$(V),title:Z$(V),children:["v",V.running]})})()]}),Mt&&(()=>{const V=un(Mt.usage,Mt.model),K=Math.max(0,((Mt.endedAt??et)-Mt.startedAt)/1e3),le=Mt.state==="active"?Wl(V.total,K):null,ce=o.size-1;return g.jsxs("button",{type:"button",className:"selected-ribbon",title:`Fit view to ${Mt.label}`,onClick:()=>{try{const ve=Zt.find(_e=>_e.id===Mt.id);ve&&e.fitView({padding:.35,duration:500,nodes:[ve]}),rr.current=Date.now()}catch{}},children:[g.jsx("span",{className:`state-pill state-${Mt.state}`,children:Mt.state==="active"?"live":Mt.state}),g.jsx("span",{className:"selected-label",children:Mt.label}),V.total>0&&g.jsxs("span",{className:"selected-cost",children:[Ve(V.total),le?g.jsxs("span",{className:"selected-rate",children:[" · ",le]}):null]}),ce>0&&g.jsxs("span",{className:"selected-extra",children:["+",ce]}),g.jsx("span",{role:"button","aria-label":"Deselect",className:"selected-close",onClick:ve=>{ve.stopPropagation(),m()},children:"×"})]})})(),g.jsxs("div",{className:"actions",children:[g.jsxs("div",{className:"search",children:[g.jsx("span",{className:"search-icon","aria-hidden":!0,children:"⌕"}),g.jsx("input",{ref:yn,type:"text",placeholder:"Search agents, cwd, tools…",value:Mn,onChange:V=>nr(V.target.value),spellCheck:!1,"aria-label":"Filter the graph"}),Mn?g.jsx("button",{className:"search-clear","aria-label":"Clear search",onClick:()=>nr(""),children:"×"}):g.jsx("kbd",{className:"search-kbd","aria-hidden":!0,children:"/"})]}),g.jsxs("span",{className:"status",role:"status",children:[g.jsx("span",{className:`pill ${F?"live":"dead"}`,title:F?"Receiving events":"SSE disconnected",children:F?"live":"offline"}),g.jsxs("span",{className:"stat",title:"Distinct CC sessions",children:[g.jsx("span",{className:"count",children:Zr}),g.jsx("span",{className:"lbl",children:"sessions"})]}),g.jsxs("span",{className:"stat",title:"Total agents (root + subagents)",children:[g.jsx("span",{className:"count",children:wr}),g.jsx("span",{className:"lbl",children:"agents"})]}),g.jsxs("span",{className:"stat",title:"Total hook events received",children:[g.jsx("span",{className:"count",children:n.current.totalEvents}),g.jsx("span",{className:"lbl",children:"events"})]}),Pt.sum>0&&g.jsxs("span",{className:"stat",title:`in:${Pt.inT.toLocaleString()} out:${Pt.outT.toLocaleString()} cache-r:${Pt.cacheR.toLocaleString()} cache-c:${Pt.cacheC.toLocaleString()}`,children:[g.jsx("span",{className:"count",children:e4(Pt.sum)}),g.jsx("span",{className:"lbl",children:"tokens"})]}),Jt.length>0&&g.jsxs("span",{className:"stat mcp-legend",title:`MCP servers seen this session:
|
|
59
|
+
burn: ${y}`:"");return g.jsxs("span",{className:"cost-meta",title:x,children:[g.jsx("b",{children:Ve(f.total)}),y&&g.jsx("span",{className:"cost-rate",children:y})]})})()]}),g.jsx(Ks,{type:"source",position:je.Right,style:{background:"transparent",border:"none"}})]})}function $P({state:e}){const n=e==="active"?"live":e==="done"?"done":"err";return g.jsx("span",{className:`state-pill state-${e}`,children:n})}function DP(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function FP({tools:e,now:n}){const l=new Array(24).fill(0);let u=0;for(const y of e){const x=n-y.startedAt;if(x<0||x>=6e4)continue;const C=23-Math.floor(x/2500);C>=0&&C<24&&(l[C]+=1,u+=1)}const c=Math.max(1,...l),p=132,h=14,f=p/24,m=c/(2500/1e3);return g.jsxs("div",{className:"tool-spark-row",title:`${u} tool calls in last 60s · peak ${m.toFixed(1)}/s`,children:[g.jsx("svg",{className:"tool-spark",width:p,height:h,viewBox:`0 0 ${p} ${h}`,"aria-hidden":!0,children:l.map((y,x)=>{const C=y===0?1.5:Math.max(1.5,y/c*h),_=x===23&&y>0,b=`tool-spark-bar${y>0?" active":""}${_?" latest":""}`;return g.jsx("rect",{x:x*f+.4,y:h-C,width:Math.max(.5,f-1),height:C,rx:.8,className:b},x)})}),g.jsx("span",{className:"tool-spark-label",children:"60s"})]})}function la(e){const n=e.match(/^claude[-_](opus|sonnet|haiku|fable|mythos)[-_](\d+(?:[-_.]\d+)*)/i);if(n){const o=n[1][0].toUpperCase()+n[1].slice(1).toLowerCase(),l=n[2].replace(/[-_]/g,".");return`${o} ${l}`}const r=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)[-_]codex\b/i);if(r)return`GPT-${r[1].replace(/[-_]/g,".")} Codex`;const s=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)/i);return s?`GPT-${s[1].replace(/[-_]/g,".")}`:e}function rx(e){if(e==null)return"(none)";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function zP(e){if(e.endedAt==null)return"in-flight…";const n=e.endedAt-e.startedAt;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(2)}s`}function BP({tool:e,onClose:n}){A.useEffect(()=>{const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]);const r=e.endedAt==null?"inflight":e.ok===!1?"err":"done";return g.jsx("div",{className:"modal-backdrop",onClick:n,role:"dialog","aria-modal":"true",children:g.jsxs("div",{className:"modal",onClick:s=>s.stopPropagation(),children:[g.jsxs("header",{className:"modal-head",children:[g.jsxs("div",{className:"modal-title",children:[g.jsx("span",{className:`status-dot ${r}`}),g.jsx("span",{className:"modal-tool-name",children:e.name}),g.jsxs("span",{className:"modal-tool-id",title:e.id,children:[e.id.slice(0,12),"…"]})]}),g.jsxs("div",{className:"modal-actions",children:[g.jsx("span",{className:"modal-dur",children:zP(e)}),g.jsx("button",{className:"btn icon-btn",onClick:n,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),g.jsxs("section",{className:"modal-body",children:[e.trimmed&&g.jsx("div",{className:"modal-section",children:g.jsx("p",{className:"modal-note",children:"Full payloads for this call were released to keep memory bounded — only the previews below are still held."})}),g.jsxs("div",{className:"modal-section",children:[g.jsx("h4",{children:"Input"}),g.jsx("pre",{children:rx(e.input??e.inputPreview)})]}),g.jsxs("div",{className:"modal-section",children:[g.jsxs("h4",{children:["Response ",r==="err"&&g.jsx("span",{className:"err-tag",children:"error"})]}),g.jsx("pre",{children:e.endedAt==null?"(waiting…)":rx(e.response??e.errorPreview)})]})]})]})})}const Nl=18,ix=26,UP=12;function HP(e){const n=new Map;for(const o of e.nodeInternals.values()){const l=o.data;if(!(l!=null&&l.sessionId)||l.exitAt!=null||o.width==null||o.height==null)continue;const u=o.position.x,c=o.position.y,p=u+o.width,h=c+o.height,f=n.get(l.sessionId);f?(f.minX=Math.min(f.minX,u),f.minY=Math.min(f.minY,c),f.maxX=Math.max(f.maxX,p),f.maxY=Math.max(f.maxY,h),l.kind==="root"&&(f.label=sx(l)??f.label)):n.set(l.sessionId,{minX:u,minY:c,maxX:p,maxY:h,label:sx(l)??l.sessionId})}const r=new Map;for(const o of n.values())r.set(o.label,(r.get(o.label)??0)+1);const s=[];for(const[o,l]of n){const c=(r.get(l.label)??0)>1?`${l.label} · ${VP(o)}`:l.label;s.push({sessionId:o,label:c,x:l.minX-Nl,y:l.minY-Nl-ix,w:l.maxX-l.minX+Nl*2,h:l.maxY-l.minY+Nl*2+ix})}return s}function VP(e){const n=e.match(/[a-zA-Z0-9]{4}/);return n?n[0]:e.slice(0,4)}function sx(e){if(e.kind==="root")return e.label}function WP(){const{x:e,y:n,zoom:r}=dN(),s=aa(),o=Xe(HP,GP);if(o.length<=1)return null;const l=u=>{try{const c=s.getNodes().filter(p=>{const h=p.data;return(h==null?void 0:h.sessionId)===u});if(c.length===0)return;s.fitView({padding:.3,duration:500,nodes:c})}catch{}};return g.jsx("div",{className:"session-clusters",children:o.map(u=>{const c=wv(u.sessionId),p={position:"absolute",left:u.x*r+e,top:u.y*r+n,width:u.w*r,height:u.h*r,borderColor:`hsl(${c} 65% 55% / 0.32)`,background:`hsl(${c} 70% 50% / 0.04)`},h={position:"absolute",left:u.x*r+e+16*r,top:(u.y-UP)*r+n,color:`hsl(${c} 70% 78%)`,borderColor:`hsl(${c} 65% 55% / 0.5)`,transform:`scale(${Math.min(1,r)})`,transformOrigin:"left top"};return g.jsxs(ae.Fragment,{children:[g.jsx("div",{className:"cluster-card",style:p,"aria-hidden":!0}),g.jsx("button",{type:"button",className:"cluster-label",style:h,title:`Fit view to ${u.label} · drag the wrapper to move the whole session`,onClick:()=>l(u.sessionId),children:u.label})]},u.sessionId)})})}function GP(e,n){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++){const s=e[r],o=n[r];if(s.sessionId!==o.sessionId||s.label!==o.label||s.x!==o.x||s.y!==o.y||s.w!==o.w||s.h!==o.h)return!1}return!0}function YP({data:e}){return g.jsx("div",{className:"session-group-handle",style:{width:(e==null?void 0:e.w)??0,height:(e==null?void 0:e.h)??0}})}const _N=600,KP=4,XP=36,Kg=16,QP=60,ZP=6,ox=220,ax=96,JP=28,e3={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan",ScheduleWakeup:"other",CronCreate:"other",CronList:"other",CronDelete:"other",Monitor:"other",PushNotification:"other",RemoteTrigger:"other",ToolSearch:"other"};function t3(e){return e.startsWith("mcp__")?"mcp":e3[e]??"other"}const n3={Read:"📖",Write:"💾",Edit:"✏️",MultiEdit:"🔧",Glob:"🗺️",Grep:"🔎",Bash:"⚡",PowerShell:"💻",shell:"⚡",exec_command:"⚡",shell_command:"⚡",write_stdin:"💻",wait:"⏳",apply_patch:"🩹",update_plan:"📋",LS:"📂",Task:"🤖",Agent:"🤖",TodoWrite:"📋",TaskCreate:"📋",TaskUpdate:"📝",TaskList:"🗂️",TaskGet:"🗂️",TaskOutput:"📤",TaskStop:"🛑",WebFetch:"🌐",WebSearch:"🔭",ToolSearch:"🧰",NotebookEdit:"📓",EnterPlanMode:"🧭",ExitPlanMode:"🏁",AskUserQuestion:"❓",ScheduleWakeup:"⏰",CronCreate:"⏰",CronList:"📅",CronDelete:"🗑️",Skill:"🎯",Workflow:"🎬",Monitor:"📡",PushNotification:"🔔",RemoteTrigger:"📡"};function lx(e){return e.startsWith("mcp__")?"🔌":n3[e]??"✨"}const r3={git:"🐙",gh:"🐙",glab:"🐙",npm:"📦",pnpm:"📦",yarn:"📦",bun:"📦",brew:"🍺",node:"🟢",deno:"🟢",python:"🐍",python3:"🐍",py:"🐍",pip:"🐍",pip3:"🐍",uv:"🐍",ruby:"💎",bundle:"💎",gem:"💎",cargo:"🦀",rustc:"🦀",rustup:"🦀",go:"🐹",docker:"🐳","docker-compose":"🐳",podman:"🐳",kubectl:"☸️",helm:"☸️",k9s:"☸️",grep:"🔎",rg:"🔎",ag:"🔎",ack:"🔎",find:"🔍",fd:"🔍",locate:"🔍",which:"🔍",ls:"📂",dir:"📂",tree:"📂",cat:"📄",head:"📄",tail:"📄",less:"📄",more:"📄",bat:"📄",cp:"📋",mv:"✂️",rm:"🗑️",rmdir:"🗑️",mkdir:"📁",touch:"📁",sed:"✏️",awk:"✏️",tr:"✏️",curl:"🌐",wget:"🌐",http:"🌐",httpie:"🌐",ssh:"🔐",scp:"🔐",rsync:"🔐",ping:"📡",make:"🔨",cmake:"🔨",ninja:"🔨",bazel:"🔨",just:"🔨",terraform:"🏗️",ansible:"📕",pulumi:"🏗️",ps:"📊",top:"📊",htop:"📊",btm:"📊",kill:"💀",pkill:"💀",systemctl:"⚙️",service:"⚙️",tar:"🗜️",zip:"🗜️",unzip:"🗜️",gzip:"🗜️","7z":"🗜️",vim:"📝",nvim:"📝",nano:"📝",emacs:"📝",code:"📝",jq:"🪺",yq:"🪺",echo:"💬",printf:"💬",ffmpeg:"🎞️",ffprobe:"🎞️",imagemagick:"🖼️",convert:"🖼️","Get-ChildItem":"📂","Get-Content":"📄","Set-Content":"💾","Out-File":"💾","Add-Content":"💾","Set-Location":"📍","Get-Location":"📍","Get-Process":"📊","Start-Process":"▶️","Stop-Process":"💀","Invoke-WebRequest":"🌐","Invoke-RestMethod":"🌐","New-Item":"📁","Remove-Item":"🗑️","Copy-Item":"📋","Move-Item":"✂️","Test-Path":"🔍","Where-Object":"🔎","ForEach-Object":"🔁","Select-Object":"🎯","Measure-Object":"📊","Get-Service":"⚙️","Restart-Service":"⚙️","ConvertTo-Json":"🪺","ConvertFrom-Json":"🪺"};function SN(e){if(!e)return null;let n=e.trim();if(!n)return null;const r=n.match(/^(?:bash|sh|zsh|fish|powershell|pwsh)(?:\.exe)?\s+(?:-c|-Command|-NoProfile|-NonInteractive|\s)+["']([^"']+)["']/i);if(r)return SN(r[1]);for(;;){const l=n.match(/^([A-Z_][A-Z0-9_]*=\S*)\s+/);if(!l)break;n=n.slice(l[0].length)}n=n.replace(/^sudo(?:\s+-\S+)*\s+/,""),n=n.replace(/^(?:time|nohup|xargs)\s+/,"");const s=n.match(/^([^\s|;&<>(]+)/);if(!s)return null;let o=s[1];return o=o.replace(/^.*[/\\]/,""),o=o.replace(/\.(exe|cmd|bat|ps1)$/i,""),o||null}function i3(e){if(typeof e=="string")return e;if(!e||typeof e!="object")return null;const n=e;if(typeof n.cmd=="string")return n.cmd;if(typeof n.command=="string")return n.command;if(Array.isArray(n.command)&&n.command.every(r=>typeof r=="string")){const r=n.command;if(/powershell|cmd|bash|sh(\.exe)?$/i.test(r[0]??"")){const s=r.findIndex(o=>/^(-Command|-c)$/i.test(o));if(s>=0&&s+1<r.length)return r[s+1]}return r.join(" ")}return typeof n.script=="string"?n.script:null}const s3=new Set(["Bash","PowerShell","shell","exec_command","shell_command","write_stdin","wait"]),o3=new Set(["shell","exec_command","shell_command","write_stdin","wait","apply_patch","update_plan"]);function a3(e,n){return o3.has(e)||e.startsWith("mcp__")?Math.max(ax,34+n.length*7.5):ax}function l3(e,n){if(!s3.has(e))return null;const r=i3(n);if(!r)return null;const s=SN(r);return s?{emoji:r3[s]??"⚙️",label:s,category:"shell",detail:r}:null}const u3=new Set(["Read","Write","Edit","MultiEdit","NotebookEdit","LS","Glob","apply_patch"]),ux={ts:"🟦",tsx:"🟦",d:"🟦",js:"🟨",jsx:"🟨",mjs:"🟨",cjs:"🟨",py:"🐍",pyi:"🐍",ipynb:"📓",rs:"🦀",go:"🐹",rb:"💎",erb:"💎",java:"☕",kt:"☕",scala:"☕",gradle:"☕",cs:"🔷",fs:"🔷",php:"🐘",swift:"🦅",c:"🇨",cpp:"🇨",cc:"🇨",h:"🇨",hpp:"🇨",md:"📝",mdx:"📝",rst:"📝",json:"🪺",json5:"🪺",jsonl:"🪺",yaml:"⚙️",yml:"⚙️",toml:"⚙️",ini:"⚙️",conf:"⚙️",cfg:"⚙️",xml:"📰",html:"🌐",htm:"🌐",vue:"🌐",svelte:"🌐",css:"🎨",scss:"🎨",sass:"🎨",less:"🎨",sh:"⚡",bash:"⚡",zsh:"⚡",fish:"⚡",ps1:"⚡",txt:"📄",log:"📄",out:"📄",csv:"📊",tsv:"📊",xlsx:"📊",xls:"📊",pdf:"📕",png:"🖼️",jpg:"🖼️",jpeg:"🖼️",gif:"🖼️",webp:"🖼️",svg:"🖼️",ico:"🖼️",mp4:"🎬",mov:"🎬",avi:"🎬",mkv:"🎬",webm:"🎬",mp3:"🎵",wav:"🎵",ogg:"🎵",flac:"🎵",zip:"🗜️",tar:"🗜️",gz:"🗜️",bz2:"🗜️","7z":"🗜️",xz:"🗜️",rar:"🗜️",env:"🔐",lock:"🔐",pem:"🔐",key:"🔐",crt:"🔐",sql:"🗄️",db:"🗄️",sqlite:"🗄️",parquet:"🗄️"},cx={dockerfile:"🐳",makefile:"🔨",rakefile:"💎","package.json":"📦","pnpm-lock.yaml":"📦","yarn.lock":"📦","cargo.toml":"🦀","cargo.lock":"🦀","go.mod":"🐹","go.sum":"🐹","pyproject.toml":"🐍","requirements.txt":"🐍","readme.md":"📖",readme:"📖",license:"📜",".gitignore":"🐙",".gitattributes":"🐙",".env":"🔐",".dockerignore":"🐳"};function c3(e){const r=e.replace(/\\/g,"/").replace(/\/+$/,""),s=r.lastIndexOf("/");return s>=0?r.slice(s+1):r}function d3(e){const n=e.toLowerCase();if(cx[n])return cx[n];if(n.startsWith("dockerfile."))return"🐳";if(/\.(test|spec)\.[a-z]+$/.test(n))return"🧪";const r=n.lastIndexOf(".");if(r>0&&r<n.length-1){const s=n.slice(r+1);if(ux[s])return ux[s]}return"📄"}function f3(e,n){if(!n||typeof n!="object")return null;const r=n;if(e==="apply_patch"&&typeof r.patch=="string"){const s=r.patch.match(/^\*\*\* (?:Update|Add|Delete) File: (.+)$/m);return s?s[1].trim():null}return typeof r.file_path=="string"?r.file_path:typeof r.notebook_path=="string"?r.notebook_path:typeof r.path=="string"?r.path:e==="Glob"&&typeof r.pattern=="string"?r.pattern:null}function h3(e,n){if(!u3.has(e))return null;const r=f3(e,n);if(!r)return null;const s=c3(r);return s?{emoji:e==="LS"?"📂":d3(s),label:s,category:"file",detail:r}:null}const bN={github:{emoji:"🐙",name:"GitHub"},git:{emoji:"🐙",name:"Git"},gitlab:{emoji:"🦊",name:"GitLab"},slack:{emoji:"💬",name:"Slack"},discord:{emoji:"💬",name:"Discord"},linear:{emoji:"📐",name:"Linear"},jira:{emoji:"🅹",name:"Jira"},atlassian:{emoji:"🅰️",name:"Atlassian"},notion:{emoji:"📓",name:"Notion"},asana:{emoji:"📋",name:"Asana"},intercom:{emoji:"💬",name:"Intercom"},figma:{emoji:"🎨",name:"Figma"},gmail:{emoji:"📧",name:"Gmail"},calendar:{emoji:"📅",name:"Calendar"},drive:{emoji:"☁️",name:"Drive"},zoom:{emoji:"📹",name:"Zoom"},spotify:{emoji:"🎵",name:"Spotify"},youtube:{emoji:"📺",name:"YouTube"},ccd_session:{emoji:"📡",name:"Session"},ccd_directory:{emoji:"📂",name:"Directory"},ccd_session_mgmt:{emoji:"📡",name:"Sessions"},mcp_registry:{emoji:"🧰",name:"Registry"},"computer-use":{emoji:"🖱️",name:"Computer"},"claude-in-chrome":{emoji:"🌐",name:"Chrome"},"claude-preview":{emoji:"👀",name:"Preview"},"scheduled-tasks":{emoji:"⏰",name:"Scheduler"},visualize:{emoji:"🎨",name:"Visualize"},"plugin-design-asana":{emoji:"📋",name:"Asana"},"plugin-design-atlassian":{emoji:"🅰️",name:"Atlassian"},"plugin-design-figma":{emoji:"🎨",name:"Figma"},"plugin-design-intercom":{emoji:"💬",name:"Intercom"},"plugin-design-linear":{emoji:"📐",name:"Linear"},"plugin-design-notion":{emoji:"📓",name:"Notion"},"plugin-design-slack":{emoji:"💬",name:"Slack"}};function kN(e){if(!e.startsWith("mcp__"))return null;const n=e.slice(5),r=n.indexOf("__");return r<=0?{server:n,method:""}:{server:n.slice(0,r),method:n.slice(r+2)}}function p3(e){let n=5381;for(let r=0;r<e.length;r++)n=(n<<5)+n^e.charCodeAt(r);return Math.abs(n)%360}function m3(e,n){const r=kN(e);if(!r)return null;const{server:s,method:o}=r;if(!o)return null;const l=bN[s.toLowerCase()];return{emoji:(l==null?void 0:l.emoji)??"🔌",label:o,category:"mcp",detail:l?`${l.name} · ${o}`:`${s} · ${o}`}}function g3(e,n){return l3(e,n)??h3(e,n)??m3(e)}const v3={shell:"Shell",exec_command:"Shell",shell_command:"Shell",write_stdin:"stdin",wait:"wait",apply_patch:"Edit",update_plan:"Plan"};function y3(e){const n=kN(e);if(n){const s=bN[n.server.toLowerCase()];return s?{emoji:s.emoji,label:s.name}:{emoji:"🔌",label:n.server,hue:p3(n.server)}}const r=v3[e];return r?{emoji:lx(e),label:r}:{emoji:lx(e),label:e}}function w3(e){return e.endedAt==null?"inflight":e.ok===!1?"err":"done"}function x3(e,n,r){if(r==null)return 1;const s=n-r;return s<0?1:Math.max(0,1-s/_N)}function _3(e,n){const r=[],s=new Set;for(let o=e.length-1;o>=0&&r.length<n;o--){const l=e[o];s.has(l.id)||(s.add(l.id),r.push(l))}return r.reverse()}function S3(e,n,r,s,o,l){const u=[];for(const c of e.values()){if(!n.has(c.id)||c.exitAt!=null&&l-c.exitAt>_N)continue;const p=s.get(c.id)??r.get(c.id);if(!p)continue;const h=_3(c.tools,KP);if(h.length===0)continue;const f=c.exitAt??null,m=o.get(c.id),y=Math.max((m==null?void 0:m.width)??ox,ox),x=(m==null?void 0:m.height)??130,C=p.x,_=p.y,S=C+y,b=_+x/2;h.forEach((E,N)=>{const j=N*XP,M=C+y+QP,P=_+ZP+j,O=x3(E,l,f),B=E.inputPreview??"",L=w3(E),q=O<.999,I=y3(E.name);u.push({id:`${c.id}::${E.id}`,toolId:E.id,agentId:c.id,toolName:E.name,name:I.label,emoji:I.emoji,status:L,category:t3(E.name),mcpHue:I.hue,inputPreview:B,fade:O,fading:q,worldX:M,worldY:P,anchorX:S,anchorY:b,spawnDx:S-M,spawnDy:b-(P+Kg)});const H=g3(E.name,E.input);if(H){const X=a3(E.name,I.label),T=M+X+JP,Y=P,U=M+X,ee=P+Kg;u.push({id:`sub:${c.id}::${E.id}`,toolId:E.id,agentId:c.id,toolName:E.name,name:H.label,emoji:H.emoji,isSub:!0,status:L,category:H.category,inputPreview:H.detail??B,fade:O,fading:q,worldX:T,worldY:Y,anchorX:U,anchorY:ee,spawnDx:U-T,spawnDy:0})}})}return u}function b3({agents:e,visibleAgentIds:n,positions:r,pinned:s,measured:o,dimUnmatched:l,spotlight:u,hiddenCategories:c,now:p,onOpenTool:h}){const f=S3(e,n,r,s,o,p),m=c&&c.size>0?f.filter(y=>!c.has(y.category)):f;return g.jsx(k3,{bursts:m,dimUnmatched:l,spotlight:u,onOpenTool:h})}function k3({bursts:e,dimUnmatched:n,spotlight:r,onOpenTool:s}){const{x:o,y:l,zoom:u}=dN();return g.jsxs("div",{className:"tool-bursts-layer","aria-hidden":!0,children:[g.jsx("svg",{className:"tool-bursts-svg",children:e.map(c=>{const p=c.anchorX*u+o,h=c.anchorY*u+l,f=(c.worldX+6)*u+o,m=(c.worldY+Kg)*u+l,y=p+(f-p)*.55,x=n!=null&&!n.has(c.agentId),C=r!=null&&!r.has(c.agentId),_=c.fade*(x||C?.14:1);return g.jsx("path",{d:`M ${p} ${h} Q ${y} ${h}, ${f} ${m}`,className:`tool-conn status-${c.status}${c.fading?" fading":""}`,opacity:_},`l:${c.id}`)})}),e.map(c=>{const p=c.worldX*u+o,h=c.worldY*u+l,f={left:`${p}px`,top:`${h}px`,transform:`scale(${u})`,transformOrigin:"left top","--spawn-dx":`${c.spawnDx}px`,"--spawn-dy":`${c.spawnDy}px`},m=c.isSub?`${c.toolName} · ${c.name}`:c.toolName,y=c.inputPreview?`${m} · ${c.inputPreview}`:m,x=s!=null,C=c.mcpHue!=null?{"--cat-accent":`hsl(${c.mcpHue} 65% 65%)`}:{},_=n!=null&&!n.has(c.agentId),S=r!=null&&!r.has(c.agentId),b=_||S?" dim":"";return g.jsx("div",{className:"tool-burst-wrap",style:f,children:g.jsxs("div",{className:`tool-burst cat-${c.category} status-${c.status}${c.fading?" fading":""}${x?" clickable":""}${c.isSub?" sub":""}${b}`,style:C,title:y,role:x?"button":void 0,tabIndex:x?0:void 0,"aria-label":x?`Open ${c.toolName} ${c.status==="inflight"?"in flight":c.status} — click for details`:void 0,onClick:x?()=>s(c.toolId):void 0,onKeyDown:x?E=>{(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),s(c.toolId))}:void 0,children:[g.jsx("span",{className:"tb-emoji",children:c.emoji}),g.jsx("span",{className:"tb-name",children:c.name}),c.status==="inflight"&&g.jsx("span",{className:"tb-spin"}),c.status==="done"&&g.jsx("span",{className:"tb-mark done",children:"✓"}),c.status==="err"&&g.jsx("span",{className:"tb-mark err",children:"×"})]})},c.id)})]})}function E3({state:e,sessionId:n,onClose:r}){const s=A.useMemo(()=>C3(e,n),[e,n]);return s?g.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:g.jsxs("div",{className:"modal session-summary",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"ss-title",children:[g.jsxs("div",{className:"modal-head",children:[g.jsxs("div",{className:"modal-title",children:[g.jsx("span",{className:"state-pill state-done","aria-hidden":!0,children:"done"}),g.jsx("span",{id:"ss-title",className:"modal-tool-name",title:s.cwd??s.sessionId,children:s.label}),g.jsxs("span",{className:"modal-tool-id",children:["· ",s.sessionId.slice(0,8)]})]}),g.jsxs("div",{className:"modal-actions",children:[g.jsx("span",{className:"modal-dur",title:"Total wall time",children:s.durationLabel}),g.jsx("button",{className:"btn",onClick:r,"aria-label":"Close",children:"×"})]})]}),g.jsxs("div",{className:"modal-body",children:[g.jsxs("section",{className:"ss-hero",children:[g.jsxs("div",{className:"ss-hero-left",children:[g.jsx("div",{className:"ss-cost-label",children:"total spend"}),g.jsx("div",{className:"ss-cost",children:Ve(s.cost.total)}),s.modelChips.length>0&&g.jsx("div",{className:"ss-models",children:s.modelChips.map(o=>g.jsx("span",{className:"model-chip",title:o,children:la(o)},o))})]}),g.jsx("div",{className:"ss-hero-right",children:s.cost.total>0&&g.jsxs(g.Fragment,{children:[g.jsx(N3,{cost:s.cost}),g.jsxs("div",{className:"ss-cost-legend",children:[g.jsxs("span",{className:"ssl ssl-in",children:["input ",g.jsx("b",{children:Ve(s.cost.input)})]}),g.jsxs("span",{className:"ssl ssl-out",children:["output ",g.jsx("b",{children:Ve(s.cost.output)})]}),g.jsxs("span",{className:"ssl ssl-cr",children:["cache r ",g.jsx("b",{children:Ve(s.cost.cacheRead)})]}),g.jsxs("span",{className:"ssl ssl-cw",children:["cache w ",g.jsx("b",{children:Ve(s.cost.cacheWrite)})]})]})]})})]}),g.jsxs("section",{className:"ss-stats",children:[g.jsx(Ls,{label:"agents",value:s.agentCount}),g.jsx(Ls,{label:"subagents",value:s.subagentCount}),g.jsx(Ls,{label:"tool calls",value:s.toolCount}),g.jsx(Ls,{label:"prompts",value:s.promptCount}),g.jsx(Ls,{label:"tokens",value:s.tokensSum.toLocaleString()}),s.errCount>0&&g.jsx(Ls,{label:"errors",value:s.errCount,tone:"err"})]}),s.topTools.length>0&&g.jsxs("section",{className:"modal-section",children:[g.jsx("h4",{children:"Most-used tools"}),g.jsx("div",{className:"ss-top-tools",children:s.topTools.map(([o,l])=>g.jsxs("div",{className:"ss-tt",children:[g.jsx("span",{className:"ss-tt-name",children:o}),g.jsx("span",{className:"ss-tt-bar",children:g.jsx("span",{className:"ss-tt-bar-fill",style:{width:`${l/s.topTools[0][1]*100}%`}})}),g.jsx("span",{className:"ss-tt-count",children:l})]},o))})]}),s.firstPrompt&&g.jsxs("section",{className:"modal-section",children:[g.jsx("h4",{children:"Opening prompt"}),g.jsx("div",{className:"ss-prompt",children:s.firstPrompt})]})]})]})}):null}function Ls({label:e,value:n,tone:r}){return g.jsxs("div",{className:`ss-stat${r?` tone-${r}`:""}`,children:[g.jsx("div",{className:"ss-stat-value",children:n}),g.jsx("div",{className:"ss-stat-label",children:e})]})}function N3({cost:e}){const n=e.total;if(n<=0)return null;const r=(s,o,l)=>{if(s<=0)return null;const u=s/n*100;return g.jsx("span",{className:`cb-seg ${o}`,style:{width:`${u}%`},title:`${l}: ${Ve(s)} (${u.toFixed(0)}%)`},o)};return g.jsxs("div",{className:"cost-bar cost-bar-lg","aria-label":"Cost breakdown",children:[r(e.input,"cb-input","input"),r(e.output,"cb-output","output"),r(e.cacheRead,"cb-cache-r","cache read"),r(e.cacheWrite,"cb-cache-w","cache write")]})}function C3(e,n){const r=e.agents.get(n);if(!r)return null;const s=[];for(const N of e.agents.values())N.sessionId===n&&s.push(N);if(s.length===0)return null;const o={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},l=new Set,u=new Map;let c=0,p=0,h=0,f=0,m=0,y,x=1/0,C=0;for(const N of s){const j=un(N.usage,N.model);o.input+=j.input,o.output+=j.output,o.cacheRead+=j.cacheRead,o.cacheWrite+=j.cacheWrite,o.total+=j.total,N.model&&l.add(N.model),N.kind==="subagent"&&m++,p+=N.prompts.length,!y&&N.prompts.length>0&&(y=N.prompts[0].text),h+=N.usage.inputTokens+N.usage.outputTokens,c+=N.toolCount,x=Math.min(x,N.startedAt),C=Math.max(C,N.endedAt??Date.now());for(const M of N.tools)u.set(M.name,(u.get(M.name)??0)+1),M.ok===!1&&f++}const _=Math.max(0,C-x),S=Math.floor(_/1e3),b=S<60?`${S}s`:S<3600?`${Math.floor(S/60)}m ${String(S%60).padStart(2,"0")}s`:`${Math.floor(S/3600)}h ${Math.floor(S%3600/60)}m`,E=Array.from(u.entries()).sort((N,j)=>j[1]-N[1]).slice(0,5);return{sessionId:n,label:r.label||r.cwdBasename||"session",cwd:r.cwd,durationLabel:b,cost:o,modelChips:Array.from(l),agentCount:s.length,subagentCount:m,toolCount:c,promptCount:p,tokensSum:h,errCount:f,topTools:E,firstPrompt:y}}function j3(e,n){const r=[];for(const s of e.agents.values()){if(s.kind!=="root")continue;let o=s.toolCount,l=un(s.usage,s.model).total,u=s.endedAt??s.startedAt;for(const c of e.agents.values()){if(c.sessionId!==s.sessionId||c.kind==="root")continue;o+=c.toolCount,l+=un(c.usage,c.model).total;const p=c.endedAt??c.startedAt;p>u&&(u=p)}r.push({sessionId:s.sessionId,label:s.label||s.cwdBasename||"session",cwdBasename:s.cwdBasename,state:s.state,modelId:s.model,toolCount:o,cost:l,startedAt:s.startedAt,lastActivity:u})}return r.sort((s,o)=>{if(s.state!==o.state){if(s.state==="active")return-1;if(o.state==="active")return 1}return o.lastActivity-s.lastActivity}),r}function R3(e,n,r){const s=(n??r)-e;if(s<1e3)return"<1s";const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const l=Math.floor(o/60);return l<60?`${l}m`:`${Math.floor(l/60)}h ${l%60}m`}function T3({state:e,now:n,selectedIds:r,onSelect:s,onClose:o}){const l=A.useMemo(()=>j3(e),[e,e.lastSeq,n]),u=l.filter(c=>c.state==="active").length;return g.jsxs("aside",{className:"session-list","aria-label":"Sessions",children:[g.jsxs("div",{className:"sl-header",children:[g.jsxs("h3",{children:["Sessions ",g.jsx("span",{className:"sl-count",children:l.length})]}),u>0&&g.jsxs("span",{className:"sl-live-count",children:[u," live"]}),g.jsx("button",{className:"btn icon-btn sl-close",onClick:o,title:"Hide sidebar (L)","aria-label":"Hide session list",children:"‹"})]}),g.jsxs("div",{className:"sl-rows",children:[l.length===0&&g.jsx("div",{className:"sl-empty",children:"No sessions yet."}),l.map(c=>{const p=r.has(c.sessionId);return g.jsxs("button",{type:"button",className:`sl-row state-${c.state}${p?" selected":""}`,onClick:()=>s(c.sessionId),title:`Focus ${c.label}`,children:[g.jsx("span",{className:`sl-dot state-${c.state}`,"aria-hidden":!0}),g.jsxs("div",{className:"sl-row-body",children:[g.jsxs("div",{className:"sl-row-head",children:[g.jsx("span",{className:"sl-label",children:c.label}),c.modelId&&g.jsx("span",{className:"model-chip",title:c.modelId,children:la(c.modelId)})]}),g.jsxs("div",{className:"sl-row-meta",children:[g.jsxs("span",{title:"tool calls",children:[g.jsx("b",{children:c.toolCount})," tools"]}),c.cost>0&&g.jsx("span",{className:"sl-cost",title:"total spend",children:g.jsx("b",{children:Ve(c.cost)})}),g.jsx("span",{className:"sl-elapsed",title:`Started ${new Date(c.startedAt).toLocaleString()}`,children:R3(c.startedAt,c.state==="active"?void 0:c.lastActivity,n)})]})]})]},c.sessionId)})]})]})}function dx(e,n){if(!e)return null;const r=n-Math.floor(e/1e3);return r<10?"just now":r<60?`${r}s ago`:r<3600?`${Math.floor(r/60)}m ago`:`${Math.floor(r/3600)}h ago`}function A3(e){return e==="claude-swap"?"Read from claude-swap's last collection — costs no request against your usage-endpoint budget":e==="api"?"Fetched from Anthropic's usage endpoint, at most once every 5 minutes":e==="cli"?"Parsed from `claude /usage`, at most once every 5 minutes":"Last update"}function Ar(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function I3({cost:e}){const n=e.total;if(n<=0)return null;const r=(s,o,l)=>{if(s<=0)return null;const u=s/n*100;return g.jsx("span",{className:`cb-seg ${o}`,style:{width:`${u}%`},title:`${l}: ${Ve(s)} (${u.toFixed(0)}%)`},o)};return g.jsxs("div",{className:"cost-bar","aria-label":"Cost breakdown",children:[r(e.input,"cb-input","input"),r(e.output,"cb-output","output"),r(e.cacheRead,"cb-cache-r","cache read"),r(e.cacheWrite,"cb-cache-w","cache write")]})}function M3(e,n){const r=e-n;if(r<=0)return null;const s=Math.floor(r/3600),o=Math.floor(r%3600/60);if(s>23){const l=Math.floor(r/86400),u=Math.floor(r%86400/3600);return`${l}d ${u}h`}return s>0?`${s}h ${o}m`:`${o}m`}function P3(e,n,r,s){const o=Math.max(0,n-s),l=Math.max(0,r-o);if(l<120)return null;const u=Math.min(100,l/r*100),c=e-u;if(Math.abs(c)<3)return{label:"on pace",color:"var(--ok)",expectedPct:u,isDeficit:!1};if(c>0){const p=100-e,h=l>0?e/l:0,f=h>0?p/h:1/0,m={label:`${Math.round(c)}% ahead`,color:"var(--warn)",expectedPct:u,isDeficit:!0};if(f<o&&f<86400){const y=Math.floor(f/3600),x=Math.floor(f%3600/60);m.runsOutIn=y>0?`${y}h ${x}m`:`${x}m`}return m}return{label:`${Math.round(-c)}% reserve`,color:"var(--ok)",expectedPct:u,isDeficit:!1}}function Ui({pct:e,label:n,reset:r,resetAt:s,windowSec:o,limitReached:l,nowSec:u}){const c=Math.min(100,Math.max(0,e)),h=l||c>=90?"var(--err)":c>=70?"var(--warn)":"var(--accent)",f=c===0?"< 1%":`${c}%`,m=c===0?2:c,y=s?M3(s,u):null,x=s&&o?P3(c,s,o,u):null;return g.jsxs("div",{className:"qb-row",children:[g.jsxs("div",{className:"qb-meta",children:[g.jsxs("span",{className:"qb-label",children:[n,l&&g.jsx("span",{className:"qb-limit-badge",title:"Rate limit reached",children:"⛔"})]}),g.jsx("span",{className:"qb-pct",style:{color:h},children:f})]}),g.jsxs("div",{className:"qb-track",children:[g.jsx("div",{className:"qb-fill",style:{width:`${m}%`,background:h,opacity:c===0?.4:1}}),x&&g.jsx("div",{className:"qb-pace-marker",style:{left:`${x.expectedPct}%`,background:x.isDeficit?"var(--err)":"var(--ok)"},title:`To last until reset, stay near ${Math.round(x.expectedPct)}% by now`})]}),g.jsxs("div",{className:"qb-reset-row",children:[y?g.jsxs("span",{className:"qb-reset",children:["resets in ",y]}):r?g.jsxs("span",{className:"qb-reset",children:["resets ",r]}):null,x&&g.jsx("span",{className:"qb-pace",style:{color:x.color},children:x.runsOutIn?`runs out in ${x.runsOutIn}`:x.label})]})]})}const O3=6e4;function q3(){const[e,n]=A.useState(null),[r,s]=A.useState(!1),o=A.useRef(null),l=async(c=!1)=>{c&&s(!0);try{const h=await fetch(c?"/api/quota?refresh=1":"/api/quota");h.ok&&n(await h.json())}catch{}finally{c&&s(!1)}};return A.useEffect(()=>(l(!0),o.current=window.setInterval(()=>l(!1),O3),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{quota:e,loading:r,refresh:()=>l(!0)}}function L3(e){switch(e){case"no_token":return"Run codex login to authenticate.";case"api_key_mode":return"API-key login — ChatGPT quota is only available for codex login.";case"refresh_rejected":return"Codex session expired — run codex login.";case"refresh_failed":return"Couldn't refresh the Codex token — click ↻ to retry.";default:return"ChatGPT API unreachable — click ↻ to retry."}}const EN=6e4;function $3(){const[e,n]=A.useState(null),[r,s]=A.useState(!1),o=A.useRef(null),l=async(c=!1)=>{c&&s(!0);try{const h=await fetch(c?"/api/codex-quota?refresh=1":"/api/codex-quota");h.ok&&n(await h.json())}catch{}finally{c&&s(!1)}};return A.useEffect(()=>(l(!0),o.current=window.setInterval(()=>l(!1),EN),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{data:e,loading:r,refresh:()=>l(!0)}}function D3(){const[e,n]=A.useState(null),r=A.useRef(null),s=async()=>{try{const o=await fetch("/api/codex-usage");o.ok&&n(await o.json())}catch{}};return A.useEffect(()=>(s(),r.current=window.setInterval(s,EN),()=>{r.current!=null&&window.clearInterval(r.current)}),[]),{data:e}}function F3({state:e,now:n,onClose:r}){var O,B;const{quota:s,loading:o,refresh:l}=q3(),{data:u,loading:c,refresh:p}=$3(),{data:h}=D3(),[f,m]=A.useState(()=>Math.floor(Date.now()/1e3));A.useEffect(()=>{const L=window.setInterval(()=>m(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(L)},[]);const{byModel:y,totalCost:x,totalTokens:C,burnRate:_}=A.useMemo(()=>{const L=new Map,q={total:0,input:0,output:0,cacheRead:0,cacheWrite:0};let I=0,H=0,X=0,T=0;for(const F of e.agents.values()){const G=F.model??"__unknown__",k=un(F.usage,F.model),$=L.get(G);$?($.inputTokens+=F.usage.inputTokens,$.outputTokens+=F.usage.outputTokens,$.cacheReadTokens+=F.usage.cacheReadTokens,$.cacheCreateTokens+=F.usage.cacheCreateTokens,$.cost.total+=k.total,$.cost.input+=k.input,$.cost.output+=k.output,$.cost.cacheRead+=k.cacheRead,$.cost.cacheWrite+=k.cacheWrite,$.agentCount++):L.set(G,{model:G,inputTokens:F.usage.inputTokens,outputTokens:F.usage.outputTokens,cacheReadTokens:F.usage.cacheReadTokens,cacheCreateTokens:F.usage.cacheCreateTokens,cost:{...k},agentCount:1}),q.total+=k.total,q.input+=k.input,q.output+=k.output,q.cacheRead+=k.cacheRead,q.cacheWrite+=k.cacheWrite,I+=F.usage.inputTokens,H+=F.usage.outputTokens,X+=F.usage.cacheReadTokens,T+=F.usage.cacheCreateTokens}const Y=Array.from(L.values()).sort((F,G)=>G.cost.total-F.cost.total);let U=0,ee=0;for(const F of e.agents.values()){if(F.state!=="active")continue;const G=un(F.usage,F.model);U+=G.total,ee=Math.max(ee,((F.endedAt??n)-F.startedAt)/1e3)}const J=ee>0?Wl(U,ee):null;return{byModel:Y,totalCost:q,totalTokens:{in:I,out:H,cacheR:X,cacheC:T},burnRate:J}},[e,e.lastSeq,n]),S=A.useMemo(()=>{const L=[];for(const q of e.agents.values()){if(q.kind!=="root")continue;let I=un(q.usage,q.model).total,H=q.usage.inputTokens,X=q.usage.outputTokens;for(const T of e.agents.values())T.sessionId!==q.sessionId||T.kind==="root"||(I+=un(T.usage,T.model).total,H+=T.usage.inputTokens,X+=T.usage.outputTokens);L.push({sessionId:q.sessionId,label:q.label||q.cwdBasename||"session",state:q.state,cost:I,inputTokens:H,outputTokens:X})}return L.sort((q,I)=>I.cost-q.cost).slice(0,12)},[e,e.lastSeq]),b=x.total>0,E=C.in+C.out,N=o||c,j=dx(s==null?void 0:s.fetchedAt,f),M=dx(u==null?void 0:u.fetchedAt,f),P=()=>{l(),p()};return g.jsxs("div",{className:"usage-panel","aria-label":"Usage",children:[g.jsxs("div",{className:"up-header",children:[g.jsx("h3",{children:"Usage"}),_&&g.jsx("span",{className:"up-rate",children:_}),g.jsxs("div",{className:"up-header-right",children:[g.jsx("button",{type:"button",className:"btn up-refresh-btn",onClick:P,disabled:N,title:"Refresh Claude + Codex quota",children:N?"…":"↻"}),g.jsx("button",{type:"button",className:"btn icon-btn up-close",onClick:r,"aria-label":"Close usage panel",title:"Close (U)",children:"×"})]})]}),g.jsxs("section",{className:"up-section up-quota-section",children:[g.jsxs("h4",{className:"up-section-title",children:["Claude quota",j&&!o&&g.jsx("span",{className:"up-section-age",title:A3(s==null?void 0:s.source),children:j})]}),s!=null&&s.ok?g.jsxs("div",{className:"up-quota-bars",children:[s.session5hPct!=null&&g.jsx(Ui,{label:"5-hour window",pct:s.session5hPct,reset:s.session5hReset,resetAt:s.session5hResetAt,windowSec:s.session5hWindowSec,nowSec:f}),s.week7dPct!=null&&g.jsx(Ui,{label:"7-day window",pct:s.week7dPct,reset:s.week7dReset,resetAt:s.week7dResetAt,windowSec:s.week7dWindowSec,nowSec:f}),s.weekSonnetPct!=null&&g.jsx(Ui,{label:"Sonnet (7d)",pct:s.weekSonnetPct,nowSec:f}),s.weekOpusPct!=null&&g.jsx(Ui,{label:"Opus (7d)",pct:s.weekOpusPct,nowSec:f})]}):(s==null?void 0:s.ok)===!1?g.jsxs("div",{className:"up-quota-na",children:[g.jsx("span",{children:"Quota unavailable."}),g.jsxs("span",{className:"up-quota-hint",children:["Run ",g.jsx("code",{children:"/usage"})," in a claude session, then click ↻"]})]}):g.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),g.jsxs("section",{className:"up-section up-quota-section",children:[g.jsxs("h4",{className:"up-section-title",children:["Codex quota",(u==null?void 0:u.ok)&&u.planLabel&&g.jsx("span",{className:"up-plan-badge",children:u.planLabel}),M&&!c&&g.jsx("span",{className:"up-section-age",title:"Fetched from the Codex usage endpoint",children:M})]}),u!=null&&u.ok?g.jsxs("div",{className:"up-quota-bars",children:[(O=u.windows)==null?void 0:O.map(L=>g.jsx(Ui,{label:L.label,pct:L.pct,reset:L.reset??void 0,resetAt:L.resetAt??void 0,windowSec:L.windowSec??void 0,limitReached:u.limitReached&&L.pct>=100,nowSec:f},L.id)),(B=u.extraWindows)==null?void 0:B.map(L=>g.jsx(Ui,{label:L.label,pct:L.pct,reset:L.reset??void 0,resetAt:L.resetAt??void 0,windowSec:L.windowSec??void 0,nowSec:f},L.id)),u.creditLimit&&g.jsx(Ui,{label:`spend cap · $${Math.round(u.creditLimit.used)} of $${Math.round(u.creditLimit.limit)}`,pct:u.creditLimit.usedPct,reset:u.creditLimit.reset??void 0,resetAt:u.creditLimit.resetAt??void 0,limitReached:u.spendControlReached,nowSec:f}),(h==null?void 0:h.ok)&&h.window7d&&h.window7d.sessionCount>0&&g.jsxs("div",{className:"up-quota-sub",children:[Ar(h.window7d.totalTokens)," tokens · ",h.window7d.sessionCount," session",h.window7d.sessionCount!==1?"s":""," (7d)"]}),u.creditsBalance&&!u.creditsUnlimited&&g.jsxs("div",{className:"up-quota-sub up-credits",children:["credits: $",u.creditsBalance,u.overageReached&&" · overage limit reached"]}),u.creditsUnlimited&&g.jsx("div",{className:"up-quota-sub up-credits",children:"credits: unlimited"}),u.resetCredits&&u.resetCredits.availableCount>0&&g.jsxs("div",{className:"up-quota-sub up-reset-credits",title:"Redeem in the Codex CLI or ChatGPT — agents-deck only reports them",children:[u.resetCredits.availableCount," rate-limit reset",u.resetCredits.availableCount!==1?"s":""," available",u.resetCredits.nextExpiryAt&&` · expires ${new Date(u.resetCredits.nextExpiryAt).toLocaleDateString("en-US",{month:"short",day:"numeric"})}`]}),u.promo&&g.jsx("div",{className:"up-quota-sub",children:u.promo}),u.partial&&g.jsx("div",{className:"up-quota-sub up-quota-hint",children:"Partial data — OpenAI returned limits this build doesn't recognise."})]}):(u==null?void 0:u.ok)===!1?g.jsxs("div",{className:"up-quota-na",children:[g.jsx("span",{children:"Quota unavailable."}),g.jsx("span",{className:"up-quota-hint",children:L3(u.reason)})]}):g.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),b?g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"up-total",children:[g.jsx("span",{className:"up-total-value",children:Ve(x.total)}),g.jsx("span",{className:"up-total-label",children:"total spend"})]}),g.jsx(I3,{cost:x}),E>0&&g.jsxs("div",{className:"up-tokens-row",children:[g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"in"}),Ar(C.in)]}),g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"out"}),Ar(C.out)]}),C.cacheR>0&&g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"cache r"}),Ar(C.cacheR)]}),C.cacheC>0&&g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"cache c"}),Ar(C.cacheC)]})]}),y.filter(L=>L.cost.total>0).length>0&&g.jsxs("section",{className:"up-section",children:[g.jsx("h4",{className:"up-section-title",children:"By model"}),g.jsxs("table",{className:"up-table",children:[g.jsx("thead",{children:g.jsxs("tr",{children:[g.jsx("th",{children:"Model"}),g.jsx("th",{children:"Tokens"}),g.jsx("th",{children:"Cost"})]})}),g.jsx("tbody",{children:y.filter(L=>L.cost.total>0).map(L=>g.jsxs("tr",{children:[g.jsx("td",{className:"up-model-name",title:L.model,children:la(L.model)}),g.jsx("td",{className:"up-num",children:Ar(L.inputTokens+L.outputTokens)}),g.jsx("td",{className:"up-num up-cost-val",children:Ve(L.cost.total)})]},L.model))})]})]}),S.filter(L=>L.cost>0).length>0&&g.jsxs("section",{className:"up-section",children:[g.jsx("h4",{className:"up-section-title",children:"By session"}),g.jsx("div",{className:"up-sessions",children:S.filter(L=>L.cost>0).map(L=>g.jsxs("div",{className:"up-session-row",children:[g.jsx("span",{className:`sl-dot state-${L.state}`,"aria-hidden":!0}),g.jsx("span",{className:"up-session-label",children:L.label}),g.jsx("span",{className:"up-session-tokens",children:Ar(L.inputTokens+L.outputTokens)}),g.jsx("span",{className:"up-session-cost",children:Ve(L.cost)})]},L.sessionId))})]})]}):E>0?g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"up-tokens-row",children:[g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"in"}),Ar(C.in)]}),g.jsxs("span",{className:"up-tok",children:[g.jsx("span",{className:"up-k",children:"out"}),Ar(C.out)]})]}),g.jsx("div",{className:"up-hint",children:"Cost appears once a known model is detected."})]}):g.jsxs("div",{className:"up-empty",children:["No usage data yet.",g.jsx("br",{}),"Start a Claude Code or Codex session."]})]})}const fx=18,z3=1100,$s=(e,n)=>{const r=Math.sin(e*12.9898+n*78.233)*43758.5453;return r-Math.floor(r)},B3=Array.from({length:fx},(e,n)=>{const r=-72+144*n/(fx-1)+($s(n,1)-.5)*9,s=(r-90)*(Math.PI/180),o=(54+32*Math.cos(r*Math.PI/180))*(.74+$s(n,2)*.52);return{dx:Math.cos(s)*o,dy:Math.sin(s)*o,rot:(n%2?1:-1)*(100+$s(n,3)*260),delay:Math.round($s(n,4)*90),dur:760+Math.round($s(n,5)*260),scale:.8+$s(n,6)*.45,hue:n%4,round:n%3===0}});function hx({anchor:e,lifetimeMs:n=z3}){var l;const[r,s]=A.useState(null),o=typeof window<"u"&&((l=window.matchMedia)==null?void 0:l.call(window,"(prefers-reduced-motion: reduce)").matches);return A.useEffect(()=>{if(o)return;const u=e.current;if(!u)return;const c=u.getBoundingClientRect();s({x:c.left+c.width/2,y:c.top+c.height/2});const p=window.setTimeout(()=>s(null),n);return()=>window.clearTimeout(p)},[e,n,o]),o||!r?null:eI.createPortal(g.jsx("div",{className:"confetti",style:{left:`${r.x}px`,top:`${r.y}px`},"aria-hidden":!0,children:B3.map((u,c)=>g.jsx("span",{className:`confetti-bit${u.round?" round":""}`,"data-hue":u.hue,style:{"--dx":`${u.dx.toFixed(1)}px`,"--dy":`${u.dy.toFixed(1)}px`,"--rot":`${u.rot}deg`,"--s":u.scale.toFixed(2),animationDelay:`${u.delay}ms`,animationDuration:`${u.dur}ms, ${u.dur}ms`}},c))}),document.body)}const NN=new Set(["awaiting_url","awaiting_code","registering"]);function U3(e){return e!=null&&NN.has(e)}function H3(e){return e!=null&&e!=="done"&&!NN.has(e)}const V3="the sign-in ended before it finished — the deck restarted, or it was cancelled in another tab",W3="the sign-in did not complete";function G3({state:e,serverError:n,localError:r}){const s=e==="idle";return{title:s?"Sign-in ended":"Sign-in failed",message:r||n||(s?V3:W3)}}const Y3=1500;async function Cl(e){return(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json().catch(()=>null)}const K3={already_running:"a sign-in is already in progress",no_url:"the claude CLI did not offer a sign-in link — is it installed?",not_waiting:"that sign-in is no longer waiting for a code",not_prompted:"the CLI has not asked for a code yet",code_rejected:"that code was not accepted — copy it again from the browser",no_verdict:"the claude CLI has not answered — try the code again",empty_code:"paste the code from the browser first",login_failed:"the code was not accepted",no_identity:"signed in, but the CLI still reports nobody logged in",add_failed:"signed in, but claude-swap could not record the account",not_a_share:"that does not look like a shared account — it should start with ccdeck1:",corrupt:"that share is incomplete — copy the whole thing",wrong_version:"that share was made by a newer agents-deck",expired:"that share has expired — make a new one",import_failed:"claude-swap refused the import"},cd=(e,n)=>(e==null?void 0:e.detail)||(e!=null&&e.reason?K3[e.reason]??e.reason:null)||(e==null?void 0:e.error)||n,Xg=ae.forwardRef((e,n)=>g.jsxs("svg",{className:"aa-mark",viewBox:"0 0 44 44","aria-hidden":!0,ref:n,children:[g.jsx("circle",{className:"aa-mark-ring",cx:"22",cy:"22",r:"20"}),g.jsx("path",{className:"aa-mark-tick",d:"M13.5 22.5 L19.5 28.5 L31 17"})]}));Xg.displayName="SuccessMark";function X3({onClose:e,onChanged:n}){const[r,s]=A.useState("login"),[o,l]=A.useState(null),[u,c]=A.useState(""),[p,h]=A.useState(""),[f,m]=A.useState(!1),[y,x]=A.useState(null),[C,_]=A.useState(null),S=A.useRef(!1),b=A.useRef(null),E=A.useRef(null),N=A.useRef(null),j=A.useCallback(()=>{S.current&&Cl({action:"login-cancel"}).catch(()=>{}),e()},[e]);A.useEffect(()=>{const I=H=>{H.key==="Escape"&&j()};return window.addEventListener("keydown",I),()=>window.removeEventListener("keydown",I)},[j]);const M=A.useCallback(async()=>{m(!0),x(null),S.current=!0;const I=await Cl({action:"login"}).catch(()=>null);if(m(!1),!(I!=null&&I.ok)){x(cd(I,"could not start the sign-in"));return}l(I)},[]);A.useEffect(()=>{if(!U3(o==null?void 0:o.state))return;const I=window.setInterval(async()=>{try{const H=await fetch("/api/claude-accounts/login");H.ok&&l(await H.json())}catch{}},Y3);return()=>window.clearInterval(I)},[o]),A.useEffect(()=>{var I;(o==null?void 0:o.state)==="awaiting_code"&&((I=b.current)==null||I.focus()),(o==null?void 0:o.state)==="done"&&n()},[o==null?void 0:o.state,n]),A.useEffect(()=>{var I;r==="paste"&&((I=E.current)==null||I.focus())},[r]);const P=A.useCallback(async()=>{var H;m(!0),x(null);const I=await Cl({action:"login-code",code:u}).catch(()=>null);if(m(!1),!(I!=null&&I.ok)){x(cd(I,"the code was not accepted")),I!=null&&I.state&&l(I),(H=b.current)==null||H.select();return}c(""),l(I)},[u,o]),O=A.useCallback(async()=>{m(!0),x(null);const I=await Cl({action:"import",blob:p}).catch(()=>null);if(m(!1),!(I!=null&&I.ok)){x(cd(I,"the import failed"));return}h(""),_({added:I.added===!0,num:I.num??null,email:I.email??null}),n()},[p,n]),B=(o==null?void 0:o.state)==="done"?o.account:null,L=H3(o==null?void 0:o.state)||!!(y&&S.current&&!f),q=G3({state:o==null?void 0:o.state,serverError:o==null?void 0:o.error,localError:y});return g.jsx("div",{className:"modal-backdrop",onClick:j,role:"presentation",children:g.jsxs("div",{className:"modal aa-modal",onClick:I=>I.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":"Add a Claude account",children:[g.jsxs("header",{className:"modal-head",children:[g.jsx("div",{className:"modal-title",children:g.jsxs("span",{className:"aa-tabs",role:"tablist",children:[g.jsx("button",{type:"button",role:"tab","aria-selected":r==="login",className:`aa-tab${r==="login"?" on":""}`,onClick:()=>s("login"),children:"Sign in"}),g.jsx("button",{type:"button",role:"tab","aria-selected":r==="paste",className:`aa-tab${r==="paste"?" on":""}`,onClick:()=>s("paste"),children:"Paste a share"})]})}),g.jsx("div",{className:"modal-actions",children:g.jsx("button",{type:"button",className:"btn icon-btn",onClick:j,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})})]}),g.jsx("section",{className:"modal-body aa-body",children:r==="login"?B?g.jsxs("div",{className:"aa-done",children:[g.jsx(Xg,{ref:N}),g.jsx(hx,{anchor:N}),g.jsx("h4",{children:B.added?`Account ${B.num} added`:"Credentials refreshed"}),g.jsxs("p",{className:"aa-note",children:[g.jsx("strong",{children:B.email}),B.added?" is in the rotation. The account you were using is still active.":" was already managed, so its stored credentials were replaced."]}),g.jsx("button",{type:"button",className:"btn primary",onClick:e,children:"Done"})]}):(o==null?void 0:o.state)==="awaiting_code"||(o==null?void 0:o.state)==="registering"?g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"aa-step",children:[g.jsx("h4",{children:"1 · Approve in the browser"}),g.jsx("p",{className:"aa-note",children:"A tab should have opened. If not, use this link:"}),g.jsx("a",{className:"aa-link",href:o.url??"#",target:"_blank",rel:"noreferrer noopener",children:o.url})]}),g.jsxs("div",{className:"aa-step",children:[g.jsx("h4",{children:"2 · Paste the code it gives you"}),g.jsxs("div",{className:"aa-field",children:[g.jsx("input",{ref:b,type:"text",value:u,onChange:I=>c(I.target.value),onKeyDown:I=>{I.key==="Enter"&&u.trim()&&!f&&P()},placeholder:"paste the code here",spellCheck:!1,autoComplete:"off","aria-label":"Sign-in code",disabled:o.state==="registering"}),g.jsx("button",{type:"button",className:"btn primary",disabled:f||!u.trim()||o.state==="registering",onClick:P,children:o.state==="registering"?"registering…":"Continue"})]}),(y||o.error)&&g.jsx("p",{className:"aa-err",children:y??o.error}),g.jsx("p",{className:"aa-note",children:"The code goes straight to the claude CLI on this machine. It is never stored or sent anywhere else."})]})]}):L?g.jsxs("div",{className:"aa-step",children:[g.jsx("h4",{children:q.title}),g.jsx("p",{className:"aa-err",children:q.message}),g.jsx("button",{type:"button",className:"btn",onClick:()=>{S.current=!1,l(null),x(null),M()},children:"Try again"})]}):f||S.current?g.jsx("div",{className:"aa-step",children:g.jsx("p",{className:"aa-note",children:"Asking the claude CLI for a sign-in link…"})}):g.jsxs("div",{className:"aa-step aa-primer",children:[g.jsx("h4",{children:"Sign in to Anthropic"}),g.jsx("p",{className:"aa-note",children:"Opens a browser tab where you approve the sign-in, then asks for the code it shows you. claude-swap records the account when it completes, and the account you are using now stays active."}),g.jsx("div",{className:"aa-actions",children:g.jsx("button",{type:"button",className:"btn primary",onClick:M,disabled:f,children:"Open the sign-in page"})})]}):C?g.jsxs("div",{className:"aa-done",children:[g.jsx(Xg,{ref:N}),C.added&&g.jsx(hx,{anchor:N}),g.jsx("h4",{children:C.added?`Account ${C.num} imported`:"Already here"}),g.jsx("p",{className:"aa-note",children:C.added?g.jsxs(g.Fragment,{children:[C.email?g.jsx("strong",{children:C.email}):"That account"," is in the rotation now. Nothing changed on the deck you copied it from."]}):"This deck already holds that account, so nothing changed."}),g.jsxs("div",{className:"aa-actions",children:[g.jsx("button",{type:"button",className:"btn primary",onClick:e,children:"Done"}),g.jsx("button",{type:"button",className:"btn",onClick:()=>_(null),children:"Import another"})]})]}):g.jsxs("div",{className:"aa-step",children:[g.jsx("h4",{children:"Paste an account shared from another deck"}),g.jsxs("div",{className:"aa-field",children:[g.jsx("input",{ref:E,type:"text",value:p,onChange:I=>h(I.target.value),onKeyDown:I=>{I.key==="Enter"&&p.trim()&&!f&&O()},placeholder:"ccdeck1:…",spellCheck:!1,autoComplete:"off","aria-label":"Shared account"}),g.jsx("button",{type:"button",className:"btn primary",disabled:f||!p.trim(),onClick:O,children:f?"importing…":"Import"})]}),y&&g.jsx("p",{className:"aa-err",children:y}),g.jsxs("p",{className:"aa-note",children:["Use ",g.jsx("strong",{children:"share"})," on an account in the other deck. A share carries a live login and expires ten minutes after it is made."]})]})})]})})}const Q3=15e3,Z3=[70,80,85,90,95];function J3(e,n){const r=e-n;if(r<=0)return null;const s=Math.floor(r/86400),o=Math.floor(r%86400/3600),l=Math.floor(r%3600/60);return s>0?`${s}d ${o}h`:o>0?`${o}h ${l}m`:`${l}m`}function px(e,n){const r=n-Math.floor(e/1e3);return r<60?"just now":r<3600?`${Math.floor(r/60)}m ago`:r<86400?`${Math.floor(r/3600)}h ago`:`${Math.floor(r/86400)}d ago`}function eO(e,n){if(!e)return"";const r=Math.floor(e/1e3)-n;return r<=0?" · due":r<60?` · next in ${r}s`:` · next in ${Math.round(r/60)}m`}function tO(e){switch(e){case"invalid_grant":case"no_refresh_token":return{text:"login expired",hint:"claude-swap's stored login for this account was rejected and cannot be refreshed. Signing in again replaces it — the account keeps its slot, its alias and its history.",fixable:!0};case"http-401":return{text:"re-login needed",hint:"Anthropic refused this account's token.",fixable:!0};case"http-429":return{text:"rate limited",hint:"Anthropic is throttling requests for this account. It clears on its own.",fixable:!1};case"transient":return{text:"temporary error",hint:"A network or server hiccup while reading usage. The next collection retries.",fixable:!1};case"timeout":return{text:"timed out",hint:"Reading this account's usage took too long. The next collection retries.",fixable:!1};case"network":return{text:"unreachable",hint:"Could not reach Anthropic to read this account's usage.",fixable:!1};default:return{text:e,hint:`claude-swap reported "${e}" for this account.`,fixable:!1}}}function nO({lane:e,nowSec:n}){const r=Math.min(100,Math.max(0,e.pct)),s=r>=90?"var(--err)":r>=70?"var(--warn)":"var(--accent)",o=e.resetAt?J3(e.resetAt,n):null;return g.jsxs("div",{className:"ap-lane",children:[g.jsx("span",{className:"ap-lane-label",children:e.label}),g.jsx("div",{className:"ap-lane-track",children:g.jsx("div",{className:"ap-lane-fill",style:{width:`${r===0?1.5:r}%`,background:s,opacity:r===0?.4:1}})}),g.jsxs("span",{className:"ap-lane-pct",style:{color:s},children:[r,"%"]}),g.jsx("span",{className:"ap-lane-reset",children:o?`resets ${o}`:""})]})}function rO(e){const n=e.map(s=>s.num),r=n.length?Math.max(...n):0;return[...new Set([...n,r+1])].sort((s,o)=>s-o)}async function iO(e){var r;let n=!1;try{n=await Promise.race([((r=navigator.clipboard)==null?void 0:r.writeText(e).then(()=>!0))??Promise.resolve(!1),new Promise(s=>window.setTimeout(()=>s(!1),500))])}catch{n=!1}if(n)return!0;try{const s=document.createElement("textarea");s.value=e,s.setAttribute("readonly",""),s.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(s),s.select(),n=document.execCommand("copy"),s.remove()}catch{n=!1}return n}function sO(e,n){const r=Math.round(e/1e3)-n;return r<=0?{text:"expired",tone:"gone"}:r<60?{text:`expires in ${r}s`,tone:"soon"}:{text:`expires in ${Math.round(r/60)}m`,tone:"ok"}}function oO({onClose:e}){var J,F,G;const[n,r]=A.useState(null),[s,o]=A.useState(null),[l,u]=A.useState(null),[c,p]=A.useState(null),[h,f]=A.useState(null),[m,y]=A.useState(()=>Math.floor(Date.now()/1e3)),x=A.useRef(null),[C,_]=A.useState(null),[S,b]=A.useState(!1),[E,N]=A.useState(""),[j,M]=A.useState(null),[P,O]=A.useState(null),[B,L]=A.useState(!1),q=A.useCallback(async(k=!1)=>{try{const[$,se]=await Promise.all([fetch(`/api/claude-accounts${k?"?refresh=1":""}`),fetch("/api/cswap-auto")]);$.ok&&r(await $.json()),se.ok&&o(await se.json())}catch{}},[]),I=A.useCallback(async(k,$)=>{u($),f(null);try{const D=await(await fetch("/api/cswap-auto",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(k)})).json().catch(()=>null);return D!=null&&D.ok||f((D==null?void 0:D.detail)||(D==null?void 0:D.reason)||"command failed"),D}catch{return f("server unreachable"),null}finally{u(null)}},[]),H=A.useCallback(async(k,$)=>{u($),f(null);try{const D=await(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(k)})).json().catch(()=>null);return D!=null&&D.ok||f((D==null?void 0:D.detail)||(D==null?void 0:D.reason)||"command failed"),D}catch{return f("server unreachable"),null}finally{u(null)}},[]);A.useEffect(()=>(q(!0),x.current=window.setInterval(()=>q(!1),Q3),()=>{x.current!=null&&window.clearInterval(x.current)}),[q]),A.useEffect(()=>{const k=window.setInterval(()=>y(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(k)},[]);const X=((J=s==null?void 0:s.settings["autoswitch.threshold"])==null?void 0:J.value)??"90",T=(F=n==null?void 0:n.accounts)==null?void 0:F.find(k=>k.active),Y=T!=null&&T.lanes.length?Math.max(...T.lanes.map(k=>k.pct)):null,U=Y!=null&&Y>=Number(X)-15,ee=async k=>{p(k),f(null);try{const se=await(await fetch("/api/claude-accounts/switch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({account:k})})).json().catch(()=>null);se!=null&&se.ok||f((se==null?void 0:se.output)||(se==null?void 0:se.reason)||"switch failed"),await q(!0)}catch{f("server unreachable")}finally{p(null)}};return g.jsxs("div",{className:"accounts-panel","aria-label":"Claude accounts",children:[g.jsxs("div",{className:"ap-header",children:[g.jsx("h3",{children:"Accounts"}),g.jsxs("div",{className:"ap-header-right",children:[g.jsx("button",{type:"button",className:"btn ap-add",onClick:()=>b(!0),title:"Sign in to another Claude account, or paste one shared from another deck",children:"+"}),g.jsx("button",{type:"button",className:"btn ap-refresh",onClick:()=>q(!0),title:"Reload from claude-swap",children:"↻"}),g.jsx("button",{type:"button",className:"btn icon-btn",onClick:e,"aria-label":"Close accounts panel",title:"Close (A)",children:"×"})]})]}),n==null?g.jsx("div",{className:"ap-empty",children:"Checking…"}):n.ok?g.jsxs(g.Fragment,{children:[(G=n.accounts)==null?void 0:G.map(k=>g.jsxs("div",{className:`ap-account${k.active?" active":""}${k.disabled?" disabled":""}`,children:[g.jsxs("div",{className:"ap-account-head",children:[g.jsx("span",{className:"ap-num",children:k.num}),k.alias&&g.jsx("span",{className:"ap-alias",children:k.alias}),g.jsx("span",{className:"ap-email",title:k.org??void 0,children:k.email}),g.jsx("button",{type:"button",className:`ap-more${C===k.num?" on":""}`,"aria-label":`Manage account ${k.num}`,"aria-expanded":C===k.num,title:"Share, rename, move, remove",onClick:()=>{_(C===k.num?null:k.num),N(k.alias??""),M(null),O(null),L(!1)},children:"⋯"}),k.active?g.jsx("span",{className:"ap-badge-active",children:"● active"}):g.jsx("button",{type:"button",className:"btn ap-switch",disabled:c!=null||k.disabled,onClick:()=>ee(k.num),title:k.disabled?"Held out of rotation":`Switch to ${k.alias??k.email}`,children:c===k.num?"…":"switch"})]}),k.lanes.length>0?k.lanes.map($=>g.jsx(nO,{lane:$,nowSec:m},$.id)):g.jsx("div",{className:"ap-hint",children:"No usage recorded yet."}),g.jsxs("div",{className:"ap-meta",children:[k.error&&(()=>{const $=tO(k.error);return g.jsxs(g.Fragment,{children:[g.jsx("span",{className:"ap-err",title:$.hint,children:$.text}),$.fixable&&g.jsx("button",{type:"button",className:"ap-fix",onClick:()=>b(!0),title:"Open the sign-in dialog. Signing in as this account replaces its stored login in place.",children:"sign in again"})]})})(),((s==null?void 0:s.enabled)||(s==null?void 0:s.external))&&!k.active&&g.jsx("button",{type:"button",className:"ap-rotate",disabled:l!=null,onClick:()=>I({action:"account",account:k.num,enabled:k.disabled},`rot-${k.num}`).then(()=>q(!0)),title:k.disabled?"Return this account to auto-rotation":"Hold this account out of auto-rotation",children:k.disabled?"held out":"in rotation"}),k.fetchedAt?g.jsxs("span",{className:`ap-age${k.stale?" ap-stale":""}`,title:"When claude-swap last read this account's usage, and when it plans to read it again. It sets that interval itself — 3 minutes at the fastest, wider while an account is recovering from a rate limit — and every surface, including `cswap watch`, follows the same plan.",children:["collected ",px(k.fetchedAt,m),eO(k.nextAt,m)]}):g.jsx("span",{className:"ap-age ap-stale",title:"claude-swap has not read this account yet",children:"never collected"})]}),C===k.num&&g.jsxs("div",{className:"ap-manage",children:[g.jsxs("div",{className:"ap-manage-row",children:[g.jsx("span",{className:"ap-manage-label",children:"name"}),g.jsx("input",{className:"ap-manage-input",type:"text",value:E,onChange:$=>N($.target.value),onKeyDown:$=>{$.key==="Enter"&&H({action:"alias",account:k.num,alias:E},`alias-${k.num}`).then(()=>q(!0))},placeholder:"no alias",spellCheck:!1,"aria-label":`Alias for account ${k.num}`}),g.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null||E.trim()===(k.alias??""),onClick:()=>H({action:"alias",account:k.num,alias:E},`alias-${k.num}`).then(()=>q(!0)),title:"A short name to show instead of the email",children:"save"})]}),g.jsxs("div",{className:"ap-manage-row",children:[g.jsx("span",{className:"ap-manage-label",children:"slot"}),g.jsx("span",{className:"ap-field",children:g.jsx("select",{"aria-label":`Slot for account ${k.num}`,value:String(k.num),disabled:l!=null,onChange:$=>H({action:"move",account:k.num,slot:Number($.target.value)},`move-${k.num}`).then(()=>q(!0)),children:rO(n.accounts??[]).map($=>g.jsx("option",{value:$,children:$},$))})}),g.jsx("span",{className:"ap-manage-hint",children:"rotation order"})]}),g.jsxs("div",{className:"ap-manage-row",children:[g.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null,title:"Copy this account to another agents-deck. The share carries a live login and expires in 10 minutes.",onClick:async()=>{L(!1);const $=await H({action:"share",account:k.num},`share-${k.num}`);$!=null&&$.ok&&O({num:k.num,blob:$.blob,expiresAt:$.expiresAt})},children:"share…"}),g.jsx("button",{type:"button",className:`ap-manage-btn danger${j===k.num?" armed":""}`,disabled:l!=null,title:j===k.num?"This deletes the stored credentials for this account":"Remove this account from claude-swap",onClick:()=>{if(j!==k.num){M(k.num),window.setTimeout(()=>M($=>$===k.num?null:$),4e3);return}M(null),H({action:"remove",account:k.num},`rm-${k.num}`).then(()=>{_(null),q(!0)})},children:j===k.num?"confirm remove":"remove"})]}),(P==null?void 0:P.num)===k.num&&(()=>{const $=sO(P.expiresAt,m),se=$.tone==="gone";return g.jsxs("div",{className:`ap-share${se?" expired":""}`,children:[g.jsx("code",{className:"ap-share-blob",children:P.blob}),g.jsxs("div",{className:"ap-share-foot",children:[g.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null,onClick:async()=>{if(se){L(!1);const D=await H({action:"share",account:k.num},`share-${k.num}`);D!=null&&D.ok&&O({num:k.num,blob:D.blob,expiresAt:D.expiresAt});return}await iO(P.blob)&&(L(!0),window.setTimeout(()=>L(!1),1800))},children:se?"make a new share":B?"copied":"copy"}),g.jsxs("span",{className:"ap-manage-hint",children:["carries a live login · ",g.jsx("span",{className:`ap-share-expiry ${$.tone}`,children:$.text})]})]})]})})()]})]},k.num)),(s==null?void 0:s.ok)&&g.jsxs("div",{className:"ap-auto",children:[g.jsxs("div",{className:"ap-auto-head",children:[g.jsx("span",{className:"ap-auto-title",children:"Auto-switch"}),g.jsxs("span",{className:"ap-auto-ctl",children:[Y!=null&&g.jsxs("span",{className:`ap-auto-now${U?" near":""}`,children:[Math.round(Y),"%"]}),g.jsx("span",{className:"ap-field",title:"Switch once the active account passes this much of its limit",children:g.jsx("select",{"aria-label":"Switch threshold",value:X,disabled:l!=null,onChange:k=>I({action:"setting",key:"autoswitch.threshold",value:k.target.value},"threshold").then(()=>q(!0)),children:Z3.map(k=>g.jsxs("option",{value:k,children:[k,"%"]},k))})}),g.jsxs("button",{type:"button",className:`ap-auto-state toggle${s.enabled?" live":""}`,role:"switch","aria-checked":s.enabled,disabled:l!=null,onClick:()=>I({action:"enable",enabled:!s.enabled},"enable").then(()=>q(!0)),title:s.enabled?"Stop switching accounts automatically":"Switch accounts automatically when the active one nears its limit",children:[g.jsx("i",{className:s.enabled?"ap-pulse":"ap-dot","aria-hidden":!0}),s.enabled?"on":"off"]})]})]}),s.external&&g.jsxs("p",{className:"ap-auto-note",children:[g.jsx("i",{className:"ap-pulse","aria-hidden":!0})," A ",g.jsx("code",{children:"cswap auto"})," loop in your terminal is doing the switching. The deck stands down while it runs",s.enabled?" — this toggle takes over when you stop it.":"."]}),s.lastTick&&g.jsx("div",{className:"ap-auto-foot",children:g.jsxs("span",{className:"ap-auto-result",children:["checked ",px(s.lastTick.at,m)]})})]}),h&&g.jsx("div",{className:"ap-failure",children:h}),g.jsx("p",{className:"ap-footnote",title:"Anthropic's usage endpoint allows roughly 28–30 requests per hour per account, shared by every tool on this machine — polling it from here would rate-limit your account. So the deck never fetches: it asks claude-swap to collect while this panel is open, at most once every three minutes, and claude-swap decides whether that touches the network at all.",children:"Collected by claude-swap while this panel is open."})]}):g.jsx("div",{className:"ap-empty",children:n.reason==="no_cswap"?g.jsxs(g.Fragment,{children:[g.jsx("span",{children:"claude-swap isn't installed."}),g.jsx("span",{className:"ap-hint",children:"This panel reads the account store claude-swap keeps — without it there is nothing to show. It is a separate tool, published on PyPI, so it does not come with this package."}),n.hint&&g.jsx("code",{className:"ap-cmd",children:n.hint}),g.jsxs("span",{className:"ap-hint",children:["Then add an account with the ",g.jsx("strong",{children:"+"})," button above."]})]}):n.reason==="no_accounts"?g.jsxs(g.Fragment,{children:[g.jsx("span",{children:"No accounts added yet."}),g.jsxs("span",{className:"ap-hint",children:["claude-swap is installed but has nothing in its store. Use the ",g.jsx("strong",{children:"+"})," above to sign one in, or to paste one shared from another deck."]})]}):g.jsxs(g.Fragment,{children:[g.jsx("span",{children:"Couldn't read the account store."}),g.jsxs("span",{className:"ap-hint",children:["claude-swap is installed, but its store could not be read",n.reason?` (${n.reason})`:"","."]})]})}),S&&g.jsx(X3,{onClose:()=>b(!1),onChanged:()=>q(!0)})]})}const aO=3e4;function lO({bundle:e,running:n,lastTried:r}){return!n||e===n?!1:r!==n}function uO(e){const n=e.thresholdMs??aO;return!e.enabled||e.kind!=="restart"||!e.canRestart?{idleSince:null,restart:!1}:e.busy?{idleSince:null,restart:!1}:e.idleSince==null?{idleSince:e.now,restart:!1}:e.now<e.idleSince?{idleSince:e.now,restart:!1}:{idleSince:e.idleSince,restart:e.now-e.idleSince>=n}}function cO(e){return e.ctrlKey||e.metaKey||e.altKey}function dd(e,n){if(n.size!==0)for(const r of Array.from(e.keys()))n.has(r)||e.delete(r)}function dO(e){const n=new Set;for(const r of e)n.add(r.id),n.add(`group:${r.sessionId}`);return n}const fO=40,hO=120;function pO(e,n){let r=null,s=0,o=Number.NEGATIVE_INFINITY;const l=()=>{r=null,o=n.now(),e()},u=()=>{r!=null&&(n.clearTimeout(r),r=null)},c=(p,h,f)=>{if(r!=null){if(s<=p)return;u()}const m=Math.min(f,Math.max(0,p-h));s=p,r=n.setTimeout(l,m)};return{live(p=fO){const h=n.now(),f=Math.max(o+p,h);if(f<=h){u(),l();return}c(f,h,p)},replay(p=hO){u(),s=n.now()+p,r=n.setTimeout(l,p)},flush(){u(),l()},cancel(){u()}}}function mO(){let e=!1,n=[];return{get paused(){return e},get size(){return n.length},accept(r){return e?(n.push(r),!1):!0},setPaused(r){if(e=r,r||n.length===0)return[];const s=n;return n=[],s}}}function gO(){let e=0;return{begin(){const n=++e;return()=>n===e},cancel(){e++}}}function vO(e,n=new Date){return new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate()-(e-1))).toISOString().slice(0,10).replace(/-/g,"")}function Hi(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:e<1e9?`${(e/1e6).toFixed(2)}M`:`${(e/1e9).toFixed(2)}B`}function mx(e){return e.replace(/^anthropic\./,"").replace(/^claude-/,"").replace(/-\d{8}$/,"")}function jl(e){const n=e.toLowerCase();return n.includes("opus")?"#c4b5fd":n.includes("sonnet")?"#7dd3fc":n.includes("haiku")?"#86efac":n.includes("gpt-5")||n.includes("gpt5")?"#fcd34d":n.includes("gpt")?"#fca5a5":n.includes("gemini")?"#a5b4fc":n.includes("codex")?"#fdba74":"#94a3b8"}const yO=[7,14,30,90];function wO(e){const[n,r]=A.useState(null),[s,o]=A.useState(!1),l=A.useRef(gO()).current,u=(c=!1)=>{const p=l.begin();o(!0);const f=`/api/ccusage?since=${vO(e)}${c?"&refresh=1":""}`;fetch(f).then(m=>m.json()).then(m=>{p()&&r(m)}).catch(()=>{p()&&r({ok:!1,error:"request failed"})}).finally(()=>{p()&&o(!1)})};return A.useEffect(()=>(u(!1),()=>l.cancel()),[e]),{data:n,loading:s,reload:()=>u(!0)}}function xO({onClose:e}){var b,E;const[n,r]=A.useState(30),[s,o]=A.useState(null),{data:l,loading:u,reload:c}=wO(n);A.useEffect(()=>{const N=j=>{j.key==="Escape"&&e()};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[e]);const p=l!=null&&l.ok?l.days??[]:[],h=A.useMemo(()=>p.reduce((N,j)=>Math.max(N,j.totalCost),0),[p]),{totalCost:f,totalTok:m,inOut:y,cacheRead:x,modelCosts:C}=A.useMemo(()=>{let N=0,j=0,M=0,P=0;const O=new Map;for(const B of p){N+=B.totalCost,j+=B.totalTokens,M+=B.inputTokens+B.outputTokens,P+=B.cacheReadTokens;for(const L of B.modelBreakdowns)O.set(L.modelName,(O.get(L.modelName)??0)+L.cost)}return{totalCost:N,totalTok:j,inOut:M,cacheRead:P,modelCosts:O}},[p]),_=A.useMemo(()=>Array.from(C.entries()).sort((N,j)=>j[1]-N[1]),[C]),S=s?p.find(N=>N.period===s)??null:null;return g.jsx("div",{className:"uh-backdrop",onClick:e,role:"presentation",children:g.jsxs("div",{className:"uh-modal",onClick:N=>N.stopPropagation(),role:"dialog","aria-label":"Usage history",children:[g.jsxs("header",{className:"uh-head",children:[g.jsxs("div",{className:"uh-titlewrap",children:[g.jsx("div",{className:"uh-title",children:"Usage history"}),g.jsx("div",{className:"uh-sub",children:"via ccusage · local Claude / Codex logs"})]}),g.jsx("div",{className:"uh-range",role:"tablist","aria-label":"Range",children:yO.map(N=>g.jsxs("button",{role:"tab","aria-selected":n===N,className:`uh-range-btn${n===N?" on":""}`,onClick:()=>{r(N),o(null)},children:[N,"d"]},N))}),g.jsx("button",{className:"btn icon-btn uh-reload",onClick:c,title:"Re-run ccusage","aria-label":"Reload",children:"↻"}),g.jsx("button",{className:"uh-close",onClick:e,"aria-label":"Close",children:"×"})]}),u&&p.length===0?g.jsx("div",{className:"uh-status",children:"running ccusage… (first run downloads the package)"}):l&&!l.ok?g.jsxs("div",{className:"uh-status uh-err",children:["ccusage failed: ",l.error]}):p.length===0?g.jsx("div",{className:"uh-status",children:"no usage in this range"}):g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"uh-totals",children:[g.jsx(Rl,{label:"total cost",val:Ve(f),accent:!0}),g.jsx(Rl,{label:"tokens",val:Hi(m)}),g.jsx(Rl,{label:"input+output",val:Hi(y)}),g.jsx(Rl,{label:"cache reads",val:Hi(x)})]}),g.jsx("div",{className:"uh-chart",role:"img","aria-label":"Daily cost by model",children:p.map(N=>{const j=h>0?N.totalCost/h*100:0,M=N.period===s;return g.jsxs("button",{className:`uh-bar-col${M?" sel":""}`,onClick:()=>o(M?null:N.period),title:`${N.period} · ${Ve(N.totalCost)}`,style:{flexBasis:`${100/p.length}%`},children:[g.jsx("div",{className:"uh-bar",style:{height:`${Math.max(j,N.totalCost>0?2:0)}%`},children:N.modelBreakdowns.slice().sort((P,O)=>O.cost-P.cost).map(P=>{const O=N.totalCost>0?P.cost/N.totalCost*100:0;return g.jsx("div",{className:"uh-bar-seg",style:{height:`${O}%`,background:jl(P.modelName)}},P.modelName)})}),g.jsx("span",{className:"uh-bar-label",children:N.period.slice(5)})]},N.period)})}),g.jsx("div",{className:"uh-legend",children:_.map(([N,j])=>g.jsxs("span",{className:"uh-legend-item",children:[g.jsx("span",{className:"uh-legend-dot",style:{background:jl(N)}}),mx(N)," ",g.jsx("span",{className:"uh-legend-cost",children:Ve(j)})]},N))}),S&&g.jsxs("div",{className:"uh-detail",children:[g.jsxs("div",{className:"uh-detail-head",children:[g.jsx("span",{className:"uh-detail-date",children:S.period}),g.jsx("span",{className:"uh-detail-cost",children:Ve(S.totalCost)}),(E=(b=S.metadata)==null?void 0:b.agents)!=null&&E.length?g.jsx("span",{className:"uh-detail-agents",children:S.metadata.agents.join(" · ")}):null]}),g.jsxs("div",{className:"uh-detail-mini",children:[g.jsx(Tl,{label:"input",val:Hi(S.inputTokens)}),g.jsx(Tl,{label:"output",val:Hi(S.outputTokens)}),g.jsx(Tl,{label:"cache write",val:Hi(S.cacheCreationTokens)}),g.jsx(Tl,{label:"cache read",val:Hi(S.cacheReadTokens)})]}),g.jsx("div",{className:"uh-detail-models",children:S.modelBreakdowns.slice().sort((N,j)=>j.cost-N.cost).map(N=>{const j=S.totalCost>0?N.cost/S.totalCost*100:0;return g.jsxs("div",{className:"uh-model-row",children:[g.jsxs("span",{className:"uh-model-name",children:[g.jsx("span",{className:"uh-legend-dot",style:{background:jl(N.modelName)}}),mx(N.modelName)]}),g.jsx("span",{className:"uh-model-bar",children:g.jsx("span",{className:"uh-model-bar-fill",style:{width:`${j}%`,background:jl(N.modelName)}})}),g.jsx("span",{className:"uh-model-cost",children:Ve(N.cost)})]},N.modelName)})})]})]})]})})}function Rl({label:e,val:n,accent:r}){return g.jsxs("div",{className:"uh-stat",children:[g.jsx("span",{className:`uh-stat-val${r?" accent":""}`,children:n}),g.jsx("span",{className:"uh-stat-label",children:e})]})}function Tl({label:e,val:n}){return g.jsxs("div",{className:"uh-ministat",children:[g.jsx("span",{className:"uh-ministat-val",children:n}),g.jsx("span",{className:"uh-ministat-label",children:e})]})}function _v(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var fd,gx;function _O(){if(gx)return fd;gx=1;function e(){this.__data__=[],this.size=0}return fd=e,fd}var hd,vx;function Qs(){if(vx)return hd;vx=1;function e(n,r){return n===r||n!==n&&r!==r}return hd=e,hd}var pd,yx;function nu(){if(yx)return pd;yx=1;var e=Qs();function n(r,s){for(var o=r.length;o--;)if(e(r[o][0],s))return o;return-1}return pd=n,pd}var md,wx;function SO(){if(wx)return md;wx=1;var e=nu(),n=Array.prototype,r=n.splice;function s(o){var l=this.__data__,u=e(l,o);if(u<0)return!1;var c=l.length-1;return u==c?l.pop():r.call(l,u,1),--this.size,!0}return md=s,md}var gd,xx;function bO(){if(xx)return gd;xx=1;var e=nu();function n(r){var s=this.__data__,o=e(s,r);return o<0?void 0:s[o][1]}return gd=n,gd}var vd,_x;function kO(){if(_x)return vd;_x=1;var e=nu();function n(r){return e(this.__data__,r)>-1}return vd=n,vd}var yd,Sx;function EO(){if(Sx)return yd;Sx=1;var e=nu();function n(r,s){var o=this.__data__,l=e(o,r);return l<0?(++this.size,o.push([r,s])):o[l][1]=s,this}return yd=n,yd}var wd,bx;function ru(){if(bx)return wd;bx=1;var e=_O(),n=SO(),r=bO(),s=kO(),o=EO();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,wd=l,wd}var xd,kx;function NO(){if(kx)return xd;kx=1;var e=ru();function n(){this.__data__=new e,this.size=0}return xd=n,xd}var _d,Ex;function CO(){if(Ex)return _d;Ex=1;function e(n){var r=this.__data__,s=r.delete(n);return this.size=r.size,s}return _d=e,_d}var Sd,Nx;function jO(){if(Nx)return Sd;Nx=1;function e(n){return this.__data__.get(n)}return Sd=e,Sd}var bd,Cx;function RO(){if(Cx)return bd;Cx=1;function e(n){return this.__data__.has(n)}return bd=e,bd}var kd,jx;function CN(){if(jx)return kd;jx=1;var e=typeof pl=="object"&&pl&&pl.Object===Object&&pl;return kd=e,kd}var Ed,Rx;function Jn(){if(Rx)return Ed;Rx=1;var e=CN(),n=typeof self=="object"&&self&&self.Object===Object&&self,r=e||n||Function("return this")();return Ed=r,Ed}var Nd,Tx;function Zs(){if(Tx)return Nd;Tx=1;var e=Jn(),n=e.Symbol;return Nd=n,Nd}var Cd,Ax;function TO(){if(Ax)return Cd;Ax=1;var e=Zs(),n=Object.prototype,r=n.hasOwnProperty,s=n.toString,o=e?e.toStringTag:void 0;function l(u){var c=r.call(u,o),p=u[o];try{u[o]=void 0;var h=!0}catch{}var f=s.call(u);return h&&(c?u[o]=p:delete u[o]),f}return Cd=l,Cd}var jd,Ix;function AO(){if(Ix)return jd;Ix=1;var e=Object.prototype,n=e.toString;function r(s){return n.call(s)}return jd=r,jd}var Rd,Mx;function Ji(){if(Mx)return Rd;Mx=1;var e=Zs(),n=TO(),r=AO(),s="[object Null]",o="[object Undefined]",l=e?e.toStringTag:void 0;function u(c){return c==null?c===void 0?o:s:l&&l in Object(c)?n(c):r(c)}return Rd=u,Rd}var Td,Px;function Rn(){if(Px)return Td;Px=1;function e(n){var r=typeof n;return n!=null&&(r=="object"||r=="function")}return Td=e,Td}var Ad,Ox;function ua(){if(Ox)return Ad;Ox=1;var e=Ji(),n=Rn(),r="[object AsyncFunction]",s="[object Function]",o="[object GeneratorFunction]",l="[object Proxy]";function u(c){if(!n(c))return!1;var p=e(c);return p==s||p==o||p==r||p==l}return Ad=u,Ad}var Id,qx;function IO(){if(qx)return Id;qx=1;var e=Jn(),n=e["__core-js_shared__"];return Id=n,Id}var Md,Lx;function MO(){if(Lx)return Md;Lx=1;var e=IO(),n=(function(){var s=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""})();function r(s){return!!n&&n in s}return Md=r,Md}var Pd,$x;function jN(){if($x)return Pd;$x=1;var e=Function.prototype,n=e.toString;function r(s){if(s!=null){try{return n.call(s)}catch{}try{return s+""}catch{}}return""}return Pd=r,Pd}var Od,Dx;function PO(){if(Dx)return Od;Dx=1;var e=ua(),n=MO(),r=Rn(),s=jN(),o=/[\\^$.*+?()[\]{}|]/g,l=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,p=u.toString,h=c.hasOwnProperty,f=RegExp("^"+p.call(h).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function m(y){if(!r(y)||n(y))return!1;var x=e(y)?f:l;return x.test(s(y))}return Od=m,Od}var qd,Fx;function OO(){if(Fx)return qd;Fx=1;function e(n,r){return n==null?void 0:n[r]}return qd=e,qd}var Ld,zx;function es(){if(zx)return Ld;zx=1;var e=PO(),n=OO();function r(s,o){var l=n(s,o);return e(l)?l:void 0}return Ld=r,Ld}var $d,Bx;function Sv(){if(Bx)return $d;Bx=1;var e=es(),n=Jn(),r=e(n,"Map");return $d=r,$d}var Dd,Ux;function iu(){if(Ux)return Dd;Ux=1;var e=es(),n=e(Object,"create");return Dd=n,Dd}var Fd,Hx;function qO(){if(Hx)return Fd;Hx=1;var e=iu();function n(){this.__data__=e?e(null):{},this.size=0}return Fd=n,Fd}var zd,Vx;function LO(){if(Vx)return zd;Vx=1;function e(n){var r=this.has(n)&&delete this.__data__[n];return this.size-=r?1:0,r}return zd=e,zd}var Bd,Wx;function $O(){if(Wx)return Bd;Wx=1;var e=iu(),n="__lodash_hash_undefined__",r=Object.prototype,s=r.hasOwnProperty;function o(l){var u=this.__data__;if(e){var c=u[l];return c===n?void 0:c}return s.call(u,l)?u[l]:void 0}return Bd=o,Bd}var Ud,Gx;function DO(){if(Gx)return Ud;Gx=1;var e=iu(),n=Object.prototype,r=n.hasOwnProperty;function s(o){var l=this.__data__;return e?l[o]!==void 0:r.call(l,o)}return Ud=s,Ud}var Hd,Yx;function FO(){if(Yx)return Hd;Yx=1;var e=iu(),n="__lodash_hash_undefined__";function r(s,o){var l=this.__data__;return this.size+=this.has(s)?0:1,l[s]=e&&o===void 0?n:o,this}return Hd=r,Hd}var Vd,Kx;function zO(){if(Kx)return Vd;Kx=1;var e=qO(),n=LO(),r=$O(),s=DO(),o=FO();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,Vd=l,Vd}var Wd,Xx;function BO(){if(Xx)return Wd;Xx=1;var e=zO(),n=ru(),r=Sv();function s(){this.size=0,this.__data__={hash:new e,map:new(r||n),string:new e}}return Wd=s,Wd}var Gd,Qx;function UO(){if(Qx)return Gd;Qx=1;function e(n){var r=typeof n;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?n!=="__proto__":n===null}return Gd=e,Gd}var Yd,Zx;function su(){if(Zx)return Yd;Zx=1;var e=UO();function n(r,s){var o=r.__data__;return e(s)?o[typeof s=="string"?"string":"hash"]:o.map}return Yd=n,Yd}var Kd,Jx;function HO(){if(Jx)return Kd;Jx=1;var e=su();function n(r){var s=e(this,r).delete(r);return this.size-=s?1:0,s}return Kd=n,Kd}var Xd,e_;function VO(){if(e_)return Xd;e_=1;var e=su();function n(r){return e(this,r).get(r)}return Xd=n,Xd}var Qd,t_;function WO(){if(t_)return Qd;t_=1;var e=su();function n(r){return e(this,r).has(r)}return Qd=n,Qd}var Zd,n_;function GO(){if(n_)return Zd;n_=1;var e=su();function n(r,s){var o=e(this,r),l=o.size;return o.set(r,s),this.size+=o.size==l?0:1,this}return Zd=n,Zd}var Jd,r_;function bv(){if(r_)return Jd;r_=1;var e=BO(),n=HO(),r=VO(),s=WO(),o=GO();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,Jd=l,Jd}var ef,i_;function YO(){if(i_)return ef;i_=1;var e=ru(),n=Sv(),r=bv(),s=200;function o(l,u){var c=this.__data__;if(c instanceof e){var p=c.__data__;if(!n||p.length<s-1)return p.push([l,u]),this.size=++c.size,this;c=this.__data__=new r(p)}return c.set(l,u),this.size=c.size,this}return ef=o,ef}var tf,s_;function ou(){if(s_)return tf;s_=1;var e=ru(),n=NO(),r=CO(),s=jO(),o=RO(),l=YO();function u(c){var p=this.__data__=new e(c);this.size=p.size}return u.prototype.clear=n,u.prototype.delete=r,u.prototype.get=s,u.prototype.has=o,u.prototype.set=l,tf=u,tf}var nf,o_;function kv(){if(o_)return nf;o_=1;function e(n,r){for(var s=-1,o=n==null?0:n.length;++s<o&&r(n[s],s,n)!==!1;);return n}return nf=e,nf}var rf,a_;function RN(){if(a_)return rf;a_=1;var e=es(),n=(function(){try{var r=e(Object,"defineProperty");return r({},"",{}),r}catch{}})();return rf=n,rf}var sf,l_;function au(){if(l_)return sf;l_=1;var e=RN();function n(r,s,o){s=="__proto__"&&e?e(r,s,{configurable:!0,enumerable:!0,value:o,writable:!0}):r[s]=o}return sf=n,sf}var of,u_;function lu(){if(u_)return of;u_=1;var e=au(),n=Qs(),r=Object.prototype,s=r.hasOwnProperty;function o(l,u,c){var p=l[u];(!(s.call(l,u)&&n(p,c))||c===void 0&&!(u in l))&&e(l,u,c)}return of=o,of}var af,c_;function ca(){if(c_)return af;c_=1;var e=lu(),n=au();function r(s,o,l,u){var c=!l;l||(l={});for(var p=-1,h=o.length;++p<h;){var f=o[p],m=u?u(l[f],s[f],f,l,s):void 0;m===void 0&&(m=s[f]),c?n(l,f,m):e(l,f,m)}return l}return af=r,af}var lf,d_;function KO(){if(d_)return lf;d_=1;function e(n,r){for(var s=-1,o=Array(n);++s<n;)o[s]=r(s);return o}return lf=e,lf}var uf,f_;function hr(){if(f_)return uf;f_=1;function e(n){return n!=null&&typeof n=="object"}return uf=e,uf}var cf,h_;function XO(){if(h_)return cf;h_=1;var e=Ji(),n=hr(),r="[object Arguments]";function s(o){return n(o)&&e(o)==r}return cf=s,cf}var df,p_;function da(){if(p_)return df;p_=1;var e=XO(),n=hr(),r=Object.prototype,s=r.hasOwnProperty,o=r.propertyIsEnumerable,l=e((function(){return arguments})())?e:function(u){return n(u)&&s.call(u,"callee")&&!o.call(u,"callee")};return df=l,df}var ff,m_;function St(){if(m_)return ff;m_=1;var e=Array.isArray;return ff=e,ff}var Uo={exports:{}},hf,g_;function QO(){if(g_)return hf;g_=1;function e(){return!1}return hf=e,hf}Uo.exports;var v_;function Js(){return v_||(v_=1,(function(e,n){var r=Jn(),s=QO(),o=n&&!n.nodeType&&n,l=o&&!0&&e&&!e.nodeType&&e,u=l&&l.exports===o,c=u?r.Buffer:void 0,p=c?c.isBuffer:void 0,h=p||s;e.exports=h})(Uo,Uo.exports)),Uo.exports}var pf,y_;function uu(){if(y_)return pf;y_=1;var e=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function r(s,o){var l=typeof s;return o=o??e,!!o&&(l=="number"||l!="symbol"&&n.test(s))&&s>-1&&s%1==0&&s<o}return pf=r,pf}var mf,w_;function Ev(){if(w_)return mf;w_=1;var e=9007199254740991;function n(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=e}return mf=n,mf}var gf,x_;function ZO(){if(x_)return gf;x_=1;var e=Ji(),n=Ev(),r=hr(),s="[object Arguments]",o="[object Array]",l="[object Boolean]",u="[object Date]",c="[object Error]",p="[object Function]",h="[object Map]",f="[object Number]",m="[object Object]",y="[object RegExp]",x="[object Set]",C="[object String]",_="[object WeakMap]",S="[object ArrayBuffer]",b="[object DataView]",E="[object Float32Array]",N="[object Float64Array]",j="[object Int8Array]",M="[object Int16Array]",P="[object Int32Array]",O="[object Uint8Array]",B="[object Uint8ClampedArray]",L="[object Uint16Array]",q="[object Uint32Array]",I={};I[E]=I[N]=I[j]=I[M]=I[P]=I[O]=I[B]=I[L]=I[q]=!0,I[s]=I[o]=I[S]=I[l]=I[b]=I[u]=I[c]=I[p]=I[h]=I[f]=I[m]=I[y]=I[x]=I[C]=I[_]=!1;function H(X){return r(X)&&n(X.length)&&!!I[e(X)]}return gf=H,gf}var vf,__;function cu(){if(__)return vf;__=1;function e(n){return function(r){return n(r)}}return vf=e,vf}var Ho={exports:{}};Ho.exports;var S_;function Nv(){return S_||(S_=1,(function(e,n){var r=CN(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,l=o&&o.exports===s,u=l&&r.process,c=(function(){try{var p=o&&o.require&&o.require("util").types;return p||u&&u.binding&&u.binding("util")}catch{}})();e.exports=c})(Ho,Ho.exports)),Ho.exports}var yf,b_;function fa(){if(b_)return yf;b_=1;var e=ZO(),n=cu(),r=Nv(),s=r&&r.isTypedArray,o=s?n(s):e;return yf=o,yf}var wf,k_;function TN(){if(k_)return wf;k_=1;var e=KO(),n=da(),r=St(),s=Js(),o=uu(),l=fa(),u=Object.prototype,c=u.hasOwnProperty;function p(h,f){var m=r(h),y=!m&&n(h),x=!m&&!y&&s(h),C=!m&&!y&&!x&&l(h),_=m||y||x||C,S=_?e(h.length,String):[],b=S.length;for(var E in h)(f||c.call(h,E))&&!(_&&(E=="length"||x&&(E=="offset"||E=="parent")||C&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||o(E,b)))&&S.push(E);return S}return wf=p,wf}var xf,E_;function du(){if(E_)return xf;E_=1;var e=Object.prototype;function n(r){var s=r&&r.constructor,o=typeof s=="function"&&s.prototype||e;return r===o}return xf=n,xf}var _f,N_;function AN(){if(N_)return _f;N_=1;function e(n,r){return function(s){return n(r(s))}}return _f=e,_f}var Sf,C_;function JO(){if(C_)return Sf;C_=1;var e=AN(),n=e(Object.keys,Object);return Sf=n,Sf}var bf,j_;function Cv(){if(j_)return bf;j_=1;var e=du(),n=JO(),r=Object.prototype,s=r.hasOwnProperty;function o(l){if(!e(l))return n(l);var u=[];for(var c in Object(l))s.call(l,c)&&c!="constructor"&&u.push(c);return u}return bf=o,bf}var kf,R_;function qr(){if(R_)return kf;R_=1;var e=ua(),n=Ev();function r(s){return s!=null&&n(s.length)&&!e(s)}return kf=r,kf}var Ef,T_;function xi(){if(T_)return Ef;T_=1;var e=TN(),n=Cv(),r=qr();function s(o){return r(o)?e(o):n(o)}return Ef=s,Ef}var Nf,A_;function eq(){if(A_)return Nf;A_=1;var e=ca(),n=xi();function r(s,o){return s&&e(o,n(o),s)}return Nf=r,Nf}var Cf,I_;function tq(){if(I_)return Cf;I_=1;function e(n){var r=[];if(n!=null)for(var s in Object(n))r.push(s);return r}return Cf=e,Cf}var jf,M_;function nq(){if(M_)return jf;M_=1;var e=Rn(),n=du(),r=tq(),s=Object.prototype,o=s.hasOwnProperty;function l(u){if(!e(u))return r(u);var c=n(u),p=[];for(var h in u)h=="constructor"&&(c||!o.call(u,h))||p.push(h);return p}return jf=l,jf}var Rf,P_;function ts(){if(P_)return Rf;P_=1;var e=TN(),n=nq(),r=qr();function s(o){return r(o)?e(o,!0):n(o)}return Rf=s,Rf}var Tf,O_;function rq(){if(O_)return Tf;O_=1;var e=ca(),n=ts();function r(s,o){return s&&e(o,n(o),s)}return Tf=r,Tf}var Vo={exports:{}};Vo.exports;var q_;function IN(){return q_||(q_=1,(function(e,n){var r=Jn(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,l=o&&o.exports===s,u=l?r.Buffer:void 0,c=u?u.allocUnsafe:void 0;function p(h,f){if(f)return h.slice();var m=h.length,y=c?c(m):new h.constructor(m);return h.copy(y),y}e.exports=p})(Vo,Vo.exports)),Vo.exports}var Af,L_;function MN(){if(L_)return Af;L_=1;function e(n,r){var s=-1,o=n.length;for(r||(r=Array(o));++s<o;)r[s]=n[s];return r}return Af=e,Af}var If,$_;function PN(){if($_)return If;$_=1;function e(n,r){for(var s=-1,o=n==null?0:n.length,l=0,u=[];++s<o;){var c=n[s];r(c,s,n)&&(u[l++]=c)}return u}return If=e,If}var Mf,D_;function ON(){if(D_)return Mf;D_=1;function e(){return[]}return Mf=e,Mf}var Pf,F_;function jv(){if(F_)return Pf;F_=1;var e=PN(),n=ON(),r=Object.prototype,s=r.propertyIsEnumerable,o=Object.getOwnPropertySymbols,l=o?function(u){return u==null?[]:(u=Object(u),e(o(u),function(c){return s.call(u,c)}))}:n;return Pf=l,Pf}var Of,z_;function iq(){if(z_)return Of;z_=1;var e=ca(),n=jv();function r(s,o){return e(s,n(s),o)}return Of=r,Of}var qf,B_;function Rv(){if(B_)return qf;B_=1;function e(n,r){for(var s=-1,o=r.length,l=n.length;++s<o;)n[l+s]=r[s];return n}return qf=e,qf}var Lf,U_;function fu(){if(U_)return Lf;U_=1;var e=AN(),n=e(Object.getPrototypeOf,Object);return Lf=n,Lf}var $f,H_;function qN(){if(H_)return $f;H_=1;var e=Rv(),n=fu(),r=jv(),s=ON(),o=Object.getOwnPropertySymbols,l=o?function(u){for(var c=[];u;)e(c,r(u)),u=n(u);return c}:s;return $f=l,$f}var Df,V_;function sq(){if(V_)return Df;V_=1;var e=ca(),n=qN();function r(s,o){return e(s,n(s),o)}return Df=r,Df}var Ff,W_;function LN(){if(W_)return Ff;W_=1;var e=Rv(),n=St();function r(s,o,l){var u=o(s);return n(s)?u:e(u,l(s))}return Ff=r,Ff}var zf,G_;function $N(){if(G_)return zf;G_=1;var e=LN(),n=jv(),r=xi();function s(o){return e(o,r,n)}return zf=s,zf}var Bf,Y_;function oq(){if(Y_)return Bf;Y_=1;var e=LN(),n=qN(),r=ts();function s(o){return e(o,r,n)}return Bf=s,Bf}var Uf,K_;function aq(){if(K_)return Uf;K_=1;var e=es(),n=Jn(),r=e(n,"DataView");return Uf=r,Uf}var Hf,X_;function lq(){if(X_)return Hf;X_=1;var e=es(),n=Jn(),r=e(n,"Promise");return Hf=r,Hf}var Vf,Q_;function DN(){if(Q_)return Vf;Q_=1;var e=es(),n=Jn(),r=e(n,"Set");return Vf=r,Vf}var Wf,Z_;function uq(){if(Z_)return Wf;Z_=1;var e=es(),n=Jn(),r=e(n,"WeakMap");return Wf=r,Wf}var Gf,J_;function eo(){if(J_)return Gf;J_=1;var e=aq(),n=Sv(),r=lq(),s=DN(),o=uq(),l=Ji(),u=jN(),c="[object Map]",p="[object Object]",h="[object Promise]",f="[object Set]",m="[object WeakMap]",y="[object DataView]",x=u(e),C=u(n),_=u(r),S=u(s),b=u(o),E=l;return(e&&E(new e(new ArrayBuffer(1)))!=y||n&&E(new n)!=c||r&&E(r.resolve())!=h||s&&E(new s)!=f||o&&E(new o)!=m)&&(E=function(N){var j=l(N),M=j==p?N.constructor:void 0,P=M?u(M):"";if(P)switch(P){case x:return y;case C:return c;case _:return h;case S:return f;case b:return m}return j}),Gf=E,Gf}var Yf,e1;function cq(){if(e1)return Yf;e1=1;var e=Object.prototype,n=e.hasOwnProperty;function r(s){var o=s.length,l=new s.constructor(o);return o&&typeof s[0]=="string"&&n.call(s,"index")&&(l.index=s.index,l.input=s.input),l}return Yf=r,Yf}var Kf,t1;function FN(){if(t1)return Kf;t1=1;var e=Jn(),n=e.Uint8Array;return Kf=n,Kf}var Xf,n1;function Tv(){if(n1)return Xf;n1=1;var e=FN();function n(r){var s=new r.constructor(r.byteLength);return new e(s).set(new e(r)),s}return Xf=n,Xf}var Qf,r1;function dq(){if(r1)return Qf;r1=1;var e=Tv();function n(r,s){var o=s?e(r.buffer):r.buffer;return new r.constructor(o,r.byteOffset,r.byteLength)}return Qf=n,Qf}var Zf,i1;function fq(){if(i1)return Zf;i1=1;var e=/\w*$/;function n(r){var s=new r.constructor(r.source,e.exec(r));return s.lastIndex=r.lastIndex,s}return Zf=n,Zf}var Jf,s1;function hq(){if(s1)return Jf;s1=1;var e=Zs(),n=e?e.prototype:void 0,r=n?n.valueOf:void 0;function s(o){return r?Object(r.call(o)):{}}return Jf=s,Jf}var eh,o1;function zN(){if(o1)return eh;o1=1;var e=Tv();function n(r,s){var o=s?e(r.buffer):r.buffer;return new r.constructor(o,r.byteOffset,r.length)}return eh=n,eh}var th,a1;function pq(){if(a1)return th;a1=1;var e=Tv(),n=dq(),r=fq(),s=hq(),o=zN(),l="[object Boolean]",u="[object Date]",c="[object Map]",p="[object Number]",h="[object RegExp]",f="[object Set]",m="[object String]",y="[object Symbol]",x="[object ArrayBuffer]",C="[object DataView]",_="[object Float32Array]",S="[object Float64Array]",b="[object Int8Array]",E="[object Int16Array]",N="[object Int32Array]",j="[object Uint8Array]",M="[object Uint8ClampedArray]",P="[object Uint16Array]",O="[object Uint32Array]";function B(L,q,I){var H=L.constructor;switch(q){case x:return e(L);case l:case u:return new H(+L);case C:return n(L,I);case _:case S:case b:case E:case N:case j:case M:case P:case O:return o(L,I);case c:return new H;case p:case m:return new H(L);case h:return r(L);case f:return new H;case y:return s(L)}}return th=B,th}var nh,l1;function BN(){if(l1)return nh;l1=1;var e=Rn(),n=Object.create,r=(function(){function s(){}return function(o){if(!e(o))return{};if(n)return n(o);s.prototype=o;var l=new s;return s.prototype=void 0,l}})();return nh=r,nh}var rh,u1;function UN(){if(u1)return rh;u1=1;var e=BN(),n=fu(),r=du();function s(o){return typeof o.constructor=="function"&&!r(o)?e(n(o)):{}}return rh=s,rh}var ih,c1;function mq(){if(c1)return ih;c1=1;var e=eo(),n=hr(),r="[object Map]";function s(o){return n(o)&&e(o)==r}return ih=s,ih}var sh,d1;function gq(){if(d1)return sh;d1=1;var e=mq(),n=cu(),r=Nv(),s=r&&r.isMap,o=s?n(s):e;return sh=o,sh}var oh,f1;function vq(){if(f1)return oh;f1=1;var e=eo(),n=hr(),r="[object Set]";function s(o){return n(o)&&e(o)==r}return oh=s,oh}var ah,h1;function yq(){if(h1)return ah;h1=1;var e=vq(),n=cu(),r=Nv(),s=r&&r.isSet,o=s?n(s):e;return ah=o,ah}var lh,p1;function HN(){if(p1)return lh;p1=1;var e=ou(),n=kv(),r=lu(),s=eq(),o=rq(),l=IN(),u=MN(),c=iq(),p=sq(),h=$N(),f=oq(),m=eo(),y=cq(),x=pq(),C=UN(),_=St(),S=Js(),b=gq(),E=Rn(),N=yq(),j=xi(),M=ts(),P=1,O=2,B=4,L="[object Arguments]",q="[object Array]",I="[object Boolean]",H="[object Date]",X="[object Error]",T="[object Function]",Y="[object GeneratorFunction]",U="[object Map]",ee="[object Number]",J="[object Object]",F="[object RegExp]",G="[object Set]",k="[object String]",$="[object Symbol]",se="[object WeakMap]",D="[object ArrayBuffer]",Q="[object DataView]",te="[object Float32Array]",oe="[object Float64Array]",ue="[object Int8Array]",me="[object Int16Array]",ge="[object Int32Array]",Pe="[object Uint8Array]",be="[object Uint8ClampedArray]",Oe="[object Uint16Array]",Me="[object Uint32Array]",ke={};ke[L]=ke[q]=ke[D]=ke[Q]=ke[I]=ke[H]=ke[te]=ke[oe]=ke[ue]=ke[me]=ke[ge]=ke[U]=ke[ee]=ke[J]=ke[F]=ke[G]=ke[k]=ke[$]=ke[Pe]=ke[be]=ke[Oe]=ke[Me]=!0,ke[X]=ke[T]=ke[se]=!1;function Fe(ye,we,Be,ct,dt,Qe){var ze,Ze=we&P,ft=we&O,At=we&B;if(Be&&(ze=dt?Be(ye,ct,dt,Qe):Be(ye)),ze!==void 0)return ze;if(!E(ye))return ye;var it=_(ye);if(it){if(ze=y(ye),!Ze)return u(ye,ze)}else{var st=m(ye),Yt=st==T||st==Y;if(S(ye))return l(ye,Ze);if(st==J||st==L||Yt&&!dt){if(ze=ft||Yt?{}:C(ye),!Ze)return ft?p(ye,o(ze,ye)):c(ye,s(ze,ye))}else{if(!ke[st])return dt?ye:{};ze=x(ye,st,Ze)}}Qe||(Qe=new e);var It=Qe.get(ye);if(It)return It;Qe.set(ye,ze),N(ye)?ye.forEach(function(gt){ze.add(Fe(gt,we,Be,gt,ye,Qe))}):b(ye)&&ye.forEach(function(gt,ht){ze.set(ht,Fe(gt,we,Be,ht,ye,Qe))});var Ye=At?ft?f:h:ft?M:j,bt=it?void 0:Ye(ye);return n(bt||ye,function(gt,ht){bt&&(ht=gt,gt=ye[ht]),r(ze,ht,Fe(gt,we,Be,ht,ye,Qe))}),ze}return lh=Fe,lh}var uh,m1;function wq(){if(m1)return uh;m1=1;var e=HN(),n=4;function r(s){return e(s,n)}return uh=r,uh}var ch,g1;function Av(){if(g1)return ch;g1=1;function e(n){return function(){return n}}return ch=e,ch}var dh,v1;function xq(){if(v1)return dh;v1=1;function e(n){return function(r,s,o){for(var l=-1,u=Object(r),c=o(r),p=c.length;p--;){var h=c[n?p:++l];if(s(u[h],h,u)===!1)break}return r}}return dh=e,dh}var fh,y1;function Iv(){if(y1)return fh;y1=1;var e=xq(),n=e();return fh=n,fh}var hh,w1;function Mv(){if(w1)return hh;w1=1;var e=Iv(),n=xi();function r(s,o){return s&&e(s,o,n)}return hh=r,hh}var ph,x1;function _q(){if(x1)return ph;x1=1;var e=qr();function n(r,s){return function(o,l){if(o==null)return o;if(!e(o))return r(o,l);for(var u=o.length,c=s?u:-1,p=Object(o);(s?c--:++c<u)&&l(p[c],c,p)!==!1;);return o}}return ph=n,ph}var mh,_1;function hu(){if(_1)return mh;_1=1;var e=Mv(),n=_q(),r=n(e);return mh=r,mh}var gh,S1;function ns(){if(S1)return gh;S1=1;function e(n){return n}return gh=e,gh}var vh,b1;function VN(){if(b1)return vh;b1=1;var e=ns();function n(r){return typeof r=="function"?r:e}return vh=n,vh}var yh,k1;function WN(){if(k1)return yh;k1=1;var e=kv(),n=hu(),r=VN(),s=St();function o(l,u){var c=s(l)?e:n;return c(l,r(u))}return yh=o,yh}var wh,E1;function GN(){return E1||(E1=1,wh=WN()),wh}var xh,N1;function Sq(){if(N1)return xh;N1=1;var e=hu();function n(r,s){var o=[];return e(r,function(l,u,c){s(l,u,c)&&o.push(l)}),o}return xh=n,xh}var _h,C1;function bq(){if(C1)return _h;C1=1;var e="__lodash_hash_undefined__";function n(r){return this.__data__.set(r,e),this}return _h=n,_h}var Sh,j1;function kq(){if(j1)return Sh;j1=1;function e(n){return this.__data__.has(n)}return Sh=e,Sh}var bh,R1;function YN(){if(R1)return bh;R1=1;var e=bv(),n=bq(),r=kq();function s(o){var l=-1,u=o==null?0:o.length;for(this.__data__=new e;++l<u;)this.add(o[l])}return s.prototype.add=s.prototype.push=n,s.prototype.has=r,bh=s,bh}var kh,T1;function Eq(){if(T1)return kh;T1=1;function e(n,r){for(var s=-1,o=n==null?0:n.length;++s<o;)if(r(n[s],s,n))return!0;return!1}return kh=e,kh}var Eh,A1;function KN(){if(A1)return Eh;A1=1;function e(n,r){return n.has(r)}return Eh=e,Eh}var Nh,I1;function XN(){if(I1)return Nh;I1=1;var e=YN(),n=Eq(),r=KN(),s=1,o=2;function l(u,c,p,h,f,m){var y=p&s,x=u.length,C=c.length;if(x!=C&&!(y&&C>x))return!1;var _=m.get(u),S=m.get(c);if(_&&S)return _==c&&S==u;var b=-1,E=!0,N=p&o?new e:void 0;for(m.set(u,c),m.set(c,u);++b<x;){var j=u[b],M=c[b];if(h)var P=y?h(M,j,b,c,u,m):h(j,M,b,u,c,m);if(P!==void 0){if(P)continue;E=!1;break}if(N){if(!n(c,function(O,B){if(!r(N,B)&&(j===O||f(j,O,p,h,m)))return N.push(B)})){E=!1;break}}else if(!(j===M||f(j,M,p,h,m))){E=!1;break}}return m.delete(u),m.delete(c),E}return Nh=l,Nh}var Ch,M1;function Nq(){if(M1)return Ch;M1=1;function e(n){var r=-1,s=Array(n.size);return n.forEach(function(o,l){s[++r]=[l,o]}),s}return Ch=e,Ch}var jh,P1;function Pv(){if(P1)return jh;P1=1;function e(n){var r=-1,s=Array(n.size);return n.forEach(function(o){s[++r]=o}),s}return jh=e,jh}var Rh,O1;function Cq(){if(O1)return Rh;O1=1;var e=Zs(),n=FN(),r=Qs(),s=XN(),o=Nq(),l=Pv(),u=1,c=2,p="[object Boolean]",h="[object Date]",f="[object Error]",m="[object Map]",y="[object Number]",x="[object RegExp]",C="[object Set]",_="[object String]",S="[object Symbol]",b="[object ArrayBuffer]",E="[object DataView]",N=e?e.prototype:void 0,j=N?N.valueOf:void 0;function M(P,O,B,L,q,I,H){switch(B){case E:if(P.byteLength!=O.byteLength||P.byteOffset!=O.byteOffset)return!1;P=P.buffer,O=O.buffer;case b:return!(P.byteLength!=O.byteLength||!I(new n(P),new n(O)));case p:case h:case y:return r(+P,+O);case f:return P.name==O.name&&P.message==O.message;case x:case _:return P==O+"";case m:var X=o;case C:var T=L&u;if(X||(X=l),P.size!=O.size&&!T)return!1;var Y=H.get(P);if(Y)return Y==O;L|=c,H.set(P,O);var U=s(X(P),X(O),L,q,I,H);return H.delete(P),U;case S:if(j)return j.call(P)==j.call(O)}return!1}return Rh=M,Rh}var Th,q1;function jq(){if(q1)return Th;q1=1;var e=$N(),n=1,r=Object.prototype,s=r.hasOwnProperty;function o(l,u,c,p,h,f){var m=c&n,y=e(l),x=y.length,C=e(u),_=C.length;if(x!=_&&!m)return!1;for(var S=x;S--;){var b=y[S];if(!(m?b in u:s.call(u,b)))return!1}var E=f.get(l),N=f.get(u);if(E&&N)return E==u&&N==l;var j=!0;f.set(l,u),f.set(u,l);for(var M=m;++S<x;){b=y[S];var P=l[b],O=u[b];if(p)var B=m?p(O,P,b,u,l,f):p(P,O,b,l,u,f);if(!(B===void 0?P===O||h(P,O,c,p,f):B)){j=!1;break}M||(M=b=="constructor")}if(j&&!M){var L=l.constructor,q=u.constructor;L!=q&&"constructor"in l&&"constructor"in u&&!(typeof L=="function"&&L instanceof L&&typeof q=="function"&&q instanceof q)&&(j=!1)}return f.delete(l),f.delete(u),j}return Th=o,Th}var Ah,L1;function Rq(){if(L1)return Ah;L1=1;var e=ou(),n=XN(),r=Cq(),s=jq(),o=eo(),l=St(),u=Js(),c=fa(),p=1,h="[object Arguments]",f="[object Array]",m="[object Object]",y=Object.prototype,x=y.hasOwnProperty;function C(_,S,b,E,N,j){var M=l(_),P=l(S),O=M?f:o(_),B=P?f:o(S);O=O==h?m:O,B=B==h?m:B;var L=O==m,q=B==m,I=O==B;if(I&&u(_)){if(!u(S))return!1;M=!0,L=!1}if(I&&!L)return j||(j=new e),M||c(_)?n(_,S,b,E,N,j):r(_,S,O,b,E,N,j);if(!(b&p)){var H=L&&x.call(_,"__wrapped__"),X=q&&x.call(S,"__wrapped__");if(H||X){var T=H?_.value():_,Y=X?S.value():S;return j||(j=new e),N(T,Y,b,E,j)}}return I?(j||(j=new e),s(_,S,b,E,N,j)):!1}return Ah=C,Ah}var Ih,$1;function QN(){if($1)return Ih;$1=1;var e=Rq(),n=hr();function r(s,o,l,u,c){return s===o?!0:s==null||o==null||!n(s)&&!n(o)?s!==s&&o!==o:e(s,o,l,u,r,c)}return Ih=r,Ih}var Mh,D1;function Tq(){if(D1)return Mh;D1=1;var e=ou(),n=QN(),r=1,s=2;function o(l,u,c,p){var h=c.length,f=h,m=!p;if(l==null)return!f;for(l=Object(l);h--;){var y=c[h];if(m&&y[2]?y[1]!==l[y[0]]:!(y[0]in l))return!1}for(;++h<f;){y=c[h];var x=y[0],C=l[x],_=y[1];if(m&&y[2]){if(C===void 0&&!(x in l))return!1}else{var S=new e;if(p)var b=p(C,_,x,l,u,S);if(!(b===void 0?n(_,C,r|s,p,S):b))return!1}}return!0}return Mh=o,Mh}var Ph,F1;function ZN(){if(F1)return Ph;F1=1;var e=Rn();function n(r){return r===r&&!e(r)}return Ph=n,Ph}var Oh,z1;function Aq(){if(z1)return Oh;z1=1;var e=ZN(),n=xi();function r(s){for(var o=n(s),l=o.length;l--;){var u=o[l],c=s[u];o[l]=[u,c,e(c)]}return o}return Oh=r,Oh}var qh,B1;function JN(){if(B1)return qh;B1=1;function e(n,r){return function(s){return s==null?!1:s[n]===r&&(r!==void 0||n in Object(s))}}return qh=e,qh}var Lh,U1;function Iq(){if(U1)return Lh;U1=1;var e=Tq(),n=Aq(),r=JN();function s(o){var l=n(o);return l.length==1&&l[0][2]?r(l[0][0],l[0][1]):function(u){return u===o||e(u,o,l)}}return Lh=s,Lh}var $h,H1;function to(){if(H1)return $h;H1=1;var e=Ji(),n=hr(),r="[object Symbol]";function s(o){return typeof o=="symbol"||n(o)&&e(o)==r}return $h=s,$h}var Dh,V1;function Ov(){if(V1)return Dh;V1=1;var e=St(),n=to(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;function o(l,u){if(e(l))return!1;var c=typeof l;return c=="number"||c=="symbol"||c=="boolean"||l==null||n(l)?!0:s.test(l)||!r.test(l)||u!=null&&l in Object(u)}return Dh=o,Dh}var Fh,W1;function Mq(){if(W1)return Fh;W1=1;var e=bv(),n="Expected a function";function r(s,o){if(typeof s!="function"||o!=null&&typeof o!="function")throw new TypeError(n);var l=function(){var u=arguments,c=o?o.apply(this,u):u[0],p=l.cache;if(p.has(c))return p.get(c);var h=s.apply(this,u);return l.cache=p.set(c,h)||p,h};return l.cache=new(r.Cache||e),l}return r.Cache=e,Fh=r,Fh}var zh,G1;function Pq(){if(G1)return zh;G1=1;var e=Mq(),n=500;function r(s){var o=e(s,function(u){return l.size===n&&l.clear(),u}),l=o.cache;return o}return zh=r,zh}var Bh,Y1;function Oq(){if(Y1)return Bh;Y1=1;var e=Pq(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,s=e(function(o){var l=[];return o.charCodeAt(0)===46&&l.push(""),o.replace(n,function(u,c,p,h){l.push(p?h.replace(r,"$1"):c||u)}),l});return Bh=s,Bh}var Uh,K1;function pu(){if(K1)return Uh;K1=1;function e(n,r){for(var s=-1,o=n==null?0:n.length,l=Array(o);++s<o;)l[s]=r(n[s],s,n);return l}return Uh=e,Uh}var Hh,X1;function qq(){if(X1)return Hh;X1=1;var e=Zs(),n=pu(),r=St(),s=to(),o=e?e.prototype:void 0,l=o?o.toString:void 0;function u(c){if(typeof c=="string")return c;if(r(c))return n(c,u)+"";if(s(c))return l?l.call(c):"";var p=c+"";return p=="0"&&1/c==-1/0?"-0":p}return Hh=u,Hh}var Vh,Q1;function eC(){if(Q1)return Vh;Q1=1;var e=qq();function n(r){return r==null?"":e(r)}return Vh=n,Vh}var Wh,Z1;function mu(){if(Z1)return Wh;Z1=1;var e=St(),n=Ov(),r=Oq(),s=eC();function o(l,u){return e(l)?l:n(l,u)?[l]:r(s(l))}return Wh=o,Wh}var Gh,J1;function ha(){if(J1)return Gh;J1=1;var e=to();function n(r){if(typeof r=="string"||e(r))return r;var s=r+"";return s=="0"&&1/r==-1/0?"-0":s}return Gh=n,Gh}var Yh,eS;function gu(){if(eS)return Yh;eS=1;var e=mu(),n=ha();function r(s,o){o=e(o,s);for(var l=0,u=o.length;s!=null&&l<u;)s=s[n(o[l++])];return l&&l==u?s:void 0}return Yh=r,Yh}var Kh,tS;function Lq(){if(tS)return Kh;tS=1;var e=gu();function n(r,s,o){var l=r==null?void 0:e(r,s);return l===void 0?o:l}return Kh=n,Kh}var Xh,nS;function $q(){if(nS)return Xh;nS=1;function e(n,r){return n!=null&&r in Object(n)}return Xh=e,Xh}var Qh,rS;function tC(){if(rS)return Qh;rS=1;var e=mu(),n=da(),r=St(),s=uu(),o=Ev(),l=ha();function u(c,p,h){p=e(p,c);for(var f=-1,m=p.length,y=!1;++f<m;){var x=l(p[f]);if(!(y=c!=null&&h(c,x)))break;c=c[x]}return y||++f!=m?y:(m=c==null?0:c.length,!!m&&o(m)&&s(x,m)&&(r(c)||n(c)))}return Qh=u,Qh}var Zh,iS;function nC(){if(iS)return Zh;iS=1;var e=$q(),n=tC();function r(s,o){return s!=null&&n(s,o,e)}return Zh=r,Zh}var Jh,sS;function Dq(){if(sS)return Jh;sS=1;var e=QN(),n=Lq(),r=nC(),s=Ov(),o=ZN(),l=JN(),u=ha(),c=1,p=2;function h(f,m){return s(f)&&o(m)?l(u(f),m):function(y){var x=n(y,f);return x===void 0&&x===m?r(y,f):e(m,x,c|p)}}return Jh=h,Jh}var ep,oS;function rC(){if(oS)return ep;oS=1;function e(n){return function(r){return r==null?void 0:r[n]}}return ep=e,ep}var tp,aS;function Fq(){if(aS)return tp;aS=1;var e=gu();function n(r){return function(s){return e(s,r)}}return tp=n,tp}var np,lS;function zq(){if(lS)return np;lS=1;var e=rC(),n=Fq(),r=Ov(),s=ha();function o(l){return r(l)?e(s(l)):n(l)}return np=o,np}var rp,uS;function Lr(){if(uS)return rp;uS=1;var e=Iq(),n=Dq(),r=ns(),s=St(),o=zq();function l(u){return typeof u=="function"?u:u==null?r:typeof u=="object"?s(u)?n(u[0],u[1]):e(u):o(u)}return rp=l,rp}var ip,cS;function iC(){if(cS)return ip;cS=1;var e=PN(),n=Sq(),r=Lr(),s=St();function o(l,u){var c=s(l)?e:n;return c(l,r(u,3))}return ip=o,ip}var sp,dS;function Bq(){if(dS)return sp;dS=1;var e=Object.prototype,n=e.hasOwnProperty;function r(s,o){return s!=null&&n.call(s,o)}return sp=r,sp}var op,fS;function sC(){if(fS)return op;fS=1;var e=Bq(),n=tC();function r(s,o){return s!=null&&n(s,o,e)}return op=r,op}var ap,hS;function Uq(){if(hS)return ap;hS=1;var e=Cv(),n=eo(),r=da(),s=St(),o=qr(),l=Js(),u=du(),c=fa(),p="[object Map]",h="[object Set]",f=Object.prototype,m=f.hasOwnProperty;function y(x){if(x==null)return!0;if(o(x)&&(s(x)||typeof x=="string"||typeof x.splice=="function"||l(x)||c(x)||r(x)))return!x.length;var C=n(x);if(C==p||C==h)return!x.size;if(u(x))return!e(x).length;for(var _ in x)if(m.call(x,_))return!1;return!0}return ap=y,ap}var lp,pS;function oC(){if(pS)return lp;pS=1;function e(n){return n===void 0}return lp=e,lp}var up,mS;function aC(){if(mS)return up;mS=1;var e=hu(),n=qr();function r(s,o){var l=-1,u=n(s)?Array(s.length):[];return e(s,function(c,p,h){u[++l]=o(c,p,h)}),u}return up=r,up}var cp,gS;function lC(){if(gS)return cp;gS=1;var e=pu(),n=Lr(),r=aC(),s=St();function o(l,u){var c=s(l)?e:r;return c(l,n(u,3))}return cp=o,cp}var dp,vS;function Hq(){if(vS)return dp;vS=1;function e(n,r,s,o){var l=-1,u=n==null?0:n.length;for(o&&u&&(s=n[++l]);++l<u;)s=r(s,n[l],l,n);return s}return dp=e,dp}var fp,yS;function Vq(){if(yS)return fp;yS=1;function e(n,r,s,o,l){return l(n,function(u,c,p){s=o?(o=!1,u):r(s,u,c,p)}),s}return fp=e,fp}var hp,wS;function uC(){if(wS)return hp;wS=1;var e=Hq(),n=hu(),r=Lr(),s=Vq(),o=St();function l(u,c,p){var h=o(u)?e:s,f=arguments.length<3;return h(u,r(c,4),p,f,n)}return hp=l,hp}var pp,xS;function Wq(){if(xS)return pp;xS=1;var e=Ji(),n=St(),r=hr(),s="[object String]";function o(l){return typeof l=="string"||!n(l)&&r(l)&&e(l)==s}return pp=o,pp}var mp,_S;function Gq(){if(_S)return mp;_S=1;var e=rC(),n=e("length");return mp=n,mp}var gp,SS;function Yq(){if(SS)return gp;SS=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+r+s,l="\\ufe0e\\ufe0f",u="\\u200d",c=RegExp("["+u+e+o+l+"]");function p(h){return c.test(h)}return gp=p,gp}var vp,bS;function Kq(){if(bS)return vp;bS=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+r+s,l="\\ufe0e\\ufe0f",u="["+e+"]",c="["+o+"]",p="\\ud83c[\\udffb-\\udfff]",h="(?:"+c+"|"+p+")",f="[^"+e+"]",m="(?:\\ud83c[\\udde6-\\uddff]){2}",y="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",C=h+"?",_="["+l+"]?",S="(?:"+x+"(?:"+[f,m,y].join("|")+")"+_+C+")*",b=_+C+S,E="(?:"+[f+c+"?",c,m,y,u].join("|")+")",N=RegExp(p+"(?="+p+")|"+E+b,"g");function j(M){for(var P=N.lastIndex=0;N.test(M);)++P;return P}return vp=j,vp}var yp,kS;function Xq(){if(kS)return yp;kS=1;var e=Gq(),n=Yq(),r=Kq();function s(o){return n(o)?r(o):e(o)}return yp=s,yp}var wp,ES;function Qq(){if(ES)return wp;ES=1;var e=Cv(),n=eo(),r=qr(),s=Wq(),o=Xq(),l="[object Map]",u="[object Set]";function c(p){if(p==null)return 0;if(r(p))return s(p)?o(p):p.length;var h=n(p);return h==l||h==u?p.size:e(p).length}return wp=c,wp}var xp,NS;function Zq(){if(NS)return xp;NS=1;var e=kv(),n=BN(),r=Mv(),s=Lr(),o=fu(),l=St(),u=Js(),c=ua(),p=Rn(),h=fa();function f(m,y,x){var C=l(m),_=C||u(m)||h(m);if(y=s(y,4),x==null){var S=m&&m.constructor;_?x=C?new S:[]:p(m)?x=c(S)?n(o(m)):{}:x={}}return(_?e:r)(m,function(b,E,N){return y(x,b,E,N)}),x}return xp=f,xp}var _p,CS;function Jq(){if(CS)return _p;CS=1;var e=Zs(),n=da(),r=St(),s=e?e.isConcatSpreadable:void 0;function o(l){return r(l)||n(l)||!!(s&&l&&l[s])}return _p=o,_p}var Sp,jS;function qv(){if(jS)return Sp;jS=1;var e=Rv(),n=Jq();function r(s,o,l,u,c){var p=-1,h=s.length;for(l||(l=n),c||(c=[]);++p<h;){var f=s[p];o>0&&l(f)?o>1?r(f,o-1,l,u,c):e(c,f):u||(c[c.length]=f)}return c}return Sp=r,Sp}var bp,RS;function eL(){if(RS)return bp;RS=1;function e(n,r,s){switch(s.length){case 0:return n.call(r);case 1:return n.call(r,s[0]);case 2:return n.call(r,s[0],s[1]);case 3:return n.call(r,s[0],s[1],s[2])}return n.apply(r,s)}return bp=e,bp}var kp,TS;function cC(){if(TS)return kp;TS=1;var e=eL(),n=Math.max;function r(s,o,l){return o=n(o===void 0?s.length-1:o,0),function(){for(var u=arguments,c=-1,p=n(u.length-o,0),h=Array(p);++c<p;)h[c]=u[o+c];c=-1;for(var f=Array(o+1);++c<o;)f[c]=u[c];return f[o]=l(h),e(s,this,f)}}return kp=r,kp}var Ep,AS;function tL(){if(AS)return Ep;AS=1;var e=Av(),n=RN(),r=ns(),s=n?function(o,l){return n(o,"toString",{configurable:!0,enumerable:!1,value:e(l),writable:!0})}:r;return Ep=s,Ep}var Np,IS;function nL(){if(IS)return Np;IS=1;var e=800,n=16,r=Date.now;function s(o){var l=0,u=0;return function(){var c=r(),p=n-(c-u);if(u=c,p>0){if(++l>=e)return arguments[0]}else l=0;return o.apply(void 0,arguments)}}return Np=s,Np}var Cp,MS;function dC(){if(MS)return Cp;MS=1;var e=tL(),n=nL(),r=n(e);return Cp=r,Cp}var jp,PS;function vu(){if(PS)return jp;PS=1;var e=ns(),n=cC(),r=dC();function s(o,l){return r(n(o,l,e),o+"")}return jp=s,jp}var Rp,OS;function fC(){if(OS)return Rp;OS=1;function e(n,r,s,o){for(var l=n.length,u=s+(o?1:-1);o?u--:++u<l;)if(r(n[u],u,n))return u;return-1}return Rp=e,Rp}var Tp,qS;function rL(){if(qS)return Tp;qS=1;function e(n){return n!==n}return Tp=e,Tp}var Ap,LS;function iL(){if(LS)return Ap;LS=1;function e(n,r,s){for(var o=s-1,l=n.length;++o<l;)if(n[o]===r)return o;return-1}return Ap=e,Ap}var Ip,$S;function sL(){if($S)return Ip;$S=1;var e=fC(),n=rL(),r=iL();function s(o,l,u){return l===l?r(o,l,u):e(o,n,u)}return Ip=s,Ip}var Mp,DS;function oL(){if(DS)return Mp;DS=1;var e=sL();function n(r,s){var o=r==null?0:r.length;return!!o&&e(r,s,0)>-1}return Mp=n,Mp}var Pp,FS;function aL(){if(FS)return Pp;FS=1;function e(n,r,s){for(var o=-1,l=n==null?0:n.length;++o<l;)if(s(r,n[o]))return!0;return!1}return Pp=e,Pp}var Op,zS;function lL(){if(zS)return Op;zS=1;function e(){}return Op=e,Op}var qp,BS;function uL(){if(BS)return qp;BS=1;var e=DN(),n=lL(),r=Pv(),s=1/0,o=e&&1/r(new e([,-0]))[1]==s?function(l){return new e(l)}:n;return qp=o,qp}var Lp,US;function cL(){if(US)return Lp;US=1;var e=YN(),n=oL(),r=aL(),s=KN(),o=uL(),l=Pv(),u=200;function c(p,h,f){var m=-1,y=n,x=p.length,C=!0,_=[],S=_;if(f)C=!1,y=r;else if(x>=u){var b=h?null:o(p);if(b)return l(b);C=!1,y=s,S=new e}else S=h?[]:_;e:for(;++m<x;){var E=p[m],N=h?h(E):E;if(E=f||E!==0?E:0,C&&N===N){for(var j=S.length;j--;)if(S[j]===N)continue e;h&&S.push(N),_.push(E)}else y(S,N,f)||(S!==_&&S.push(N),_.push(E))}return _}return Lp=c,Lp}var $p,HS;function hC(){if(HS)return $p;HS=1;var e=qr(),n=hr();function r(s){return n(s)&&e(s)}return $p=r,$p}var Dp,VS;function dL(){if(VS)return Dp;VS=1;var e=qv(),n=vu(),r=cL(),s=hC(),o=n(function(l){return r(e(l,1,s,!0))});return Dp=o,Dp}var Fp,WS;function fL(){if(WS)return Fp;WS=1;var e=pu();function n(r,s){return e(s,function(o){return r[o]})}return Fp=n,Fp}var zp,GS;function pC(){if(GS)return zp;GS=1;var e=fL(),n=xi();function r(s){return s==null?[]:e(s,n(s))}return zp=r,zp}var Bp,YS;function Tn(){if(YS)return Bp;YS=1;var e;if(typeof _v=="function")try{e={clone:wq(),constant:Av(),each:GN(),filter:iC(),has:sC(),isArray:St(),isEmpty:Uq(),isFunction:ua(),isUndefined:oC(),keys:xi(),map:lC(),reduce:uC(),size:Qq(),transform:Zq(),union:dL(),values:pC()}}catch{}return e||(e=window._),Bp=e,Bp}var Up,KS;function Lv(){if(KS)return Up;KS=1;var e=Tn();Up=o;var n="\0",r="\0",s="";function o(f){this._isDirected=e.has(f,"directed")?f.directed:!0,this._isMultigraph=e.has(f,"multigraph")?f.multigraph:!1,this._isCompound=e.has(f,"compound")?f.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[r]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}o.prototype._nodeCount=0,o.prototype._edgeCount=0,o.prototype.isDirected=function(){return this._isDirected},o.prototype.isMultigraph=function(){return this._isMultigraph},o.prototype.isCompound=function(){return this._isCompound},o.prototype.setGraph=function(f){return this._label=f,this},o.prototype.graph=function(){return this._label},o.prototype.setDefaultNodeLabel=function(f){return e.isFunction(f)||(f=e.constant(f)),this._defaultNodeLabelFn=f,this},o.prototype.nodeCount=function(){return this._nodeCount},o.prototype.nodes=function(){return e.keys(this._nodes)},o.prototype.sources=function(){var f=this;return e.filter(this.nodes(),function(m){return e.isEmpty(f._in[m])})},o.prototype.sinks=function(){var f=this;return e.filter(this.nodes(),function(m){return e.isEmpty(f._out[m])})},o.prototype.setNodes=function(f,m){var y=arguments,x=this;return e.each(f,function(C){y.length>1?x.setNode(C,m):x.setNode(C)}),this},o.prototype.setNode=function(f,m){return e.has(this._nodes,f)?(arguments.length>1&&(this._nodes[f]=m),this):(this._nodes[f]=arguments.length>1?m:this._defaultNodeLabelFn(f),this._isCompound&&(this._parent[f]=r,this._children[f]={},this._children[r][f]=!0),this._in[f]={},this._preds[f]={},this._out[f]={},this._sucs[f]={},++this._nodeCount,this)},o.prototype.node=function(f){return this._nodes[f]},o.prototype.hasNode=function(f){return e.has(this._nodes,f)},o.prototype.removeNode=function(f){var m=this;if(e.has(this._nodes,f)){var y=function(x){m.removeEdge(m._edgeObjs[x])};delete this._nodes[f],this._isCompound&&(this._removeFromParentsChildList(f),delete this._parent[f],e.each(this.children(f),function(x){m.setParent(x)}),delete this._children[f]),e.each(e.keys(this._in[f]),y),delete this._in[f],delete this._preds[f],e.each(e.keys(this._out[f]),y),delete this._out[f],delete this._sucs[f],--this._nodeCount}return this},o.prototype.setParent=function(f,m){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(m))m=r;else{m+="";for(var y=m;!e.isUndefined(y);y=this.parent(y))if(y===f)throw new Error("Setting "+m+" as parent of "+f+" would create a cycle");this.setNode(m)}return this.setNode(f),this._removeFromParentsChildList(f),this._parent[f]=m,this._children[m][f]=!0,this},o.prototype._removeFromParentsChildList=function(f){delete this._children[this._parent[f]][f]},o.prototype.parent=function(f){if(this._isCompound){var m=this._parent[f];if(m!==r)return m}},o.prototype.children=function(f){if(e.isUndefined(f)&&(f=r),this._isCompound){var m=this._children[f];if(m)return e.keys(m)}else{if(f===r)return this.nodes();if(this.hasNode(f))return[]}},o.prototype.predecessors=function(f){var m=this._preds[f];if(m)return e.keys(m)},o.prototype.successors=function(f){var m=this._sucs[f];if(m)return e.keys(m)},o.prototype.neighbors=function(f){var m=this.predecessors(f);if(m)return e.union(m,this.successors(f))},o.prototype.isLeaf=function(f){var m;return this.isDirected()?m=this.successors(f):m=this.neighbors(f),m.length===0},o.prototype.filterNodes=function(f){var m=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});m.setGraph(this.graph());var y=this;e.each(this._nodes,function(_,S){f(S)&&m.setNode(S,_)}),e.each(this._edgeObjs,function(_){m.hasNode(_.v)&&m.hasNode(_.w)&&m.setEdge(_,y.edge(_))});var x={};function C(_){var S=y.parent(_);return S===void 0||m.hasNode(S)?(x[_]=S,S):S in x?x[S]:C(S)}return this._isCompound&&e.each(m.nodes(),function(_){m.setParent(_,C(_))}),m},o.prototype.setDefaultEdgeLabel=function(f){return e.isFunction(f)||(f=e.constant(f)),this._defaultEdgeLabelFn=f,this},o.prototype.edgeCount=function(){return this._edgeCount},o.prototype.edges=function(){return e.values(this._edgeObjs)},o.prototype.setPath=function(f,m){var y=this,x=arguments;return e.reduce(f,function(C,_){return x.length>1?y.setEdge(C,_,m):y.setEdge(C,_),_}),this},o.prototype.setEdge=function(){var f,m,y,x,C=!1,_=arguments[0];typeof _=="object"&&_!==null&&"v"in _?(f=_.v,m=_.w,y=_.name,arguments.length===2&&(x=arguments[1],C=!0)):(f=_,m=arguments[1],y=arguments[3],arguments.length>2&&(x=arguments[2],C=!0)),f=""+f,m=""+m,e.isUndefined(y)||(y=""+y);var S=c(this._isDirected,f,m,y);if(e.has(this._edgeLabels,S))return C&&(this._edgeLabels[S]=x),this;if(!e.isUndefined(y)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(f),this.setNode(m),this._edgeLabels[S]=C?x:this._defaultEdgeLabelFn(f,m,y);var b=p(this._isDirected,f,m,y);return f=b.v,m=b.w,Object.freeze(b),this._edgeObjs[S]=b,l(this._preds[m],f),l(this._sucs[f],m),this._in[m][S]=b,this._out[f][S]=b,this._edgeCount++,this},o.prototype.edge=function(f,m,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,m,y);return this._edgeLabels[x]},o.prototype.hasEdge=function(f,m,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,m,y);return e.has(this._edgeLabels,x)},o.prototype.removeEdge=function(f,m,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,m,y),C=this._edgeObjs[x];return C&&(f=C.v,m=C.w,delete this._edgeLabels[x],delete this._edgeObjs[x],u(this._preds[m],f),u(this._sucs[f],m),delete this._in[m][x],delete this._out[f][x],this._edgeCount--),this},o.prototype.inEdges=function(f,m){var y=this._in[f];if(y){var x=e.values(y);return m?e.filter(x,function(C){return C.v===m}):x}},o.prototype.outEdges=function(f,m){var y=this._out[f];if(y){var x=e.values(y);return m?e.filter(x,function(C){return C.w===m}):x}},o.prototype.nodeEdges=function(f,m){var y=this.inEdges(f,m);if(y)return y.concat(this.outEdges(f,m))};function l(f,m){f[m]?f[m]++:f[m]=1}function u(f,m){--f[m]||delete f[m]}function c(f,m,y,x){var C=""+m,_=""+y;if(!f&&C>_){var S=C;C=_,_=S}return C+s+_+s+(e.isUndefined(x)?n:x)}function p(f,m,y,x){var C=""+m,_=""+y;if(!f&&C>_){var S=C;C=_,_=S}var b={v:C,w:_};return x&&(b.name=x),b}function h(f,m){return c(f,m.v,m.w,m.name)}return Up}var Hp,XS;function hL(){return XS||(XS=1,Hp="2.1.8"),Hp}var Vp,QS;function pL(){return QS||(QS=1,Vp={Graph:Lv(),version:hL()}),Vp}var Wp,ZS;function mL(){if(ZS)return Wp;ZS=1;var e=Tn(),n=Lv();Wp={write:r,read:l};function r(u){var c={options:{directed:u.isDirected(),multigraph:u.isMultigraph(),compound:u.isCompound()},nodes:s(u),edges:o(u)};return e.isUndefined(u.graph())||(c.value=e.clone(u.graph())),c}function s(u){return e.map(u.nodes(),function(c){var p=u.node(c),h=u.parent(c),f={v:c};return e.isUndefined(p)||(f.value=p),e.isUndefined(h)||(f.parent=h),f})}function o(u){return e.map(u.edges(),function(c){var p=u.edge(c),h={v:c.v,w:c.w};return e.isUndefined(c.name)||(h.name=c.name),e.isUndefined(p)||(h.value=p),h})}function l(u){var c=new n(u.options).setGraph(u.value);return e.each(u.nodes,function(p){c.setNode(p.v,p.value),p.parent&&c.setParent(p.v,p.parent)}),e.each(u.edges,function(p){c.setEdge({v:p.v,w:p.w,name:p.name},p.value)}),c}return Wp}var Gp,JS;function gL(){if(JS)return Gp;JS=1;var e=Tn();Gp=n;function n(r){var s={},o=[],l;function u(c){e.has(s,c)||(s[c]=!0,l.push(c),e.each(r.successors(c),u),e.each(r.predecessors(c),u))}return e.each(r.nodes(),function(c){l=[],u(c),l.length&&o.push(l)}),o}return Gp}var Yp,eb;function mC(){if(eb)return Yp;eb=1;var e=Tn();Yp=n;function n(){this._arr=[],this._keyIndices={}}return n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(r){return r.key})},n.prototype.has=function(r){return e.has(this._keyIndices,r)},n.prototype.priority=function(r){var s=this._keyIndices[r];if(s!==void 0)return this._arr[s].priority},n.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},n.prototype.add=function(r,s){var o=this._keyIndices;if(r=String(r),!e.has(o,r)){var l=this._arr,u=l.length;return o[r]=u,l.push({key:r,priority:s}),this._decrease(u),!0}return!1},n.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},n.prototype.decrease=function(r,s){var o=this._keyIndices[r];if(s>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[o].priority+" New: "+s);this._arr[o].priority=s,this._decrease(o)},n.prototype._heapify=function(r){var s=this._arr,o=2*r,l=o+1,u=r;o<s.length&&(u=s[o].priority<s[u].priority?o:u,l<s.length&&(u=s[l].priority<s[u].priority?l:u),u!==r&&(this._swap(r,u),this._heapify(u)))},n.prototype._decrease=function(r){for(var s=this._arr,o=s[r].priority,l;r!==0&&(l=r>>1,!(s[l].priority<o));)this._swap(r,l),r=l},n.prototype._swap=function(r,s){var o=this._arr,l=this._keyIndices,u=o[r],c=o[s];o[r]=c,o[s]=u,l[c.key]=r,l[u.key]=s},Yp}var Kp,tb;function gC(){if(tb)return Kp;tb=1;var e=Tn(),n=mC();Kp=s;var r=e.constant(1);function s(l,u,c,p){return o(l,String(u),c||r,p||function(h){return l.outEdges(h)})}function o(l,u,c,p){var h={},f=new n,m,y,x=function(C){var _=C.v!==m?C.v:C.w,S=h[_],b=c(C),E=y.distance+b;if(b<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+C+" Weight: "+b);E<S.distance&&(S.distance=E,S.predecessor=m,f.decrease(_,E))};for(l.nodes().forEach(function(C){var _=C===u?0:Number.POSITIVE_INFINITY;h[C]={distance:_},f.add(C,_)});f.size()>0&&(m=f.removeMin(),y=h[m],y.distance!==Number.POSITIVE_INFINITY);)p(m).forEach(x);return h}return Kp}var Xp,nb;function vL(){if(nb)return Xp;nb=1;var e=gC(),n=Tn();Xp=r;function r(s,o,l){return n.transform(s.nodes(),function(u,c){u[c]=e(s,c,o,l)},{})}return Xp}var Qp,rb;function vC(){if(rb)return Qp;rb=1;var e=Tn();Qp=n;function n(r){var s=0,o=[],l={},u=[];function c(p){var h=l[p]={onStack:!0,lowlink:s,index:s++};if(o.push(p),r.successors(p).forEach(function(y){e.has(l,y)?l[y].onStack&&(h.lowlink=Math.min(h.lowlink,l[y].index)):(c(y),h.lowlink=Math.min(h.lowlink,l[y].lowlink))}),h.lowlink===h.index){var f=[],m;do m=o.pop(),l[m].onStack=!1,f.push(m);while(p!==m);u.push(f)}}return r.nodes().forEach(function(p){e.has(l,p)||c(p)}),u}return Qp}var Zp,ib;function yL(){if(ib)return Zp;ib=1;var e=Tn(),n=vC();Zp=r;function r(s){return e.filter(n(s),function(o){return o.length>1||o.length===1&&s.hasEdge(o[0],o[0])})}return Zp}var Jp,sb;function wL(){if(sb)return Jp;sb=1;var e=Tn();Jp=r;var n=e.constant(1);function r(o,l,u){return s(o,l||n,u||function(c){return o.outEdges(c)})}function s(o,l,u){var c={},p=o.nodes();return p.forEach(function(h){c[h]={},c[h][h]={distance:0},p.forEach(function(f){h!==f&&(c[h][f]={distance:Number.POSITIVE_INFINITY})}),u(h).forEach(function(f){var m=f.v===h?f.w:f.v,y=l(f);c[h][m]={distance:y,predecessor:h}})}),p.forEach(function(h){var f=c[h];p.forEach(function(m){var y=c[m];p.forEach(function(x){var C=y[h],_=f[x],S=y[x],b=C.distance+_.distance;b<S.distance&&(S.distance=b,S.predecessor=_.predecessor)})})}),c}return Jp}var em,ob;function yC(){if(ob)return em;ob=1;var e=Tn();em=n,n.CycleException=r;function n(s){var o={},l={},u=[];function c(p){if(e.has(l,p))throw new r;e.has(o,p)||(l[p]=!0,o[p]=!0,e.each(s.predecessors(p),c),delete l[p],u.push(p))}if(e.each(s.sinks(),c),e.size(o)!==s.nodeCount())throw new r;return u}function r(){}return r.prototype=new Error,em}var tm,ab;function xL(){if(ab)return tm;ab=1;var e=yC();tm=n;function n(r){try{e(r)}catch(s){if(s instanceof e.CycleException)return!1;throw s}return!0}return tm}var nm,lb;function wC(){if(lb)return nm;lb=1;var e=Tn();nm=n;function n(s,o,l){e.isArray(o)||(o=[o]);var u=(s.isDirected()?s.successors:s.neighbors).bind(s),c=[],p={};return e.each(o,function(h){if(!s.hasNode(h))throw new Error("Graph does not have node: "+h);r(s,h,l==="post",p,u,c)}),c}function r(s,o,l,u,c,p){e.has(u,o)||(u[o]=!0,l||p.push(o),e.each(c(o),function(h){r(s,h,l,u,c,p)}),l&&p.push(o))}return nm}var rm,ub;function _L(){if(ub)return rm;ub=1;var e=wC();rm=n;function n(r,s){return e(r,s,"post")}return rm}var im,cb;function SL(){if(cb)return im;cb=1;var e=wC();im=n;function n(r,s){return e(r,s,"pre")}return im}var sm,db;function bL(){if(db)return sm;db=1;var e=Tn(),n=Lv(),r=mC();sm=s;function s(o,l){var u=new n,c={},p=new r,h;function f(y){var x=y.v===h?y.w:y.v,C=p.priority(x);if(C!==void 0){var _=l(y);_<C&&(c[x]=h,p.decrease(x,_))}}if(o.nodeCount()===0)return u;e.each(o.nodes(),function(y){p.add(y,Number.POSITIVE_INFINITY),u.setNode(y)}),p.decrease(o.nodes()[0],0);for(var m=!1;p.size()>0;){if(h=p.removeMin(),e.has(c,h))u.setEdge(h,c[h]);else{if(m)throw new Error("Input graph is not connected: "+o);m=!0}o.nodeEdges(h).forEach(f)}return u}return sm}var om,fb;function kL(){return fb||(fb=1,om={components:gL(),dijkstra:gC(),dijkstraAll:vL(),findCycles:yL(),floydWarshall:wL(),isAcyclic:xL(),postorder:_L(),preorder:SL(),prim:bL(),tarjan:vC(),topsort:yC()}),om}var am,hb;function EL(){if(hb)return am;hb=1;var e=pL();return am={Graph:e.Graph,json:mL(),alg:kL(),version:e.version},am}var lm,pb;function Qn(){if(pb)return lm;pb=1;var e;if(typeof _v=="function")try{e=EL()}catch{}return e||(e=window.graphlib),lm=e,lm}var um,mb;function NL(){if(mb)return um;mb=1;var e=HN(),n=1,r=4;function s(o){return e(o,n|r)}return um=s,um}var cm,gb;function yu(){if(gb)return cm;gb=1;var e=Qs(),n=qr(),r=uu(),s=Rn();function o(l,u,c){if(!s(c))return!1;var p=typeof u;return(p=="number"?n(c)&&r(u,c.length):p=="string"&&u in c)?e(c[u],l):!1}return cm=o,cm}var dm,vb;function CL(){if(vb)return dm;vb=1;var e=vu(),n=Qs(),r=yu(),s=ts(),o=Object.prototype,l=o.hasOwnProperty,u=e(function(c,p){c=Object(c);var h=-1,f=p.length,m=f>2?p[2]:void 0;for(m&&r(p[0],p[1],m)&&(f=1);++h<f;)for(var y=p[h],x=s(y),C=-1,_=x.length;++C<_;){var S=x[C],b=c[S];(b===void 0||n(b,o[S])&&!l.call(c,S))&&(c[S]=y[S])}return c});return dm=u,dm}var fm,yb;function jL(){if(yb)return fm;yb=1;var e=Lr(),n=qr(),r=xi();function s(o){return function(l,u,c){var p=Object(l);if(!n(l)){var h=e(u,3);l=r(l),u=function(m){return h(p[m],m,p)}}var f=o(l,u,c);return f>-1?p[h?l[f]:f]:void 0}}return fm=s,fm}var hm,wb;function RL(){if(wb)return hm;wb=1;var e=/\s/;function n(r){for(var s=r.length;s--&&e.test(r.charAt(s)););return s}return hm=n,hm}var pm,xb;function TL(){if(xb)return pm;xb=1;var e=RL(),n=/^\s+/;function r(s){return s&&s.slice(0,e(s)+1).replace(n,"")}return pm=r,pm}var mm,_b;function AL(){if(_b)return mm;_b=1;var e=TL(),n=Rn(),r=to(),s=NaN,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt;function p(h){if(typeof h=="number")return h;if(r(h))return s;if(n(h)){var f=typeof h.valueOf=="function"?h.valueOf():h;h=n(f)?f+"":f}if(typeof h!="string")return h===0?h:+h;h=e(h);var m=l.test(h);return m||u.test(h)?c(h.slice(2),m?2:8):o.test(h)?s:+h}return mm=p,mm}var gm,Sb;function xC(){if(Sb)return gm;Sb=1;var e=AL(),n=1/0,r=17976931348623157e292;function s(o){if(!o)return o===0?o:0;if(o=e(o),o===n||o===-n){var l=o<0?-1:1;return l*r}return o===o?o:0}return gm=s,gm}var vm,bb;function IL(){if(bb)return vm;bb=1;var e=xC();function n(r){var s=e(r),o=s%1;return s===s?o?s-o:s:0}return vm=n,vm}var ym,kb;function ML(){if(kb)return ym;kb=1;var e=fC(),n=Lr(),r=IL(),s=Math.max;function o(l,u,c){var p=l==null?0:l.length;if(!p)return-1;var h=c==null?0:r(c);return h<0&&(h=s(p+h,0)),e(l,n(u,3),h)}return ym=o,ym}var wm,Eb;function PL(){if(Eb)return wm;Eb=1;var e=jL(),n=ML(),r=e(n);return wm=r,wm}var xm,Nb;function _C(){if(Nb)return xm;Nb=1;var e=qv();function n(r){var s=r==null?0:r.length;return s?e(r,1):[]}return xm=n,xm}var _m,Cb;function OL(){if(Cb)return _m;Cb=1;var e=Iv(),n=VN(),r=ts();function s(o,l){return o==null?o:e(o,n(l),r)}return _m=s,_m}var Sm,jb;function qL(){if(jb)return Sm;jb=1;function e(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}return Sm=e,Sm}var bm,Rb;function LL(){if(Rb)return bm;Rb=1;var e=au(),n=Mv(),r=Lr();function s(o,l){var u={};return l=r(l,3),n(o,function(c,p,h){e(u,p,l(c,p,h))}),u}return bm=s,bm}var km,Tb;function $v(){if(Tb)return km;Tb=1;var e=to();function n(r,s,o){for(var l=-1,u=r.length;++l<u;){var c=r[l],p=s(c);if(p!=null&&(h===void 0?p===p&&!e(p):o(p,h)))var h=p,f=c}return f}return km=n,km}var Em,Ab;function $L(){if(Ab)return Em;Ab=1;function e(n,r){return n>r}return Em=e,Em}var Nm,Ib;function DL(){if(Ib)return Nm;Ib=1;var e=$v(),n=$L(),r=ns();function s(o){return o&&o.length?e(o,r,n):void 0}return Nm=s,Nm}var Cm,Mb;function SC(){if(Mb)return Cm;Mb=1;var e=au(),n=Qs();function r(s,o,l){(l!==void 0&&!n(s[o],l)||l===void 0&&!(o in s))&&e(s,o,l)}return Cm=r,Cm}var jm,Pb;function FL(){if(Pb)return jm;Pb=1;var e=Ji(),n=fu(),r=hr(),s="[object Object]",o=Function.prototype,l=Object.prototype,u=o.toString,c=l.hasOwnProperty,p=u.call(Object);function h(f){if(!r(f)||e(f)!=s)return!1;var m=n(f);if(m===null)return!0;var y=c.call(m,"constructor")&&m.constructor;return typeof y=="function"&&y instanceof y&&u.call(y)==p}return jm=h,jm}var Rm,Ob;function bC(){if(Ob)return Rm;Ob=1;function e(n,r){if(!(r==="constructor"&&typeof n[r]=="function")&&r!="__proto__")return n[r]}return Rm=e,Rm}var Tm,qb;function zL(){if(qb)return Tm;qb=1;var e=ca(),n=ts();function r(s){return e(s,n(s))}return Tm=r,Tm}var Am,Lb;function BL(){if(Lb)return Am;Lb=1;var e=SC(),n=IN(),r=zN(),s=MN(),o=UN(),l=da(),u=St(),c=hC(),p=Js(),h=ua(),f=Rn(),m=FL(),y=fa(),x=bC(),C=zL();function _(S,b,E,N,j,M,P){var O=x(S,E),B=x(b,E),L=P.get(B);if(L){e(S,E,L);return}var q=M?M(O,B,E+"",S,b,P):void 0,I=q===void 0;if(I){var H=u(B),X=!H&&p(B),T=!H&&!X&&y(B);q=B,H||X||T?u(O)?q=O:c(O)?q=s(O):X?(I=!1,q=n(B,!0)):T?(I=!1,q=r(B,!0)):q=[]:m(B)||l(B)?(q=O,l(O)?q=C(O):(!f(O)||h(O))&&(q=o(B))):I=!1}I&&(P.set(B,q),j(q,B,N,M,P),P.delete(B)),e(S,E,q)}return Am=_,Am}var Im,$b;function UL(){if($b)return Im;$b=1;var e=ou(),n=SC(),r=Iv(),s=BL(),o=Rn(),l=ts(),u=bC();function c(p,h,f,m,y){p!==h&&r(h,function(x,C){if(y||(y=new e),o(x))s(p,h,C,f,c,m,y);else{var _=m?m(u(p,C),x,C+"",p,h,y):void 0;_===void 0&&(_=x),n(p,C,_)}},l)}return Im=c,Im}var Mm,Db;function HL(){if(Db)return Mm;Db=1;var e=vu(),n=yu();function r(s){return e(function(o,l){var u=-1,c=l.length,p=c>1?l[c-1]:void 0,h=c>2?l[2]:void 0;for(p=s.length>3&&typeof p=="function"?(c--,p):void 0,h&&n(l[0],l[1],h)&&(p=c<3?void 0:p,c=1),o=Object(o);++u<c;){var f=l[u];f&&s(o,f,u,p)}return o})}return Mm=r,Mm}var Pm,Fb;function VL(){if(Fb)return Pm;Fb=1;var e=UL(),n=HL(),r=n(function(s,o,l){e(s,o,l)});return Pm=r,Pm}var Om,zb;function kC(){if(zb)return Om;zb=1;function e(n,r){return n<r}return Om=e,Om}var qm,Bb;function WL(){if(Bb)return qm;Bb=1;var e=$v(),n=kC(),r=ns();function s(o){return o&&o.length?e(o,r,n):void 0}return qm=s,qm}var Lm,Ub;function GL(){if(Ub)return Lm;Ub=1;var e=$v(),n=Lr(),r=kC();function s(o,l){return o&&o.length?e(o,n(l,2),r):void 0}return Lm=s,Lm}var $m,Hb;function YL(){if(Hb)return $m;Hb=1;var e=Jn(),n=function(){return e.Date.now()};return $m=n,$m}var Dm,Vb;function KL(){if(Vb)return Dm;Vb=1;var e=lu(),n=mu(),r=uu(),s=Rn(),o=ha();function l(u,c,p,h){if(!s(u))return u;c=n(c,u);for(var f=-1,m=c.length,y=m-1,x=u;x!=null&&++f<m;){var C=o(c[f]),_=p;if(C==="__proto__"||C==="constructor"||C==="prototype")return u;if(f!=y){var S=x[C];_=h?h(S,C,x):void 0,_===void 0&&(_=s(S)?S:r(c[f+1])?[]:{})}e(x,C,_),x=x[C]}return u}return Dm=l,Dm}var Fm,Wb;function XL(){if(Wb)return Fm;Wb=1;var e=gu(),n=KL(),r=mu();function s(o,l,u){for(var c=-1,p=l.length,h={};++c<p;){var f=l[c],m=e(o,f);u(m,f)&&n(h,r(f,o),m)}return h}return Fm=s,Fm}var zm,Gb;function QL(){if(Gb)return zm;Gb=1;var e=XL(),n=nC();function r(s,o){return e(s,o,function(l,u){return n(s,u)})}return zm=r,zm}var Bm,Yb;function ZL(){if(Yb)return Bm;Yb=1;var e=_C(),n=cC(),r=dC();function s(o){return r(n(o,void 0,e),o+"")}return Bm=s,Bm}var Um,Kb;function JL(){if(Kb)return Um;Kb=1;var e=QL(),n=ZL(),r=n(function(s,o){return s==null?{}:e(s,o)});return Um=r,Um}var Hm,Xb;function e$(){if(Xb)return Hm;Xb=1;var e=Math.ceil,n=Math.max;function r(s,o,l,u){for(var c=-1,p=n(e((o-s)/(l||1)),0),h=Array(p);p--;)h[u?p:++c]=s,s+=l;return h}return Hm=r,Hm}var Vm,Qb;function t$(){if(Qb)return Vm;Qb=1;var e=e$(),n=yu(),r=xC();function s(o){return function(l,u,c){return c&&typeof c!="number"&&n(l,u,c)&&(u=c=void 0),l=r(l),u===void 0?(u=l,l=0):u=r(u),c=c===void 0?l<u?1:-1:r(c),e(l,u,c,o)}}return Vm=s,Vm}var Wm,Zb;function n$(){if(Zb)return Wm;Zb=1;var e=t$(),n=e();return Wm=n,Wm}var Gm,Jb;function r$(){if(Jb)return Gm;Jb=1;function e(n,r){var s=n.length;for(n.sort(r);s--;)n[s]=n[s].value;return n}return Gm=e,Gm}var Ym,ek;function i$(){if(ek)return Ym;ek=1;var e=to();function n(r,s){if(r!==s){var o=r!==void 0,l=r===null,u=r===r,c=e(r),p=s!==void 0,h=s===null,f=s===s,m=e(s);if(!h&&!m&&!c&&r>s||c&&p&&f&&!h&&!m||l&&p&&f||!o&&f||!u)return 1;if(!l&&!c&&!m&&r<s||m&&o&&u&&!l&&!c||h&&o&&u||!p&&u||!f)return-1}return 0}return Ym=n,Ym}var Km,tk;function s$(){if(tk)return Km;tk=1;var e=i$();function n(r,s,o){for(var l=-1,u=r.criteria,c=s.criteria,p=u.length,h=o.length;++l<p;){var f=e(u[l],c[l]);if(f){if(l>=h)return f;var m=o[l];return f*(m=="desc"?-1:1)}}return r.index-s.index}return Km=n,Km}var Xm,nk;function o$(){if(nk)return Xm;nk=1;var e=pu(),n=gu(),r=Lr(),s=aC(),o=r$(),l=cu(),u=s$(),c=ns(),p=St();function h(f,m,y){m.length?m=e(m,function(_){return p(_)?function(S){return n(S,_.length===1?_[0]:_)}:_}):m=[c];var x=-1;m=e(m,l(r));var C=s(f,function(_,S,b){var E=e(m,function(N){return N(_)});return{criteria:E,index:++x,value:_}});return o(C,function(_,S){return u(_,S,y)})}return Xm=h,Xm}var Qm,rk;function a$(){if(rk)return Qm;rk=1;var e=qv(),n=o$(),r=vu(),s=yu(),o=r(function(l,u){if(l==null)return[];var c=u.length;return c>1&&s(l,u[0],u[1])?u=[]:c>2&&s(u[0],u[1],u[2])&&(u=[u[0]]),n(l,e(u,1),[])});return Qm=o,Qm}var Zm,ik;function l$(){if(ik)return Zm;ik=1;var e=eC(),n=0;function r(s){var o=++n;return e(s)+o}return Zm=r,Zm}var Jm,sk;function u$(){if(sk)return Jm;sk=1;function e(n,r,s){for(var o=-1,l=n.length,u=r.length,c={};++o<l;){var p=o<u?r[o]:void 0;s(c,n[o],p)}return c}return Jm=e,Jm}var eg,ok;function c$(){if(ok)return eg;ok=1;var e=lu(),n=u$();function r(s,o){return n(s||[],o||[],e)}return eg=r,eg}var tg,ak;function at(){if(ak)return tg;ak=1;var e;if(typeof _v=="function")try{e={cloneDeep:NL(),constant:Av(),defaults:CL(),each:GN(),filter:iC(),find:PL(),flatten:_C(),forEach:WN(),forIn:OL(),has:sC(),isUndefined:oC(),last:qL(),map:lC(),mapValues:LL(),max:DL(),merge:VL(),min:WL(),minBy:GL(),now:YL(),pick:JL(),range:n$(),reduce:uC(),sortBy:a$(),uniqueId:l$(),values:pC(),zipObject:c$()}}catch{}return e||(e=window._),tg=e,tg}var ng,lk;function d$(){if(lk)return ng;lk=1,ng=e;function e(){var s={};s._next=s._prev=s,this._sentinel=s}e.prototype.dequeue=function(){var s=this._sentinel,o=s._prev;if(o!==s)return n(o),o},e.prototype.enqueue=function(s){var o=this._sentinel;s._prev&&s._next&&n(s),s._next=o._next,o._next._prev=s,o._next=s,s._prev=o},e.prototype.toString=function(){for(var s=[],o=this._sentinel,l=o._prev;l!==o;)s.push(JSON.stringify(l,r)),l=l._prev;return"["+s.join(", ")+"]"};function n(s){s._prev._next=s._next,s._next._prev=s._prev,delete s._next,delete s._prev}function r(s,o){if(s!=="_next"&&s!=="_prev")return o}return ng}var rg,uk;function f$(){if(uk)return rg;uk=1;var e=at(),n=Qn().Graph,r=d$();rg=o;var s=e.constant(1);function o(h,f){if(h.nodeCount()<=1)return[];var m=c(h,f||s),y=l(m.graph,m.buckets,m.zeroIdx);return e.flatten(e.map(y,function(x){return h.outEdges(x.v,x.w)}),!0)}function l(h,f,m){for(var y=[],x=f[f.length-1],C=f[0],_;h.nodeCount();){for(;_=C.dequeue();)u(h,f,m,_);for(;_=x.dequeue();)u(h,f,m,_);if(h.nodeCount()){for(var S=f.length-2;S>0;--S)if(_=f[S].dequeue(),_){y=y.concat(u(h,f,m,_,!0));break}}}return y}function u(h,f,m,y,x){var C=x?[]:void 0;return e.forEach(h.inEdges(y.v),function(_){var S=h.edge(_),b=h.node(_.v);x&&C.push({v:_.v,w:_.w}),b.out-=S,p(f,m,b)}),e.forEach(h.outEdges(y.v),function(_){var S=h.edge(_),b=_.w,E=h.node(b);E.in-=S,p(f,m,E)}),h.removeNode(y.v),C}function c(h,f){var m=new n,y=0,x=0;e.forEach(h.nodes(),function(S){m.setNode(S,{v:S,in:0,out:0})}),e.forEach(h.edges(),function(S){var b=m.edge(S.v,S.w)||0,E=f(S),N=b+E;m.setEdge(S.v,S.w,N),x=Math.max(x,m.node(S.v).out+=E),y=Math.max(y,m.node(S.w).in+=E)});var C=e.range(x+y+3).map(function(){return new r}),_=y+1;return e.forEach(m.nodes(),function(S){p(C,_,m.node(S))}),{graph:m,buckets:C,zeroIdx:_}}function p(h,f,m){m.out?m.in?h[m.out-m.in+f].enqueue(m):h[h.length-1].enqueue(m):h[0].enqueue(m)}return rg}var ig,ck;function h$(){if(ck)return ig;ck=1;var e=at(),n=f$();ig={run:r,undo:o};function r(l){var u=l.graph().acyclicer==="greedy"?n(l,c(l)):s(l);e.forEach(u,function(p){var h=l.edge(p);l.removeEdge(p),h.forwardName=p.name,h.reversed=!0,l.setEdge(p.w,p.v,h,e.uniqueId("rev"))});function c(p){return function(h){return p.edge(h).weight}}}function s(l){var u=[],c={},p={};function h(f){e.has(p,f)||(p[f]=!0,c[f]=!0,e.forEach(l.outEdges(f),function(m){e.has(c,m.w)?u.push(m):h(m.w)}),delete c[f])}return e.forEach(l.nodes(),h),u}function o(l){e.forEach(l.edges(),function(u){var c=l.edge(u);if(c.reversed){l.removeEdge(u);var p=c.forwardName;delete c.reversed,delete c.forwardName,l.setEdge(u.w,u.v,c,p)}})}return ig}var sg,dk;function cn(){if(dk)return sg;dk=1;var e=at(),n=Qn().Graph;sg={addDummyNode:r,simplify:s,asNonCompoundGraph:o,successorWeights:l,predecessorWeights:u,intersectRect:c,buildLayerMatrix:p,normalizeRanks:h,removeEmptyRanks:f,addBorderNode:m,maxRank:y,partition:x,time:C,notime:_};function r(S,b,E,N){var j;do j=e.uniqueId(N);while(S.hasNode(j));return E.dummy=b,S.setNode(j,E),j}function s(S){var b=new n().setGraph(S.graph());return e.forEach(S.nodes(),function(E){b.setNode(E,S.node(E))}),e.forEach(S.edges(),function(E){var N=b.edge(E.v,E.w)||{weight:0,minlen:1},j=S.edge(E);b.setEdge(E.v,E.w,{weight:N.weight+j.weight,minlen:Math.max(N.minlen,j.minlen)})}),b}function o(S){var b=new n({multigraph:S.isMultigraph()}).setGraph(S.graph());return e.forEach(S.nodes(),function(E){S.children(E).length||b.setNode(E,S.node(E))}),e.forEach(S.edges(),function(E){b.setEdge(E,S.edge(E))}),b}function l(S){var b=e.map(S.nodes(),function(E){var N={};return e.forEach(S.outEdges(E),function(j){N[j.w]=(N[j.w]||0)+S.edge(j).weight}),N});return e.zipObject(S.nodes(),b)}function u(S){var b=e.map(S.nodes(),function(E){var N={};return e.forEach(S.inEdges(E),function(j){N[j.v]=(N[j.v]||0)+S.edge(j).weight}),N});return e.zipObject(S.nodes(),b)}function c(S,b){var E=S.x,N=S.y,j=b.x-E,M=b.y-N,P=S.width/2,O=S.height/2;if(!j&&!M)throw new Error("Not possible to find intersection inside of the rectangle");var B,L;return Math.abs(M)*P>Math.abs(j)*O?(M<0&&(O=-O),B=O*j/M,L=O):(j<0&&(P=-P),B=P,L=P*M/j),{x:E+B,y:N+L}}function p(S){var b=e.map(e.range(y(S)+1),function(){return[]});return e.forEach(S.nodes(),function(E){var N=S.node(E),j=N.rank;e.isUndefined(j)||(b[j][N.order]=E)}),b}function h(S){var b=e.min(e.map(S.nodes(),function(E){return S.node(E).rank}));e.forEach(S.nodes(),function(E){var N=S.node(E);e.has(N,"rank")&&(N.rank-=b)})}function f(S){var b=e.min(e.map(S.nodes(),function(M){return S.node(M).rank})),E=[];e.forEach(S.nodes(),function(M){var P=S.node(M).rank-b;E[P]||(E[P]=[]),E[P].push(M)});var N=0,j=S.graph().nodeRankFactor;e.forEach(E,function(M,P){e.isUndefined(M)&&P%j!==0?--N:N&&e.forEach(M,function(O){S.node(O).rank+=N})})}function m(S,b,E,N){var j={width:0,height:0};return arguments.length>=4&&(j.rank=E,j.order=N),r(S,"border",j,b)}function y(S){return e.max(e.map(S.nodes(),function(b){var E=S.node(b).rank;if(!e.isUndefined(E))return E}))}function x(S,b){var E={lhs:[],rhs:[]};return e.forEach(S,function(N){b(N)?E.lhs.push(N):E.rhs.push(N)}),E}function C(S,b){var E=e.now();try{return b()}finally{console.log(S+" time: "+(e.now()-E)+"ms")}}function _(S,b){return b()}return sg}var og,fk;function p$(){if(fk)return og;fk=1;var e=at(),n=cn();og={run:r,undo:o};function r(l){l.graph().dummyChains=[],e.forEach(l.edges(),function(u){s(l,u)})}function s(l,u){var c=u.v,p=l.node(c).rank,h=u.w,f=l.node(h).rank,m=u.name,y=l.edge(u),x=y.labelRank;if(f!==p+1){l.removeEdge(u);var C,_,S;for(S=0,++p;p<f;++S,++p)y.points=[],_={width:0,height:0,edgeLabel:y,edgeObj:u,rank:p},C=n.addDummyNode(l,"edge",_,"_d"),p===x&&(_.width=y.width,_.height=y.height,_.dummy="edge-label",_.labelpos=y.labelpos),l.setEdge(c,C,{weight:y.weight},m),S===0&&l.graph().dummyChains.push(C),c=C;l.setEdge(c,h,{weight:y.weight},m)}}function o(l){e.forEach(l.graph().dummyChains,function(u){var c=l.node(u),p=c.edgeLabel,h;for(l.setEdge(c.edgeObj,p);c.dummy;)h=l.successors(u)[0],l.removeNode(u),p.points.push({x:c.x,y:c.y}),c.dummy==="edge-label"&&(p.x=c.x,p.y=c.y,p.width=c.width,p.height=c.height),u=h,c=l.node(u)})}return og}var ag,hk;function Gl(){if(hk)return ag;hk=1;var e=at();ag={longestPath:n,slack:r};function n(s){var o={};function l(u){var c=s.node(u);if(e.has(o,u))return c.rank;o[u]=!0;var p=e.min(e.map(s.outEdges(u),function(h){return l(h.w)-s.edge(h).minlen}));return(p===Number.POSITIVE_INFINITY||p===void 0||p===null)&&(p=0),c.rank=p}e.forEach(s.sources(),l)}function r(s,o){return s.node(o.w).rank-s.node(o.v).rank-s.edge(o).minlen}return ag}var lg,pk;function EC(){if(pk)return lg;pk=1;var e=at(),n=Qn().Graph,r=Gl().slack;lg=s;function s(c){var p=new n({directed:!1}),h=c.nodes()[0],f=c.nodeCount();p.setNode(h,{});for(var m,y;o(p,c)<f;)m=l(p,c),y=p.hasNode(m.v)?r(c,m):-r(c,m),u(p,c,y);return p}function o(c,p){function h(f){e.forEach(p.nodeEdges(f),function(m){var y=m.v,x=f===y?m.w:y;!c.hasNode(x)&&!r(p,m)&&(c.setNode(x,{}),c.setEdge(f,x,{}),h(x))})}return e.forEach(c.nodes(),h),c.nodeCount()}function l(c,p){return e.minBy(p.edges(),function(h){if(c.hasNode(h.v)!==c.hasNode(h.w))return r(p,h)})}function u(c,p,h){e.forEach(c.nodes(),function(f){p.node(f).rank+=h})}return lg}var ug,mk;function m$(){if(mk)return ug;mk=1;var e=at(),n=EC(),r=Gl().slack,s=Gl().longestPath,o=Qn().alg.preorder,l=Qn().alg.postorder,u=cn().simplify;ug=c,c.initLowLimValues=m,c.initCutValues=p,c.calcCutValue=f,c.leaveEdge=x,c.enterEdge=C,c.exchangeEdges=_;function c(N){N=u(N),s(N);var j=n(N);m(j),p(j,N);for(var M,P;M=x(j);)P=C(j,N,M),_(j,N,M,P)}function p(N,j){var M=l(N,N.nodes());M=M.slice(0,M.length-1),e.forEach(M,function(P){h(N,j,P)})}function h(N,j,M){var P=N.node(M),O=P.parent;N.edge(M,O).cutvalue=f(N,j,M)}function f(N,j,M){var P=N.node(M),O=P.parent,B=!0,L=j.edge(M,O),q=0;return L||(B=!1,L=j.edge(O,M)),q=L.weight,e.forEach(j.nodeEdges(M),function(I){var H=I.v===M,X=H?I.w:I.v;if(X!==O){var T=H===B,Y=j.edge(I).weight;if(q+=T?Y:-Y,b(N,M,X)){var U=N.edge(M,X).cutvalue;q+=T?-U:U}}}),q}function m(N,j){arguments.length<2&&(j=N.nodes()[0]),y(N,{},1,j)}function y(N,j,M,P,O){var B=M,L=N.node(P);return j[P]=!0,e.forEach(N.neighbors(P),function(q){e.has(j,q)||(M=y(N,j,M,q,P))}),L.low=B,L.lim=M++,O?L.parent=O:delete L.parent,M}function x(N){return e.find(N.edges(),function(j){return N.edge(j).cutvalue<0})}function C(N,j,M){var P=M.v,O=M.w;j.hasEdge(P,O)||(P=M.w,O=M.v);var B=N.node(P),L=N.node(O),q=B,I=!1;B.lim>L.lim&&(q=L,I=!0);var H=e.filter(j.edges(),function(X){return I===E(N,N.node(X.v),q)&&I!==E(N,N.node(X.w),q)});return e.minBy(H,function(X){return r(j,X)})}function _(N,j,M,P){var O=M.v,B=M.w;N.removeEdge(O,B),N.setEdge(P.v,P.w,{}),m(N),p(N,j),S(N,j)}function S(N,j){var M=e.find(N.nodes(),function(O){return!j.node(O).parent}),P=o(N,M);P=P.slice(1),e.forEach(P,function(O){var B=N.node(O).parent,L=j.edge(O,B),q=!1;L||(L=j.edge(B,O),q=!0),j.node(O).rank=j.node(B).rank+(q?L.minlen:-L.minlen)})}function b(N,j,M){return N.hasEdge(j,M)}function E(N,j,M){return M.low<=j.lim&&j.lim<=M.lim}return ug}var cg,gk;function g$(){if(gk)return cg;gk=1;var e=Gl(),n=e.longestPath,r=EC(),s=m$();cg=o;function o(p){switch(p.graph().ranker){case"network-simplex":c(p);break;case"tight-tree":u(p);break;case"longest-path":l(p);break;default:c(p)}}var l=n;function u(p){n(p),r(p)}function c(p){s(p)}return cg}var dg,vk;function v$(){if(vk)return dg;vk=1;var e=at();dg=n;function n(o){var l=s(o);e.forEach(o.graph().dummyChains,function(u){for(var c=o.node(u),p=c.edgeObj,h=r(o,l,p.v,p.w),f=h.path,m=h.lca,y=0,x=f[y],C=!0;u!==p.w;){if(c=o.node(u),C){for(;(x=f[y])!==m&&o.node(x).maxRank<c.rank;)y++;x===m&&(C=!1)}if(!C){for(;y<f.length-1&&o.node(x=f[y+1]).minRank<=c.rank;)y++;x=f[y]}o.setParent(u,x),u=o.successors(u)[0]}})}function r(o,l,u,c){var p=[],h=[],f=Math.min(l[u].low,l[c].low),m=Math.max(l[u].lim,l[c].lim),y,x;y=u;do y=o.parent(y),p.push(y);while(y&&(l[y].low>f||m>l[y].lim));for(x=y,y=c;(y=o.parent(y))!==x;)h.push(y);return{path:p.concat(h.reverse()),lca:x}}function s(o){var l={},u=0;function c(p){var h=u;e.forEach(o.children(p),c),l[p]={low:h,lim:u++}}return e.forEach(o.children(),c),l}return dg}var fg,yk;function y$(){if(yk)return fg;yk=1;var e=at(),n=cn();fg={run:r,cleanup:u};function r(c){var p=n.addDummyNode(c,"root",{},"_root"),h=o(c),f=e.max(e.values(h))-1,m=2*f+1;c.graph().nestingRoot=p,e.forEach(c.edges(),function(x){c.edge(x).minlen*=m});var y=l(c)+1;e.forEach(c.children(),function(x){s(c,p,m,y,f,h,x)}),c.graph().nodeRankFactor=m}function s(c,p,h,f,m,y,x){var C=c.children(x);if(!C.length){x!==p&&c.setEdge(p,x,{weight:0,minlen:h});return}var _=n.addBorderNode(c,"_bt"),S=n.addBorderNode(c,"_bb"),b=c.node(x);c.setParent(_,x),b.borderTop=_,c.setParent(S,x),b.borderBottom=S,e.forEach(C,function(E){s(c,p,h,f,m,y,E);var N=c.node(E),j=N.borderTop?N.borderTop:E,M=N.borderBottom?N.borderBottom:E,P=N.borderTop?f:2*f,O=j!==M?1:m-y[x]+1;c.setEdge(_,j,{weight:P,minlen:O,nestingEdge:!0}),c.setEdge(M,S,{weight:P,minlen:O,nestingEdge:!0})}),c.parent(x)||c.setEdge(p,_,{weight:0,minlen:m+y[x]})}function o(c){var p={};function h(f,m){var y=c.children(f);y&&y.length&&e.forEach(y,function(x){h(x,m+1)}),p[f]=m}return e.forEach(c.children(),function(f){h(f,1)}),p}function l(c){return e.reduce(c.edges(),function(p,h){return p+c.edge(h).weight},0)}function u(c){var p=c.graph();c.removeNode(p.nestingRoot),delete p.nestingRoot,e.forEach(c.edges(),function(h){var f=c.edge(h);f.nestingEdge&&c.removeEdge(h)})}return fg}var hg,wk;function w$(){if(wk)return hg;wk=1;var e=at(),n=cn();hg=r;function r(o){function l(u){var c=o.children(u),p=o.node(u);if(c.length&&e.forEach(c,l),e.has(p,"minRank")){p.borderLeft=[],p.borderRight=[];for(var h=p.minRank,f=p.maxRank+1;h<f;++h)s(o,"borderLeft","_bl",u,p,h),s(o,"borderRight","_br",u,p,h)}}e.forEach(o.children(),l)}function s(o,l,u,c,p,h){var f={width:0,height:0,rank:h,borderType:l},m=p[l][h-1],y=n.addDummyNode(o,"border",f,u);p[l][h]=y,o.setParent(y,c),m&&o.setEdge(m,y,{weight:1})}return hg}var pg,xk;function x$(){if(xk)return pg;xk=1;var e=at();pg={adjust:n,undo:r};function n(h){var f=h.graph().rankdir.toLowerCase();(f==="lr"||f==="rl")&&s(h)}function r(h){var f=h.graph().rankdir.toLowerCase();(f==="bt"||f==="rl")&&l(h),(f==="lr"||f==="rl")&&(c(h),s(h))}function s(h){e.forEach(h.nodes(),function(f){o(h.node(f))}),e.forEach(h.edges(),function(f){o(h.edge(f))})}function o(h){var f=h.width;h.width=h.height,h.height=f}function l(h){e.forEach(h.nodes(),function(f){u(h.node(f))}),e.forEach(h.edges(),function(f){var m=h.edge(f);e.forEach(m.points,u),e.has(m,"y")&&u(m)})}function u(h){h.y=-h.y}function c(h){e.forEach(h.nodes(),function(f){p(h.node(f))}),e.forEach(h.edges(),function(f){var m=h.edge(f);e.forEach(m.points,p),e.has(m,"x")&&p(m)})}function p(h){var f=h.x;h.x=h.y,h.y=f}return pg}var mg,_k;function _$(){if(_k)return mg;_k=1;var e=at();mg=n;function n(r){var s={},o=e.filter(r.nodes(),function(h){return!r.children(h).length}),l=e.max(e.map(o,function(h){return r.node(h).rank})),u=e.map(e.range(l+1),function(){return[]});function c(h){if(!e.has(s,h)){s[h]=!0;var f=r.node(h);u[f.rank].push(h),e.forEach(r.successors(h),c)}}var p=e.sortBy(o,function(h){return r.node(h).rank});return e.forEach(p,c),u}return mg}var gg,Sk;function S$(){if(Sk)return gg;Sk=1;var e=at();gg=n;function n(s,o){for(var l=0,u=1;u<o.length;++u)l+=r(s,o[u-1],o[u]);return l}function r(s,o,l){for(var u=e.zipObject(l,e.map(l,function(y,x){return x})),c=e.flatten(e.map(o,function(y){return e.sortBy(e.map(s.outEdges(y),function(x){return{pos:u[x.w],weight:s.edge(x).weight}}),"pos")}),!0),p=1;p<l.length;)p<<=1;var h=2*p-1;p-=1;var f=e.map(new Array(h),function(){return 0}),m=0;return e.forEach(c.forEach(function(y){var x=y.pos+p;f[x]+=y.weight;for(var C=0;x>0;)x%2&&(C+=f[x+1]),x=x-1>>1,f[x]+=y.weight;m+=y.weight*C})),m}return gg}var vg,bk;function b$(){if(bk)return vg;bk=1;var e=at();vg=n;function n(r,s){return e.map(s,function(o){var l=r.inEdges(o);if(l.length){var u=e.reduce(l,function(c,p){var h=r.edge(p),f=r.node(p.v);return{sum:c.sum+h.weight*f.order,weight:c.weight+h.weight}},{sum:0,weight:0});return{v:o,barycenter:u.sum/u.weight,weight:u.weight}}else return{v:o}})}return vg}var yg,kk;function k$(){if(kk)return yg;kk=1;var e=at();yg=n;function n(o,l){var u={};e.forEach(o,function(p,h){var f=u[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:h};e.isUndefined(p.barycenter)||(f.barycenter=p.barycenter,f.weight=p.weight)}),e.forEach(l.edges(),function(p){var h=u[p.v],f=u[p.w];!e.isUndefined(h)&&!e.isUndefined(f)&&(f.indegree++,h.out.push(u[p.w]))});var c=e.filter(u,function(p){return!p.indegree});return r(c)}function r(o){var l=[];function u(h){return function(f){f.merged||(e.isUndefined(f.barycenter)||e.isUndefined(h.barycenter)||f.barycenter>=h.barycenter)&&s(h,f)}}function c(h){return function(f){f.in.push(h),--f.indegree===0&&o.push(f)}}for(;o.length;){var p=o.pop();l.push(p),e.forEach(p.in.reverse(),u(p)),e.forEach(p.out,c(p))}return e.map(e.filter(l,function(h){return!h.merged}),function(h){return e.pick(h,["vs","i","barycenter","weight"])})}function s(o,l){var u=0,c=0;o.weight&&(u+=o.barycenter*o.weight,c+=o.weight),l.weight&&(u+=l.barycenter*l.weight,c+=l.weight),o.vs=l.vs.concat(o.vs),o.barycenter=u/c,o.weight=c,o.i=Math.min(l.i,o.i),l.merged=!0}return yg}var wg,Ek;function E$(){if(Ek)return wg;Ek=1;var e=at(),n=cn();wg=r;function r(l,u){var c=n.partition(l,function(_){return e.has(_,"barycenter")}),p=c.lhs,h=e.sortBy(c.rhs,function(_){return-_.i}),f=[],m=0,y=0,x=0;p.sort(o(!!u)),x=s(f,h,x),e.forEach(p,function(_){x+=_.vs.length,f.push(_.vs),m+=_.barycenter*_.weight,y+=_.weight,x=s(f,h,x)});var C={vs:e.flatten(f,!0)};return y&&(C.barycenter=m/y,C.weight=y),C}function s(l,u,c){for(var p;u.length&&(p=e.last(u)).i<=c;)u.pop(),l.push(p.vs),c++;return c}function o(l){return function(u,c){return u.barycenter<c.barycenter?-1:u.barycenter>c.barycenter?1:l?c.i-u.i:u.i-c.i}}return wg}var xg,Nk;function N$(){if(Nk)return xg;Nk=1;var e=at(),n=b$(),r=k$(),s=E$();xg=o;function o(c,p,h,f){var m=c.children(p),y=c.node(p),x=y?y.borderLeft:void 0,C=y?y.borderRight:void 0,_={};x&&(m=e.filter(m,function(M){return M!==x&&M!==C}));var S=n(c,m);e.forEach(S,function(M){if(c.children(M.v).length){var P=o(c,M.v,h,f);_[M.v]=P,e.has(P,"barycenter")&&u(M,P)}});var b=r(S,h);l(b,_);var E=s(b,f);if(x&&(E.vs=e.flatten([x,E.vs,C],!0),c.predecessors(x).length)){var N=c.node(c.predecessors(x)[0]),j=c.node(c.predecessors(C)[0]);e.has(E,"barycenter")||(E.barycenter=0,E.weight=0),E.barycenter=(E.barycenter*E.weight+N.order+j.order)/(E.weight+2),E.weight+=2}return E}function l(c,p){e.forEach(c,function(h){h.vs=e.flatten(h.vs.map(function(f){return p[f]?p[f].vs:f}),!0)})}function u(c,p){e.isUndefined(c.barycenter)?(c.barycenter=p.barycenter,c.weight=p.weight):(c.barycenter=(c.barycenter*c.weight+p.barycenter*p.weight)/(c.weight+p.weight),c.weight+=p.weight)}return xg}var _g,Ck;function C$(){if(Ck)return _g;Ck=1;var e=at(),n=Qn().Graph;_g=r;function r(o,l,u){var c=s(o),p=new n({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(function(h){return o.node(h)});return e.forEach(o.nodes(),function(h){var f=o.node(h),m=o.parent(h);(f.rank===l||f.minRank<=l&&l<=f.maxRank)&&(p.setNode(h),p.setParent(h,m||c),e.forEach(o[u](h),function(y){var x=y.v===h?y.w:y.v,C=p.edge(x,h),_=e.isUndefined(C)?0:C.weight;p.setEdge(x,h,{weight:o.edge(y).weight+_})}),e.has(f,"minRank")&&p.setNode(h,{borderLeft:f.borderLeft[l],borderRight:f.borderRight[l]}))}),p}function s(o){for(var l;o.hasNode(l=e.uniqueId("_root")););return l}return _g}var Sg,jk;function j$(){if(jk)return Sg;jk=1;var e=at();Sg=n;function n(r,s,o){var l={},u;e.forEach(o,function(c){for(var p=r.parent(c),h,f;p;){if(h=r.parent(p),h?(f=l[h],l[h]=p):(f=u,u=p),f&&f!==p){s.setEdge(f,p);return}p=h}})}return Sg}var bg,Rk;function R$(){if(Rk)return bg;Rk=1;var e=at(),n=_$(),r=S$(),s=N$(),o=C$(),l=j$(),u=Qn().Graph,c=cn();bg=p;function p(y){var x=c.maxRank(y),C=h(y,e.range(1,x+1),"inEdges"),_=h(y,e.range(x-1,-1,-1),"outEdges"),S=n(y);m(y,S);for(var b=Number.POSITIVE_INFINITY,E,N=0,j=0;j<4;++N,++j){f(N%2?C:_,N%4>=2),S=c.buildLayerMatrix(y);var M=r(y,S);M<b&&(j=0,E=e.cloneDeep(S),b=M)}m(y,E)}function h(y,x,C){return e.map(x,function(_){return o(y,_,C)})}function f(y,x){var C=new u;e.forEach(y,function(_){var S=_.graph().root,b=s(_,S,C,x);e.forEach(b.vs,function(E,N){_.node(E).order=N}),l(_,C,b.vs)})}function m(y,x){e.forEach(x,function(C){e.forEach(C,function(_,S){y.node(_).order=S})})}return bg}var kg,Tk;function T$(){if(Tk)return kg;Tk=1;var e=at(),n=Qn().Graph,r=cn();kg={positionX:C,findType1Conflicts:s,findType2Conflicts:o,addConflict:u,hasConflict:c,verticalAlignment:p,horizontalCompaction:h,alignCoordinates:y,findSmallestWidthAlignment:m,balance:x};function s(b,E){var N={};function j(M,P){var O=0,B=0,L=M.length,q=e.last(P);return e.forEach(P,function(I,H){var X=l(b,I),T=X?b.node(X).order:L;(X||I===q)&&(e.forEach(P.slice(B,H+1),function(Y){e.forEach(b.predecessors(Y),function(U){var ee=b.node(U),J=ee.order;(J<O||T<J)&&!(ee.dummy&&b.node(Y).dummy)&&u(N,U,Y)})}),B=H+1,O=T)}),P}return e.reduce(E,j),N}function o(b,E){var N={};function j(P,O,B,L,q){var I;e.forEach(e.range(O,B),function(H){I=P[H],b.node(I).dummy&&e.forEach(b.predecessors(I),function(X){var T=b.node(X);T.dummy&&(T.order<L||T.order>q)&&u(N,X,I)})})}function M(P,O){var B=-1,L,q=0;return e.forEach(O,function(I,H){if(b.node(I).dummy==="border"){var X=b.predecessors(I);X.length&&(L=b.node(X[0]).order,j(O,q,H,B,L),q=H,B=L)}j(O,q,O.length,L,P.length)}),O}return e.reduce(E,M),N}function l(b,E){if(b.node(E).dummy)return e.find(b.predecessors(E),function(N){return b.node(N).dummy})}function u(b,E,N){if(E>N){var j=E;E=N,N=j}var M=b[E];M||(b[E]=M={}),M[N]=!0}function c(b,E,N){if(E>N){var j=E;E=N,N=j}return e.has(b[E],N)}function p(b,E,N,j){var M={},P={},O={};return e.forEach(E,function(B){e.forEach(B,function(L,q){M[L]=L,P[L]=L,O[L]=q})}),e.forEach(E,function(B){var L=-1;e.forEach(B,function(q){var I=j(q);if(I.length){I=e.sortBy(I,function(U){return O[U]});for(var H=(I.length-1)/2,X=Math.floor(H),T=Math.ceil(H);X<=T;++X){var Y=I[X];P[q]===q&&L<O[Y]&&!c(N,q,Y)&&(P[Y]=q,P[q]=M[q]=M[Y],L=O[Y])}}})}),{root:M,align:P}}function h(b,E,N,j,M){var P={},O=f(b,E,N,M),B=M?"borderLeft":"borderRight";function L(H,X){for(var T=O.nodes(),Y=T.pop(),U={};Y;)U[Y]?H(Y):(U[Y]=!0,T.push(Y),T=T.concat(X(Y))),Y=T.pop()}function q(H){P[H]=O.inEdges(H).reduce(function(X,T){return Math.max(X,P[T.v]+O.edge(T))},0)}function I(H){var X=O.outEdges(H).reduce(function(Y,U){return Math.min(Y,P[U.w]-O.edge(U))},Number.POSITIVE_INFINITY),T=b.node(H);X!==Number.POSITIVE_INFINITY&&T.borderType!==B&&(P[H]=Math.max(P[H],X))}return L(q,O.predecessors.bind(O)),L(I,O.successors.bind(O)),e.forEach(j,function(H){P[H]=P[N[H]]}),P}function f(b,E,N,j){var M=new n,P=b.graph(),O=_(P.nodesep,P.edgesep,j);return e.forEach(E,function(B){var L;e.forEach(B,function(q){var I=N[q];if(M.setNode(I),L){var H=N[L],X=M.edge(H,I);M.setEdge(H,I,Math.max(O(b,q,L),X||0))}L=q})}),M}function m(b,E){return e.minBy(e.values(E),function(N){var j=Number.NEGATIVE_INFINITY,M=Number.POSITIVE_INFINITY;return e.forIn(N,function(P,O){var B=S(b,O)/2;j=Math.max(P+B,j),M=Math.min(P-B,M)}),j-M})}function y(b,E){var N=e.values(E),j=e.min(N),M=e.max(N);e.forEach(["u","d"],function(P){e.forEach(["l","r"],function(O){var B=P+O,L=b[B],q;if(L!==E){var I=e.values(L);q=O==="l"?j-e.min(I):M-e.max(I),q&&(b[B]=e.mapValues(L,function(H){return H+q}))}})})}function x(b,E){return e.mapValues(b.ul,function(N,j){if(E)return b[E.toLowerCase()][j];var M=e.sortBy(e.map(b,j));return(M[1]+M[2])/2})}function C(b){var E=r.buildLayerMatrix(b),N=e.merge(s(b,E),o(b,E)),j={},M;e.forEach(["u","d"],function(O){M=O==="u"?E:e.values(E).reverse(),e.forEach(["l","r"],function(B){B==="r"&&(M=e.map(M,function(H){return e.values(H).reverse()}));var L=(O==="u"?b.predecessors:b.successors).bind(b),q=p(b,M,N,L),I=h(b,M,q.root,q.align,B==="r");B==="r"&&(I=e.mapValues(I,function(H){return-H})),j[O+B]=I})});var P=m(b,j);return y(j,P),x(j,b.graph().align)}function _(b,E,N){return function(j,M,P){var O=j.node(M),B=j.node(P),L=0,q;if(L+=O.width/2,e.has(O,"labelpos"))switch(O.labelpos.toLowerCase()){case"l":q=-O.width/2;break;case"r":q=O.width/2;break}if(q&&(L+=N?q:-q),q=0,L+=(O.dummy?E:b)/2,L+=(B.dummy?E:b)/2,L+=B.width/2,e.has(B,"labelpos"))switch(B.labelpos.toLowerCase()){case"l":q=B.width/2;break;case"r":q=-B.width/2;break}return q&&(L+=N?q:-q),q=0,L}}function S(b,E){return b.node(E).width}return kg}var Eg,Ak;function A$(){if(Ak)return Eg;Ak=1;var e=at(),n=cn(),r=T$().positionX;Eg=s;function s(l){l=n.asNonCompoundGraph(l),o(l),e.forEach(r(l),function(u,c){l.node(c).x=u})}function o(l){var u=n.buildLayerMatrix(l),c=l.graph().ranksep,p=0;e.forEach(u,function(h){var f=e.max(e.map(h,function(m){return l.node(m).height}));e.forEach(h,function(m){l.node(m).y=p+f/2}),p+=f+c})}return Eg}var Ng,Ik;function I$(){if(Ik)return Ng;Ik=1;var e=at(),n=h$(),r=p$(),s=g$(),o=cn().normalizeRanks,l=v$(),u=cn().removeEmptyRanks,c=y$(),p=w$(),h=x$(),f=R$(),m=A$(),y=cn(),x=Qn().Graph;Ng=C;function C(D,Q){var te=Q&&Q.debugTiming?y.time:y.notime;te("layout",function(){var oe=te(" buildLayoutGraph",function(){return L(D)});te(" runLayout",function(){_(oe,te)}),te(" updateInputGraph",function(){S(D,oe)})})}function _(D,Q){Q(" makeSpaceForEdgeLabels",function(){q(D)}),Q(" removeSelfEdges",function(){F(D)}),Q(" acyclic",function(){n.run(D)}),Q(" nestingGraph.run",function(){c.run(D)}),Q(" rank",function(){s(y.asNonCompoundGraph(D))}),Q(" injectEdgeLabelProxies",function(){I(D)}),Q(" removeEmptyRanks",function(){u(D)}),Q(" nestingGraph.cleanup",function(){c.cleanup(D)}),Q(" normalizeRanks",function(){o(D)}),Q(" assignRankMinMax",function(){H(D)}),Q(" removeEdgeLabelProxies",function(){X(D)}),Q(" normalize.run",function(){r.run(D)}),Q(" parentDummyChains",function(){l(D)}),Q(" addBorderSegments",function(){p(D)}),Q(" order",function(){f(D)}),Q(" insertSelfEdges",function(){G(D)}),Q(" adjustCoordinateSystem",function(){h.adjust(D)}),Q(" position",function(){m(D)}),Q(" positionSelfEdges",function(){k(D)}),Q(" removeBorderNodes",function(){J(D)}),Q(" normalize.undo",function(){r.undo(D)}),Q(" fixupEdgeLabelCoords",function(){U(D)}),Q(" undoCoordinateSystem",function(){h.undo(D)}),Q(" translateGraph",function(){T(D)}),Q(" assignNodeIntersects",function(){Y(D)}),Q(" reversePoints",function(){ee(D)}),Q(" acyclic.undo",function(){n.undo(D)})}function S(D,Q){e.forEach(D.nodes(),function(te){var oe=D.node(te),ue=Q.node(te);oe&&(oe.x=ue.x,oe.y=ue.y,Q.children(te).length&&(oe.width=ue.width,oe.height=ue.height))}),e.forEach(D.edges(),function(te){var oe=D.edge(te),ue=Q.edge(te);oe.points=ue.points,e.has(ue,"x")&&(oe.x=ue.x,oe.y=ue.y)}),D.graph().width=Q.graph().width,D.graph().height=Q.graph().height}var b=["nodesep","edgesep","ranksep","marginx","marginy"],E={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},N=["acyclicer","ranker","rankdir","align"],j=["width","height"],M={width:0,height:0},P=["minlen","weight","width","height","labeloffset"],O={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},B=["labelpos"];function L(D){var Q=new x({multigraph:!0,compound:!0}),te=se(D.graph());return Q.setGraph(e.merge({},E,$(te,b),e.pick(te,N))),e.forEach(D.nodes(),function(oe){var ue=se(D.node(oe));Q.setNode(oe,e.defaults($(ue,j),M)),Q.setParent(oe,D.parent(oe))}),e.forEach(D.edges(),function(oe){var ue=se(D.edge(oe));Q.setEdge(oe,e.merge({},O,$(ue,P),e.pick(ue,B)))}),Q}function q(D){var Q=D.graph();Q.ranksep/=2,e.forEach(D.edges(),function(te){var oe=D.edge(te);oe.minlen*=2,oe.labelpos.toLowerCase()!=="c"&&(Q.rankdir==="TB"||Q.rankdir==="BT"?oe.width+=oe.labeloffset:oe.height+=oe.labeloffset)})}function I(D){e.forEach(D.edges(),function(Q){var te=D.edge(Q);if(te.width&&te.height){var oe=D.node(Q.v),ue=D.node(Q.w),me={rank:(ue.rank-oe.rank)/2+oe.rank,e:Q};y.addDummyNode(D,"edge-proxy",me,"_ep")}})}function H(D){var Q=0;e.forEach(D.nodes(),function(te){var oe=D.node(te);oe.borderTop&&(oe.minRank=D.node(oe.borderTop).rank,oe.maxRank=D.node(oe.borderBottom).rank,Q=e.max(Q,oe.maxRank))}),D.graph().maxRank=Q}function X(D){e.forEach(D.nodes(),function(Q){var te=D.node(Q);te.dummy==="edge-proxy"&&(D.edge(te.e).labelRank=te.rank,D.removeNode(Q))})}function T(D){var Q=Number.POSITIVE_INFINITY,te=0,oe=Number.POSITIVE_INFINITY,ue=0,me=D.graph(),ge=me.marginx||0,Pe=me.marginy||0;function be(Oe){var Me=Oe.x,ke=Oe.y,Fe=Oe.width,ye=Oe.height;Q=Math.min(Q,Me-Fe/2),te=Math.max(te,Me+Fe/2),oe=Math.min(oe,ke-ye/2),ue=Math.max(ue,ke+ye/2)}e.forEach(D.nodes(),function(Oe){be(D.node(Oe))}),e.forEach(D.edges(),function(Oe){var Me=D.edge(Oe);e.has(Me,"x")&&be(Me)}),Q-=ge,oe-=Pe,e.forEach(D.nodes(),function(Oe){var Me=D.node(Oe);Me.x-=Q,Me.y-=oe}),e.forEach(D.edges(),function(Oe){var Me=D.edge(Oe);e.forEach(Me.points,function(ke){ke.x-=Q,ke.y-=oe}),e.has(Me,"x")&&(Me.x-=Q),e.has(Me,"y")&&(Me.y-=oe)}),me.width=te-Q+ge,me.height=ue-oe+Pe}function Y(D){e.forEach(D.edges(),function(Q){var te=D.edge(Q),oe=D.node(Q.v),ue=D.node(Q.w),me,ge;te.points?(me=te.points[0],ge=te.points[te.points.length-1]):(te.points=[],me=ue,ge=oe),te.points.unshift(y.intersectRect(oe,me)),te.points.push(y.intersectRect(ue,ge))})}function U(D){e.forEach(D.edges(),function(Q){var te=D.edge(Q);if(e.has(te,"x"))switch((te.labelpos==="l"||te.labelpos==="r")&&(te.width-=te.labeloffset),te.labelpos){case"l":te.x-=te.width/2+te.labeloffset;break;case"r":te.x+=te.width/2+te.labeloffset;break}})}function ee(D){e.forEach(D.edges(),function(Q){var te=D.edge(Q);te.reversed&&te.points.reverse()})}function J(D){e.forEach(D.nodes(),function(Q){if(D.children(Q).length){var te=D.node(Q),oe=D.node(te.borderTop),ue=D.node(te.borderBottom),me=D.node(e.last(te.borderLeft)),ge=D.node(e.last(te.borderRight));te.width=Math.abs(ge.x-me.x),te.height=Math.abs(ue.y-oe.y),te.x=me.x+te.width/2,te.y=oe.y+te.height/2}}),e.forEach(D.nodes(),function(Q){D.node(Q).dummy==="border"&&D.removeNode(Q)})}function F(D){e.forEach(D.edges(),function(Q){if(Q.v===Q.w){var te=D.node(Q.v);te.selfEdges||(te.selfEdges=[]),te.selfEdges.push({e:Q,label:D.edge(Q)}),D.removeEdge(Q)}})}function G(D){var Q=y.buildLayerMatrix(D);e.forEach(Q,function(te){var oe=0;e.forEach(te,function(ue,me){var ge=D.node(ue);ge.order=me+oe,e.forEach(ge.selfEdges,function(Pe){y.addDummyNode(D,"selfedge",{width:Pe.label.width,height:Pe.label.height,rank:ge.rank,order:me+ ++oe,e:Pe.e,label:Pe.label},"_se")}),delete ge.selfEdges})})}function k(D){e.forEach(D.nodes(),function(Q){var te=D.node(Q);if(te.dummy==="selfedge"){var oe=D.node(te.e.v),ue=oe.x+oe.width/2,me=oe.y,ge=te.x-ue,Pe=oe.height/2;D.setEdge(te.e,te.label),D.removeNode(Q),te.label.points=[{x:ue+2*ge/3,y:me-Pe},{x:ue+5*ge/6,y:me-Pe},{x:ue+ge,y:me},{x:ue+5*ge/6,y:me+Pe},{x:ue+2*ge/3,y:me+Pe}],te.label.x=te.x,te.label.y=te.y}})}function $(D,Q){return e.mapValues(e.pick(D,Q),Number)}function se(D){var Q={};return e.forEach(D,function(te,oe){Q[oe.toLowerCase()]=te}),Q}return Ng}var Cg,Mk;function M$(){if(Mk)return Cg;Mk=1;var e=at(),n=cn(),r=Qn().Graph;Cg={debugOrdering:s};function s(o){var l=n.buildLayerMatrix(o),u=new r({compound:!0,multigraph:!0}).setGraph({});return e.forEach(o.nodes(),function(c){u.setNode(c,{label:c}),u.setParent(c,"layer"+o.node(c).rank)}),e.forEach(o.edges(),function(c){u.setEdge(c.v,c.w,{},c.name)}),e.forEach(l,function(c,p){var h="layer"+p;u.setNode(h,{rank:"same"}),e.reduce(c,function(f,m){return u.setEdge(f,m,{style:"invis"}),m})}),u}return Cg}var jg,Pk;function P$(){return Pk||(Pk=1,jg="0.8.5"),jg}var Rg,Ok;function O$(){return Ok||(Ok=1,Rg={graphlib:Qn(),layout:I$(),debug:M$(),util:{time:cn().time,notime:cn().notime},version:P$()}),Rg}var q$=O$();const qk=ev(q$),Xs=240,Yl=130,Vs=74,wu=72,Lk=Vs+wu;function L$(e,n){var s;let r=Xs;for(const o of e)r=Math.max(r,((s=n.get(o.id))==null?void 0:s.width)??Xs);return r}const NC=420,$$=2;function ta(e){var r;return((r=e.data)==null?void 0:r.sessionId)??"_default"}function D$(e,n){return((n==null?void 0:n.get(e))??0)>0?NC:0}function F$(e,n){const r=(n==null?void 0:n.get(e))??0;return r>0?6+r*36:0}function na(e,n,r){const s=n.get(e);return{w:((s==null?void 0:s.width)??Xs)+D$(e,r),h:Math.max((s==null?void 0:s.height)??Yl,F$(e,r))}}function z$(e){return[...e.keys()].sort().map(n=>`${n}:${e.get(n)}`).join("|")}function B$(e,n,r,s,o,l){const u=new qk.graphlib.Graph;u.setDefaultEdgeLabel(()=>({})),u.setGraph({rankdir:r,marginx:0,marginy:0,nodesep:70,ranksep:160,edgesep:30});const c=e.filter(b=>!o.has(b)),p=new Set(c);for(const b of c){const{w:E,h:N}=na(b,s,l);u.setNode(b,{width:E,height:N})}for(const b of n)p.has(b.source)&&p.has(b.target)&&u.setEdge(b.source,b.target);qk.layout(u);const h=new Map;let f=1/0,m=1/0,y=-1/0,x=-1/0;for(const b of c){const E=u.node(b);if(!E)continue;const N=s.get(b),j=(N==null?void 0:N.width)??Xs,M=(N==null?void 0:N.height)??Yl,P=na(b,s,l),O=E.x-P.w/2,B=E.y-P.h/2;h.set(b,{x:O,y:B}),O<f&&(f=O),B<m&&(m=B),O+j>y&&(y=O+j),B+M>x&&(x=B+M)}if(Number.isFinite(f)&&Number.isFinite(m))for(const[b,E]of h)h.set(b,{x:E.x-f,y:E.y-m});const C=Number.isFinite(y)?y-f:0,_=Number.isFinite(x)?x-m:0;let S=null;for(const b of e){const E=o.get(b);if(!E)continue;const N=s.get(b),j=(N==null?void 0:N.width)??Xs,M=(N==null?void 0:N.height)??Yl;S=S===null?{minX:E.x,minY:E.y,maxX:E.x+j,maxY:E.y+M}:{minX:Math.min(S.minX,E.x),minY:Math.min(S.minY,E.y),maxX:Math.max(S.maxX,E.x+j),maxY:Math.max(S.maxY,E.y+M)}}return{positions:h,width:C,height:_,pinnedBox:S}}function U$(e,n,r={}){const s=r.direction??"LR",o=r.pinned??new Map,l=r.measured??new Map,u=r.lanes,c=new Map;for(const b of e){const E=ta(b),N=c.get(E);N?N.push(b.id):c.set(E,[b.id])}const h=Array.from(c.keys()).sort().map(b=>({sid:b,...B$(c.get(b),n,s,l,o,u)})),f=L$(e,l),m=r.availableHeight&&r.availableHeight>0?r.availableHeight:Number.POSITIVE_INFINITY,y=b=>{const E=[[]];let N=0;for(const j of h)E.length<b&&N>0&&N+j.height>m&&(E.push([]),N=0),E[E.length-1].push(j),N+=j.height+Lk;return E},x=b=>b.reduce((E,N)=>Math.max(E,N.width),0)+NC;let C=y(r.availableWidth?$$:1);C.length>1&&C.reduce((E,N)=>E+x(N),0)+f*(C.length-1)>(r.availableWidth??0)&&(C=y(1));const _=new Map;let S=0;for(const b of C){const E=x(b);let N=0;for(const{positions:j,height:M,pinnedBox:P}of b){for(const[B,L]of j)_.set(B,{x:L.x+S,y:L.y+N});let O=N+M;P&&P.maxY>O&&P.minX<S+E&&S<P.maxX&&(O=P.maxY),N=O+Lk}S+=E+f}return e.map(b=>{const E=o.get(b.id);if(E)return{...b,position:E};const N=_.get(b.id);return N?{...b,position:N}:b})}function H$(e,n,r,s,o){const u=Vs+wu,c=60,p=x=>na(x,s,o),h=new Map(e.map(x=>[x.id,ta(x)])),f=[],m=e.map(x=>({id:x.id,pos:r.get(x.id)??n.get(x.id)})).filter(x=>x.pos!=null).sort((x,C)=>x.pos.y-C.pos.y||x.pos.x-C.pos.x||x.id.localeCompare(C.id)),y=[];for(const{id:x,pos:C}of m){const{w:_,h:S}=p(x),b=h.get(x)??"_default";if(r.has(x)){f.push({x:C.x,y:C.y,w:_,h:S,sid:b});continue}let E=C.y;for(let N=0;N<f.length+1;N++){const j=f.find(M=>{const P=M.sid===b?24:c,O=M.sid===b?24:u;return C.x<M.x+M.w+P&&M.x<C.x+_+P&&E<M.y+M.h+O&&M.y<E+S+O});if(!j)break;E=j.y+j.h+(j.sid===b?24:u)}E!==C.y&&(n.set(x,{x:C.x,y:E}),y.push(x)),f.push({x:C.x,y:E,w:_,h:S,sid:b})}return y}function V$(e,n,r,s,o,l){const u=_=>na(_,s,l),c=_=>r.get(_)??n.get(_),p=new Map;for(const _ of e){if(!c(_.id))continue;const S=ta(_),b=p.get(S);b?b.push(_):p.set(S,[_])}const h=new Set;for(const[_,S]of p)S.every(b=>o.has(b.id)&&!r.has(b.id))&&h.add(_);const f=new Map,m=[];for(const _ of e){const S=c(_.id);if(!S)continue;const{w:b,h:E}=u(_.id),N=ta(_);h.has(N)?(f.get(N)??f.set(N,[]).get(N)).push(_):m.push({x:S.x,y:S.y,w:b,h:E})}if(f.size===0)return[];const y=Vs+wu,x=(_,S,b,E)=>m.some(N=>_<N.x+N.w+Vs&&N.x<_+b+Vs&&S<N.y+N.h+y&&N.y<S+E+y),C=[];for(const _ of[...f.keys()].sort()){const S=f.get(_);let b=1/0,E=1/0,N=-1/0,j=-1/0;for(const I of S){const H=c(I.id),{w:X,h:T}=u(I.id);b=Math.min(b,H.x),E=Math.min(E,H.y),N=Math.max(N,H.x+X),j=Math.max(j,H.y+T)}const M=N-b,P=j-E,O=[...new Set(m.map(I=>Math.round(I.x)))].sort((I,H)=>I-H),B=O.length?O:[b],L=[0,...m.map(I=>I.y+I.h+y)].sort((I,H)=>I-H);let q=null;e:for(const I of B)for(const H of L){if(H>=E)break;if(!x(I,H,M,P)){q={x:I,y:H};break e}}if(q){const I=q.x-b,H=q.y-E;for(const X of S){const T=c(X.id);n.set(X.id,{x:T.x+I,y:T.y+H})}C.push(_)}for(const I of S){const H=c(I.id),{w:X,h:T}=u(I.id);m.push({x:H.x,y:H.y,w:X,h:T})}}return C}function W$(e,n,r,s,o,l=!1,u){const h=Vs+wu+1,f=8,m=1.75,y=200,x=.7,C=.01,_=q=>na(q,s,u),S=q=>r.get(q)??n.get(q),b=new Map;for(const q of e){if(!S(q.id))continue;const I=ta(q),H=b.get(I);H?H.push(q):b.set(I,[q])}const E=[],N=new Set,j=new Set,M=o.size===0;for(const q of[...b.keys()].sort()){const I=b.get(q);let H=1/0,X=1/0,T=-1/0,Y=-1/0,U=!1;for(const G of I){const k=S(G.id),{w:$,h:se}=_(G.id);H=Math.min(H,k.x),X=Math.min(X,k.y),T=Math.max(T,k.x+$),Y=Math.max(Y,k.y+se),r.has(G.id)&&(U=!0)}const ee=T-H,J=Y-X;j.add(q);const F=o.get(q);F&&(ee>F.w+f||J>F.h+f)&&N.add(q),o.set(q,{w:ee,h:J}),E.push({sid:q,members:I.map(G=>G.id),x:H,y:X,w:ee,h:J,anchored:U,mass:1})}for(const q of[...o.keys()])j.has(q)||o.delete(q);if(l||M)return[];let P=!1;for(let q=0;q<E.length&&!P;q++)for(let I=q+1;I<E.length;I++){const H=E[q],X=E[I];if(!(H.anchored&&X.anchored)&&Math.abs(H.x+H.w/2-(X.x+X.w/2))<(H.w+X.w)/2+61&&Math.abs(H.y+H.h/2-(X.y+X.h/2))<(H.h+X.h)/2+h){P=!0;break}}if(N.size===0&&!P)return[];if(N.size>0)for(const q of E)N.has(q.sid)&&(q.mass=8);else for(const q of E)q.mass=Math.max(1,q.w*q.h/(Xs*Yl));const O=new Map(E.map(q=>[q.sid,q.x])),B=new Map(E.map(q=>[q.sid,q.y]));for(let q=0;q<y;q++){const I=new Map,H=new Map;let X=0;for(let T=0;T<E.length;T++)for(let Y=T+1;Y<E.length;Y++){const U=E[T],ee=E[Y];if(U.anchored&&ee.anchored)continue;const J=U.x+U.w/2,F=U.y+U.h/2,G=ee.x+ee.w/2,k=ee.y+ee.h/2,$=(U.w+ee.w)/2+61-Math.abs(J-G),se=(U.h+ee.h)/2+h-Math.abs(F-k);if($<=0||se<=0)continue;const D=(ze,Ze)=>!ze.anchored&&!(Ze<0&&ze.x<=0),Q=(ze,Ze)=>!ze.anchored&&!(Ze<0&&ze.y<=0),te=(ze,Ze,ft)=>{const At=ze===Ze,it=At?U.sid<ee.sid?-1:1:Math.sign(ze-Ze);return ft(U,it)||ft(ee,-it)?it:At&&(ft(U,-it)||ft(ee,it))?-it:0},oe=te(J,G,D),ue=te(F,k,Q),me=oe!==0,ge=ue!==0;if(!me&&!ge)continue;const Pe=me&&(!ge||$*m<se),[be,Oe,Me,ke]=Pe?[oe,$,I,D]:[ue,se,H,Q],Fe=ke(U,be),ye=ke(ee,-be),we=U.mass,Be=ee.mass,ct=Fe?ye?Be/(we+Be):1:0,dt=ye?Fe?we/(we+Be):1:0,Qe=Oe*x;Me.set(U.sid,(Me.get(U.sid)??0)+be*Qe*ct),Me.set(ee.sid,(Me.get(ee.sid)??0)-be*Qe*dt),X+=Qe}for(const T of E)T.anchored||(T.x=Math.max(0,T.x+(I.get(T.sid)??0)),T.y=Math.max(0,T.y+(H.get(T.sid)??0)));if(X<C)break}const L=[];for(const q of E){const I=q.x-O.get(q.sid),H=q.y-B.get(q.sid);if(!(Math.abs(I)<1&&Math.abs(H)<1)){for(const X of q.members){if(r.has(X))continue;const T=n.get(X);T&&n.set(X,{x:T.x+I,y:T.y+H})}L.push(q.sid)}}return L}const G$=600;function Qg(e,n){return!(e.exitAt!=null&&n-e.exitAt>G$||e.kind==="root"&&e.state==="done"&&e.tools.length===0&&e.endedAt!=null&&e.endedAt-e.startedAt<3e3)}function Y$(e,n){const r=new Set;for(const s of e.agents.values())Qg(s,n)&&r.add(s.id);return r}function K$(e,n,r=0){return e.right+r>n.left&&e.left-r<n.right&&e.bottom+r>n.top&&e.top-r<n.bottom}function X$(e,n,r=0){if(!e)return!1;for(const s of n)if(K$(e,s,r))return!0;return!1}const Q$="Update checks are off (AGENTS_DECK_NO_UPDATE_CHECK=1).";function Z$(e){if(e.checkDisabled)return Q$;if(e.checking)return"Asking npm for the newest release…";const n=e.latest?`npm has v${e.latest}`:e.latestPending?`npm's latest tag names v${e.latestPending}, which it cannot serve yet`:"npm not reached yet",r=e.checkedAgo?` · checked ${e.checkedAgo}`:"";return`${n}${r} · re-checked periodically · click to check npm now`}function J$(e){const n=`Version v${e.running}`;return e.checkDisabled?`${n}, update checks are off`:e.checking?`${n}, checking npm for a newer release`:`${n}, check npm for a newer release`}function Vi(e){return typeof window>"u"?"":getComputedStyle(document.documentElement).getPropertyValue(e).trim()||""}function e4(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}const t4={agent:LP,sessionGroup:YP},n4=420,Al=18,r4=9e4,i4=200,s4=5*6e4,o4=6,a4=2*6e4,Dv="agent-dag.layout",Fv="agent-dag.viewport",CC="agent-dag.summariesDismissed",jC="agent-dag.sessionListOpen",RC="agent-dag.detailOpen",TC="agent-dag.usagePanelOpen",$k="agent-dag.accountsPanelOpen",Dk="agent-dag.versionNoticeDismissed",l4=15*6e4,Fk={git_checkout:"this deck runs from a git checkout — pull instead:",npx:"npx runs from a cache that cannot be upgraded in place — run:",not_writable:"the install directory is not writable by this user — run:",opted_out:"installs are off (AGENTS_DECK_NO_INSTALL=1) — run:"};function u4(e){const n=Math.max(0,Math.floor(e/1e3));return n<60?"just now":n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`}const zk="agent-dag.autoRestart",Bk="agent-dag.bundleReloadedFor";function c4(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(jC)==="1"}catch{return!1}}function d4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(jC,e?"1":"0")}catch{}}function f4(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(RC)==="1"}catch{return!1}}function h4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(RC,e?"1":"0")}catch{}}function p4(){if(typeof window>"u")return!0;const e=window.localStorage.getItem(TC);try{return e===null?!0:e==="1"}catch{return!0}}function m4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(TC,e?"1":"0")}catch{}}function g4(){if(typeof window>"u")return new Set;try{const e=window.localStorage.getItem(CC);if(!e)return new Set;const n=JSON.parse(e);return new Set(Array.isArray(n)?n.filter(r=>typeof r=="string"):[])}catch{return new Set}}function Uk(e){if(!(typeof window>"u"))try{const n=Array.from(e),r=n.length>200?n.slice(-200):n;window.localStorage.setItem(CC,JSON.stringify(r))}catch{}}function v4(){const e={positions:[],pins:[]};if(typeof window>"u")return e;try{const n=window.localStorage.getItem(Dv);if(!n)return e;const r=JSON.parse(n);if(!("v"in r)){const o=Object.entries(r).filter(([,l])=>l&&typeof l.x=="number"&&typeof l.y=="number");return{positions:o,pins:o.map(([l])=>l)}}return{positions:Object.entries(r.positions??{}).filter(([,o])=>o&&typeof o.x=="number"&&typeof o.y=="number"),pins:Array.isArray(r.pins)?r.pins:[]}}catch{return e}}function Tg(e,n){if(!(typeof window>"u"))try{const r={};for(const[s,o]of e)r[s]=o;for(const[s,o]of n)r[s]=o;window.localStorage.setItem(Dv,JSON.stringify({v:2,positions:r,pins:Array.from(n.keys())}))}catch{}}function y4(){if(typeof window>"u")return null;try{const e=window.localStorage.getItem(Fv);if(!e)return null;const n=JSON.parse(e);return typeof(n==null?void 0:n.x)!="number"||typeof(n==null?void 0:n.y)!="number"||typeof(n==null?void 0:n.zoom)!="number"?null:n}catch{return null}}function w4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Fv,JSON.stringify(e))}catch{}}function Hk(){if(!(typeof window>"u")){try{window.localStorage.removeItem(Dv)}catch{}try{window.localStorage.removeItem(Fv)}catch{}}}function x4(e,n){const r=e.agents.get(n);if(!r)return;const s=[];for(const f of e.agents.values())f.sessionId===n&&s.push(f);const o={schemaVersion:1,exportedAt:new Date().toISOString(),sessionId:n,label:r.label,cwd:r.cwd,startedAt:r.startedAt,endedAt:r.endedAt,model:r.model,agents:s.map(f=>({id:f.id,kind:f.kind,label:f.label,parentId:f.parentId,state:f.state,startedAt:f.startedAt,endedAt:f.endedAt,model:f.model,cwd:f.cwd,usage:f.usage,prompts:f.prompts,tools:f.tools.map(m=>({id:m.id,name:m.name,inputPreview:m.inputPreview,startedAt:m.startedAt,endedAt:m.endedAt,ok:m.ok,errorPreview:m.errorPreview,usage:m.usage}))}))},l=JSON.stringify(o,null,2),u=new Blob([l],{type:"application/json"}),c=URL.createObjectURL(u),p=document.createElement("a"),h=(r.label||"session").replace(/[^a-z0-9._-]/gi,"_");p.href=c,p.download=`agents-deck-${h}-${n.slice(0,8)}.json`,document.body.appendChild(p),p.click(),document.body.removeChild(p),setTimeout(()=>URL.revokeObjectURL(c),1e3)}const Zg={file:"📁",shell:"⚡",web:"🌐",agent:"🤖",task:"📋",plan:"🧭",mcp:"🔌",other:"✨"},Jg={file:"file",shell:"shell",web:"web",agent:"agent",task:"task",plan:"plan",mcp:"mcp",other:"other"},_4={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan"};function AC(e){return e.startsWith("mcp__")?"mcp":_4[e]??"other"}function IC(e,n){var s,o,l;if(!n)return!0;const r=n.toLowerCase();if(e.label.toLowerCase().includes(r)||(s=e.cwd)!=null&&s.toLowerCase().includes(r)||(o=e.cwdBasename)!=null&&o.toLowerCase().includes(r)||e.sessionId.toLowerCase().includes(r)||(l=e.firstPrompt)!=null&&l.toLowerCase().includes(r))return!0;for(const u of e.tools)if(u.name.toLowerCase().includes(r))return!0;return!1}function S4(e,n){if(!n)return null;const r=new Set([n]);let s=n;for(;s;){const l=e.agents.get(s);if(!(l!=null&&l.parentId)||r.has(l.parentId))break;r.add(l.parentId),s=l.parentId}let o=!0;for(;o;){o=!1;for(const l of e.agents.values())l.parentId&&r.has(l.parentId)&&!r.has(l.id)&&(r.add(l.id),o=!0)}return r}function b4(e,n,r,s,o,l,u,c,p,h,f,m,y,x,C,_,S,b){const E=[],N=[],j=new Set;if(l)for(const I of e.agents.values())IC(I,l)&&j.add(I.id);for(const I of e.agents.values()){if(!S.has(I.id))continue;const H=l?!j.has(I.id):!1,X=I.exitAt!=null,T=_!=null&&!_.has(I.id),Y=[H?"rf-dim":"",X?"rf-exiting":"",T?"rf-spotlit-out":""].filter(Boolean).join(" ")||void 0,U=u.get(I.id);if(E.push({id:I.id,type:"agent",position:{x:0,y:0},data:{...I,now:n,dim:H,onOpenContext:b},className:Y,...U?{width:U.width,height:U.height}:null}),I.parentId&&S.has(I.parentId)){const ee=wv(I.sessionId),J=I.state==="active"?`hsl(${ee} 80% 72%)`:`hsl(${ee} 50% 55%)`,F=l&&!j.has(I.id)&&!j.has(I.parentId),G=X,k=C.size>0&&(C.has(I.id)||C.has(I.parentId)),$=_!=null&&!_.has(I.id)&&!_.has(I.parentId),se=I.state==="active"?2:1.5,D=k?se+1.5:se,Q=F||G?.2:$?.12:1,te=[G?"rf-edge-exiting":"",k?"rf-edge-selected":""].filter(Boolean).join(" ")||void 0;N.push({id:`e:${I.parentId}->${I.id}`,source:I.parentId,target:I.id,animated:(I.state==="active"||k)&&!F&&!G,type:"smoothstep",style:{stroke:J,strokeWidth:D,opacity:Q,transition:"opacity 500ms ease, stroke-width 200ms ease"},className:te})}}const M=new Map;for(const I of e.agents.values())I.tools.length>0&&M.set(I.id,Math.min(4,I.tools.length));const P=`${y}#lanes:${z$(M)}`,O=E.filter(I=>!o.has(I.id)&&!m.has(I.id));if(O.length>0||P!==x.current){if(O.length>0){const I=U$(E,N,{direction:"LR",pinned:o,measured:u,availableWidth:r,availableHeight:s,lanes:M});for(const H of I)m.has(H.id)||m.set(H.id,H.position);V$(E,m,o,u,new Set(O.map(H=>H.id)),M)}H$(E,m,o,u,M),x.current=P}const B=W$(E,m,o,u,c,!h||f,M);B.length>0&&p(B),dd(m,e.agents),dd(o,e.agents),dd(u,dO(e.agents.values()));const L=[];let q=!1;for(const I of E){let H=o.get(I.id)??m.get(I.id);H||(H={x:0,y:0},m.set(I.id,H),q=!0),L.push({...I,position:H})}return q&&(x.current=""),{nodes:L,edges:N}}function k4(){return g.jsx(vv,{children:g.jsx(E4,{})})}function E4(){var wa,xa,fs,Ri;const e=aa(),n=A.useRef(Gg()),[,r]=A.useState(0),s=A.useCallback(()=>r(V=>V+1),[]),[o,l]=A.useState(()=>new Set),[u,c]=A.useState(null),[p,h]=A.useState(null),f=A.useCallback((V,K)=>{l(le=>{if(!K)return new Set([V]);const ce=new Set(le);return ce.has(V)?ce.delete(V):ce.add(V),ce}),c(le=>K&&le===V?le:V)},[]),m=A.useCallback(()=>{l(new Set),c(null)},[]),[y,x]=A.useState(null),[C,_]=A.useState(null),S=A.useCallback(V=>_(V),[]),b=A.useRef(g4()),[E,N]=A.useState(c4);A.useEffect(()=>{d4(E)},[E]);const[j,M]=A.useState(f4);A.useEffect(()=>{h4(j)},[j]);const[P,O]=A.useState(p4);A.useEffect(()=>{m4(P)},[P]);const[B,L]=A.useState(()=>{try{const V=window.localStorage.getItem($k);return V===null?!0:V==="1"}catch{return!0}});A.useEffect(()=>{try{window.localStorage.setItem($k,B?"1":"0")}catch{}},[B]);const[q,I]=A.useState(null),[H,X]=A.useState(!1),[T,Y]=A.useState(0),[U,ee]=A.useState(0);A.useEffect(()=>{fetch("/api/sound-hook").then(V=>V.ok?V.json():null).then(V=>{V!=null&&V.ok&&(I(V.enabled===!0),Y((V.foreign??[]).filter(K=>K.worksHere).length),ee(typeof V.parked=="number"?V.parked:0))}).catch(()=>{})},[]);const J=A.useCallback(async()=>{X(!0);try{const K=await(await fetch("/api/sound-hook",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:!q})})).json().catch(()=>null);K!=null&&K.ok&&I(K.enabled===!0),fetch("/api/sound-hook").then(le=>le.ok?le.json():null).then(le=>{le!=null&&le.ok&&(Y((le.foreign??[]).filter(ce=>ce.worksHere).length),ee(typeof le.parked=="number"?le.parked:0))}).catch(()=>{})}catch{}finally{X(!1)}},[q]),[F,G]=A.useState(!1),[k,$]=A.useState(null),[se,D]=A.useState(()=>{if(typeof window>"u")return"";try{return window.localStorage.getItem(Dk)??""}catch{return""}}),[Q,te]=A.useState(!1),oe=A.useRef(0),[ue,me]=A.useState(!1),ge=A.useCallback((V=!1)=>{V&&(oe.current=Date.now(),me(!0)),fetch(V?"/api/version?refresh=1":"/api/version").then(K=>K.ok?K.json():null).then(K=>{K&&$(K)}).catch(()=>{}).finally(()=>{V&&me(!1)})},[]),Pe=A.useCallback(()=>{ge(Date.now()-oe.current>=l4)},[ge]);A.useEffect(()=>{ge();const V=window.setInterval(Pe,5*6e4),K=()=>{document.visibilityState==="visible"&&Pe()};return document.addEventListener("visibilitychange",K),()=>{window.clearInterval(V),document.removeEventListener("visibilitychange",K)}},[ge,Pe]),A.useEffect(()=>{F&&ge()},[F,ge]);const be=(k==null?void 0:k.notice)??null,Oe=be?`${be.kind}:${be.to}`:"",Me=be!=null&&se!==Oe,ke=A.useCallback(()=>{if(!be)return;const V=se===Oe?"":Oe;D(V);try{window.localStorage.setItem(Dk,V)}catch{}},[be,Oe,se]),Fe=((wa=k==null?void 0:k.upgrade)==null?void 0:wa.state)??"idle",ye=A.useCallback(async()=>{try{await fetch("/api/upgrade",{method:"POST"})}catch{}ge()},[ge]);A.useEffect(()=>{if(Fe!=="running")return;const V=window.setInterval(ge,3e3);return()=>window.clearInterval(V)},[Fe,ge]);const we=A.useCallback(async()=>{var le;const V=k==null?void 0:k.command;if(!V)return;let K=!1;try{K=await Promise.race([((le=navigator.clipboard)==null?void 0:le.writeText(V).then(()=>!0))??Promise.resolve(!1),new Promise(ce=>window.setTimeout(()=>ce(!1),500))])}catch{K=!1}if(!K)try{const ce=document.createElement("textarea");ce.value=V,ce.setAttribute("readonly",""),ce.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(ce),ce.select(),K=document.execCommand("copy"),ce.remove()}catch{K=!1}K&&(te(!0),window.setTimeout(()=>te(!1),1600))},[k==null?void 0:k.command]),Be=A.useCallback(()=>{N(V=>(V||L(!1),!V))},[]),ct=A.useCallback(()=>{L(V=>(V||N(!1),!V))},[]),[dt,Qe]=A.useState(!1),[ze,Ze]=A.useState(0),ft=A.useRef(null),[At,it]=A.useState(!1),st=A.useRef(null),[Yt,It]=A.useState(0),Ye=A.useRef(mO()),[bt,gt]=A.useState(!1),ht=A.useCallback(()=>{const V=Ye.current,K=V.setPaused(!V.paused);for(const le of K)n.current=tx(n.current,le);gt(V.paused)},[]),[et,Bt]=A.useState(Date.now()),[wt,An]=A.useState(()=>{if(typeof window>"u")return!0;try{return window.localStorage.getItem(zk)!=="0"}catch{return!0}}),pr=A.useCallback(()=>{An(V=>{const K=!V;try{window.localStorage.setItem(zk,K?"1":"0")}catch{}return K})},[]),[Ut,Kt]=A.useState(!1),[In,gn]=A.useState("restart"),[_i,Si]=A.useState(null),er=A.useRef(!1),mr=A.useCallback(async V=>{if(er.current)return;const K=(V==null?void 0:V.upgrade)===!0;er.current=!0,gn(K?"npx":"restart"),Kt(!0);try{window.sessionStorage.setItem("agent-dag.restartPending",(be==null?void 0:be.to)??"")}catch{}try{await fetch("/api/restart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({upgrade:K})})}catch{}window.setTimeout(()=>{if(er.current){er.current=!1,Kt(!1);try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}}},K?18e4:3e4)},[be==null?void 0:be.to]),$r=A.useRef(null);A.useEffect(()=>{let V=!1;for(const le of n.current.agents.values())if(le.state==="active"){V=!0;break}const K=uO({enabled:wt,kind:be==null?void 0:be.kind,canRestart:(k==null?void 0:k.canRestart)===!0,busy:V,idleSince:$r.current,now:et});$r.current=K.idleSince,K.restart&&mr()},[wt,be==null?void 0:be.kind,k==null?void 0:k.canRestart,et,mr]),A.useEffect(()=>{let V=null;try{V=window.sessionStorage.getItem(Bk)}catch{return}if(lO({bundle:"1.33.85",running:k==null?void 0:k.running,lastTried:V})){try{window.sessionStorage.setItem(Bk,(k==null?void 0:k.running)??"")}catch{return}window.location.reload()}},[k==null?void 0:k.running]),A.useEffect(()=>{const V=k==null?void 0:k.running;if(!V)return;let K=null;try{K=window.sessionStorage.getItem("agent-dag.restartPending")}catch{return}if(K==null||K&&K!==V)return;try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}er.current=!1,Kt(!1),Si(V);const le=window.setTimeout(()=>Si(null),6e3);return()=>window.clearTimeout(le)},[k==null?void 0:k.running]);const Dr=A.useRef(v4()).current;A.useRef(!1);const vt=A.useRef(new Map(Dr.positions.filter(([V])=>Dr.pins.includes(V)))),tr=A.useRef(null),vn=A.useState(()=>y4())[0],[Mn,nr]=A.useState(""),[gr,Fr]=A.useState(()=>new Set),[Pn,rs]=A.useState(()=>typeof window>"u"?"dark":window.localStorage.getItem("agent-dag.theme")??"dark"),[is,ss]=A.useState(!1),yn=A.useRef(null);A.useEffect(()=>{document.documentElement.dataset.theme=Pn;try{window.localStorage.setItem("agent-dag.theme",Pn)}catch{}},[Pn]),A.useEffect(()=>{if(!vn)return;const V=window.setTimeout(()=>{try{e.setViewport(vn,{duration:0})}catch{}},60);return()=>window.clearTimeout(V)},[e,vn]);const bi=A.useRef(!0);A.useEffect(()=>{const V=new EventSource("/events"),K=pO(s,{now:()=>Date.now(),setTimeout:(le,ce)=>window.setTimeout(le,ce),clearTimeout:le=>window.clearTimeout(le)});return V.addEventListener("open",()=>{G(!0),ss(!0)}),V.addEventListener("error",()=>G(!1)),V.addEventListener("replay-end",()=>{bi.current=!1,K.flush()}),V.addEventListener("hook",le=>{try{const ce=JSON.parse(le.data);if(!Ye.current.accept(ce))return;n.current=tx(n.current,ce),ce.replay===!0||bi.current||Date.now()-ce.receivedAt>3e4?K.replay():K.live()}catch{}}),()=>{V.close(),K.cancel()}},[s]),A.useEffect(()=>{const V=setInterval(()=>{const K=Date.now();Bt(K);let le=bP(n.current,K,r4);_P(n.current,K,i4,s4)&&(le=!0),SP(n.current,K,o4,a4)&&(le=!0),le&&s()},250);return()=>clearInterval(V)},[s]);const zr=A.useRef(null),rr=A.useRef(0),os=420,Ht=A.useCallback((V=500)=>{try{const _e=document.querySelector(".canvas-wrap"),Ae=Array.from(document.querySelectorAll(".react-flow__node")).filter(xt=>xt.offsetWidth>0);if(!_e||Ae.length===0)return;const qe=_e.getBoundingClientRect(),Ge=e.getViewport();if(!Number.isFinite(Ge.zoom)||Ge.zoom<=0)return;const Le=xt=>(xt-qe.left-Ge.x)/Ge.zoom,Ke=xt=>(xt-qe.top-Ge.y)/Ge.zoom,en=Ae.map(xt=>xt.getBoundingClientRect()),Fn=Math.min(...en.map(xt=>Le(xt.left))),uo=Math.max(...en.map(xt=>Le(xt.right))),xr=Math.min(...en.map(xt=>Ke(xt.top))),Ti=Math.max(...en.map(xt=>Ke(xt.bottom))),Jr=uo-Fn,_r=Ti-xr;if(!(Jr>0&&_r>0))return;const wn=Math.max(.2,Math.min(1,(qe.width-160)/(Jr+os)*.86,(qe.height-160)/_r*.86));e.setViewport({x:80-Fn*wn,y:Math.max(80,(qe.height-_r*wn)/2)-xr*wn,zoom:wn},{duration:V}),rr.current=Date.now(),window.setTimeout(()=>{try{const xt={x:80-Fn*wn,y:Math.max(80,(qe.height-_r*wn)/2)-xr*wn,zoom:wn},_a=e.getViewport();(Math.abs(_a.zoom-wn)>.01||Math.abs(_a.x-xt.x)>2)&&e.setViewport(xt,{duration:0})}catch{}},V+60)}catch{}},[e]),Br=A.useRef(""),Ur=A.useRef(null),ki=A.useRef(0),Hr=A.useCallback(()=>{ki.current=Date.now()},[]),Je="agent-dag.autoFitDisabled",On=A.useRef((()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Je)==="1"}catch{return!1}})()),[Vr,Ei]=A.useState(On.current),vr=A.useCallback(()=>{if(!On.current){On.current=!0,Ei(!0);try{window.localStorage.setItem(Je,"1")}catch{}}},[]),as=A.useCallback(()=>{On.current=!1,Ei(!1);try{window.localStorage.removeItem(Je)}catch{}Ht(400)},[e,Ht]);A.useEffect(()=>{const V=setInterval(()=>{if(On.current||Date.now()-ki.current<800)return;const K=n.current,le=Date.now(),ce=[];for(const Le of K.agents.values())Qg(Le,le)&&ce.push({id:Le.id});if(ce.length===0)return;const ve=e.getViewport(),_e=window.innerWidth-360,Ae=window.innerHeight-52;let qe=!1,Ge=!1;for(const{id:Le}of ce){const Ke=dn.current.get(Le),en=vt.current.get(Le)??Qt.current.get(Le);if(!Ke||!en)continue;Ge=!0;const Fn=en.x*ve.zoom+ve.x,uo=en.y*ve.zoom+ve.y,xr=(en.x+Ke.width)*ve.zoom+ve.x,Ti=(en.y+Ke.height)*ve.zoom+ve.y;if(xr>0&&Fn<_e&&Ti>0&&uo<Ae){qe=!0;break}}Ge&&!qe&&Ht(600)},1500);return()=>clearInterval(V)},[e]);const Wr=A.useRef(!1),dn=A.useRef(new Map),Vt=A.useRef(0),Ni=A.useCallback(V=>{const K=dn.current;let le=!1;for(const ce of V.nodeInternals.values()){const ve=ce.width,_e=ce.height;if(ve==null||_e==null)continue;const Ae=K.get(ce.id);Ae?(Math.abs(Ae.height-_e)>4||Math.abs(Ae.width-ve)>4)&&(K.set(ce.id,{width:ve,height:_e}),le=!0):(K.set(ce.id,{width:ve,height:_e}),le=!0)}return le&&(Vt.current+=1),Vt.current},[]),Xt=Xe(Ni),[pa,xu]=A.useState(0);A.useEffect(()=>{let V=0;const K=()=>{const ce=dn.current;let ve=!1;for(const _e of document.querySelectorAll(".react-flow__node[data-id]")){const Ae=_e.getAttribute("data-id");if(!Ae)continue;const qe=_e.offsetWidth,Ge=_e.offsetHeight;if(!qe||!Ge)continue;const Le=ce.get(Ae);(!Le||Math.abs(Le.width-qe)>4||Math.abs(Le.height-Ge)>4)&&(ce.set(Ae,{width:qe,height:Ge}),ve=!0)}ve&&xu(_e=>_e+1)};if(Wr.current)return;let le=0;return document.visibilityState==="hidden"?le=window.setTimeout(K,32):V=requestAnimationFrame(K),()=>{cancelAnimationFrame(V),window.clearTimeout(le)}});const Qt=A.useRef(new Map(Dr.positions)),Gr=A.useRef(""),qn=A.useMemo(()=>{const V=[];for(const K of n.current.agents.values())Qg(K,et)&&V.push(K.id+(K.parentId?`>${K.parentId}`:""));return V.sort(),`${V.join("|")}#sv${Xt}.${pa}`},[n.current,n.current.lastSeq,et,Xt,pa]),Ln=A.useRef(null);A.useEffect(()=>(Ln.current!=null&&window.clearTimeout(Ln.current),Ln.current=window.setTimeout(()=>{Tg(Qt.current,vt.current)},1500),()=>{Ln.current!=null&&window.clearTimeout(Ln.current)}),[qn]),A.useEffect(()=>{if(Br.current===qn)return;const V=Br.current;if(Br.current=qn,!V||On.current)return;Date.now()-rr.current>1200&&Ht(400),zr.current&&window.clearTimeout(zr.current),zr.current=window.setTimeout(()=>{On.current||Ht(500)},280)},[qn,e,Ht]);const Yr=A.useMemo(()=>{if(o.size===0)return null;const V=new Set;for(const K of o){const le=S4(n.current,K);if(le)for(const ce of le)V.add(ce)}return V.size>0?V:null},[n.current,n.current.lastSeq,o]),no=A.useMemo(()=>Y$(n.current,et),[n.current,n.current.lastSeq,et]),ma=A.useRef(null),[Kr,ro]=A.useState({w:0,h:0});A.useEffect(()=>{const V=ma.current;if(!V||typeof ResizeObserver>"u")return;const K=new ResizeObserver(le=>{var ve;const ce=(ve=le[0])==null?void 0:ve.contentRect;ce&&ro(_e=>Math.abs(_e.w-ce.width)>40||Math.abs(_e.h-ce.height)>40?{w:ce.width,h:ce.height}:_e)});return K.observe(V),ro({w:V.clientWidth,h:V.clientHeight}),()=>K.disconnect()},[]);const io=A.useRef(new Map),[Xr,_u]=A.useState(!1);A.useEffect(()=>{const V=window.setTimeout(()=>_u(!0),2500);return()=>window.clearTimeout(V)},[]);const[so,Ue]=A.useState(!1),$n=A.useRef(null),[ls,us]=A.useState(!1),ga=A.useCallback(()=>{$n.current&&(window.clearTimeout($n.current),$n.current=null),Ue(!1)},[]),va=A.useCallback(V=>{V.length!==0&&queueMicrotask(()=>{Ue(!0),$n.current&&window.clearTimeout($n.current),$n.current=window.setTimeout(()=>Ue(!1),n4+80)})},[]);A.useEffect(()=>()=>{$n.current&&window.clearTimeout($n.current)},[]);const oo=Kr.w>0?Kr.w*.92:0,cs=Kr.h>0?Kr.h:0,{nodes:Zt,edges:ir}=A.useMemo(()=>b4(n.current,et,oo,cs,vt.current,Mn,dn.current,io.current,va,Xr,ls,Qt.current,qn,Gr,o,Yr,no,S),[n.current,n.current.lastSeq,et,oo,cs,Xr,ls,Mn,qn,o,Yr,no,S,ze]),Dn=A.useMemo(()=>{const V=new Map;for(const le of Zt){const ce=le.data;if(!(ce!=null&&ce.sessionId)||ce.exitAt!=null)continue;const ve=le.width,_e=le.height;if(ve==null||_e==null)continue;const Ae=le.position.x,qe=le.position.y,Ge=Ae+ve,Le=qe+_e,Ke=V.get(ce.sessionId);Ke?(Ke.minX=Math.min(Ke.minX,Ae),Ke.minY=Math.min(Ke.minY,qe),Ke.maxX=Math.max(Ke.maxX,Ge),Ke.maxY=Math.max(Ke.maxY,Le)):V.set(ce.sessionId,{minX:Ae,minY:qe,maxX:Ge,maxY:Le})}const K=[];for(const[le,ce]of V){const ve=ce.maxX-ce.minX+Al*2,_e=ce.maxY-ce.minY+Al*2;K.push({id:`group:${le}`,type:"sessionGroup",position:{x:ce.minX-Al,y:ce.minY-Al},data:{sessionId:le,w:ve,h:_e},width:ve,height:_e,style:{width:ve,height:_e},zIndex:-1,draggable:!0,selectable:!1,focusable:!1,deletable:!1,connectable:!1})}return K},[Zt,et]),sr=A.useMemo(()=>{const V=[...Dn,...Zt],K=st.current;return!K||K.size===0?V:V.map(le=>{const ce=K.get(le.id);return ce?{...le,position:ce}:le})},[Dn,Zt,Yt]),Ci=A.useMemo(()=>{if(!Mn)return null;const V=new Set;for(const K of n.current.agents.values())IC(K,Mn)&&V.add(K.id);return V},[n.current,n.current.lastSeq,Mn]),or=A.useMemo(()=>{const V=new Set;for(const K of n.current.agents.values())for(const le of K.tools)V.add(AC(le.name));return Object.keys(Zg).filter(K=>V.has(K))},[n.current,n.current.lastSeq]);A.useEffect(()=>{if(or.length<=1){it(!1);return}let V=0;const K=()=>{const le=ft.current;if(le&&!document.hidden){const ce=le.getBoundingClientRect(),ve=Array.from(document.querySelectorAll(".react-flow__node, .tool-burst")).map(Ae=>Ae.getBoundingClientRect()),_e=X$(ce,ve,8);it(Ae=>Ae===_e?Ae:_e)}V=window.setTimeout(K,300)};return K(),()=>window.clearTimeout(V)},[or.length]);const Jt=A.useMemo(()=>{const V=new Map;for(const le of n.current.agents.values())for(const ce of le.tools){if(!ce.name.startsWith("mcp__"))continue;const ve=ce.name.slice(5),_e=ve.indexOf("__"),Ae=_e>0?ve.slice(0,_e):ve;V.set(Ae,(V.get(Ae)??0)+1)}const K=[];for(const[le,ce]of V){let ve=5381;for(let _e=0;_e<le.length;_e++)ve=(ve<<5)+ve^le.charCodeAt(_e);K.push({server:le,count:ce,hue:Math.abs(ve)%360})}return K.sort((le,ce)=>ce.count-le.count),K},[n.current,n.current.lastSeq]),Su=A.useCallback(V=>{Fr(K=>{const le=new Set(K);return le.has(V)?le.delete(V):le.add(V),le})},[]),Mt=u?n.current.agents.get(u):null,Qr=p?Array.from(n.current.agents.values()).flatMap(V=>V.tools).find(V=>V.id===p)??null:null,ao=A.useCallback(async()=>{try{await fetch("/api/clear",{method:"POST"})}catch{}n.current=Gg(),vt.current.clear(),dn.current.clear(),Qt.current.clear(),Gr.current="",Hk(),m(),s()},[s,m]),ds=A.useCallback(()=>{vt.current.clear(),Qt.current.clear(),Gr.current="",Hk(),s(),window.setTimeout(()=>Ht(500),80)},[s,e,Ht]),ji=A.useCallback(()=>Ht(500),[Ht]),lo=A.useRef(Zt);lo.current=Zt;const ya=A.useRef(u);ya.current=u;const yr=A.useCallback(V=>{const K=lo.current;if(K.length===0)return;const le=K.slice().sort((qe,Ge)=>qe.position.y-Ge.position.y||qe.position.x-Ge.position.x),ce=ya.current,ve=ce?le.findIndex(qe=>qe.id===ce):-1;let _e;ve===-1?_e=V===1?0:le.length-1:_e=(ve+V+le.length)%le.length;const Ae=le[_e];Ae&&(f(Ae.id,!1),window.setTimeout(()=>{try{e.fitView({padding:.35,duration:350,nodes:[Ae]})}catch{}rr.current=Date.now()},30))},[f,e]);A.useEffect(()=>{const V=K=>{var ce,ve;const le=((ce=K.target)==null?void 0:ce.tagName)==="INPUT";if(K.key==="Escape"){le?K.target.blur():m();return}if(!le&&!cO(K)){if(K.key==="/"){K.preventDefault(),(ve=yn.current)==null||ve.focus();return}K.key===" "&&(K.preventDefault(),ht()),(K.key==="c"||K.key==="C")&&ao(),(K.key==="r"||K.key==="R")&&ds(),(K.key==="f"||K.key==="F")&&ji(),(K.key==="l"||K.key==="L")&&Be(),(K.key==="h"||K.key==="H")&&Qe(_e=>!_e),(K.key==="u"||K.key==="U")&&O(_e=>!_e),(K.key==="a"||K.key==="A")&&ct(),(K.key==="j"||K.key==="J")&&yr(1),(K.key==="k"||K.key==="K")&&yr(-1),(K.key==="t"||K.key==="T")&&rs(_e=>_e==="dark"?"light":"dark")}};return window.addEventListener("keydown",V),()=>window.removeEventListener("keydown",V)},[ao,ds,ji,m,yr,ht]);const wr=n.current.agents.size,Zr=new Set(Array.from(n.current.agents.values()).map(V=>V.sessionId)).size,Pt=A.useMemo(()=>{let V=0,K=0,le=0,ce=0,ve=0,_e=0,Ae=0,qe=0,Ge=0;for(const Le of n.current.agents.values()){V+=Le.usage.inputTokens,K+=Le.usage.outputTokens,le+=Le.usage.cacheReadTokens,ce+=Le.usage.cacheCreateTokens;const Ke=un(Le.usage,Le.model);ve+=Ke.total,_e+=Ke.input,Ae+=Ke.output,qe+=Ke.cacheRead,Ge+=Ke.cacheWrite}return{inT:V,outT:K,cacheR:le,cacheC:ce,sum:V+K,cost:{total:ve,input:_e,output:Ae,cacheRead:qe,cacheWrite:Ge}}},[n.current,n.current.lastSeq]);return g.jsxs("div",{className:"app",children:[g.jsxs("header",{className:"topbar",children:[g.jsxs("div",{className:"brand",children:[g.jsx("span",{className:"logo"}),"agents-deck",be?g.jsxs("button",{type:"button",className:"v stale",onClick:ke,title:be.kind==="restart"?`Running v${be.from}; v${be.to} is installed on disk. Restart to pick it up.`:`Running v${be.from}; v${be.to} is on npm.`,children:["v",be.from,g.jsx("span",{className:"v-dot","aria-hidden":!0})]}):(()=>{const V={running:(k==null?void 0:k.running)??"1.33.85",latest:k==null?void 0:k.latest,latestPending:k==null?void 0:k.latestPending,checkedAgo:k!=null&&k.checkedAt?u4(et-k.checkedAt):null,checkDisabled:k==null?void 0:k.checkDisabled,checking:ue};return g.jsxs("button",{type:"button",className:ue?"v checking":"v",onClick:()=>ge(!0),"aria-busy":ue||void 0,"aria-label":J$(V),title:Z$(V),children:["v",V.running]})})()]}),Mt&&(()=>{const V=un(Mt.usage,Mt.model),K=Math.max(0,((Mt.endedAt??et)-Mt.startedAt)/1e3),le=Mt.state==="active"?Wl(V.total,K):null,ce=o.size-1;return g.jsxs("button",{type:"button",className:"selected-ribbon",title:`Fit view to ${Mt.label}`,onClick:()=>{try{const ve=Zt.find(_e=>_e.id===Mt.id);ve&&e.fitView({padding:.35,duration:500,nodes:[ve]}),rr.current=Date.now()}catch{}},children:[g.jsx("span",{className:`state-pill state-${Mt.state}`,children:Mt.state==="active"?"live":Mt.state}),g.jsx("span",{className:"selected-label",children:Mt.label}),V.total>0&&g.jsxs("span",{className:"selected-cost",children:[Ve(V.total),le?g.jsxs("span",{className:"selected-rate",children:[" · ",le]}):null]}),ce>0&&g.jsxs("span",{className:"selected-extra",children:["+",ce]}),g.jsx("span",{role:"button","aria-label":"Deselect",className:"selected-close",onClick:ve=>{ve.stopPropagation(),m()},children:"×"})]})})(),g.jsxs("div",{className:"actions",children:[g.jsxs("div",{className:"search",children:[g.jsx("span",{className:"search-icon","aria-hidden":!0,children:"⌕"}),g.jsx("input",{ref:yn,type:"text",placeholder:"Search agents, cwd, tools…",value:Mn,onChange:V=>nr(V.target.value),spellCheck:!1,"aria-label":"Filter the graph"}),Mn?g.jsx("button",{className:"search-clear","aria-label":"Clear search",onClick:()=>nr(""),children:"×"}):g.jsx("kbd",{className:"search-kbd","aria-hidden":!0,children:"/"})]}),g.jsxs("span",{className:"status",role:"status",children:[g.jsx("span",{className:`pill ${F?"live":"dead"}`,title:F?"Receiving events":"SSE disconnected",children:F?"live":"offline"}),g.jsxs("span",{className:"stat",title:"Distinct CC sessions",children:[g.jsx("span",{className:"count",children:Zr}),g.jsx("span",{className:"lbl",children:"sessions"})]}),g.jsxs("span",{className:"stat",title:"Total agents (root + subagents)",children:[g.jsx("span",{className:"count",children:wr}),g.jsx("span",{className:"lbl",children:"agents"})]}),g.jsxs("span",{className:"stat",title:"Total hook events received",children:[g.jsx("span",{className:"count",children:n.current.totalEvents}),g.jsx("span",{className:"lbl",children:"events"})]}),Pt.sum>0&&g.jsxs("span",{className:"stat",title:`in:${Pt.inT.toLocaleString()} out:${Pt.outT.toLocaleString()} cache-r:${Pt.cacheR.toLocaleString()} cache-c:${Pt.cacheC.toLocaleString()}`,children:[g.jsx("span",{className:"count",children:e4(Pt.sum)}),g.jsx("span",{className:"lbl",children:"tokens"})]}),Jt.length>0&&g.jsxs("span",{className:"stat mcp-legend",title:`MCP servers seen this session:
|
|
60
60
|
${Jt.map(V=>` ${V.server}: ${V.count} call${V.count===1?"":"s"}`).join(`
|
|
61
61
|
`)}`,children:[Jt.slice(0,6).map(V=>g.jsx("span",{className:"mcp-dot",style:{background:`hsl(${V.hue} 65% 65%)`}},V.server)),Jt.length>6&&g.jsxs("span",{className:"mcp-more",children:["+",Jt.length-6]}),g.jsx("span",{className:"lbl",children:"mcp"})]}),Pt.cost.total>0&&(()=>{let V=0,K=0;for(const ve of n.current.agents.values()){if(ve.state!=="active")continue;const _e=un(ve.usage,ve.model);V+=_e.total,K=Math.max(K,((ve.endedAt??et)-ve.startedAt)/1e3)}const le=K>0?Wl(V,K):null,ce=`input ${Ve(Pt.cost.input)} + output ${Ve(Pt.cost.output)} + cache r ${Ve(Pt.cost.cacheRead)} + cache w ${Ve(Pt.cost.cacheWrite)}${le?`
|
|
62
62
|
active burn: ${le}`:""}`;return g.jsxs("span",{className:"stat",title:ce,children:[g.jsx("span",{className:"count",children:Ve(Pt.cost.total)}),g.jsxs("span",{className:"lbl",children:["cost",le?` · ${le}`:""]})]})})()]}),g.jsx("button",{className:`btn ${bt?"warn":""}`,onClick:ht,title:"Pause/resume live updates (Space)",children:bt?`Resume${Ye.current.size?` · ${Ye.current.size}`:""}`:"Pause"}),g.jsx("button",{className:`btn icon-btn ${P?"primary":""}`,onClick:()=>O(V=>!V),title:`${P?"Hide":"Show"} usage panel (U)`,"aria-label":"Toggle usage panel",children:"$"}),q!==null&&g.jsx("button",{className:`btn icon-btn ${q?"primary":""}`,onClick:V=>{if(V.shiftKey&&U>0){X(!0),fetch("/api/sound-hook",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"restore"})}).then(()=>fetch("/api/sound-hook")).then(K=>K.ok?K.json():null).then(K=>{K!=null&&K.ok&&(I(K.enabled===!0),ee(K.parked??0))}).catch(()=>{}).finally(()=>X(!1));return}J()},disabled:H,title:(q?"Sound on turn finish: on — click to remove the hook":"Sound on turn finish: off — click to add a Stop hook")+(T>0?`
|